From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31EC4C4338F for ; Tue, 27 Jul 2021 00:28:18 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CBCF360F93 for ; Tue, 27 Jul 2021 00:28:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org CBCF360F93 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=Intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C60096FA1A; Tue, 27 Jul 2021 00:28:15 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id B0D976F92A; Tue, 27 Jul 2021 00:28:13 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10057"; a="234202261" X-IronPort-AV: E=Sophos;i="5.84,272,1620716400"; d="scan'208";a="234202261" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jul 2021 17:28:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,272,1620716400"; d="scan'208";a="474183049" Received: from relo-linux-5.jf.intel.com ([10.165.21.134]) by fmsmga008.fm.intel.com with ESMTP; 26 Jul 2021 17:28:12 -0700 From: John.C.Harrison@Intel.com To: IGT-Dev@Lists.FreeDesktop.Org Date: Mon, 26 Jul 2021 17:28:12 -0700 Message-Id: <20210727002812.43469-2-John.C.Harrison@Intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210727002812.43469-1-John.C.Harrison@Intel.com> References: <20210727002812.43469-1-John.C.Harrison@Intel.com> MIME-Version: 1.0 Organization: Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ Subject: [Intel-gfx] [PATCH i-g-t 1/1] tests/i915/query: Query, parse and validate the hwconfig table X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Intel-GFX@Lists.FreeDesktop.Org, Slawomir Milczarek Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgoKTmV3ZXIgcGxhdGZv cm1zIGhhdmUgYW4gZW1iZWRkZWQgdGFibGUgZ2l2aW5nIGRldGFpbHMgYWJvdXQgdGhhdApwbGF0 Zm9ybSdzIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24uIFRoaXMgdGFibGUgY2FuIGJlIHJldHJpZXZl ZCBmcm9tCnRoZSBLTUQgdmlhIHRoZSBxdWVyeSBBUEkuIFNvIGFkZCBhIHRlc3QgZm9yIGl0IGFz IGJvdGggYW4gZXhhbXBsZSBvZgpob3cgdG8gZmV0Y2ggdGhlIHRhYmxlIGFuZCB0byB2YWxpZGF0 ZSB0aGUgY29udGVudHMgYXMgbXVjaCBhcwpwb3NzaWJsZS4KClNpZ25lZC1vZmYtYnk6IFJvZHJp Z28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSm9obiBIYXJy aXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KQ2M6IFNsYXdvbWlyIE1pbGN6YXJlayA8 c2xhd29taXIubWlsY3phcmVrQGludGVsLmNvbT4KLS0tCiBpbmNsdWRlL2RybS11YXBpL2k5MTVf ZHJtLmggfCAgIDEgKwogbGliL2ludGVsX2h3Y29uZmlnX3R5cGVzLmggIHwgMTA2ICsrKysrKysr KysrKysrKysrKysrKysrCiB0ZXN0cy9pOTE1L2k5MTVfcXVlcnkuYyAgICAgfCAxNjggKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDI3NSBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2ludGVsX2h3Y29uZmlnX3R5cGVzLmgK CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL2k5MTVfZHJtLmggYi9pbmNsdWRlL2RybS11 YXBpL2k5MTVfZHJtLmgKaW5kZXggYTFjMDAzMGMzLi41YzM0YWI3NTkgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvZHJtLXVhcGkvaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL2RybS11YXBpL2k5MTVfZHJt LmgKQEAgLTIyMzMsNiArMjIzMyw3IEBAIHN0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIHsKICNk ZWZpbmUgRFJNX0k5MTVfUVVFUllfRU5HSU5FX0lORk8JMgogI2RlZmluZSBEUk1fSTkxNV9RVUVS WV9QRVJGX0NPTkZJRyAgICAgIDMKICNkZWZpbmUgRFJNX0k5MTVfUVVFUllfTUVNT1JZX1JFR0lP TlMgICA0CisjZGVmaW5lIERSTV9JOTE1X1FVRVJZX0hXQ09ORklHX1RBQkxFICAgNQogLyogTXVz dCBiZSBrZXB0IGNvbXBhY3QgLS0gbm8gaG9sZXMgYW5kIHdlbGwgZG9jdW1lbnRlZCAqLwogCiAJ LyoqCmRpZmYgLS1naXQgYS9saWIvaW50ZWxfaHdjb25maWdfdHlwZXMuaCBiL2xpYi9pbnRlbF9o d2NvbmZpZ190eXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYzk5 NjFlNmJkCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2ludGVsX2h3Y29uZmlnX3R5cGVzLmgKQEAg LTAsMCArMSwxMDYgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KKy8qCisg KiBDb3B5cmlnaHQgwqkgMjAyMSBJbnRlbCBDb3Jwb3JhdGlvbgorICovCisKKyNpZm5kZWYgX0lO VEVMX0hXQ09ORklHX1RZUEVTX0hfCisjZGVmaW5lIF9JTlRFTF9IV0NPTkZJR19UWVBFU19IXwor CisjaW5jbHVkZSAiaW50ZWxfY2hpcHNldC5oIgorCisvKioKKyAqIGVudW0gaW50ZWxfaHdjb25m aWcgLSBHbG9iYWwgZGVmaW5pdGlvbiBvZiBod2NvbmZpZyB0YWJsZSBhdHRyaWJ1dGVzCisgKgor ICogSW50ZWwgZGV2aWNlcyBwcm92aWRlIGEgS0xWIChLZXkvTGVuZ3RoL1ZhbHVlKSB0YWJsZSBj b250YWluaW5nCisgKiB0aGUgc3RhdGljIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gZm9yIHRoYXQg cGxhdGZvcm0uCisgKiBUaGlzIGVudW0gZGVmaW5lcyB0aGUgY3VycmVudCBhdHRyaWJ1dGUga2V5 cyBmb3IgdGhpcyBLTFYuCisgKi8KK2VudW0gaW50ZWxfaHdjb25maWcgeworCUlOVEVMX0hXQ09O RklHX01BWF9TTElDRVNfU1VQUE9SVEVEID0gMSwKKwlJTlRFTF9IV0NPTkZJR19NQVhfRFVBTF9T VUJTTElDRVNfU1VQUE9SVEVELAkJLyogMiAqLworCUlOVEVMX0hXQ09ORklHX01BWF9OVU1fRVVf UEVSX0RTUywJCQkvKiAzICovCisJSU5URUxfSFdDT05GSUdfTlVNX1BJWEVMX1BJUEVTLAkJCQkv KiA0ICovCisJSU5URUxfSFdDT05GSUdfREVQUkVDQVRFRF9NQVhfTlVNX0dFT01FVFJZX1BJUEVT LAkvKiA1ICovCisJSU5URUxfSFdDT05GSUdfREVQUkVDQVRFRF9MM19DQUNIRV9TSVpFX0lOX0tC LAkJLyogNiAqLworCUlOVEVMX0hXQ09ORklHX0RFUFJFQ0FURURfTDNfQkFOS19DT1VOVCwJCS8q IDcgKi8KKwlJTlRFTF9IV0NPTkZJR19MM19DQUNIRV9XQVlTX1NJWkVfSU5fQllURVMsCQkvKiA4 ICovCisJSU5URUxfSFdDT05GSUdfTDNfQ0FDSEVfV0FZU19QRVJfU0VDVE9SLAkJLyogOSAqLwor CUlOVEVMX0hXQ09ORklHX01BWF9NRU1PUllfQ0hBTk5FTFMsCQkJLyogMTAgKi8KKwlJTlRFTF9I V0NPTkZJR19NRU1PUllfVFlQRSwJCQkJLyogMTEgKi8KKwlJTlRFTF9IV0NPTkZJR19DQUNIRV9U WVBFUywgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDEyICovCisJSU5URUxfSFdDT05G SUdfTE9DQUxfTUVNT1JZX1BBR0VfU0laRVNfU1VQUE9SVEVELAkvKiAxMyAqLworCUlOVEVMX0hX Q09ORklHX0RFUFJFQ0FURURfU0xNX1NJWkVfSU5fS0IsCQkvKiAxNCAqLworCUlOVEVMX0hXQ09O RklHX05VTV9USFJFQURTX1BFUl9FVSwJCQkvKiAxNSAqLworCUlOVEVMX0hXQ09ORklHX1RPVEFM X1ZTX1RIUkVBRFMsCQkJLyogMTYgKi8KKwlJTlRFTF9IV0NPTkZJR19UT1RBTF9HU19USFJFQURT LAkJCS8qIDE3ICovCisJSU5URUxfSFdDT05GSUdfVE9UQUxfSFNfVEhSRUFEUywJCQkvKiAxOCAq LworCUlOVEVMX0hXQ09ORklHX1RPVEFMX0RTX1RIUkVBRFMsCQkJLyogMTkgKi8KKwlJTlRFTF9I V0NPTkZJR19UT1RBTF9WU19USFJFQURTX1BPQ1MsCQkJLyogMjAgKi8KKwlJTlRFTF9IV0NPTkZJ R19UT1RBTF9QU19USFJFQURTLAkJCS8qIDIxICovCisJSU5URUxfSFdDT05GSUdfREVQUkVDQVRF RF9NQVhfRklMTF9SQVRFLAkJLyogMjIgKi8KKwlJTlRFTF9IV0NPTkZJR19NQVhfUkNTLAkJCQkJ LyogMjMgKi8KKwlJTlRFTF9IV0NPTkZJR19NQVhfQ0NTLAkJCQkJLyogMjQgKi8KKwlJTlRFTF9I V0NPTkZJR19NQVhfVkNTLAkJCQkJLyogMjUgKi8KKwlJTlRFTF9IV0NPTkZJR19NQVhfVkVDUywJ CQkJLyogMjYgKi8KKwlJTlRFTF9IV0NPTkZJR19NQVhfQ09QWV9DUywJCQkJLyogMjcgKi8KKwlJ TlRFTF9IV0NPTkZJR19ERVBSRUNBVEVEX1VSQl9TSVpFX0lOX0tCLAkJLyogMjggKi8KKwlJTlRF TF9IV0NPTkZJR19NSU5fVlNfVVJCX0VOVFJJRVMsCQkJLyogMjkgKi8KKwlJTlRFTF9IV0NPTkZJ R19NQVhfVlNfVVJCX0VOVFJJRVMsCQkJLyogMzAgKi8KKwlJTlRFTF9IV0NPTkZJR19NSU5fUENT X1VSQl9FTlRSSUVTLAkJCS8qIDMxICovCisJSU5URUxfSFdDT05GSUdfTUFYX1BDU19VUkJfRU5U UklFUywJCQkvKiAzMiAqLworCUlOVEVMX0hXQ09ORklHX01JTl9IU19VUkJfRU5UUklFUywJCQkv KiAzMyAqLworCUlOVEVMX0hXQ09ORklHX01BWF9IU19VUkJfRU5UUklFUywJCQkvKiAzNCAqLwor CUlOVEVMX0hXQ09ORklHX01JTl9HU19VUkJfRU5UUklFUywJCQkvKiAzNSAqLworCUlOVEVMX0hX Q09ORklHX01BWF9HU19VUkJfRU5UUklFUywJCQkvKiAzNiAqLworCUlOVEVMX0hXQ09ORklHX01J Tl9EU19VUkJfRU5UUklFUywJCQkvKiAzNyAqLworCUlOVEVMX0hXQ09ORklHX01BWF9EU19VUkJf RU5UUklFUywJCQkvKiAzOCAqLworCUlOVEVMX0hXQ09ORklHX1BVU0hfQ09OU1RBTlRfVVJCX1JF U0VSVkVEX1NJWkUsCQkvKiAzOSAqLworCUlOVEVMX0hXQ09ORklHX1BPQ1NfUFVTSF9DT05TVEFO VF9VUkJfUkVTRVJWRURfU0laRSwJLyogNDAgKi8KKwlJTlRFTF9IV0NPTkZJR19VUkJfUkVHSU9O X0FMSUdOTUVOVF9TSVpFX0lOX0JZVEVTLAkvKiA0MSAqLworCUlOVEVMX0hXQ09ORklHX1VSQl9B TExPQ0FUSU9OX1NJWkVfVU5JVFNfSU5fQllURVMsCS8qIDQyICovCisJSU5URUxfSFdDT05GSUdf TUFYX1VSQl9TSVpFX0NDU19JTl9CWVRFUywJCS8qIDQzICovCisJSU5URUxfSFdDT05GSUdfVlNf TUlOX0RFUkVGX0JMT0NLX1NJWkVfSEFORExFX0NPVU5ULAkvKiA0NCAqLworCUlOVEVMX0hXQ09O RklHX0RTX01JTl9ERVJFRl9CTE9DS19TSVpFX0hBTkRMRV9DT1VOVCwJLyogNDUgKi8KKwlJTlRF TF9IV0NPTkZJR19OVU1fUlRfU1RBQ0tTX1BFUl9EU1MsCQkJLyogNDYgKi8KKwlJTlRFTF9IV0NP TkZJR19NQVhfVVJCX1NUQVJUSU5HX0FERFJFU1MsCQkvKiA0NyAqLworCUlOVEVMX0hXQ09ORklH X01JTl9DU19VUkJfRU5UUklFUywJCQkvKiA0OCAqLworCUlOVEVMX0hXQ09ORklHX01BWF9DU19V UkJfRU5UUklFUywJCQkvKiA0OSAqLworCUlOVEVMX0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5L X1VSQiwJCQkvKiA1MCAqLworCUlOVEVMX0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5LX1JFU1Qs CQkJLyogNTEgKi8KKwlJTlRFTF9IV0NPTkZJR19MM19BTExPQ19QRVJfQkFOS19EQywJCQkvKiA1 MiAqLworCUlOVEVMX0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5LX1JPLAkJCS8qIDUzICovCisJ SU5URUxfSFdDT05GSUdfTDNfQUxMT0NfUEVSX0JBTktfWiwJCQkvKiA1NCAqLworCUlOVEVMX0hX Q09ORklHX0wzX0FMTE9DX1BFUl9CQU5LX0NPTE9SLAkJCS8qIDU1ICovCisJSU5URUxfSFdDT05G SUdfTDNfQUxMT0NfUEVSX0JBTktfVU5JRklFRF9USUxFX0NBQ0hFLAkvKiA1NiAqLworCUlOVEVM X0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5LX0NPTU1BTkRfQlVGRkVSLAkvKiA1NyAqLworCUlO VEVMX0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5LX1JXLAkJCS8qIDU4ICovCisJSU5URUxfSFdD T05GSUdfTUFYX05VTV9MM19DT05GSUdTLAkJCS8qIDU5ICovCisJSU5URUxfSFdDT05GSUdfQklO RExFU1NfU1VSRkFDRV9PRkZTRVRfQklUX0NPVU5ULAkvKiA2MCAqLworCUlOVEVMX0hXQ09ORklH X1JFU0VSVkVEX0NDU19XQVlTLAkJCS8qIDYxICovCisJSU5URUxfSFdDT05GSUdfQ1NSX1NJWkVf SU5fTUIsCQkJCS8qIDYyICovCisJSU5URUxfSFdDT05GSUdfR0VPTUVUUllfUElQRVNfUEVSX1NM SUNFLAkJLyogNjMgKi8KKwlJTlRFTF9IV0NPTkZJR19MM19CQU5LX1NJWkVfSU5fS0IsCQkJLyog NjQgKi8KKwlJTlRFTF9IV0NPTkZJR19TTE1fU0laRV9QRVJfRFNTLAkJCS8qIDY1ICovCisJSU5U RUxfSFdDT05GSUdfTUFYX1BJWEVMX0ZJTExfUkFURV9QRVJfU0xJQ0UsCQkvKiA2NiAqLworCUlO VEVMX0hXQ09ORklHX01BWF9QSVhFTF9GSUxMX1JBVEVfUEVSX0RTUywJCS8qIDY3ICovCisJSU5U RUxfSFdDT05GSUdfVVJCX1NJWkVfUEVSX1NMSUNFX0lOX0tCLAkJLyogNjggKi8KKwlJTlRFTF9I V0NPTkZJR19VUkJfU0laRV9QRVJfTDNfQkFOS19DT1VOVF9JTl9LQiwJLyogNjkgKi8KKwlJTlRF TF9IV0NPTkZJR19NQVhfU1VCU0xJQ0UsCQkJCS8qIDcwICovCisJSU5URUxfSFdDT05GSUdfTUFY X0VVX1BFUl9TVUJTTElDRSwJCQkvKiA3MSAqLworCUlOVEVMX0hXQ09ORklHX1JBTUJPX0wzX0JB TktfU0laRV9JTl9LQiwJCS8qIDcyICovCisJSU5URUxfSFdDT05GSUdfU0xNX1NJWkVfUEVSX1NT X0lOX0tCLAkJCS8qIDczICovCisJX19JTlRFTF9IV0NPTkZJR19MSU1JVAorfTsKKworZW51bSB7 CisJSU5URUxfSFdDT05GSUdfTUVNT1JZX1RZUEVfTFBERFI0ID0gMCwKKwlJTlRFTF9IV0NPTkZJ R19NRU1PUllfVFlQRV9MUEREUjUsCit9OworCitlbnVtIHsKKwlJTlRFTF9IV0NPTkZJR19DQUNI RV9UWVBFX0wzICAgID0gQklUKDApLAorCUlOVEVMX0hXQ09ORklHX0NBQ0hFX1RZUEVfTExDICAg PSBCSVQoMSksCisJSU5URUxfSFdDT05GSUdfQ0FDSEVfVFlQRV9FRFJBTSA9IEJJVCgyKSwKK307 CisKKyNlbmRpZiAvKiBfSU5URUxfSFdDT05GSUdfVFlQRVNfSF8gKi8KZGlmZiAtLWdpdCBhL3Rl c3RzL2k5MTUvaTkxNV9xdWVyeS5jIGIvdGVzdHMvaTkxNS9pOTE1X3F1ZXJ5LmMKaW5kZXggM2M3 OTFiOGJhLi4xODAyMjg3ZTMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvaTkxNV9xdWVyeS5jCisr KyBiL3Rlc3RzL2k5MTUvaTkxNV9xdWVyeS5jCkBAIC0yMiw2ICsyMiw3IEBACiAgKi8KIAogI2lu Y2x1ZGUgImlndC5oIgorI2luY2x1ZGUgImludGVsX2h3Y29uZmlnX3R5cGVzLmgiCiAKICNpbmNs dWRlIDxsaW1pdHMuaD4KIApAQCAtODQyLDYgKzg0MywxNzAgQEAgc3RhdGljIHZvaWQgZW5naW5l cyhpbnQgZmQpCiAJZnJlZShlbmdpbmVzKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBod2NvbmZpZ19rZXlzW10gPSB7CisJW0lOVEVMX0hXQ09ORklHX01BWF9TTElDRVNfU1VQUE9S VEVEXSA9ICJNYXhpbXVtIG51bWJlciBvZiBTbGljZXMiLAorCVtJTlRFTF9IV0NPTkZJR19NQVhf RFVBTF9TVUJTTElDRVNfU1VQUE9SVEVEXSA9ICJNYXhpbXVtIG51bWJlciBvZiBEU1MiLAorCVtJ TlRFTF9IV0NPTkZJR19NQVhfTlVNX0VVX1BFUl9EU1NdID0gIk1heGltdW0gbnVtYmVyIG9mIEVV cyBwZXIgRFNTIiwKKwlbSU5URUxfSFdDT05GSUdfTlVNX1BJWEVMX1BJUEVTXSA9ICJQaXhlbCBQ aXBlcyIsCisJW0lOVEVMX0hXQ09ORklHX0RFUFJFQ0FURURfTUFYX05VTV9HRU9NRVRSWV9QSVBF U10gPSAiW0RFUFJFQ0FURURdIEdlb21ldHJ5IFBpcGVzIiwKKwlbSU5URUxfSFdDT05GSUdfREVQ UkVDQVRFRF9MM19DQUNIRV9TSVpFX0lOX0tCXSA9ICJbREVQUkVDQVRFRF0gTDMgU2l6ZSAoaW4g S0IpIiwKKwlbSU5URUxfSFdDT05GSUdfREVQUkVDQVRFRF9MM19CQU5LX0NPVU5UXSA9ICJbREVQ UkVDQVRFRF0gTDMgQmFuayBDb3VudCIsCisJW0lOVEVMX0hXQ09ORklHX0wzX0NBQ0hFX1dBWVNf U0laRV9JTl9CWVRFU10gPSAiTDMgQ2FjaGUgV2F5cyBTaXplIChpbiBieXRlcykiLAorCVtJTlRF TF9IV0NPTkZJR19MM19DQUNIRV9XQVlTX1BFUl9TRUNUT1JdID0gIkwzIENhY2hlIFdheXMgUGVy IFNlY3RvciIsCisJW0lOVEVMX0hXQ09ORklHX01BWF9NRU1PUllfQ0hBTk5FTFNdID0gIk1lbW9y eSBDaGFubmVscyIsCisJW0lOVEVMX0hXQ09ORklHX01FTU9SWV9UWVBFXSA9ICJNZW1vcnkgdHlw ZSIsCisJW0lOVEVMX0hXQ09ORklHX0NBQ0hFX1RZUEVTXSA9ICJDYWNoZSB0eXBlcyIsCisJW0lO VEVMX0hXQ09ORklHX0xPQ0FMX01FTU9SWV9QQUdFX1NJWkVTX1NVUFBPUlRFRF0gPSAiTG9jYWwg bWVtb3J5IHBhZ2Ugc2l6ZSIsCisJW0lOVEVMX0hXQ09ORklHX0RFUFJFQ0FURURfU0xNX1NJWkVf SU5fS0JdID0gIltERVBSRUNBVEVEXSBTTE0gU2l6ZSAoaW4gS0IpIiwKKwlbSU5URUxfSFdDT05G SUdfTlVNX1RIUkVBRFNfUEVSX0VVXSA9ICJOdW0gdGhyZWFkIHBlciBFVSIsCisJW0lOVEVMX0hX Q09ORklHX1RPVEFMX1ZTX1RIUkVBRFNdID0gIk1heGltdW0gVmVydGV4IFNoYWRlciB0aHJlYWRz IiwKKwlbSU5URUxfSFdDT05GSUdfVE9UQUxfR1NfVEhSRUFEU10gPSAiTWF4aW11bSBHZW9tZXRy eSBTaGFkZXIgdGhyZWFkcyIsCisJW0lOVEVMX0hXQ09ORklHX1RPVEFMX0hTX1RIUkVBRFNdID0g Ik1heGltdW0gSHVsbCBTaGFkZXIgdGhyZWFkcyIsCisJW0lOVEVMX0hXQ09ORklHX1RPVEFMX0RT X1RIUkVBRFNdID0gIk1heGltdW0gRG9tYWluIFNoYWRlciB0aHJlYWRzIiwKKwlbSU5URUxfSFdD T05GSUdfVE9UQUxfVlNfVEhSRUFEU19QT0NTXSA9ICJNYXhpbXVtIFZlcnRleCBTaGFkZXIgVGhy ZWFkcyBmb3IgUE9DUyIsCisJW0lOVEVMX0hXQ09ORklHX1RPVEFMX1BTX1RIUkVBRFNdID0gIk1h eGltdW0gUGl4ZWwgU2hhZGVyIFRocmVhZHMiLAorCVtJTlRFTF9IV0NPTkZJR19ERVBSRUNBVEVE X01BWF9GSUxMX1JBVEVdID0gIltERVBSRUNBVEVEXSBNYXhpbXVtIHBpeGVsIHJhdGUgZm9yIEZp bGwiLAorCVtJTlRFTF9IV0NPTkZJR19NQVhfUkNTXSA9ICJNYXhSQ1MiLAorCVtJTlRFTF9IV0NP TkZJR19NQVhfQ0NTXSA9ICJNYXhDQ1MiLAorCVtJTlRFTF9IV0NPTkZJR19NQVhfVkNTXSA9ICJN YXhWQ1MiLAorCVtJTlRFTF9IV0NPTkZJR19NQVhfVkVDU10gPSAiTWF4VkVDUyIsCisJW0lOVEVM X0hXQ09ORklHX01BWF9DT1BZX0NTXSA9ICJNYXhDb3B5Q1MiLAorCVtJTlRFTF9IV0NPTkZJR19E RVBSRUNBVEVEX1VSQl9TSVpFX0lOX0tCXSA9ICJbREVQUkVDQVRFRF0gVVJCIFNpemUgKGluIEtC KSIsCisJW0lOVEVMX0hXQ09ORklHX01JTl9WU19VUkJfRU5UUklFU10gPSAiVGhlIG1pbmltdW0g bnVtYmVyIG9mIFZTIFVSQiBlbnRyaWVzLiIsCisJW0lOVEVMX0hXQ09ORklHX01BWF9WU19VUkJf RU5UUklFU10gPSAiVGhlIG1heGltdW0gbnVtYmVyIG9mIFZTIFVSQiBlbnRyaWVzLiIsCisJW0lO VEVMX0hXQ09ORklHX01JTl9QQ1NfVVJCX0VOVFJJRVNdID0gIlRoZSBtaW5pbXVtIG51bWJlciBv ZiBQQ1MgVVJCIGVudHJpZXMiLAorCVtJTlRFTF9IV0NPTkZJR19NQVhfUENTX1VSQl9FTlRSSUVT XSA9ICJUaGUgbWF4aW11bSBudW1iZXIgb2YgUENTIFVSQiBlbnRyaWVzIiwKKwlbSU5URUxfSFdD T05GSUdfTUlOX0hTX1VSQl9FTlRSSUVTXSA9ICJUaGUgbWluaW11bSBudW1iZXIgb2YgSFMgVVJC IGVudHJpZXMiLAorCVtJTlRFTF9IV0NPTkZJR19NQVhfSFNfVVJCX0VOVFJJRVNdID0gIlRoZSBt YXhpbXVtIG51bWJlciBvZiBIUyBVUkIgZW50cmllcyIsCisJW0lOVEVMX0hXQ09ORklHX01JTl9H U19VUkJfRU5UUklFU10gPSAiVGhlIG1pbmltdW0gbnVtYmVyIG9mIEdTIFVSQiBlbnRyaWVzIiwK KwlbSU5URUxfSFdDT05GSUdfTUFYX0dTX1VSQl9FTlRSSUVTXSA9ICJUaGUgbWF4aW11bSBudW1i ZXIgb2YgR1MgVVJCIGVudHJpZXMiLAorCVtJTlRFTF9IV0NPTkZJR19NSU5fRFNfVVJCX0VOVFJJ RVNdID0gIlRoZSBtaW5pbXVtIG51bWJlciBvZiBEUyBVUkIgRW50cmllcyIsCisJW0lOVEVMX0hX Q09ORklHX01BWF9EU19VUkJfRU5UUklFU10gPSAiVGhlIG1heGltdW0gbnVtYmVyIG9mIERTIFVS QiBFbnRyaWVzIiwKKwlbSU5URUxfSFdDT05GSUdfUFVTSF9DT05TVEFOVF9VUkJfUkVTRVJWRURf U0laRV0gPSAiUHVzaCBDb25zdGFudCBVUkIgUmVzZXJ2ZWQgU2l6ZSAoaW4gYnl0ZXMpIiwKKwlb SU5URUxfSFdDT05GSUdfUE9DU19QVVNIX0NPTlNUQU5UX1VSQl9SRVNFUlZFRF9TSVpFXSA9ICJQ T0NTIFB1c2ggQ29uc3RhbnQgVVJCIFJlc2VydmVkIFNpemUgKGluIGJ5dGVzKSIsCisJW0lOVEVM X0hXQ09ORklHX1VSQl9SRUdJT05fQUxJR05NRU5UX1NJWkVfSU5fQllURVNdID0gIlVSQiBSZWdp b24gQWxpZ25tZW50IFNpemUgKGluIGJ5dGVzKSIsCisJW0lOVEVMX0hXQ09ORklHX1VSQl9BTExP Q0FUSU9OX1NJWkVfVU5JVFNfSU5fQllURVNdID0gIlVSQiBBbGxvY2F0aW9uIFNpemUgVW5pdHMg KGluIGJ5dGVzKSIsCisJW0lOVEVMX0hXQ09ORklHX01BWF9VUkJfU0laRV9DQ1NfSU5fQllURVNd ID0gIk1heCBVUkIgU2l6ZSBDQ1MgKGluIGJ5dGVzKSIsCisJW0lOVEVMX0hXQ09ORklHX1ZTX01J Tl9ERVJFRl9CTE9DS19TSVpFX0hBTkRMRV9DT1VOVF0gPSAiVlMgTWluIERlcmVmIEJsb2NrU2l6 ZSBIYW5kbGUgQ291bnQiLAorCVtJTlRFTF9IV0NPTkZJR19EU19NSU5fREVSRUZfQkxPQ0tfU0la RV9IQU5ETEVfQ09VTlRdID0gIkRTIE1pbiBEZXJlZiBCbG9jayBTaXplIEhhbmRsZSBDb3VudCIs CisJW0lOVEVMX0hXQ09ORklHX05VTV9SVF9TVEFDS1NfUEVSX0RTU10gPSAiTnVtIFJUIFN0YWNr cyBQZXIgRFNTIiwKKwlbSU5URUxfSFdDT05GSUdfTUFYX1VSQl9TVEFSVElOR19BRERSRVNTXSA9 ICJNYXggVVJCIFN0YXJ0aW5nIEFkZHJlc3MiLAorCVtJTlRFTF9IV0NPTkZJR19NSU5fQ1NfVVJC X0VOVFJJRVNdID0gIk1pbiBDUyBVUkIgRW50cmllcyIsCisJW0lOVEVMX0hXQ09ORklHX01BWF9D U19VUkJfRU5UUklFU10gPSAiTWF4IENTIFVSQiBFbnRyaWVzIiwKKwlbSU5URUxfSFdDT05GSUdf TDNfQUxMT0NfUEVSX0JBTktfVVJCXSA9ICJMMyBBbGxvYyBQZXIgQmFuayAtIFVSQiIsCisJW0lO VEVMX0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5LX1JFU1RdID0gIkwzIEFsbG9jIFBlciBCYW5r IC0gUmVzdCIsCisJW0lOVEVMX0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5LX0RDXSA9ICJMMyBB bGxvYyBQZXIgQmFuayAtIERDIiwKKwlbSU5URUxfSFdDT05GSUdfTDNfQUxMT0NfUEVSX0JBTktf Uk9dID0gIkwzIEFsbG9jIFBlciBCYW5rIC0gUk8iLAorCVtJTlRFTF9IV0NPTkZJR19MM19BTExP Q19QRVJfQkFOS19aXSA9ICJMMyBBbGxvYyBQZXIgQmFuayAtIFoiLAorCVtJTlRFTF9IV0NPTkZJ R19MM19BTExPQ19QRVJfQkFOS19DT0xPUl0gPSAiTDMgQWxsb2MgUGVyIEJhbmsgLSBDb2xvciIs CisJW0lOVEVMX0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5LX1VOSUZJRURfVElMRV9DQUNIRV0g PSAiTDMgQWxsb2MgUGVyIEJhbmsgLSBVbmlmaWVkIFRpbGUgQ2FjaGUiLAorCVtJTlRFTF9IV0NP TkZJR19MM19BTExPQ19QRVJfQkFOS19DT01NQU5EX0JVRkZFUl0gPSAiTDMgQWxsb2MgUGVyIEJh bmsgLSBDb21tYW5kIEJ1ZmZlciIsCisJW0lOVEVMX0hXQ09ORklHX0wzX0FMTE9DX1BFUl9CQU5L X1JXXSA9ICJMMyBBbGxvYyBQZXIgQmFuayAtIFJXIiwKKwlbSU5URUxfSFdDT05GSUdfTUFYX05V TV9MM19DT05GSUdTXSA9ICJOdW0gTDMgQ29uZmlncyIsCisJW0lOVEVMX0hXQ09ORklHX0JJTkRM RVNTX1NVUkZBQ0VfT0ZGU0VUX0JJVF9DT1VOVF0gPSAiQmluZGxlc3MgU3VyZmFjZSBPZmZzZXQg Qml0IENvdW50IiwKKwlbSU5URUxfSFdDT05GSUdfUkVTRVJWRURfQ0NTX1dBWVNdID0gIlJlc2Vy dmVkIENDUyB3YXlzIiwKKwlbSU5URUxfSFdDT05GSUdfQ1NSX1NJWkVfSU5fTUJdID0gIkNTUiBT aXplIChpbiBNQikiLAorCVtJTlRFTF9IV0NPTkZJR19HRU9NRVRSWV9QSVBFU19QRVJfU0xJQ0Vd ID0gIkdlb21ldHJ5IHBpcGVzIHBlciBzbGljZSIsCisJW0lOVEVMX0hXQ09ORklHX0wzX0JBTktf U0laRV9JTl9LQl0gPSAiTDMgYmFuayBzaXplIChpbiBLQikiLAorCVtJTlRFTF9IV0NPTkZJR19T TE1fU0laRV9QRVJfRFNTXSA9ICJTTE0gc2l6ZSBwZXIgRFNTIiwKKwlbSU5URUxfSFdDT05GSUdf TUFYX1BJWEVMX0ZJTExfUkFURV9QRVJfU0xJQ0VdID0gIk1heCBwaXhlbCBmaWxsIHJhdGUgcGVy IHNsaWNlIiwKKwlbSU5URUxfSFdDT05GSUdfTUFYX1BJWEVMX0ZJTExfUkFURV9QRVJfRFNTXSA9 ICJNYXggcGl4ZWwgZmlsbCByYXRlIHBlciBEU1MiLAorCVtJTlRFTF9IV0NPTkZJR19VUkJfU0la RV9QRVJfU0xJQ0VfSU5fS0JdID0gIlVSQiBzaXplIHBlciBzbGljZSAoaW4gS0IpIiwKKwlbSU5U RUxfSFdDT05GSUdfVVJCX1NJWkVfUEVSX0wzX0JBTktfQ09VTlRfSU5fS0JdID0gIlVSQiBzaXpl IHBlciBMMyBiYW5rIGNvdW50IChpbiBLQikiLAorCVtJTlRFTF9IV0NPTkZJR19NQVhfU1VCU0xJ Q0VdID0gIk1heCBzdWJzbGljZXMiLAorCVtJTlRFTF9IV0NPTkZJR19NQVhfRVVfUEVSX1NVQlNM SUNFXSA9ICJNYXggRVVzIHBlciBzdWJzbGljZSIsCisJW0lOVEVMX0hXQ09ORklHX1JBTUJPX0wz X0JBTktfU0laRV9JTl9LQl0gPSAiUkFNQk8gTDMgYmFuayBzaXplIChpbiBLQikiLAorCVtJTlRF TF9IV0NPTkZJR19TTE1fU0laRV9QRVJfU1NfSU5fS0JdID0gIlNMTSBzaXplIHBlciBTUyAoaW4g S0IpIiwKK307CisKK3N0YXRpYyB2b2lkIHF1ZXJ5X3BhcnNlX2FuZF92YWxpZGF0ZV9od2NvbmZp Z190YWJsZShpbnQgaTkxNSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtID0g eworCQkucXVlcnlfaWQgPSBEUk1fSTkxNV9RVUVSWV9IV0NPTkZJR19UQUJMRSwKKwl9OworCXVp bnQzMl90ICpkYXRhLCB2YWx1ZTsKKwlpbnQgaSA9IDA7CisJaW50IGxlbiwgaiwgbWF4X3dvcmRz LCB0YWJsZV9zaXplOworCisJaWd0X2Fzc2VydChBUlJBWV9TSVpFKGh3Y29uZmlnX2tleXMpID09 IF9fSU5URUxfSFdDT05GSUdfTElNSVQpOworCisJaTkxNV9xdWVyeV9pdGVtcyhpOTE1LCAmaXRl bSwgMSk7CisJdGFibGVfc2l6ZSA9IGl0ZW0ubGVuZ3RoOworCWlndF9yZXF1aXJlKHRhYmxlX3Np emUgPiAwKTsKKworCWRhdGEgPSBtYWxsb2ModGFibGVfc2l6ZSk7CisJaWd0X2Fzc2VydChkYXRh KTsKKwltZW1zZXQoZGF0YSwgMCwgdGFibGVfc2l6ZSk7CisJaXRlbS5kYXRhX3B0ciA9IHRvX3Vz ZXJfcG9pbnRlcihkYXRhKTsKKworCWk5MTVfcXVlcnlfaXRlbXMoaTkxNSwgJml0ZW0sIDEpOwor CWlndF9hc3NlcnQoaXRlbS5sZW5ndGggPT0gdGFibGVfc2l6ZSk7CisJaWd0X2luZm8oIlRhYmxl IHNpemUgPSAlZCBieXRlc1xuIiwgdGFibGVfc2l6ZSk7CisJaWd0X2Fzc2VydCh0YWJsZV9zaXpl ID4gMCk7CisKKwkvKiBIV0NvbmZpZyB0YWJsZSBpcyBhIGxpc3Qgb2YgS0xWIHNldHMgKi8KKwlt YXhfd29yZHMgPSB0YWJsZV9zaXplIC8gc2l6ZW9mKHVpbnQzMl90KTsKKwlpZ3RfYXNzZXJ0KG1h eF93b3JkcyAqIHNpemVvZih1aW50MzJfdCkgPT0gdGFibGVfc2l6ZSk7CisJd2hpbGUgKGkgPCBt YXhfd29yZHMpIHsKKwkJLyogQXR0cmlidXRlIElEIHplcm8gaXMgaW52YWxpZCAqLworCQlpZ3Rf YXNzZXJ0KGRhdGFbaV0gPiAwKTsKKwkJaWd0X2Fzc2VydChkYXRhW2ldIDwgX19JTlRFTF9IV0NP TkZJR19MSU1JVCk7CisKKwkJbGVuID0gZGF0YVtpICsgMV07CisJCWlndF9hc3NlcnQobGVuID4g MCk7CisJCWlndF9hc3NlcnQoKGkgKyAyICsgbGVuKSA8PSBtYXhfd29yZHMpOworCisJCWlndF9p bmZvKCJbJTJkXSAlczogIiwgZGF0YVtpXSwgaHdjb25maWdfa2V5c1tkYXRhW2ldXSk7CisKKwkJ dmFsdWUgPSBkYXRhW2kgKyAyXTsKKwkJc3dpdGNoIChkYXRhW2ldKSB7CisJCWNhc2UgSU5URUxf SFdDT05GSUdfTUVNT1JZX1RZUEU6CisJCQlpZ3RfYXNzZXJ0KGxlbiA9PSAxKTsKKwkJCXN3aXRj aCAodmFsdWUpIHsKKwkJCWNhc2UgSU5URUxfSFdDT05GSUdfTUVNT1JZX1RZUEVfTFBERFI0Ogor CQkJCWlndF9pbmZvKCJMUEREUjRcbiIpOworCQkJCWJyZWFrOworCQkJY2FzZSBJTlRFTF9IV0NP TkZJR19NRU1PUllfVFlQRV9MUEREUjU6CisJCQkJaWd0X2luZm8oIkxQRERSNVxuIik7CisJCQkJ YnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCWlndF9hc3NlcnQoMCk7CisJCQl9CisJCQlicmVhazsK KworCQljYXNlIElOVEVMX0hXQ09ORklHX0NBQ0hFX1RZUEVTOgorCQkJaWd0X2Fzc2VydChsZW4g PT0gMSk7CisKKyNkZWZpbmUgVEVTVF9DQUNIRV9UWVBFKHR5cGUpCQkJCQlcCisJaWYgKHZhbHVl ICYgSU5URUxfSFdDT05GSUdfQ0FDSEVfVFlQRV8jI3R5cGUpIHsJCVwKKwkJdmFsdWUgJj0gfklO VEVMX0hXQ09ORklHX0NBQ0hFX1RZUEVfIyN0eXBlOwlcCisJCWlndF9pbmZvKCN0eXBlKTsJCQkJ XAorCQlpZiAodmFsdWUpCQkJCQlcCisJCQlpZ3RfaW5mbygiLCAiKTsJCQkJXAorCX0KKworCQkJ VEVTVF9DQUNIRV9UWVBFKEwzKTsKKwkJCVRFU1RfQ0FDSEVfVFlQRShMTEMpOworCQkJVEVTVF9D QUNIRV9UWVBFKEVEUkFNKTsKKyN1bmRlZiBURVNUX0NBQ0hFX1RZUEUKKworCQkJaWd0X2Fzc2Vy dCh2YWx1ZSA9PSAwKTsKKwkJCWlndF9pbmZvKCJcbiIpOworCQkJYnJlYWs7CisKKwkJZGVmYXVs dDoKKwkJCWZvciAoaiA9IGkgKyAyOyBqIDwgaSArIDEgKyBsZW47IGorKykKKwkJCQlpZ3RfaW5m bygiJWQsICIsIGRhdGFbal0pOworCQkJaWd0X2luZm8oIiVkXG4iLCBkYXRhW2pdKTsKKwkJfQor CisJCS8qIEFkdmFuY2UgdG8gbmV4dCBrZXkgKi8KKwkJaSArPSAyICsgbGVuOworCX0KKworCWZy ZWUoZGF0YSk7Cit9CisKIGlndF9tYWluCiB7CiAJaW50IGZkID0gLTE7CkBAIC05MTEsNiArMTA3 Niw5IEBAIGlndF9tYWluCiAJCQllbmdpbmVzKGZkKTsKIAl9CiAKKwlpZ3Rfc3VidGVzdCgiaHdj b25maWdfdGFibGUiKQorCQlxdWVyeV9wYXJzZV9hbmRfdmFsaWRhdGVfaHdjb25maWdfdGFibGUo ZmQpOworCiAJaWd0X2ZpeHR1cmUgewogCQljbG9zZShmZCk7CiAJfQotLSAKMi4yNS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK