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=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,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 71085C04AA8 for ; Thu, 2 May 2019 08:07:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7317320651 for ; Thu, 2 May 2019 08:07:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="ajKp69Yf" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726646AbfEBIHe (ORCPT ); Thu, 2 May 2019 04:07:34 -0400 Received: from mail-eopbgr30084.outbound.protection.outlook.com ([40.107.3.84]:37540 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726482AbfEBIHc (ORCPT ); Thu, 2 May 2019 04:07:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bCmxAgiQmYfpTTiwJhwHInPJANMJKC7EIOgPxo5+0QY=; b=ajKp69Yfxl3bT+4ew8wDkHn9xtAF6c/uUm+3oturIy1ZLUrhc59gccZgfzd55CoMUEPUOUnOxkuSSGHaQs6S16ui+tX5aZL0HdK45GxAF7GQ968Z+ZUkv9zlniBzNcQjQo+RI7QkJZoTo+MQqJji71qkj60efZWsz8F50DTvVjs= Received: from AM0PR04MB5779.eurprd04.prod.outlook.com (20.178.202.151) by AM0PR04MB6161.eurprd04.prod.outlook.com (20.179.36.79) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.13; Thu, 2 May 2019 08:06:51 +0000 Received: from AM0PR04MB5779.eurprd04.prod.outlook.com ([fe80::c19b:5964:bfcb:96a8]) by AM0PR04MB5779.eurprd04.prod.outlook.com ([fe80::c19b:5964:bfcb:96a8%7]) with mapi id 15.20.1856.008; Thu, 2 May 2019 08:06:51 +0000 From: Abel Vesa To: Mike Turquette , Stephen Boyd , Shawn Guo , Fabio Estevam , Sascha Hauer CC: dl-linux-imx , Daniel Baluta , "linux-clk@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Linux Kernel Mailing List , Abel Vesa Subject: [PATCH v2 13/18] clk: imx6q: Switch to clk_hw based API Thread-Topic: [PATCH v2 13/18] clk: imx6q: Switch to clk_hw based API Thread-Index: AQHVAL3/R7KYrF/yUU+phUncuyGPCg== Date: Thu, 2 May 2019 08:06:51 +0000 Message-ID: <1556784376-7191-14-git-send-email-abel.vesa@nxp.com> References: <1556784376-7191-1-git-send-email-abel.vesa@nxp.com> In-Reply-To: <1556784376-7191-1-git-send-email-abel.vesa@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR0501CA0041.eurprd05.prod.outlook.com (2603:10a6:800:60::27) To AM0PR04MB5779.eurprd04.prod.outlook.com (2603:10a6:208:131::23) x-originating-ip: [89.37.124.34] authentication-results: spf=none (sender IP is ) smtp.mailfrom=abel.vesa@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 564db548-2509-4aad-94f9-08d6ced521ff x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:AM0PR04MB6161; x-ms-traffictypediagnostic: AM0PR04MB6161: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 0025434D2D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(396003)(366004)(376002)(136003)(39860400002)(199004)(189003)(30864003)(64756008)(66476007)(66446008)(66556008)(66946007)(73956011)(110136005)(54906003)(5660300002)(6512007)(68736007)(53936002)(53946003)(316002)(386003)(6506007)(26005)(2906002)(186003)(478600001)(102836004)(6436002)(76176011)(52116002)(99286004)(66066001)(6116002)(3846002)(14454004)(25786009)(4326008)(36756003)(256004)(14444005)(86362001)(81156014)(486006)(8676002)(44832011)(81166006)(8936002)(7736002)(446003)(11346002)(2616005)(50226002)(476003)(305945005)(6486002)(71190400001)(71200400001)(32563001)(559001)(569006);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR04MB6161;H:AM0PR04MB5779.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: cu/4qCZNwIsx040T+kQEvMzm4o5yQ16RjpBJorWgYcGtYO7Dbhx4gWUHLY3XuyIoR3o+E/mZdhN8HpoDoeJlofRyq3KOVFqz30kKeTboPXft43iQhm3gBYxp2YXETJPP135svNDeWT8CajVAzmhDGOZn5asHEyAieu9p+cimAlRAhUk9rVL0NFXbx9nVFVmKb/dSqsY7qiYijeSMivod6kkLRqhm4pi/JkJqPavg8PyTb3B0VbbJPfKgbrhuPMz6pNIh05SBU452jp4AIz6cBOn1WwxtbOopXel0T6vb8HQnFqGO/HsG9+9aGm7/hRiP/11gU+625zBwgQqo9FA+tCbI9b9MiZwoTI4MSMH6QYrECdBcNu/RuxcRru1EWm/vebUUAk/Kw2zgL+mYHeE01V3fdKrF1WSbsklMAznN1lg= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 564db548-2509-4aad-94f9-08d6ced521ff X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2019 08:06:51.6495 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6161 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org U3dpdGNoIHRoZSBlbnRpcmUgY2xrLWlteDZxIGRyaXZlciB0byBjbGtfaHcgYmFzZWQgQVBJLg0K QWRkIGlteDZxX29idGFpbl9maXhlZF9jbGtfaHcgaGVscGVyIHRvIGNsZWFuIHVwIHRoZSByZWdp c3RyYXRpb24NCm9mIHRoZSBjbG9ja3MgdGhhdCBhcmUgZWl0aGVyIGZvdW5kIGluIGRldmljZSB0 cmVlIG9yIGFyZSBhc3NpZ25lZA0KYSBmaXhlZCB6ZXJvIHJhdGUuIFRoaXMgc3dpdGNoIGFsbG93 cyB1cyB0byBtb3ZlIGNsb3NlciB0byBhIGNsZWFyDQpzcGxpdCBiZXR3ZWVuIGNvbnN1bWVyIGFu ZCBwcm92aWRlciBjbGsgQVBJcy4NCg0KU2lnbmVkLW9mZi1ieTogQWJlbCBWZXNhIDxhYmVsLnZl c2FAbnhwLmNvbT4NCi0tLQ0KIGRyaXZlcnMvY2xrL2lteC9jbGstaW14NnEuYyB8IDc1OSArKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2Vk LCAzOTIgaW5zZXJ0aW9ucygrKSwgMzY3IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9jbGsvaW14L2Nsay1pbXg2cS5jIGIvZHJpdmVycy9jbGsvaW14L2Nsay1pbXg2cS5jDQpp bmRleCBjN2I2NzFlLi43MTc2N2IyIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jbGsvaW14L2Nsay1p bXg2cS5jDQorKysgYi9kcml2ZXJzL2Nsay9pbXgvY2xrLWlteDZxLmMNCkBAIC05Myw4ICs5Myw4 IEBAIHN0YXRpYyBjb25zdCBjaGFyICpwbGw1X2J5cGFzc19zZWxzW10gPSB7ICJwbGw1IiwgInBs bDVfYnlwYXNzX3NyYyIsIH07DQogc3RhdGljIGNvbnN0IGNoYXIgKnBsbDZfYnlwYXNzX3NlbHNb XSA9IHsgInBsbDYiLCAicGxsNl9ieXBhc3Nfc3JjIiwgfTsNCiBzdGF0aWMgY29uc3QgY2hhciAq cGxsN19ieXBhc3Nfc2Vsc1tdID0geyAicGxsNyIsICJwbGw3X2J5cGFzc19zcmMiLCB9Ow0KIA0K LXN0YXRpYyBzdHJ1Y3QgY2xrICpjbGtbSU1YNlFETF9DTEtfRU5EXTsNCi1zdGF0aWMgc3RydWN0 IGNsa19vbmVjZWxsX2RhdGEgY2xrX2RhdGE7DQorc3RhdGljIHN0cnVjdCBjbGtfaHcgKipod3M7 DQorc3RhdGljIHN0cnVjdCBjbGtfaHdfb25lY2VsbF9kYXRhICpjbGtfaHdfZGF0YTsNCiANCiBz dGF0aWMgc3RydWN0IGNsa19kaXZfdGFibGUgY2xrX2VuZXRfcmVmX3RhYmxlW10gPSB7DQogCXsg LnZhbCA9IDAsIC5kaXYgPSAyMCwgfSwNCkBAIC0xNDQsMTIgKzE0NCwxMyBAQCBzdGF0aWMgaW5s aW5lIGludCBjbGtfb25faW14NmRsKHZvaWQpDQogCXJldHVybiBvZl9tYWNoaW5lX2lzX2NvbXBh dGlibGUoImZzbCxpbXg2ZGwiKTsNCiB9DQogDQotc3RhdGljIHN0cnVjdCBjbGsgKiogY29uc3Qg dWFydF9jbGtzW10gX19pbml0Y29uc3QgPSB7DQotCSZjbGtbSU1YNlFETF9DTEtfVUFSVF9JUEdd LA0KLQkmY2xrW0lNWDZRRExfQ0xLX1VBUlRfU0VSSUFMXSwNCi0JTlVMTA0KK3N0YXRpYyBjb25z dCBpbnQgdWFydF9jbGtfaWRzW10gX19pbml0Y29uc3QgPSB7DQorCUlNWDZRRExfQ0xLX1VBUlRf SVBHLA0KKwlJTVg2UURMX0NMS19VQVJUX1NFUklBTCwNCiB9Ow0KIA0KK3N0YXRpYyBzdHJ1Y3Qg Y2xrICoqdWFydF9jbGtzW0FSUkFZX1NJWkUodWFydF9jbGtfaWRzKSArIDFdIF9faW5pdGRhdGE7 DQorDQogc3RhdGljIGludCBsZGJfZGlfc2VsX2J5X2Nsb2NrX2lkKGludCBjbG9ja19pZCkNCiB7 DQogCXN3aXRjaCAoY2xvY2tfaWQpIHsNCkBAIC0yODgsOCArMjg5LDggQEAgc3RhdGljIHZvaWQg bW1kY19jaDFfZGlzYWJsZSh2b2lkIF9faW9tZW0gKmNjbV9iYXNlKQ0KIHsNCiAJdW5zaWduZWQg aW50IHJlZzsNCiANCi0JY2xrX3NldF9wYXJlbnQoY2xrW0lNWDZRRExfQ0xLX1BFUklQSDJfQ0xL Ml9TRUxdLA0KLQkJICAgICAgIGNsa1tJTVg2UURMX0NMS19QTEwzX1VTQl9PVEddKTsNCisJY2xr X3NldF9wYXJlbnQoaHdzW0lNWDZRRExfQ0xLX1BFUklQSDJfQ0xLMl9TRUxdLT5jbGssDQorCQkg ICAgICAgaHdzW0lNWDZRRExfQ0xLX1BMTDNfVVNCX09UR10tPmNsayk7DQogDQogCS8qIERpc2Fi bGUgcGxsM19zd19jbGsgYnkgc2VsZWN0aW5nIHRoZSBieXBhc3MgY2xvY2sgc291cmNlICovDQog CXJlZyA9IHJlYWRsX3JlbGF4ZWQoY2NtX2Jhc2UgKyBDQ01fQ0NTUik7DQpAQCAtMzYzLDggKzM2 NCw4IEBAIHN0YXRpYyB2b2lkIGluaXRfbGRiX2Nsa3Moc3RydWN0IGRldmljZV9ub2RlICpucCwg dm9pZCBfX2lvbWVtICpjY21fYmFzZSkNCiANCiAJCS8qIE9ubHkgc3dpdGNoIHRvIG9yIGZyb20g cGxsMl9wZmQyXzM5Nm0gaWYgaXQgaXMgZGlzYWJsZWQgKi8NCiAJCWlmICgoc2VsW2ldWzBdID09 IDIgfHwgc2VsW2ldWzNdID09IDIpICYmDQotCQkgICAgKGNsa19nZXRfcGFyZW50KGNsa1tJTVg2 UURMX0NMS19QRVJJUEhfUFJFXSkgPT0NCi0JCSAgICAgY2xrW0lNWDZRRExfQ0xLX1BMTDJfUEZE Ml8zOTZNXSkpIHsNCisJCSAgICAoY2xrX2dldF9wYXJlbnQoaHdzW0lNWDZRRExfQ0xLX1BFUklQ SF9QUkVdLT5jbGspID09DQorCQkgICAgIGh3c1tJTVg2UURMX0NMS19QTEwyX1BGRDJfMzk2TV0t PmNsaykpIHsNCiAJCQlwcl9lcnIoImNjbTogbGRiX2RpJWRfc2VsOiBjb3VsZG4ndCBkaXNhYmxl IHBsbDJfcGZkMl8zOTZtXG4iLA0KIAkJCSAgICAgICBpKTsNCiAJCQlzZWxbaV1bM10gPSBzZWxb aV1bMl0gPSBzZWxbaV1bMV0gPSBzZWxbaV1bMF07DQpAQCAtNDE2LDggKzQxNyw4IEBAIHN0YXRp YyB2b2lkIGRpc2FibGVfYW5hdG9wX2Nsb2Nrcyh2b2lkIF9faW9tZW0gKmFuYXRvcF9iYXNlKQ0K IAkvKiBNYWtlIHN1cmUgUExMMiBQRkRzIDAtMiBhcmUgZ2F0ZWQgKi8NCiAJcmVnID0gcmVhZGxf cmVsYXhlZChhbmF0b3BfYmFzZSArIENDTV9BTkFMT0dfUEZEXzUyOCk7DQogCS8qIENhbm5vdCBn YXRlIFBGRDIgaWYgcGxsMl9wZmQyXzM5Nm0gaXMgdGhlIHBhcmVudCBvZiBNTURDIGNsb2NrICov DQotCWlmIChjbGtfZ2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfUEVSSVBIX1BSRV0pID09DQot CSAgICBjbGtbSU1YNlFETF9DTEtfUExMMl9QRkQyXzM5Nk1dKQ0KKwlpZiAoY2xrX2dldF9wYXJl bnQoaHdzW0lNWDZRRExfQ0xLX1BFUklQSF9QUkVdLT5jbGspID09DQorCSAgICBod3NbSU1YNlFE TF9DTEtfUExMMl9QRkQyXzM5Nk1dLT5jbGspDQogCQlyZWcgfD0gUEZEMF9DTEtHQVRFIHwgUEZE MV9DTEtHQVRFOw0KIAllbHNlDQogCQlyZWcgfD0gUEZEMF9DTEtHQVRFIHwgUEZEMV9DTEtHQVRF IHwgUEZEMl9DTEtHQVRFOw0KQEAgLTQzNCwzMSArNDM1LDQ0IEBAIHN0YXRpYyB2b2lkIGRpc2Fi bGVfYW5hdG9wX2Nsb2Nrcyh2b2lkIF9faW9tZW0gKmFuYXRvcF9iYXNlKQ0KIAl3cml0ZWxfcmVs YXhlZChyZWcsIGFuYXRvcF9iYXNlICsgQ0NNX0FOQUxPR19QTExfVklERU8pOw0KIH0NCiANCitz dGF0aWMgc3RydWN0IGNsa19odyAqaW14NnFfb2J0YWluX2ZpeGVkX2Nsa19odyhzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wLA0KKwkJCQkJCWNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGxvbmcgcmF0 ZSkNCit7DQorCXN0cnVjdCBjbGsgKmNsayA9IG9mX2Nsa19nZXRfYnlfbmFtZShucCwgbmFtZSk7 DQorCXN0cnVjdCBjbGtfaHcgKmh3Ow0KKw0KKwlpZiAoSVNfRVJSKGNsaykpDQorCQlodyA9IGlt eF9vYnRhaW5fZml4ZWRfY2xvY2tfaHcobmFtZSwgcmF0ZSk7DQorCWVsc2UNCisJCWh3ID0gX19j bGtfZ2V0X2h3KGNsayk7DQorDQorCXJldHVybiBodzsNCit9DQorDQogc3RhdGljIHZvaWQgX19p bml0IGlteDZxX2Nsb2Nrc19pbml0KHN0cnVjdCBkZXZpY2Vfbm9kZSAqY2NtX25vZGUpDQogew0K IAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wOw0KIAl2b2lkIF9faW9tZW0gKmFuYXRvcF9iYXNlLCAq YmFzZTsNCiAJaW50IHJldDsNCisJaW50IGk7DQorDQorCWNsa19od19kYXRhID0ga3phbGxvYyhz dHJ1Y3Rfc2l6ZShjbGtfaHdfZGF0YSwgaHdzLA0KKwkJCQkJICBJTVg2UURMX0NMS19FTkQpLCBH RlBfS0VSTkVMKTsNCisJaWYgKFdBUk5fT04oIWNsa19od19kYXRhKSkNCisJCXJldHVybjsNCiAN Ci0JY2xrW0lNWDZRRExfQ0xLX0RVTU1ZXSA9IGlteF9jbGtfZml4ZWQoImR1bW15IiwgMCk7DQot CWNsa1tJTVg2UURMX0NMS19DS0lMXSA9IG9mX2Nsa19nZXRfYnlfbmFtZShjY21fbm9kZSwgImNr aWwiKTsNCi0JaWYgKElTX0VSUihjbGtbSU1YNlFETF9DTEtfQ0tJTF0pKQ0KLQkJY2xrW0lNWDZR RExfQ0xLX0NLSUxdID0gaW14X29idGFpbl9maXhlZF9jbG9jaygiY2tpbCIsIDApOw0KLQljbGtb SU1YNlFETF9DTEtfQ0tJSF0gPSBvZl9jbGtfZ2V0X2J5X25hbWUoY2NtX25vZGUsICJja2loMSIp Ow0KLQlpZiAoSVNfRVJSKGNsa1tJTVg2UURMX0NMS19DS0lIXSkpDQotCQljbGtbSU1YNlFETF9D TEtfQ0tJSF0gPSBpbXhfb2J0YWluX2ZpeGVkX2Nsb2NrKCJja2loMSIsIDApOw0KLQljbGtbSU1Y NlFETF9DTEtfT1NDXSA9IG9mX2Nsa19nZXRfYnlfbmFtZShjY21fbm9kZSwgIm9zYyIpOw0KLQlp ZiAoSVNfRVJSKGNsa1tJTVg2UURMX0NMS19PU0NdKSkNCi0JCWNsa1tJTVg2UURMX0NMS19PU0Nd ID0gaW14X29idGFpbl9maXhlZF9jbG9jaygib3NjIiwgMCk7DQorCWNsa19od19kYXRhLT5udW0g PSBJTVg2UURMX0NMS19FTkQ7DQorCWh3cyA9IGNsa19od19kYXRhLT5od3M7DQogDQotCS8qIENs b2NrIHNvdXJjZSBmcm9tIGV4dGVybmFsIGNsb2NrIHZpYSBDTEsxLzIgUEFEcyAqLw0KLQljbGtb SU1YNlFETF9DTEtfQU5BQ0xLMV0gPSBvZl9jbGtfZ2V0X2J5X25hbWUoY2NtX25vZGUsICJhbmFj bGsxIik7DQotCWlmIChJU19FUlIoY2xrW0lNWDZRRExfQ0xLX0FOQUNMSzFdKSkNCi0JCWNsa1tJ TVg2UURMX0NMS19BTkFDTEsxXSA9IGlteF9vYnRhaW5fZml4ZWRfY2xvY2soImFuYWNsazEiLCAw KTsNCisJaHdzW0lNWDZRRExfQ0xLX0RVTU1ZXSA9IGlteF9jbGtfaHdfZml4ZWQoImR1bW15Iiwg MCk7DQogDQotCWNsa1tJTVg2UURMX0NMS19BTkFDTEsyXSA9IG9mX2Nsa19nZXRfYnlfbmFtZShj Y21fbm9kZSwgImFuYWNsazIiKTsNCi0JaWYgKElTX0VSUihjbGtbSU1YNlFETF9DTEtfQU5BQ0xL Ml0pKQ0KLQkJY2xrW0lNWDZRRExfQ0xLX0FOQUNMSzJdID0gaW14X29idGFpbl9maXhlZF9jbG9j aygiYW5hY2xrMiIsIDApOw0KKwlod3NbSU1YNlFETF9DTEtfQ0tJTF0gPSBpbXg2cV9vYnRhaW5f Zml4ZWRfY2xrX2h3KGNjbV9ub2RlLCAiY2tpbCIsIDApOw0KKwlod3NbSU1YNlFETF9DTEtfQ0tJ SF0gPSBpbXg2cV9vYnRhaW5fZml4ZWRfY2xrX2h3KGNjbV9ub2RlLCAiY2tpaDEiLCAwKTsNCisJ aHdzW0lNWDZRRExfQ0xLX09TQ10gPSBpbXg2cV9vYnRhaW5fZml4ZWRfY2xrX2h3KGNjbV9ub2Rl LCAib3NjIiwgMCk7DQorDQorCS8qIENsb2NrIHNvdXJjZSBmcm9tIGV4dGVybmFsIGNsb2NrIHZp YSBDTEsxLzIgUEFEcyAqLw0KKwlod3NbSU1YNlFETF9DTEtfQU5BQ0xLMV0gPSBpbXg2cV9vYnRh aW5fZml4ZWRfY2xrX2h3KGNjbV9ub2RlLCAiYW5hY2xrMSIsIDApOw0KKwlod3NbSU1YNlFETF9D TEtfQU5BQ0xLMl0gPSBpbXg2cV9vYnRhaW5fZml4ZWRfY2xrX2h3KGNjbV9ub2RlLCAiYW5hY2xr MiIsIDApOw0KIA0KIAlucCA9IG9mX2ZpbmRfY29tcGF0aWJsZV9ub2RlKE5VTEwsIE5VTEwsICJm c2wsaW14NnEtYW5hdG9wIik7DQogCWFuYXRvcF9iYXNlID0gYmFzZSA9IG9mX2lvbWFwKG5wLCAw KTsNCkBAIC00NzMsNDcgKzQ4Nyw0NyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW14NnFfY2xvY2tz X2luaXQoc3RydWN0IGRldmljZV9ub2RlICpjY21fbm9kZSkNCiAJCXZpZGVvX2Rpdl90YWJsZVsz XS5kaXYgPSAxOw0KIAl9DQogDQotCWNsa1tJTVg2UURMX1BMTDFfQllQQVNTX1NSQ10gPSBpbXhf Y2xrX211eCgicGxsMV9ieXBhc3Nfc3JjIiwgYmFzZSArIDB4MDAsIDE0LCAyLCBwbGxfYnlwYXNz X3NyY19zZWxzLCBBUlJBWV9TSVpFKHBsbF9ieXBhc3Nfc3JjX3NlbHMpKTsNCi0JY2xrW0lNWDZR RExfUExMMl9CWVBBU1NfU1JDXSA9IGlteF9jbGtfbXV4KCJwbGwyX2J5cGFzc19zcmMiLCBiYXNl ICsgMHgzMCwgMTQsIDIsIHBsbF9ieXBhc3Nfc3JjX3NlbHMsIEFSUkFZX1NJWkUocGxsX2J5cGFz c19zcmNfc2VscykpOw0KLQljbGtbSU1YNlFETF9QTEwzX0JZUEFTU19TUkNdID0gaW14X2Nsa19t dXgoInBsbDNfYnlwYXNzX3NyYyIsIGJhc2UgKyAweDEwLCAxNCwgMiwgcGxsX2J5cGFzc19zcmNf c2VscywgQVJSQVlfU0laRShwbGxfYnlwYXNzX3NyY19zZWxzKSk7DQotCWNsa1tJTVg2UURMX1BM TDRfQllQQVNTX1NSQ10gPSBpbXhfY2xrX211eCgicGxsNF9ieXBhc3Nfc3JjIiwgYmFzZSArIDB4 NzAsIDE0LCAyLCBwbGxfYnlwYXNzX3NyY19zZWxzLCBBUlJBWV9TSVpFKHBsbF9ieXBhc3Nfc3Jj X3NlbHMpKTsNCi0JY2xrW0lNWDZRRExfUExMNV9CWVBBU1NfU1JDXSA9IGlteF9jbGtfbXV4KCJw bGw1X2J5cGFzc19zcmMiLCBiYXNlICsgMHhhMCwgMTQsIDIsIHBsbF9ieXBhc3Nfc3JjX3NlbHMs IEFSUkFZX1NJWkUocGxsX2J5cGFzc19zcmNfc2VscykpOw0KLQljbGtbSU1YNlFETF9QTEw2X0JZ UEFTU19TUkNdID0gaW14X2Nsa19tdXgoInBsbDZfYnlwYXNzX3NyYyIsIGJhc2UgKyAweGUwLCAx NCwgMiwgcGxsX2J5cGFzc19zcmNfc2VscywgQVJSQVlfU0laRShwbGxfYnlwYXNzX3NyY19zZWxz KSk7DQotCWNsa1tJTVg2UURMX1BMTDdfQllQQVNTX1NSQ10gPSBpbXhfY2xrX211eCgicGxsN19i eXBhc3Nfc3JjIiwgYmFzZSArIDB4MjAsIDE0LCAyLCBwbGxfYnlwYXNzX3NyY19zZWxzLCBBUlJB WV9TSVpFKHBsbF9ieXBhc3Nfc3JjX3NlbHMpKTsNCisJaHdzW0lNWDZRRExfUExMMV9CWVBBU1Nf U1JDXSA9IGlteF9jbGtfaHdfbXV4KCJwbGwxX2J5cGFzc19zcmMiLCBiYXNlICsgMHgwMCwgMTQs IDIsIHBsbF9ieXBhc3Nfc3JjX3NlbHMsIEFSUkFZX1NJWkUocGxsX2J5cGFzc19zcmNfc2Vscykp Ow0KKwlod3NbSU1YNlFETF9QTEwyX0JZUEFTU19TUkNdID0gaW14X2Nsa19od19tdXgoInBsbDJf YnlwYXNzX3NyYyIsIGJhc2UgKyAweDMwLCAxNCwgMiwgcGxsX2J5cGFzc19zcmNfc2VscywgQVJS QVlfU0laRShwbGxfYnlwYXNzX3NyY19zZWxzKSk7DQorCWh3c1tJTVg2UURMX1BMTDNfQllQQVNT X1NSQ10gPSBpbXhfY2xrX2h3X211eCgicGxsM19ieXBhc3Nfc3JjIiwgYmFzZSArIDB4MTAsIDE0 LCAyLCBwbGxfYnlwYXNzX3NyY19zZWxzLCBBUlJBWV9TSVpFKHBsbF9ieXBhc3Nfc3JjX3NlbHMp KTsNCisJaHdzW0lNWDZRRExfUExMNF9CWVBBU1NfU1JDXSA9IGlteF9jbGtfaHdfbXV4KCJwbGw0 X2J5cGFzc19zcmMiLCBiYXNlICsgMHg3MCwgMTQsIDIsIHBsbF9ieXBhc3Nfc3JjX3NlbHMsIEFS UkFZX1NJWkUocGxsX2J5cGFzc19zcmNfc2VscykpOw0KKwlod3NbSU1YNlFETF9QTEw1X0JZUEFT U19TUkNdID0gaW14X2Nsa19od19tdXgoInBsbDVfYnlwYXNzX3NyYyIsIGJhc2UgKyAweGEwLCAx NCwgMiwgcGxsX2J5cGFzc19zcmNfc2VscywgQVJSQVlfU0laRShwbGxfYnlwYXNzX3NyY19zZWxz KSk7DQorCWh3c1tJTVg2UURMX1BMTDZfQllQQVNTX1NSQ10gPSBpbXhfY2xrX2h3X211eCgicGxs Nl9ieXBhc3Nfc3JjIiwgYmFzZSArIDB4ZTAsIDE0LCAyLCBwbGxfYnlwYXNzX3NyY19zZWxzLCBB UlJBWV9TSVpFKHBsbF9ieXBhc3Nfc3JjX3NlbHMpKTsNCisJaHdzW0lNWDZRRExfUExMN19CWVBB U1NfU1JDXSA9IGlteF9jbGtfaHdfbXV4KCJwbGw3X2J5cGFzc19zcmMiLCBiYXNlICsgMHgyMCwg MTQsIDIsIHBsbF9ieXBhc3Nfc3JjX3NlbHMsIEFSUkFZX1NJWkUocGxsX2J5cGFzc19zcmNfc2Vs cykpOw0KIA0KIAkvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgICAg ICAgICAgICAgICBuYW1lICAgIHBhcmVudF9uYW1lICAgICAgICBiYXNlICAgICAgICAgZGl2X21h c2sgKi8NCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDFdID0gaW14X2Nsa19wbGx2MyhJTVhfUExMVjNf U1lTLCAgICAgInBsbDEiLCAib3NjIiwgYmFzZSArIDB4MDAsIDB4N2YpOw0KLQljbGtbSU1YNlFE TF9DTEtfUExMMl0gPSBpbXhfY2xrX3BsbHYzKElNWF9QTExWM19HRU5FUklDLCAicGxsMiIsICJv c2MiLCBiYXNlICsgMHgzMCwgMHgxKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDNdID0gaW14X2Ns a19wbGx2MyhJTVhfUExMVjNfVVNCLCAgICAgInBsbDMiLCAib3NjIiwgYmFzZSArIDB4MTAsIDB4 Myk7DQotCWNsa1tJTVg2UURMX0NMS19QTEw0XSA9IGlteF9jbGtfcGxsdjMoSU1YX1BMTFYzX0FW LCAgICAgICJwbGw0IiwgIm9zYyIsIGJhc2UgKyAweDcwLCAweDdmKTsNCi0JY2xrW0lNWDZRRExf Q0xLX1BMTDVdID0gaW14X2Nsa19wbGx2MyhJTVhfUExMVjNfQVYsICAgICAgInBsbDUiLCAib3Nj IiwgYmFzZSArIDB4YTAsIDB4N2YpOw0KLQljbGtbSU1YNlFETF9DTEtfUExMNl0gPSBpbXhfY2xr X3BsbHYzKElNWF9QTExWM19FTkVULCAgICAicGxsNiIsICJvc2MiLCBiYXNlICsgMHhlMCwgMHgz KTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDddID0gaW14X2Nsa19wbGx2MyhJTVhfUExMVjNfVVNC LCAgICAgInBsbDciLCAib3NjIiwgYmFzZSArIDB4MjAsIDB4Myk7DQotDQotCWNsa1tJTVg2UURM X1BMTDFfQllQQVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGwxX2J5cGFzcyIsIGJhc2UgKyAw eDAwLCAxNiwgMSwgcGxsMV9ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGwxX2J5cGFzc19zZWxz KSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNsa1tJTVg2UURMX1BMTDJfQllQQVNTXSA9IGlt eF9jbGtfbXV4X2ZsYWdzKCJwbGwyX2J5cGFzcyIsIGJhc2UgKyAweDMwLCAxNiwgMSwgcGxsMl9i eXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGwyX2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BB UkVOVCk7DQotCWNsa1tJTVg2UURMX1BMTDNfQllQQVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJw bGwzX2J5cGFzcyIsIGJhc2UgKyAweDEwLCAxNiwgMSwgcGxsM19ieXBhc3Nfc2VscywgQVJSQVlf U0laRShwbGwzX2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNsa1tJTVg2 UURMX1BMTDRfQllQQVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGw0X2J5cGFzcyIsIGJhc2Ug KyAweDcwLCAxNiwgMSwgcGxsNF9ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGw0X2J5cGFzc19z ZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNsa1tJTVg2UURMX1BMTDVfQllQQVNTXSA9 IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGw1X2J5cGFzcyIsIGJhc2UgKyAweGEwLCAxNiwgMSwgcGxs NV9ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGw1X2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRF X1BBUkVOVCk7DQotCWNsa1tJTVg2UURMX1BMTDZfQllQQVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdz KCJwbGw2X2J5cGFzcyIsIGJhc2UgKyAweGUwLCAxNiwgMSwgcGxsNl9ieXBhc3Nfc2VscywgQVJS QVlfU0laRShwbGw2X2J5cGFzc19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCWNsa1tJ TVg2UURMX1BMTDdfQllQQVNTXSA9IGlteF9jbGtfbXV4X2ZsYWdzKCJwbGw3X2J5cGFzcyIsIGJh c2UgKyAweDIwLCAxNiwgMSwgcGxsN19ieXBhc3Nfc2VscywgQVJSQVlfU0laRShwbGw3X2J5cGFz c19zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQorCWh3c1tJTVg2UURMX0NMS19QTEwxXSA9 IGlteF9jbGtfaHdfcGxsdjMoSU1YX1BMTFYzX1NZUywgICAgICJwbGwxIiwgIm9zYyIsIGJhc2Ug KyAweDAwLCAweDdmKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BMTDJdID0gaW14X2Nsa19od19wbGx2 MyhJTVhfUExMVjNfR0VORVJJQywgInBsbDIiLCAib3NjIiwgYmFzZSArIDB4MzAsIDB4MSk7DQor CWh3c1tJTVg2UURMX0NMS19QTEwzXSA9IGlteF9jbGtfaHdfcGxsdjMoSU1YX1BMTFYzX1VTQiwg ICAgICJwbGwzIiwgIm9zYyIsIGJhc2UgKyAweDEwLCAweDMpOw0KKwlod3NbSU1YNlFETF9DTEtf UExMNF0gPSBpbXhfY2xrX2h3X3BsbHYzKElNWF9QTExWM19BViwgICAgICAicGxsNCIsICJvc2Mi LCBiYXNlICsgMHg3MCwgMHg3Zik7DQorCWh3c1tJTVg2UURMX0NMS19QTEw1XSA9IGlteF9jbGtf aHdfcGxsdjMoSU1YX1BMTFYzX0FWLCAgICAgICJwbGw1IiwgIm9zYyIsIGJhc2UgKyAweGEwLCAw eDdmKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BMTDZdID0gaW14X2Nsa19od19wbGx2MyhJTVhfUExM VjNfRU5FVCwgICAgInBsbDYiLCAib3NjIiwgYmFzZSArIDB4ZTAsIDB4Myk7DQorCWh3c1tJTVg2 UURMX0NMS19QTEw3XSA9IGlteF9jbGtfaHdfcGxsdjMoSU1YX1BMTFYzX1VTQiwgICAgICJwbGw3 IiwgIm9zYyIsIGJhc2UgKyAweDIwLCAweDMpOw0KKw0KKwlod3NbSU1YNlFETF9QTEwxX0JZUEFT U10gPSBpbXhfY2xrX2h3X211eF9mbGFncygicGxsMV9ieXBhc3MiLCBiYXNlICsgMHgwMCwgMTYs IDEsIHBsbDFfYnlwYXNzX3NlbHMsIEFSUkFZX1NJWkUocGxsMV9ieXBhc3Nfc2VscyksIENMS19T RVRfUkFURV9QQVJFTlQpOw0KKwlod3NbSU1YNlFETF9QTEwyX0JZUEFTU10gPSBpbXhfY2xrX2h3 X211eF9mbGFncygicGxsMl9ieXBhc3MiLCBiYXNlICsgMHgzMCwgMTYsIDEsIHBsbDJfYnlwYXNz X3NlbHMsIEFSUkFZX1NJWkUocGxsMl9ieXBhc3Nfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQp Ow0KKwlod3NbSU1YNlFETF9QTEwzX0JZUEFTU10gPSBpbXhfY2xrX2h3X211eF9mbGFncygicGxs M19ieXBhc3MiLCBiYXNlICsgMHgxMCwgMTYsIDEsIHBsbDNfYnlwYXNzX3NlbHMsIEFSUkFZX1NJ WkUocGxsM19ieXBhc3Nfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0KKwlod3NbSU1YNlFE TF9QTEw0X0JZUEFTU10gPSBpbXhfY2xrX2h3X211eF9mbGFncygicGxsNF9ieXBhc3MiLCBiYXNl ICsgMHg3MCwgMTYsIDEsIHBsbDRfYnlwYXNzX3NlbHMsIEFSUkFZX1NJWkUocGxsNF9ieXBhc3Nf c2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0KKwlod3NbSU1YNlFETF9QTEw1X0JZUEFTU10g PSBpbXhfY2xrX2h3X211eF9mbGFncygicGxsNV9ieXBhc3MiLCBiYXNlICsgMHhhMCwgMTYsIDEs IHBsbDVfYnlwYXNzX3NlbHMsIEFSUkFZX1NJWkUocGxsNV9ieXBhc3Nfc2VscyksIENMS19TRVRf UkFURV9QQVJFTlQpOw0KKwlod3NbSU1YNlFETF9QTEw2X0JZUEFTU10gPSBpbXhfY2xrX2h3X211 eF9mbGFncygicGxsNl9ieXBhc3MiLCBiYXNlICsgMHhlMCwgMTYsIDEsIHBsbDZfYnlwYXNzX3Nl bHMsIEFSUkFZX1NJWkUocGxsNl9ieXBhc3Nfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0K Kwlod3NbSU1YNlFETF9QTEw3X0JZUEFTU10gPSBpbXhfY2xrX2h3X211eF9mbGFncygicGxsN19i eXBhc3MiLCBiYXNlICsgMHgyMCwgMTYsIDEsIHBsbDdfYnlwYXNzX3NlbHMsIEFSUkFZX1NJWkUo cGxsN19ieXBhc3Nfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0KIA0KIAkvKiBEbyBub3Qg YnlwYXNzIFBMTHMgaW5pdGlhbGx5ICovDQotCWNsa19zZXRfcGFyZW50KGNsa1tJTVg2UURMX1BM TDFfQllQQVNTXSwgY2xrW0lNWDZRRExfQ0xLX1BMTDFdKTsNCi0JY2xrX3NldF9wYXJlbnQoY2xr W0lNWDZRRExfUExMMl9CWVBBU1NdLCBjbGtbSU1YNlFETF9DTEtfUExMMl0pOw0KLQljbGtfc2V0 X3BhcmVudChjbGtbSU1YNlFETF9QTEwzX0JZUEFTU10sIGNsa1tJTVg2UURMX0NMS19QTEwzXSk7 DQotCWNsa19zZXRfcGFyZW50KGNsa1tJTVg2UURMX1BMTDRfQllQQVNTXSwgY2xrW0lNWDZRRExf Q0xLX1BMTDRdKTsNCi0JY2xrX3NldF9wYXJlbnQoY2xrW0lNWDZRRExfUExMNV9CWVBBU1NdLCBj bGtbSU1YNlFETF9DTEtfUExMNV0pOw0KLQljbGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9QTEw2 X0JZUEFTU10sIGNsa1tJTVg2UURMX0NMS19QTEw2XSk7DQotCWNsa19zZXRfcGFyZW50KGNsa1tJ TVg2UURMX1BMTDdfQllQQVNTXSwgY2xrW0lNWDZRRExfQ0xLX1BMTDddKTsNCi0NCi0JY2xrW0lN WDZRRExfQ0xLX1BMTDFfU1lTXSAgICAgID0gaW14X2Nsa19nYXRlKCJwbGwxX3N5cyIsICAgICAg InBsbDFfYnlwYXNzIiwgYmFzZSArIDB4MDAsIDEzKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDJf QlVTXSAgICAgID0gaW14X2Nsa19nYXRlKCJwbGwyX2J1cyIsICAgICAgInBsbDJfYnlwYXNzIiwg YmFzZSArIDB4MzAsIDEzKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDNfVVNCX09UR10gID0gaW14 X2Nsa19nYXRlKCJwbGwzX3VzYl9vdGciLCAgInBsbDNfYnlwYXNzIiwgYmFzZSArIDB4MTAsIDEz KTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDRfQVVESU9dICAgID0gaW14X2Nsa19nYXRlKCJwbGw0 X2F1ZGlvIiwgICAgInBsbDRfYnlwYXNzIiwgYmFzZSArIDB4NzAsIDEzKTsNCi0JY2xrW0lNWDZR RExfQ0xLX1BMTDVfVklERU9dICAgID0gaW14X2Nsa19nYXRlKCJwbGw1X3ZpZGVvIiwgICAgInBs bDVfYnlwYXNzIiwgYmFzZSArIDB4YTAsIDEzKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDZfRU5F VF0gICAgID0gaW14X2Nsa19nYXRlKCJwbGw2X2VuZXQiLCAgICAgInBsbDZfYnlwYXNzIiwgYmFz ZSArIDB4ZTAsIDEzKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDdfVVNCX0hPU1RdID0gaW14X2Ns a19nYXRlKCJwbGw3X3VzYl9ob3N0IiwgInBsbDdfYnlwYXNzIiwgYmFzZSArIDB4MjAsIDEzKTsN CisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZRRExfUExMMV9CWVBBU1NdLT5jbGssIGh3c1tJTVg2 UURMX0NMS19QTEwxXS0+Y2xrKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZRRExfUExMMl9C WVBBU1NdLT5jbGssIGh3c1tJTVg2UURMX0NMS19QTEwyXS0+Y2xrKTsNCisJY2xrX3NldF9wYXJl bnQoaHdzW0lNWDZRRExfUExMM19CWVBBU1NdLT5jbGssIGh3c1tJTVg2UURMX0NMS19QTEwzXS0+ Y2xrKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZRRExfUExMNF9CWVBBU1NdLT5jbGssIGh3 c1tJTVg2UURMX0NMS19QTEw0XS0+Y2xrKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZRRExf UExMNV9CWVBBU1NdLT5jbGssIGh3c1tJTVg2UURMX0NMS19QTEw1XS0+Y2xrKTsNCisJY2xrX3Nl dF9wYXJlbnQoaHdzW0lNWDZRRExfUExMNl9CWVBBU1NdLT5jbGssIGh3c1tJTVg2UURMX0NMS19Q TEw2XS0+Y2xrKTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZRRExfUExMN19CWVBBU1NdLT5j bGssIGh3c1tJTVg2UURMX0NMS19QTEw3XS0+Y2xrKTsNCisNCisJaHdzW0lNWDZRRExfQ0xLX1BM TDFfU1lTXSAgICAgID0gaW14X2Nsa19od19nYXRlKCJwbGwxX3N5cyIsICAgICAgInBsbDFfYnlw YXNzIiwgYmFzZSArIDB4MDAsIDEzKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BMTDJfQlVTXSAgICAg ID0gaW14X2Nsa19od19nYXRlKCJwbGwyX2J1cyIsICAgICAgInBsbDJfYnlwYXNzIiwgYmFzZSAr IDB4MzAsIDEzKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BMTDNfVVNCX09UR10gID0gaW14X2Nsa19o d19nYXRlKCJwbGwzX3VzYl9vdGciLCAgInBsbDNfYnlwYXNzIiwgYmFzZSArIDB4MTAsIDEzKTsN CisJaHdzW0lNWDZRRExfQ0xLX1BMTDRfQVVESU9dICAgID0gaW14X2Nsa19od19nYXRlKCJwbGw0 X2F1ZGlvIiwgICAgInBsbDRfYnlwYXNzIiwgYmFzZSArIDB4NzAsIDEzKTsNCisJaHdzW0lNWDZR RExfQ0xLX1BMTDVfVklERU9dICAgID0gaW14X2Nsa19od19nYXRlKCJwbGw1X3ZpZGVvIiwgICAg InBsbDVfYnlwYXNzIiwgYmFzZSArIDB4YTAsIDEzKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BMTDZf RU5FVF0gICAgID0gaW14X2Nsa19od19nYXRlKCJwbGw2X2VuZXQiLCAgICAgInBsbDZfYnlwYXNz IiwgYmFzZSArIDB4ZTAsIDEzKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BMTDdfVVNCX0hPU1RdID0g aW14X2Nsa19od19nYXRlKCJwbGw3X3VzYl9ob3N0IiwgInBsbDdfYnlwYXNzIiwgYmFzZSArIDB4 MjAsIDEzKTsNCiANCiAJLyoNCiAJICogQml0IDIwIGlzIHRoZSByZXNlcnZlZCBhbmQgcmVhZC1v bmx5IGJpdCwgd2UgZG8gdGhpcyBvbmx5IGZvcjoNCkBAIC01MjEsMTUgKzUzNSwxNSBAQCBzdGF0 aWMgdm9pZCBfX2luaXQgaW14NnFfY2xvY2tzX2luaXQoc3RydWN0IGRldmljZV9ub2RlICpjY21f bm9kZSkNCiAJICogLSBLZWVwIHJlZmNvdW50IHdoZW4gZG8gdXNicGh5IGNsa19lbmFibGUvZGlz YWJsZSwgaW4gdGhhdCBjYXNlLA0KIAkgKiB0aGUgY2xrIGZyYW1ld29yayBtYXkgbmVlZCB0byBl bmFibGUvZGlzYWJsZSB1c2JwaHkncyBwYXJlbnQNCiAJICovDQotCWNsa1tJTVg2UURMX0NMS19V U0JQSFkxXSA9IGlteF9jbGtfZ2F0ZSgidXNicGh5MSIsICJwbGwzX3VzYl9vdGciLCBiYXNlICsg MHgxMCwgMjApOw0KLQljbGtbSU1YNlFETF9DTEtfVVNCUEhZMl0gPSBpbXhfY2xrX2dhdGUoInVz YnBoeTIiLCAicGxsN191c2JfaG9zdCIsIGJhc2UgKyAweDIwLCAyMCk7DQorCWh3c1tJTVg2UURM X0NMS19VU0JQSFkxXSA9IGlteF9jbGtfaHdfZ2F0ZSgidXNicGh5MSIsICJwbGwzX3VzYl9vdGci LCBiYXNlICsgMHgxMCwgMjApOw0KKwlod3NbSU1YNlFETF9DTEtfVVNCUEhZMl0gPSBpbXhfY2xr X2h3X2dhdGUoInVzYnBoeTIiLCAicGxsN191c2JfaG9zdCIsIGJhc2UgKyAweDIwLCAyMCk7DQog DQogCS8qDQogCSAqIHVzYnBoeSpfZ2F0ZSBuZWVkcyB0byBiZSBvbiBhZnRlciBzeXN0ZW0gYm9v dHMgdXAsIGFuZCBzb2Z0d2FyZQ0KIAkgKiBuZXZlciBuZWVkcyB0byBjb250cm9sIGl0IGFueW1v cmUuDQogCSAqLw0KLQljbGtbSU1YNlFETF9DTEtfVVNCUEhZMV9HQVRFXSA9IGlteF9jbGtfZ2F0 ZSgidXNicGh5MV9nYXRlIiwgImR1bW15IiwgYmFzZSArIDB4MTAsIDYpOw0KLQljbGtbSU1YNlFE TF9DTEtfVVNCUEhZMl9HQVRFXSA9IGlteF9jbGtfZ2F0ZSgidXNicGh5Ml9nYXRlIiwgImR1bW15 IiwgYmFzZSArIDB4MjAsIDYpOw0KKwlod3NbSU1YNlFETF9DTEtfVVNCUEhZMV9HQVRFXSA9IGlt eF9jbGtfaHdfZ2F0ZSgidXNicGh5MV9nYXRlIiwgImR1bW15IiwgYmFzZSArIDB4MTAsIDYpOw0K Kwlod3NbSU1YNlFETF9DTEtfVVNCUEhZMl9HQVRFXSA9IGlteF9jbGtfaHdfZ2F0ZSgidXNicGh5 Ml9nYXRlIiwgImR1bW15IiwgYmFzZSArIDB4MjAsIDYpOw0KIA0KIAkvKg0KIAkgKiBUaGUgRU5F VCBQTEwgaXMgc3BlY2lhbCBpbiB0aGF0IGlzIGhhcyBtdWx0aXBsZSBvdXRwdXRzIHdpdGgNCkBA IC01NDMsMjIgKzU1NywyMiBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW14NnFfY2xvY2tzX2luaXQo c3RydWN0IGRldmljZV9ub2RlICpjY21fbm9kZSkNCiAJICoNCiAJICovDQogCWlmICghcGxsNl9i eXBhc3NlZChjY21fbm9kZSkpIHsNCi0JCWNsa1tJTVg2UURMX0NMS19TQVRBX1JFRl0gPSBpbXhf Y2xrX2ZpeGVkX2ZhY3Rvcigic2F0YV9yZWYiLCAicGxsNl9lbmV0IiwgMSwgNSk7DQotCQljbGtb SU1YNlFETF9DTEtfUENJRV9SRUZdID0gaW14X2Nsa19maXhlZF9mYWN0b3IoInBjaWVfcmVmIiwg InBsbDZfZW5ldCIsIDEsIDQpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX0VORVRfUkVGXSA9IGNsa19y ZWdpc3Rlcl9kaXZpZGVyX3RhYmxlKE5VTEwsICJlbmV0X3JlZiIsICJwbGw2X2VuZXQiLCAwLA0K KwkJaHdzW0lNWDZRRExfQ0xLX1NBVEFfUkVGXSA9IGlteF9jbGtfaHdfZml4ZWRfZmFjdG9yKCJz YXRhX3JlZiIsICJwbGw2X2VuZXQiLCAxLCA1KTsNCisJCWh3c1tJTVg2UURMX0NMS19QQ0lFX1JF Rl0gPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigicGNpZV9yZWYiLCAicGxsNl9lbmV0IiwgMSwg NCk7DQorCQlod3NbSU1YNlFETF9DTEtfRU5FVF9SRUZdID0gY2xrX2h3X3JlZ2lzdGVyX2Rpdmlk ZXJfdGFibGUoTlVMTCwgImVuZXRfcmVmIiwgInBsbDZfZW5ldCIsIDAsDQogCQkJCQkJYmFzZSAr IDB4ZTAsIDAsIDIsIDAsIGNsa19lbmV0X3JlZl90YWJsZSwNCiAJCQkJCQkmaW14X2NjbV9sb2Nr KTsNCiAJfSBlbHNlIHsNCi0JCWNsa1tJTVg2UURMX0NMS19TQVRBX1JFRl0gPSBpbXhfY2xrX2Zp eGVkX2ZhY3Rvcigic2F0YV9yZWYiLCAicGxsNl9lbmV0IiwgMSwgMSk7DQotCQljbGtbSU1YNlFE TF9DTEtfUENJRV9SRUZdID0gaW14X2Nsa19maXhlZF9mYWN0b3IoInBjaWVfcmVmIiwgInBsbDZf ZW5ldCIsIDEsIDEpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX0VORVRfUkVGXSA9IGlteF9jbGtfZml4 ZWRfZmFjdG9yKCJlbmV0X3JlZiIsICJwbGw2X2VuZXQiLCAxLCAxKTsNCisJCWh3c1tJTVg2UURM X0NMS19TQVRBX1JFRl0gPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3Rvcigic2F0YV9yZWYiLCAicGxs Nl9lbmV0IiwgMSwgMSk7DQorCQlod3NbSU1YNlFETF9DTEtfUENJRV9SRUZdID0gaW14X2Nsa19o d19maXhlZF9mYWN0b3IoInBjaWVfcmVmIiwgInBsbDZfZW5ldCIsIDEsIDEpOw0KKwkJaHdzW0lN WDZRRExfQ0xLX0VORVRfUkVGXSA9IGlteF9jbGtfaHdfZml4ZWRfZmFjdG9yKCJlbmV0X3JlZiIs ICJwbGw2X2VuZXQiLCAxLCAxKTsNCiAJfQ0KIA0KLQljbGtbSU1YNlFETF9DTEtfU0FUQV9SRUZf MTAwTV0gPSBpbXhfY2xrX2dhdGUoInNhdGFfcmVmXzEwMG0iLCAic2F0YV9yZWYiLCBiYXNlICsg MHhlMCwgMjApOw0KLQljbGtbSU1YNlFETF9DTEtfUENJRV9SRUZfMTI1TV0gPSBpbXhfY2xrX2dh dGUoInBjaWVfcmVmXzEyNW0iLCAicGNpZV9yZWYiLCBiYXNlICsgMHhlMCwgMTkpOw0KKwlod3Nb SU1YNlFETF9DTEtfU0FUQV9SRUZfMTAwTV0gPSBpbXhfY2xrX2h3X2dhdGUoInNhdGFfcmVmXzEw MG0iLCAic2F0YV9yZWYiLCBiYXNlICsgMHhlMCwgMjApOw0KKwlod3NbSU1YNlFETF9DTEtfUENJ RV9SRUZfMTI1TV0gPSBpbXhfY2xrX2h3X2dhdGUoInBjaWVfcmVmXzEyNW0iLCAicGNpZV9yZWYi LCBiYXNlICsgMHhlMCwgMTkpOw0KIA0KLQljbGtbSU1YNlFETF9DTEtfTFZEUzFfU0VMXSA9IGlt eF9jbGtfbXV4KCJsdmRzMV9zZWwiLCBiYXNlICsgMHgxNjAsIDAsIDUsIGx2ZHNfc2VscywgQVJS QVlfU0laRShsdmRzX3NlbHMpKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0xWRFMyX1NFTF0gPSBpbXhf Y2xrX211eCgibHZkczJfc2VsIiwgYmFzZSArIDB4MTYwLCA1LCA1LCBsdmRzX3NlbHMsIEFSUkFZ X1NJWkUobHZkc19zZWxzKSk7DQorCWh3c1tJTVg2UURMX0NMS19MVkRTMV9TRUxdID0gaW14X2Ns a19od19tdXgoImx2ZHMxX3NlbCIsIGJhc2UgKyAweDE2MCwgMCwgNSwgbHZkc19zZWxzLCBBUlJB WV9TSVpFKGx2ZHNfc2VscykpOw0KKwlod3NbSU1YNlFETF9DTEtfTFZEUzJfU0VMXSA9IGlteF9j bGtfaHdfbXV4KCJsdmRzMl9zZWwiLCBiYXNlICsgMHgxNjAsIDUsIDUsIGx2ZHNfc2VscywgQVJS QVlfU0laRShsdmRzX3NlbHMpKTsNCiANCiAJLyoNCiAJICogbHZkczFfZ2F0ZSBhbmQgbHZkczJf Z2F0ZSBhcmUgcHNldWRvLWdhdGVzLiAgQm90aCBjYW4gYmUNCkBAIC01NzAsODQgKzU4NCw4NCBA QCBzdGF0aWMgdm9pZCBfX2luaXQgaW14NnFfY2xvY2tzX2luaXQoc3RydWN0IGRldmljZV9ub2Rl ICpjY21fbm9kZSkNCiAJICogaXQuDQogCSAqLw0KIAl3cml0ZWwocmVhZGwoYmFzZSArIDB4MTYw KSAmIH4weDNjMDAsIGJhc2UgKyAweDE2MCk7DQotCWNsa1tJTVg2UURMX0NMS19MVkRTMV9HQVRF XSA9IGlteF9jbGtfZ2F0ZV9leGNsdXNpdmUoImx2ZHMxX2dhdGUiLCAibHZkczFfc2VsIiwgYmFz ZSArIDB4MTYwLCAxMCwgQklUKDEyKSk7DQotCWNsa1tJTVg2UURMX0NMS19MVkRTMl9HQVRFXSA9 IGlteF9jbGtfZ2F0ZV9leGNsdXNpdmUoImx2ZHMyX2dhdGUiLCAibHZkczJfc2VsIiwgYmFzZSAr IDB4MTYwLCAxMSwgQklUKDEzKSk7DQorCWh3c1tJTVg2UURMX0NMS19MVkRTMV9HQVRFXSA9IGlt eF9jbGtfaHdfZ2F0ZV9leGNsdXNpdmUoImx2ZHMxX2dhdGUiLCAibHZkczFfc2VsIiwgYmFzZSAr IDB4MTYwLCAxMCwgQklUKDEyKSk7DQorCWh3c1tJTVg2UURMX0NMS19MVkRTMl9HQVRFXSA9IGlt eF9jbGtfaHdfZ2F0ZV9leGNsdXNpdmUoImx2ZHMyX2dhdGUiLCAibHZkczJfc2VsIiwgYmFzZSAr IDB4MTYwLCAxMSwgQklUKDEzKSk7DQogDQotCWNsa1tJTVg2UURMX0NMS19MVkRTMV9JTl0gPSBp bXhfY2xrX2dhdGVfZXhjbHVzaXZlKCJsdmRzMV9pbiIsICJhbmFjbGsxIiwgYmFzZSArIDB4MTYw LCAxMiwgQklUKDEwKSk7DQotCWNsa1tJTVg2UURMX0NMS19MVkRTMl9JTl0gPSBpbXhfY2xrX2dh dGVfZXhjbHVzaXZlKCJsdmRzMl9pbiIsICJhbmFjbGsyIiwgYmFzZSArIDB4MTYwLCAxMywgQklU KDExKSk7DQorCWh3c1tJTVg2UURMX0NMS19MVkRTMV9JTl0gPSBpbXhfY2xrX2h3X2dhdGVfZXhj bHVzaXZlKCJsdmRzMV9pbiIsICJhbmFjbGsxIiwgYmFzZSArIDB4MTYwLCAxMiwgQklUKDEwKSk7 DQorCWh3c1tJTVg2UURMX0NMS19MVkRTMl9JTl0gPSBpbXhfY2xrX2h3X2dhdGVfZXhjbHVzaXZl KCJsdmRzMl9pbiIsICJhbmFjbGsyIiwgYmFzZSArIDB4MTYwLCAxMywgQklUKDExKSk7DQogDQog CS8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lICAgICAg ICAgICAgICBwYXJlbnRfbmFtZSAgICAgICAgcmVnICAgICAgIGlkeCAqLw0KLQljbGtbSU1YNlFE TF9DTEtfUExMMl9QRkQwXzM1Mk1dID0gaW14X2Nsa19wZmQoInBsbDJfcGZkMF8zNTJtIiwgInBs bDJfYnVzIiwgICAgIGJhc2UgKyAweDEwMCwgMCk7DQotCWNsa1tJTVg2UURMX0NMS19QTEwyX1BG RDFfNTk0TV0gPSBpbXhfY2xrX3BmZCgicGxsMl9wZmQxXzU5NG0iLCAicGxsMl9idXMiLCAgICAg YmFzZSArIDB4MTAwLCAxKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDJfUEZEMl8zOTZNXSA9IGlt eF9jbGtfcGZkKCJwbGwyX3BmZDJfMzk2bSIsICJwbGwyX2J1cyIsICAgICBiYXNlICsgMHgxMDAs IDIpOw0KLQljbGtbSU1YNlFETF9DTEtfUExMM19QRkQwXzcyME1dID0gaW14X2Nsa19wZmQoInBs bDNfcGZkMF83MjBtIiwgInBsbDNfdXNiX290ZyIsIGJhc2UgKyAweGYwLCAgMCk7DQotCWNsa1tJ TVg2UURMX0NMS19QTEwzX1BGRDFfNTQwTV0gPSBpbXhfY2xrX3BmZCgicGxsM19wZmQxXzU0MG0i LCAicGxsM191c2Jfb3RnIiwgYmFzZSArIDB4ZjAsICAxKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BM TDNfUEZEMl81MDhNXSA9IGlteF9jbGtfcGZkKCJwbGwzX3BmZDJfNTA4bSIsICJwbGwzX3VzYl9v dGciLCBiYXNlICsgMHhmMCwgIDIpOw0KLQljbGtbSU1YNlFETF9DTEtfUExMM19QRkQzXzQ1NE1d ID0gaW14X2Nsa19wZmQoInBsbDNfcGZkM180NTRtIiwgInBsbDNfdXNiX290ZyIsIGJhc2UgKyAw eGYwLCAgMyk7DQorCWh3c1tJTVg2UURMX0NMS19QTEwyX1BGRDBfMzUyTV0gPSBpbXhfY2xrX2h3 X3BmZCgicGxsMl9wZmQwXzM1Mm0iLCAicGxsMl9idXMiLCAgICAgYmFzZSArIDB4MTAwLCAwKTsN CisJaHdzW0lNWDZRRExfQ0xLX1BMTDJfUEZEMV81OTRNXSA9IGlteF9jbGtfaHdfcGZkKCJwbGwy X3BmZDFfNTk0bSIsICJwbGwyX2J1cyIsICAgICBiYXNlICsgMHgxMDAsIDEpOw0KKwlod3NbSU1Y NlFETF9DTEtfUExMMl9QRkQyXzM5Nk1dID0gaW14X2Nsa19od19wZmQoInBsbDJfcGZkMl8zOTZt IiwgInBsbDJfYnVzIiwgICAgIGJhc2UgKyAweDEwMCwgMik7DQorCWh3c1tJTVg2UURMX0NMS19Q TEwzX1BGRDBfNzIwTV0gPSBpbXhfY2xrX2h3X3BmZCgicGxsM19wZmQwXzcyMG0iLCAicGxsM191 c2Jfb3RnIiwgYmFzZSArIDB4ZjAsICAwKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BMTDNfUEZEMV81 NDBNXSA9IGlteF9jbGtfaHdfcGZkKCJwbGwzX3BmZDFfNTQwbSIsICJwbGwzX3VzYl9vdGciLCBi YXNlICsgMHhmMCwgIDEpOw0KKwlod3NbSU1YNlFETF9DTEtfUExMM19QRkQyXzUwOE1dID0gaW14 X2Nsa19od19wZmQoInBsbDNfcGZkMl81MDhtIiwgInBsbDNfdXNiX290ZyIsIGJhc2UgKyAweGYw LCAgMik7DQorCWh3c1tJTVg2UURMX0NMS19QTEwzX1BGRDNfNDU0TV0gPSBpbXhfY2xrX2h3X3Bm ZCgicGxsM19wZmQzXzQ1NG0iLCAicGxsM191c2Jfb3RnIiwgYmFzZSArIDB4ZjAsICAzKTsNCiAN CiAJLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1l ICAgICAgICAgcGFyZW50X25hbWUgICAgIG11bHQgZGl2ICovDQotCWNsa1tJTVg2UURMX0NMS19Q TEwyXzE5OE1dID0gaW14X2Nsa19maXhlZF9mYWN0b3IoInBsbDJfMTk4bSIsICJwbGwyX3BmZDJf Mzk2bSIsIDEsIDIpOw0KLQljbGtbSU1YNlFETF9DTEtfUExMM18xMjBNXSA9IGlteF9jbGtfZml4 ZWRfZmFjdG9yKCJwbGwzXzEyMG0iLCAicGxsM191c2Jfb3RnIiwgICAxLCA0KTsNCi0JY2xrW0lN WDZRRExfQ0xLX1BMTDNfODBNXSAgPSBpbXhfY2xrX2ZpeGVkX2ZhY3RvcigicGxsM184MG0iLCAg InBsbDNfdXNiX290ZyIsICAgMSwgNik7DQotCWNsa1tJTVg2UURMX0NMS19QTEwzXzYwTV0gID0g aW14X2Nsa19maXhlZF9mYWN0b3IoInBsbDNfNjBtIiwgICJwbGwzX3VzYl9vdGciLCAgIDEsIDgp Ow0KLQljbGtbSU1YNlFETF9DTEtfVFdEXSAgICAgICA9IGlteF9jbGtfZml4ZWRfZmFjdG9yKCJ0 d2QiLCAgICAgICAiYXJtIiwgICAgICAgICAgICAxLCAyKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0dQ VF8zTV0gICAgPSBpbXhfY2xrX2ZpeGVkX2ZhY3RvcigiZ3B0XzNtIiwgICAgIm9zYyIsICAgICAg ICAgICAgMSwgOCk7DQotCWNsa1tJTVg2UURMX0NMS19WSURFT18yN01dID0gaW14X2Nsa19maXhl ZF9mYWN0b3IoInZpZGVvXzI3bSIsICJwbGwzX3BmZDFfNTQwbSIsIDEsIDIwKTsNCisJaHdzW0lN WDZRRExfQ0xLX1BMTDJfMTk4TV0gPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigicGxsMl8xOTht IiwgInBsbDJfcGZkMl8zOTZtIiwgMSwgMik7DQorCWh3c1tJTVg2UURMX0NMS19QTEwzXzEyME1d ID0gaW14X2Nsa19od19maXhlZF9mYWN0b3IoInBsbDNfMTIwbSIsICJwbGwzX3VzYl9vdGciLCAg IDEsIDQpOw0KKwlod3NbSU1YNlFETF9DTEtfUExMM184ME1dICA9IGlteF9jbGtfaHdfZml4ZWRf ZmFjdG9yKCJwbGwzXzgwbSIsICAicGxsM191c2Jfb3RnIiwgICAxLCA2KTsNCisJaHdzW0lNWDZR RExfQ0xLX1BMTDNfNjBNXSAgPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigicGxsM182MG0iLCAg InBsbDNfdXNiX290ZyIsICAgMSwgOCk7DQorCWh3c1tJTVg2UURMX0NMS19UV0RdICAgICAgID0g aW14X2Nsa19od19maXhlZF9mYWN0b3IoInR3ZCIsICAgICAgICJhcm0iLCAgICAgICAgICAgIDEs IDIpOw0KKwlod3NbSU1YNlFETF9DTEtfR1BUXzNNXSAgICA9IGlteF9jbGtfaHdfZml4ZWRfZmFj dG9yKCJncHRfM20iLCAgICAib3NjIiwgICAgICAgICAgICAxLCA4KTsNCisJaHdzW0lNWDZRRExf Q0xLX1ZJREVPXzI3TV0gPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3RvcigidmlkZW9fMjdtIiwgInBs bDNfcGZkMV81NDBtIiwgMSwgMjApOw0KIAlpZiAoY2xrX29uX2lteDZkbCgpIHx8IGNsa19vbl9p bXg2cXAoKSkgew0KLQkJY2xrW0lNWDZRRExfQ0xLX0dQVTJEX0FYSV0gPSBpbXhfY2xrX2ZpeGVk X2ZhY3RvcigiZ3B1MmRfYXhpIiwgIm1tZGNfY2gwX2F4aV9wb2RmIiwgMSwgMSk7DQotCQljbGtb SU1YNlFETF9DTEtfR1BVM0RfQVhJXSA9IGlteF9jbGtfZml4ZWRfZmFjdG9yKCJncHUzZF9heGki LCAibW1kY19jaDBfYXhpX3BvZGYiLCAxLCAxKTsNCisJCWh3c1tJTVg2UURMX0NMS19HUFUyRF9B WEldID0gaW14X2Nsa19od19maXhlZF9mYWN0b3IoImdwdTJkX2F4aSIsICJtbWRjX2NoMF9heGlf cG9kZiIsIDEsIDEpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0dQVTNEX0FYSV0gPSBpbXhfY2xrX2h3 X2ZpeGVkX2ZhY3RvcigiZ3B1M2RfYXhpIiwgIm1tZGNfY2gwX2F4aV9wb2RmIiwgMSwgMSk7DQog CX0NCiANCi0JY2xrW0lNWDZRRExfQ0xLX1BMTDRfUE9TVF9ESVZdID0gY2xrX3JlZ2lzdGVyX2Rp dmlkZXJfdGFibGUoTlVMTCwgInBsbDRfcG9zdF9kaXYiLCAicGxsNF9hdWRpbyIsIENMS19TRVRf UkFURV9QQVJFTlQsIGJhc2UgKyAweDcwLCAxOSwgMiwgMCwgcG9zdF9kaXZfdGFibGUsICZpbXhf Y2NtX2xvY2spOw0KLQljbGtbSU1YNlFETF9DTEtfUExMNF9BVURJT19ESVZdID0gY2xrX3JlZ2lz dGVyX2RpdmlkZXIoTlVMTCwgInBsbDRfYXVkaW9fZGl2IiwgInBsbDRfcG9zdF9kaXYiLCBDTEtf U0VUX1JBVEVfUEFSRU5ULCBiYXNlICsgMHgxNzAsIDE1LCAxLCAwLCAmaW14X2NjbV9sb2NrKTsN Ci0JY2xrW0lNWDZRRExfQ0xLX1BMTDVfUE9TVF9ESVZdID0gY2xrX3JlZ2lzdGVyX2RpdmlkZXJf dGFibGUoTlVMTCwgInBsbDVfcG9zdF9kaXYiLCAicGxsNV92aWRlbyIsIENMS19TRVRfUkFURV9Q QVJFTlQsIGJhc2UgKyAweGEwLCAxOSwgMiwgMCwgcG9zdF9kaXZfdGFibGUsICZpbXhfY2NtX2xv Y2spOw0KLQljbGtbSU1YNlFETF9DTEtfUExMNV9WSURFT19ESVZdID0gY2xrX3JlZ2lzdGVyX2Rp dmlkZXJfdGFibGUoTlVMTCwgInBsbDVfdmlkZW9fZGl2IiwgInBsbDVfcG9zdF9kaXYiLCBDTEtf U0VUX1JBVEVfUEFSRU5ULCBiYXNlICsgMHgxNzAsIDMwLCAyLCAwLCB2aWRlb19kaXZfdGFibGUs ICZpbXhfY2NtX2xvY2spOw0KKwlod3NbSU1YNlFETF9DTEtfUExMNF9QT1NUX0RJVl0gPSBjbGtf aHdfcmVnaXN0ZXJfZGl2aWRlcl90YWJsZShOVUxMLCAicGxsNF9wb3N0X2RpdiIsICJwbGw0X2F1 ZGlvIiwgQ0xLX1NFVF9SQVRFX1BBUkVOVCwgYmFzZSArIDB4NzAsIDE5LCAyLCAwLCBwb3N0X2Rp dl90YWJsZSwgJmlteF9jY21fbG9jayk7DQorCWh3c1tJTVg2UURMX0NMS19QTEw0X0FVRElPX0RJ Vl0gPSBjbGtfaHdfcmVnaXN0ZXJfZGl2aWRlcihOVUxMLCAicGxsNF9hdWRpb19kaXYiLCAicGxs NF9wb3N0X2RpdiIsIENMS19TRVRfUkFURV9QQVJFTlQsIGJhc2UgKyAweDE3MCwgMTUsIDEsIDAs ICZpbXhfY2NtX2xvY2spOw0KKwlod3NbSU1YNlFETF9DTEtfUExMNV9QT1NUX0RJVl0gPSBjbGtf aHdfcmVnaXN0ZXJfZGl2aWRlcl90YWJsZShOVUxMLCAicGxsNV9wb3N0X2RpdiIsICJwbGw1X3Zp ZGVvIiwgQ0xLX1NFVF9SQVRFX1BBUkVOVCwgYmFzZSArIDB4YTAsIDE5LCAyLCAwLCBwb3N0X2Rp dl90YWJsZSwgJmlteF9jY21fbG9jayk7DQorCWh3c1tJTVg2UURMX0NMS19QTEw1X1ZJREVPX0RJ Vl0gPSBjbGtfaHdfcmVnaXN0ZXJfZGl2aWRlcl90YWJsZShOVUxMLCAicGxsNV92aWRlb19kaXYi LCAicGxsNV9wb3N0X2RpdiIsIENMS19TRVRfUkFURV9QQVJFTlQsIGJhc2UgKyAweDE3MCwgMzAs IDIsIDAsIHZpZGVvX2Rpdl90YWJsZSwgJmlteF9jY21fbG9jayk7DQogDQogCW5wID0gY2NtX25v ZGU7DQogCWJhc2UgPSBvZl9pb21hcChucCwgMCk7DQogCVdBUk5fT04oIWJhc2UpOw0KIA0KIAkv KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lICAgICAg ICAgICAgICAgIHJlZyAgICAgICBzaGlmdCB3aWR0aCBwYXJlbnRfbmFtZXMgICAgIG51bV9wYXJl bnRzICovDQotCWNsa1tJTVg2UURMX0NMS19TVEVQXSAgICAgICAgICAgICA9IGlteF9jbGtfbXV4 KCJzdGVwIiwJICAgICAgICAgICAgYmFzZSArIDB4YywgIDgsICAxLCBzdGVwX3NlbHMsCSAgIEFS UkFZX1NJWkUoc3RlcF9zZWxzKSk7DQotCWNsa1tJTVg2UURMX0NMS19QTEwxX1NXXSAgICAgICAg ICA9IGlteF9jbGtfbXV4KCJwbGwxX3N3IiwJICAgIGJhc2UgKyAweGMsICAyLCAgMSwgcGxsMV9z d19zZWxzLCAgICAgIEFSUkFZX1NJWkUocGxsMV9zd19zZWxzKSk7DQotCWNsa1tJTVg2UURMX0NM S19QRVJJUEhfUFJFXSAgICAgICA9IGlteF9jbGtfbXV4KCJwZXJpcGhfcHJlIiwgICAgICAgYmFz ZSArIDB4MTgsIDE4LCAyLCBwZXJpcGhfcHJlX3NlbHMsICAgQVJSQVlfU0laRShwZXJpcGhfcHJl X3NlbHMpKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BFUklQSDJfUFJFXSAgICAgID0gaW14X2Nsa19t dXgoInBlcmlwaDJfcHJlIiwgICAgICBiYXNlICsgMHgxOCwgMjEsIDIsIHBlcmlwaF9wcmVfc2Vs cywgICBBUlJBWV9TSVpFKHBlcmlwaF9wcmVfc2VscykpOw0KLQljbGtbSU1YNlFETF9DTEtfUEVS SVBIX0NMSzJfU0VMXSAgPSBpbXhfY2xrX211eCgicGVyaXBoX2NsazJfc2VsIiwgIGJhc2UgKyAw eDE4LCAxMiwgMiwgcGVyaXBoX2NsazJfc2VscywgIEFSUkFZX1NJWkUocGVyaXBoX2NsazJfc2Vs cykpOw0KLQljbGtbSU1YNlFETF9DTEtfUEVSSVBIMl9DTEsyX1NFTF0gPSBpbXhfY2xrX211eCgi cGVyaXBoMl9jbGsyX3NlbCIsIGJhc2UgKyAweDE4LCAyMCwgMSwgcGVyaXBoMl9jbGsyX3NlbHMs IEFSUkFZX1NJWkUocGVyaXBoMl9jbGsyX3NlbHMpKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0FYSV9T RUxdICAgICAgICAgID0gaW14X2Nsa19tdXgoImF4aV9zZWwiLCAgICAgICAgICBiYXNlICsgMHgx NCwgNiwgIDIsIGF4aV9zZWxzLCAgICAgICAgICBBUlJBWV9TSVpFKGF4aV9zZWxzKSk7DQotCWNs a1tJTVg2UURMX0NMS19FU0FJX1NFTF0gICAgICAgICA9IGlteF9jbGtfbXV4KCJlc2FpX3NlbCIs ICAgICAgICAgYmFzZSArIDB4MjAsIDE5LCAyLCBhdWRpb19zZWxzLCAgICAgICAgQVJSQVlfU0la RShhdWRpb19zZWxzKSk7DQotCWNsa1tJTVg2UURMX0NMS19BU1JDX1NFTF0gICAgICAgICA9IGlt eF9jbGtfbXV4KCJhc3JjX3NlbCIsICAgICAgICAgYmFzZSArIDB4MzAsIDcsICAyLCBhdWRpb19z ZWxzLCAgICAgICAgQVJSQVlfU0laRShhdWRpb19zZWxzKSk7DQotCWNsa1tJTVg2UURMX0NMS19T UERJRl9TRUxdICAgICAgICA9IGlteF9jbGtfbXV4KCJzcGRpZl9zZWwiLCAgICAgICAgYmFzZSAr IDB4MzAsIDIwLCAyLCBhdWRpb19zZWxzLCAgICAgICAgQVJSQVlfU0laRShhdWRpb19zZWxzKSk7 DQorCWh3c1tJTVg2UURMX0NMS19TVEVQXSAgICAgICAgICAgICA9IGlteF9jbGtfaHdfbXV4KCJz dGVwIiwJICAgICAgICAgICAgYmFzZSArIDB4YywgIDgsICAxLCBzdGVwX3NlbHMsCSAgIEFSUkFZ X1NJWkUoc3RlcF9zZWxzKSk7DQorCWh3c1tJTVg2UURMX0NMS19QTEwxX1NXXSAgICAgICAgICA9 IGlteF9jbGtfaHdfbXV4KCJwbGwxX3N3IiwJICAgIGJhc2UgKyAweGMsICAyLCAgMSwgcGxsMV9z d19zZWxzLCAgICAgIEFSUkFZX1NJWkUocGxsMV9zd19zZWxzKSk7DQorCWh3c1tJTVg2UURMX0NM S19QRVJJUEhfUFJFXSAgICAgICA9IGlteF9jbGtfaHdfbXV4KCJwZXJpcGhfcHJlIiwgICAgICAg YmFzZSArIDB4MTgsIDE4LCAyLCBwZXJpcGhfcHJlX3NlbHMsICAgQVJSQVlfU0laRShwZXJpcGhf cHJlX3NlbHMpKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BFUklQSDJfUFJFXSAgICAgID0gaW14X2Ns a19od19tdXgoInBlcmlwaDJfcHJlIiwgICAgICBiYXNlICsgMHgxOCwgMjEsIDIsIHBlcmlwaF9w cmVfc2VscywgICBBUlJBWV9TSVpFKHBlcmlwaF9wcmVfc2VscykpOw0KKwlod3NbSU1YNlFETF9D TEtfUEVSSVBIX0NMSzJfU0VMXSAgPSBpbXhfY2xrX2h3X211eCgicGVyaXBoX2NsazJfc2VsIiwg IGJhc2UgKyAweDE4LCAxMiwgMiwgcGVyaXBoX2NsazJfc2VscywgIEFSUkFZX1NJWkUocGVyaXBo X2NsazJfc2VscykpOw0KKwlod3NbSU1YNlFETF9DTEtfUEVSSVBIMl9DTEsyX1NFTF0gPSBpbXhf Y2xrX2h3X211eCgicGVyaXBoMl9jbGsyX3NlbCIsIGJhc2UgKyAweDE4LCAyMCwgMSwgcGVyaXBo Ml9jbGsyX3NlbHMsIEFSUkFZX1NJWkUocGVyaXBoMl9jbGsyX3NlbHMpKTsNCisJaHdzW0lNWDZR RExfQ0xLX0FYSV9TRUxdICAgICAgICAgID0gaW14X2Nsa19od19tdXgoImF4aV9zZWwiLCAgICAg ICAgICBiYXNlICsgMHgxNCwgNiwgIDIsIGF4aV9zZWxzLCAgICAgICAgICBBUlJBWV9TSVpFKGF4 aV9zZWxzKSk7DQorCWh3c1tJTVg2UURMX0NMS19FU0FJX1NFTF0gICAgICAgICA9IGlteF9jbGtf aHdfbXV4KCJlc2FpX3NlbCIsICAgICAgICAgYmFzZSArIDB4MjAsIDE5LCAyLCBhdWRpb19zZWxz LCAgICAgICAgQVJSQVlfU0laRShhdWRpb19zZWxzKSk7DQorCWh3c1tJTVg2UURMX0NMS19BU1JD X1NFTF0gICAgICAgICA9IGlteF9jbGtfaHdfbXV4KCJhc3JjX3NlbCIsICAgICAgICAgYmFzZSAr IDB4MzAsIDcsICAyLCBhdWRpb19zZWxzLCAgICAgICAgQVJSQVlfU0laRShhdWRpb19zZWxzKSk7 DQorCWh3c1tJTVg2UURMX0NMS19TUERJRl9TRUxdICAgICAgICA9IGlteF9jbGtfaHdfbXV4KCJz cGRpZl9zZWwiLCAgICAgICAgYmFzZSArIDB4MzAsIDIwLCAyLCBhdWRpb19zZWxzLCAgICAgICAg QVJSQVlfU0laRShhdWRpb19zZWxzKSk7DQogCWlmIChjbGtfb25faW14NnEoKSkgew0KLQkJY2xr W0lNWDZRRExfQ0xLX0dQVTJEX0FYSV0gICAgICAgID0gaW14X2Nsa19tdXgoImdwdTJkX2F4aSIs ICAgICAgICBiYXNlICsgMHgxOCwgMCwgIDEsIGdwdV9heGlfc2VscywgICAgICBBUlJBWV9TSVpF KGdwdV9heGlfc2VscykpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX0dQVTNEX0FYSV0gICAgICAgID0g aW14X2Nsa19tdXgoImdwdTNkX2F4aSIsICAgICAgICBiYXNlICsgMHgxOCwgMSwgIDEsIGdwdV9h eGlfc2VscywgICAgICBBUlJBWV9TSVpFKGdwdV9heGlfc2VscykpOw0KKwkJaHdzW0lNWDZRRExf Q0xLX0dQVTJEX0FYSV0gICAgICAgID0gaW14X2Nsa19od19tdXgoImdwdTJkX2F4aSIsICAgICAg ICBiYXNlICsgMHgxOCwgMCwgIDEsIGdwdV9heGlfc2VscywgICAgICBBUlJBWV9TSVpFKGdwdV9h eGlfc2VscykpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0dQVTNEX0FYSV0gICAgICAgID0gaW14X2Ns a19od19tdXgoImdwdTNkX2F4aSIsICAgICAgICBiYXNlICsgMHgxOCwgMSwgIDEsIGdwdV9heGlf c2VscywgICAgICBBUlJBWV9TSVpFKGdwdV9heGlfc2VscykpOw0KIAl9DQogCWlmIChjbGtfb25f aW14NnFwKCkpIHsNCi0JCWNsa1tJTVg2UURMX0NMS19DQU5fU0VMXSAgID0gaW14X2Nsa19tdXgo ImNhbl9zZWwiLAliYXNlICsgMHgyMCwgOCwgIDIsIGNhbl9zZWxzLCBBUlJBWV9TSVpFKGNhbl9z ZWxzKSk7DQotCQljbGtbSU1YNlFETF9DTEtfRUNTUElfU0VMXSA9IGlteF9jbGtfbXV4KCJlY3Nw aV9zZWwiLAliYXNlICsgMHgzOCwgMTgsIDEsIGVjc3BpX3NlbHMsICBBUlJBWV9TSVpFKGVjc3Bp X3NlbHMpKTsNCi0JCWNsa1tJTVg2UURMX0NMS19JUEdfUEVSX1NFTF0gPSBpbXhfY2xrX211eCgi aXBnX3Blcl9zZWwiLCBiYXNlICsgMHgxYywgNiwgMSwgaXBnX3Blcl9zZWxzLCBBUlJBWV9TSVpF KGlwZ19wZXJfc2VscykpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX1VBUlRfU0VMXSA9IGlteF9jbGtf bXV4KCJ1YXJ0X3NlbCIsIGJhc2UgKyAweDI0LCA2LCAxLCB1YXJ0X3NlbHMsIEFSUkFZX1NJWkUo dWFydF9zZWxzKSk7DQotCQljbGtbSU1YNlFETF9DTEtfR1BVMkRfQ09SRV9TRUxdID0gaW14X2Ns a19tdXgoImdwdTJkX2NvcmVfc2VsIiwgYmFzZSArIDB4MTgsIDE2LCAyLCBncHUyZF9jb3JlX3Nl bHNfMiwgQVJSQVlfU0laRShncHUyZF9jb3JlX3NlbHNfMikpOw0KKwkJaHdzW0lNWDZRRExfQ0xL X0NBTl9TRUxdICAgPSBpbXhfY2xrX2h3X211eCgiY2FuX3NlbCIsCWJhc2UgKyAweDIwLCA4LCAg MiwgY2FuX3NlbHMsIEFSUkFZX1NJWkUoY2FuX3NlbHMpKTsNCisJCWh3c1tJTVg2UURMX0NMS19F Q1NQSV9TRUxdID0gaW14X2Nsa19od19tdXgoImVjc3BpX3NlbCIsCWJhc2UgKyAweDM4LCAxOCwg MSwgZWNzcGlfc2VscywgIEFSUkFZX1NJWkUoZWNzcGlfc2VscykpOw0KKwkJaHdzW0lNWDZRRExf Q0xLX0lQR19QRVJfU0VMXSA9IGlteF9jbGtfaHdfbXV4KCJpcGdfcGVyX3NlbCIsIGJhc2UgKyAw eDFjLCA2LCAxLCBpcGdfcGVyX3NlbHMsIEFSUkFZX1NJWkUoaXBnX3Blcl9zZWxzKSk7DQorCQlo d3NbSU1YNlFETF9DTEtfVUFSVF9TRUxdID0gaW14X2Nsa19od19tdXgoInVhcnRfc2VsIiwgYmFz ZSArIDB4MjQsIDYsIDEsIHVhcnRfc2VscywgQVJSQVlfU0laRSh1YXJ0X3NlbHMpKTsNCisJCWh3 c1tJTVg2UURMX0NMS19HUFUyRF9DT1JFX1NFTF0gPSBpbXhfY2xrX2h3X211eCgiZ3B1MmRfY29y ZV9zZWwiLCBiYXNlICsgMHgxOCwgMTYsIDIsIGdwdTJkX2NvcmVfc2Vsc18yLCBBUlJBWV9TSVpF KGdwdTJkX2NvcmVfc2Vsc18yKSk7DQogCX0gZWxzZSBpZiAoY2xrX29uX2lteDZkbCgpKSB7DQot CQljbGtbSU1YNlFETF9DTEtfTUxCX1NFTF0gPSBpbXhfY2xrX211eCgibWxiX3NlbCIsICAgYmFz ZSArIDB4MTgsIDE2LCAyLCBncHUyZF9jb3JlX3NlbHMsICAgQVJSQVlfU0laRShncHUyZF9jb3Jl X3NlbHMpKTsNCisJCWh3c1tJTVg2UURMX0NMS19NTEJfU0VMXSA9IGlteF9jbGtfaHdfbXV4KCJt bGJfc2VsIiwgICBiYXNlICsgMHgxOCwgMTYsIDIsIGdwdTJkX2NvcmVfc2VscywgICBBUlJBWV9T SVpFKGdwdTJkX2NvcmVfc2VscykpOw0KIAl9IGVsc2Ugew0KLQkJY2xrW0lNWDZRRExfQ0xLX0dQ VTJEX0NPUkVfU0VMXSA9IGlteF9jbGtfbXV4KCJncHUyZF9jb3JlX3NlbCIsICAgYmFzZSArIDB4 MTgsIDE2LCAyLCBncHUyZF9jb3JlX3NlbHMsICAgQVJSQVlfU0laRShncHUyZF9jb3JlX3NlbHMp KTsNCisJCWh3c1tJTVg2UURMX0NMS19HUFUyRF9DT1JFX1NFTF0gPSBpbXhfY2xrX2h3X211eCgi Z3B1MmRfY29yZV9zZWwiLCAgIGJhc2UgKyAweDE4LCAxNiwgMiwgZ3B1MmRfY29yZV9zZWxzLCAg IEFSUkFZX1NJWkUoZ3B1MmRfY29yZV9zZWxzKSk7DQogCX0NCi0JY2xrW0lNWDZRRExfQ0xLX0dQ VTNEX0NPUkVfU0VMXSAgID0gaW14X2Nsa19tdXgoImdwdTNkX2NvcmVfc2VsIiwgICBiYXNlICsg MHgxOCwgNCwgIDIsIGdwdTNkX2NvcmVfc2VscywgICBBUlJBWV9TSVpFKGdwdTNkX2NvcmVfc2Vs cykpOw0KKwlod3NbSU1YNlFETF9DTEtfR1BVM0RfQ09SRV9TRUxdICAgPSBpbXhfY2xrX2h3X211 eCgiZ3B1M2RfY29yZV9zZWwiLCAgIGJhc2UgKyAweDE4LCA0LCAgMiwgZ3B1M2RfY29yZV9zZWxz LCAgIEFSUkFZX1NJWkUoZ3B1M2RfY29yZV9zZWxzKSk7DQogCWlmIChjbGtfb25faW14NmRsKCkp DQotCQljbGtbSU1YNlFETF9DTEtfR1BVMkRfQ09SRV9TRUxdID0gaW14X2Nsa19tdXgoImdwdTJk X2NvcmVfc2VsIiwgYmFzZSArIDB4MTgsIDgsICAyLCBncHUzZF9zaGFkZXJfc2VscywgQVJSQVlf U0laRShncHUzZF9zaGFkZXJfc2VscykpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0dQVTJEX0NPUkVf U0VMXSA9IGlteF9jbGtfaHdfbXV4KCJncHUyZF9jb3JlX3NlbCIsIGJhc2UgKyAweDE4LCA4LCAg MiwgZ3B1M2Rfc2hhZGVyX3NlbHMsIEFSUkFZX1NJWkUoZ3B1M2Rfc2hhZGVyX3NlbHMpKTsNCiAJ ZWxzZQ0KLQkJY2xrW0lNWDZRRExfQ0xLX0dQVTNEX1NIQURFUl9TRUxdID0gaW14X2Nsa19tdXgo ImdwdTNkX3NoYWRlcl9zZWwiLCBiYXNlICsgMHgxOCwgOCwgIDIsIGdwdTNkX3NoYWRlcl9zZWxz LCBBUlJBWV9TSVpFKGdwdTNkX3NoYWRlcl9zZWxzKSk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUx X1NFTF0gICAgICAgICA9IGlteF9jbGtfbXV4KCJpcHUxX3NlbCIsICAgICAgICAgYmFzZSArIDB4 M2MsIDksICAyLCBpcHVfc2VscywgICAgICAgICAgQVJSQVlfU0laRShpcHVfc2VscykpOw0KLQlj bGtbSU1YNlFETF9DTEtfSVBVMl9TRUxdICAgICAgICAgPSBpbXhfY2xrX211eCgiaXB1Ml9zZWwi LCAgICAgICAgIGJhc2UgKyAweDNjLCAxNCwgMiwgaXB1X3NlbHMsICAgICAgICAgIEFSUkFZX1NJ WkUoaXB1X3NlbHMpKTsNCisJCWh3c1tJTVg2UURMX0NMS19HUFUzRF9TSEFERVJfU0VMXSA9IGlt eF9jbGtfaHdfbXV4KCJncHUzZF9zaGFkZXJfc2VsIiwgYmFzZSArIDB4MTgsIDgsICAyLCBncHUz ZF9zaGFkZXJfc2VscywgQVJSQVlfU0laRShncHUzZF9zaGFkZXJfc2VscykpOw0KKwlod3NbSU1Y NlFETF9DTEtfSVBVMV9TRUxdICAgICAgICAgPSBpbXhfY2xrX2h3X211eCgiaXB1MV9zZWwiLCAg ICAgICAgIGJhc2UgKyAweDNjLCA5LCAgMiwgaXB1X3NlbHMsICAgICAgICAgIEFSUkFZX1NJWkUo aXB1X3NlbHMpKTsNCisJaHdzW0lNWDZRRExfQ0xLX0lQVTJfU0VMXSAgICAgICAgID0gaW14X2Ns a19od19tdXgoImlwdTJfc2VsIiwgICAgICAgICBiYXNlICsgMHgzYywgMTQsIDIsIGlwdV9zZWxz LCAgICAgICAgICBBUlJBWV9TSVpFKGlwdV9zZWxzKSk7DQogDQogCWRpc2FibGVfYW5hdG9wX2Ns b2NrcyhhbmF0b3BfYmFzZSk7DQogDQogCWlteDZxX21tZGNfY2gxX21hc2tfaGFuZHNoYWtlKGJh c2UpOw0KIA0KIAlpZiAoY2xrX29uX2lteDZxcCgpKSB7DQotCQljbGtbSU1YNlFETF9DTEtfTERC X0RJMF9TRUxdICAgICAgPSBpbXhfY2xrX211eF9mbGFncygibGRiX2RpMF9zZWwiLCBiYXNlICsg MHgyYywgOSwgIDMsIGxkYl9kaV9zZWxzLCAgICAgIEFSUkFZX1NJWkUobGRiX2RpX3NlbHMpLCBD TEtfU0VUX1JBVEVfUEFSRU5UKTsNCi0JCWNsa1tJTVg2UURMX0NMS19MREJfREkxX1NFTF0gICAg ICA9IGlteF9jbGtfbXV4X2ZsYWdzKCJsZGJfZGkxX3NlbCIsIGJhc2UgKyAweDJjLCAxMiwgMywg bGRiX2RpX3NlbHMsICAgICAgQVJSQVlfU0laRShsZGJfZGlfc2VscyksIENMS19TRVRfUkFURV9Q QVJFTlQpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0xEQl9ESTBfU0VMXSAgICAgID0gaW14X2Nsa19o d19tdXhfZmxhZ3MoImxkYl9kaTBfc2VsIiwgYmFzZSArIDB4MmMsIDksICAzLCBsZGJfZGlfc2Vs cywgICAgICBBUlJBWV9TSVpFKGxkYl9kaV9zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQor CQlod3NbSU1YNlFETF9DTEtfTERCX0RJMV9TRUxdICAgICAgPSBpbXhfY2xrX2h3X211eF9mbGFn cygibGRiX2RpMV9zZWwiLCBiYXNlICsgMHgyYywgMTIsIDMsIGxkYl9kaV9zZWxzLCAgICAgIEFS UkFZX1NJWkUobGRiX2RpX3NlbHMpLCBDTEtfU0VUX1JBVEVfUEFSRU5UKTsNCiAJfSBlbHNlIHsN CiAJCS8qDQogCQkgKiBUaGUgTERCX0RJMC8xX1NFTCBtdXhlcyBhcmUgcmVnaXN0ZXJlZCByZWFk LW9ubHkgZHVlIHRvIGEgaGFyZHdhcmUNCkBAIC02NTYsMzIyICs2NzAsMzMzIEBAIHN0YXRpYyB2 b2lkIF9faW5pdCBpbXg2cV9jbG9ja3NfaW5pdChzdHJ1Y3QgZGV2aWNlX25vZGUgKmNjbV9ub2Rl KQ0KIAkJICovDQogCQlpbml0X2xkYl9jbGtzKG5wLCBiYXNlKTsNCiANCi0JCWNsa1tJTVg2UURM X0NMS19MREJfREkwX1NFTF0gICAgICA9IGlteF9jbGtfbXV4X2xkYigibGRiX2RpMF9zZWwiLCBi YXNlICsgMHgyYywgOSwgIDMsIGxkYl9kaV9zZWxzLCAgICAgIEFSUkFZX1NJWkUobGRiX2RpX3Nl bHMpKTsNCi0JCWNsa1tJTVg2UURMX0NMS19MREJfREkxX1NFTF0gICAgICA9IGlteF9jbGtfbXV4 X2xkYigibGRiX2RpMV9zZWwiLCBiYXNlICsgMHgyYywgMTIsIDMsIGxkYl9kaV9zZWxzLCAgICAg IEFSUkFZX1NJWkUobGRiX2RpX3NlbHMpKTsNCisJCWh3c1tJTVg2UURMX0NMS19MREJfREkwX1NF TF0gICAgICA9IGlteF9jbGtfaHdfbXV4X2xkYigibGRiX2RpMF9zZWwiLCBiYXNlICsgMHgyYywg OSwgIDMsIGxkYl9kaV9zZWxzLCAgICAgIEFSUkFZX1NJWkUobGRiX2RpX3NlbHMpKTsNCisJCWh3 c1tJTVg2UURMX0NMS19MREJfREkxX1NFTF0gICAgICA9IGlteF9jbGtfaHdfbXV4X2xkYigibGRi X2RpMV9zZWwiLCBiYXNlICsgMHgyYywgMTIsIDMsIGxkYl9kaV9zZWxzLCAgICAgIEFSUkFZX1NJ WkUobGRiX2RpX3NlbHMpKTsNCiAJfQ0KLQljbGtbSU1YNlFETF9DTEtfSVBVMV9ESTBfUFJFX1NF TF0gPSBpbXhfY2xrX211eF9mbGFncygiaXB1MV9kaTBfcHJlX3NlbCIsIGJhc2UgKyAweDM0LCA2 LCAgMywgaXB1X2RpX3ByZV9zZWxzLCAgIEFSUkFZX1NJWkUoaXB1X2RpX3ByZV9zZWxzKSwgQ0xL X1NFVF9SQVRFX1BBUkVOVCk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUxX0RJMV9QUkVfU0VMXSA9 IGlteF9jbGtfbXV4X2ZsYWdzKCJpcHUxX2RpMV9wcmVfc2VsIiwgYmFzZSArIDB4MzQsIDE1LCAz LCBpcHVfZGlfcHJlX3NlbHMsICAgQVJSQVlfU0laRShpcHVfZGlfcHJlX3NlbHMpLCBDTEtfU0VU X1JBVEVfUEFSRU5UKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0lQVTJfREkwX1BSRV9TRUxdID0gaW14 X2Nsa19tdXhfZmxhZ3MoImlwdTJfZGkwX3ByZV9zZWwiLCBiYXNlICsgMHgzOCwgNiwgIDMsIGlw dV9kaV9wcmVfc2VscywgICBBUlJBWV9TSVpFKGlwdV9kaV9wcmVfc2VscyksIENMS19TRVRfUkFU RV9QQVJFTlQpOw0KLQljbGtbSU1YNlFETF9DTEtfSVBVMl9ESTFfUFJFX1NFTF0gPSBpbXhfY2xr X211eF9mbGFncygiaXB1Ml9kaTFfcHJlX3NlbCIsIGJhc2UgKyAweDM4LCAxNSwgMywgaXB1X2Rp X3ByZV9zZWxzLCAgIEFSUkFZX1NJWkUoaXB1X2RpX3ByZV9zZWxzKSwgQ0xLX1NFVF9SQVRFX1BB UkVOVCk7DQotCWNsa1tJTVg2UURMX0NMS19IU0lfVFhfU0VMXSAgICAgICA9IGlteF9jbGtfbXV4 KCJoc2lfdHhfc2VsIiwgICAgICAgYmFzZSArIDB4MzAsIDI4LCAxLCBoc2lfdHhfc2VscywgICAg ICAgQVJSQVlfU0laRShoc2lfdHhfc2VscykpOw0KLQljbGtbSU1YNlFETF9DTEtfUENJRV9BWElf U0VMXSAgICAgPSBpbXhfY2xrX211eCgicGNpZV9heGlfc2VsIiwgICAgIGJhc2UgKyAweDE4LCAx MCwgMSwgcGNpZV9heGlfc2VscywgICAgIEFSUkFZX1NJWkUocGNpZV9heGlfc2VscykpOw0KKw0K Kwlod3NbSU1YNlFETF9DTEtfSVBVMV9ESTBfUFJFX1NFTF0gPSBpbXhfY2xrX2h3X211eF9mbGFn cygiaXB1MV9kaTBfcHJlX3NlbCIsIGJhc2UgKyAweDM0LCA2LCAgMywgaXB1X2RpX3ByZV9zZWxz LCAgIEFSUkFZX1NJWkUoaXB1X2RpX3ByZV9zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQor CWh3c1tJTVg2UURMX0NMS19JUFUxX0RJMV9QUkVfU0VMXSA9IGlteF9jbGtfaHdfbXV4X2ZsYWdz KCJpcHUxX2RpMV9wcmVfc2VsIiwgYmFzZSArIDB4MzQsIDE1LCAzLCBpcHVfZGlfcHJlX3NlbHMs ICAgQVJSQVlfU0laRShpcHVfZGlfcHJlX3NlbHMpLCBDTEtfU0VUX1JBVEVfUEFSRU5UKTsNCisJ aHdzW0lNWDZRRExfQ0xLX0lQVTJfREkwX1BSRV9TRUxdID0gaW14X2Nsa19od19tdXhfZmxhZ3Mo ImlwdTJfZGkwX3ByZV9zZWwiLCBiYXNlICsgMHgzOCwgNiwgIDMsIGlwdV9kaV9wcmVfc2Vscywg ICBBUlJBWV9TSVpFKGlwdV9kaV9wcmVfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0KKwlo d3NbSU1YNlFETF9DTEtfSVBVMl9ESTFfUFJFX1NFTF0gPSBpbXhfY2xrX2h3X211eF9mbGFncygi aXB1Ml9kaTFfcHJlX3NlbCIsIGJhc2UgKyAweDM4LCAxNSwgMywgaXB1X2RpX3ByZV9zZWxzLCAg IEFSUkFZX1NJWkUoaXB1X2RpX3ByZV9zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQorCWh3 c1tJTVg2UURMX0NMS19IU0lfVFhfU0VMXSAgICAgICA9IGlteF9jbGtfaHdfbXV4KCJoc2lfdHhf c2VsIiwgICAgICAgYmFzZSArIDB4MzAsIDI4LCAxLCBoc2lfdHhfc2VscywgICAgICAgQVJSQVlf U0laRShoc2lfdHhfc2VscykpOw0KKwlod3NbSU1YNlFETF9DTEtfUENJRV9BWElfU0VMXSAgICAg PSBpbXhfY2xrX2h3X211eCgicGNpZV9heGlfc2VsIiwgICAgIGJhc2UgKyAweDE4LCAxMCwgMSwg cGNpZV9heGlfc2VscywgICAgIEFSUkFZX1NJWkUocGNpZV9heGlfc2VscykpOw0KKw0KIAlpZiAo Y2xrX29uX2lteDZxcCgpKSB7DQotCQljbGtbSU1YNlFETF9DTEtfSVBVMV9ESTBfU0VMXSAgICAg PSBpbXhfY2xrX211eF9mbGFncygiaXB1MV9kaTBfc2VsIiwgICAgIGJhc2UgKyAweDM0LCAwLCAg MywgaXB1MV9kaTBfc2Vsc18yLCAgICAgQVJSQVlfU0laRShpcHUxX2RpMF9zZWxzXzIpLCBDTEtf U0VUX1JBVEVfUEFSRU5UKTsNCi0JCWNsa1tJTVg2UURMX0NMS19JUFUxX0RJMV9TRUxdICAgICA9 IGlteF9jbGtfbXV4X2ZsYWdzKCJpcHUxX2RpMV9zZWwiLCAgICAgYmFzZSArIDB4MzQsIDksICAz LCBpcHUxX2RpMV9zZWxzXzIsICAgICBBUlJBWV9TSVpFKGlwdTFfZGkxX3NlbHNfMiksIENMS19T RVRfUkFURV9QQVJFTlQpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX0lQVTJfREkwX1NFTF0gICAgID0g aW14X2Nsa19tdXhfZmxhZ3MoImlwdTJfZGkwX3NlbCIsICAgICBiYXNlICsgMHgzOCwgMCwgIDMs IGlwdTJfZGkwX3NlbHNfMiwgICAgIEFSUkFZX1NJWkUoaXB1Ml9kaTBfc2Vsc18yKSwgQ0xLX1NF VF9SQVRFX1BBUkVOVCk7DQotCQljbGtbSU1YNlFETF9DTEtfSVBVMl9ESTFfU0VMXSAgICAgPSBp bXhfY2xrX211eF9mbGFncygiaXB1Ml9kaTFfc2VsIiwgICAgIGJhc2UgKyAweDM4LCA5LCAgMywg aXB1Ml9kaTFfc2Vsc18yLCAgICAgQVJSQVlfU0laRShpcHUyX2RpMV9zZWxzXzIpLCBDTEtfU0VU X1JBVEVfUEFSRU5UKTsNCi0JCWNsa1tJTVg2UURMX0NMS19TU0kxX1NFTF0gICAgICAgICA9IGlt eF9jbGtfbXV4KCJzc2kxX3NlbCIsICAgYmFzZSArIDB4MWMsIDEwLCAyLCBzc2lfc2VscywgICAg ICAgICAgQVJSQVlfU0laRShzc2lfc2VscykpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX1NTSTJfU0VM XSAgICAgICAgID0gaW14X2Nsa19tdXgoInNzaTJfc2VsIiwgICBiYXNlICsgMHgxYywgMTIsIDIs IHNzaV9zZWxzLCAgICAgICAgICBBUlJBWV9TSVpFKHNzaV9zZWxzKSk7DQotCQljbGtbSU1YNlFE TF9DTEtfU1NJM19TRUxdICAgICAgICAgPSBpbXhfY2xrX211eCgic3NpM19zZWwiLCAgIGJhc2Ug KyAweDFjLCAxNCwgMiwgc3NpX3NlbHMsICAgICAgICAgIEFSUkFZX1NJWkUoc3NpX3NlbHMpKTsN Ci0JCWNsa1tJTVg2UURMX0NMS19VU0RIQzFfU0VMXSAgICAgICA9IGlteF9jbGtfbXV4KCJ1c2Ro YzFfc2VsIiwgYmFzZSArIDB4MWMsIDE2LCAxLCB1c2RoY19zZWxzLCAgICAgICAgQVJSQVlfU0la RSh1c2RoY19zZWxzKSk7DQotCQljbGtbSU1YNlFETF9DTEtfVVNESEMyX1NFTF0gICAgICAgPSBp bXhfY2xrX211eCgidXNkaGMyX3NlbCIsIGJhc2UgKyAweDFjLCAxNywgMSwgdXNkaGNfc2Vscywg ICAgICAgIEFSUkFZX1NJWkUodXNkaGNfc2VscykpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX1VTREhD M19TRUxdICAgICAgID0gaW14X2Nsa19tdXgoInVzZGhjM19zZWwiLCBiYXNlICsgMHgxYywgMTgs IDEsIHVzZGhjX3NlbHMsICAgICAgICBBUlJBWV9TSVpFKHVzZGhjX3NlbHMpKTsNCi0JCWNsa1tJ TVg2UURMX0NMS19VU0RIQzRfU0VMXSAgICAgICA9IGlteF9jbGtfbXV4KCJ1c2RoYzRfc2VsIiwg YmFzZSArIDB4MWMsIDE5LCAxLCB1c2RoY19zZWxzLCAgICAgICAgQVJSQVlfU0laRSh1c2RoY19z ZWxzKSk7DQotCQljbGtbSU1YNlFETF9DTEtfRU5GQ19TRUxdICAgICAgICAgPSBpbXhfY2xrX211 eCgiZW5mY19zZWwiLCAgICAgICAgIGJhc2UgKyAweDJjLCAxNSwgMywgZW5mY19zZWxzXzIsICAg ICAgICAgQVJSQVlfU0laRShlbmZjX3NlbHNfMikpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX0VJTV9T RUxdICAgICAgICAgID0gaW14X2Nsa19tdXgoImVpbV9zZWwiLCAgICAgIGJhc2UgKyAweDFjLCAy NywgMiwgZWltX3NlbHMsICAgICAgICBBUlJBWV9TSVpFKGVpbV9zZWxzKSk7DQotCQljbGtbSU1Y NlFETF9DTEtfRUlNX1NMT1dfU0VMXSAgICAgPSBpbXhfY2xrX211eCgiZWltX3Nsb3dfc2VsIiwg YmFzZSArIDB4MWMsIDI5LCAyLCBlaW1fc2xvd19zZWxzLCAgIEFSUkFZX1NJWkUoZWltX3Nsb3df c2VscykpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX1BSRV9BWEldCSAgPSBpbXhfY2xrX211eCgicHJl X2F4aSIsCWJhc2UgKyAweDE4LCAxLCAgMSwgcHJlX2F4aV9zZWxzLCAgICBBUlJBWV9TSVpFKHBy ZV9heGlfc2VscykpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0lQVTFfREkwX1NFTF0gICAgID0gaW14 X2Nsa19od19tdXhfZmxhZ3MoImlwdTFfZGkwX3NlbCIsICAgICBiYXNlICsgMHgzNCwgMCwgIDMs IGlwdTFfZGkwX3NlbHNfMiwgICAgIEFSUkFZX1NJWkUoaXB1MV9kaTBfc2Vsc18yKSwgQ0xLX1NF VF9SQVRFX1BBUkVOVCk7DQorCQlod3NbSU1YNlFETF9DTEtfSVBVMV9ESTFfU0VMXSAgICAgPSBp bXhfY2xrX2h3X211eF9mbGFncygiaXB1MV9kaTFfc2VsIiwgICAgIGJhc2UgKyAweDM0LCA5LCAg MywgaXB1MV9kaTFfc2Vsc18yLCAgICAgQVJSQVlfU0laRShpcHUxX2RpMV9zZWxzXzIpLCBDTEtf U0VUX1JBVEVfUEFSRU5UKTsNCisJCWh3c1tJTVg2UURMX0NMS19JUFUyX0RJMF9TRUxdICAgICA9 IGlteF9jbGtfaHdfbXV4X2ZsYWdzKCJpcHUyX2RpMF9zZWwiLCAgICAgYmFzZSArIDB4MzgsIDAs ICAzLCBpcHUyX2RpMF9zZWxzXzIsICAgICBBUlJBWV9TSVpFKGlwdTJfZGkwX3NlbHNfMiksIENM S19TRVRfUkFURV9QQVJFTlQpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0lQVTJfREkxX1NFTF0gICAg ID0gaW14X2Nsa19od19tdXhfZmxhZ3MoImlwdTJfZGkxX3NlbCIsICAgICBiYXNlICsgMHgzOCwg OSwgIDMsIGlwdTJfZGkxX3NlbHNfMiwgICAgIEFSUkFZX1NJWkUoaXB1Ml9kaTFfc2Vsc18yKSwg Q0xLX1NFVF9SQVRFX1BBUkVOVCk7DQorCQlod3NbSU1YNlFETF9DTEtfU1NJMV9TRUxdICAgICAg ICAgPSBpbXhfY2xrX2h3X211eCgic3NpMV9zZWwiLCAgIGJhc2UgKyAweDFjLCAxMCwgMiwgc3Np X3NlbHMsICAgICAgICAgIEFSUkFZX1NJWkUoc3NpX3NlbHMpKTsNCisJCWh3c1tJTVg2UURMX0NM S19TU0kyX1NFTF0gICAgICAgICA9IGlteF9jbGtfaHdfbXV4KCJzc2kyX3NlbCIsICAgYmFzZSAr IDB4MWMsIDEyLCAyLCBzc2lfc2VscywgICAgICAgICAgQVJSQVlfU0laRShzc2lfc2VscykpOw0K KwkJaHdzW0lNWDZRRExfQ0xLX1NTSTNfU0VMXSAgICAgICAgID0gaW14X2Nsa19od19tdXgoInNz aTNfc2VsIiwgICBiYXNlICsgMHgxYywgMTQsIDIsIHNzaV9zZWxzLCAgICAgICAgICBBUlJBWV9T SVpFKHNzaV9zZWxzKSk7DQorCQlod3NbSU1YNlFETF9DTEtfVVNESEMxX1NFTF0gICAgICAgPSBp bXhfY2xrX2h3X211eCgidXNkaGMxX3NlbCIsIGJhc2UgKyAweDFjLCAxNiwgMSwgdXNkaGNfc2Vs cywgICAgICAgIEFSUkFZX1NJWkUodXNkaGNfc2VscykpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX1VT REhDMl9TRUxdICAgICAgID0gaW14X2Nsa19od19tdXgoInVzZGhjMl9zZWwiLCBiYXNlICsgMHgx YywgMTcsIDEsIHVzZGhjX3NlbHMsICAgICAgICBBUlJBWV9TSVpFKHVzZGhjX3NlbHMpKTsNCisJ CWh3c1tJTVg2UURMX0NMS19VU0RIQzNfU0VMXSAgICAgICA9IGlteF9jbGtfaHdfbXV4KCJ1c2Ro YzNfc2VsIiwgYmFzZSArIDB4MWMsIDE4LCAxLCB1c2RoY19zZWxzLCAgICAgICAgQVJSQVlfU0la RSh1c2RoY19zZWxzKSk7DQorCQlod3NbSU1YNlFETF9DTEtfVVNESEM0X1NFTF0gICAgICAgPSBp bXhfY2xrX2h3X211eCgidXNkaGM0X3NlbCIsIGJhc2UgKyAweDFjLCAxOSwgMSwgdXNkaGNfc2Vs cywgICAgICAgIEFSUkFZX1NJWkUodXNkaGNfc2VscykpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0VO RkNfU0VMXSAgICAgICAgID0gaW14X2Nsa19od19tdXgoImVuZmNfc2VsIiwgICAgICAgICBiYXNl ICsgMHgyYywgMTUsIDMsIGVuZmNfc2Vsc18yLCAgICAgICAgIEFSUkFZX1NJWkUoZW5mY19zZWxz XzIpKTsNCisJCWh3c1tJTVg2UURMX0NMS19FSU1fU0VMXSAgICAgICAgICA9IGlteF9jbGtfaHdf bXV4KCJlaW1fc2VsIiwgICAgICBiYXNlICsgMHgxYywgMjcsIDIsIGVpbV9zZWxzLCAgICAgICAg QVJSQVlfU0laRShlaW1fc2VscykpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0VJTV9TTE9XX1NFTF0g ICAgID0gaW14X2Nsa19od19tdXgoImVpbV9zbG93X3NlbCIsIGJhc2UgKyAweDFjLCAyOSwgMiwg ZWltX3Nsb3dfc2VscywgICBBUlJBWV9TSVpFKGVpbV9zbG93X3NlbHMpKTsNCisJCWh3c1tJTVg2 UURMX0NMS19QUkVfQVhJXQkgID0gaW14X2Nsa19od19tdXgoInByZV9heGkiLAliYXNlICsgMHgx OCwgMSwgIDEsIHByZV9heGlfc2VscywgICAgQVJSQVlfU0laRShwcmVfYXhpX3NlbHMpKTsNCiAJ fSBlbHNlIHsNCi0JCWNsa1tJTVg2UURMX0NMS19JUFUxX0RJMF9TRUxdICAgICA9IGlteF9jbGtf bXV4X2ZsYWdzKCJpcHUxX2RpMF9zZWwiLCAgICAgYmFzZSArIDB4MzQsIDAsICAzLCBpcHUxX2Rp MF9zZWxzLCAgICAgQVJSQVlfU0laRShpcHUxX2RpMF9zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVO VCk7DQotCQljbGtbSU1YNlFETF9DTEtfSVBVMV9ESTFfU0VMXSAgICAgPSBpbXhfY2xrX211eF9m bGFncygiaXB1MV9kaTFfc2VsIiwgICAgIGJhc2UgKyAweDM0LCA5LCAgMywgaXB1MV9kaTFfc2Vs cywgICAgIEFSUkFZX1NJWkUoaXB1MV9kaTFfc2VscyksIENMS19TRVRfUkFURV9QQVJFTlQpOw0K LQkJY2xrW0lNWDZRRExfQ0xLX0lQVTJfREkwX1NFTF0gICAgID0gaW14X2Nsa19tdXhfZmxhZ3Mo ImlwdTJfZGkwX3NlbCIsICAgICBiYXNlICsgMHgzOCwgMCwgIDMsIGlwdTJfZGkwX3NlbHMsICAg ICBBUlJBWV9TSVpFKGlwdTJfZGkwX3NlbHMpLCBDTEtfU0VUX1JBVEVfUEFSRU5UKTsNCi0JCWNs a1tJTVg2UURMX0NMS19JUFUyX0RJMV9TRUxdICAgICA9IGlteF9jbGtfbXV4X2ZsYWdzKCJpcHUy X2RpMV9zZWwiLCAgICAgYmFzZSArIDB4MzgsIDksICAzLCBpcHUyX2RpMV9zZWxzLCAgICAgQVJS QVlfU0laRShpcHUyX2RpMV9zZWxzKSwgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7DQotCQljbGtbSU1Y NlFETF9DTEtfU1NJMV9TRUxdICAgICAgICAgPSBpbXhfY2xrX2ZpeHVwX211eCgic3NpMV9zZWwi LCAgIGJhc2UgKyAweDFjLCAxMCwgMiwgc3NpX3NlbHMsICAgICAgICAgIEFSUkFZX1NJWkUoc3Np X3NlbHMpLCBpbXhfY3NjbXIxX2ZpeHVwKTsNCi0JCWNsa1tJTVg2UURMX0NMS19TU0kyX1NFTF0g ICAgICAgICA9IGlteF9jbGtfZml4dXBfbXV4KCJzc2kyX3NlbCIsICAgYmFzZSArIDB4MWMsIDEy LCAyLCBzc2lfc2VscywgICAgICAgICAgQVJSQVlfU0laRShzc2lfc2VscyksIGlteF9jc2NtcjFf Zml4dXApOw0KLQkJY2xrW0lNWDZRRExfQ0xLX1NTSTNfU0VMXSAgICAgICAgID0gaW14X2Nsa19m aXh1cF9tdXgoInNzaTNfc2VsIiwgICBiYXNlICsgMHgxYywgMTQsIDIsIHNzaV9zZWxzLCAgICAg ICAgICBBUlJBWV9TSVpFKHNzaV9zZWxzKSwgaW14X2NzY21yMV9maXh1cCk7DQotCQljbGtbSU1Y NlFETF9DTEtfVVNESEMxX1NFTF0gICAgICAgPSBpbXhfY2xrX2ZpeHVwX211eCgidXNkaGMxX3Nl bCIsIGJhc2UgKyAweDFjLCAxNiwgMSwgdXNkaGNfc2VscywgICAgICAgIEFSUkFZX1NJWkUodXNk aGNfc2VscyksIGlteF9jc2NtcjFfZml4dXApOw0KLQkJY2xrW0lNWDZRRExfQ0xLX1VTREhDMl9T RUxdICAgICAgID0gaW14X2Nsa19maXh1cF9tdXgoInVzZGhjMl9zZWwiLCBiYXNlICsgMHgxYywg MTcsIDEsIHVzZGhjX3NlbHMsICAgICAgICBBUlJBWV9TSVpFKHVzZGhjX3NlbHMpLCBpbXhfY3Nj bXIxX2ZpeHVwKTsNCi0JCWNsa1tJTVg2UURMX0NMS19VU0RIQzNfU0VMXSAgICAgICA9IGlteF9j bGtfZml4dXBfbXV4KCJ1c2RoYzNfc2VsIiwgYmFzZSArIDB4MWMsIDE4LCAxLCB1c2RoY19zZWxz LCAgICAgICAgQVJSQVlfU0laRSh1c2RoY19zZWxzKSwgaW14X2NzY21yMV9maXh1cCk7DQotCQlj bGtbSU1YNlFETF9DTEtfVVNESEM0X1NFTF0gICAgICAgPSBpbXhfY2xrX2ZpeHVwX211eCgidXNk aGM0X3NlbCIsIGJhc2UgKyAweDFjLCAxOSwgMSwgdXNkaGNfc2VscywgICAgICAgIEFSUkFZX1NJ WkUodXNkaGNfc2VscyksIGlteF9jc2NtcjFfZml4dXApOw0KLQkJY2xrW0lNWDZRRExfQ0xLX0VO RkNfU0VMXSAgICAgICAgID0gaW14X2Nsa19tdXgoImVuZmNfc2VsIiwgICAgICAgICBiYXNlICsg MHgyYywgMTYsIDIsIGVuZmNfc2VscywgICAgICAgICBBUlJBWV9TSVpFKGVuZmNfc2VscykpOw0K LQkJY2xrW0lNWDZRRExfQ0xLX0VJTV9TRUxdICAgICAgICAgID0gaW14X2Nsa19maXh1cF9tdXgo ImVpbV9zZWwiLCAgICAgIGJhc2UgKyAweDFjLCAyNywgMiwgZWltX3NlbHMsICAgICAgICBBUlJB WV9TSVpFKGVpbV9zZWxzKSwgaW14X2NzY21yMV9maXh1cCk7DQotCQljbGtbSU1YNlFETF9DTEtf RUlNX1NMT1dfU0VMXSAgICAgPSBpbXhfY2xrX2ZpeHVwX211eCgiZWltX3Nsb3dfc2VsIiwgYmFz ZSArIDB4MWMsIDI5LCAyLCBlaW1fc2xvd19zZWxzLCAgIEFSUkFZX1NJWkUoZWltX3Nsb3dfc2Vs cyksIGlteF9jc2NtcjFfZml4dXApOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0lQVTFfREkwX1NFTF0g ICAgID0gaW14X2Nsa19od19tdXhfZmxhZ3MoImlwdTFfZGkwX3NlbCIsICAgICBiYXNlICsgMHgz NCwgMCwgIDMsIGlwdTFfZGkwX3NlbHMsICAgICBBUlJBWV9TSVpFKGlwdTFfZGkwX3NlbHMpLCBD TEtfU0VUX1JBVEVfUEFSRU5UKTsNCisJCWh3c1tJTVg2UURMX0NMS19JUFUxX0RJMV9TRUxdICAg ICA9IGlteF9jbGtfaHdfbXV4X2ZsYWdzKCJpcHUxX2RpMV9zZWwiLCAgICAgYmFzZSArIDB4MzQs IDksICAzLCBpcHUxX2RpMV9zZWxzLCAgICAgQVJSQVlfU0laRShpcHUxX2RpMV9zZWxzKSwgQ0xL X1NFVF9SQVRFX1BBUkVOVCk7DQorCQlod3NbSU1YNlFETF9DTEtfSVBVMl9ESTBfU0VMXSAgICAg PSBpbXhfY2xrX2h3X211eF9mbGFncygiaXB1Ml9kaTBfc2VsIiwgICAgIGJhc2UgKyAweDM4LCAw LCAgMywgaXB1Ml9kaTBfc2VscywgICAgIEFSUkFZX1NJWkUoaXB1Ml9kaTBfc2VscyksIENMS19T RVRfUkFURV9QQVJFTlQpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0lQVTJfREkxX1NFTF0gICAgID0g aW14X2Nsa19od19tdXhfZmxhZ3MoImlwdTJfZGkxX3NlbCIsICAgICBiYXNlICsgMHgzOCwgOSwg IDMsIGlwdTJfZGkxX3NlbHMsICAgICBBUlJBWV9TSVpFKGlwdTJfZGkxX3NlbHMpLCBDTEtfU0VU X1JBVEVfUEFSRU5UKTsNCisJCWh3c1tJTVg2UURMX0NMS19TU0kxX1NFTF0gICAgICAgICA9IGlt eF9jbGtfaHdfZml4dXBfbXV4KCJzc2kxX3NlbCIsICAgYmFzZSArIDB4MWMsIDEwLCAyLCBzc2lf c2VscywgICAgICAgICAgQVJSQVlfU0laRShzc2lfc2VscyksIGlteF9jc2NtcjFfZml4dXApOw0K KwkJaHdzW0lNWDZRRExfQ0xLX1NTSTJfU0VMXSAgICAgICAgID0gaW14X2Nsa19od19maXh1cF9t dXgoInNzaTJfc2VsIiwgICBiYXNlICsgMHgxYywgMTIsIDIsIHNzaV9zZWxzLCAgICAgICAgICBB UlJBWV9TSVpFKHNzaV9zZWxzKSwgaW14X2NzY21yMV9maXh1cCk7DQorCQlod3NbSU1YNlFETF9D TEtfU1NJM19TRUxdICAgICAgICAgPSBpbXhfY2xrX2h3X2ZpeHVwX211eCgic3NpM19zZWwiLCAg IGJhc2UgKyAweDFjLCAxNCwgMiwgc3NpX3NlbHMsICAgICAgICAgIEFSUkFZX1NJWkUoc3NpX3Nl bHMpLCBpbXhfY3NjbXIxX2ZpeHVwKTsNCisJCWh3c1tJTVg2UURMX0NMS19VU0RIQzFfU0VMXSAg ICAgICA9IGlteF9jbGtfaHdfZml4dXBfbXV4KCJ1c2RoYzFfc2VsIiwgYmFzZSArIDB4MWMsIDE2 LCAxLCB1c2RoY19zZWxzLCAgICAgICAgQVJSQVlfU0laRSh1c2RoY19zZWxzKSwgaW14X2NzY21y MV9maXh1cCk7DQorCQlod3NbSU1YNlFETF9DTEtfVVNESEMyX1NFTF0gICAgICAgPSBpbXhfY2xr X2h3X2ZpeHVwX211eCgidXNkaGMyX3NlbCIsIGJhc2UgKyAweDFjLCAxNywgMSwgdXNkaGNfc2Vs cywgICAgICAgIEFSUkFZX1NJWkUodXNkaGNfc2VscyksIGlteF9jc2NtcjFfZml4dXApOw0KKwkJ aHdzW0lNWDZRRExfQ0xLX1VTREhDM19TRUxdICAgICAgID0gaW14X2Nsa19od19maXh1cF9tdXgo InVzZGhjM19zZWwiLCBiYXNlICsgMHgxYywgMTgsIDEsIHVzZGhjX3NlbHMsICAgICAgICBBUlJB WV9TSVpFKHVzZGhjX3NlbHMpLCBpbXhfY3NjbXIxX2ZpeHVwKTsNCisJCWh3c1tJTVg2UURMX0NM S19VU0RIQzRfU0VMXSAgICAgICA9IGlteF9jbGtfaHdfZml4dXBfbXV4KCJ1c2RoYzRfc2VsIiwg YmFzZSArIDB4MWMsIDE5LCAxLCB1c2RoY19zZWxzLCAgICAgICAgQVJSQVlfU0laRSh1c2RoY19z ZWxzKSwgaW14X2NzY21yMV9maXh1cCk7DQorCQlod3NbSU1YNlFETF9DTEtfRU5GQ19TRUxdICAg ICAgICAgPSBpbXhfY2xrX2h3X211eCgiZW5mY19zZWwiLCAgICAgICAgIGJhc2UgKyAweDJjLCAx NiwgMiwgZW5mY19zZWxzLCAgICAgICAgIEFSUkFZX1NJWkUoZW5mY19zZWxzKSk7DQorCQlod3Nb SU1YNlFETF9DTEtfRUlNX1NFTF0gICAgICAgICAgPSBpbXhfY2xrX2h3X2ZpeHVwX211eCgiZWlt X3NlbCIsICAgICAgYmFzZSArIDB4MWMsIDI3LCAyLCBlaW1fc2VscywgICAgICAgIEFSUkFZX1NJ WkUoZWltX3NlbHMpLCBpbXhfY3NjbXIxX2ZpeHVwKTsNCisJCWh3c1tJTVg2UURMX0NMS19FSU1f U0xPV19TRUxdICAgICA9IGlteF9jbGtfaHdfZml4dXBfbXV4KCJlaW1fc2xvd19zZWwiLCBiYXNl ICsgMHgxYywgMjksIDIsIGVpbV9zbG93X3NlbHMsICAgQVJSQVlfU0laRShlaW1fc2xvd19zZWxz KSwgaW14X2NzY21yMV9maXh1cCk7DQogCX0NCi0JY2xrW0lNWDZRRExfQ0xLX1ZET19BWElfU0VM XSAgICAgID0gaW14X2Nsa19tdXgoInZkb19heGlfc2VsIiwgICAgICBiYXNlICsgMHgxOCwgMTEs IDEsIHZkb19heGlfc2VscywgICAgICBBUlJBWV9TSVpFKHZkb19heGlfc2VscykpOw0KLQljbGtb SU1YNlFETF9DTEtfVlBVX0FYSV9TRUxdICAgICAgPSBpbXhfY2xrX211eCgidnB1X2F4aV9zZWwi LCAgICAgIGJhc2UgKyAweDE4LCAxNCwgMiwgdnB1X2F4aV9zZWxzLCAgICAgIEFSUkFZX1NJWkUo dnB1X2F4aV9zZWxzKSk7DQotCWNsa1tJTVg2UURMX0NMS19DS08xX1NFTF0gICAgICAgICA9IGlt eF9jbGtfbXV4KCJja28xX3NlbCIsICAgICAgICAgYmFzZSArIDB4NjAsIDAsICA0LCBja28xX3Nl bHMsICAgICAgICAgQVJSQVlfU0laRShja28xX3NlbHMpKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0NL TzJfU0VMXSAgICAgICAgID0gaW14X2Nsa19tdXgoImNrbzJfc2VsIiwgICAgICAgICBiYXNlICsg MHg2MCwgMTYsIDUsIGNrbzJfc2VscywgICAgICAgICBBUlJBWV9TSVpFKGNrbzJfc2VscykpOw0K LQljbGtbSU1YNlFETF9DTEtfQ0tPXSAgICAgICAgICAgICAgPSBpbXhfY2xrX211eCgiY2tvIiwg ICAgICAgICAgICAgIGJhc2UgKyAweDYwLCA4LCAxLCAgY2tvX3NlbHMsICAgICAgICAgIEFSUkFZ X1NJWkUoY2tvX3NlbHMpKTsNCisNCisJaHdzW0lNWDZRRExfQ0xLX1ZET19BWElfU0VMXSAgICAg ID0gaW14X2Nsa19od19tdXgoInZkb19heGlfc2VsIiwgICAgICBiYXNlICsgMHgxOCwgMTEsIDEs IHZkb19heGlfc2VscywgICAgICBBUlJBWV9TSVpFKHZkb19heGlfc2VscykpOw0KKwlod3NbSU1Y NlFETF9DTEtfVlBVX0FYSV9TRUxdICAgICAgPSBpbXhfY2xrX2h3X211eCgidnB1X2F4aV9zZWwi LCAgICAgIGJhc2UgKyAweDE4LCAxNCwgMiwgdnB1X2F4aV9zZWxzLCAgICAgIEFSUkFZX1NJWkUo dnB1X2F4aV9zZWxzKSk7DQorCWh3c1tJTVg2UURMX0NMS19DS08xX1NFTF0gICAgICAgICA9IGlt eF9jbGtfaHdfbXV4KCJja28xX3NlbCIsICAgICAgICAgYmFzZSArIDB4NjAsIDAsICA0LCBja28x X3NlbHMsICAgICAgICAgQVJSQVlfU0laRShja28xX3NlbHMpKTsNCisJaHdzW0lNWDZRRExfQ0xL X0NLTzJfU0VMXSAgICAgICAgID0gaW14X2Nsa19od19tdXgoImNrbzJfc2VsIiwgICAgICAgICBi YXNlICsgMHg2MCwgMTYsIDUsIGNrbzJfc2VscywgICAgICAgICBBUlJBWV9TSVpFKGNrbzJfc2Vs cykpOw0KKwlod3NbSU1YNlFETF9DTEtfQ0tPXSAgICAgICAgICAgICAgPSBpbXhfY2xrX2h3X211 eCgiY2tvIiwgICAgICAgICAgICAgIGJhc2UgKyAweDYwLCA4LCAxLCAgY2tvX3NlbHMsICAgICAg ICAgIEFSUkFZX1NJWkUoY2tvX3NlbHMpKTsNCiANCiAJLyogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuYW1lICAgICAgICAgcmVnICAgICAgc2hpZnQgd2lkdGggYnVz eTogcmVnLCBzaGlmdCBwYXJlbnRfbmFtZXMgIG51bV9wYXJlbnRzICovDQotCWNsa1tJTVg2UURM X0NMS19QRVJJUEhdICA9IGlteF9jbGtfYnVzeV9tdXgoInBlcmlwaCIsICBiYXNlICsgMHgxNCwg MjUsICAxLCAgIGJhc2UgKyAweDQ4LCA1LCAgcGVyaXBoX3NlbHMsICBBUlJBWV9TSVpFKHBlcmlw aF9zZWxzKSk7DQotCWNsa1tJTVg2UURMX0NMS19QRVJJUEgyXSA9IGlteF9jbGtfYnVzeV9tdXgo InBlcmlwaDIiLCBiYXNlICsgMHgxNCwgMjYsICAxLCAgIGJhc2UgKyAweDQ4LCAzLCAgcGVyaXBo Ml9zZWxzLCBBUlJBWV9TSVpFKHBlcmlwaDJfc2VscykpOw0KKwlod3NbSU1YNlFETF9DTEtfUEVS SVBIXSAgPSBpbXhfY2xrX2h3X2J1c3lfbXV4KCJwZXJpcGgiLCAgYmFzZSArIDB4MTQsIDI1LCAg MSwgICBiYXNlICsgMHg0OCwgNSwgIHBlcmlwaF9zZWxzLCAgQVJSQVlfU0laRShwZXJpcGhfc2Vs cykpOw0KKwlod3NbSU1YNlFETF9DTEtfUEVSSVBIMl0gPSBpbXhfY2xrX2h3X2J1c3lfbXV4KCJw ZXJpcGgyIiwgYmFzZSArIDB4MTQsIDI2LCAgMSwgICBiYXNlICsgMHg0OCwgMywgIHBlcmlwaDJf c2VscywgQVJSQVlfU0laRShwZXJpcGgyX3NlbHMpKTsNCiANCiAJLyogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgICAgICAgICAgICAgICAgcGFy ZW50X25hbWUgICAgICAgICAgcmVnICAgICAgIHNoaWZ0IHdpZHRoICovDQotCWNsa1tJTVg2UURM X0NMS19QRVJJUEhfQ0xLMl0gICAgICA9IGlteF9jbGtfZGl2aWRlcigicGVyaXBoX2NsazIiLCAg ICAgICJwZXJpcGhfY2xrMl9zZWwiLCAgIGJhc2UgKyAweDE0LCAyNywgMyk7DQotCWNsa1tJTVg2 UURMX0NMS19QRVJJUEgyX0NMSzJdICAgICA9IGlteF9jbGtfZGl2aWRlcigicGVyaXBoMl9jbGsy IiwgICAgICJwZXJpcGgyX2NsazJfc2VsIiwgIGJhc2UgKyAweDE0LCAwLCAgMyk7DQotCWNsa1tJ TVg2UURMX0NMS19JUEddICAgICAgICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigiaXBnIiwgICAg ICAgICAgICAgICJhaGIiLCAgICAgICAgICAgICAgIGJhc2UgKyAweDE0LCA4LCAgMik7DQotCWNs a1tJTVg2UURMX0NMS19FU0FJX1BSRURdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigiZXNhaV9w cmVkIiwgICAgICAgICJlc2FpX3NlbCIsICAgICAgICAgIGJhc2UgKyAweDI4LCA5LCAgMyk7DQot CWNsa1tJTVg2UURMX0NMS19FU0FJX1BPREZdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigiZXNh aV9wb2RmIiwgICAgICAgICJlc2FpX3ByZWQiLCAgICAgICAgIGJhc2UgKyAweDI4LCAyNSwgMyk7 DQotCWNsa1tJTVg2UURMX0NMS19BU1JDX1BSRURdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigi YXNyY19wcmVkIiwgICAgICAgICJhc3JjX3NlbCIsICAgICAgICAgIGJhc2UgKyAweDMwLCAxMiwg Myk7DQotCWNsa1tJTVg2UURMX0NMS19BU1JDX1BPREZdICAgICAgICA9IGlteF9jbGtfZGl2aWRl cigiYXNyY19wb2RmIiwgICAgICAgICJhc3JjX3ByZWQiLCAgICAgICAgIGJhc2UgKyAweDMwLCA5 LCAgMyk7DQotCWNsa1tJTVg2UURMX0NMS19TUERJRl9QUkVEXSAgICAgICA9IGlteF9jbGtfZGl2 aWRlcigic3BkaWZfcHJlZCIsICAgICAgICJzcGRpZl9zZWwiLCAgICAgICAgIGJhc2UgKyAweDMw LCAyNSwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19TUERJRl9QT0RGXSAgICAgICA9IGlteF9jbGtf ZGl2aWRlcigic3BkaWZfcG9kZiIsICAgICAgICJzcGRpZl9wcmVkIiwgICAgICAgIGJhc2UgKyAw eDMwLCAyMiwgMyk7DQorCWh3c1tJTVg2UURMX0NMS19QRVJJUEhfQ0xLMl0gICAgICA9IGlteF9j bGtfaHdfZGl2aWRlcigicGVyaXBoX2NsazIiLCAgICAgICJwZXJpcGhfY2xrMl9zZWwiLCAgIGJh c2UgKyAweDE0LCAyNywgMyk7DQorCWh3c1tJTVg2UURMX0NMS19QRVJJUEgyX0NMSzJdICAgICA9 IGlteF9jbGtfaHdfZGl2aWRlcigicGVyaXBoMl9jbGsyIiwgICAgICJwZXJpcGgyX2NsazJfc2Vs IiwgIGJhc2UgKyAweDE0LCAwLCAgMyk7DQorCWh3c1tJTVg2UURMX0NMS19JUEddICAgICAgICAg ICAgICA9IGlteF9jbGtfaHdfZGl2aWRlcigiaXBnIiwgICAgICAgICAgICAgICJhaGIiLCAgICAg ICAgICAgICAgIGJhc2UgKyAweDE0LCA4LCAgMik7DQorCWh3c1tJTVg2UURMX0NMS19FU0FJX1BS RURdICAgICAgICA9IGlteF9jbGtfaHdfZGl2aWRlcigiZXNhaV9wcmVkIiwgICAgICAgICJlc2Fp X3NlbCIsICAgICAgICAgIGJhc2UgKyAweDI4LCA5LCAgMyk7DQorCWh3c1tJTVg2UURMX0NMS19F U0FJX1BPREZdICAgICAgICA9IGlteF9jbGtfaHdfZGl2aWRlcigiZXNhaV9wb2RmIiwgICAgICAg ICJlc2FpX3ByZWQiLCAgICAgICAgIGJhc2UgKyAweDI4LCAyNSwgMyk7DQorCWh3c1tJTVg2UURM X0NMS19BU1JDX1BSRURdICAgICAgICA9IGlteF9jbGtfaHdfZGl2aWRlcigiYXNyY19wcmVkIiwg ICAgICAgICJhc3JjX3NlbCIsICAgICAgICAgIGJhc2UgKyAweDMwLCAxMiwgMyk7DQorCWh3c1tJ TVg2UURMX0NMS19BU1JDX1BPREZdICAgICAgICA9IGlteF9jbGtfaHdfZGl2aWRlcigiYXNyY19w b2RmIiwgICAgICAgICJhc3JjX3ByZWQiLCAgICAgICAgIGJhc2UgKyAweDMwLCA5LCAgMyk7DQor CWh3c1tJTVg2UURMX0NMS19TUERJRl9QUkVEXSAgICAgICA9IGlteF9jbGtfaHdfZGl2aWRlcigi c3BkaWZfcHJlZCIsICAgICAgICJzcGRpZl9zZWwiLCAgICAgICAgIGJhc2UgKyAweDMwLCAyNSwg Myk7DQorCWh3c1tJTVg2UURMX0NMS19TUERJRl9QT0RGXSAgICAgICA9IGlteF9jbGtfaHdfZGl2 aWRlcigic3BkaWZfcG9kZiIsICAgICAgICJzcGRpZl9wcmVkIiwgICAgICAgIGJhc2UgKyAweDMw LCAyMiwgMyk7DQorDQogCWlmIChjbGtfb25faW14NnFwKCkpIHsNCi0JCWNsa1tJTVg2UURMX0NM S19JUEdfUEVSXSA9IGlteF9jbGtfZGl2aWRlcigiaXBnX3BlciIsICJpcGdfcGVyX3NlbCIsIGJh c2UgKyAweDFjLCAwLCA2KTsNCi0JCWNsa1tJTVg2UURMX0NMS19FQ1NQSV9ST09UXSA9IGlteF9j bGtfZGl2aWRlcigiZWNzcGlfcm9vdCIsICJlY3NwaV9zZWwiLCBiYXNlICsgMHgzOCwgMTksIDYp Ow0KLQkJY2xrW0lNWDZRRExfQ0xLX0NBTl9ST09UXSA9IGlteF9jbGtfZGl2aWRlcigiY2FuX3Jv b3QiLCAiY2FuX3NlbCIsIGJhc2UgKyAweDIwLCAyLCA2KTsNCi0JCWNsa1tJTVg2UURMX0NMS19V QVJUX1NFUklBTF9QT0RGXSA9IGlteF9jbGtfZGl2aWRlcigidWFydF9zZXJpYWxfcG9kZiIsICJ1 YXJ0X3NlbCIsIGJhc2UgKyAweDI0LCAwLCA2KTsNCi0JCWNsa1tJTVg2UURMX0NMS19MREJfREkw X0RJVl8zXzVdID0gaW14X2Nsa19maXhlZF9mYWN0b3IoImxkYl9kaTBfZGl2XzNfNSIsICJsZGJf ZGkwIiwgMiwgNyk7DQotCQljbGtbSU1YNlFETF9DTEtfTERCX0RJMV9ESVZfM181XSA9IGlteF9j bGtfZml4ZWRfZmFjdG9yKCJsZGJfZGkxX2Rpdl8zXzUiLCAibGRiX2RpMSIsIDIsIDcpOw0KKwkJ aHdzW0lNWDZRRExfQ0xLX0lQR19QRVJdID0gaW14X2Nsa19od19kaXZpZGVyKCJpcGdfcGVyIiwg ImlwZ19wZXJfc2VsIiwgYmFzZSArIDB4MWMsIDAsIDYpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0VD U1BJX1JPT1RdID0gaW14X2Nsa19od19kaXZpZGVyKCJlY3NwaV9yb290IiwgImVjc3BpX3NlbCIs IGJhc2UgKyAweDM4LCAxOSwgNik7DQorCQlod3NbSU1YNlFETF9DTEtfQ0FOX1JPT1RdID0gaW14 X2Nsa19od19kaXZpZGVyKCJjYW5fcm9vdCIsICJjYW5fc2VsIiwgYmFzZSArIDB4MjAsIDIsIDYp Ow0KKwkJaHdzW0lNWDZRRExfQ0xLX1VBUlRfU0VSSUFMX1BPREZdID0gaW14X2Nsa19od19kaXZp ZGVyKCJ1YXJ0X3NlcmlhbF9wb2RmIiwgInVhcnRfc2VsIiwgYmFzZSArIDB4MjQsIDAsIDYpOw0K KwkJaHdzW0lNWDZRRExfQ0xLX0xEQl9ESTBfRElWXzNfNV0gPSBpbXhfY2xrX2h3X2ZpeGVkX2Zh Y3RvcigibGRiX2RpMF9kaXZfM181IiwgImxkYl9kaTAiLCAyLCA3KTsNCisJCWh3c1tJTVg2UURM X0NMS19MREJfREkxX0RJVl8zXzVdID0gaW14X2Nsa19od19maXhlZF9mYWN0b3IoImxkYl9kaTFf ZGl2XzNfNSIsICJsZGJfZGkxIiwgMiwgNyk7DQogCX0gZWxzZSB7DQotCQljbGtbSU1YNlFETF9D TEtfRUNTUElfUk9PVF0gPSBpbXhfY2xrX2RpdmlkZXIoImVjc3BpX3Jvb3QiLCAicGxsM182MG0i LCBiYXNlICsgMHgzOCwgMTksIDYpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX0NBTl9ST09UXSA9IGlt eF9jbGtfZGl2aWRlcigiY2FuX3Jvb3QiLCAicGxsM182MG0iLCBiYXNlICsgMHgyMCwgMiwgNik7 DQotCQljbGtbSU1YNlFETF9DTEtfSVBHX1BFUl0gPSBpbXhfY2xrX2ZpeHVwX2RpdmlkZXIoImlw Z19wZXIiLCAiaXBnIiwgYmFzZSArIDB4MWMsIDAsIDYsIGlteF9jc2NtcjFfZml4dXApOw0KLQkJ Y2xrW0lNWDZRRExfQ0xLX1VBUlRfU0VSSUFMX1BPREZdID0gaW14X2Nsa19kaXZpZGVyKCJ1YXJ0 X3NlcmlhbF9wb2RmIiwgInBsbDNfODBtIiwgICAgICAgICAgYmFzZSArIDB4MjQsIDAsICA2KTsN Ci0JCWNsa1tJTVg2UURMX0NMS19MREJfREkwX0RJVl8zXzVdID0gaW14X2Nsa19maXhlZF9mYWN0 b3IoImxkYl9kaTBfZGl2XzNfNSIsICJsZGJfZGkwX3NlbCIsIDIsIDcpOw0KLQkJY2xrW0lNWDZR RExfQ0xLX0xEQl9ESTFfRElWXzNfNV0gPSBpbXhfY2xrX2ZpeGVkX2ZhY3RvcigibGRiX2RpMV9k aXZfM181IiwgImxkYl9kaTFfc2VsIiwgMiwgNyk7DQorCQlod3NbSU1YNlFETF9DTEtfRUNTUElf Uk9PVF0gPSBpbXhfY2xrX2h3X2RpdmlkZXIoImVjc3BpX3Jvb3QiLCAicGxsM182MG0iLCBiYXNl ICsgMHgzOCwgMTksIDYpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0NBTl9ST09UXSA9IGlteF9jbGtf aHdfZGl2aWRlcigiY2FuX3Jvb3QiLCAicGxsM182MG0iLCBiYXNlICsgMHgyMCwgMiwgNik7DQor CQlod3NbSU1YNlFETF9DTEtfSVBHX1BFUl0gPSBpbXhfY2xrX2h3X2ZpeHVwX2RpdmlkZXIoImlw Z19wZXIiLCAiaXBnIiwgYmFzZSArIDB4MWMsIDAsIDYsIGlteF9jc2NtcjFfZml4dXApOw0KKwkJ aHdzW0lNWDZRRExfQ0xLX1VBUlRfU0VSSUFMX1BPREZdID0gaW14X2Nsa19od19kaXZpZGVyKCJ1 YXJ0X3NlcmlhbF9wb2RmIiwgInBsbDNfODBtIiwgICAgICAgICAgYmFzZSArIDB4MjQsIDAsICA2 KTsNCisJCWh3c1tJTVg2UURMX0NMS19MREJfREkwX0RJVl8zXzVdID0gaW14X2Nsa19od19maXhl ZF9mYWN0b3IoImxkYl9kaTBfZGl2XzNfNSIsICJsZGJfZGkwX3NlbCIsIDIsIDcpOw0KKwkJaHdz W0lNWDZRRExfQ0xLX0xEQl9ESTFfRElWXzNfNV0gPSBpbXhfY2xrX2h3X2ZpeGVkX2ZhY3Rvcigi bGRiX2RpMV9kaXZfM181IiwgImxkYl9kaTFfc2VsIiwgMiwgNyk7DQogCX0NCisNCiAJaWYgKGNs a19vbl9pbXg2ZGwoKSkNCi0JCWNsa1tJTVg2UURMX0NMS19NTEJfUE9ERl0gID0gaW14X2Nsa19k aXZpZGVyKCJtbGJfcG9kZiIsICAibWxiX3NlbCIsICAgIGJhc2UgKyAweDE4LCAyMywgMyk7DQor CQlod3NbSU1YNlFETF9DTEtfTUxCX1BPREZdICA9IGlteF9jbGtfaHdfZGl2aWRlcigibWxiX3Bv ZGYiLCAgIm1sYl9zZWwiLCAgICBiYXNlICsgMHgxOCwgMjMsIDMpOw0KIAllbHNlDQotCQljbGtb SU1YNlFETF9DTEtfR1BVMkRfQ09SRV9QT0RGXSAgPSBpbXhfY2xrX2RpdmlkZXIoImdwdTJkX2Nv cmVfcG9kZiIsICAiZ3B1MmRfY29yZV9zZWwiLCAgICBiYXNlICsgMHgxOCwgMjMsIDMpOw0KLQlj bGtbSU1YNlFETF9DTEtfR1BVM0RfQ09SRV9QT0RGXSAgPSBpbXhfY2xrX2RpdmlkZXIoImdwdTNk X2NvcmVfcG9kZiIsICAiZ3B1M2RfY29yZV9zZWwiLCAgICBiYXNlICsgMHgxOCwgMjYsIDMpOw0K KwkJaHdzW0lNWDZRRExfQ0xLX0dQVTJEX0NPUkVfUE9ERl0gID0gaW14X2Nsa19od19kaXZpZGVy KCJncHUyZF9jb3JlX3BvZGYiLCAgImdwdTJkX2NvcmVfc2VsIiwgICAgYmFzZSArIDB4MTgsIDIz LCAzKTsNCisJaHdzW0lNWDZRRExfQ0xLX0dQVTNEX0NPUkVfUE9ERl0gID0gaW14X2Nsa19od19k aXZpZGVyKCJncHUzZF9jb3JlX3BvZGYiLCAgImdwdTNkX2NvcmVfc2VsIiwgICAgYmFzZSArIDB4 MTgsIDI2LCAzKTsNCiAJaWYgKGNsa19vbl9pbXg2ZGwoKSkNCi0JCWNsa1tJTVg2UURMX0NMS19H UFUyRF9DT1JFX1BPREZdICA9IGlteF9jbGtfZGl2aWRlcigiZ3B1MmRfY29yZV9wb2RmIiwgICAg ICJncHUyZF9jb3JlX3NlbCIsICBiYXNlICsgMHgxOCwgMjksIDMpOw0KKwkJaHdzW0lNWDZRRExf Q0xLX0dQVTJEX0NPUkVfUE9ERl0gID0gaW14X2Nsa19od19kaXZpZGVyKCJncHUyZF9jb3JlX3Bv ZGYiLCAgICAgImdwdTJkX2NvcmVfc2VsIiwgIGJhc2UgKyAweDE4LCAyOSwgMyk7DQogCWVsc2UN Ci0JCWNsa1tJTVg2UURMX0NMS19HUFUzRF9TSEFERVJdICAgICA9IGlteF9jbGtfZGl2aWRlcigi Z3B1M2Rfc2hhZGVyIiwgICAgICJncHUzZF9zaGFkZXJfc2VsIiwgIGJhc2UgKyAweDE4LCAyOSwg Myk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUxX1BPREZdICAgICAgICA9IGlteF9jbGtfZGl2aWRl cigiaXB1MV9wb2RmIiwgICAgICAgICJpcHUxX3NlbCIsICAgICAgICAgIGJhc2UgKyAweDNjLCAx MSwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUyX1BPREZdICAgICAgICA9IGlteF9jbGtfZGl2 aWRlcigiaXB1Ml9wb2RmIiwgICAgICAgICJpcHUyX3NlbCIsICAgICAgICAgIGJhc2UgKyAweDNj LCAxNiwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19MREJfREkwX1BPREZdICAgICA9IGlteF9jbGtf ZGl2aWRlcl9mbGFncygibGRiX2RpMF9wb2RmIiwgImxkYl9kaTBfZGl2XzNfNSIsIGJhc2UgKyAw eDIwLCAxMCwgMSwgMCk7DQotCWNsa1tJTVg2UURMX0NMS19MREJfREkxX1BPREZdICAgICA9IGlt eF9jbGtfZGl2aWRlcl9mbGFncygibGRiX2RpMV9wb2RmIiwgImxkYl9kaTFfZGl2XzNfNSIsIGJh c2UgKyAweDIwLCAxMSwgMSwgMCk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUxX0RJMF9QUkVdICAg ICA9IGlteF9jbGtfZGl2aWRlcigiaXB1MV9kaTBfcHJlIiwgICAgICJpcHUxX2RpMF9wcmVfc2Vs IiwgIGJhc2UgKyAweDM0LCAzLCAgMyk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUxX0RJMV9QUkVd ICAgICA9IGlteF9jbGtfZGl2aWRlcigiaXB1MV9kaTFfcHJlIiwgICAgICJpcHUxX2RpMV9wcmVf c2VsIiwgIGJhc2UgKyAweDM0LCAxMiwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUyX0RJMF9Q UkVdICAgICA9IGlteF9jbGtfZGl2aWRlcigiaXB1Ml9kaTBfcHJlIiwgICAgICJpcHUyX2RpMF9w cmVfc2VsIiwgIGJhc2UgKyAweDM4LCAzLCAgMyk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUyX0RJ MV9QUkVdICAgICA9IGlteF9jbGtfZGl2aWRlcigiaXB1Ml9kaTFfcHJlIiwgICAgICJpcHUyX2Rp MV9wcmVfc2VsIiwgIGJhc2UgKyAweDM4LCAxMiwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19IU0lf VFhfUE9ERl0gICAgICA9IGlteF9jbGtfZGl2aWRlcigiaHNpX3R4X3BvZGYiLCAgICAgICJoc2lf dHhfc2VsIiwgICAgICAgIGJhc2UgKyAweDMwLCAyOSwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19T U0kxX1BSRURdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigic3NpMV9wcmVkIiwgICAgICAgICJz c2kxX3NlbCIsICAgICAgICAgIGJhc2UgKyAweDI4LCA2LCAgMyk7DQotCWNsa1tJTVg2UURMX0NM S19TU0kxX1BPREZdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigic3NpMV9wb2RmIiwgICAgICAg ICJzc2kxX3ByZWQiLCAgICAgICAgIGJhc2UgKyAweDI4LCAwLCAgNik7DQotCWNsa1tJTVg2UURM X0NMS19TU0kyX1BSRURdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigic3NpMl9wcmVkIiwgICAg ICAgICJzc2kyX3NlbCIsICAgICAgICAgIGJhc2UgKyAweDJjLCA2LCAgMyk7DQotCWNsa1tJTVg2 UURMX0NMS19TU0kyX1BPREZdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigic3NpMl9wb2RmIiwg ICAgICAgICJzc2kyX3ByZWQiLCAgICAgICAgIGJhc2UgKyAweDJjLCAwLCAgNik7DQotCWNsa1tJ TVg2UURMX0NMS19TU0kzX1BSRURdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigic3NpM19wcmVk IiwgICAgICAgICJzc2kzX3NlbCIsICAgICAgICAgIGJhc2UgKyAweDI4LCAyMiwgMyk7DQotCWNs a1tJTVg2UURMX0NMS19TU0kzX1BPREZdICAgICAgICA9IGlteF9jbGtfZGl2aWRlcigic3NpM19w b2RmIiwgICAgICAgICJzc2kzX3ByZWQiLCAgICAgICAgIGJhc2UgKyAweDI4LCAxNiwgNik7DQot CWNsa1tJTVg2UURMX0NMS19VU0RIQzFfUE9ERl0gICAgICA9IGlteF9jbGtfZGl2aWRlcigidXNk aGMxX3BvZGYiLCAgICAgICJ1c2RoYzFfc2VsIiwgICAgICAgIGJhc2UgKyAweDI0LCAxMSwgMyk7 DQotCWNsa1tJTVg2UURMX0NMS19VU0RIQzJfUE9ERl0gICAgICA9IGlteF9jbGtfZGl2aWRlcigi dXNkaGMyX3BvZGYiLCAgICAgICJ1c2RoYzJfc2VsIiwgICAgICAgIGJhc2UgKyAweDI0LCAxNiwg Myk7DQotCWNsa1tJTVg2UURMX0NMS19VU0RIQzNfUE9ERl0gICAgICA9IGlteF9jbGtfZGl2aWRl cigidXNkaGMzX3BvZGYiLCAgICAgICJ1c2RoYzNfc2VsIiwgICAgICAgIGJhc2UgKyAweDI0LCAx OSwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19VU0RIQzRfUE9ERl0gICAgICA9IGlteF9jbGtfZGl2 aWRlcigidXNkaGM0X3BvZGYiLCAgICAgICJ1c2RoYzRfc2VsIiwgICAgICAgIGJhc2UgKyAweDI0 LCAyMiwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19FTkZDX1BSRURdICAgICAgICA9IGlteF9jbGtf ZGl2aWRlcigiZW5mY19wcmVkIiwgICAgICAgICJlbmZjX3NlbCIsICAgICAgICAgIGJhc2UgKyAw eDJjLCAxOCwgMyk7DQotCWNsa1tJTVg2UURMX0NMS19FTkZDX1BPREZdICAgICAgICA9IGlteF9j bGtfZGl2aWRlcigiZW5mY19wb2RmIiwgICAgICAgICJlbmZjX3ByZWQiLCAgICAgICAgIGJhc2Ug KyAweDJjLCAyMSwgNik7DQorCQlod3NbSU1YNlFETF9DTEtfR1BVM0RfU0hBREVSXSAgICAgPSBp bXhfY2xrX2h3X2RpdmlkZXIoImdwdTNkX3NoYWRlciIsICAgICAiZ3B1M2Rfc2hhZGVyX3NlbCIs ICBiYXNlICsgMHgxOCwgMjksIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfSVBVMV9QT0RGXSAgICAg ICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoImlwdTFfcG9kZiIsICAgICAgICAiaXB1MV9zZWwiLCAg ICAgICAgICBiYXNlICsgMHgzYywgMTEsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfSVBVMl9QT0RG XSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoImlwdTJfcG9kZiIsICAgICAgICAiaXB1Ml9z ZWwiLCAgICAgICAgICBiYXNlICsgMHgzYywgMTYsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfTERC X0RJMF9QT0RGXSAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXJfZmxhZ3MoImxkYl9kaTBfcG9kZiIs ICJsZGJfZGkwX2Rpdl8zXzUiLCBiYXNlICsgMHgyMCwgMTAsIDEsIDApOw0KKwlod3NbSU1YNlFE TF9DTEtfTERCX0RJMV9QT0RGXSAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXJfZmxhZ3MoImxkYl9k aTFfcG9kZiIsICJsZGJfZGkxX2Rpdl8zXzUiLCBiYXNlICsgMHgyMCwgMTEsIDEsIDApOw0KKwlo d3NbSU1YNlFETF9DTEtfSVBVMV9ESTBfUFJFXSAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoImlw dTFfZGkwX3ByZSIsICAgICAiaXB1MV9kaTBfcHJlX3NlbCIsICBiYXNlICsgMHgzNCwgMywgIDMp Ow0KKwlod3NbSU1YNlFETF9DTEtfSVBVMV9ESTFfUFJFXSAgICAgPSBpbXhfY2xrX2h3X2Rpdmlk ZXIoImlwdTFfZGkxX3ByZSIsICAgICAiaXB1MV9kaTFfcHJlX3NlbCIsICBiYXNlICsgMHgzNCwg MTIsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfSVBVMl9ESTBfUFJFXSAgICAgPSBpbXhfY2xrX2h3 X2RpdmlkZXIoImlwdTJfZGkwX3ByZSIsICAgICAiaXB1Ml9kaTBfcHJlX3NlbCIsICBiYXNlICsg MHgzOCwgMywgIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfSVBVMl9ESTFfUFJFXSAgICAgPSBpbXhf Y2xrX2h3X2RpdmlkZXIoImlwdTJfZGkxX3ByZSIsICAgICAiaXB1Ml9kaTFfcHJlX3NlbCIsICBi YXNlICsgMHgzOCwgMTIsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfSFNJX1RYX1BPREZdICAgICAg PSBpbXhfY2xrX2h3X2RpdmlkZXIoImhzaV90eF9wb2RmIiwgICAgICAiaHNpX3R4X3NlbCIsICAg ICAgICBiYXNlICsgMHgzMCwgMjksIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfU1NJMV9QUkVEXSAg ICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoInNzaTFfcHJlZCIsICAgICAgICAic3NpMV9zZWwi LCAgICAgICAgICBiYXNlICsgMHgyOCwgNiwgIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfU1NJMV9Q T0RGXSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoInNzaTFfcG9kZiIsICAgICAgICAic3Np MV9wcmVkIiwgICAgICAgICBiYXNlICsgMHgyOCwgMCwgIDYpOw0KKwlod3NbSU1YNlFETF9DTEtf U1NJMl9QUkVEXSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoInNzaTJfcHJlZCIsICAgICAg ICAic3NpMl9zZWwiLCAgICAgICAgICBiYXNlICsgMHgyYywgNiwgIDMpOw0KKwlod3NbSU1YNlFE TF9DTEtfU1NJMl9QT0RGXSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoInNzaTJfcG9kZiIs ICAgICAgICAic3NpMl9wcmVkIiwgICAgICAgICBiYXNlICsgMHgyYywgMCwgIDYpOw0KKwlod3Nb SU1YNlFETF9DTEtfU1NJM19QUkVEXSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoInNzaTNf cHJlZCIsICAgICAgICAic3NpM19zZWwiLCAgICAgICAgICBiYXNlICsgMHgyOCwgMjIsIDMpOw0K Kwlod3NbSU1YNlFETF9DTEtfU1NJM19QT0RGXSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIo InNzaTNfcG9kZiIsICAgICAgICAic3NpM19wcmVkIiwgICAgICAgICBiYXNlICsgMHgyOCwgMTYs IDYpOw0KKwlod3NbSU1YNlFETF9DTEtfVVNESEMxX1BPREZdICAgICAgPSBpbXhfY2xrX2h3X2Rp dmlkZXIoInVzZGhjMV9wb2RmIiwgICAgICAidXNkaGMxX3NlbCIsICAgICAgICBiYXNlICsgMHgy NCwgMTEsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfVVNESEMyX1BPREZdICAgICAgPSBpbXhfY2xr X2h3X2RpdmlkZXIoInVzZGhjMl9wb2RmIiwgICAgICAidXNkaGMyX3NlbCIsICAgICAgICBiYXNl ICsgMHgyNCwgMTYsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfVVNESEMzX1BPREZdICAgICAgPSBp bXhfY2xrX2h3X2RpdmlkZXIoInVzZGhjM19wb2RmIiwgICAgICAidXNkaGMzX3NlbCIsICAgICAg ICBiYXNlICsgMHgyNCwgMTksIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfVVNESEM0X1BPREZdICAg ICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoInVzZGhjNF9wb2RmIiwgICAgICAidXNkaGM0X3NlbCIs ICAgICAgICBiYXNlICsgMHgyNCwgMjIsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfRU5GQ19QUkVE XSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoImVuZmNfcHJlZCIsICAgICAgICAiZW5mY19z ZWwiLCAgICAgICAgICBiYXNlICsgMHgyYywgMTgsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfRU5G Q19QT0RGXSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoImVuZmNfcG9kZiIsICAgICAgICAi ZW5mY19wcmVkIiwgICAgICAgICBiYXNlICsgMHgyYywgMjEsIDYpOw0KIAlpZiAoY2xrX29uX2lt eDZxcCgpKSB7DQotCQljbGtbSU1YNlFETF9DTEtfRUlNX1BPREZdICAgICAgICAgPSBpbXhfY2xr X2RpdmlkZXIoImVpbV9wb2RmIiwgICAiZWltX3NlbCIsICAgICAgICAgICBiYXNlICsgMHgxYywg MjAsIDMpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX0VJTV9TTE9XX1BPREZdICAgID0gaW14X2Nsa19k aXZpZGVyKCJlaW1fc2xvd19wb2RmIiwgImVpbV9zbG93X3NlbCIsICAgYmFzZSArIDB4MWMsIDIz LCAzKTsNCisJCWh3c1tJTVg2UURMX0NMS19FSU1fUE9ERl0gICAgICAgICA9IGlteF9jbGtfaHdf ZGl2aWRlcigiZWltX3BvZGYiLCAgICJlaW1fc2VsIiwgICAgICAgICAgIGJhc2UgKyAweDFjLCAy MCwgMyk7DQorCQlod3NbSU1YNlFETF9DTEtfRUlNX1NMT1dfUE9ERl0gICAgPSBpbXhfY2xrX2h3 X2RpdmlkZXIoImVpbV9zbG93X3BvZGYiLCAiZWltX3Nsb3dfc2VsIiwgICBiYXNlICsgMHgxYywg MjMsIDMpOw0KIAl9IGVsc2Ugew0KLQkJY2xrW0lNWDZRRExfQ0xLX0VJTV9QT0RGXSAgICAgICAg ID0gaW14X2Nsa19maXh1cF9kaXZpZGVyKCJlaW1fcG9kZiIsICAgImVpbV9zZWwiLCAgICAgICAg ICAgYmFzZSArIDB4MWMsIDIwLCAzLCBpbXhfY3NjbXIxX2ZpeHVwKTsNCi0JCWNsa1tJTVg2UURM X0NMS19FSU1fU0xPV19QT0RGXSAgICA9IGlteF9jbGtfZml4dXBfZGl2aWRlcigiZWltX3Nsb3df cG9kZiIsICJlaW1fc2xvd19zZWwiLCAgIGJhc2UgKyAweDFjLCAyMywgMywgaW14X2NzY21yMV9m aXh1cCk7DQorCQlod3NbSU1YNlFETF9DTEtfRUlNX1BPREZdICAgICAgICAgPSBpbXhfY2xrX2h3 X2ZpeHVwX2RpdmlkZXIoImVpbV9wb2RmIiwgICAiZWltX3NlbCIsICAgICAgICAgICBiYXNlICsg MHgxYywgMjAsIDMsIGlteF9jc2NtcjFfZml4dXApOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0VJTV9T TE9XX1BPREZdICAgID0gaW14X2Nsa19od19maXh1cF9kaXZpZGVyKCJlaW1fc2xvd19wb2RmIiwg ImVpbV9zbG93X3NlbCIsICAgYmFzZSArIDB4MWMsIDIzLCAzLCBpbXhfY3NjbXIxX2ZpeHVwKTsN CiAJfQ0KLQljbGtbSU1YNlFETF9DTEtfVlBVX0FYSV9QT0RGXSAgICAgPSBpbXhfY2xrX2Rpdmlk ZXIoInZwdV9heGlfcG9kZiIsICAgICAidnB1X2F4aV9zZWwiLCAgICAgICBiYXNlICsgMHgyNCwg MjUsIDMpOw0KLQljbGtbSU1YNlFETF9DTEtfQ0tPMV9QT0RGXSAgICAgICAgPSBpbXhfY2xrX2Rp dmlkZXIoImNrbzFfcG9kZiIsICAgICAgICAiY2tvMV9zZWwiLCAgICAgICAgICBiYXNlICsgMHg2 MCwgNCwgIDMpOw0KLQljbGtbSU1YNlFETF9DTEtfQ0tPMl9QT0RGXSAgICAgICAgPSBpbXhfY2xr X2RpdmlkZXIoImNrbzJfcG9kZiIsICAgICAgICAiY2tvMl9zZWwiLCAgICAgICAgICBiYXNlICsg MHg2MCwgMjEsIDMpOw0KKw0KKwlod3NbSU1YNlFETF9DTEtfVlBVX0FYSV9QT0RGXSAgICAgPSBp bXhfY2xrX2h3X2RpdmlkZXIoInZwdV9heGlfcG9kZiIsICAgICAidnB1X2F4aV9zZWwiLCAgICAg ICBiYXNlICsgMHgyNCwgMjUsIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfQ0tPMV9QT0RGXSAgICAg ICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoImNrbzFfcG9kZiIsICAgICAgICAiY2tvMV9zZWwiLCAg ICAgICAgICBiYXNlICsgMHg2MCwgNCwgIDMpOw0KKwlod3NbSU1YNlFETF9DTEtfQ0tPMl9QT0RG XSAgICAgICAgPSBpbXhfY2xrX2h3X2RpdmlkZXIoImNrbzJfcG9kZiIsICAgICAgICAiY2tvMl9z ZWwiLCAgICAgICAgICBiYXNlICsgMHg2MCwgMjEsIDMpOw0KIA0KIAkvKiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSAgICAgICAgICAg ICAgICAgcGFyZW50X25hbWUgICAgcmVnICAgICAgICBzaGlmdCB3aWR0aCBidXN5OiByZWcsIHNo aWZ0ICovDQotCWNsa1tJTVg2UURMX0NMS19BWEldICAgICAgICAgICAgICAgPSBpbXhfY2xrX2J1 c3lfZGl2aWRlcigiYXhpIiwgICAgICAgICAgICAgICAiYXhpX3NlbCIsICAgICBiYXNlICsgMHgx NCwgMTYsICAzLCAgIGJhc2UgKyAweDQ4LCAwKTsNCi0JY2xrW0lNWDZRRExfQ0xLX01NRENfQ0gw X0FYSV9QT0RGXSA9IGlteF9jbGtfYnVzeV9kaXZpZGVyKCJtbWRjX2NoMF9heGlfcG9kZiIsICJw ZXJpcGgiLCAgICAgIGJhc2UgKyAweDE0LCAxOSwgIDMsICAgYmFzZSArIDB4NDgsIDQpOw0KKwlo d3NbSU1YNlFETF9DTEtfQVhJXSAgICAgICAgICAgICAgID0gaW14X2Nsa19od19idXN5X2Rpdmlk ZXIoImF4aSIsICAgICAgICAgICAgICAgImF4aV9zZWwiLCAgICAgYmFzZSArIDB4MTQsIDE2LCAg MywgICBiYXNlICsgMHg0OCwgMCk7DQorCWh3c1tJTVg2UURMX0NMS19NTURDX0NIMF9BWElfUE9E Rl0gPSBpbXhfY2xrX2h3X2J1c3lfZGl2aWRlcigibW1kY19jaDBfYXhpX3BvZGYiLCAicGVyaXBo IiwgICAgICBiYXNlICsgMHgxNCwgMTksICAzLCAgIGJhc2UgKyAweDQ4LCA0KTsNCiAJaWYgKGNs a19vbl9pbXg2cXAoKSkgew0KLQkJY2xrW0lNWDZRRExfQ0xLX01NRENfQ0gxX0FYSV9DR10gPSBp bXhfY2xrX2dhdGUoIm1tZGNfY2gxX2F4aV9jZyIsICJwZXJpcGgyIiwgYmFzZSArIDB4NCwgMTgp Ow0KLQkJY2xrW0lNWDZRRExfQ0xLX01NRENfQ0gxX0FYSV9QT0RGXSA9IGlteF9jbGtfYnVzeV9k aXZpZGVyKCJtbWRjX2NoMV9heGlfcG9kZiIsICJtbWRjX2NoMV9heGlfY2ciLCBiYXNlICsgMHgx NCwgMywgMywgYmFzZSArIDB4NDgsIDIpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX01NRENfQ0gxX0FY SV9DR10gPSBpbXhfY2xrX2h3X2dhdGUoIm1tZGNfY2gxX2F4aV9jZyIsICJwZXJpcGgyIiwgYmFz ZSArIDB4NCwgMTgpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX01NRENfQ0gxX0FYSV9QT0RGXSA9IGlt eF9jbGtfaHdfYnVzeV9kaXZpZGVyKCJtbWRjX2NoMV9heGlfcG9kZiIsICJtbWRjX2NoMV9heGlf Y2ciLCBiYXNlICsgMHgxNCwgMywgMywgYmFzZSArIDB4NDgsIDIpOw0KIAl9IGVsc2Ugew0KLQkJ Y2xrW0lNWDZRRExfQ0xLX01NRENfQ0gxX0FYSV9QT0RGXSA9IGlteF9jbGtfYnVzeV9kaXZpZGVy KCJtbWRjX2NoMV9heGlfcG9kZiIsICJwZXJpcGgyIiwgICAgIGJhc2UgKyAweDE0LCAzLCAgIDMs ICAgYmFzZSArIDB4NDgsIDIpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX01NRENfQ0gxX0FYSV9QT0RG XSA9IGlteF9jbGtfaHdfYnVzeV9kaXZpZGVyKCJtbWRjX2NoMV9heGlfcG9kZiIsICJwZXJpcGgy IiwgICAgIGJhc2UgKyAweDE0LCAzLCAgIDMsICAgYmFzZSArIDB4NDgsIDIpOw0KIAl9DQotCWNs a1tJTVg2UURMX0NMS19BUk1dICAgICAgICAgICAgICAgPSBpbXhfY2xrX2J1c3lfZGl2aWRlcigi YXJtIiwgICAgICAgICAgICAgICAicGxsMV9zdyIsICAgICBiYXNlICsgMHgxMCwgMCwgICAzLCAg IGJhc2UgKyAweDQ4LCAxNik7DQotCWNsa1tJTVg2UURMX0NMS19BSEJdICAgICAgICAgICAgICAg PSBpbXhfY2xrX2J1c3lfZGl2aWRlcigiYWhiIiwgICAgICAgICAgICAgICAicGVyaXBoIiwgICAg ICBiYXNlICsgMHgxNCwgMTAsICAzLCAgIGJhc2UgKyAweDQ4LCAxKTsNCisJaHdzW0lNWDZRRExf Q0xLX0FSTV0gICAgICAgICAgICAgICA9IGlteF9jbGtfaHdfYnVzeV9kaXZpZGVyKCJhcm0iLCAg ICAgICAgICAgICAgICJwbGwxX3N3IiwgICAgIGJhc2UgKyAweDEwLCAwLCAgIDMsICAgYmFzZSAr IDB4NDgsIDE2KTsNCisJaHdzW0lNWDZRRExfQ0xLX0FIQl0gICAgICAgICAgICAgICA9IGlteF9j bGtfaHdfYnVzeV9kaXZpZGVyKCJhaGIiLCAgICAgICAgICAgICAgICJwZXJpcGgiLCAgICAgIGJh c2UgKyAweDE0LCAxMCwgIDMsICAgYmFzZSArIDB4NDgsIDEpOw0KIA0KIAkvKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSAgICAgICAgICAgICBwYXJlbnRf bmFtZSAgICAgICAgICByZWcgICAgICAgICBzaGlmdCAqLw0KLQljbGtbSU1YNlFETF9DTEtfQVBC SF9ETUFdICAgICA9IGlteF9jbGtfZ2F0ZTIoImFwYmhfZG1hIiwgICAgICAidXNkaGMzIiwgICAg ICAgICAgICBiYXNlICsgMHg2OCwgNCk7DQotCWNsa1tJTVg2UURMX0NMS19BU1JDXSAgICAgICAg ID0gaW14X2Nsa19nYXRlMl9zaGFyZWQoImFzcmMiLCAgICAgICAgICJhc3JjX3BvZGYiLCAgIGJh c2UgKyAweDY4LCA2LCAmc2hhcmVfY291bnRfYXNyYyk7DQotCWNsa1tJTVg2UURMX0NMS19BU1JD X0lQR10gICAgID0gaW14X2Nsa19nYXRlMl9zaGFyZWQoImFzcmNfaXBnIiwgICAgICJhaGIiLCAg ICAgICAgIGJhc2UgKyAweDY4LCA2LCAmc2hhcmVfY291bnRfYXNyYyk7DQotCWNsa1tJTVg2UURM X0NMS19BU1JDX01FTV0gICAgID0gaW14X2Nsa19nYXRlMl9zaGFyZWQoImFzcmNfbWVtIiwgICAg ICJhaGIiLCAgICAgICAgIGJhc2UgKyAweDY4LCA2LCAmc2hhcmVfY291bnRfYXNyYyk7DQotCWNs a1tJTVg2UURMX0NMS19DQUFNX01FTV0gICAgID0gaW14X2Nsa19nYXRlMigiY2FhbV9tZW0iLCAg ICAgICJhaGIiLCAgICAgICAgICAgICAgIGJhc2UgKyAweDY4LCA4KTsNCi0JY2xrW0lNWDZRRExf Q0xLX0NBQU1fQUNMS10gICAgPSBpbXhfY2xrX2dhdGUyKCJjYWFtX2FjbGsiLCAgICAgImFoYiIs ICAgICAgICAgICAgICAgYmFzZSArIDB4NjgsIDEwKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0NBQU1f SVBHXSAgICAgPSBpbXhfY2xrX2dhdGUyKCJjYWFtX2lwZyIsICAgICAgImlwZyIsICAgICAgICAg ICAgICAgYmFzZSArIDB4NjgsIDEyKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0NBTjFfSVBHXSAgICAg PSBpbXhfY2xrX2dhdGUyKCJjYW4xX2lwZyIsICAgICAgImlwZyIsICAgICAgICAgICAgICAgYmFz ZSArIDB4NjgsIDE0KTsNCi0JY2xrW0lNWDZRRExfQ0xLX0NBTjFfU0VSSUFMXSAgPSBpbXhfY2xr X2dhdGUyKCJjYW4xX3NlcmlhbCIsICAgImNhbl9yb290IiwgICAgICAgICAgYmFzZSArIDB4Njgs IDE2KTsNCi0JY2xrW0lNWDZRRExfQ0xLX0NBTjJfSVBHXSAgICAgPSBpbXhfY2xrX2dhdGUyKCJj YW4yX2lwZyIsICAgICAgImlwZyIsICAgICAgICAgICAgICAgYmFzZSArIDB4NjgsIDE4KTsNCi0J Y2xrW0lNWDZRRExfQ0xLX0NBTjJfU0VSSUFMXSAgPSBpbXhfY2xrX2dhdGUyKCJjYW4yX3Nlcmlh bCIsICAgImNhbl9yb290IiwgICAgICAgICAgYmFzZSArIDB4NjgsIDIwKTsNCi0JY2xrW0lNWDZR RExfQ0xLX0RDSUMxXSAgICAgICAgPSBpbXhfY2xrX2dhdGUyKCJkY2ljMSIsICAgICAgICAgImlw dTFfcG9kZiIsICAgICAgICAgYmFzZSArIDB4NjgsIDI0KTsNCi0JY2xrW0lNWDZRRExfQ0xLX0RD SUMyXSAgICAgICAgPSBpbXhfY2xrX2dhdGUyKCJkY2ljMiIsICAgICAgICAgImlwdTJfcG9kZiIs ICAgICAgICAgYmFzZSArIDB4NjgsIDI2KTsNCi0JY2xrW0lNWDZRRExfQ0xLX0VDU1BJMV0gICAg ICAgPSBpbXhfY2xrX2dhdGUyKCJlY3NwaTEiLCAgICAgICAgImVjc3BpX3Jvb3QiLCAgICAgICAg YmFzZSArIDB4NmMsIDApOw0KLQljbGtbSU1YNlFETF9DTEtfRUNTUEkyXSAgICAgICA9IGlteF9j bGtfZ2F0ZTIoImVjc3BpMiIsICAgICAgICAiZWNzcGlfcm9vdCIsICAgICAgICBiYXNlICsgMHg2 YywgMik7DQotCWNsa1tJTVg2UURMX0NMS19FQ1NQSTNdICAgICAgID0gaW14X2Nsa19nYXRlMigi ZWNzcGkzIiwgICAgICAgICJlY3NwaV9yb290IiwgICAgICAgIGJhc2UgKyAweDZjLCA0KTsNCi0J Y2xrW0lNWDZRRExfQ0xLX0VDU1BJNF0gICAgICAgPSBpbXhfY2xrX2dhdGUyKCJlY3NwaTQiLCAg ICAgICAgImVjc3BpX3Jvb3QiLCAgICAgICAgYmFzZSArIDB4NmMsIDYpOw0KKwlod3NbSU1YNlFE TF9DTEtfQVBCSF9ETUFdICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoImFwYmhfZG1hIiwgICAgICAi dXNkaGMzIiwgICAgICAgICAgICBiYXNlICsgMHg2OCwgNCk7DQorCWh3c1tJTVg2UURMX0NMS19B U1JDXSAgICAgICAgID0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQoImFzcmMiLCAgICAgICAgICJh c3JjX3BvZGYiLCAgIGJhc2UgKyAweDY4LCA2LCAmc2hhcmVfY291bnRfYXNyYyk7DQorCWh3c1tJ TVg2UURMX0NMS19BU1JDX0lQR10gICAgID0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQoImFzcmNf aXBnIiwgICAgICJhaGIiLCAgICAgICAgIGJhc2UgKyAweDY4LCA2LCAmc2hhcmVfY291bnRfYXNy Yyk7DQorCWh3c1tJTVg2UURMX0NMS19BU1JDX01FTV0gICAgID0gaW14X2Nsa19od19nYXRlMl9z aGFyZWQoImFzcmNfbWVtIiwgICAgICJhaGIiLCAgICAgICAgIGJhc2UgKyAweDY4LCA2LCAmc2hh cmVfY291bnRfYXNyYyk7DQorCWh3c1tJTVg2UURMX0NMS19DQUFNX01FTV0gICAgID0gaW14X2Ns a19od19nYXRlMigiY2FhbV9tZW0iLCAgICAgICJhaGIiLCAgICAgICAgICAgICAgIGJhc2UgKyAw eDY4LCA4KTsNCisJaHdzW0lNWDZRRExfQ0xLX0NBQU1fQUNMS10gICAgPSBpbXhfY2xrX2h3X2dh dGUyKCJjYWFtX2FjbGsiLCAgICAgImFoYiIsICAgICAgICAgICAgICAgYmFzZSArIDB4NjgsIDEw KTsNCisJaHdzW0lNWDZRRExfQ0xLX0NBQU1fSVBHXSAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJj YWFtX2lwZyIsICAgICAgImlwZyIsICAgICAgICAgICAgICAgYmFzZSArIDB4NjgsIDEyKTsNCisJ aHdzW0lNWDZRRExfQ0xLX0NBTjFfSVBHXSAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJjYW4xX2lw ZyIsICAgICAgImlwZyIsICAgICAgICAgICAgICAgYmFzZSArIDB4NjgsIDE0KTsNCisJaHdzW0lN WDZRRExfQ0xLX0NBTjFfU0VSSUFMXSAgPSBpbXhfY2xrX2h3X2dhdGUyKCJjYW4xX3NlcmlhbCIs ICAgImNhbl9yb290IiwgICAgICAgICAgYmFzZSArIDB4NjgsIDE2KTsNCisJaHdzW0lNWDZRRExf Q0xLX0NBTjJfSVBHXSAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJjYW4yX2lwZyIsICAgICAgImlw ZyIsICAgICAgICAgICAgICAgYmFzZSArIDB4NjgsIDE4KTsNCisJaHdzW0lNWDZRRExfQ0xLX0NB TjJfU0VSSUFMXSAgPSBpbXhfY2xrX2h3X2dhdGUyKCJjYW4yX3NlcmlhbCIsICAgImNhbl9yb290 IiwgICAgICAgICAgYmFzZSArIDB4NjgsIDIwKTsNCisJaHdzW0lNWDZRRExfQ0xLX0RDSUMxXSAg ICAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJkY2ljMSIsICAgICAgICAgImlwdTFfcG9kZiIsICAg ICAgICAgYmFzZSArIDB4NjgsIDI0KTsNCisJaHdzW0lNWDZRRExfQ0xLX0RDSUMyXSAgICAgICAg PSBpbXhfY2xrX2h3X2dhdGUyKCJkY2ljMiIsICAgICAgICAgImlwdTJfcG9kZiIsICAgICAgICAg YmFzZSArIDB4NjgsIDI2KTsNCisJaHdzW0lNWDZRRExfQ0xLX0VDU1BJMV0gICAgICAgPSBpbXhf Y2xrX2h3X2dhdGUyKCJlY3NwaTEiLCAgICAgICAgImVjc3BpX3Jvb3QiLCAgICAgICAgYmFzZSAr IDB4NmMsIDApOw0KKwlod3NbSU1YNlFETF9DTEtfRUNTUEkyXSAgICAgICA9IGlteF9jbGtfaHdf Z2F0ZTIoImVjc3BpMiIsICAgICAgICAiZWNzcGlfcm9vdCIsICAgICAgICBiYXNlICsgMHg2Yywg Mik7DQorCWh3c1tJTVg2UURMX0NMS19FQ1NQSTNdICAgICAgID0gaW14X2Nsa19od19nYXRlMigi ZWNzcGkzIiwgICAgICAgICJlY3NwaV9yb290IiwgICAgICAgIGJhc2UgKyAweDZjLCA0KTsNCisJ aHdzW0lNWDZRRExfQ0xLX0VDU1BJNF0gICAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJlY3NwaTQi LCAgICAgICAgImVjc3BpX3Jvb3QiLCAgICAgICAgYmFzZSArIDB4NmMsIDYpOw0KIAlpZiAoY2xr X29uX2lteDZkbCgpKQ0KLQkJY2xrW0lNWDZETF9DTEtfSTJDNF0gID0gaW14X2Nsa19nYXRlMigi aTJjNCIsICAgICAgICAgICJpcGdfcGVyIiwgICAgICAgICAgIGJhc2UgKyAweDZjLCA4KTsNCisJ CWh3c1tJTVg2RExfQ0xLX0kyQzRdICA9IGlteF9jbGtfaHdfZ2F0ZTIoImkyYzQiLCAgICAgICAg ICAiaXBnX3BlciIsICAgICAgICAgICBiYXNlICsgMHg2YywgOCk7DQogCWVsc2UNCi0JCWNsa1tJ TVg2UV9DTEtfRUNTUEk1XSA9IGlteF9jbGtfZ2F0ZTIoImVjc3BpNSIsICAgICAgICAiZWNzcGlf cm9vdCIsICAgICAgICBiYXNlICsgMHg2YywgOCk7DQotCWNsa1tJTVg2UURMX0NMS19FTkVUXSAg ICAgICAgID0gaW14X2Nsa19nYXRlMigiZW5ldCIsICAgICAgICAgICJpcGciLCAgICAgICAgICAg ICAgIGJhc2UgKyAweDZjLCAxMCk7DQotCWNsa1tJTVg2UURMX0NMS19FUElUMV0gICAgICAgID0g aW14X2Nsa19nYXRlMigiZXBpdDEiLCAgICAgICAgICJpcGciLCAgICAgICAgICAgICAgIGJhc2Ug KyAweDZjLCAxMik7DQotCWNsa1tJTVg2UURMX0NMS19FUElUMl0gICAgICAgID0gaW14X2Nsa19n YXRlMigiZXBpdDIiLCAgICAgICAgICJpcGciLCAgICAgICAgICAgICAgIGJhc2UgKyAweDZjLCAx NCk7DQotCWNsa1tJTVg2UURMX0NMS19FU0FJX0VYVEFMXSAgID0gaW14X2Nsa19nYXRlMl9zaGFy ZWQoImVzYWlfZXh0YWwiLCAgICJlc2FpX3BvZGYiLCAgIGJhc2UgKyAweDZjLCAxNiwgJnNoYXJl X2NvdW50X2VzYWkpOw0KLQljbGtbSU1YNlFETF9DTEtfRVNBSV9JUEddICAgICA9IGlteF9jbGtf Z2F0ZTJfc2hhcmVkKCJlc2FpX2lwZyIsICAgImFoYiIsICAgICAgICAgICBiYXNlICsgMHg2Yywg MTYsICZzaGFyZV9jb3VudF9lc2FpKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0VTQUlfTUVNXSAgICAg PSBpbXhfY2xrX2dhdGUyX3NoYXJlZCgiZXNhaV9tZW0iLCAiYWhiIiwgICAgICAgICAgICAgYmFz ZSArIDB4NmMsIDE2LCAmc2hhcmVfY291bnRfZXNhaSk7DQotCWNsa1tJTVg2UURMX0NMS19HUFRf SVBHXSAgICAgID0gaW14X2Nsa19nYXRlMigiZ3B0X2lwZyIsICAgICAgICJpcGciLCAgICAgICAg ICAgICAgIGJhc2UgKyAweDZjLCAyMCk7DQotCWNsa1tJTVg2UURMX0NMS19HUFRfSVBHX1BFUl0g ID0gaW14X2Nsa19nYXRlMigiZ3B0X2lwZ19wZXIiLCAgICJpcGdfcGVyIiwgICAgICAgICAgIGJh c2UgKyAweDZjLCAyMik7DQotCWNsa1tJTVg2UURMX0NMS19HUFUyRF9DT1JFXSA9IGlteF9jbGtf Z2F0ZTIoImdwdTJkX2NvcmUiLCAiZ3B1MmRfY29yZV9wb2RmIiwgYmFzZSArIDB4NmMsIDI0KTsN Ci0JY2xrW0lNWDZRRExfQ0xLX0dQVTNEX0NPUkVdICAgPSBpbXhfY2xrX2dhdGUyKCJncHUzZF9j b3JlIiwgICAgImdwdTNkX2NvcmVfcG9kZiIsICAgYmFzZSArIDB4NmMsIDI2KTsNCi0JY2xrW0lN WDZRRExfQ0xLX0hETUlfSUFIQl0gICAgPSBpbXhfY2xrX2dhdGUyKCJoZG1pX2lhaGIiLCAgICAg ImFoYiIsICAgICAgICAgICAgICAgYmFzZSArIDB4NzAsIDApOw0KLQljbGtbSU1YNlFETF9DTEtf SERNSV9JU0ZSXSAgICA9IGlteF9jbGtfZ2F0ZTIoImhkbWlfaXNmciIsICAgICAibWlwaV9jb3Jl X2NmZyIsICAgICBiYXNlICsgMHg3MCwgNCk7DQotCWNsa1tJTVg2UURMX0NMS19JMkMxXSAgICAg ICAgID0gaW14X2Nsa19nYXRlMigiaTJjMSIsICAgICAgICAgICJpcGdfcGVyIiwgICAgICAgICAg IGJhc2UgKyAweDcwLCA2KTsNCi0JY2xrW0lNWDZRRExfQ0xLX0kyQzJdICAgICAgICAgPSBpbXhf Y2xrX2dhdGUyKCJpMmMyIiwgICAgICAgICAgImlwZ19wZXIiLCAgICAgICAgICAgYmFzZSArIDB4 NzAsIDgpOw0KLQljbGtbSU1YNlFETF9DTEtfSTJDM10gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIo ImkyYzMiLCAgICAgICAgICAiaXBnX3BlciIsICAgICAgICAgICBiYXNlICsgMHg3MCwgMTApOw0K LQljbGtbSU1YNlFETF9DTEtfSUlNXSAgICAgICAgICA9IGlteF9jbGtfZ2F0ZTIoImlpbSIsICAg ICAgICAgICAiaXBnIiwgICAgICAgICAgICAgICBiYXNlICsgMHg3MCwgMTIpOw0KLQljbGtbSU1Y NlFETF9DTEtfRU5GQ10gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIoImVuZmMiLCAgICAgICAgICAi ZW5mY19wb2RmIiwgICAgICAgICBiYXNlICsgMHg3MCwgMTQpOw0KLQljbGtbSU1YNlFETF9DTEtf VkRPQV0gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIoInZkb2EiLCAgICAgICAgICAidmRvX2F4aSIs ICAgICAgICAgICBiYXNlICsgMHg3MCwgMjYpOw0KLQljbGtbSU1YNlFETF9DTEtfSVBVMV0gICAg ICAgICA9IGlteF9jbGtfZ2F0ZTIoImlwdTEiLCAgICAgICAgICAiaXB1MV9wb2RmIiwgICAgICAg ICBiYXNlICsgMHg3NCwgMCk7DQotCWNsa1tJTVg2UURMX0NMS19JUFUxX0RJMF0gICAgID0gaW14 X2Nsa19nYXRlMigiaXB1MV9kaTAiLCAgICAgICJpcHUxX2RpMF9zZWwiLCAgICAgIGJhc2UgKyAw eDc0LCAyKTsNCi0JY2xrW0lNWDZRRExfQ0xLX0lQVTFfREkxXSAgICAgPSBpbXhfY2xrX2dhdGUy KCJpcHUxX2RpMSIsICAgICAgImlwdTFfZGkxX3NlbCIsICAgICAgYmFzZSArIDB4NzQsIDQpOw0K LQljbGtbSU1YNlFETF9DTEtfSVBVMl0gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIoImlwdTIiLCAg ICAgICAgICAiaXB1Ml9wb2RmIiwgICAgICAgICBiYXNlICsgMHg3NCwgNik7DQotCWNsa1tJTVg2 UURMX0NMS19JUFUyX0RJMF0gICAgID0gaW14X2Nsa19nYXRlMigiaXB1Ml9kaTAiLCAgICAgICJp cHUyX2RpMF9zZWwiLCAgICAgIGJhc2UgKyAweDc0LCA4KTsNCisJCWh3c1tJTVg2UV9DTEtfRUNT UEk1XSA9IGlteF9jbGtfaHdfZ2F0ZTIoImVjc3BpNSIsICAgICAgICAiZWNzcGlfcm9vdCIsICAg ICAgICBiYXNlICsgMHg2YywgOCk7DQorCWh3c1tJTVg2UURMX0NMS19FTkVUXSAgICAgICAgID0g aW14X2Nsa19od19nYXRlMigiZW5ldCIsICAgICAgICAgICJpcGciLCAgICAgICAgICAgICAgIGJh c2UgKyAweDZjLCAxMCk7DQorCWh3c1tJTVg2UURMX0NMS19FUElUMV0gICAgICAgID0gaW14X2Ns a19od19nYXRlMigiZXBpdDEiLCAgICAgICAgICJpcGciLCAgICAgICAgICAgICAgIGJhc2UgKyAw eDZjLCAxMik7DQorCWh3c1tJTVg2UURMX0NMS19FUElUMl0gICAgICAgID0gaW14X2Nsa19od19n YXRlMigiZXBpdDIiLCAgICAgICAgICJpcGciLCAgICAgICAgICAgICAgIGJhc2UgKyAweDZjLCAx NCk7DQorCWh3c1tJTVg2UURMX0NMS19FU0FJX0VYVEFMXSAgID0gaW14X2Nsa19od19nYXRlMl9z aGFyZWQoImVzYWlfZXh0YWwiLCAgICJlc2FpX3BvZGYiLCAgIGJhc2UgKyAweDZjLCAxNiwgJnNo YXJlX2NvdW50X2VzYWkpOw0KKwlod3NbSU1YNlFETF9DTEtfRVNBSV9JUEddICAgICA9IGlteF9j bGtfaHdfZ2F0ZTJfc2hhcmVkKCJlc2FpX2lwZyIsICAgImFoYiIsICAgICAgICAgICBiYXNlICsg MHg2YywgMTYsICZzaGFyZV9jb3VudF9lc2FpKTsNCisJaHdzW0lNWDZRRExfQ0xLX0VTQUlfTUVN XSAgICAgPSBpbXhfY2xrX2h3X2dhdGUyX3NoYXJlZCgiZXNhaV9tZW0iLCAiYWhiIiwgICAgICAg ICAgICAgYmFzZSArIDB4NmMsIDE2LCAmc2hhcmVfY291bnRfZXNhaSk7DQorCWh3c1tJTVg2UURM X0NMS19HUFRfSVBHXSAgICAgID0gaW14X2Nsa19od19nYXRlMigiZ3B0X2lwZyIsICAgICAgICJp cGciLCAgICAgICAgICAgICAgIGJhc2UgKyAweDZjLCAyMCk7DQorCWh3c1tJTVg2UURMX0NMS19H UFRfSVBHX1BFUl0gID0gaW14X2Nsa19od19nYXRlMigiZ3B0X2lwZ19wZXIiLCAgICJpcGdfcGVy IiwgICAgICAgICAgIGJhc2UgKyAweDZjLCAyMik7DQorCWh3c1tJTVg2UURMX0NMS19HUFUyRF9D T1JFXSA9IGlteF9jbGtfaHdfZ2F0ZTIoImdwdTJkX2NvcmUiLCAiZ3B1MmRfY29yZV9wb2RmIiwg YmFzZSArIDB4NmMsIDI0KTsNCisJaHdzW0lNWDZRRExfQ0xLX0dQVTNEX0NPUkVdICAgPSBpbXhf Y2xrX2h3X2dhdGUyKCJncHUzZF9jb3JlIiwgICAgImdwdTNkX2NvcmVfcG9kZiIsICAgYmFzZSAr IDB4NmMsIDI2KTsNCisJaHdzW0lNWDZRRExfQ0xLX0hETUlfSUFIQl0gICAgPSBpbXhfY2xrX2h3 X2dhdGUyKCJoZG1pX2lhaGIiLCAgICAgImFoYiIsICAgICAgICAgICAgICAgYmFzZSArIDB4NzAs IDApOw0KKwlod3NbSU1YNlFETF9DTEtfSERNSV9JU0ZSXSAgICA9IGlteF9jbGtfaHdfZ2F0ZTIo ImhkbWlfaXNmciIsICAgICAibWlwaV9jb3JlX2NmZyIsICAgICBiYXNlICsgMHg3MCwgNCk7DQor CWh3c1tJTVg2UURMX0NMS19JMkMxXSAgICAgICAgID0gaW14X2Nsa19od19nYXRlMigiaTJjMSIs ICAgICAgICAgICJpcGdfcGVyIiwgICAgICAgICAgIGJhc2UgKyAweDcwLCA2KTsNCisJaHdzW0lN WDZRRExfQ0xLX0kyQzJdICAgICAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJpMmMyIiwgICAgICAg ICAgImlwZ19wZXIiLCAgICAgICAgICAgYmFzZSArIDB4NzAsIDgpOw0KKwlod3NbSU1YNlFETF9D TEtfSTJDM10gICAgICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoImkyYzMiLCAgICAgICAgICAiaXBn X3BlciIsICAgICAgICAgICBiYXNlICsgMHg3MCwgMTApOw0KKwlod3NbSU1YNlFETF9DTEtfSUlN XSAgICAgICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoImlpbSIsICAgICAgICAgICAiaXBnIiwgICAg ICAgICAgICAgICBiYXNlICsgMHg3MCwgMTIpOw0KKwlod3NbSU1YNlFETF9DTEtfRU5GQ10gICAg ICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoImVuZmMiLCAgICAgICAgICAiZW5mY19wb2RmIiwgICAg ICAgICBiYXNlICsgMHg3MCwgMTQpOw0KKwlod3NbSU1YNlFETF9DTEtfVkRPQV0gICAgICAgICA9 IGlteF9jbGtfaHdfZ2F0ZTIoInZkb2EiLCAgICAgICAgICAidmRvX2F4aSIsICAgICAgICAgICBi YXNlICsgMHg3MCwgMjYpOw0KKwlod3NbSU1YNlFETF9DTEtfSVBVMV0gICAgICAgICA9IGlteF9j bGtfaHdfZ2F0ZTIoImlwdTEiLCAgICAgICAgICAiaXB1MV9wb2RmIiwgICAgICAgICBiYXNlICsg MHg3NCwgMCk7DQorCWh3c1tJTVg2UURMX0NMS19JUFUxX0RJMF0gICAgID0gaW14X2Nsa19od19n YXRlMigiaXB1MV9kaTAiLCAgICAgICJpcHUxX2RpMF9zZWwiLCAgICAgIGJhc2UgKyAweDc0LCAy KTsNCisJaHdzW0lNWDZRRExfQ0xLX0lQVTFfREkxXSAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJp cHUxX2RpMSIsICAgICAgImlwdTFfZGkxX3NlbCIsICAgICAgYmFzZSArIDB4NzQsIDQpOw0KKwlo d3NbSU1YNlFETF9DTEtfSVBVMl0gICAgICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoImlwdTIiLCAg ICAgICAgICAiaXB1Ml9wb2RmIiwgICAgICAgICBiYXNlICsgMHg3NCwgNik7DQorCWh3c1tJTVg2 UURMX0NMS19JUFUyX0RJMF0gICAgID0gaW14X2Nsa19od19nYXRlMigiaXB1Ml9kaTAiLCAgICAg ICJpcHUyX2RpMF9zZWwiLCAgICAgIGJhc2UgKyAweDc0LCA4KTsNCiAJaWYgKGNsa19vbl9pbXg2 cXAoKSkgew0KLQkJY2xrW0lNWDZRRExfQ0xLX0xEQl9ESTBdICAgICAgPSBpbXhfY2xrX2dhdGUy KCJsZGJfZGkwIiwgICAgICAgImxkYl9kaTBfc2VsIiwgICAgICBiYXNlICsgMHg3NCwgMTIpOw0K LQkJY2xrW0lNWDZRRExfQ0xLX0xEQl9ESTFdICAgICAgPSBpbXhfY2xrX2dhdGUyKCJsZGJfZGkx IiwgICAgICAgImxkYl9kaTFfc2VsIiwgICAgICBiYXNlICsgMHg3NCwgMTQpOw0KKwkJaHdzW0lN WDZRRExfQ0xLX0xEQl9ESTBdICAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJsZGJfZGkwIiwgICAg ICAgImxkYl9kaTBfc2VsIiwgICAgICBiYXNlICsgMHg3NCwgMTIpOw0KKwkJaHdzW0lNWDZRRExf Q0xLX0xEQl9ESTFdICAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJsZGJfZGkxIiwgICAgICAgImxk Yl9kaTFfc2VsIiwgICAgICBiYXNlICsgMHg3NCwgMTQpOw0KIAl9IGVsc2Ugew0KLQkJY2xrW0lN WDZRRExfQ0xLX0xEQl9ESTBdICAgICAgPSBpbXhfY2xrX2dhdGUyKCJsZGJfZGkwIiwgICAgICAg ImxkYl9kaTBfcG9kZiIsICAgICAgYmFzZSArIDB4NzQsIDEyKTsNCi0JCWNsa1tJTVg2UURMX0NM S19MREJfREkxXSAgICAgID0gaW14X2Nsa19nYXRlMigibGRiX2RpMSIsICAgICAgICJsZGJfZGkx X3BvZGYiLCAgICAgIGJhc2UgKyAweDc0LCAxNCk7DQorCQlod3NbSU1YNlFETF9DTEtfTERCX0RJ MF0gICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoImxkYl9kaTAiLCAgICAgICAibGRiX2RpMF9wb2Rm IiwgICAgICBiYXNlICsgMHg3NCwgMTIpOw0KKwkJaHdzW0lNWDZRRExfQ0xLX0xEQl9ESTFdICAg ICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJsZGJfZGkxIiwgICAgICAgImxkYl9kaTFfcG9kZiIsICAg ICAgYmFzZSArIDB4NzQsIDE0KTsNCiAJfQ0KLQljbGtbSU1YNlFETF9DTEtfSVBVMl9ESTFdICAg ICA9IGlteF9jbGtfZ2F0ZTIoImlwdTJfZGkxIiwgICAgICAiaXB1Ml9kaTFfc2VsIiwgICAgICBi YXNlICsgMHg3NCwgMTApOw0KLQljbGtbSU1YNlFETF9DTEtfSFNJX1RYXSAgICAgICA9IGlteF9j bGtfZ2F0ZTJfc2hhcmVkKCJoc2lfdHgiLCAiaHNpX3R4X3BvZGYiLCAgICAgICBiYXNlICsgMHg3 NCwgMTYsICZzaGFyZV9jb3VudF9taXBpX2NvcmVfY2ZnKTsNCi0JY2xrW0lNWDZRRExfQ0xLX01J UElfQ09SRV9DRkddID0gaW14X2Nsa19nYXRlMl9zaGFyZWQoIm1pcGlfY29yZV9jZmciLCAidmlk ZW9fMjdtIiwgYmFzZSArIDB4NzQsIDE2LCAmc2hhcmVfY291bnRfbWlwaV9jb3JlX2NmZyk7DQot CWNsa1tJTVg2UURMX0NMS19NSVBJX0lQR10gICAgID0gaW14X2Nsa19nYXRlMl9zaGFyZWQoIm1p cGlfaXBnIiwgImlwZyIsICAgICAgICAgICAgIGJhc2UgKyAweDc0LCAxNiwgJnNoYXJlX2NvdW50 X21pcGlfY29yZV9jZmcpOw0KKwlod3NbSU1YNlFETF9DTEtfSVBVMl9ESTFdICAgICA9IGlteF9j bGtfaHdfZ2F0ZTIoImlwdTJfZGkxIiwgICAgICAiaXB1Ml9kaTFfc2VsIiwgICAgICBiYXNlICsg MHg3NCwgMTApOw0KKwlod3NbSU1YNlFETF9DTEtfSFNJX1RYXSAgICAgICA9IGlteF9jbGtfaHdf Z2F0ZTJfc2hhcmVkKCJoc2lfdHgiLCAiaHNpX3R4X3BvZGYiLCAgICAgICBiYXNlICsgMHg3NCwg MTYsICZzaGFyZV9jb3VudF9taXBpX2NvcmVfY2ZnKTsNCisJaHdzW0lNWDZRRExfQ0xLX01JUElf Q09SRV9DRkddID0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQoIm1pcGlfY29yZV9jZmciLCAidmlk ZW9fMjdtIiwgYmFzZSArIDB4NzQsIDE2LCAmc2hhcmVfY291bnRfbWlwaV9jb3JlX2NmZyk7DQor CWh3c1tJTVg2UURMX0NMS19NSVBJX0lQR10gICAgID0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQo Im1pcGlfaXBnIiwgImlwZyIsICAgICAgICAgICAgIGJhc2UgKyAweDc0LCAxNiwgJnNoYXJlX2Nv dW50X21pcGlfY29yZV9jZmcpOw0KKw0KIAlpZiAoY2xrX29uX2lteDZkbCgpKQ0KIAkJLyoNCiAJ CSAqIFRoZSBtdWx0aXBsZXhlciBhbmQgZGl2aWRlciBvZiB0aGUgaW14NnEgY2xvY2sgZ3B1MmQg Z2V0DQogCQkgKiByZWRlZmluZWQvcmV1c2VkIGFzIG1sYl9zeXNfc2VsIGFuZCBtbGJfc3lzX2Ns a19wb2RmIG9uIGlteDZkbC4NCiAJCSAqLw0KLQkJY2xrW0lNWDZRRExfQ0xLX01MQl0gPSBpbXhf Y2xrX2dhdGUyKCJtbGIiLCAgICAgICAgICAgICJtbGJfcG9kZiIsICAgYmFzZSArIDB4NzQsIDE4 KTsNCisJCWh3c1tJTVg2UURMX0NMS19NTEJdID0gaW14X2Nsa19od19nYXRlMigibWxiIiwgICAg ICAgICAgICAibWxiX3BvZGYiLCAgIGJhc2UgKyAweDc0LCAxOCk7DQogCWVsc2UNCi0JCWNsa1tJ TVg2UURMX0NMS19NTEJdID0gaW14X2Nsa19nYXRlMigibWxiIiwgICAgICAgICAgICAiYXhpIiwg ICAgICAgICAgICAgICBiYXNlICsgMHg3NCwgMTgpOw0KLQljbGtbSU1YNlFETF9DTEtfTU1EQ19D SDBfQVhJXSA9IGlteF9jbGtfZ2F0ZTJfZmxhZ3MoIm1tZGNfY2gwX2F4aSIsICAibW1kY19jaDBf YXhpX3BvZGYiLCBiYXNlICsgMHg3NCwgMjAsIENMS19JU19DUklUSUNBTCk7DQotCWNsa1tJTVg2 UURMX0NMS19NTURDX0NIMV9BWEldID0gaW14X2Nsa19nYXRlMigibW1kY19jaDFfYXhpIiwgICJt bWRjX2NoMV9heGlfcG9kZiIsIGJhc2UgKyAweDc0LCAyMik7DQotCWNsa1tJTVg2UURMX0NMS19N TURDX1AwX0lQR10gID0gaW14X2Nsa19nYXRlMl9mbGFncygibW1kY19wMF9pcGciLCAgICJpcGci LCAgICAgICAgIGJhc2UgKyAweDc0LCAyNCwgQ0xLX0lTX0NSSVRJQ0FMKTsNCi0JY2xrW0lNWDZR RExfQ0xLX09DUkFNXSAgICAgICAgPSBpbXhfY2xrX2dhdGUyKCJvY3JhbSIsICAgICAgICAgImFo YiIsICAgICAgICAgICAgICAgYmFzZSArIDB4NzQsIDI4KTsNCi0JY2xrW0lNWDZRRExfQ0xLX09Q RU5WR19BWEldICAgPSBpbXhfY2xrX2dhdGUyKCJvcGVudmdfYXhpIiwgICAgImF4aSIsICAgICAg ICAgICAgICAgYmFzZSArIDB4NzQsIDMwKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1BDSUVfQVhJXSAg ICAgPSBpbXhfY2xrX2dhdGUyKCJwY2llX2F4aSIsICAgICAgInBjaWVfYXhpX3NlbCIsICAgICAg YmFzZSArIDB4NzgsIDApOw0KLQljbGtbSU1YNlFETF9DTEtfUEVSMV9CQ0hdICAgICA9IGlteF9j bGtfZ2F0ZTIoInBlcjFfYmNoIiwgICAgICAidXNkaGMzIiwgICAgICAgICAgICBiYXNlICsgMHg3 OCwgMTIpOw0KLQljbGtbSU1YNlFETF9DTEtfUFdNMV0gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIo InB3bTEiLCAgICAgICAgICAiaXBnX3BlciIsICAgICAgICAgICBiYXNlICsgMHg3OCwgMTYpOw0K LQljbGtbSU1YNlFETF9DTEtfUFdNMl0gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIoInB3bTIiLCAg ICAgICAgICAiaXBnX3BlciIsICAgICAgICAgICBiYXNlICsgMHg3OCwgMTgpOw0KLQljbGtbSU1Y NlFETF9DTEtfUFdNM10gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIoInB3bTMiLCAgICAgICAgICAi aXBnX3BlciIsICAgICAgICAgICBiYXNlICsgMHg3OCwgMjApOw0KLQljbGtbSU1YNlFETF9DTEtf UFdNNF0gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIoInB3bTQiLCAgICAgICAgICAiaXBnX3BlciIs ICAgICAgICAgICBiYXNlICsgMHg3OCwgMjIpOw0KLQljbGtbSU1YNlFETF9DTEtfR1BNSV9CQ0hf QVBCXSA9IGlteF9jbGtfZ2F0ZTIoImdwbWlfYmNoX2FwYiIsICAidXNkaGMzIiwgICAgICAgICAg ICBiYXNlICsgMHg3OCwgMjQpOw0KLQljbGtbSU1YNlFETF9DTEtfR1BNSV9CQ0hdICAgICA9IGlt eF9jbGtfZ2F0ZTIoImdwbWlfYmNoIiwgICAgICAidXNkaGM0IiwgICAgICAgICAgICBiYXNlICsg MHg3OCwgMjYpOw0KLQljbGtbSU1YNlFETF9DTEtfR1BNSV9JT10gICAgICA9IGlteF9jbGtfZ2F0 ZTIoImdwbWlfaW8iLCAgICAgICAiZW5mYyIsICAgICAgICAgICAgICBiYXNlICsgMHg3OCwgMjgp Ow0KLQljbGtbSU1YNlFETF9DTEtfR1BNSV9BUEJdICAgICA9IGlteF9jbGtfZ2F0ZTIoImdwbWlf YXBiIiwgICAgICAidXNkaGMzIiwgICAgICAgICAgICBiYXNlICsgMHg3OCwgMzApOw0KLQljbGtb SU1YNlFETF9DTEtfUk9NXSAgICAgICAgICA9IGlteF9jbGtfZ2F0ZTJfZmxhZ3MoInJvbSIsICAg ICAiYWhiIiwgICAgICAgICAgICAgICBiYXNlICsgMHg3YywgMCwgQ0xLX0lTX0NSSVRJQ0FMKTsN Ci0JY2xrW0lNWDZRRExfQ0xLX1NBVEFdICAgICAgICAgPSBpbXhfY2xrX2dhdGUyKCJzYXRhIiwg ICAgICAgICAgImFoYiIsICAgICAgICAgICAgICAgYmFzZSArIDB4N2MsIDQpOw0KLQljbGtbSU1Y NlFETF9DTEtfU0RNQV0gICAgICAgICA9IGlteF9jbGtfZ2F0ZTIoInNkbWEiLCAgICAgICAgICAi YWhiIiwgICAgICAgICAgICAgICBiYXNlICsgMHg3YywgNik7DQotCWNsa1tJTVg2UURMX0NMS19T UEJBXSAgICAgICAgID0gaW14X2Nsa19nYXRlMigic3BiYSIsICAgICAgICAgICJpcGciLCAgICAg ICAgICAgICAgIGJhc2UgKyAweDdjLCAxMik7DQotCWNsa1tJTVg2UURMX0NMS19TUERJRl0gICAg ICAgID0gaW14X2Nsa19nYXRlMl9zaGFyZWQoInNwZGlmIiwgICAgICJzcGRpZl9wb2RmIiwgICAg IGJhc2UgKyAweDdjLCAxNCwgJnNoYXJlX2NvdW50X3NwZGlmKTsNCi0JY2xrW0lNWDZRRExfQ0xL X1NQRElGX0dDTEtdICAgPSBpbXhfY2xrX2dhdGUyX3NoYXJlZCgic3BkaWZfZ2NsayIsICJpcGci LCAgICAgICAgICAgYmFzZSArIDB4N2MsIDE0LCAmc2hhcmVfY291bnRfc3BkaWYpOw0KLQljbGtb SU1YNlFETF9DTEtfU1NJMV9JUEddICAgICA9IGlteF9jbGtfZ2F0ZTJfc2hhcmVkKCJzc2kxX2lw ZyIsICAgICAgImlwZyIsICAgICAgICBiYXNlICsgMHg3YywgMTgsICZzaGFyZV9jb3VudF9zc2kx KTsNCi0JY2xrW0lNWDZRRExfQ0xLX1NTSTJfSVBHXSAgICAgPSBpbXhfY2xrX2dhdGUyX3NoYXJl ZCgic3NpMl9pcGciLCAgICAgICJpcGciLCAgICAgICAgYmFzZSArIDB4N2MsIDIwLCAmc2hhcmVf Y291bnRfc3NpMik7DQotCWNsa1tJTVg2UURMX0NMS19TU0kzX0lQR10gICAgID0gaW14X2Nsa19n YXRlMl9zaGFyZWQoInNzaTNfaXBnIiwgICAgICAiaXBnIiwgICAgICAgIGJhc2UgKyAweDdjLCAy MiwgJnNoYXJlX2NvdW50X3NzaTMpOw0KLQljbGtbSU1YNlFETF9DTEtfU1NJMV0gICAgICAgICA9 IGlteF9jbGtfZ2F0ZTJfc2hhcmVkKCJzc2kxIiwgICAgICAgICAgInNzaTFfcG9kZiIsICBiYXNl ICsgMHg3YywgMTgsICZzaGFyZV9jb3VudF9zc2kxKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1NTSTJd ICAgICAgICAgPSBpbXhfY2xrX2dhdGUyX3NoYXJlZCgic3NpMiIsICAgICAgICAgICJzc2kyX3Bv ZGYiLCAgYmFzZSArIDB4N2MsIDIwLCAmc2hhcmVfY291bnRfc3NpMik7DQotCWNsa1tJTVg2UURM X0NMS19TU0kzXSAgICAgICAgID0gaW14X2Nsa19nYXRlMl9zaGFyZWQoInNzaTMiLCAgICAgICAg ICAic3NpM19wb2RmIiwgIGJhc2UgKyAweDdjLCAyMiwgJnNoYXJlX2NvdW50X3NzaTMpOw0KLQlj bGtbSU1YNlFETF9DTEtfVUFSVF9JUEddICAgICA9IGlteF9jbGtfZ2F0ZTIoInVhcnRfaXBnIiwg ICAgICAiaXBnIiwgICAgICAgICAgICAgICBiYXNlICsgMHg3YywgMjQpOw0KLQljbGtbSU1YNlFE TF9DTEtfVUFSVF9TRVJJQUxdICA9IGlteF9jbGtfZ2F0ZTIoInVhcnRfc2VyaWFsIiwgICAidWFy dF9zZXJpYWxfcG9kZiIsICBiYXNlICsgMHg3YywgMjYpOw0KLQljbGtbSU1YNlFETF9DTEtfVVNC T0gzXSAgICAgICA9IGlteF9jbGtfZ2F0ZTIoInVzYm9oMyIsICAgICAgICAiaXBnIiwgICAgICAg ICAgICAgICBiYXNlICsgMHg4MCwgMCk7DQotCWNsa1tJTVg2UURMX0NMS19VU0RIQzFdICAgICAg ID0gaW14X2Nsa19nYXRlMigidXNkaGMxIiwgICAgICAgICJ1c2RoYzFfcG9kZiIsICAgICAgIGJh c2UgKyAweDgwLCAyKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1VTREhDMl0gICAgICAgPSBpbXhfY2xr X2dhdGUyKCJ1c2RoYzIiLCAgICAgICAgInVzZGhjMl9wb2RmIiwgICAgICAgYmFzZSArIDB4ODAs IDQpOw0KLQljbGtbSU1YNlFETF9DTEtfVVNESEMzXSAgICAgICA9IGlteF9jbGtfZ2F0ZTIoInVz ZGhjMyIsICAgICAgICAidXNkaGMzX3BvZGYiLCAgICAgICBiYXNlICsgMHg4MCwgNik7DQotCWNs a1tJTVg2UURMX0NMS19VU0RIQzRdICAgICAgID0gaW14X2Nsa19nYXRlMigidXNkaGM0IiwgICAg ICAgICJ1c2RoYzRfcG9kZiIsICAgICAgIGJhc2UgKyAweDgwLCA4KTsNCi0JY2xrW0lNWDZRRExf Q0xLX0VJTV9TTE9XXSAgICAgPSBpbXhfY2xrX2dhdGUyKCJlaW1fc2xvdyIsICAgICAgImVpbV9z bG93X3BvZGYiLCAgICAgYmFzZSArIDB4ODAsIDEwKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1ZET19B WEldICAgICAgPSBpbXhfY2xrX2dhdGUyKCJ2ZG9fYXhpIiwgICAgICAgInZkb19heGlfc2VsIiwg ICAgICAgYmFzZSArIDB4ODAsIDEyKTsNCi0JY2xrW0lNWDZRRExfQ0xLX1ZQVV9BWEldICAgICAg PSBpbXhfY2xrX2dhdGUyKCJ2cHVfYXhpIiwgICAgICAgInZwdV9heGlfcG9kZiIsICAgICAgYmFz ZSArIDB4ODAsIDE0KTsNCisJCWh3c1tJTVg2UURMX0NMS19NTEJdID0gaW14X2Nsa19od19nYXRl MigibWxiIiwgICAgICAgICAgICAiYXhpIiwgICAgICAgICAgICAgICBiYXNlICsgMHg3NCwgMTgp Ow0KKwlod3NbSU1YNlFETF9DTEtfTU1EQ19DSDBfQVhJXSA9IGlteF9jbGtfaHdfZ2F0ZTJfZmxh Z3MoIm1tZGNfY2gwX2F4aSIsICAibW1kY19jaDBfYXhpX3BvZGYiLCBiYXNlICsgMHg3NCwgMjAs IENMS19JU19DUklUSUNBTCk7DQorCWh3c1tJTVg2UURMX0NMS19NTURDX0NIMV9BWEldID0gaW14 X2Nsa19od19nYXRlMigibW1kY19jaDFfYXhpIiwgICJtbWRjX2NoMV9heGlfcG9kZiIsIGJhc2Ug KyAweDc0LCAyMik7DQorCWh3c1tJTVg2UURMX0NMS19NTURDX1AwX0lQR10gID0gaW14X2Nsa19o d19nYXRlMl9mbGFncygibW1kY19wMF9pcGciLCAgICJpcGciLCAgICAgICAgIGJhc2UgKyAweDc0 LCAyNCwgQ0xLX0lTX0NSSVRJQ0FMKTsNCisJaHdzW0lNWDZRRExfQ0xLX09DUkFNXSAgICAgICAg PSBpbXhfY2xrX2h3X2dhdGUyKCJvY3JhbSIsICAgICAgICAgImFoYiIsICAgICAgICAgICAgICAg YmFzZSArIDB4NzQsIDI4KTsNCisJaHdzW0lNWDZRRExfQ0xLX09QRU5WR19BWEldICAgPSBpbXhf Y2xrX2h3X2dhdGUyKCJvcGVudmdfYXhpIiwgICAgImF4aSIsICAgICAgICAgICAgICAgYmFzZSAr IDB4NzQsIDMwKTsNCisJaHdzW0lNWDZRRExfQ0xLX1BDSUVfQVhJXSAgICAgPSBpbXhfY2xrX2h3 X2dhdGUyKCJwY2llX2F4aSIsICAgICAgInBjaWVfYXhpX3NlbCIsICAgICAgYmFzZSArIDB4Nzgs IDApOw0KKwlod3NbSU1YNlFETF9DTEtfUEVSMV9CQ0hdICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIo InBlcjFfYmNoIiwgICAgICAidXNkaGMzIiwgICAgICAgICAgICBiYXNlICsgMHg3OCwgMTIpOw0K Kwlod3NbSU1YNlFETF9DTEtfUFdNMV0gICAgICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoInB3bTEi LCAgICAgICAgICAiaXBnX3BlciIsICAgICAgICAgICBiYXNlICsgMHg3OCwgMTYpOw0KKwlod3Nb SU1YNlFETF9DTEtfUFdNMl0gICAgICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoInB3bTIiLCAgICAg ICAgICAiaXBnX3BlciIsICAgICAgICAgICBiYXNlICsgMHg3OCwgMTgpOw0KKwlod3NbSU1YNlFE TF9DTEtfUFdNM10gICAgICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoInB3bTMiLCAgICAgICAgICAi aXBnX3BlciIsICAgICAgICAgICBiYXNlICsgMHg3OCwgMjApOw0KKwlod3NbSU1YNlFETF9DTEtf UFdNNF0gICAgICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoInB3bTQiLCAgICAgICAgICAiaXBnX3Bl ciIsICAgICAgICAgICBiYXNlICsgMHg3OCwgMjIpOw0KKwlod3NbSU1YNlFETF9DTEtfR1BNSV9C Q0hfQVBCXSA9IGlteF9jbGtfaHdfZ2F0ZTIoImdwbWlfYmNoX2FwYiIsICAidXNkaGMzIiwgICAg ICAgICAgICBiYXNlICsgMHg3OCwgMjQpOw0KKwlod3NbSU1YNlFETF9DTEtfR1BNSV9CQ0hdICAg ICA9IGlteF9jbGtfaHdfZ2F0ZTIoImdwbWlfYmNoIiwgICAgICAidXNkaGM0IiwgICAgICAgICAg ICBiYXNlICsgMHg3OCwgMjYpOw0KKwlod3NbSU1YNlFETF9DTEtfR1BNSV9JT10gICAgICA9IGlt eF9jbGtfaHdfZ2F0ZTIoImdwbWlfaW8iLCAgICAgICAiZW5mYyIsICAgICAgICAgICAgICBiYXNl ICsgMHg3OCwgMjgpOw0KKwlod3NbSU1YNlFETF9DTEtfR1BNSV9BUEJdICAgICA9IGlteF9jbGtf aHdfZ2F0ZTIoImdwbWlfYXBiIiwgICAgICAidXNkaGMzIiwgICAgICAgICAgICBiYXNlICsgMHg3 OCwgMzApOw0KKwlod3NbSU1YNlFETF9DTEtfUk9NXSAgICAgICAgICA9IGlteF9jbGtfaHdfZ2F0 ZTJfZmxhZ3MoInJvbSIsICAgICAiYWhiIiwgICAgICAgICAgICAgICBiYXNlICsgMHg3YywgMCwg Q0xLX0lTX0NSSVRJQ0FMKTsNCisJaHdzW0lNWDZRRExfQ0xLX1NBVEFdICAgICAgICAgPSBpbXhf Y2xrX2h3X2dhdGUyKCJzYXRhIiwgICAgICAgICAgImFoYiIsICAgICAgICAgICAgICAgYmFzZSAr IDB4N2MsIDQpOw0KKwlod3NbSU1YNlFETF9DTEtfU0RNQV0gICAgICAgICA9IGlteF9jbGtfaHdf Z2F0ZTIoInNkbWEiLCAgICAgICAgICAiYWhiIiwgICAgICAgICAgICAgICBiYXNlICsgMHg3Yywg Nik7DQorCWh3c1tJTVg2UURMX0NMS19TUEJBXSAgICAgICAgID0gaW14X2Nsa19od19nYXRlMigi c3BiYSIsICAgICAgICAgICJpcGciLCAgICAgICAgICAgICAgIGJhc2UgKyAweDdjLCAxMik7DQor CWh3c1tJTVg2UURMX0NMS19TUERJRl0gICAgICAgID0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQo InNwZGlmIiwgICAgICJzcGRpZl9wb2RmIiwgICAgIGJhc2UgKyAweDdjLCAxNCwgJnNoYXJlX2Nv dW50X3NwZGlmKTsNCisJaHdzW0lNWDZRRExfQ0xLX1NQRElGX0dDTEtdICAgPSBpbXhfY2xrX2h3 X2dhdGUyX3NoYXJlZCgic3BkaWZfZ2NsayIsICJpcGciLCAgICAgICAgICAgYmFzZSArIDB4N2Ms IDE0LCAmc2hhcmVfY291bnRfc3BkaWYpOw0KKwlod3NbSU1YNlFETF9DTEtfU1NJMV9JUEddICAg ICA9IGlteF9jbGtfaHdfZ2F0ZTJfc2hhcmVkKCJzc2kxX2lwZyIsICAgICAgImlwZyIsICAgICAg ICBiYXNlICsgMHg3YywgMTgsICZzaGFyZV9jb3VudF9zc2kxKTsNCisJaHdzW0lNWDZRRExfQ0xL X1NTSTJfSVBHXSAgICAgPSBpbXhfY2xrX2h3X2dhdGUyX3NoYXJlZCgic3NpMl9pcGciLCAgICAg ICJpcGciLCAgICAgICAgYmFzZSArIDB4N2MsIDIwLCAmc2hhcmVfY291bnRfc3NpMik7DQorCWh3 c1tJTVg2UURMX0NMS19TU0kzX0lQR10gICAgID0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQoInNz aTNfaXBnIiwgICAgICAiaXBnIiwgICAgICAgIGJhc2UgKyAweDdjLCAyMiwgJnNoYXJlX2NvdW50 X3NzaTMpOw0KKwlod3NbSU1YNlFETF9DTEtfU1NJMV0gICAgICAgICA9IGlteF9jbGtfaHdfZ2F0 ZTJfc2hhcmVkKCJzc2kxIiwgICAgICAgICAgInNzaTFfcG9kZiIsICBiYXNlICsgMHg3YywgMTgs ICZzaGFyZV9jb3VudF9zc2kxKTsNCisJaHdzW0lNWDZRRExfQ0xLX1NTSTJdICAgICAgICAgPSBp bXhfY2xrX2h3X2dhdGUyX3NoYXJlZCgic3NpMiIsICAgICAgICAgICJzc2kyX3BvZGYiLCAgYmFz ZSArIDB4N2MsIDIwLCAmc2hhcmVfY291bnRfc3NpMik7DQorCWh3c1tJTVg2UURMX0NMS19TU0kz XSAgICAgICAgID0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQoInNzaTMiLCAgICAgICAgICAic3Np M19wb2RmIiwgIGJhc2UgKyAweDdjLCAyMiwgJnNoYXJlX2NvdW50X3NzaTMpOw0KKwlod3NbSU1Y NlFETF9DTEtfVUFSVF9JUEddICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoInVhcnRfaXBnIiwgICAg ICAiaXBnIiwgICAgICAgICAgICAgICBiYXNlICsgMHg3YywgMjQpOw0KKwlod3NbSU1YNlFETF9D TEtfVUFSVF9TRVJJQUxdICA9IGlteF9jbGtfaHdfZ2F0ZTIoInVhcnRfc2VyaWFsIiwgICAidWFy dF9zZXJpYWxfcG9kZiIsICBiYXNlICsgMHg3YywgMjYpOw0KKwlod3NbSU1YNlFETF9DTEtfVVNC T0gzXSAgICAgICA9IGlteF9jbGtfaHdfZ2F0ZTIoInVzYm9oMyIsICAgICAgICAiaXBnIiwgICAg ICAgICAgICAgICBiYXNlICsgMHg4MCwgMCk7DQorCWh3c1tJTVg2UURMX0NMS19VU0RIQzFdICAg ICAgID0gaW14X2Nsa19od19nYXRlMigidXNkaGMxIiwgICAgICAgICJ1c2RoYzFfcG9kZiIsICAg ICAgIGJhc2UgKyAweDgwLCAyKTsNCisJaHdzW0lNWDZRRExfQ0xLX1VTREhDMl0gICAgICAgPSBp bXhfY2xrX2h3X2dhdGUyKCJ1c2RoYzIiLCAgICAgICAgInVzZGhjMl9wb2RmIiwgICAgICAgYmFz ZSArIDB4ODAsIDQpOw0KKwlod3NbSU1YNlFETF9DTEtfVVNESEMzXSAgICAgICA9IGlteF9jbGtf aHdfZ2F0ZTIoInVzZGhjMyIsICAgICAgICAidXNkaGMzX3BvZGYiLCAgICAgICBiYXNlICsgMHg4 MCwgNik7DQorCWh3c1tJTVg2UURMX0NMS19VU0RIQzRdICAgICAgID0gaW14X2Nsa19od19nYXRl MigidXNkaGM0IiwgICAgICAgICJ1c2RoYzRfcG9kZiIsICAgICAgIGJhc2UgKyAweDgwLCA4KTsN CisJaHdzW0lNWDZRRExfQ0xLX0VJTV9TTE9XXSAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJlaW1f c2xvdyIsICAgICAgImVpbV9zbG93X3BvZGYiLCAgICAgYmFzZSArIDB4ODAsIDEwKTsNCisJaHdz W0lNWDZRRExfQ0xLX1ZET19BWEldICAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJ2ZG9fYXhpIiwg ICAgICAgInZkb19heGlfc2VsIiwgICAgICAgYmFzZSArIDB4ODAsIDEyKTsNCisJaHdzW0lNWDZR RExfQ0xLX1ZQVV9BWEldICAgICAgPSBpbXhfY2xrX2h3X2dhdGUyKCJ2cHVfYXhpIiwgICAgICAg InZwdV9heGlfcG9kZiIsICAgICAgYmFzZSArIDB4ODAsIDE0KTsNCiAJaWYgKGNsa19vbl9pbXg2 cXAoKSkgew0KLQkJY2xrW0lNWDZRRExfQ0xLX1BSRTBdID0gaW14X2Nsa19nYXRlMigicHJlMCIs CSAgICAgICAicHJlX2F4aSIsCSAgICBiYXNlICsgMHg4MCwgMTYpOw0KLQkJY2xrW0lNWDZRRExf Q0xLX1BSRTFdID0gaW14X2Nsa19nYXRlMigicHJlMSIsCSAgICAgICAicHJlX2F4aSIsCSAgICBi YXNlICsgMHg4MCwgMTgpOw0KLQkJY2xrW0lNWDZRRExfQ0xLX1BSRTJdID0gaW14X2Nsa19nYXRl MigicHJlMiIsCSAgICAgICAicHJlX2F4aSIsICAgICAgICAgYmFzZSArIDB4ODAsIDIwKTsNCi0J CWNsa1tJTVg2UURMX0NMS19QUkUzXSA9IGlteF9jbGtfZ2F0ZTIoInByZTMiLAkgICAgICAgInBy ZV9heGkiLAkgICAgYmFzZSArIDB4ODAsIDIyKTsNCi0JCWNsa1tJTVg2UURMX0NMS19QUkcwX0FY SV0gPSBpbXhfY2xrX2dhdGUyX3NoYXJlZCgicHJnMF9heGkiLCAgImlwdTFfcG9kZiIsICBiYXNl ICsgMHg4MCwgMjQsICZzaGFyZV9jb3VudF9wcmcwKTsNCi0JCWNsa1tJTVg2UURMX0NMS19QUkcx X0FYSV0gPSBpbXhfY2xrX2dhdGUyX3NoYXJlZCgicHJnMV9heGkiLCAgImlwdTJfcG9kZiIsICBi YXNlICsgMHg4MCwgMjYsICZzaGFyZV9jb3VudF9wcmcxKTsNCi0JCWNsa1tJTVg2UURMX0NMS19Q UkcwX0FQQl0gPSBpbXhfY2xrX2dhdGUyX3NoYXJlZCgicHJnMF9hcGIiLCAgImlwZyIsCSAgICBi YXNlICsgMHg4MCwgMjQsICZzaGFyZV9jb3VudF9wcmcwKTsNCi0JCWNsa1tJTVg2UURMX0NMS19Q UkcxX0FQQl0gPSBpbXhfY2xrX2dhdGUyX3NoYXJlZCgicHJnMV9hcGIiLCAgImlwZyIsCSAgICBi YXNlICsgMHg4MCwgMjYsICZzaGFyZV9jb3VudF9wcmcxKTsNCisJCWh3c1tJTVg2UURMX0NMS19Q UkUwXSA9IGlteF9jbGtfaHdfZ2F0ZTIoInByZTAiLAkgICAgICAgInByZV9heGkiLAkgICAgYmFz ZSArIDB4ODAsIDE2KTsNCisJCWh3c1tJTVg2UURMX0NMS19QUkUxXSA9IGlteF9jbGtfaHdfZ2F0 ZTIoInByZTEiLAkgICAgICAgInByZV9heGkiLAkgICAgYmFzZSArIDB4ODAsIDE4KTsNCisJCWh3 c1tJTVg2UURMX0NMS19QUkUyXSA9IGlteF9jbGtfaHdfZ2F0ZTIoInByZTIiLAkgICAgICAgInBy ZV9heGkiLCAgICAgICAgIGJhc2UgKyAweDgwLCAyMCk7DQorCQlod3NbSU1YNlFETF9DTEtfUFJF M10gPSBpbXhfY2xrX2h3X2dhdGUyKCJwcmUzIiwJICAgICAgICJwcmVfYXhpIiwJICAgIGJhc2Ug KyAweDgwLCAyMik7DQorCQlod3NbSU1YNlFETF9DTEtfUFJHMF9BWEldID0gaW14X2Nsa19od19n YXRlMl9zaGFyZWQoInByZzBfYXhpIiwgICJpcHUxX3BvZGYiLCAgYmFzZSArIDB4ODAsIDI0LCAm c2hhcmVfY291bnRfcHJnMCk7DQorCQlod3NbSU1YNlFETF9DTEtfUFJHMV9BWEldID0gaW14X2Ns a19od19nYXRlMl9zaGFyZWQoInByZzFfYXhpIiwgICJpcHUyX3BvZGYiLCAgYmFzZSArIDB4ODAs IDI2LCAmc2hhcmVfY291bnRfcHJnMSk7DQorCQlod3NbSU1YNlFETF9DTEtfUFJHMF9BUEJdID0g aW14X2Nsa19od19nYXRlMl9zaGFyZWQoInByZzBfYXBiIiwgICJpcGciLAkgICAgYmFzZSArIDB4 ODAsIDI0LCAmc2hhcmVfY291bnRfcHJnMCk7DQorCQlod3NbSU1YNlFETF9DTEtfUFJHMV9BUEJd ID0gaW14X2Nsa19od19nYXRlMl9zaGFyZWQoInByZzFfYXBiIiwgICJpcGciLAkgICAgYmFzZSAr IDB4ODAsIDI2LCAmc2hhcmVfY291bnRfcHJnMSk7DQogCX0NCi0JY2xrW0lNWDZRRExfQ0xLX0NL TzFdICAgICAgICAgPSBpbXhfY2xrX2dhdGUoImNrbzEiLCAgICAgICAgICAgImNrbzFfcG9kZiIs ICAgICAgICAgYmFzZSArIDB4NjAsIDcpOw0KLQljbGtbSU1YNlFETF9DTEtfQ0tPMl0gICAgICAg ICA9IGlteF9jbGtfZ2F0ZSgiY2tvMiIsICAgICAgICAgICAiY2tvMl9wb2RmIiwgICAgICAgICBi YXNlICsgMHg2MCwgMjQpOw0KKwlod3NbSU1YNlFETF9DTEtfQ0tPMV0gICAgICAgICA9IGlteF9j bGtfaHdfZ2F0ZSgiY2tvMSIsICAgICAgICAgICAiY2tvMV9wb2RmIiwgICAgICAgICBiYXNlICsg MHg2MCwgNyk7DQorCWh3c1tJTVg2UURMX0NMS19DS08yXSAgICAgICAgID0gaW14X2Nsa19od19n YXRlKCJja28yIiwgICAgICAgICAgICJja28yX3BvZGYiLCAgICAgICAgIGJhc2UgKyAweDYwLCAy NCk7DQogDQogCS8qDQogCSAqIFRoZSBncHRfM20gY2xvY2sgaXMgbm90IGF2YWlsYWJsZSBvbiBp Lk1YNlEgVE8xLjAuICBMZXQncyBwb2ludCBpdA0KIAkgKiB0byBjbG9jayBncHRfaXBnX3BlciB0 byBlYXNlIHRoZSBncHQgZHJpdmVyIGNvZGUuDQogCSAqLw0KIAlpZiAoY2xrX29uX2lteDZxKCkg JiYgaW14X2dldF9zb2NfcmV2aXNpb24oKSA9PSBJTVhfQ0hJUF9SRVZJU0lPTl8xXzApDQotCQlj bGtbSU1YNlFETF9DTEtfR1BUXzNNXSA9IGNsa1tJTVg2UURMX0NMS19HUFRfSVBHX1BFUl07DQor CQlod3NbSU1YNlFETF9DTEtfR1BUXzNNXSA9IGh3c1tJTVg2UURMX0NMS19HUFRfSVBHX1BFUl07 DQogDQotCWlteF9jaGVja19jbG9ja3MoY2xrLCBBUlJBWV9TSVpFKGNsaykpOw0KKwlpbXhfY2hl Y2tfY2xrX2h3cyhod3MsIElNWDZRRExfQ0xLX0VORCk7DQogDQotCWNsa19kYXRhLmNsa3MgPSBj bGs7DQotCWNsa19kYXRhLmNsa19udW0gPSBBUlJBWV9TSVpFKGNsayk7DQotCW9mX2Nsa19hZGRf cHJvdmlkZXIobnAsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsICZjbGtfZGF0YSk7DQorCW9mX2Ns a19hZGRfaHdfcHJvdmlkZXIobnAsIG9mX2Nsa19od19vbmVjZWxsX2dldCwgY2xrX2h3X2RhdGEp Ow0KIA0KLQljbGtfcmVnaXN0ZXJfY2xrZGV2KGNsa1tJTVg2UURMX0NMS19FTkVUX1JFRl0sICJl bmV0X3JlZiIsIE5VTEwpOw0KKwljbGtfaHdfcmVnaXN0ZXJfY2xrZGV2KGh3c1tJTVg2UURMX0NM S19FTkVUX1JFRl0sICJlbmV0X3JlZiIsIE5VTEwpOw0KIA0KLQljbGtfc2V0X3JhdGUoY2xrW0lN WDZRRExfQ0xLX1BMTDNfUEZEMV81NDBNXSwgNTQwMDAwMDAwKTsNCisJY2xrX3NldF9yYXRlKGh3 c1tJTVg2UURMX0NMS19QTEwzX1BGRDFfNTQwTV0tPmNsaywgNTQwMDAwMDAwKTsNCiAJaWYgKGNs a19vbl9pbXg2ZGwoKSkNCi0JCWNsa19zZXRfcGFyZW50KGNsa1tJTVg2UURMX0NMS19JUFUxX1NF TF0sIGNsa1tJTVg2UURMX0NMS19QTEwzX1BGRDFfNTQwTV0pOw0KKwkJY2xrX3NldF9wYXJlbnQo aHdzW0lNWDZRRExfQ0xLX0lQVTFfU0VMXS0+Y2xrLCBod3NbSU1YNlFETF9DTEtfUExMM19QRkQx XzU0ME1dLT5jbGspOw0KIA0KLQljbGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfSVBVMV9E STBfUFJFX1NFTF0sIGNsa1tJTVg2UURMX0NMS19QTEw1X1ZJREVPX0RJVl0pOw0KLQljbGtfc2V0 X3BhcmVudChjbGtbSU1YNlFETF9DTEtfSVBVMV9ESTFfUFJFX1NFTF0sIGNsa1tJTVg2UURMX0NM S19QTEw1X1ZJREVPX0RJVl0pOw0KLQljbGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfSVBV Ml9ESTBfUFJFX1NFTF0sIGNsa1tJTVg2UURMX0NMS19QTEw1X1ZJREVPX0RJVl0pOw0KLQljbGtf c2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfSVBVMl9ESTFfUFJFX1NFTF0sIGNsa1tJTVg2UURM X0NMS19QTEw1X1ZJREVPX0RJVl0pOw0KLQljbGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtf SVBVMV9ESTBfU0VMXSwgY2xrW0lNWDZRRExfQ0xLX0lQVTFfREkwX1BSRV0pOw0KLQljbGtfc2V0 X3BhcmVudChjbGtbSU1YNlFETF9DTEtfSVBVMV9ESTFfU0VMXSwgY2xrW0lNWDZRRExfQ0xLX0lQ VTFfREkxX1BSRV0pOw0KLQljbGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfSVBVMl9ESTBf U0VMXSwgY2xrW0lNWDZRRExfQ0xLX0lQVTJfREkwX1BSRV0pOw0KLQljbGtfc2V0X3BhcmVudChj bGtbSU1YNlFETF9DTEtfSVBVMl9ESTFfU0VMXSwgY2xrW0lNWDZRRExfQ0xLX0lQVTJfREkxX1BS RV0pOw0KKwljbGtfc2V0X3BhcmVudChod3NbSU1YNlFETF9DTEtfSVBVMV9ESTBfUFJFX1NFTF0t PmNsaywgaHdzW0lNWDZRRExfQ0xLX1BMTDVfVklERU9fRElWXS0+Y2xrKTsNCisJY2xrX3NldF9w YXJlbnQoaHdzW0lNWDZRRExfQ0xLX0lQVTFfREkxX1BSRV9TRUxdLT5jbGssIGh3c1tJTVg2UURM X0NMS19QTEw1X1ZJREVPX0RJVl0tPmNsayk7DQorCWNsa19zZXRfcGFyZW50KGh3c1tJTVg2UURM X0NMS19JUFUyX0RJMF9QUkVfU0VMXS0+Y2xrLCBod3NbSU1YNlFETF9DTEtfUExMNV9WSURFT19E SVZdLT5jbGspOw0KKwljbGtfc2V0X3BhcmVudChod3NbSU1YNlFETF9DTEtfSVBVMl9ESTFfUFJF X1NFTF0tPmNsaywgaHdzW0lNWDZRRExfQ0xLX1BMTDVfVklERU9fRElWXS0+Y2xrKTsNCisJY2xr X3NldF9wYXJlbnQoaHdzW0lNWDZRRExfQ0xLX0lQVTFfREkwX1NFTF0tPmNsaywgaHdzW0lNWDZR RExfQ0xLX0lQVTFfREkwX1BSRV0tPmNsayk7DQorCWNsa19zZXRfcGFyZW50KGh3c1tJTVg2UURM X0NMS19JUFUxX0RJMV9TRUxdLT5jbGssIGh3c1tJTVg2UURMX0NMS19JUFUxX0RJMV9QUkVdLT5j bGspOw0KKwljbGtfc2V0X3BhcmVudChod3NbSU1YNlFETF9DTEtfSVBVMl9ESTBfU0VMXS0+Y2xr LCBod3NbSU1YNlFETF9DTEtfSVBVMl9ESTBfUFJFXS0+Y2xrKTsNCisJY2xrX3NldF9wYXJlbnQo aHdzW0lNWDZRRExfQ0xLX0lQVTJfREkxX1NFTF0tPmNsaywgaHdzW0lNWDZRRExfQ0xLX0lQVTJf REkxX1BSRV0tPmNsayk7DQogDQogCS8qDQogCSAqIFRoZSBncG1pIG5lZWRzIDEwME1IeiBmcmVx dWVuY3kgaW4gdGhlIEVETy9TeW5jIG1vZGUsDQogCSAqIFdlIGNhbiBub3QgZ2V0IHRoZSAxMDBN SHogZnJvbSB0aGUgcGxsMl9wZmQwXzM1Mm0uDQogCSAqIFNvIGNob29zZSBwbGwyX3BmZDJfMzk2 bSBhcyBlbmZjX3NlbCdzIHBhcmVudC4NCiAJICovDQotCWNsa19zZXRfcGFyZW50KGNsa1tJTVg2 UURMX0NMS19FTkZDX1NFTF0sIGNsa1tJTVg2UURMX0NMS19QTEwyX1BGRDJfMzk2TV0pOw0KKwlj bGtfc2V0X3BhcmVudChod3NbSU1YNlFETF9DTEtfRU5GQ19TRUxdLT5jbGssIGh3c1tJTVg2UURM X0NMS19QTEwyX1BGRDJfMzk2TV0tPmNsayk7DQogDQogCWlmIChJU19FTkFCTEVEKENPTkZJR19V U0JfTVhTX1BIWSkpIHsNCi0JCWNsa19wcmVwYXJlX2VuYWJsZShjbGtbSU1YNlFETF9DTEtfVVNC UEhZMV9HQVRFXSk7DQotCQljbGtfcHJlcGFyZV9lbmFibGUoY2xrW0lNWDZRRExfQ0xLX1VTQlBI WTJfR0FURV0pOw0KKwkJY2xrX3ByZXBhcmVfZW5hYmxlKGh3c1tJTVg2UURMX0NMS19VU0JQSFkx X0dBVEVdLT5jbGspOw0KKwkJY2xrX3ByZXBhcmVfZW5hYmxlKGh3c1tJTVg2UURMX0NMS19VU0JQ SFkyX0dBVEVdLT5jbGspOw0KIAl9DQogDQogCS8qDQogCSAqIExldCdzIGluaXRpYWxseSBzZXQg dXAgQ0xLTyB3aXRoIE9TQzI0TSwgc2luY2UgdGhpcyBjb25maWd1cmF0aW9uDQogCSAqIGlzIHdp ZGVseSB1c2VkIGJ5IGlteDZxIGJvYXJkIGRlc2lnbnMgdG8gY2xvY2sgYXVkaW8gY29kZWMuDQog CSAqLw0KLQlyZXQgPSBjbGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfQ0tPMl9TRUxdLCBj bGtbSU1YNlFETF9DTEtfT1NDXSk7DQorCXJldCA9IGNsa19zZXRfcGFyZW50KGh3c1tJTVg2UURM X0NMS19DS08yX1NFTF0tPmNsaywgaHdzW0lNWDZRRExfQ0xLX09TQ10tPmNsayk7DQogCWlmICgh cmV0KQ0KLQkJcmV0ID0gY2xrX3NldF9wYXJlbnQoY2xrW0lNWDZRRExfQ0xLX0NLT10sIGNsa1tJ TVg2UURMX0NMS19DS08yXSk7DQorCQlyZXQgPSBjbGtfc2V0X3BhcmVudChod3NbSU1YNlFETF9D TEtfQ0tPXS0+Y2xrLCBod3NbSU1YNlFETF9DTEtfQ0tPMl0tPmNsayk7DQogCWlmIChyZXQpDQog CQlwcl93YXJuKCJmYWlsZWQgdG8gc2V0IHVwIENMS086ICVkXG4iLCByZXQpOw0KIA0KIAkvKiBB dWRpby1yZWxhdGVkIGNsb2NrcyBjb25maWd1cmF0aW9uICovDQotCWNsa19zZXRfcGFyZW50KGNs a1tJTVg2UURMX0NMS19TUERJRl9TRUxdLCBjbGtbSU1YNlFETF9DTEtfUExMM19QRkQzXzQ1NE1d KTsNCisJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZRRExfQ0xLX1NQRElGX1NFTF0tPmNsaywgaHdz W0lNWDZRRExfQ0xLX1BMTDNfUEZEM180NTRNXS0+Y2xrKTsNCiANCiAJLyogQWxsIGV4aXN0aW5n IGJvYXJkcyB3aXRoIFBDSWUgdXNlIExWRFMxICovDQogCWlmIChJU19FTkFCTEVEKENPTkZJR19Q Q0lfSU1YNikpDQotCQljbGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfTFZEUzFfU0VMXSwg Y2xrW0lNWDZRRExfQ0xLX1NBVEFfUkVGXzEwME1dKTsNCisJCWNsa19zZXRfcGFyZW50KGh3c1tJ TVg2UURMX0NMS19MVkRTMV9TRUxdLT5jbGssIGh3c1tJTVg2UURMX0NMS19TQVRBX1JFRl8xMDBN XS0+Y2xrKTsNCiANCiAJLyoNCiAJICogSW5pdGlhbGl6ZSB0aGUgR1BVIGNsb2NrIG11eGVzLCBz byB0aGF0IHRoZSBtYXhpbXVtIHNwZWNpZmllZCBjbG9jaw0KIAkgKiByYXRlcyBmb3IgdGhlIHJl c3BlY3RpdmUgU29DIGFyZSBub3QgZXhjZWVkZWQuDQogCSAqLw0KIAlpZiAoY2xrX29uX2lteDZk bCgpKSB7DQotCQljbGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfR1BVM0RfQ09SRV9TRUxd LA0KLQkJCSAgICAgICBjbGtbSU1YNlFETF9DTEtfUExMMl9QRkQxXzU5NE1dKTsNCi0JCWNsa19z ZXRfcGFyZW50KGNsa1tJTVg2UURMX0NMS19HUFUyRF9DT1JFX1NFTF0sDQotCQkJICAgICAgIGNs a1tJTVg2UURMX0NMS19QTEwyX1BGRDFfNTk0TV0pOw0KKwkJY2xrX3NldF9wYXJlbnQoaHdzW0lN WDZRRExfQ0xLX0dQVTNEX0NPUkVfU0VMXS0+Y2xrLA0KKwkJCSAgICAgICBod3NbSU1YNlFETF9D TEtfUExMMl9QRkQxXzU5NE1dLT5jbGspOw0KKwkJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZRRExf Q0xLX0dQVTJEX0NPUkVfU0VMXS0+Y2xrLA0KKwkJCSAgICAgICBod3NbSU1YNlFETF9DTEtfUExM Ml9QRkQxXzU5NE1dLT5jbGspOw0KIAl9IGVsc2UgaWYgKGNsa19vbl9pbXg2cSgpKSB7DQotCQlj bGtfc2V0X3BhcmVudChjbGtbSU1YNlFETF9DTEtfR1BVM0RfQ09SRV9TRUxdLA0KLQkJCSAgICAg ICBjbGtbSU1YNlFETF9DTEtfTU1EQ19DSDBfQVhJXSk7DQotCQljbGtfc2V0X3BhcmVudChjbGtb SU1YNlFETF9DTEtfR1BVM0RfU0hBREVSX1NFTF0sDQotCQkJICAgICAgIGNsa1tJTVg2UURMX0NM S19QTEwyX1BGRDFfNTk0TV0pOw0KLQkJY2xrX3NldF9wYXJlbnQoY2xrW0lNWDZRRExfQ0xLX0dQ VTJEX0NPUkVfU0VMXSwNCi0JCQkgICAgICAgY2xrW0lNWDZRRExfQ0xLX1BMTDNfVVNCX09UR10p Ow0KKwkJY2xrX3NldF9wYXJlbnQoaHdzW0lNWDZRRExfQ0xLX0dQVTNEX0NPUkVfU0VMXS0+Y2xr LA0KKwkJCSAgICAgICBod3NbSU1YNlFETF9DTEtfTU1EQ19DSDBfQVhJXS0+Y2xrKTsNCisJCWNs a19zZXRfcGFyZW50KGh3c1tJTVg2UURMX0NMS19HUFUzRF9TSEFERVJfU0VMXS0+Y2xrLA0KKwkJ CSAgICAgICBod3NbSU1YNlFETF9DTEtfUExMMl9QRkQxXzU5NE1dLT5jbGspOw0KKwkJY2xrX3Nl dF9wYXJlbnQoaHdzW0lNWDZRRExfQ0xLX0dQVTJEX0NPUkVfU0VMXS0+Y2xrLA0KKwkJCSAgICAg ICBod3NbSU1YNlFETF9DTEtfUExMM19VU0JfT1RHXS0+Y2xrKTsNCisJfQ0KKw0KKwlmb3IgKGkg PSAwOyBpIDwgQVJSQVlfU0laRSh1YXJ0X2Nsa19pZHMpOyBpKyspIHsNCisJCWludCBpbmRleCA9 IHVhcnRfY2xrX2lkc1tpXTsNCisNCisJCXVhcnRfY2xrc1tpXSA9ICZod3NbaW5kZXhdLT5jbGs7 DQogCX0NCiANCiAJaW14X3JlZ2lzdGVyX3VhcnRfY2xvY2tzKHVhcnRfY2xrcyk7DQotLSANCjIu Ny40DQoNCg==