From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: zailiang.sun@intel.com) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by groups.io with SMTP; Sun, 12 May 2019 19:52:43 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 May 2019 19:52:42 -0700 X-ExtLoop1: 1 Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga005.jf.intel.com with ESMTP; 12 May 2019 19:52:39 -0700 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 12 May 2019 19:52:25 -0700 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 12 May 2019 19:52:19 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.33]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.136]) with mapi id 14.03.0415.000; Mon, 13 May 2019 10:52:17 +0800 From: "Sun, Zailiang" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Qian, Yi" , "Kubacki, Michael A" , Leif Lindholm , "Ard Biesheuvel" Subject: Re: [edk2-platforms: Patch 5/8] Platform/Vlv2DeviceRefCodePkg: Import Vlv2DeviceRefCodePkg from edk2 Thread-Topic: [edk2-platforms: Patch 5/8] Platform/Vlv2DeviceRefCodePkg: Import Vlv2DeviceRefCodePkg from edk2 Thread-Index: AQHVBuFeWHb5RXJLOE+4zZqv2ekLEqZoX7FQ Date: Mon, 13 May 2019 02:52:16 +0000 Message-ID: <7CB7EF03E15B5D48981329A508747A9850C63ADE@SHSMSX104.ccr.corp.intel.com> References: <20190510033435.24112-1-michael.d.kinney@intel.com> <20190510033435.24112-6-michael.d.kinney@intel.com> In-Reply-To: <20190510033435.24112-6-michael.d.kinney@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: zailiang.sun@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IFphaWxpYW5nIFN1biA8emFpbGlhbmcuc3VuQGludGVsLmNvbT4NCg0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRA0KPiBT ZW50OiBGcmlkYXksIE1heSAxMCwgMjAxOSAxMTozNSBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91 cHMuaW8NCj4gQ2M6IFN1biwgWmFpbGlhbmcgPHphaWxpYW5nLnN1bkBpbnRlbC5jb20+OyBRaWFu LCBZaSA8eWkucWlhbkBpbnRlbC5jb20+Ow0KPiBLdWJhY2tpLCBNaWNoYWVsIEEgPG1pY2hhZWwu YS5rdWJhY2tpQGludGVsLmNvbT47IExlaWYgTGluZGhvbG0NCj4gPGxlaWYubGluZGhvbG1AbGlu YXJvLm9yZz47IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiBT dWJqZWN0OiBbZWRrMi1wbGF0Zm9ybXM6IFBhdGNoIDUvOF0gUGxhdGZvcm0vVmx2MkRldmljZVJl ZkNvZGVQa2c6DQo+IEltcG9ydCBWbHYyRGV2aWNlUmVmQ29kZVBrZyBmcm9tIGVkazINCj4gDQo+ IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NA0KPiAN Cj4gSW1wb3J0IFZsdjJEZXZpY2VSZWZDb2RlUGtnIGZyb20gZWRrMi9tYXN0ZXIuDQo+IA0KPiBD YzogWmFpbGlhbmcgU3VuIDx6YWlsaWFuZy5zdW5AaW50ZWwuY29tPg0KPiBDYzogWWkgUWlhbiA8 eWkucWlhbkBpbnRlbC5jb20+DQo+IENjOiBNaWNoYWVsIEt1YmFja2kgPG1pY2hhZWwuYS5rdWJh Y2tpQGludGVsLmNvbT4NCj4gQ2M6IExlaWYgTGluZGhvbG0gPGxlaWYubGluZGhvbG1AbGluYXJv Lm9yZz4NCj4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0K PiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT4NCj4gLS0tDQo+ICAuLi4vQWNwaVRhYmxlc1BDQVQvOThfTElOSy5BU0wgICAgICAgICAg ICAgICAgfCAgNjE3ICsrKysrKysrKw0KPiAgLi4uL0FjcGlUYWJsZXNQQ0FUL0FjcGlUYWJsZVBs YXRmb3JtLmggICAgICAgIHwgICA3MCArDQo+ICAuLi4vQWNwaVRhYmxlc1BDQVQvQWNwaVRhYmxl cy5pbmYgICAgICAgICAgICAgfCAgIDQwICsNCj4gIC4uLi9BY3BpVGFibGVzUENBVC9DUFUuYXNs ICAgICAgICAgICAgICAgICAgICB8ICAgNDkgKw0KPiAgLi4uL0FjcGlUYWJsZXNQQ0FUL0RTRFQu QVNMICAgICAgICAgICAgICAgICAgIHwgICA3NSArDQo+ICAuLi4vQWNwaVRhYmxlc1BDQVQvRmFj cC9GYWNwLmFzbGMgICAgICAgICAgICAgfCAgMTg4ICsrKw0KPiAgLi4uL0FjcGlUYWJsZXNQQ0FU L0ZhY3MvRmFjcy5hc2xjICAgICAgICAgICAgIHwgICA4NCArKw0KPiAgLi4uL0FjcGlUYWJsZXNQ Q0FUL0dsb2JsTnZzLmFzbCAgICAgICAgICAgICAgIHwgIDM0OCArKysrKw0KPiAgLi4uL0FjcGlU YWJsZXNQQ0FUL0dwZS5hc2wgICAgICAgICAgICAgICAgICAgIHwgICA5OSArKw0KPiAgLi4uL0Fj cGlUYWJsZXNQQ0FUL0hPU1RfQlVTLkFTTCAgICAgICAgICAgICAgIHwgIDM0NyArKysrKw0KPiAg Li4uL0FjcGlUYWJsZXNQQ0FUL0hwZXQvSHBldC5hc2xjICAgICAgICAgICAgIHwgICA2MyArDQo+ ICAuLi4vQWNwaVRhYmxlc1BDQVQvSU5URUxHRlguQVNMICAgICAgICAgICAgICAgfCAgODc5ICsr KysrKysrKysrKw0KPiAgLi4uL0FjcGlUYWJsZXNQQ0FUL0lOVEVMSVNQRGV2Mi5BU0wgICAgICAg ICAgIHwgICA3MSArDQo+ICAuLi4vQWNwaVRhYmxlc1BDQVQvSWdkT0dCREEuQVNMICAgICAgICAg ICAgICAgfCAgMTU1ICsrKw0KPiAgLi4uL0FjcGlUYWJsZXNQQ0FUL0lnZE9NT0JGLkFTTCAgICAg ICAgICAgICAgIHwgIDQ4NSArKysrKysrDQo+ICAuLi4vQWNwaVRhYmxlc1BDQVQvSWdkT1NCQ0Iu QVNMICAgICAgICAgICAgICAgfCAgMjc0ICsrKysNCj4gIC4uLi9BY3BpVGFibGVzUENBVC9JZ2RP cFJuLkFTTCAgICAgICAgICAgICAgICB8ICAyOTkgKysrKw0KPiAgLi4uL0FjcGlUYWJsZXNQQ0FU L0lvVFZpcnR1YWxEZXZpY2UuYXNsICAgICAgIHwgIDE3MSArKysNCj4gIC4uLi9BY3BpVGFibGVz UENBVC9MUENfREVWLkFTTCAgICAgICAgICAgICAgICB8ICAxNTEgKysrDQo+ICAuLi4vQWNwaVRh Ymxlc1BDQVQvTHBjQi5hc2wgICAgICAgICAgICAgICAgICAgfCAgIDU5ICsNCj4gIC4uLi9BY3Bp VGFibGVzUENBVC9McGl0L0xwaXQuYXNsYyAgICAgICAgICAgICB8ICAyMjMgKysrDQo+ICAuLi4v QWNwaVRhYmxlc1BDQVQvTWFkdC9NYWR0LmggICAgICAgICAgICAgICAgfCAgMTg5ICsrKw0KPiAg Li4uL0FjcGlUYWJsZXNQQ0FUL01hZHQvTWFkdDMwLmFzbGMgICAgICAgICAgIHwgIDE3OCArKysN Cj4gIC4uLi9BY3BpVGFibGVzUENBVC9NY2ZnL01jZmcuYXNsYyAgICAgICAgICAgICB8ICAgODYg KysNCj4gIC4uLi9BY3BpVGFibGVzUENBVC9QQ0lfRFJDLkFTTCAgICAgICAgICAgICAgICB8ICAg OTAgKysNCj4gIC4uLi9BY3BpVGFibGVzUENBVC9QY2guYXNsICAgICAgICAgICAgICAgICAgICB8 ICA2ODYgKysrKysrKysrKw0KPiAgLi4uL0FjcGlUYWJsZXNQQ0FUL1BjaEF1ZGlvLmFzbCAgICAg ICAgICAgICAgIHwgICAzNiArDQo+ICAuLi4vQWNwaVRhYmxlc1BDQVQvUGNoRWhjaS5hc2wgICAg ICAgICAgICAgICAgfCAgMjY5ICsrKysNCj4gIC4uLi9BY3BpVGFibGVzUENBVC9QY2hMcHNzLmFz bCAgICAgICAgICAgICAgICB8IDEwOTMgKysrKysrKysrKysrKysrDQo+ICAuLi4vQWNwaVRhYmxl c1BDQVQvUGNoUGNpZS5hc2wgICAgICAgICAgICAgICAgfCAgIDUwICsNCj4gIC4uLi9BY3BpVGFi bGVzUENBVC9QY2hTY2MuYXNsICAgICAgICAgICAgICAgICB8ICA2MTAgKysrKysrKysrDQo+ICAu Li4vQWNwaVRhYmxlc1BDQVQvUGNoU21iLmFzbCAgICAgICAgICAgICAgICAgfCAgODMzICsrKysr KysrKysrKw0KPiAgLi4uL0FjcGlUYWJsZXNQQ0FUL1BjaFhoY2kuYXNsICAgICAgICAgICAgICAg IHwgIDM3OSArKysrKysNCj4gIC4uLi9BY3BpVGFibGVzUENBVC9QY2lUcmVlLmFzbCAgICAgICAg ICAgICAgICB8ICAzNzcgKysrKysrDQo+ICAuLi4vQWNwaVRhYmxlc1BDQVQvUGxhdGZvcm0uYXNs ICAgICAgICAgICAgICAgfCAgNzAzICsrKysrKysrKysNCj4gIC4uLi9BY3BpVGFibGVzUENBVC9S VEQzLmFzbCAgICAgICAgICAgICAgICAgICB8ICAxOTcgKysrDQo+ICAuLi4vQWNwaVRhYmxlc1BD QVQvUmhQcm94eS5hc2wgICAgICAgICAgICAgICAgfCAgMTYwICsrKw0KPiAgLi4uL0FjcGlUYWJs ZXNQQ0FUL1RIRVJNQUwuQVNMICAgICAgICAgICAgICAgIHwgIDEzNyArKw0KPiAgLi4uL0FjcGlU YWJsZXNQQ0FUL1VzYlNiZC5hc2wgICAgICAgICAgICAgICAgIHwgICA5MyArKw0KPiAgLi4uL0Fj cGlUYWJsZXNQQ0FUL1ZpZGVvLmFzbCAgICAgICAgICAgICAgICAgIHwgICAzNCArDQo+ICAuLi4v QWNwaVRhYmxlc1BDQVQvVmx2LmFzbCAgICAgICAgICAgICAgICAgICAgfCAgIDM5ICsNCj4gIC4u Li9BY3BpVGFibGVzUENBVC9Xc210L1dzbXQuYXNsYyAgICAgICAgICAgICB8ICAgNTQgKw0KPiAg Li4uL0FjcGlUYWJsZXNQQ0FUL3Rva2VuLmFzbCAgICAgICAgICAgICAgICAgIHwgICAzOSArDQo+ ICAuLi4vR3VpZC9WbHYyRGV2aWNlUmVmQ29kZVBrZ1Rva2VuU3BhY2UuaCAgICAgfCAgIDI0ICsN Cj4gIC4uLi9JbmNsdWRlL1BwaS9QdHRQYXNzVGhydVBwaS5oICAgICAgICAgICAgICB8ICAgOTIg KysNCj4gIC4uLi9JbmNsdWRlL1BwaS9mVFBNUG9saWN5LmggICAgICAgICAgICAgICAgICB8ICAg MjYgKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvUHR0UGFzc1RocnUuaCAgICAgICAgICAgIHwg ICA5MSArKw0KPiAgLi4uL0d1aWQvUG93ZXJNYW5hZ2VtZW50QWNwaVRhYmxlU3RvcmFnZS5oICAg IHwgICAyNyArDQo+ICAuLi4vQ1BVL0luY2x1ZGUvUHBpL1ZsdlBvbGljeS5oICAgICAgICAgICAg ICAgfCAgMTA0ICsrDQo+ICAuLi4vQ1BVL0luY2x1ZGUvUHJvdG9jb2wvUHBtUGxhdGZvcm1Qb2xp Y3kuaCAgfCAgMTMyICsrDQo+ICAuLi4vVmFsbGV5VmlldzJTb2MvQ1BVL0luY2x1ZGUvVHlwZXMu aCAgICAgICAgfCAgIDU1ICsNCj4gIC4uLi9BY3BpVGFibGVzL1Bvd2VyTWFuYWdlbWVudEFjcGlU YWJsZXMuaW5mICB8ICAgMzkgKw0KPiAgLi4uL1Bvd2VyTWFuYWdlbWVudC9BY3BpVGFibGVzL1Nz ZHQvQXBDc3QuYXNsIHwgIDExMCArKw0KPiAgLi4uL1Bvd2VyTWFuYWdlbWVudC9BY3BpVGFibGVz L1NzZHQvQXBJc3QuYXNsIHwgIDE2NiArKysNCj4gIC4uLi9Qb3dlck1hbmFnZW1lbnQvQWNwaVRh Ymxlcy9Tc2R0L0FwVHN0LmFzbCB8ICAyNjIgKysrKw0KPiAgLi4uL0FjcGlUYWJsZXMvU3NkdC9D cHUwQ3N0LmFzbCAgICAgICAgICAgICAgIHwgIDI3NCArKysrDQo+ICAuLi4vQWNwaVRhYmxlcy9T c2R0L0NwdTBJc3QuYXNsICAgICAgICAgICAgICAgfCAgMjYwICsrKysNCj4gIC4uLi9BY3BpVGFi bGVzL1NzZHQvQ3B1MFRzdC5hc2wgICAgICAgICAgICAgICB8ICAyMzUgKysrKw0KPiAgLi4uL1Bv d2VyTWFuYWdlbWVudC9BY3BpVGFibGVzL1NzZHQvQ3B1UG0uYXNsIHwgIDc5MyArKysrKysrKysr Kw0KPiAgLi4uL0luY2x1ZGUvUGxhdGZvcm1CYXNlQWRkcmVzc2VzLmggICAgICAgICAgIHwgICA5 MiArKw0KPiAgLi4uL05vcnRoQ2x1c3Rlci9JbmNsdWRlL1BwaS9DYXBzdWxlLmggICAgICAgIHwg ICA2MCArDQo+ICAuLi4vSW5jbHVkZS9QcGkvUGxhdGZvcm1NZW1vcnlSYW5nZS5oICAgICAgICAg fCAgMTQ0ICsrDQo+ICAuLi4vSW5jbHVkZS9QcGkvUGxhdGZvcm1NZW1vcnlTaXplLmggICAgICAg ICAgfCAgIDQ2ICsNCj4gIC4uLi9Ob3J0aENsdXN0ZXIvSW5jbHVkZS9QcGkvU21tQWNjZXNzLmgg ICAgICB8ICAxNjUgKysrDQo+ICAuLi4vTm9ydGhDbHVzdGVyL0luY2x1ZGUvUHBpL1Zsdk1taW9Q b2xpY3kuaCAgfCAgIDM5ICsNCj4gIC4uLi9Ob3J0aENsdXN0ZXIvSW5jbHVkZS9QcGkvVmx2UGVp SW5pdC5oICAgICB8ICAgMzUgKw0KPiAgLi4uL05vcnRoQ2x1c3Rlci9JbmNsdWRlL1BwaS9WbHZQ b2xpY3kuaCAgICAgIHwgIDEwNiArKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvSWdkT3BSZWdp b24uaCAgICAgICAgICAgIHwgIDIxMyArKysNCj4gIC4uLi9Ob3J0aENsdXN0ZXIvSW5jbHVkZS9Q cm90b2NvbC9NZW1JbmZvLmggICB8ICAgODMgKysNCj4gIC4uLi9JbmNsdWRlL1Byb3RvY29sL1Bs YXRmb3JtR29wUG9saWN5LmggICAgICB8ICAgNjcgKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wv Vmx2UGxhdGZvcm1Qb2xpY3kuaCAgICAgIHwgIDEwNSArKw0KPiAgLi4uL05vcnRoQ2x1c3Rlci9J bmNsdWRlL1ZhbGxleXZpZXcuaCAgICAgICAgIHwgICA1NSArDQo+ICAuLi4vTm9ydGhDbHVzdGVy L0luY2x1ZGUvVmx2QWNjZXNzLmggICAgICAgICAgfCAgMjU0ICsrKysNCj4gIC4uLi9JbmNsdWRl L1ZsdkNvbW1vbkRlZmluaXRpb25zLmggICAgICAgICAgICB8ICAyNTIgKysrKw0KPiAgLi4uL1Nv dXRoQ2x1c3Rlci9JbmNsdWRlL0d1aWQvUGNoSW5pdFZhci5oICAgIHwgICA0OCArDQo+ICAuLi4v SW5jbHVkZS9HdWlkL1NhdGFDb250cm9sbGVyR3VpZC5oICAgICAgICAgfCAgIDM0ICsNCj4gIC4u Li9Tb3V0aENsdXN0ZXIvSW5jbHVkZS9HdWlkL1NtYnVzQXJwTWFwLmggICB8ICAgMzAgKw0KPiAg Li4uL1NvdXRoQ2x1c3Rlci9JbmNsdWRlL0d1aWQvVmx2MlZhcmlhYmxlLmggIHwgICAyOCArDQo+ ICAuLi4vSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL0NlQXRhLmggICAgICAgICAgfCAgMTI2ICsr DQo+ICAuLi4vSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL01tYy5oICAgICAgICAgICAgfCAgMzQ5 ICsrKysrDQo+ICAuLi4vSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL1NkQ2FyZC5oICAgICAgICAg fCAgMTU3ICsrKw0KPiAgLi4uL1NvdXRoQ2x1c3Rlci9JbmNsdWRlL0xpYnJhcnkvSTJDTGliLmgg ICAgIHwgIDE2OSArKysNCj4gIC4uLi9JbmNsdWRlL0xpYnJhcnkvUGNoUGxhdGZvcm1MaWIuaCAg ICAgICAgICB8ICAxMTUgKysNCj4gIC4uLi9Tb3V0aENsdXN0ZXIvSW5jbHVkZS9QY2hBY2Nlc3Mu aCAgICAgICAgICB8ICA0NzEgKysrKysrKw0KPiAgLi4uL0luY2x1ZGUvUGNoQ29tbW9uRGVmaW5p dGlvbnMuaCAgICAgICAgICAgIHwgIDIxMCArKysNCj4gIC4uLi9Tb3V0aENsdXN0ZXIvSW5jbHVk ZS9QY2hSZWdzLmggICAgICAgICAgICB8ICAyMDUgKysrDQo+ICAuLi4vU291dGhDbHVzdGVyL0lu Y2x1ZGUvUGNoUmVncy9QY2hSZWdzSGRhLmggfCAgIDUwICsNCj4gIC4uLi9JbmNsdWRlL1BjaFJl Z3MvUGNoUmVnc0xwc3MuaCAgICAgICAgICAgICB8ICA0ODYgKysrKysrKw0KPiAgLi4uL0luY2x1 ZGUvUGNoUmVncy9QY2hSZWdzUGNpZS5oICAgICAgICAgICAgIHwgICA4MyArKw0KPiAgLi4uL1Nv dXRoQ2x1c3Rlci9JbmNsdWRlL1BjaFJlZ3MvUGNoUmVnc1BjdS5oIHwgMTIwMQ0KPiArKysrKysr KysrKysrKysrKw0KPiAgLi4uL0luY2x1ZGUvUGNoUmVncy9QY2hSZWdzUmNyYi5oICAgICAgICAg ICAgIHwgICA0OCArDQo+ICAuLi4vSW5jbHVkZS9QY2hSZWdzL1BjaFJlZ3NTYXRhLmggICAgICAg ICAgICAgfCAgMjQ1ICsrKysNCj4gIC4uLi9Tb3V0aENsdXN0ZXIvSW5jbHVkZS9QY2hSZWdzL1Bj aFJlZ3NTY2MuaCB8ICAgNTMgKw0KPiAgLi4uL0luY2x1ZGUvUGNoUmVncy9QY2hSZWdzU21idXMu aCAgICAgICAgICAgIHwgIDE0OSArKw0KPiAgLi4uL1NvdXRoQ2x1c3Rlci9JbmNsdWRlL1BjaFJl Z3MvUGNoUmVnc1NwaS5oIHwgIDExOSArKw0KPiAgLi4uL1NvdXRoQ2x1c3Rlci9JbmNsdWRlL1Bj aFJlZ3MvUGNoUmVnc1VzYi5oIHwgICA5MiArKw0KPiAgLi4uL1NvdXRoQ2x1c3Rlci9JbmNsdWRl L1BwaS9QY2hJbml0LmggICAgICAgIHwgICA3NSArDQo+ICAuLi4vU291dGhDbHVzdGVyL0luY2x1 ZGUvUHBpL1BjaFBlaUluaXQuaCAgICAgfCAgIDM0ICsNCj4gIC4uLi9JbmNsdWRlL1BwaS9QY2hQ bGF0Zm9ybVBvbGljeS5oICAgICAgICAgICB8ICAxNjEgKysrDQo+ICAuLi4vU291dGhDbHVzdGVy L0luY2x1ZGUvUHBpL1BjaFVzYlBvbGljeS5oICAgfCAgIDY5ICsNCj4gIC4uLi9Tb3V0aENsdXN0 ZXIvSW5jbHVkZS9QcGkvUGVpQmxvY2tJby5oICAgICB8ICAyMzAgKysrKw0KPiAgLi4uL1NvdXRo Q2x1c3Rlci9JbmNsdWRlL1BwaS9TZGhjLmggICAgICAgICAgIHwgIDM1OSArKysrKw0KPiAgLi4u L1NvdXRoQ2x1c3Rlci9JbmNsdWRlL1BwaS9TbWJ1c1BvbGljeS5oICAgIHwgICA0MCArDQo+ICAu Li4vU291dGhDbHVzdGVyL0luY2x1ZGUvUHBpL1NwaS5oICAgICAgICAgICAgfCAgIDQyICsNCj4g IC4uLi9JbmNsdWRlL1Byb3RvY29sL0FjdGl2ZUJpb3MuaCAgICAgICAgICAgICB8ICAxMjMgKysN Cj4gIC4uLi9JbmNsdWRlL1Byb3RvY29sL0FjdGl2ZUJpb3NQcm90b2NvbC5oICAgICB8ICAxMjUg KysNCj4gIC4uLi9Qcm90b2NvbC9EeGVQY2hQb2xpY3lVcGRhdGVQcm90b2NvbC5oICAgICB8ICAg NTEgKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvRW1tY0NhcmRJbmZvUHJvdG9jb2wuaCAgIHwg ICA0MiArDQo+ICAuLi4vU291dGhDbHVzdGVyL0luY2x1ZGUvUHJvdG9jb2wvR3Bpby5oICAgICAg fCAgMTYxICsrKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvSHdXYXRjaGRvZ1RpbWVyLmggICAg ICAgIHwgIDI5NCArKysrDQo+ICAuLi4vU291dGhDbHVzdGVyL0luY2x1ZGUvUHJvdG9jb2wvSTJj QnVzLmggICAgfCAgMTY0ICsrKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvUGNoRXh0ZW5kZWRS ZXNldC5oICAgICAgIHwgICA4NCArKw0KPiAgLi4uL1NvdXRoQ2x1c3Rlci9JbmNsdWRlL1Byb3Rv Y29sL1BjaEluZm8uaCAgIHwgICA2MCArDQo+ICAuLi4vSW5jbHVkZS9Qcm90b2NvbC9QY2hQbGF0 Zm9ybVBvbGljeS5oICAgICAgfCAgNTUwICsrKysrKysrDQo+ICAuLi4vU291dGhDbHVzdGVyL0lu Y2x1ZGUvUHJvdG9jb2wvUGNoUmVzZXQuaCAgfCAgMTE0ICsrDQo+ICAuLi4vSW5jbHVkZS9Qcm90 b2NvbC9QY2hTM1N1cHBvcnQuaCAgICAgICAgICAgfCAgMTMyICsrDQo+ICAuLi4vU291dGhDbHVz dGVyL0luY2x1ZGUvUHJvdG9jb2wvU2RIb3N0SW8uaCAgfCAgNDA5ICsrKysrKw0KPiAgLi4uL0lu Y2x1ZGUvUHJvdG9jb2wvU21iaW9zU2xvdFBvcHVsYXRpb24uaCAgIHwgICA0NyArDQo+ICAuLi4v SW5jbHVkZS9Qcm90b2NvbC9TbW1JY2huRGlzcGF0Y2hFeC5oICAgICAgfCAgMTU5ICsrKw0KPiAg Li4uL1NvdXRoQ2x1c3Rlci9JbmNsdWRlL1Byb3RvY29sL1NtbVNtYnVzLmggIHwgICAzOSArDQo+ ICAuLi4vU291dGhDbHVzdGVyL0luY2x1ZGUvUHJvdG9jb2wvU3BpLmggICAgICAgfCAgMjYwICsr KysNCj4gIC4uLi9Tb3V0aENsdXN0ZXIvSW5jbHVkZS9Qcm90b2NvbC9UY29SZXNldC5oICB8ICAg ODggKysNCj4gIC4uLi9Tb3V0aENsdXN0ZXIvSW5jbHVkZS9Sc2NpLmggICAgICAgICAgICAgICB8 ICAgMjggKw0KPiAgLi4uL1NvdXRoQ2x1c3Rlci9JbmNsdWRlL1RpYW5vQXBpLmggICAgICAgICAg IHwgICA2MSArDQo+ICAuLi4vVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjICAgICAgICAgICAgICAg ICAgfCAgMjMxICsrKysNCj4gIDEyNSBmaWxlcyBjaGFuZ2VkLCAyNDE4NSBpbnNlcnRpb25zKCsp DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9BY3BpVGFibGVzUENBVC85OF9MSU5LLkFTTA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvQWNwaVRh YmxlUGxhdGZvcm0uaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvQWNwaVRhYmxlcy5pbmYNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlU YWJsZXNQQ0FUL0NQVS5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0RTRFQuQVNMDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFi bGVzUENBVC9GYWNwL0ZhY3AuYXNsYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24v SW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvRmFjcy9GYWNzLmFzbGMN Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2Rl UGtnL0FjcGlUYWJsZXNQQ0FUL0dsb2JsTnZzLmFzbA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvR3BlLmFz bA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvQWNwaVRhYmxlc1BDQVQvSE9TVF9CVVMuQVNMDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9IcGV0 L0hwZXQuYXNsYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSU5URUxHRlguQVNMDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVz UENBVC9JTlRFTElTUERldjIuQVNMDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9JZ2RPR0JEQS5BU0wNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtn L0FjcGlUYWJsZXNQQ0FUL0lnZE9NT0JGLkFTTA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNp bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSWdkT1NCQ0Iu QVNMDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9BY3BpVGFibGVzUENBVC9JZ2RPcFJuLkFTTA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSW9U VmlydHVhbERldmljZS5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0xQQ19ERVYuQVNMDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3Bp VGFibGVzUENBVC9McGNCLmFzbA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvTHBpdC9McGl0LmFzbGMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtn L0FjcGlUYWJsZXNQQ0FUL01hZHQvTWFkdC5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2ls aWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9NYWR0L01hZHQz MC5hc2xjDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9NY2ZnL01jZmcuYXNsYw0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BD QVQvUENJX0RSQy5BU0wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BjaC5hc2wNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQ Q0FUL1BjaEF1ZGlvLmFzbA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwv Vmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoRWhjaS5hc2wNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlU YWJsZXNQQ0FUL1BjaExwc3MuYXNsDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9QY2hQY2llLmFzbA0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cv QWNwaVRhYmxlc1BDQVQvUGNoU2NjLmFzbA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoU21iLmFzbA0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvQWNwaVRhYmxlc1BDQVQvUGNoWGhjaS5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBT aWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BjaVRyZWUu YXNsDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9BY3BpVGFibGVzUENBVC9QbGF0Zm9ybS5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1JU RDMuYXNsDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9SaFByb3h5LmFzbA0KPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQv VEhFUk1BTC5BU0wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1VzYlNiZC5hc2wNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQ Q0FUL1ZpZGVvLmFzbA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvVmx2LmFzbA0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BD QVQvV3NtdC9Xc210LmFzbGMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL3Rva2VuLmFzbA0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvSW5jbHVk ZS9HdWlkL1ZsdjJEZXZpY2VSZWZDb2RlUGtnVG8NCj4ga2VuU3BhY2UuaA0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvSW5jbHVkZS9Q cGkvUHR0UGFzc1RocnVQcGkuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvSW5jbHVkZS9QcGkvZlRQTVBvbGljeS5oDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9JbmNs dWRlL1Byb3RvY29sL1B0dFBhc3NUaHJ1LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9JbmNsdWRl L0d1aWQvUG8NCj4gd2VyTWFuYWdlbWVudEFjcGlUYWJsZVN0b3JhZ2UuaA0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5Vmll dzJTb2MvQ1BVL0luY2x1ZGUvUHBpL1ZsdlANCj4gb2xpY3kuaA0KPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2Mv Q1BVL0luY2x1ZGUvUHJvdG9jb2wvDQo+IFBwbVBsYXRmb3JtUG9saWN5LmgNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZp ZXcyU29jL0NQVS9JbmNsdWRlL1R5cGVzLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1h bmFnZW1lDQo+IG50L0FjcGlUYWJsZXMvUG93ZXJNYW5hZ2VtZW50QWNwaVRhYmxlcy5pbmYNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtn L1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFnZW1lDQo+IG50L0FjcGlUYWJsZXMvU3NkdC9B cENzdC5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZp Y2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFnZW1lDQo+IG50L0FjcGlU YWJsZXMvU3NkdC9BcElzdC5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0lu dGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFnZW1l DQo+IG50L0FjcGlUYWJsZXMvU3NkdC9BcFRzdC5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Q b3dlck1hbmFnZW1lDQo+IG50L0FjcGlUYWJsZXMvU3NkdC9DcHUwQ3N0LmFzbA0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5 VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdlbWUNCj4gbnQvQWNwaVRhYmxlcy9Tc2R0L0NwdTBJc3Qu YXNsDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvUG93ZXJNYW5hZ2VtZQ0KPiBudC9BY3BpVGFibGVz L1NzZHQvQ3B1MFRzdC5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFnZW1lDQo+ IG50L0FjcGlUYWJsZXMvU3NkdC9DcHVQbS5hc2wNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBT aWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1 c3Rlci9JbmNsdWRlLw0KPiBQbGF0Zm9ybUJhc2VBZGRyZXNzZXMuaA0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJT b2MvTm9ydGhDbHVzdGVyL0luY2x1ZGUvDQo+IFBwaS9DYXBzdWxlLmgNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcy U29jL05vcnRoQ2x1c3Rlci9JbmNsdWRlLw0KPiBQcGkvUGxhdGZvcm1NZW1vcnlSYW5nZS5oDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBr Zy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHBpL1BsYXRmb3JtTWVt b3J5U2l6ZS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2 aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHBp L1NtbUFjY2Vzcy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYy RGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkZS8NCj4g UHBpL1Zsdk1taW9Qb2xpY3kuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1 ZGUvDQo+IFBwaS9WbHZQZWlJbml0LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29u L0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9J bmNsdWRlLw0KPiBQcGkvVmx2UG9saWN5LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rl ci9JbmNsdWRlLw0KPiBQcm90b2NvbC9JZ2RPcFJlZ2lvbi5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9O b3J0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHJvdG9jb2wvTWVtSW5mby5oDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3 MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHJvdG9jb2wvUGxhdGZvcm1Hb3BQb2xpY3ku aA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZGUvDQo+IFByb3RvY29sL1Zs dlBsYXRmb3JtUG9saWN5LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWRl Lw0KPiBWYWxsZXl2aWV3LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWRl Lw0KPiBWbHZBY2Nlc3MuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwv Vmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZGUv DQo+IFZsdkNvbW1vbkRlZmluaXRpb25zLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rl ci9JbmNsdWRlLw0KPiBHdWlkL1BjaEluaXRWYXIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhD bHVzdGVyL0luY2x1ZGUvDQo+IEd1aWQvU2F0YUNvbnRyb2xsZXJHdWlkLmgNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZp ZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWRlLw0KPiBHdWlkL1NtYnVzQXJwTWFwLmgNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zh bGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWRlLw0KPiBHdWlkL1ZsdjJWYXJpYWJsZS5o DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS9JDQo+IG5kdXN0cnlTdGFu ZGFyZC9DZUF0YS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYy RGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS9JDQo+ IG5kdXN0cnlTdGFuZGFyZC9NbWMuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24v SW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0lu Y2x1ZGUvSQ0KPiBuZHVzdHJ5U3RhbmRhcmQvU2RDYXJkLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1Nv dXRoQ2x1c3Rlci9JbmNsdWRlL0wNCj4gaWJyYXJ5L0kyQ0xpYi5oDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS9MDQo+IGlicmFyeS9QY2hQbGF0Zm9ybUxpYi5oDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9W YWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUGNoQWNjZXNzLmgNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zh bGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWRlLw0KPiBQY2hDb21tb25EZWZpbml0aW9u cy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUGNoUmVncy5o DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUGNoUmVncy9QY2hS ZWdzSGRhLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZp Y2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWRlLw0KPiBQY2hS ZWdzL1BjaFJlZ3NMcHNzLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWRl Lw0KPiBQY2hSZWdzL1BjaFJlZ3NQY2llLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rl ci9JbmNsdWRlLw0KPiBQY2hSZWdzL1BjaFJlZ3NQY3UuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFBjaFJlZ3MvUGNoUmVnc1JjcmIuaA0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5Vmll dzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFBjaFJlZ3MvUGNoUmVnc1NhdGEuaA0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cv VmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFBjaFJlZ3MvUGNoUmVnc1Nj Yy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUGNoUmVncy9Q Y2hSZWdzU21idXMuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+ IFBjaFJlZ3MvUGNoUmVnc1NwaS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5j bHVkZS8NCj4gUGNoUmVncy9QY2hSZWdzVXNiLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBT aWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1 c3Rlci9JbmNsdWRlLw0KPiBQcGkvUGNoSW5pdC5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g U2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENs dXN0ZXIvSW5jbHVkZS8NCj4gUHBpL1BjaFBlaUluaXQuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFBwaS9QY2hQbGF0Zm9ybVBvbGljeS5oDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHBpL1BjaFVzYlBvbGljeS5oDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9W YWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHBpL1BlaUJsb2NrSW8uaA0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFBwaS9TZGhjLmgNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtn L1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWRlLw0KPiBQcGkvU21idXNQb2xpY3ku aA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFBwaS9TcGkuaA0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFByb3RvY29sL0FjdGl2 ZUJpb3MuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFByb3Rv Y29sL0FjdGl2ZUJpb3NQcm90b2NvbC5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNv bi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIv SW5jbHVkZS8NCj4gUHJvdG9jb2wvRHhlUGNoUG9saWN5VXBkYXRlUHJvdG9jb2wuaA0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFs bGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+IFByb3RvY29sL0VtbWNDYXJkSW5m b1Byb3RvY29sLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWRlLw0KPiBQ cm90b2NvbC9HcGlvLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWRlLw0K PiBQcm90b2NvbC9Id1dhdGNoZG9nVGltZXIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNp bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVz dGVyL0luY2x1ZGUvDQo+IFByb3RvY29sL0kyY0J1cy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0 aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHJvdG9jb2wvUGNoRXh0ZW5kZWRSZXNldC5oDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxs ZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHJvdG9jb2wvUGNoSW5mby5oDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBr Zy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHJvdG9jb2wvUGNoUGxh dGZvcm1Qb2xpY3kuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUvDQo+ IFByb3RvY29sL1BjaFJlc2V0LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29uL0lu dGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNs dWRlLw0KPiBQcm90b2NvbC9QY2hTM1N1cHBvcnQuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFNpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhD bHVzdGVyL0luY2x1ZGUvDQo+IFByb3RvY29sL1NkSG9zdElvLmgNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29j L1NvdXRoQ2x1c3Rlci9JbmNsdWRlLw0KPiBQcm90b2NvbC9TbWJpb3NTbG90UG9wdWxhdGlvbi5o DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkZS8NCj4gUHJvdG9jb2wvU21t SWNobkRpc3BhdGNoRXguaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGljb24vSW50ZWwv Vmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZGUv DQo+IFByb3RvY29sL1NtbVNtYnVzLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxpY29u L0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9J bmNsdWRlLw0KPiBQcm90b2NvbC9TcGkuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFNpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVy L0luY2x1ZGUvDQo+IFByb3RvY29sL1Rjb1Jlc2V0LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBTaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRo Q2x1c3Rlci9JbmNsdWRlLw0KPiBSc2NpLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBTaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rl ci9JbmNsdWRlLw0KPiBUaWFub0FwaS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gU2lsaWNv bi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNlUmVmQ29kZVBrZy5kZWMNCj4g DQo+IGRpZmYgLS1naXQgYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlU YWJsZXNQQ0FULzk4X0xJTksuQVNMDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9BY3BpVGFibGVzUENBVC85OF9MSU5LLkFTTA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi41MGViYWZmYzM0DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIv U2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC85OF9MSU5L LkFTTA0KPiBAQCAtMCwwICsxLDYxNyBAQA0KPiArLyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioqKjsNCj4g KzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgIElu dGVsIENvcnBvcmF0aW9uIC0gQUNQSSBSZWZlcmVuY2UgQ29kZSBmb3IgdGhlIEJheXRyYWlsICAg ICAgICAgICAgKjsNCj4gKzsqICAgIEZhbWlseSBvZiBDdXN0b21lciBSZWZlcmVuY2UgQm9hcmRz LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgIENvcHlyaWdodCAoYykgIDIwMTIg IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQgICAqOw0KPiAr Ow0KPiArOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr Ow0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K PiAqKioqKioqKioqKioqKioqKi8NCj4gKw0KPiArDQo+ICsNCj4gKy8vIFVzZSB0aGlzIGluZm9y bWF0aW9uIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIFBvc3NpYmxlIElSUXMgdGhhdCBjYW4gYmUNCj4g Ky8vIHVzZWQgaW4gYSBnaXZlbiBzeXN0ZW0uDQo+ICsvLw0KPiArLy8gVGhlIGZvbGxvd2luZyBJ UlFzIGFyZSBhbHdheXMgaW4gdXNlIGJ5IGxlZ2FjeSBkZXZpY2VzOg0KPiArLy8gICAgICAgICAg ICAgIDAgID0gU3lzdGVtIFRpbWVyDQo+ICsvLyAgICAgICAgICAgICAgMiAgPSA4MjU5IFBJQw0K PiArLy8gICAgICAgICAgICAgIDggID0gUlRDDQo+ICsvLyAgICAgICAgICAgICAgOSAgPSBTQ0kg SW50ZXJydXB0IChJdCBtYXkgYmUgdXNlZCwgd2UgY2hvb3NlIG5vdCB0bykNCj4gKy8vICAgICAg ICAgICAgICAxMyA9IENvLXByb2Nlc3NvciBFcnJvcg0KPiArLy8NCj4gKy8vIFRoZSBmb2xsb3dp bmcgbWF5IGJlIGluIHVzZSBieSBsZWdhY3kgZGV2aWNlczoNCj4gKy8vICAgICAgICAgICAgICAx ICA9IElmIHVzaW5nIFBTLzIgS2V5Ym9hcmQNCj4gKy8vICAgICAgICAgICAgICAzICA9IElmIENP TXggUG9ydCBFbmFibGVkIGFuZCBJUlEgPSAzDQo+ICsvLyAgICAgICAgICAgICAgNCAgPSBJZiBD T014IFBvcnQgRW5hYmxlZCBhbmQgSVJRID0gNA0KPiArLy8gICAgICAgICAgICAgIDUgID0gSWYg TFBUIFBvcnQgRW5hYmxlZCBhbmQgSVJRID0gNQ0KPiArLy8gICAgICAgICAgICAgIDYgID0gSWYg RkRDIEVuYWJsZWQNCj4gKy8vICAgICAgICAgICAgICA3ICA9IElmIExQVCBQb3J0IEVuYWJsZWQg YW5kIElSUSA9IDcNCj4gKy8vICAgICAgICAgICAgICAxMiA9IElmIHVzaW5nIFBTLzIgTW91c2UN Cj4gKy8vICAgICAgICAgICAgICAxNCA9IFByaW1hcnkgSURFIChJZiBwb3B1bGF0ZWQgYW5kIGlu IENvbXBhdGliaWxpdHkgTW9kZSkNCj4gKy8vICAgICAgICAgICAgICAxNSA9IFNlY29uZGFyeSBJ REUgKElmIHBvcHVsYXRlZCBhbmQgaW4gQ29tcGF0aWJpbGl0eSBNb2RlKQ0KPiArLy8NCj4gKy8v IFRoZSBmb2xsb3dpbmcgd2lsbCBuZXZlciBiZSBpbiB1c2UgYnkgbGVnYWN5IGRldmljZXM6DQo+ ICsvLyAgICAgICAgICAgICAgMTAgPSBBc3NpZ24gdG8gUEFSQywgUENSQywgUEVSQywgUEdSQw0K PiArLy8gICAgICAgICAgICAgIDExID0gQXNzaWduIHRvIFBCUkMsIFBEUkMsIFBGUkMsIFBIUkMN Cj4gKw0KPiArRGV2aWNlKExOS0EpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBBUkMg Um91dGluZyBSZXNvdXJjZQ0KPiArew0KPiArICBOYW1lKF9ISUQsRUlTQUlEKCJQTlAwQzBGIikp ICAgIC8vIFBDSSBJbnRlcnJ1cHQgTGluayBEZXZpY2UNCj4gKw0KPiArICBOYW1lKF9VSUQsMSkg ICAgICAgICAgICAgICAgICAgIC8vIFVuaXF1ZSB0byBvdGhlciBMaW5rIERldmljZXMNCj4gKw0K PiArICAvLyBEaXNhYmxlIHRoZSBQQ0kgSVJRLg0KPiArDQo+ICsgIE1ldGhvZChfRElTLDAsU2Vy aWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9yKFBBUkMsMHg4MCxQQVJDKQ0KPiArICB9DQo+ICsN Cj4gKyAgLy8gUG9zc2libGUgSVJRIFJlc291cmNlIFNldHRpbmcuDQo+ICsNCj4gKyAgTWV0aG9k IChfUFJTLCAwLCBTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgcmV0dXJuIChQUlNBKQ0KPiAr ICB9DQo+ICsNCj4gKyAgLy8gQ3VycmVudCBJUlEgUmVzb3VyY2UgU2V0dGluZy4NCj4gKw0KPiAr ICBNZXRob2QoX0NSUywwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBOYW1lKFJUTEEsUmVz b3VyY2VUZW1wbGF0ZSgpDQo+ICsgICAgew0KPiArICAgICAgSVJRKExldmVsLEFjdGl2ZUxvdyxT aGFyZWQpIHt9DQo+ICsgICAgfSkNCj4gKw0KPiArICAgIC8vIFBvaW50IHRvIHNwZWNpZmljIGJ5 dGUuDQo+ICsNCj4gKyAgICBDcmVhdGVXb3JkRmllbGQoUlRMQSwxLElSUTApDQo+ICsNCj4gKyAg ICAvLyBaZXJvIG91dCBJUlEgbWFzayBiaXRzIDAtMTUNCj4gKw0KPiArICAgIFN0b3JlKFplcm8s SVJRMCkNCj4gKw0KPiArICAgIFNoaWZ0TGVmdCgxLEFuZChQQVJDLDB4MEYpLElSUTApDQo+ICsN Cj4gKyAgICBSZXR1cm4oUlRMQSkNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFNldCBJUlEgUmVzb3Vy Y2UgU2V0dGluZy4NCj4gKw0KPiArICBNZXRob2QoX1NSUywxLFNlcmlhbGl6ZWQpDQo+ICsgIHsN Cj4gKyAgICAvLyBQb2ludCB0byB0aGUgc3BlY2lmaWMgYnl0ZSBwYXNzZWQgaW4NCj4gKw0KPiAr ICAgIENyZWF0ZVdvcmRGaWVsZChBcmcwLDEsSVJRMCkNCj4gKw0KPiArICAgIC8vIERldGVybWlu ZSB0aGUgSVJRIGJpdCB0byBzZXQgYW5kIHN0b3JlIGl0DQo+ICsNCj4gKyAgICBGaW5kU2V0Umln aHRCaXQoSVJRMCxMb2NhbDApDQo+ICsgICAgRGVjcmVtZW50KExvY2FsMCkNCj4gKyAgICBTdG9y ZShMb2NhbDAsUEFSQykNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFBDSSBJUlEgU3RhdHVzLg0KPiAr DQo+ICsgIE1ldGhvZChfU1RBLDAsU2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIElmKEFuZChQ QVJDLDB4ODApKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybigweDAwMDkpDQo+ICsgICAgfQ0K PiArICAgIEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oMHgwMDBCKQ0KPiArICAgIH0N Cj4gKyAgfQ0KPiArfQ0KPiArDQo+ICtEZXZpY2UoTE5LQikgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLy8gUEJSQyBSb3V0aW5nIFJlc291cmNlDQo+ICt7DQo+ICsgIE5hbWUoX0hJRCxFSVNB SUQoIlBOUDBDMEYiKSkNCj4gKw0KPiArICBOYW1lKF9VSUQsMikNCj4gKw0KPiArICAvLyBEaXNh YmxlIHRoZSBQQ0kgSVJRLg0KPiArDQo+ICsgIE1ldGhvZChfRElTLDAsU2VyaWFsaXplZCkNCj4g KyAgew0KPiArICAgIE9yKFBCUkMsMHg4MCxQQlJDKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gUG9z c2libGUgSVJRIFJlc291cmNlIFNldHRpbmcuDQo+ICsNCj4gKyAgTWV0aG9kIChfUFJTLCAwLCBT ZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgcmV0dXJuIChQUlNCKQ0KPiArICB9DQo+ICsNCj4g KyAgLy8gQ3VycmVudCBJUlEgUmVzb3VyY2UgU2V0dGluZy4NCj4gKw0KPiArICBNZXRob2QoX0NS UywwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBOYW1lKFJUTEIsUmVzb3VyY2VUZW1wbGF0 ZSgpDQo+ICsgICAgew0KPiArICAgICAgSVJRKExldmVsLEFjdGl2ZUxvdyxTaGFyZWQpIHt9DQo+ ICsgICAgfSkNCj4gKw0KPiArICAgIC8vIFBvaW50IHRvIHNwZWNpZmljIGJ5dGUuDQo+ICsNCj4g KyAgICBDcmVhdGVXb3JkRmllbGQoUlRMQiwxLElSUTApDQo+ICsNCj4gKyAgICAvLyBaZXJvIG91 dCBJUlEgbWFzayBiaXRzIDAtMTUNCj4gKw0KPiArICAgIFN0b3JlKFplcm8sSVJRMCkNCj4gKw0K PiArICAgIFNoaWZ0TGVmdCgxLEFuZChQQlJDLDB4MEYpLElSUTApDQo+ICsNCj4gKyAgICBSZXR1 cm4oUlRMQikNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFNldCBJUlEgUmVzb3VyY2UgU2V0dGluZy4N Cj4gKw0KPiArICBNZXRob2QoX1NSUywxLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICAvLyBQ b2ludCB0byB0aGUgc3BlY2lmaWMgYnl0ZSBwYXNzZWQgaW4uDQo+ICsNCj4gKyAgICBDcmVhdGVX b3JkRmllbGQoQXJnMCwxLElSUTApDQo+ICsNCj4gKyAgICAvLyBEZXRlcm1pbmUgdGhlIElSUSBi aXQgdG8gc2V0IGFuZCBzdG9yZSBpdCwNCj4gKw0KPiArICAgIEZpbmRTZXRSaWdodEJpdChJUlEw LExvY2FsMCkNCj4gKyAgICBEZWNyZW1lbnQoTG9jYWwwKQ0KPiArICAgIFN0b3JlKExvY2FsMCxQ QlJDKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gUENJIElSUSBTdGF0dXMuDQo+ICsNCj4gKyAgTWV0 aG9kKF9TVEEsMCxTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgSWYoQW5kKFBCUkMsMHg4MCkp DQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKDB4MDAwOSkNCj4gKyAgICB9DQo+ICsgICAgRWxz ZQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybigweDAwMEIpDQo+ICsgICAgfQ0KPiArICB9DQo+ ICt9DQo+ICsNCj4gK0RldmljZShMTktDKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQ Q1JDIFJvdXRpbmcgUmVzb3VyY2UNCj4gK3sNCj4gKyAgTmFtZShfSElELEVJU0FJRCgiUE5QMEMw RiIpKQ0KPiArDQo+ICsgIE5hbWUoX1VJRCwzKQ0KPiArDQo+ICsgIC8vIERpc2FibGUgdGhlIFBD SSBJUlEuDQo+ICsNCj4gKyAgTWV0aG9kKF9ESVMsMCxTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsg ICAgT3IoUENSQywweDgwLFBDUkMpDQo+ICsgIH0NCj4gKw0KPiArICAvLyBQb3NzaWJsZSBJUlEg UmVzb3VyY2UgU2V0dGluZy4NCj4gKw0KPiArICBNZXRob2QgKF9QUlMsIDAsIFNlcmlhbGl6ZWQp DQo+ICsgIHsNCj4gKyAgICByZXR1cm4gKFBSU0MpDQo+ICsgIH0NCj4gKw0KPiArICAvLyBDdXJy ZW50IElSUSBSZXNvdXJjZSBTZXR0aW5nLg0KPiArDQo+ICsgIE1ldGhvZChfQ1JTLDAsU2VyaWFs aXplZCkNCj4gKyAgew0KPiArICAgIE5hbWUoUlRMQyxSZXNvdXJjZVRlbXBsYXRlKCkNCj4gKyAg ICB7DQo+ICsgICAgICBJUlEoTGV2ZWwsQWN0aXZlTG93LFNoYXJlZCkge30NCj4gKyAgICB9KQ0K PiArDQo+ICsgICAgLy8gUG9pbnQgdG8gc3BlY2lmaWMgYnl0ZS4NCj4gKw0KPiArICAgIENyZWF0 ZVdvcmRGaWVsZChSVExDLDEsSVJRMCkNCj4gKw0KPiArICAgIC8vIFplcm8gb3V0IElSUSBtYXNr IGJpdHMgMC0xNQ0KPiArDQo+ICsgICAgU3RvcmUoWmVybyxJUlEwKQ0KPiArDQo+ICsgICAgU2hp ZnRMZWZ0KDEsQW5kKFBDUkMsMHgwRiksSVJRMCkNCj4gKw0KPiArICAgIFJldHVybihSVExDKQ0K PiArICB9DQo+ICsNCj4gKyAgLy8gU2V0IElSUSBSZXNvdXJjZSBTZXR0aW5nLg0KPiArDQo+ICsg IE1ldGhvZChfU1JTLDEsU2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIC8vIFBvaW50IHRvIHRo ZSBzcGVjaWZpYyBieXRlIHBhc3NlZCBpbi4NCj4gKw0KPiArICAgIENyZWF0ZVdvcmRGaWVsZChB cmcwLDEsSVJRMCkNCj4gKw0KPiArICAgIC8vIERldGVybWluZSB0aGUgSVJRIGJpdCB0byBzZXQg YW5kIHN0b3JlIGl0LA0KPiArDQo+ICsgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsTG9jYWwwKQ0K PiArICAgIERlY3JlbWVudChMb2NhbDApDQo+ICsgICAgU3RvcmUoTG9jYWwwLFBDUkMpDQo+ICsg IH0NCj4gKw0KPiArICAvLyBQQ0kgSVJRIFN0YXR1cy4NCj4gKw0KPiArICBNZXRob2QoX1NUQSww LFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBJZihBbmQoUENSQywweDgwKSkNCj4gKyAgICB7 DQo+ICsgICAgICBSZXR1cm4oMHgwMDA5KQ0KPiArICAgIH0NCj4gKyAgICBFbHNlDQo+ICsgICAg ew0KPiArICAgICAgUmV0dXJuKDB4MDAwQikNCj4gKyAgICB9DQo+ICsgIH0NCj4gK30NCj4gKw0K PiArRGV2aWNlKExOS0QpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBEUkMgUm91dGlu ZyBSZXNvdXJjZQ0KPiArew0KPiArICBOYW1lKF9ISUQsRUlTQUlEKCJQTlAwQzBGIikpDQo+ICsN Cj4gKyAgTmFtZShfVUlELDQpDQo+ICsNCj4gKyAgLy8gRGlzYWJsZSB0aGUgUENJIElSUS4NCj4g Kw0KPiArICBNZXRob2QoX0RJUywwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBPcihQRFJD LDB4ODAsUERSQykNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFBvc3NpYmxlIElSUSBSZXNvdXJjZSBT ZXR0aW5nLg0KPiArDQo+ICsgIE1ldGhvZCAoX1BSUywgMCwgU2VyaWFsaXplZCkNCj4gKyAgew0K PiArICAgIHJldHVybiAoUFJTRCkNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIEN1cnJlbnQgSVJRIFJl c291cmNlIFNldHRpbmcuDQo+ICsNCj4gKyAgTWV0aG9kKF9DUlMsMCxTZXJpYWxpemVkKQ0KPiAr ICB7DQo+ICsgICAgTmFtZShSVExELFJlc291cmNlVGVtcGxhdGUoKQ0KPiArICAgIHsNCj4gKyAg ICAgIElSUShMZXZlbCxBY3RpdmVMb3csU2hhcmVkKSB7fQ0KPiArICAgIH0pDQo+ICsNCj4gKyAg ICAvLyBQb2ludCB0byBzcGVjaWZpYyBieXRlLg0KPiArDQo+ICsgICAgQ3JlYXRlV29yZEZpZWxk KFJUTEQsMSxJUlEwKQ0KPiArDQo+ICsgICAgLy8gWmVybyBvdXQgSVJRIG1hc2sgYml0cyAwLTE1 DQo+ICsNCj4gKyAgICBTdG9yZShaZXJvLElSUTApDQo+ICsNCj4gKyAgICBTaGlmdExlZnQoMSxB bmQoUERSQywweDBGKSxJUlEwKQ0KPiArDQo+ICsgICAgUmV0dXJuKFJUTEQpDQo+ICsgIH0NCj4g Kw0KPiArICAvLyBTZXQgSVJRIFJlc291cmNlIFNldHRpbmcuDQo+ICsNCj4gKyAgTWV0aG9kKF9T UlMsMSxTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgLy8gUG9pbnQgdG8gdGhlIHNwZWNpZmlj IGJ5dGUgcGFzc2VkIGluLg0KPiArDQo+ICsgICAgQ3JlYXRlV29yZEZpZWxkKEFyZzAsMSxJUlEw KQ0KPiArDQo+ICsgICAgLy8gRGV0ZXJtaW5lIHRoZSBJUlEgYml0IHRvIHNldCBhbmQgc3RvcmUg aXQsDQo+ICsNCj4gKyAgICBGaW5kU2V0UmlnaHRCaXQoSVJRMCxMb2NhbDApDQo+ICsgICAgRGVj cmVtZW50KExvY2FsMCkNCj4gKyAgICBTdG9yZShMb2NhbDAsUERSQykNCj4gKyAgfQ0KPiArDQo+ ICsgIC8vIFBDSSBJUlEgU3RhdHVzLg0KPiArDQo+ICsgIE1ldGhvZChfU1RBLDAsU2VyaWFsaXpl ZCkNCj4gKyAgew0KPiArICAgIElmKEFuZChQRFJDLDB4ODApKQ0KPiArICAgIHsNCj4gKyAgICAg IFJldHVybigweDAwMDkpDQo+ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAgICB7DQo+ICsgICAg ICBSZXR1cm4oMHgwMDBCKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICtEZXZpY2Uo TE5LRSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUEVSQyBSb3V0aW5nIFJlc291cmNl DQo+ICt7DQo+ICsgIE5hbWUoX0hJRCxFSVNBSUQoIlBOUDBDMEYiKSkNCj4gKw0KPiArICBOYW1l KF9VSUQsNSkNCj4gKw0KPiArICAvLyBEaXNhYmxlIHRoZSBQQ0kgSVJRLg0KPiArDQo+ICsgIE1l dGhvZChfRElTLDAsU2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9yKFBFUkMsMHg4MCxQRVJD KQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gUG9zc2libGUgSVJRIFJlc291cmNlIFNldHRpbmcuDQo+ ICsNCj4gKyAgTWV0aG9kIChfUFJTLCAwLCBTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgcmV0 dXJuIChQUlNFKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gQ3VycmVudCBJUlEgUmVzb3VyY2UgU2V0 dGluZy4NCj4gKw0KPiArICBNZXRob2QoX0NSUywwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAg ICBOYW1lKFJUTEUsUmVzb3VyY2VUZW1wbGF0ZSgpDQo+ICsgICAgew0KPiArICAgICAgSVJRKExl dmVsLEFjdGl2ZUxvdyxTaGFyZWQpIHt9DQo+ICsgICAgfSkNCj4gKw0KPiArICAgIC8vIFBvaW50 IHRvIHNwZWNpZmljIGJ5dGUuDQo+ICsNCj4gKyAgICBDcmVhdGVXb3JkRmllbGQoUlRMRSwxLElS UTApDQo+ICsNCj4gKyAgICAvLyBaZXJvIG91dCBJUlEgbWFzayBiaXRzIDAtMTUNCj4gKw0KPiAr ICAgIFN0b3JlKFplcm8sSVJRMCkNCj4gKw0KPiArICAgIFNoaWZ0TGVmdCgxLEFuZChQRVJDLDB4 MEYpLElSUTApDQo+ICsNCj4gKyAgICBSZXR1cm4oUlRMRSkNCj4gKyAgfQ0KPiArDQo+ICsgIC8v IFNldCBJUlEgUmVzb3VyY2UgU2V0dGluZy4NCj4gKw0KPiArICBNZXRob2QoX1NSUywxLFNlcmlh bGl6ZWQpDQo+ICsgIHsNCj4gKyAgICAvLyBQb2ludCB0byB0aGUgc3BlY2lmaWMgYnl0ZSBwYXNz ZWQgaW4NCj4gKw0KPiArICAgIENyZWF0ZVdvcmRGaWVsZChBcmcwLDEsSVJRMCkNCj4gKw0KPiAr ICAgIC8vIERldGVybWluZSB0aGUgSVJRIGJpdCB0byBzZXQgYW5kIHN0b3JlIGl0DQo+ICsNCj4g KyAgICBGaW5kU2V0UmlnaHRCaXQoSVJRMCxMb2NhbDApDQo+ICsgICAgRGVjcmVtZW50KExvY2Fs MCkNCj4gKyAgICBTdG9yZShMb2NhbDAsUEVSQykNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFBDSSBJ UlEgU3RhdHVzLg0KPiArDQo+ICsgIE1ldGhvZChfU1RBLDAsU2VyaWFsaXplZCkNCj4gKyAgew0K PiArICAgIElmKEFuZChQRVJDLDB4ODApKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybigweDAw MDkpDQo+ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oMHgw MDBCKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICtEZXZpY2UoTE5LRikgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gUEZSQyBSb3V0aW5nIFJlc291cmNlDQo+ICt7DQo+ICsg IE5hbWUoX0hJRCxFSVNBSUQoIlBOUDBDMEYiKSkNCj4gKw0KPiArICBOYW1lKF9VSUQsNikNCj4g Kw0KPiArICAvLyBEaXNhYmxlIHRoZSBQQ0kgSVJRLg0KPiArDQo+ICsgIE1ldGhvZChfRElTLDAs U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9yKFBGUkMsMHg4MCxQRlJDKQ0KPiArICB9DQo+ ICsNCj4gKyAgLy8gUG9zc2libGUgSVJRIFJlc291cmNlIFNldHRpbmcuDQo+ICsNCj4gKyAgTWV0 aG9kIChfUFJTLCAwLCBTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgcmV0dXJuIChQUlNGKQ0K PiArICB9DQo+ICsNCj4gKyAgLy8gQ3VycmVudCBJUlEgUmVzb3VyY2UgU2V0dGluZy4NCj4gKw0K PiArICBNZXRob2QoX0NSUywwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBOYW1lKFJUTEYs UmVzb3VyY2VUZW1wbGF0ZSgpDQo+ICsgICAgew0KPiArICAgICAgSVJRKExldmVsLEFjdGl2ZUxv dyxTaGFyZWQpIHt9DQo+ICsgICAgfSkNCj4gKw0KPiArICAgIC8vIFBvaW50IHRvIHNwZWNpZmlj IGJ5dGUuDQo+ICsNCj4gKyAgICBDcmVhdGVXb3JkRmllbGQoUlRMRiwxLElSUTApDQo+ICsNCj4g KyAgICAvLyBaZXJvIG91dCBJUlEgbWFzayBiaXRzIDAtMTUNCj4gKw0KPiArICAgIFN0b3JlKFpl cm8sSVJRMCkNCj4gKw0KPiArICAgIFNoaWZ0TGVmdCgxLEFuZChQRlJDLDB4MEYpLElSUTApDQo+ ICsNCj4gKyAgICBSZXR1cm4oUlRMRikNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFNldCBJUlEgUmVz b3VyY2UgU2V0dGluZy4NCj4gKw0KPiArICBNZXRob2QoX1NSUywxLFNlcmlhbGl6ZWQpDQo+ICsg IHsNCj4gKyAgICAvLyBQb2ludCB0byB0aGUgc3BlY2lmaWMgYnl0ZSBwYXNzZWQgaW4uDQo+ICsN Cj4gKyAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwxLElSUTApDQo+ICsNCj4gKyAgICAvLyBEZXRl cm1pbmUgdGhlIElSUSBiaXQgdG8gc2V0IGFuZCBzdG9yZSBpdCwNCj4gKw0KPiArICAgIEZpbmRT ZXRSaWdodEJpdChJUlEwLExvY2FsMCkNCj4gKyAgICBEZWNyZW1lbnQoTG9jYWwwKQ0KPiArICAg IFN0b3JlKExvY2FsMCxQRlJDKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gUENJIElSUSBTdGF0dXMu DQo+ICsNCj4gKyAgTWV0aG9kKF9TVEEsMCxTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgSWYo QW5kKFBGUkMsMHg4MCkpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKDB4MDAwOSkNCj4gKyAg ICB9DQo+ICsgICAgRWxzZQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybigweDAwMEIpDQo+ICsg ICAgfQ0KPiArICB9DQo+ICt9DQo+ICsNCj4gK0RldmljZShMTktHKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBQR1JDIFJvdXRpbmcgUmVzb3VyY2UNCj4gK3sNCj4gKyAgTmFtZShfSElE LEVJU0FJRCgiUE5QMEMwRiIpKQ0KPiArDQo+ICsgIE5hbWUoX1VJRCw3KQ0KPiArDQo+ICsgIC8v IERpc2FibGUgdGhlIFBDSSBJUlEuDQo+ICsNCj4gKyAgTWV0aG9kKF9ESVMsMCxTZXJpYWxpemVk KQ0KPiArICB7DQo+ICsgICAgT3IoUEdSQywweDgwLFBHUkMpDQo+ICsgIH0NCj4gKw0KPiArICAv LyBQb3NzaWJsZSBJUlEgUmVzb3VyY2UgU2V0dGluZy4NCj4gKw0KPiArICBNZXRob2QgKF9QUlMs IDAsIFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICByZXR1cm4gKFBSU0cpDQo+ICsgIH0NCj4g Kw0KPiArICAvLyBDdXJyZW50IElSUSBSZXNvdXJjZSBTZXR0aW5nLg0KPiArDQo+ICsgIE1ldGhv ZChfQ1JTLDAsU2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE5hbWUoUlRMRyxSZXNvdXJjZVRl bXBsYXRlKCkNCj4gKyAgICB7DQo+ICsgICAgICBJUlEoTGV2ZWwsQWN0aXZlTG93LFNoYXJlZCkg e30NCj4gKyAgICB9KQ0KPiArDQo+ICsgICAgLy8gUG9pbnQgdG8gc3BlY2lmaWMgYnl0ZS4NCj4g Kw0KPiArICAgIENyZWF0ZVdvcmRGaWVsZChSVExHLDEsSVJRMCkNCj4gKw0KPiArICAgIC8vIFpl cm8gb3V0IElSUSBtYXNrIGJpdHMgMC0xNQ0KPiArDQo+ICsgICAgU3RvcmUoWmVybyxJUlEwKQ0K PiArDQo+ICsgICAgU2hpZnRMZWZ0KDEsQW5kKFBHUkMsMHgwRiksSVJRMCkNCj4gKw0KPiArICAg IFJldHVybihSVExHKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gU2V0IElSUSBSZXNvdXJjZSBTZXR0 aW5nLg0KPiArDQo+ICsgIE1ldGhvZChfU1JTLDEsU2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAg IC8vIFBvaW50IHRvIHRoZSBzcGVjaWZpYyBieXRlIHBhc3NlZCBpbi4NCj4gKw0KPiArICAgIENy ZWF0ZVdvcmRGaWVsZChBcmcwLDEsSVJRMCkNCj4gKw0KPiArICAgIC8vIERldGVybWluZSB0aGUg SVJRIGJpdCB0byBzZXQgYW5kIHN0b3JlIGl0LA0KPiArDQo+ICsgICAgRmluZFNldFJpZ2h0Qml0 KElSUTAsTG9jYWwwKQ0KPiArICAgIERlY3JlbWVudChMb2NhbDApDQo+ICsgICAgU3RvcmUoTG9j YWwwLFBHUkMpDQo+ICsgIH0NCj4gKw0KPiArICAvLyBQQ0kgSVJRIFN0YXR1cy4NCj4gKw0KPiAr ICBNZXRob2QoX1NUQSwwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBJZihBbmQoUEdSQyww eDgwKSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oMHgwMDA5KQ0KPiArICAgIH0NCj4gKyAg ICBFbHNlDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKDB4MDAwQikNCj4gKyAgICB9DQo+ICsg IH0NCj4gK30NCj4gKw0KPiArRGV2aWNlKExOS0gpICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8vIFBIUkMgUm91dGluZyBSZXNvdXJjZQ0KPiArew0KPiArICBOYW1lKF9ISUQsRUlTQUlEKCJQ TlAwQzBGIikpDQo+ICsNCj4gKyAgTmFtZShfVUlELDgpDQo+ICsNCj4gKyAgLy8gRGlzYWJsZSB0 aGUgUENJIElSUS4NCj4gKw0KPiArICBNZXRob2QoX0RJUywwLFNlcmlhbGl6ZWQpDQo+ICsgIHsN Cj4gKyAgICBPcihQSFJDLDB4ODAsUEhSQykNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFBvc3NpYmxl IElSUSBSZXNvdXJjZSBTZXR0aW5nLg0KPiArDQo+ICsgIE1ldGhvZCAoX1BSUywgMCwgU2VyaWFs aXplZCkNCj4gKyAgew0KPiArICAgIHJldHVybiAoUFJTSCkNCj4gKyAgfQ0KPiArDQo+ICsgIC8v IEN1cnJlbnQgSVJRIFJlc291cmNlIFNldHRpbmcuDQo+ICsNCj4gKyAgTWV0aG9kKF9DUlMsMCxT ZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgTmFtZShSVExILFJlc291cmNlVGVtcGxhdGUoKQ0K PiArICAgIHsNCj4gKyAgICAgIElSUShMZXZlbCxBY3RpdmVMb3csU2hhcmVkKSB7fQ0KPiArICAg IH0pDQo+ICsNCj4gKyAgICAvLyBQb2ludCB0byBzcGVjaWZpYyBieXRlLg0KPiArDQo+ICsgICAg Q3JlYXRlV29yZEZpZWxkKFJUTEgsMSxJUlEwKQ0KPiArDQo+ICsgICAgLy8gWmVybyBvdXQgSVJR IG1hc2sgYml0cyAwLTE1DQo+ICsNCj4gKyAgICBTdG9yZShaZXJvLElSUTApDQo+ICsNCj4gKyAg ICBTaGlmdExlZnQoMSxBbmQoUEhSQywweDBGKSxJUlEwKQ0KPiArDQo+ICsgICAgUmV0dXJuKFJU TEgpDQo+ICsgIH0NCj4gKw0KPiArICAvLyBTZXQgSVJRIFJlc291cmNlIFNldHRpbmcuDQo+ICsN Cj4gKyAgTWV0aG9kKF9TUlMsMSxTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgLy8gUG9pbnQg dG8gdGhlIHNwZWNpZmljIGJ5dGUgcGFzc2VkIGluLg0KPiArDQo+ICsgICAgQ3JlYXRlV29yZEZp ZWxkKEFyZzAsMSxJUlEwKQ0KPiArDQo+ICsgICAgLy8gRGV0ZXJtaW5lIHRoZSBJUlEgYml0IHRv IHNldCBhbmQgc3RvcmUgaXQsDQo+ICsNCj4gKyAgICBGaW5kU2V0UmlnaHRCaXQoSVJRMCxMb2Nh bDApDQo+ICsgICAgRGVjcmVtZW50KExvY2FsMCkNCj4gKyAgICBTdG9yZShMb2NhbDAsUEhSQykN Cj4gKyAgfQ0KPiArDQo+ICsgIC8vIFBDSSBJUlEgU3RhdHVzLg0KPiArDQo+ICsgIE1ldGhvZChf U1RBLDAsU2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIElmKEFuZChQSFJDLDB4ODApKQ0KPiAr ICAgIHsNCj4gKyAgICAgIFJldHVybigweDAwMDkpDQo+ICsgICAgfQ0KPiArICAgIEVsc2UNCj4g KyAgICB7DQo+ICsgICAgICBSZXR1cm4oMHgwMDBCKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArfQ0K PiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3Bp VGFibGVzUENBVC9BY3BpVGFibGVQbGF0Zm9ybS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2 aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9BY3BpVGFibGVQbGF0Zm9ybS5oDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmIzYTdjYmExMDYNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0Fj cGlUYWJsZXNQQ0FUL0FjcGlUYWJsZVBsYXRmb3JtLmgNCj4gQEAgLTAsMCArMSw3MCBAQA0KPiAr LyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsgIEFjcGlUYWJsZVBsYXRmb3JtLmgNCj4gKw0KPiArDQo+ICtBYnN0cmFjdDogRmls ZSBjb250YWlucyBwbGF0Zm9ybSBzcGVjaWZpYyBBQ1BJIGRlZmluZXMgZm9yIHVzZSBpbiBBQ1BJ IHRhYmxlcw0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKyNpZm5kZWYgX1BsYXRmb3JtX2hfSU5DTFVE RURfDQo+ICsjZGVmaW5lIF9QbGF0Zm9ybV9oX0lOQ0xVREVEXw0KPiArDQo+ICsjaWZkZWYgRUNQ X0ZMQUcNCj4gKyNpbmNsdWRlICJFZGtJSUdsdWVEeGUuaCINCj4gKyNlbmRpZg0KPiArI2luY2x1 ZGUgPEluZHVzdHJ5U3RhbmRhcmQvQWNwaS5oPg0KPiArLy8NCj4gKy8vIEFDUEkgdGFibGUgaW5m b3JtYXRpb24gdXNlZCB0byBpbml0aWFsaXplIHRhYmxlcy4NCj4gKy8vDQo+ICsjZGVmaW5lIEVG SV9BQ1BJX09FTV9JRCAgICAgICAgICAgJ08nLCdFJywnTScsJ0knLCdEJywnICcgICAvLyBPRU1J RCA2IGJ5dGVzIGxvbmcNCj4gKyNkZWZpbmUgRUZJX0FDUElfT0VNX1RBQkxFX0lEDQo+IFNJR05B VFVSRV82NCgnTycsJ0UnLCdNJywnVCcsJ0EnLCdCJywnTCcsJ0UnKSAvLyBPRU0gdGFibGUgaWQg OCBieXRlcyBsb25nDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX09FTV9SRVZJU0lPTiAgICAgMHgwMDAw MDAwNQ0KPiArI2RlZmluZSBFRklfQUNQSV9DUkVBVE9SX0lEICAgICAgIFNJR05BVFVSRV8zMign QycsJ1InLCdFJywnQScpDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX0NSRUFUT1JfUkVWSVNJT04gMHgw MTAwMDAwRA0KPiArI2RlZmluZSBJTlRfTU9ERUwgICAgICAgMHgwMQ0KPiArI2RlZmluZSBQTV9Q Uk9GSUxFICAgICAgRUZJX0FDUElfNF8wX1BNX1BST0ZJTEVfTU9CSUxFDQo+ICsjZGVmaW5lIFND SV9JTlRfVkVDVE9SICAweDAwMDkNCj4gKyNkZWZpbmUgU01JX0NNRF9JT19QT1JUIDB4MDAwMDAw QjINCj4gKyNkZWZpbmUgQUNQSV9FTkFCTEUgICAgIDB4MEEwDQo+ICsjZGVmaW5lIEFDUElfRElT QUJMRSAgICAweDBBMQ0KPiArI2RlZmluZSBTNEJJT1NfUkVRICAgICAgMHgwMA0KPiArI2RlZmlu ZSBQU1RBVEVfQ05UICAgICAgMHgwMA0KPiArI2RlZmluZSBQTTFhX0VWVF9CTEsgICAgMHgwMDAw MDQwMA0KPiArI2RlZmluZSBQTTFiX0VWVF9CTEsgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBQ TTFhX0NOVF9CTEsgICAgMHgwMDAwMDQwNA0KPiArI2RlZmluZSBQTTFiX0NOVF9CTEsgICAgMHgw MDAwMDAwMA0KPiArI2RlZmluZSBQTTJfQ05UX0JMSyAgICAgMHgwMDAwMDQ1MA0KPiArI2RlZmlu ZSBQTV9UTVJfQkxLICAgICAgMHgwMDAwMDQwOA0KPiArI2RlZmluZSBHUEUwX0JMSyAgICAgICAg MHgwMDAwMDQyMA0KPiArI2RlZmluZSBHUEUxX0JMSyAgICAgICAgMHgwMDAwMDAwMA0KPiArI2Rl ZmluZSBQTTFfRVZUX0xFTiAgICAgMHgwNA0KPiArI2RlZmluZSBQTTFfQ05UX0xFTiAgICAgMHgw Mg0KPiArI2RlZmluZSBQTTJfQ05UX0xFTiAgICAgMHgwMQ0KPiArI2RlZmluZSBQTV9UTV9MRU4g ICAgICAgMHgwNA0KPiArI2RlZmluZSBHUEUwX0JMS19MRU4gICAgMHgxMA0KPiArI2RlZmluZSBH UEUxX0JMS19MRU4gICAgMHgwMA0KPiArI2RlZmluZSBHUEUxX0JBU0UgICAgICAgMHgwMA0KPiAr I2RlZmluZSBDU1RfQ05UICAgICAgICAgMHgwMA0KPiArI2RlZmluZSBQX0xWTDJfTEFUICAgICAg MHgwMDY0DQo+ICsjZGVmaW5lIFBfTFZMM19MQVQgICAgICAweDAxRjQNCj4gKyNkZWZpbmUgRkxV U0hfU0laRSAgICAgIDB4MDQwMA0KPiArI2RlZmluZSBGTFVTSF9TVFJJREUgICAgMHgwMDEwDQo+ ICsjZGVmaW5lIERVVFlfT0ZGU0VUICAgICAweDAxDQo+ICsjZGVmaW5lIERVVFlfV0lEVEggICAg ICAweDAzDQo+ICsjZGVmaW5lIERBWV9BTFJNICAgICAgICAweDBEDQo+ICsjZGVmaW5lIE1PTl9B TFJNICAgICAgICAweDAwDQo+ICsjZGVmaW5lIENFTlRVUlkgICAgICAgICAweDMyDQo+ICsjZGVm aW5lIEZMQUcgICAgICAgICAgICAoIEVGSV9BQ1BJXzRfMF9XQklOVkQgfCBFRklfQUNQSV80XzBf U0xQX0JVVFRPTg0KPiB8IEVGSV9BQ1BJXzRfMF9SRVNFVF9SRUdfU1VQIHwgRUZJX0FDUElfNF8w X1JUQ19TNCkNCj4gKyNkZWZpbmUgSUFQQ19CT09UX0FSQ0ggICggRUZJX0FDUElfNF8wX1ZHQV9O T1RfUFJFU0VOVCB8DQo+IEVGSV9BQ1BJXzRfMF84MDQyIHwgRUZJX0FDUElfNF8wX0xFR0FDWV9E RVZJQ0VTKQ0KPiArI2RlZmluZSBSRVNFUlZFRCAgICAgICAgMHgwMA0KPiArDQo+ICsjZW5kaWYN Cj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNw aVRhYmxlc1BDQVQvQWNwaVRhYmxlcy5pbmYNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0FjcGlUYWJsZXMuaW5mDQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjE3MDU5OGRmN2YNCj4gLS0tIC9kZXYvbnVsbA0K PiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FU L0FjcGlUYWJsZXMuaW5mDQo+IEBAIC0wLDAgKzEsNDAgQEANCj4gKyMjIEBmaWxlDQo+ICsjIENv bXBvbmVudCBkZXNjcmlwdGlvbiBmaWxlIGZvciBQbGF0Zm9ybUFjcGlUYWJsZSBtb2R1bGUuDQo+ ICsjDQo+ICsjIEJ1aWxkIGFjcGkgdGFibGUgZGF0YSByZXF1aXJlZCBieSBzeXN0ZW0gYm9vdC4N Cj4gKyMgIEFsbCAuYXNpIGZpbGVzIHRhZ2dlZCB3aXRoICJUb29sQ29kZT0iRFVNTVkiIiBpbiBm b2xsb3dpbmcgZmlsZSBsaXN0IGFyZQ0KPiBkZXZpY2UgZGVzY3JpcHRpb24gYW5kIGFyZSBpbmNs dWRlZA0KPiArIyAgYnkgdG9wIGxldmVsIEFTTCBmaWxlIHdoaWNoIHdpbGwgYmUgZGVhbGVkIHdp dGggYnkgYXNsLmV4ZSBhcHBsaWNhdGlvbi4NCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAgMTk5 OSAgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArIw0K PiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0K PiArIw0KPiArIw0KPiArIyMNCj4gKw0KPiArW2RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAg ICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAg ICAgICAgICAgID0gQWNwaVRhYmxlcw0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAg ICAgPSA3RTM3NEUyNS04RTAxLTRGRUUtODdGMi0zOTBDMjNDNjA2Q0QNCj4gKyAgTU9EVUxFX1RZ UEUgICAgICAgICAgICAgICAgICAgID0gVVNFUl9ERUZJTkVEDQo+ICsgIFZFUlNJT05fU1RSSU5H ICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBFREtfUkVMRUFTRV9WRVJTSU9OICAgICAgICAg ICAgPSAweDAwMDIwMDAwDQo+ICsgIEVGSV9TUEVDSUZJQ0FUSU9OX1ZFUlNJT04gICAgICA9IDB4 MDAwMjAwMDANCj4gKw0KPiArW3NvdXJjZXMuY29tbW9uXQ0KPiArICBEU0RULkFTTA0KPiArICBS aFByb3h5LmFzbA0KPiArICBGYWNzL0ZhY3MuYXNsYw0KPiArICBGYWNwL0ZhY3AuYXNsYw0KPiAr ICBNYWR0L01hZHQzMC5hc2xjDQo+ICsgIE1jZmcvTWNmZy5hc2xjDQo+ICsgIEhwZXQvSHBldC5h c2xjDQo+ICsgIExwaXQvTHBpdC5hc2xjDQo+ICsgIFdzbXQvV3NtdC5hc2xjDQo+ICsNCj4gKw0K PiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmlj ZVJlZkNvZGVQa2cuZGVjDQo+IGRpZmYgLS1naXQgYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0NQVS5hc2wNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0NQVS5hc2wNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uODQ0OWVkMGQ1NQ0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQv Q1BVLmFzbA0KPiBAQCAtMCwwICsxLDQ5IEBADQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqOw0K PiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAg SW50ZWwgQ29ycG9yYXRpb24gLSBBQ1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwg ICAgICAgICAgICAqOw0KPiArOyogICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5jZSBCb2Fy ZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAgMTk5 OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZCAgICo7DQo+ ICs7DQo+ICs7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICs7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7 KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq DQo+ICoqKioqKioqKioqKioqKioqLw0KPiArDQo+ICsNCj4gKw0KPiArLy8gTk9URTogIFRoZSBf UERDIEltcGxlbWVudGF0aW9uIGlzIG91dCBvZiB0aGUgc2NvcGUgb2YgdGhpcw0KPiArLy8gcmVm ZXJlbmNlIGNvZGUuICBQbGVhc2Ugc2VlIHRoZSBsYXRlc3QgSHlwZXItVGhyZWFkaW5nIFRlY2hu b2xvZ3kNCj4gKy8vIFJlZmVyZW5jZSBDb2RlIGZvciBjb21wbGV0ZSBpbXBsZW1lbnRhdGlvbiBk ZXRhaWxzLg0KPiArDQo+ICtTY29wZShcX1BSKQ0KPiArew0KPiArICBQcm9jZXNzb3IoQ1BVMCwg ICAgICAgICAvLyBVbmlxdWUgbmFtZSBmb3IgUHJvY2Vzc29yIDAuDQo+ICsgICAgICAgICAgICAx LCAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVuaXF1ZSBJRCBmb3IgUHJvY2Vzc29yIDAuDQo+ ICsgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAgICAgLy8gQ1BVMCBBQ1BJIFBfQkxLIGFk ZHJlc3MgPSBBQ1BJQkFTRSArIDEwaC4NCj4gKyAgICAgICAgICAgIDApICAgICAgICAgICAgICAg ICAgICAgICAgLy8gQ1BVMCAgUF9CTEsgbGVuZ3RoID0gNiBieXRlcy4NCj4gKyAge30NCj4gKw0K PiArICBQcm9jZXNzb3IoQ1BVMSwgICAgICAgICAvLyBVbmlxdWUgbmFtZSBmb3IgUHJvY2Vzc29y IDEuDQo+ICsgICAgICAgICAgICAyLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVuaXF1ZSBJ RCBmb3IgUHJvY2Vzc29yIDEuDQo+ICsgICAgICAgICAgICAweDAwLA0KPiArICAgICAgICAgICAg MCkgICAgICAgICAgICAgICAgICAgIC8vIENQVTEgUF9CTEsgbGVuZ3RoID0gNiBieXRlcy4NCj4g KyAge30NCj4gKw0KPiArICBQcm9jZXNzb3IoQ1BVMiwgICAgICAgICAvLyBVbmlxdWUgbmFtZSBm b3IgUHJvY2Vzc29yIDIuDQo+ICsgICAgICAgICAgICAzLCAgICAgICAgICAgICAgICAgICAgICAg IC8vIFVuaXF1ZSBJRCBmb3IgUHJvY2Vzc29yIDIuDQo+ICsgICAgICAgICAgICAweDAwLA0KPiAr ICAgICAgICAgICAgMCkgICAgICAgICAgICAgICAgICAgIC8vIENQVTIgUF9CTEsgbGVuZ3RoID0g NiBieXRlcy4NCj4gKyAge30NCj4gKw0KPiArICBQcm9jZXNzb3IoQ1BVMywgICAgICAgICAvLyBV bmlxdWUgbmFtZSBmb3IgUHJvY2Vzc29yIDMuDQo+ICsgICAgICAgICAgICA0LCAgICAgICAgICAg ICAgICAgICAgICAgIC8vIFVuaXF1ZSBJRCBmb3IgUHJvY2Vzc29yIDMuDQo+ICsgICAgICAgICAg ICAweDAwLA0KPiArICAgICAgICAgICAgMCkgICAgICAgICAgICAgICAgICAgIC8vIENQVTMgUF9C TEsgbGVuZ3RoID0gNiBieXRlcy4NCj4gKyAge30NCj4gK30gICAgIC8vIEVuZCBfUFINCj4gKw0K PiArDQo+IGRpZmYgLS1naXQgYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0Fj cGlUYWJsZXNQQ0FUL0RTRFQuQVNMDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9BY3BpVGFibGVzUENBVC9EU0RULkFTTA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi5jYmYwZDMwMmIxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvU2ls aWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9EU0RULkFTTA0K PiBAQCAtMCwwICsxLDc1IEBADQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqOw0KPiArOyogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgSW50ZWwgQ29y cG9yYXRpb24gLSBBQ1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgU2FuZHkgQnJpZGdlICAgICAg ICAqOw0KPiArOyogICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5jZSBCb2FyZHMuICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiAr OyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTUs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkICAgICo7DQo+ICs7DQo+ICs7 IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7 KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioq KioqKioqKioqKioqLw0KPiArDQo+ICtEZWZpbml0aW9uQmxvY2sgKA0KPiArICAiRFNEVC5hbWwi LA0KPiArICAiRFNEVCIsDQo+ICsgIDB4MDIsICAvLyBEU0RUIHJldmlzaW9uLg0KPiArICAiT0VN SUQiLCAvLyBPRU0gSUQgKDYgYnl0ZSBzdHJpbmcpDQo+ICsgICJWTFYtU09DIiwgLy8gT0VNIHRh YmxlIElEICAoOCBieXRlIHN0cmluZykNCj4gKyAgMHgwIC8vIE9FTSB2ZXJzaW9uIG9mIERTRFQg dGFibGUgKDQgYnl0ZSBJbnRlZ2VyKQ0KPiArKQ0KPiArDQo+ICsvLyBCRUdJTiBPRiBBU0wgU0NP UEUNCj4gK3sNCj4gKyAgRXh0ZXJuYWwoTURCRywgTWV0aG9kT2JqKQ0KPiArDQo+ICsgIE1ldGhv ZChBREJHLCAxLCBTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsNCj4gKyAgICBJZihDb25kUmVmT2Yo TURCRykpICAgLy9jaGVjayBpZiBTU0RUIGlzIGxvYWRlZA0KPiArICAgIHsNCj4gKyAgICAgIFJl dHVybihNREJHKEFyZzApKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIFJldHVybigwKQ0KPiArICB9 DQo+ICsNCj4gKw0KPiArLy8gTWlzY2VsbGFuZW91cyBzZXJ2aWNlcyBlbmFibGVkIGluIFByb2pl Y3QNCj4gKyAgaW5jbHVkZSAoInRva2VuLmFzbCIpDQo+ICsgIGluY2x1ZGUgKCJHbG9ibE52cy5h c2wiKQ0KPiArICBpbmNsdWRlICgiUGNpVHJlZS5hc2wiKQ0KPiArICBpbmNsdWRlICgiUGNoLmFz bCIpDQo+ICsgIGluY2x1ZGUgKCJWbHYuYXNsIikNCj4gKyAgaW5jbHVkZSAoIkNQVS5hc2wiKQ0K PiArICBpbmNsdWRlICgiUGxhdGZvcm0uYXNsIikNCj4gKyAgaW5jbHVkZSAoIlRIRVJNQUwuQVNM IikNCj4gKyAgaW5jbHVkZSAoIlBDSV9EUkMuQVNMIikNCj4gKyAgaW5jbHVkZSAoIlZpZGVvLmFz bCIpDQo+ICsgIGluY2x1ZGUgKCJHcGUuYXNsIikNCj4gKyAgLy9pbmNsdWRlICgiSW9UVmlydHVh bERldmljZS5hc2wiKQ0KPiArDQo+ICsgIC8vIFNsZWVwIHN0YXRlcyBzdXBwb3J0ZWQgYnkgQ2hp cHNldC9Cb2FyZC4NCj4gKyAgLy8gU1N4IC0gQklPUyBzZXR1cCBjb250cm9sbGVkIGVuYWJsZWQg X1N4IFNsZWVwIHN0YXRlIHN0YXR1cw0KPiArICAvLyBWYWx1ZXMgdG8gYmUgd3JpdHRlbiB0byBT TFBfVFlQRSByZWdpc3RlciBhcmUgcHJvdmlkZWQgYnkgU0JBQ1BJLlNETA0KPiAoU291dGggQnJp ZGdlIEFDUEkgTW9kdWxlUGFydCkNCj4gKw0KPiArICBOYW1lKFxfUzAsIFBhY2thZ2UoNCkgezB4 MCwweDAsMCwwfSkgLy8gbWFuZGF0b3J5IFN5c3RlbSBzdGF0ZQ0KPiArICBOYW1lKFxfUzEsIFBh Y2thZ2UoNCkgezB4MSwweDAsMCwwfSkNCj4gKyAgTmFtZShcX1MzLCBQYWNrYWdlKDQpIHsweDUs MHgwLDAsMH0pDQo+ICsgIE5hbWUoXF9TNCwgUGFja2FnZSg0KSB7MHg2LDB4MCwwLDB9KQ0KPiAr ICBOYW1lKFxfUzUsIFBhY2thZ2UoNCkgezB4NywweDAsMCwwfSkgLy8gbWFuZGF0b3J5IFN5c3Rl bSBzdGF0ZQ0KPiArDQo+ICsgIE1ldGhvZChQVFMsIDEpICAgICAgICAgIC8vIE1FVEhPRCBDQUxM RUQgRlJPTSBfUFRTIFBSSU9SIFRPIEVOVEVSIEFOWQ0KPiBTTEVFUCBTVEFURQ0KPiArICB7DQo+ ICsgICAgSWYoQXJnMCkgICAgICAgICAgICAvLyBlbnRlcmluZyBhbnkgc2xlZXAgc3RhdGUNCj4g KyAgICB7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsgIE1ldGhvZChXQUssIDEpICAgICAgICAgIC8v IE1FVEhPRCBDQUxMRUQgRlJPTSBfV0FLIFJJR0hUIEFGVEVSIFdBS0UNCj4gVVANCj4gKyAgew0K PiArICB9DQo+ICsNCj4gK30vLyBFbmQgb2YgQVNMIEZpbGUNCj4gZGlmZiAtLWdpdA0KPiBhL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvRmFjcC9GYWNw LmFzbGMNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQ Q0FUL0ZhY3AvRmFjcC5hc2xjDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLmRmNDcxNDQ2MjMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0ZhY3AvRmFjcC5hc2xjDQo+IEBA IC0wLDAgKzEsMTg4IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0g MjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g Kw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgRmFjcC5jDQo+ICsNCj4gKw0KPiArQWJzdHJh Y3Q6IFRoZSBmaXhlZCBBQ1BJIGRlc2NyaXB0aW9uIFRhYmxlIChGQURUKSBTdHJ1Y3R1cmUNCj4g Kw0KPiArDQo+ICstLSovDQo+ICsjaWZkZWYgRUNQX0ZMQUcNCj4gKyNpbmNsdWRlICJFREtJSUds dWVEeGUuaCINCj4gKyNlbHNlDQo+ICsjaW5jbHVkZSA8UGlEeGUuaD4NCj4gKyNlbmRpZg0KPiAr I2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvQWNwaTUwLmg+DQo+ICsjaW5jbHVkZSAiQWNwaVRh YmxlUGxhdGZvcm0uaCINCj4gKw0KPiArRUZJX0FDUElfNV8wX0ZJWEVEX0FDUElfREVTQ1JJUFRJ T05fVEFCTEUgRkFDUCA9IHsNCj4gKyAgew0KPiArICAgIEVGSV9BQ1BJXzVfMF9GSVhFRF9BQ1BJ X0RFU0NSSVBUSU9OX1RBQkxFX1NJR05BVFVSRSwNCj4gKyAgICBzaXplb2YgKEVGSV9BQ1BJXzVf MF9GSVhFRF9BQ1BJX0RFU0NSSVBUSU9OX1RBQkxFKSwNCj4gKyAgICBFRklfQUNQSV81XzBfRklY RURfQUNQSV9ERVNDUklQVElPTl9UQUJMRV9SRVZJU0lPTiwNCj4gKyAgICAwLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIHRvIG1ha2Ugc3VtIG9mIGVudGlyZSB0YWJsZQ0KPiA9PSAwDQo+ ICsgICAgRUZJX0FDUElfT0VNX0lELCAgICAgICAgIC8vIE9FTUlEIGlzIGEgNiBieXRlcyBsb25n IGZpZWxkDQo+ICsgICAgRUZJX0FDUElfT0VNX1RBQkxFX0lELCAgICAgIC8vIE9FTSB0YWJsZSBp ZGVudGlmaWNhdGlvbig4IGJ5dGVzIGxvbmcpDQo+ICsgICAgRUZJX0FDUElfT0VNX1JFVklTSU9O LCAgICAgIC8vIE9FTSByZXZpc2lvbiBudW1iZXINCj4gKyAgICBFRklfQUNQSV9DUkVBVE9SX0lE LCAgICAgICAgLy8gQVNMIGNvbXBpbGVyIHZlbmRvciBJRA0KPiArICAgIEVGSV9BQ1BJX0NSRUFU T1JfUkVWSVNJT04gICAvLyBBU0wgY29tcGlsZXIgcmV2aXNpb24gbnVtYmVyDQo+ICsgIH0sDQo+ ICsgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGh5c2ljYWwgYWRkZXNzcyBvZiBG QUNTDQo+ICsgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGh5c2ljYWwgYWRkcmVz cyBvZiBEU0RUDQo+ICsgIElOVF9NT0RFTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBT eXN0ZW0gSW50ZXJydXB0DQo+IE1vZGVsIChpZ25vcmVkIGluIDJrIGFuZCBsYXRlciwgbXVzdCBi ZSAwIGZvciA5OCkNCj4gKyAgUE1fUFJPRklMRSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IFByZWZlcnJlZCBQTQ0KPiBQcm9maWxlDQo+ICsgIFNDSV9JTlRfVkVDVE9SLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gU3lzdGVtIHZlY3RvciBvZg0KPiBTQ0kgaW50ZXJydXB0DQo+ICsgIFNNSV9DTURfSU9f UE9SVCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLy8gUG9ydCBhZGRyZXNzIG9mDQo+IFNNSSBjb21tYW5kIHBvcnQN Cj4gKyAgQUNQSV9FTkFCTEUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB2YWx1ZSB0byB3cml0ZSB0byBw b3J0DQo+IHNtaV9jbWQgdG8gZW5hYmxlIEFDUEkNCj4gKyAgQUNQSV9ESVNBQkxFLCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyB2YWx1ZSB0byB3cml0ZSB0byBwb3J0DQo+IHNtaV9jbWQgdG8gZGlzYWJsZSBB Q1BJDQo+ICsgIFM0QklPU19SRVEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVmFsdWUgdG8gd3JpdGUg dG8gU01JDQo+IENNRCBwb3J0IHRvIGVudGVyIHRoZSBTNEJJT1Mgc3RhdGUNCj4gKyAgUFNUQVRF X0NOVCwgICAgICAgLy8gUFN0YXRlIGNvbnRyb2wNCj4gKyAgUE0xYV9FVlRfQkxLLCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBQb3J0IGFkZHJlc3Mgb2YNCj4gUG93ZXIgTWd0IDFhIEV2ZW50IFJlZyBCbGsN Cj4gKyAgUE0xYl9FVlRfQkxLLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQb3J0IGFkZHJlc3Mgb2YNCj4g UG93ZXIgTWd0IDFiIEV2ZW50IFJlZyBCbGsNCj4gKyAgUE0xYV9DTlRfQkxLLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyBQb3J0IGFkZHJlc3Mgb2YNCj4gUG93ZXIgTWd0IDFhIEN0cmwgUmVnIEJsaw0KPiAr ICBQTTFiX0NOVF9CTEssICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBvcnQgYWRkcmVzcyBvZg0KPiBQb3dl ciBNZ3QgMWIgQ3RybCBSZWcgQmxrDQo+ICsgIFBNMl9DTlRfQkxLLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gUG9ydCBhZGRyZXNzIG9mDQo+IFBvd2VyIE1ndCAyICBDdHJsIFJlZyBCbGsNCj4gKyAgUE1f VE1SX0JMSywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQb3J0IGFkZHJlc3Mgb2YNCj4gUG93ZXIgTWd0 IFRpbWVyIEN0cmwgUmVnIEJsaw0KPiArICBHUEUwX0JMSywgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IFBvcnQgYWRkciBvZiBHZW5lcmFsDQo+IFB1cnBvc2UgRXZlbnQgMCBSZWcgQmxrDQo+ICsgIEdQ RTFfQkxLLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUG9ydCBhZGRyIG9mIEdlbmVyYWwNCj4gUHVy cG9zZSBFdmVudCAxIFJlZyBCbGsNCj4gKyAgUE0xX0VWVF9MRU4sICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBCeXRlIExlbmd0aCBvZiBwb3J0cw0KPiBhdCBwbTFYX2V2dF9ibGsNCj4gKyAgUE0xX0NOVF9M RU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyBCeXRlIExlbmd0aCBvZg0KPiBwb3J0cyBhdCBwbTFYX2Nu dF9ibGsNCj4gKyAgUE0yX0NOVF9MRU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCeXRlIExlbmd0aCBv Zg0KPiBwb3J0cyBhdCBwbTJfY250X2Jsaw0KPiArICBQTV9UTV9MRU4sICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIEJ5dGUgTGVuZ3RoIG9mIHBvcnRzDQo+IGF0IHBtX3RtX2Jsaw0KPiArICBHUEUwX0JM S19MRU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIEJ5dGUgTGVuZ3RoIG9mIHBvcnRzDQo+IGF0IGdwZTBf YmxrDQo+ICsgIEdQRTFfQkxLX0xFTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQnl0ZSBMZW5ndGggb2Yg cG9ydHMNCj4gYXQgZ3BlMV9ibGsNCj4gKyAgR1BFMV9CQVNFLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBvZmZzZXQgaW4gZ3BlIG1vZGVsDQo+IHdoZXJlIGdwZTEgZXZlbnRzIHN0YXJ0DQo+ICsgIENT VF9DTlQsICAgICAgICAgIC8vIF9DU1Qgc3VwcG9ydA0KPiArICBQX0xWTDJfTEFULCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIHdvcnN0IGNhc2UgSFcgbGF0ZW5jeQ0KPiB0byBlbnRlci9leGl0IEMyIHN0 YXRlDQo+ICsgIFBfTFZMM19MQVQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd29yc3QgY2FzZSBIVyBs YXRlbmN5DQo+IHRvIGVudGVyL2V4aXQgQzMgc3RhdGUNCj4gKyAgRkxVU0hfU0laRSwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBTaXplIG9mIGFyZWEgcmVhZCB0bw0KPiBmbHVzaCBjYWNoZXMNCj4gKyAg RkxVU0hfU1RSSURFLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTdHJpZGUgdXNlZCBpbg0KPiBmbHVzaGlu ZyBjYWNoZXMNCj4gKyAgRFVUWV9PRkZTRVQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiaXQgbG9jYXRp b24gb2YgZHV0eQ0KPiBjeWNsZSBmaWVsZCBpbiBwX2NudCByZWcNCj4gKyAgRFVUWV9XSURUSCwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvLyBiaXQgd2lkdGggb2YgZHV0eQ0KPiBjeWNsZSBmaWVsZCBpbiBw X2NudCByZWcNCj4gKyAgREFZX0FMUk0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbmRleCB0byBk YXktb2YtDQo+IG1vbnRoIGFsYXJtIGluIFJUQyBDTU9TIFJBTQ0KPiArICBNT05fQUxSTSwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIGluZGV4IHRvIG1vbnRoLW9mLQ0KPiB5ZWFyIGFsYXJtIGluIFJU QyBDTU9TIFJBTQ0KPiArICBDRU5UVVJZLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluZGV4IHRv IGNlbnR1cnkgaW4gUlRDDQo+IENNT1MgUkFNDQo+ICsgIElBUENfQk9PVF9BUkNILCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLy8gSUEtUENJIEJvb3QNCj4gQXJjaGl0ZWN0dXJlIEZsYWcNCj4gKyAgUkVTRVJWRUQs ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyByZXNlcnZlZA0KPiArICBGTEFHLA0KPiArICB7DQo+ICsg ICAgRUZJX0FDUElfNV8wX1NZU1RFTV9JTywNCj4gKyAgICA4LA0KPiArICAgIDAsDQo+ICsgICAg MCwNCj4gKyAgICAweENGOQ0KPiArICB9LA0KPiArICAweDBFLCAgICAgICAgICAgICAvLyBIYXJk d2FyZSByZXNldCB2YWx1ZQ0KPiArICAwLCAwLCAwLCAgICAgICAgICAvLyBSZXNlcnZlZA0KPiAr ICAwLCAgICAgICAgICAgICAgICAvLyBYRmlybXdhcmVDdHJsDQo+ICsgIDAsICAgICAgICAgICAg ICAgIC8vIFhEc2R0DQo+ICsgIC8vDQo+ICsgIC8vIFhfUE0xYSBFdmVudCBSZWdpc3RlciBCbG9j aw0KPiArICAvLw0KPiArICBFRklfQUNQSV81XzBfU1lTVEVNX0lPLA0KPiArICAweDIwLA0KPiAr ICAweDAwLA0KPiArICBFRklfQUNQSV8zXzBfRFdPUkQsDQo+ICsgIFBNMWFfRVZUX0JMSywNCj4g Kw0KPiArICAvLw0KPiArICAvLyBYX1BNMWIgRXZlbnQgUmVnaXN0ZXIgQmxvY2sNCj4gKyAgLy8N Cj4gKyAgRUZJX0FDUElfNV8wX1NZU1RFTV9JTywNCj4gKyAgMHgwMCwNCj4gKyAgMHgwMCwNCj4g KyAgRUZJX0FDUElfUkVTRVJWRURfQllURSwNCj4gKyAgUE0xYl9FVlRfQkxLLA0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFhfUE0xYSBDb250cm9sIFJlZ2lzdGVyIEJsb2NrDQo+ICsgIC8vDQo+ICsg IEVGSV9BQ1BJXzVfMF9TWVNURU1fSU8sDQo+ICsgIDB4MTAsDQo+ICsgIDB4MDAsDQo+ICsgIEVG SV9BQ1BJXzNfMF9XT1JELA0KPiArICBQTTFhX0NOVF9CTEssDQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gWF9QTTFiIENvbnRyb2wgUmVnaXN0ZXIgQmxvY2sNCj4gKyAgLy8NCj4gKyAgRUZJX0FDUElf NV8wX1NZU1RFTV9JTywNCj4gKyAgMHgwMCwNCj4gKyAgMHgwMCwNCj4gKyAgRUZJX0FDUElfUkVT RVJWRURfQllURSwNCj4gKyAgUE0xYl9DTlRfQkxLLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFhf UE0yIENvbnRyb2wgUmVnaXN0ZXIgQmxvY2sNCj4gKyAgLy8NCj4gKyAgRUZJX0FDUElfNV8wX1NZ U1RFTV9JTywNCj4gKyAgMHgwOCwNCj4gKyAgMHgwMCwNCj4gKyAgRUZJX0FDUElfM18wX0JZVEUs DQo+ICsgIFBNMl9DTlRfQkxLLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFhfUE0gVGltZXIgQ29u dHJvbCBSZWdpc3RlciBCbG9jaw0KPiArICAvLw0KPiArICBFRklfQUNQSV81XzBfU1lTVEVNX0lP LA0KPiArICAweDIwLA0KPiArICAweDAwLA0KPiArICBFRklfQUNQSV8zXzBfRFdPUkQsDQo+ICsg IFBNX1RNUl9CTEssDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gWF9HZW5lcmFsIFB1cnBvc2UgRXZl bnQgMCBSZWdpc3RlciBCbG9jaw0KPiArICAvLw0KPiArICBFRklfQUNQSV81XzBfU1lTVEVNX0lP LA0KPiArICAweDgwLA0KPiArICAweDAwLA0KPiArICBFRklfQUNQSV9SRVNFUlZFRF9CWVRFLA0K PiArICBHUEUwX0JMSywNCj4gKw0KPiArICAvLw0KPiArICAvLyBYX0dlbmVyYWwgUHVycG9zZSBF dmVudCAxIFJlZ2lzdGVyIEJsb2NrDQo+ICsgIC8vDQo+ICsgIEVGSV9BQ1BJXzVfMF9TWVNURU1f SU8sDQo+ICsgIDB4MDAsDQo+ICsgIDB4MDAsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUs DQo+ICsgIEdQRTFfQkxLLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNsZWVwIENvbnRyb2wgUmVn aXN0ZXIgQmxvY2sNCj4gKyAgLy8NCj4gKyAgRUZJX0FDUElfNV8wX1NZU1RFTV9JTywNCj4gKyAg MHgwOCwNCj4gKyAgMHgwMCwNCj4gKyAgRUZJX0FDUElfUkVTRVJWRURfQllURSwNCj4gKyAgMCwN Cj4gKw0KPiArICAvLw0KPiArICAvLyBTbGVlcCBTdGF0dXMgUmVnaXN0ZXIgQmxvY2sNCj4gKyAg Ly8NCj4gKyAgRUZJX0FDUElfNV8wX1NZU1RFTV9JTywNCj4gKyAgMHgwOCwNCj4gKyAgMHgwMCwN Cj4gKyAgRUZJX0FDUElfUkVTRVJWRURfQllURSwNCj4gKyAgMCwNCj4gK307DQo+ICsNCj4gK1ZP SUQqDQo+ICtSZWZlcmVuY2VBY3BpVGFibGUgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4g KyAgLy8NCj4gKyAgLy8gUmVmZXJlbmNlIHRoZSB0YWJsZSBiZWluZyBnZW5lcmF0ZWQgdG8gcHJl dmVudCB0aGUgb3B0aW1pemVyIGZyb20NCj4gKyAgLy8gcmVtb3ZpbmcgdGhlIGRhdGEgc3RydWN0 dXJlIGZyb20gdGhlIGV4ZWN1dGFibGUNCj4gKyAgLy8NCj4gKyAgcmV0dXJuIChWT0lEKikmRkFD UDsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvQWNwaVRhYmxlc1BDQVQvRmFjcy9GYWNzLmFzbGMNCj4gYi9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0ZhY3MvRmFjcy5hc2xjDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmUyMTZmNjEyOTkNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlU YWJsZXNQQ0FUL0ZhY3MvRmFjcy5hc2xjDQo+IEBAIC0wLDAgKzEsODQgQEANCj4gKy8qKysNCj4g Kw0KPiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiAr ICBFYTgxNWFjcGlGQUNTLmMNCj4gKw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBUaGlz IGZpbGUgY29udGFpbnMgdGhlIEZBQ1Mgc3RydWN0dXJlIGRlZmluaXRpb24uDQo+ICsNCj4gKy0t Ki8NCj4gKw0KPiArLy8NCj4gKy8vIFN0YXRlbWVudHMgdGhhdCBpbmNsdWRlIG90aGVyIGZpbGVz DQo+ICsvLw0KPiArI2lmZGVmIEVDUF9GTEFHDQo+ICsjaW5jbHVkZSAiRURLSUlHbHVlRHhlLmgi DQo+ICsjZWxzZQ0KPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsjZW5kaWYNCj4gKyNpbmNsdWRl IDxJbmR1c3RyeVN0YW5kYXJkL0FjcGk1MC5oPg0KPiArI2luY2x1ZGUgIkFjcGlUYWJsZVBsYXRm b3JtLmgiDQo+ICsNCj4gK0VGSV9BQ1BJXzVfMF9GSVJNV0FSRV9BQ1BJX0NPTlRST0xfU1RSVUNU VVJFIEZBQ1MgPSB7DQo+ICsgIEVGSV9BQ1BJXzVfMF9GSVJNV0FSRV9BQ1BJX0NPTlRST0xfU1RS VUNUVVJFX1NJR05BVFVSRSwNCj4gKyAgc2l6ZW9mIChFRklfQUNQSV81XzBfRklSTVdBUkVfQUNQ SV9DT05UUk9MX1NUUlVDVFVSRSksDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSGFyZHdhcmUgU2ln bmF0dXJlIHdpbGwgYmUgdXBkYXRlZCBhdCBydW50aW1lDQo+ICsgIC8vDQo+ICsgIDB4MDAwMDAw MDAsICAgICAgICAgICAgICAgICAgLy9IYXJkd2FyZVNpZ25hdHVyZQ0KPiArICAweDAwMDAwMDAw LCAgICAgICAgICAgICAgICAgIC8vRmlybXdhcmVXYWtpbmdWZWN0b3INCj4gKyAgMHgwMDAwMDAw MCwgICAgICAgICAgICAgICAgICAvL0dsb2JhbExvY2sNCj4gKyAgMHgwMDAwMDAwMCwgICAgICAg ICAgICAgICAgICAvL0ZsYWdzDQo+ICsgIDB4MDAwMDAwMDAwMDAwMDAwMCwgICAgICAgICAgLy9Y RmlybXdhcmVXYWtpbmdWZWN0b3INCj4gKyAgRUZJX0FDUElfNV8wX0ZJUk1XQVJFX0FDUElfQ09O VFJPTF9TVFJVQ1RVUkVfVkVSU0lPTiwNCj4gKyAgRUZJX0FDUElfUkVTRVJWRURfQllURSwgICAg ICAvL1Jlc2VydmVkMFszXQ0KPiArICBFRklfQUNQSV9SRVNFUlZFRF9CWVRFLA0KPiArICBFRklf QUNQSV9SRVNFUlZFRF9CWVRFLA0KPiArICAweDAwMDAwMDAwLCAgICAgICAgICAgICAgICAgIC8v T3NwbUZsYWdzDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsICAgICAgLy9SZXNlcnZlZDFb MjRdDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVE X0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VS VkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JF U0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJ X1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9B Q1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVG SV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsg IEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUs DQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZ VEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVE X0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0JZVEUsDQo+ICsgIEVGSV9BQ1BJX1JFU0VS VkVEX0JZVEUNCj4gK307DQo+ICsNCj4gK1ZPSUQqDQo+ICtSZWZlcmVuY2VBY3BpVGFibGUgKA0K PiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gUmVmZXJlbmNlIHRoZSB0 YWJsZSBiZWluZyBnZW5lcmF0ZWQgdG8gcHJldmVudCB0aGUgb3B0aW1pemVyIGZyb20NCj4gKyAg Ly8gcmVtb3ZpbmcgdGhlIGRhdGEgc3RydWN0dXJlIGZyb20gdGhlIGV4ZWN1dGFibGUNCj4gKyAg Ly8NCj4gKyAgcmV0dXJuIChWT0lEKikmRkFDUzsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvR2xvYmxOdnMuYXNs DQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9H bG9ibE52cy5hc2wNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u NTEzZmE5NWU0Ng0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvR2xvYmxOdnMuYXNsDQo+IEBAIC0wLDAgKzEs MzQ4IEBADQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqOw0KPiArOyogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq Ow0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgSW50ZWwgQ29ycG9yYXRpb24gLSBB Q1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwgICAgICAgICAgICAqOw0KPiArOyog ICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5jZSBCb2FyZHMuICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE2LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZCAgICo7DQo+ICs7DQo+ICs7IFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7KiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioq Lw0KPiArDQo+ICsNCj4gKw0KPiArLy8gRGVmaW5lIGEgR2xvYmFsIHJlZ2lvbiBvZiBBQ1BJIE5W UyBSZWdpb24gdGhhdCBtYXkgYmUgdXNlZCBmb3IgYW55DQo+ICsvLyB0eXBlIG9mIGltcGxlbWVu dGF0aW9uLiAgVGhlIHN0YXJ0aW5nIG9mZnNldCBhbmQgc2l6ZSB3aWxsIGJlIGZpeGVkDQo+ICsv LyB1cCBieSB0aGUgU3lzdGVtIEJJT1MgZHVyaW5nIFBPU1QuICBOb3RlIHRoYXQgdGhlIFNpemUg bXVzdCBiZSBhIHdvcmQNCj4gKy8vIGluIHNpemUgdG8gYmUgZml4ZWQgdXAgY29ycmVjdGx5Lg0K PiArDQo+ICtPcGVyYXRpb25SZWdpb24oR05WUyxTeXN0ZW1NZW1vcnksMHhGRkZGMDAwMCwweEFB NTUpDQo+ICtGaWVsZChHTlZTLEFueUFjYyxMb2NrLFByZXNlcnZlKQ0KPiArew0KPiArICBPZmZz ZXQoMCksICAgICAgIC8vIE1pc2NlbGxhbmVvdXMgRHluYW1pYyBSZWdpc3RlcnM6DQo+ICsgIE9T WVMsICAgMTYsICAgICAgLy8gICAoMDApIE9wZXJhdGluZyBTeXN0ZW0NCj4gKyAgICAgICwgICA4 LCAgICAgICAvLyAgICgwMikNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgwMykNCj4gKyAg ICAgICwgICA4LCAgICAgICAvLyAgICgwNCkNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgw NSkNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgwNikNCj4gKyAgICAgICwgICA4LCAgICAg ICAvLyAgICgwNykNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgwOCkNCj4gKyAgICAgICwg ICA4LCAgICAgICAvLyAgICgwOSkNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgxMCkNCj4g KyAgUDgwRCwgICAzMiwgICAgICAvLyAgICgxMSkgUG9ydCA4MCBEZWJ1ZyBQb3J0IFZhbHVlDQo+ ICsgIExJRFMsICAgOCwgICAgICAgLy8gICAoMTUpIExpZCBTdGF0ZSAoTGlkIE9wZW4gPSAxKQ0K PiArICAgICAgLCAgIDgsICAgICAgIC8vICAgKDE2KQ0KPiArICAgICAgLCAgIDgsICAgICAgIC8v ICAgKDE3KQ0KPiArICBPZmZzZXQoMTgpLCAgICAgIC8vIFRoZXJtYWwgUG9saWN5IFJlZ2lzdGVy czoNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgxOCkNCj4gKyAgICAgICwgICA4LCAgICAg ICAvLyAgICgxOSkNCj4gKyAgQUNUVCwgICA4LCAgICAgICAvLyAgICgyMCkgQWN0aXZlIFRyaXAg UG9pbnQNCj4gKyAgUFNWVCwgICA4LCAgICAgICAvLyAgICgyMSkgUGFzc2l2ZSBUcmlwIFBvaW50 DQo+ICsgIFRDMVYsICAgOCwgICAgICAgLy8gICAoMjIpIFBhc3NpdmUgVHJpcCBQb2ludCBUQzEg VmFsdWUNCj4gKyAgVEMyViwgICA4LCAgICAgICAvLyAgICgyMykgUGFzc2l2ZSBUcmlwIFBvaW50 IFRDMiBWYWx1ZQ0KPiArICBUU1BWLCAgIDgsICAgICAgIC8vICAgKDI0KSBQYXNzaXZlIFRyaXAg UG9pbnQgVFNQIFZhbHVlDQo+ICsgIENSVFQsICAgOCwgICAgICAgLy8gICAoMjUpIENyaXRpY2Fs IFRyaXAgUG9pbnQNCj4gKyAgRFRTRSwgICA4LCAgICAgICAvLyAgICgyNikgRGlnaXRhbCBUaGVy bWFsIFNlbnNvciBFbmFibGUNCj4gKyAgRFRTMSwgICA4LCAgICAgICAvLyAgICgyNykgRGlnaXRh bCBUaGVybWFsIFNlbnNvciAxIFJlYWRpbmcNCj4gKyAgRFRTMiwgICA4LCAgICAgICAvLyAgICgy OCkgRGlnaXRhbCBUaGVybWFsIFNlbnNvciAyIFJlYWRpbmcNCj4gKyAgRFRTRiwgICA4LCAgICAg ICAvLyAgICgyOSkgRFRTIFNNSSBGdW5jdGlvbiBDYWxsDQo+ICsgIE9mZnNldCgzMCksICAgICAg Ly8gQmF0dGVyeSBTdXBwb3J0IFJlZ2lzdGVyczoNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAg ICgzMCkNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgzMSkNCj4gKyAgICAgICwgICA4LCAg ICAgICAvLyAgICgzMikNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgzMykNCj4gKyAgICAg ICwgICA4LCAgICAgICAvLyAgICgzNCkNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgzNSkN Cj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgzNikNCj4gKyAgT2Zmc2V0KDQwKSwgICAgICAv LyBDUFUgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXJzOg0KPiArICBBUElDLCAgIDgsICAgICAgIC8v ICAgKDQwKSBBUElDIEVuYWJsZWQgYnkgU0JJT1MgKEFQSUMgRW5hYmxlZCA9IDEpDQo+ICsgIE1Q RU4sICAgOCwgICAgICAgLy8gICAoNDEpIE51bWJlciBvZiBMb2dpY2FsIFByb2Nlc3NvcnMgaWYg TVAgRW5hYmxlZCAhPSAwDQo+ICsgICAgICAsICAgOCwgICAgICAgLy8gICAoNDIpDQo+ICsgICAg ICAsICAgOCwgICAgICAgLy8gICAoNDMpDQo+ICsgICAgICAsICAgOCwgICAgICAgLy8gICAoNDQp DQo+ICsgICAgICAsICAgMzIsICAgICAgLy8gICAoNDUpDQo+ICsgIE9mZnNldCg1MCksICAgICAg Ly8gU0lPIENNT1MgQ29uZmlndXJhdGlvbiBSZWdpc3RlcnM6DQo+ICsgICAgICAsICAgOCwgICAg ICAgLy8gICAoNTApDQo+ICsgICAgICAsICAgOCwgICAgICAgLy8gICAoNTEpDQo+ICsgICAgICAs ICAgOCwgICAgICAgLy8gICAoNTIpDQo+ICsgICAgICAsICAgOCwgICAgICAgLy8gICAoNTMpDQo+ ICsgICAgICAsICAgOCwgICAgICAgLy8gICAoNTQpDQo+ICsgICAgICAsICAgOCwgICAgICAgLy8g ICAoNTUpDQo+ICsgICAgICAsICAgOCwgICAgICAgLy8gICAoNTYpDQo+ICsgICAgICAsICAgOCwg ICAgICAgLy8gICAoNTcpDQo+ICsgICAgICAsICAgOCwgICAgICAgLy8gICAoNTgpDQo+ICsgIE9m ZnNldCg2MCksICAgICAgLy8gSW50ZXJuYWwgR3JhcGhpY3MgUmVnaXN0ZXJzOg0KPiArICAgICAg LCAgIDgsICAgICAgIC8vICAgKDYwKQ0KPiArICAgICAgLCAgIDgsICAgICAgIC8vICAgKDYxKQ0K PiArICBDQURMLCAgIDgsICAgICAgIC8vICAgKDYyKSBDdXJyZW50IEF0dGFjaGVkIERldmljZSBM aXN0DQo+ICsgICAgICAsICAgOCwgICAgICAgLy8gICAoNjMpDQo+ICsgIENTVEUsICAgMTYsICAg ICAgLy8gICAoNjQpIEN1cnJlbnQgRGlzcGxheSBTdGF0ZQ0KPiArICBOU1RFLCAgIDE2LCAgICAg IC8vICAgKDY2KSBOZXh0IERpc3BsYXkgU3RhdGUNCj4gKyAgICAgICwgICAxNiwgICAgICAvLyAg ICg2OCkNCj4gKyAgTkRJRCwgICA4LCAgICAgICAvLyAgICg3MCkgTnVtYmVyIG9mIFZhbGlkIERl dmljZSBJRHMNCj4gKyAgRElEMSwgICAzMiwgICAgICAvLyAgICg3MSkgRGV2aWNlIElEIDENCj4g KyAgRElEMiwgICAzMiwgICAgICAvLyAgICg3NSkgRGV2aWNlIElEIDINCj4gKyAgRElEMywgICAz MiwgICAgICAvLyAgICg3OSkgRGV2aWNlIElEIDMNCj4gKyAgRElENCwgICAzMiwgICAgICAvLyAg ICg4MykgRGV2aWNlIElEIDQNCj4gKyAgRElENSwgICAzMiwgICAgICAvLyAgICg4NykgRGV2aWNl IElEIDUNCj4gKyAgICAgICwgICAzMiwgICAgICAvLyAgICg5MSkNCj4gKyAgICAgICwgICA4LCAg ICAgICAvLyAgICg5NSkgRmlmdGggYnl0ZSBvZiBBS1NWIChtYW5udWZhY3R1cmluZyBtb2RlKQ0K PiArICBPZmZzZXQoMTAzKSwgICAgIC8vIEJhY2tsaWdodCBDb250cm9sIFJlZ2lzdGVyczoNCj4g KyAgICAgICwgICA4LCAgICAgICAvLyAgICgxMDMpDQo+ICsgIEJSVEwsICAgOCwgICAgICAgLy8g ICAoMTA0KSBCcmlnaHRuZXNzIExldmVsIFBlcmNlbnRhZ2UNCj4gKyAgT2Zmc2V0KDEwNSksICAg ICAvLyBBbWJpYW50IExpZ2h0IFNlbnNvciBSZWdpc3RlcnM6DQo+ICsgICAgICAsICAgOCwgICAg ICAgLy8gICAoMTA1KQ0KPiArICAgICAgLCAgIDgsICAgICAgIC8vICAgKDEwNikNCj4gKyAgTExP VywgICA4LCAgICAgICAvLyAgICgxMDcpIExVWCBMb3cgVmFsdWUNCj4gKyAgICAgICwgICA4LCAg ICAgICAvLyAgICgxMDgpDQo+ICsgIE9mZnNldCgxMTApLCAgICAgLy8gRU1BIFJlZ2lzdGVyczoN Cj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgxMTApDQo+ICsgICAgICAsICAgMTYsICAgICAg Ly8gICAoMTExKQ0KPiArICAgICAgLCAgIDE2LCAgICAgIC8vICAgKDExMykNCj4gKyAgT2Zmc2V0 KDExNiksICAgICAvLyBNRUYgUmVnaXN0ZXJzOg0KPiArICAgICAgLCAgIDgsICAgICAgIC8vICAg KDExNikgTUVGIEVuYWJsZQ0KPiArICBPZmZzZXQoMTE3KSwgICAgIC8vIFBDSWUgRG9jazoNCj4g KyAgICAgICwgICA4LCAgICAgICAvLyAgICgxMTcpDQo+ICsgIE9mZnNldCgxMjApLCAgICAgLy8g VFBNIFJlZ2lzdGVyczoNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgxMjApDQo+ICsgICAg ICAsICAgOCwgICAgICAgLy8gICAoMTIxKQ0KPiArICAgICAgLCAgIDgsICAgICAgIC8vICAgKDEy MikNCj4gKyAgICAgICwgICA4LCAgICAgICAvLyAgICgxMjMpDQo+ICsgICAgICAsICAgMzIsICAg ICAgLy8gICAoMTI0KQ0KPiArICAgICAgLCAgIDgsICAgICAgIC8vICAgKDEyNSkNCj4gKyAgICAg ICwgICA4LCAgICAgICAvLyAgICgxMjkpDQo+ICsgIE9mZnNldCgxMzApLCAgICAgLy8NCj4gKyAg ICAgICwgICA1NiwgICAgICAvLyAgICgxMzApDQo+ICsgICAgICAsICAgNTYsICAgICAgLy8gICAo MTM3KQ0KPiArICAgICAgLCAgIDgsICAgICAgIC8vICAgKDE0NCkNCj4gKyAgICAgICwgICA1Niwg ICAgICAvLyAgICgxNDUpDQo+ICsgIE9mZnNldCgxNzApLCAgICAgLy8gSUdEIE9wUmVnaW9uL1Nv ZnR3YXJlIFNDSSBiYXNlIGFkZHJlc3MNCj4gKyAgQVNMQiwgICAzMiwgICAgICAvLyAgICgxNzAp IElHRCBPcFJlZ2lvbiBiYXNlIGFkZHJlc3MNCj4gKyAgT2Zmc2V0KDE3NCksICAgICAvLyBJR0Qg T3BSZWdpb24vU29mdHdhcmUgU0NJIHNoYXJlZCBkYXRhDQo+ICsgIElCVFQsICAgOCwgICAgICAg Ly8gICAoMTc0KSBJR0QgQm9vdCBEaXNwbGF5IERldmljZQ0KPiArICBJUEFULCAgIDgsICAgICAg IC8vICAgKDE3NSkgSUdEIFBhbmVsIFR5cGUgQ01PcyBvcHRpb24NCj4gKyAgSVRWRiwgICA4LCAg ICAgICAvLyAgICgxNzYpIElHRCBUViBGb3JtYXQgQ01PUyBvcHRpb24NCj4gKyAgSVRWTSwgICA4 LCAgICAgICAvLyAgICgxNzcpIElHRCBUViBNaW5vciBGb3JtYXQgQ01PUyBvcHRpb24NCj4gKyAg SVBTQywgICA4LCAgICAgICAvLyAgICgxNzgpIElHRCBQYW5lbCBTY2FsaW5nDQo+ICsgIElCTEMs ICAgOCwgICAgICAgLy8gICAoMTc5KSBJR0QgQkxDIENvbmZpZ3VyYXRpb24NCj4gKyAgSUJJQSwg ICA4LCAgICAgICAvLyAgICgxODApIElHRCBCSUEgQ29uZmlndXJhdGlvbg0KPiArICBJU1NDLCAg IDgsICAgICAgIC8vICAgKDE4MSkgSUdEIFNTQyBDb25maWd1cmF0aW9uDQo+ICsgIEk0MDksICAg OCwgICAgICAgLy8gICAoMTgyKSBJR0QgMDQwOSBNb2RpZmllZCBTZXR0aW5ncyBGbGFnDQo+ICsg IEk1MDksICAgOCwgICAgICAgLy8gICAoMTgzKSBJR0QgMDUwOSBNb2RpZmllZCBTZXR0aW5ncyBG bGFnDQo+ICsgIEk2MDksICAgOCwgICAgICAgLy8gICAoMTg0KSBJR0QgMDYwOSBNb2RpZmllZCBT ZXR0aW5ncyBGbGFnDQo+ICsgIEk3MDksICAgOCwgICAgICAgLy8gICAoMTg1KSBJR0QgMDcwOSBN b2RpZmllZCBTZXR0aW5ncyBGbGFnDQo+ICsgIElETU0sICAgOCwgICAgICAgLy8gICAoMTg2KSBJ R0QgRFZNVCBNb2RlDQo+ICsgIElETVMsICAgOCwgICAgICAgLy8gICAoMTg3KSBJR0QgRFZNVCBN ZW1vcnkgU2l6ZQ0KPiArICBJRjFFLCAgIDgsICAgICAgIC8vICAgKDE4OCkgSUdEIEZ1bmN0aW9u IDEgRW5hYmxlDQo+ICsgIEhWQ08sICAgOCwgICAgICAgLy8gICAoMTg5KSBIUExMIFZDTw0KPiAr ICBOWEQxLCAgIDMyLCAgICAgIC8vICAgKDE5MCkgTmV4dCBzdGF0ZSBESUQxIGZvciBfREdTDQo+ ICsgIE5YRDIsICAgMzIsICAgICAgLy8gICAoMTk0KSBOZXh0IHN0YXRlIERJRDIgZm9yIF9ER1MN Cj4gKyAgTlhEMywgICAzMiwgICAgICAvLyAgICgxOTgpIE5leHQgc3RhdGUgRElEMyBmb3IgX0RH Uw0KPiArICBOWEQ0LCAgIDMyLCAgICAgIC8vICAgKDIwMikgTmV4dCBzdGF0ZSBESUQ0IGZvciBf REdTDQo+ICsgIE5YRDUsICAgMzIsICAgICAgLy8gICAoMjA2KSBOZXh0IHN0YXRlIERJRDUgZm9y IF9ER1MNCj4gKyAgTlhENiwgICAzMiwgICAgICAvLyAgICgyMTApIE5leHQgc3RhdGUgRElENiBm b3IgX0RHUw0KPiArICBOWEQ3LCAgIDMyLCAgICAgIC8vICAgKDIxNCkgTmV4dCBzdGF0ZSBESUQ3 IGZvciBfREdTDQo+ICsgIE5YRDgsICAgMzIsICAgICAgLy8gICAoMjE4KSBOZXh0IHN0YXRlIERJ RDggZm9yIF9ER1MNCj4gKyAgR1NNSSwgICA4LCAgICAgICAvLyAgICgyMjIpIEdNQ0ggU01JL1ND SSBtb2RlICgwPVNDSSkNCj4gKyAgUEFWUCwgICA4LCAgICAgICAvLyAgICgyMjMpIElHRCBQQVZQ IGRhdGENCj4gKyAgT2Zmc2V0KDIyNSksDQo+ICsgIE9TQ0MsICAgOCwgICAgICAgLy8gICAoMjI1 KSBQQ0lFIE9TQyBDb250cm9sDQo+ICsgIE5FWFAsICAgOCwgICAgICAgLy8gICAoMjI2KSBOYXRp dmUgUENJRSBTZXR1cCBWYWx1ZQ0KPiArICBPZmZzZXQoMjM1KSwgLy8gR2xvYmFsIFZhcmlhYmxl cw0KPiArICBEU0VOLCAgIDgsICAgICAgIC8vICAgKDIzNSkgX0RPUyBEaXNwbGF5IFN1cHBvcnQg RmxhZy4NCj4gKyAgRUNPTiwgICA4LCAgICAgICAvLyAgICgyMzYpIEVtYmVkZGVkIENvbnRyb2xs ZXIgQXZhaWxhYmlsaXR5IEZsYWcuDQo+ICsgIEdQSUMsICAgOCwgICAgICAgLy8gICAoMjM3KSBH bG9iYWwgSU9BUElDLzgyNTkgSW50ZXJydXB0IE1vZGUgRmxhZy4NCj4gKyAgQ1RZUCwgICA4LCAg ICAgICAvLyAgICgyMzgpIEdsb2JhbCBDb29saW5nIFR5cGUgRmxhZy4NCj4gKyAgTDAxQywgICA4 LCAgICAgICAvLyAgICgyMzkpIEdsb2JhbCBMMDEgQ291bnRlci4NCj4gKyAgVkZOMCwgICA4LCAg ICAgICAvLyAgICgyNDApIFZpcnR1YWwgRmFuMCBTdGF0dXMuDQo+ICsgIFZGTjEsICAgOCwgICAg ICAgLy8gICAoMjQxKSBWaXJ0dWFsIEZhbjEgU3RhdHVzLg0KPiArICBPZmZzZXQoMjU2KSwNCj4g KyAgTlZHQSwgICAzMiwgIC8vICAgKDI1NikgTlZJRyBvcHJlZ2lvbiBhZGRyZXNzDQo+ICsgIE5W SEEsICAgMzIsICAvLyAgICgyNjApIE5WSE0gb3ByZWdpb24gYWRkcmVzcw0KPiArICBBTURBLCAg IDMyLCAgLy8gICAoMjY0KSBBTURBIG9wcmVnaW9uIGFkZHJlc3MNCj4gKyAgRElENiwgICAzMiwg IC8vICAgKDI2OCkgRGV2aWNlIElEIDYNCj4gKyAgRElENywgICAzMiwgIC8vICAgKDI3MikgRGV2 aWNlIElEIDcNCj4gKyAgRElEOCwgICAzMiwgIC8vICAgKDI3NikgRGV2aWNlIElEIDgNCj4gKyAg T2Zmc2V0KDMzMiksDQo+ICsgIFVTRUwsICAgOCwgICAgLy8gKDMzMikgVUFSVCBTZWxlY3Rpb24N Cj4gKyAgUFUxRSwgICA4LCAgICAvLyAoMzMzKSBQQ1UgVUFSVCAxIEVuYWJsZWQNCj4gKyAgUFUy RSwgICA4LCAgICAvLyAoMzM0KSBQQ1UgVUFSVCAyIEVuYWJsZWQNCj4gKw0KPiArICBMUEUwLCAz MiwgICAgIC8vICgzMzUpIExQRSBCYXIwDQo+ICsgIExQRTEsIDMyLCAgICAgLy8gKDMzOSkgTFBF IEJhcjENCj4gKyAgTFBFMiwgMzIsICAgICAvLyAoMzQzKSBMUEUgQmFyMg0KPiArDQo+ICsgIE9m ZnNldCgzNDcpLA0KPiArICAgICAgLCAgIDgsICAgIC8vICgzNDcpDQo+ICsgICAgICAsICAgOCwg ICAgLy8gKDM0OCkNCj4gKyAgUEZMViwgICA4LCAgICAvLyAoMzQ5KSBQbGF0Zm9ybSBGbGF2b3IN Cj4gKw0KPiArICBPZmZzZXQoMzUxKSwNCj4gKyAgSUNORiwgICA4LCAgIC8vICAgKDM1MSkgSVND VCAvIEFPQUMgQ29uZmlndXJhdGlvbg0KPiArICBYSENJLCAgIDgsICAgLy8gICAoMzUyKSB4SENJ IGNvbnRyb2xsZXIgbW9kZQ0KPiArICBQTUVOLCAgIDgsICAgLy8gICAoMzUzKSBQTUlDIGVuYWJs ZS9kaXNhYmxlDQo+ICsNCj4gKyAgTFBFRSwgICA4LCAgIC8vICAgKDM1NCkgTFBFIGVuYWJsZS9k aXNhYmxlDQo+ICsgIElTUEEsICAgMzIsICAvLyAgICgzNTUpIElTUCBCYXNlIEFkZHINCj4gKyAg SVNQRCwgICA4LCAgICAvLyAgKDM1OSkgSVNQIERldmljZSBTZWxlY3Rpb24gMDogRGlzYWJsZWQ7 IDE6IFBDSSBEZXZpY2UgMjsgMjogUENJDQo+IERldmljZSAzDQo+ICsNCj4gKyAgb2Zmc2V0KDM2 MCksICAvLyAoKDQrOCs2KSo0KzIpKjQ9Mjk2DQo+ICsgIC8vDQo+ICsgIC8vIExwc3MgY29udHJv bGxlcnMNCj4gKyAgLy8NCj4gKyAgUENJQiwgICAgIDMyLA0KPiArICBQQ0lULCAgICAgMzIsDQo+ ICsgIEQxMEEsICAgICAzMiwgIC8vRE1BMQ0KPiArICBEMTBMLCAgICAgMzIsDQo+ICsgIEQxMUEs ICAgICAzMiwNCj4gKyAgRDExTCwgICAgIDMyLA0KPiArICBQMTBBLCAgICAgMzIsICAvLyAgUFdN MQ0KPiArICBQMTBMLCAgICAgMzIsDQo+ICsgIFAxMUEsICAgICAzMiwNCj4gKyAgUDExTCwgICAg IDMyLA0KPiArICBQMjBBLCAgICAgMzIsICAvLyAgUFdNMg0KPiArICBQMjBMLCAgICAgMzIsDQo+ ICsgIFAyMUEsICAgICAzMiwNCj4gKyAgUDIxTCwgICAgIDMyLA0KPiArICBVMTBBLCAgICAgMzIs ICAvLyBVQVJUMQ0KPiArICBVMTBMLCAgICAgMzIsDQo+ICsgIFUxMUEsICAgICAzMiwNCj4gKyAg VTExTCwgICAgIDMyLA0KPiArICBVMjBBLCAgICAgMzIsICAvLyBVQVJUMg0KPiArICBVMjBMLCAg ICAgMzIsDQo+ICsgIFUyMUEsICAgICAzMiwNCj4gKyAgVTIxTCwgICAgIDMyLA0KPiArICBTUDBB LCAgICAgMzIsICAvLyBTUEkNCj4gKyAgU1AwTCwgICAgIDMyLA0KPiArICBTUDFBLCAgICAgMzIs DQo+ICsgIFNQMUwsICAgICAzMiwNCj4gKw0KPiArICBEMjBBLCAgICAgMzIsICAvL0RNQTINCj4g KyAgRDIwTCwgICAgIDMyLA0KPiArICBEMjFBLCAgICAgMzIsDQo+ICsgIEQyMUwsICAgICAzMiwN Cj4gKyAgSTEwQSwgICAgIDMyLCAgLy8gIEkyQzENCj4gKyAgSTEwTCwgICAgIDMyLA0KPiArICBJ MTFBLCAgICAgMzIsDQo+ICsgIEkxMUwsICAgICAzMiwNCj4gKyAgSTIwQSwgICAgIDMyLCAgLy8g IEkyQzINCj4gKyAgSTIwTCwgICAgIDMyLA0KPiArICBJMjFBLCAgICAgMzIsDQo+ICsgIEkyMUws ICAgICAzMiwNCj4gKyAgSTMwQSwgICAgIDMyLCAgLy8gIEkyQzMNCj4gKyAgSTMwTCwgICAgIDMy LA0KPiArICBJMzFBLCAgICAgMzIsDQo+ICsgIEkzMUwsICAgICAzMiwNCj4gKyAgSTQwQSwgICAg IDMyLCAgLy8gIEkyQzQNCj4gKyAgSTQwTCwgICAgIDMyLA0KPiArICBJNDFBLCAgICAgMzIsDQo+ ICsgIEk0MUwsICAgICAzMiwNCj4gKyAgSTUwQSwgICAgIDMyLCAgLy8gIEkyQzUNCj4gKyAgSTUw TCwgICAgIDMyLA0KPiArICBJNTFBLCAgICAgMzIsDQo+ICsgIEk1MUwsICAgICAzMiwNCj4gKyAg STYwQSwgICAgIDMyLCAgLy8gIEkyQzYNCj4gKyAgSTYwTCwgICAgIDMyLA0KPiArICBJNjFBLCAg ICAgMzIsDQo+ICsgIEk2MUwsICAgICAzMiwNCj4gKyAgSTcwQSwgICAgIDMyLCAgLy8gIEkyQzcN Cj4gKyAgSTcwTCwgICAgIDMyLA0KPiArICBJNzFBLCAgICAgMzIsDQo+ICsgIEk3MUwsICAgICAz MiwNCj4gKyAgLy8NCj4gKyAgLy8gU2NjIGNvbnRyb2xsZXJzDQo+ICsgIC8vDQo+ICsgIGVNMEEs ICAgICAzMiwgIC8vICBFTU1DDQo+ICsgIGVNMEwsICAgICAzMiwNCj4gKyAgZU0xQSwgICAgIDMy LA0KPiArICBlTTFMLCAgICAgMzIsDQo+ICsgIFNJMEEsICAgICAzMiwgIC8vICBTRElPDQo+ICsg IFNJMEwsICAgICAzMiwNCj4gKyAgU0kxQSwgICAgIDMyLA0KPiArICBTSTFMLCAgICAgMzIsDQo+ ICsgIFNEMEEsICAgICAzMiwgIC8vICBTRENhcmQNCj4gKyAgU0QwTCwgICAgIDMyLA0KPiArICBT RDFBLCAgICAgMzIsDQo+ICsgIFNEMUwsICAgICAzMiwNCj4gKyAgTUgwQSwgICAgIDMyLCAgLy8N Cj4gKyAgTUgwTCwgICAgIDMyLA0KPiArICBNSDFBLCAgICAgMzIsDQo+ICsgIE1IMUwsICAgICAz MiwNCj4gKw0KPiArICBvZmZzZXQoNjU2KSwNCj4gKyAgU0RSTSwgICAgIDgsDQo+ICsgIG9mZnNl dCg2NTcpLA0KPiArICBITFBTLCAgICAgOCwgICAvLyg2NTcpIEhpZGUgRGV2aWNlcw0KPiArICBv ZmZzZXQoNjU4KSwNCj4gKyAgT1NFTCwgICAgIDgsICAgICAgLy8oNjU4KSBPUyBTZWxldGlvbiAt IFdpbmRvd3MvQW5kcm9pZA0KPiArDQo+ICsgIG9mZnNldCg2NTkpLCAgLy8gVkxWMSBEUFRGDQo+ ICsgIFNEUDEsICAgICA4LCAgICAgIC8vKDY1OSkgQW4gZW51bWVyYXRlZCB2YWx1ZSBjb3JyZXNw b25kaW5nIHRvIFNLVQ0KPiArICBEUFRFLCAgICAgOCwgICAgICAvLyg2NjApIERQVEYgRW5hYmxl DQo+ICsgIFRITTAsICAgICA4LCAgICAgIC8vKDY2MSkgU3lzdGVtIFRoZXJtYWwgMA0KPiArICBU SE0xLCAgICAgOCwgICAgICAvLyg2NjIpIFN5c3RlbSBUaGVybWFsIDENCj4gKyAgVEhNMiwgICAg IDgsICAgICAgLy8oNjYzKSBTeXN0ZW0gVGhlcm1hbCAyDQo+ICsgIFRITTMsICAgICA4LCAgICAg IC8vKDY2NCkgU3lzdGVtIFRoZXJtYWwgMw0KPiArICBUSE00LCAgICAgOCwgICAgICAvLyg2NjUp IFN5c3RlbSBUaGVybWFsIDMNCj4gKyAgQ0hHUiwgICAgIDgsICAgICAgLy8oNjY2KSBEUFRGIENo YW5nZXIgRGV2aWNlDQo+ICsgIEREU1AsICAgICA4LCAgICAgIC8vKDY2NykgRFBURiBEaXNwbGF5 IERldmljZQ0KPiArICBEU09DLCAgICAgOCwgICAgICAvLyg2NjgpIERQVEYgU29DIGRldmljZQ0K PiArICBEUFNSLCAgICAgOCwgICAgICAvLyg2NjkpIERQVEYgUHJvY2Vzc29yIGRldmljZQ0KPiAr ICBEUENULCAgICAgMzIsICAgICAvLyg2NzApIERQVEYgUHJvY2Vzc29yIHBhcnRpY2lwYW50IGNy aXRpY2FsIHRlbXBlcmF0dXJlDQo+ICsgIERQUFQsICAgICAzMiwgICAgIC8vKDY3NCkgRFBURiBQ cm9jZXNzb3IgcGFydGljaXBhbnQgcGFzc2l2ZSB0ZW1wZXJhdHVyZQ0KPiArICBER0MwLCAgICAg MzIsICAgICAvLyg2NzgpIERQVEYgR2VuZXJpYyBzZW5zb3IwIHBhcnRpY2lwYW50IGNyaXRpY2Fs IHRlbXBlcmF0dXJlDQo+ICsgIERHUDAsICAgICAzMiwgICAgIC8vKDY4MikgRFBURiBHZW5lcmlj IHNlbnNvcjAgcGFydGljaXBhbnQgcGFzc2l2ZQ0KPiB0ZW1wZXJhdHVyZQ0KPiArICBER0MxLCAg ICAgMzIsICAgICAvLyg2ODYpIERQVEYgR2VuZXJpYyBzZW5zb3IxIHBhcnRpY2lwYW50IGNyaXRp Y2FsIHRlbXBlcmF0dXJlDQo+ICsgIERHUDEsICAgICAzMiwgICAgIC8vKDY5MCkgRFBURiBHZW5l cmljIHNlbnNvcjEgcGFydGljaXBhbnQgcGFzc2l2ZQ0KPiB0ZW1wZXJhdHVyZQ0KPiArICBER0My LCAgICAgMzIsICAgICAvLyg2OTQpIERQVEYgR2VuZXJpYyBzZW5zb3IyIHBhcnRpY2lwYW50IGNy aXRpY2FsIHRlbXBlcmF0dXJlDQo+ICsgIERHUDIsICAgICAzMiwgICAgIC8vKDY5OCkgRFBURiBH ZW5lcmljIHNlbnNvcjIgcGFydGljaXBhbnQgcGFzc2l2ZQ0KPiB0ZW1wZXJhdHVyZQ0KPiArICBE R0MzLCAgICAgMzIsICAgICAvLyg3MDIpIERQVEYgR2VuZXJpYyBzZW5zb3IzIHBhcnRpY2lwYW50 IGNyaXRpY2FsIHRlbXBlcmF0dXJlDQo+ICsgIERHUDMsICAgICAzMiwgICAgIC8vKDcwNikgRFBU RiBHZW5lcmljIHNlbnNvcjMgcGFydGljaXBhbnQgcGFzc2l2ZQ0KPiB0ZW1wZXJhdHVyZQ0KPiAr ICBER0M0LCAgICAgMzIsICAgICAvLyg3MTApRFBURiBHZW5lcmljIHNlbnNvcjMgcGFydGljaXBh bnQgY3JpdGljYWwgdGVtcGVyYXR1cmUNCj4gKyAgREdQNCwgICAgIDMyLCAgICAgLy8oNzE0KURQ VEYgR2VuZXJpYyBzZW5zb3IzIHBhcnRpY2lwYW50IHBhc3NpdmUNCj4gdGVtcGVyYXR1cmUNCj4g KyAgRExQTSwgICAgIDgsICAgICAgLy8oNzE4KSBEUFRGIEN1cnJlbnQgbG93IHBvd2VyIG1vZGUg c2V0dGluZw0KPiArICBEU0MwLCAgICAgMzIsICAgICAvLyg3MTkpIERQVEYgQ3JpdGljYWwgdGhy ZXNob2xkMCBmb3IgU0NVDQo+ICsgIERTQzEsICAgICAzMiwgICAgIC8vKDcyMykgRFBURiBDcml0 aWNhbCB0aHJlc2hvbGQxIGZvciBTQ1UNCj4gKyAgRFNDMiwgICAgIDMyLCAgICAgLy8oNzI3KSBE UFRGIENyaXRpY2FsIHRocmVzaG9sZDIgZm9yIFNDVQ0KPiArICBEU0MzLCAgICAgMzIsICAgICAv Lyg3MzEpIERQVEYgQ3JpdGljYWwgdGhyZXNob2xkMyBmb3IgU0NVDQo+ICsgIERTQzQsICAgICAz MiwgICAgIC8vKDczNSkgRFBURiBDcml0aWNhbCB0aHJlc2hvbGQzIGZvciBTQ1UNCj4gKyAgRERC RywgICAgIDgsICAgICAgLy8oNzM5KSBEUFRGIFN1cGVyIERlYnVnIG9wdGlvbi4gMCAtIERpc2Fi bGVkLCAxIC0gRW5hYmxlZA0KPiArICBMUE9FLCAgICAgMzIsICAgICAvLyg3NDApIERQVEYgTFBP IEVuYWJsZQ0KPiArICBMUFBTLCAgICAgMzIsICAgICAvLyg3NDQpIFAtU3RhdGUgc3RhcnQgaW5k ZXgNCj4gKyAgTFBTVCwgICAgIDMyLCAgICAgLy8oNzQ4KSBTdGVwIHNpemUNCj4gKyAgTFBQQywg ICAgIDMyLCAgICAgLy8oNzUyKSBQb3dlciBjb250cm9sIHNldHRpbmcNCj4gKyAgTFBQRiwgICAg IDMyLCAgICAgLy8oNzU2KSBQZXJmb3JtYW5jZSBjb250cm9sIHNldHRpbmcNCj4gKyAgRFBNRSwg ICAgIDgsICAgICAgLy8oNzYwKSBEUFRGIERQUE0gZW5hYmxlL2Rpc2FibGUNCj4gKyAgQkNTTCwg ICAgIDgsICAgICAgLy8oNzYxKSBCYXR0ZXJ5IGNoYXJnaW5nIHNvbHV0aW9uIDAtQ0xWIDEtVUxQ TUMNCj4gKyAgTkZDUywgICAgIDgsICAgICAgLy8oNzYyKSBORkN4IFNlbGVjdCAxOiBORkMxICAg IDI6TkZDMg0KPiArICBQQ0lNLCAgICAgOCwgICAgICAvLyg3NjMpIEVNTUMgZGV2aWNlIDAtQUNQ SSBtb2RlLCAxLVBDSSBtb2RlDQo+ICsgIFRQTUEsICAgICAzMiwgICAgIC8vKDc2NCkNCj4gKyAg VFBNTCwgICAgIDMyLCAgICAgLy8oNzY4KQ0KPiArICBJVFNBLCAgICAgIDgsICAgICAvLyg3NzIp IEkyQyBUb3VjaCBTY3JlZW4gQWRkcmVzcw0KPiArICBTMElYLCAgICAgOCwgICAgICAvLyg3NzMp IFMwaXggc3RhdHVzDQo+ICsgIFNETUQsICAgICA4LCAgICAgIC8vKDc3NCkgU0RJTyBNb2RlDQo+ ICsgIEVNVlIsICAgICA4LCAgICAgIC8vKDc3NSkgZU1NQyBjb250cm9sbGVyIHZlcnNpb24NCj4g KyAgQk1CRCwgICAgIDMyLCAgICAgLy8oNzc2KSBCTSBCb3VuZA0KPiArICBGU0FTLCAgICAgOCwg ICAgICAvLyg3ODApIEZTQSBTdGF0dXMNCj4gKyAgQkRJRCwgICAgIDgsICAgICAgLy8oNzgxKSBC b2FyZCBJRA0KPiArICBGQklELCAgICAgOCwgICAgICAvLyg3ODIpIEZBQiBJRA0KPiArICBPVEdN LCAgICAgOCwgICAgICAvLyg3ODMpIE9URyBtb2RlDQo+ICsgIFNURVAsICAgICA4LCAgICAgIC8v KDc4NCkgU3RlcHBpbmcgSUQNCj4gKyAgV0lUVCwgICAgIDgsICAgICAgLy8oNzg1KSBFbmFibGUg VGVzdCBEZXZpY2UgY29ubmVjdGVkIHRvIEkyQyBmb3IgV0hDSyB0ZXN0Lg0KPiArICBTT0NTLCAg ICAgOCwgICAgICAvLyg3ODYpIHByb3ZpZGUgdGhlIFNvQyBzdGVwcGluZyBpbmZvbWF0aW9uDQo+ ICsgIEFNVEUsICAgICA4LCAgICAgIC8vKDc4NykgQW1iaWVudCBUcmlwIHBvaW50IGNoYW5nZQ0K PiArICBVVFMsICAgICAgOCwgICAgICAvLyg3ODgpIEVuYWJsZSBUZXN0IERldmljZSBjb25uZWN0 ZWQgdG8gVVJUIGZvciBXSENLIHRlc3QuDQo+ICsgIFNDUEUsICAgICA4LCAgICAgIC8vKDc4OSkg QWxsb3cgaGlnaGVyIHBlcmZvcm1hbmNlIG9uIEFDL1VTQiAtIEVuYWJsZS9EaXNhYmxlDQo+ICsg IE9mZnNldCg3OTIpLA0KPiArICBFRFBWLCAgICAgOCwgICAgICAvLyg3OTIpIENoZWNrIGZvciBl RFAgZGlzcGxheSBkZXZpY2UNCj4gKyAgRElEWCwgICAgIDMyLCAgICAgLy8oNzkzKSBEZXZpY2Ug SUQgZm9yIGVEUCBkZXZpY2UNCj4gKyAgSU9ULCAgICAgIDgsICAgICAgLy8oNzk0KSBNaW5ub3dC b2FyZCBNYXggSlAxIGlzIGNvbmZpZ3VyZWQgZm9yIE1TRlQgSU9UDQo+IHByb2plY3QuDQo+ICsg IEJBVFQsICAgICA4LCAgICAgIC8vKDc5NSkgVGhlIEZsYWcgb2YgUlRDIEJhdHRlcnkgUHJlbnNl bnQuDQo+ICsgIExQQUQsICAgICA4LCAgICAgIC8vKDc5NikNCj4gK30NCj4gKw0KPiBkaWZmIC0t Z2l0IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9H cGUuYXNsDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVz UENBVC9HcGUuYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LmMzYzljYjYzMTUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0dwZS5hc2wNCj4gQEAgLTAsMCArMSw5OSBA QA0KPiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKg0KPiAqKioqKioqKioqKioqKioqKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4g KzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgIEludGVsIENvcnBvcmF0aW9uIC0gQUNQSSBS ZWZlcmVuY2UgQ29kZSBmb3IgdGhlIEJheXRyYWlsICAgICAgICAgICAgKjsNCj4gKzsqICAgIEZh bWlseSBvZiBDdXN0b21lciBSZWZlcmVuY2UgQm9hcmRzLiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KjsNCj4gKzsqICAgIENvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZCAgICAqOw0KPiArOw0KPiArOyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArOw0KPiArOyogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq Ow0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioqKi8NCj4g Kw0KPiArDQo+ICsvLyBHZW5lcmFsIFB1cnBvc2UgRXZlbnRzLiAgVGhpcyBTY29wZSBoYW5kbGVz IHRoZSBSdW4tdGltZSBhbmQNCj4gKy8vIFdha2UtdGltZSBTQ0lzLiAgVGhlIHNwZWNpZmljIG1l dGhvZCBjYWxsZWQgd2lsbCBiZSBkZXRlcm1pbmVkIGJ5DQo+ICsvLyB0aGUgX0x4eCB2YWx1ZSwg d2hlcmUgeHggZXF1YWxzIHRoZSBiaXQgbG9jYXRpb24gaW4gdGhlIEdlbmVyYWwNCj4gKy8vIFB1 cnBvc2UgRXZlbnQgcmVnaXN0ZXIocykuDQo+ICsNCj4gK1Njb3BlKFxfR1BFKQ0KPiArew0KPiAr ICAvLw0KPiArICAvLyBTb2Z0d2FyZSBHUEUgY2F1c2VkIHRoZSBldmVudC4NCj4gKyAgLy8NCj4g KyAgTWV0aG9kKF9MMDIpDQo+ICsgIHsNCj4gKyAgICAvLyBDbGVhciBHUEUgc3RhdHVzIGJpdC4N Cj4gKyAgICBTdG9yZSgwLEdQRUMpDQo+ICsgICAgLy8NCj4gKyAgICAvLyBIYW5kbGUgRFRTIFRo ZXJtYWwgRXZlbnRzLg0KPiArICAgIC8vDQo+ICsgICAgRXh0ZXJuYWwoRFRTRSwgSW50T2JqKQ0K PiArICAgIElmKENvbmRSZWZPZihEVFNFKSkNCj4gKyAgICB7DQo+ICsgICAgICBJZihMR3JlYXRl ckVxdWFsKERUU0UsIDB4MDEpKQ0KPiArICAgICAgew0KPiArICAgICAgICBOb3RpZnkoXF9UWi5U WjAxLDB4ODApDQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gUFVOSVQgU0NJIGV2ZW50Lg0KPiArICAvLw0KPiArICBNZXRob2QoX0wwNCkNCj4gKyAg ew0KPiArICAgIC8vIENsZWFyIHRoZSBQVU5JVCBTdGF0dXMgQml0Lg0KPiArICAgIFN0b3JlKDEs IFBTQ0kpDQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIElHRCBPcFJlZ2lvbiBT Q0kgZXZlbnQgKHNlZSBJR0QgT3BSZWdpb24vU29mdHdhcmUgU0NJIEJJT1MgU1BFQykuDQo+ICsg IC8vDQo+ICsgIE1ldGhvZChfTDA1KQ0KPiArICB7DQo+ICsgICAgSWYoTEFuZChcX1NCLlBDSTAu R0ZYMC5HU1NFLCBMTm90KEdTTUkpKSkgICAvLyBHcmFwaGljcyBzb2Z0d2FyZSBTQ0kNCj4gZXZl bnQ/DQo+ICsgICAgew0KPiArICAgICAgXF9TQi5QQ0kwLkdGWDAuR1NDSSgpICAgICAvLyBIYW5k bGUgdGhlIFNXU0NJDQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhp cyBQTUUgZXZlbnQgKFBDSCdzIEdQRSAjMTMpIGlzIHJlY2VpdmVkIHdoZW4gYW55IFBDSCBpbnRl cm5hbA0KPiBkZXZpY2Ugd2l0aCBQQ0kgUG93ZXIgTWFuYWdlbWVudCBjYXBhYmlsaXRpZXMNCj4g KyAgLy8gb24gYnVzIDAgYXNzZXJ0cyB0aGUgZXF1aXZhbGVudCBvZiB0aGUgUE1FIyBzaWduYWwu DQo+ICsgIC8vDQo+ICsgIE1ldGhvZChfTDBELCAwKQ0KPiArICB7DQo+ICsgICAgSWYoTEFuZChc X1NCLlBDSTAuRUhDMS5QTUVFLCBcX1NCLlBDSTAuRUhDMS5QTUVTKSkNCj4gKyAgICB7DQo+ICsg ICAgICBJZihMTm90RXF1YWwoT1NFTCwgMSkpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFN0b3Jl KDEsIFxfU0IuUENJMC5FSEMxLlBNRVMpIC8vQ2xlYXIgUE1FIHN0YXR1cw0KPiArICAgICAgICBT dG9yZSgwLCBcX1NCLlBDSTAuRUhDMS5QTUVFKSAvL0Rpc2FibGUgUE1FDQo+ICsgICAgICB9DQo+ ICsgICAgICBOb3RpZnkoXF9TQi5QQ0kwLkVIQzEsIDB4MDIpDQo+ICsgICAgfQ0KPiArICAgIElm KExBbmQoXF9TQi5QQ0kwLlhIQzEuUE1FRSwgXF9TQi5QQ0kwLlhIQzEuUE1FUykpDQo+ICsgICAg ew0KPiArICAgICAgSWYoTE5vdEVxdWFsKE9TRUwsIDEpKQ0KPiArICAgICAgew0KPiArICAgICAg ICBTdG9yZSgxLCBcX1NCLlBDSTAuWEhDMS5QTUVTKSAvL0NsZWFyIFBNRSBzdGF0dXMNCj4gKyAg ICAgICAgU3RvcmUoMCwgXF9TQi5QQ0kwLlhIQzEuUE1FRSkgLy9EaXNhYmxlIFBNRQ0KPiArICAg ICAgfQ0KPiArICAgICAgTm90aWZ5KFxfU0IuUENJMC5YSEMxLCAweDAyKQ0KPiArICAgIH0NCj4g KyAgICBJZihMQW5kKFxfU0IuUENJMC5IREVGLlBNRUUsIFxfU0IuUENJMC5IREVGLlBNRVMpKQ0K PiArICAgIHsNCj4gKyAgICAgIElmKExOb3RFcXVhbChPU0VMLCAxKSkNCj4gKyAgICAgIHsNCj4g KyAgICAgICAgU3RvcmUoMSwgXF9TQi5QQ0kwLkhERUYuUE1FUykgLy9DbGVhciBQTUUgc3RhdHVz DQo+ICsgICAgICAgIFN0b3JlKDAsIFxfU0IuUENJMC5IREVGLlBNRUUpIC8vRGlzYWJsZSBQTUUN Cj4gKyAgICAgIH0NCj4gKyAgICAgIE5vdGlmeShcX1NCLlBDSTAuSERFRiwgMHgwMikNCj4gKyAg ICB9DQo+ICsgIH0NCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSE9TVF9CVVMuQVNMDQo+IGIvU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9IT1NUX0JVUy5BU0wNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNmIwYzJhMzQ5Zg0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cv QWNwaVRhYmxlc1BDQVQvSE9TVF9CVVMuQVNMDQo+IEBAIC0wLDAgKzEsMzQ3IEBADQo+ICsvKisr DQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsN Cj4gKyAgSE9TVF9CVVMuQVNMDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEJheXRyYWls IFBDSSBjb25maWd1cmF0aW9uIHNwYWNlIGRlZmluaXRpb24uDQo+ICsNCj4gKy0tLSovDQo+ICtE ZXZpY2UoVkxWQykNCj4gK3sNCj4gKyAgTmFtZShfQURSLCAweDAwMDAwMDAwKSAgICAgICAgICAg Ly8gRGV2aWNlIDAsIEZ1bmN0aW9uIDANCj4gKw0KPiArICAvLyBEZWZpbmUgdmFyaW91cyBNQ0gg Q29udHJvbGxlciBQQ0kgQ29uZmlndXJhdGlvbiBTcGFjZQ0KPiArICAvLyByZWdpc3RlcnMgd2hp Y2ggd2lsbCBiZSB1c2VkIHRvIGR5bmFtaWNhbGx5IHByb2R1Y2UgYWxsDQo+ICsgIC8vIHJlc291 cmNlcyBpbiB0aGUgSG9zdCBCdXMgX0NSUy4NCj4gKyAgT3BlcmF0aW9uUmVnaW9uKEhCVVMsIFBD SV9Db25maWcsIDB4MDAsIDB4RkYpDQo+ICsgIEZpZWxkKEhCVVMsIERXb3JkQWNjLCBOb0xvY2ss IFByZXNlcnZlKQ0KPiArICB7DQo+ICsgICAgT2Zmc2V0KDB4RDApLA0KPiArICAgIFNNQ1IsICAg MzIsICAgICAgICAgICAgIC8vIFZMViBNZXNzYWdlIENvbnRyb2wgUmVnaXN0ZXIgKDB4RDApDQo+ ICsgICAgT2Zmc2V0KDB4RDQpLA0KPiArICAgIFNNRFIsICAgMzIsICAgICAgICAgICAgIC8vIFZM ViBNZXNzYWdlIERhdGEgUmVnaXN0ZXIgKDB4RDQpDQo+ICsgICAgT2Zmc2V0KDB4RDgpLA0KPiAr ICAgIE1DUlgsICAgMzIsICAgICAgICAgICAgIC8vIFZMViBNZXNzYWdlIENvbnRyb2wgUmVnaXN0 ZXIgRXh0ZW5zaW9uICgweEQ4KQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGVmaW5lIGEgbWV0aG9k IHRvIHJlYWQgYSAzMi1iaXQgcmVnaXN0ZXIgb24gdGhlIFZMViBNZXNzYWdlIGJ1cy4NCj4gKyAg Ly8gIEFyZzAgPSBQb3J0DQo+ICsgIC8vICBBcmcxID0gUmVnaXN0ZXINCj4gKyAgLy8NCj4gKyAg Ly8gIFJldHVybnMgMzItYml0IHJlZ2lzdGVyIHZhbHVlDQo+ICsNCj4gKyAgTWV0aG9kKFJNQlIs IDIsIFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKw0KPiArICAgIC8vIEluaXRpYXRlIHJlZ3NpdGVy IHJlYWQgbWVzc2FnZSBvbiBWTFYgTWVzc2FnZSBCdXMgTUNSDQo+ICsNCj4gKyAgICBPcihTaGlm dExlZnQoQXJnMCwgMTYpLCBTaGlmdExlZnQoQXJnMSwgOCksIExvY2FsMCkNCj4gKyAgICBPcigw eDEwMDAwMEYwLCBMb2NhbDAsIFNNQ1IpDQo+ICsNCj4gKyAgICAvLyBSZWFkIHJlZ2lzdGVyIHZh bHVlIGZyb20gTWVzc2FnZSBEYXRhIFJlZ2lzdGVyDQo+ICsNCj4gKyAgICBSZXR1cm4oU01EUikN Cj4gKyAgfQ0KPiArDQo+ICsNCj4gKyAgLy8gRGVmaW5lIGEgbWV0aG9kIHRvIHdyaXRlIGEgMzIt Yml0IHJlZ2lzdGVyIG9uIHRoZSBWTFYgTWVzc2FnZSBidXMgTURSLg0KPiArICAvLyAgQXJnMCA9 IFBvcnQNCj4gKyAgLy8gIEFyZzEgPSBSZWdpc3Rlcg0KPiArICAvLyAgQXJnMiA9IDMyLWJpdCB2 YWx1ZQ0KPiArDQo+ICsgIE1ldGhvZChXTUJSLCAzLCBTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsN Cj4gKyAgICAvLyBXcml0ZSByZWdpc3RlciB2YWx1ZSB0byBNZXNzYWdlIERhdGEgUmVnaXN0ZXIN Cj4gKw0KPiArICAgIFN0b3JlKEFyZzIsIFNNRFIpDQo+ICsNCj4gKyAgICAvLyBJbml0aWF0ZSBy ZWdpc3RlciB3cml0ZSBtZXNzYWdlIG9uIFZMViBNZXNzYWdlIEJ1cw0KPiArDQo+ICsgICAgT3Io U2hpZnRMZWZ0KEFyZzAsIDE2KSwgU2hpZnRMZWZ0KEFyZzEsIDgpLCBMb2NhbDApDQo+ICsgICAg T3IoMHgxMTAwMDBGMCwgTG9jYWwwLCBTTUNSKQ0KPiArICB9DQo+ICt9DQo+ICsNCj4gKy8vDQo+ ICsvLyBCVVMsIEkvTywgYW5kIE1NSU8gcmVzb3VyY2VzDQo+ICsvLw0KPiArTWV0aG9kKF9DUlMs MCxTZXJpYWxpemVkKQ0KPiArew0KPiArICAvL1VwZGF0ZSBJU1AwIHJlc2VydmVkIG1lbW9yeQ0K PiArICBDcmVhdGVEd29yZEZpZWxkKFJFUzAsIF5JU1AwLl9NSU4sSVNNTikNCj4gKyAgQ3JlYXRl RHdvcmRGaWVsZChSRVMwLCBeSVNQMC5fTUFYLElTTVgpDQo+ICsgIENyZWF0ZUR3b3JkRmllbGQo UkVTMCwgXklTUDAuX0xFTixJU0xOKQ0KPiArICBJZiAoTEVxdWFsKElTUEQsMSkpDQo+ICsgIHsN Cj4gKyAgICBTdG9yZSAoSVNQQSwgSVNNTikNCj4gKyAgICBBZGQgKElTTU4sIElTTE4sIElTTVgp DQo+ICsgICAgU3VidHJhY3QoSVNNWCwgMSwgSVNNWCkNCj4gKyAgfSBFbHNlDQo+ICsgIHsNCj4g KyAgICBTdG9yZSAoMCwgSVNNTikNCj4gKyAgICBTdG9yZSAoMCwgSVNNWCkNCj4gKyAgICBTdG9y ZSAoMCwgSVNMTikNCj4gKyAgfQ0KPiArDQo+ICsgIC8vUENJIE1NSU8gU1BBQ0UNCj4gKyAgQ3Jl YXRlRHdvcmRGaWVsZChSRVMwLCBeUE0wMS5fTUlOLE0xTU4pDQo+ICsgIENyZWF0ZUR3b3JkRmll bGQoUkVTMCwgXlBNMDEuX01BWCxNMU1YKQ0KPiArICBDcmVhdGVEd29yZEZpZWxkKFJFUzAsIF5Q TTAxLl9MRU4sTTFMTikNCj4gKw0KPiArICAvL0dldCBkQk1CT1VORCBCYXNlDQo+ICsgIEFuZChC TUJELCAweEZGMDAwMDAwLCBNMU1OKQ0KPiArDQo+ICsgIC8vR2V0IEVDQkFTRQ0KPiArICBTdG9y ZShQQ0lULCBNMU1YKQ0KPiArICBBZGQoU3VidHJhY3QoTTFNWCwgTTFNTiksIDEsIE0xTE4pDQo+ ICsgIFN1YnRyYWN0KE0xTVgsIDEsIE0xTVgpDQo+ICsNCj4gKyAgLy8gQ3JlYXRlIHBvaW50ZXJz IHRvIEdmeCBTdG9sZW4gTWVtb3J5IFNpemluZyB2YWx1ZXMuDQo+ICsgIENyZWF0ZUR3b3JkRmll bGQoUkVTMCwgXlNUT00uX01JTixHU01OKQ0KPiArICBDcmVhdGVEd29yZEZpZWxkKFJFUzAsIF5T VE9NLl9NQVgsR1NNWCkNCj4gKyAgQ3JlYXRlRHdvcmRGaWVsZChSRVMwLCBeU1RPTS5fTEVOLEdT TE4pDQo+ICsNCj4gKyAgSWYgKExOb3RFcXVhbCAoXF9TQi5QQ0kwLkdGWDAuR1NUTSwgMHhGRkZG RkZGRikpDQo+ICsgIHsNCj4gKyAgICBTdG9yZSgweDAwLCBHU01OKSAvL1JlYWQgdGhlIFN0b2xl biBtZW1vcnkgYmFzZSBmcm9tIEIwOkQyOkYwOlI1Qw0KPiArICB9IGVsc2UNCj4gKyAgew0KPiAr ICAgIFN0b3JlKFxfU0IuUENJMC5HRlgwLkdTVE0sIEdTTU4pIC8vUmVhZCB0aGUgU3RvbGVuIG1l bW9yeSBiYXNlDQo+IGZyb20gQjA6RDI6RjA6UjVDDQo+ICsgIH0NCj4gKyAgSWYgKExOb3RFcXVh bCAoXF9TQi5QQ0kwLkdGWDAuR1VNQSwgMHhGRkZGRkZGRikpDQo+ICsgIHsNCj4gKyAgICBTdG9y ZSgweDAwLCBHU0xOKSAvL1JlYWQgdGhlIFN0b2xlbiBtZW1vcnkgYmFzZSBmcm9tIEIwOkQyOkYw OlI1Qw0KPiArICB9IGVsc2UNCj4gKyAgew0KPiArICAgIFNoaWZ0TGVmdChcX1NCLlBDSTAuR0ZY MC5HVU1BLCAyNSwgR1NMTikgLy9SZWFkIFN0b2xlbiBtZW1vcnkgYmFzZQ0KPiBmb3JtIEIwOkQy OkYwOlI1MA0KPiArICB9DQo+ICsgIEFkZChHU01OLCBHU0xOLCBHU01YKSAvL1N0b3JlIHRoZSBT dG9sZW4gTWVtb3J5IFNpemUNCj4gKyAgU3VidHJhY3QoR1NNWCwgMSwgR1NNWCkNCj4gKw0KPiAr ICBSZXR1cm4oUkVTMCkNCj4gK30NCj4gKw0KPiArTmFtZSggUkVTMCxSZXNvdXJjZVRlbXBsYXRl KCkNCj4gK3sNCj4gKyAgV09SREJ1c051bWJlciAoICAgICAgICAgIC8vIEJ1cyBudW1iZXIgcmVz b3VyY2UgKDApOyB0aGUgYnJpZGdlIHByb2R1Y2VzDQo+IGJ1cyBudW1iZXJzIGZvciBpdHMgc3Vi c2VxdWVudCBidXNlcw0KPiArICAgIFJlc291cmNlUHJvZHVjZXIsICAgICAgLy8gYml0IDAgb2Yg Z2VuZXJhbCBmbGFncyBpcyAxDQo+ICsgICAgTWluRml4ZWQsICAgICAgICAgICAgICAvLyBSYW5n ZSBpcyBmaXhlZA0KPiArICAgIE1heEZpeGVkLCAgICAgICAgICAgICAgLy8gUmFuZ2UgaXMgZml4 ZWQNCj4gKyAgICBQb3NEZWNvZGUsICAgICAgICAgICAgIC8vIFBvc0RlY29kZQ0KPiArICAgIDB4 MDAwMCwgICAgICAgICAgICAgICAgLy8gR3JhbnVsYXJpdHkNCj4gKyAgICAweDAwMDAsICAgICAg ICAgICAgICAgIC8vIE1pbg0KPiArICAgIDB4MDBGRiwgICAgICAgICAgICAgICAgLy8gTWF4DQo+ ICsgICAgMHgwMDAwLCAgICAgICAgICAgICAgICAvLyBUcmFuc2xhdGlvbg0KPiArICAgIDB4MDEw MCAgICAgICAgICAgICAgICAgLy8gUmFuZ2UgTGVuZ3RoID0gTWF4LU1pbisxDQo+ICsgICkNCj4g Kw0KPiArICBJTyAoRGVjb2RlMTYsIDB4NzAsIDB4NzcsIDB4MDEsIDB4MDgpICAgICAgICAgLy9D b25zdW1lZCByZXNvdXJjZSAoMHhDRjgtDQo+IDB4Q0ZGKQ0KPiArICBJTyAoRGVjb2RlMTYsIDB4 Q0Y4LCAweENGOCwgMHgwMSwgMHgwOCkgICAgICAgLy9Db25zdW1lZCByZXNvdXJjZSAoMHhDRjgt DQo+IDB4Q0ZGKQ0KPiArDQo+ICsgIFdPUkRJTyAoICAgICAgICAgICAgICAgICAvLyBDb25zdW1l ZC1hbmQtcHJvZHVjZWQgcmVzb3VyY2UgKGFsbCBJL08gYmVsb3cgQ0Y4KQ0KPiArICAgIFJlc291 cmNlUHJvZHVjZXIsICAgICAgLy8gYml0IDAgb2YgZ2VuZXJhbCBmbGFncyBpcyAwDQo+ICsgICAg TWluRml4ZWQsICAgICAgICAgICAgICAvLyBSYW5nZSBpcyBmaXhlZA0KPiArICAgIE1heEZpeGVk LCAgICAgICAgICAgICAgLy8gUmFuZ2UgaXMgZml4ZWQNCj4gKyAgICBQb3NEZWNvZGUsDQo+ICsg ICAgRW50aXJlUmFuZ2UsDQo+ICsgICAgMHgwMDAwLCAgICAgICAgICAgICAgICAvLyBHcmFudWxh cml0eQ0KPiArICAgIDB4MDAwMCwgICAgICAgICAgICAgICAgLy8gTWluDQo+ICsgICAgMHgwMDZG LCAgICAgICAgICAgICAgICAvLyBNYXgNCj4gKyAgICAweDAwMDAsICAgICAgICAgICAgICAgIC8v IFRyYW5zbGF0aW9uDQo+ICsgICAgMHgwMDcwICAgICAgICAgICAgICAgICAvLyBSYW5nZSBMZW5n dGgNCj4gKyAgKQ0KPiArDQo+ICsgIFdPUkRJTyAoICAgICAgICAgICAgICAgICAvLyBDb25zdW1l ZC1hbmQtcHJvZHVjZWQgcmVzb3VyY2UNCj4gKyAgICBSZXNvdXJjZVByb2R1Y2VyLCAgICAgIC8v IGJpdCAwIG9mIGdlbmVyYWwgZmxhZ3MgaXMgMA0KPiArICAgIE1pbkZpeGVkLCAgICAgICAgICAg ICAgLy8gUmFuZ2UgaXMgZml4ZWQNCj4gKyAgICBNYXhGaXhlZCwgICAgICAgICAgICAgIC8vIFJh bmdlIGlzIGZpeGVkDQo+ICsgICAgUG9zRGVjb2RlLA0KPiArICAgIEVudGlyZVJhbmdlLA0KPiAr ICAgIDB4MDAwMCwgICAgICAgICAgICAgICAgLy8gR3JhbnVsYXJpdHkNCj4gKyAgICAweDAwNzgs ICAgICAgICAgICAgICAgIC8vIE1pbg0KPiArICAgIDB4MENGNywgICAgICAgICAgICAgICAgLy8g TWF4DQo+ICsgICAgMHgwMDAwLCAgICAgICAgICAgICAgICAvLyBUcmFuc2xhdGlvbg0KPiArICAg IDB4MEM4MCAgICAgICAgICAgICAgICAgLy8gUmFuZ2UgTGVuZ3RoDQo+ICsgICkNCj4gKw0KPiAr ICBXT1JESU8gKCAgICAgICAgICAgICAgICAgLy8gQ29uc3VtZWQtYW5kLXByb2R1Y2VkIHJlc291 cmNlIChhbGwgSS9PIGFib3ZlIENGRikNCj4gKyAgICBSZXNvdXJjZVByb2R1Y2VyLCAgICAgIC8v IGJpdCAwIG9mIGdlbmVyYWwgZmxhZ3MgaXMgMA0KPiArICAgIE1pbkZpeGVkLCAgICAgICAgICAg ICAgLy8gUmFuZ2UgaXMgZml4ZWQNCj4gKyAgICBNYXhGaXhlZCwgICAgICAgICAgICAgIC8vIFJh bmdlIGlzIGZpeGVkDQo+ICsgICAgUG9zRGVjb2RlLA0KPiArICAgIEVudGlyZVJhbmdlLA0KPiAr ICAgIDB4MDAwMCwgICAgICAgICAgICAgICAgLy8gR3JhbnVsYXJpdHkNCj4gKyAgICAweDBEMDAs ICAgICAgICAgICAgICAgIC8vIE1pbg0KPiArICAgIDB4RkZGRiwgICAgICAgICAgICAgICAgLy8g TWF4DQo+ICsgICAgMHgwMDAwLCAgICAgICAgICAgICAgICAvLyBUcmFuc2xhdGlvbg0KPiArICAg IDB4RjMwMCAgICAgICAgICAgICAgICAgLy8gUmFuZ2UgTGVuZ3RoDQo+ICsgICkNCj4gKw0KPiAr ICBEV09SRE1FTU9SWSAoICAgICAgICAgICAgLy8gRGVzY3JpcHRvciBmb3IgbGVnYWN5IFZHQSB2 aWRlbyBSQU0NCj4gKyAgICBSZXNvdXJjZVByb2R1Y2VyLCAgICAgIC8vIGJpdCAwIG9mIGdlbmVy YWwgZmxhZ3MgaXMgMA0KPiArICAgIFBvc0RlY29kZSwNCj4gKyAgICBNaW5GaXhlZCwgICAgICAg ICAgICAgIC8vIFJhbmdlIGlzIGZpeGVkDQo+ICsgICAgTWF4Rml4ZWQsICAgICAgICAgICAgICAv LyBSYW5nZSBpcyBmaXhlZA0KPiArICAgIENhY2hlYWJsZSwNCj4gKyAgICBSZWFkV3JpdGUsDQo+ ICsgICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAvLyBHcmFudWxhcml0eQ0KPiArICAgIDB4MDAw QTAwMDAsICAgICAgICAgICAgLy8gTWluDQo+ICsgICAgMHgwMDBCRkZGRiwgICAgICAgICAgICAv LyBNYXgNCj4gKyAgICAweDAwMDAwMDAwLCAgICAgICAgICAgIC8vIFRyYW5zbGF0aW9uDQo+ICsg ICAgMHgwMDAyMDAwMCAgICAgICAgICAgICAvLyBSYW5nZSBMZW5ndGgNCj4gKyAgKQ0KPiArDQo+ ICsgIERXT1JETUVNT1JZICggICAgICAgICAgICAvLyBEZXNjcmlwdG9yIGZvciBsZWdhY3kgT3B0 aW9uUm9tDQo+ICsgICAgUmVzb3VyY2VQcm9kdWNlciwgICAgICAvLyBiaXQgMCBvZiBnZW5lcmFs IGZsYWdzIGlzIDANCj4gKyAgICBQb3NEZWNvZGUsDQo+ICsgICAgTWluRml4ZWQsICAgICAgICAg ICAgICAvLyBSYW5nZSBpcyBmaXhlZA0KPiArICAgIE1heEZpeGVkLCAgICAgICAgICAgICAgLy8g UmFuZ2UgaXMgZml4ZWQNCj4gKyAgICBDYWNoZWFibGUsDQo+ICsgICAgUmVhZFdyaXRlLA0KPiAr ICAgIDB4MDAwMDAwMDAsICAgICAgICAgICAgLy8gR3JhbnVsYXJpdHkNCj4gKyAgICAweDAwMEMw MDAwLCAgICAgICAgICAgIC8vIE1pbg0KPiArICAgIDB4MDAwREZGRkYsICAgICAgICAgICAgLy8g TWF4DQo+ICsgICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAvLyBUcmFuc2xhdGlvbg0KPiArICAg IDB4MDAwMjAwMDAgICAgICAgICAgICAgLy8gUmFuZ2UgTGVuZ3RoDQo+ICsgICkNCj4gKw0KPiAr ICBEV09SRE1FTU9SWSAoICAgICAgICAgICAgLy8gRGVzY3JpcHRvciBmb3IgQklPUyBBcmVhDQo+ ICsgICAgUmVzb3VyY2VQcm9kdWNlciwgICAgICAvLyBiaXQgMCBvZiBnZW5lcmFsIGZsYWdzIGlz IDANCj4gKyAgICBQb3NEZWNvZGUsDQo+ICsgICAgTWluRml4ZWQsICAgICAgICAgICAgICAvLyBS YW5nZSBpcyBmaXhlZA0KPiArICAgIE1heEZpeGVkLCAgICAgICAgICAgICAgLy8gUmFuZ2UgaXMg Zml4ZWQNCj4gKyAgICBDYWNoZWFibGUsDQo+ICsgICAgUmVhZFdyaXRlLA0KPiArICAgIDB4MDAw MDAwMDAsICAgICAgICAgICAgLy8gR3JhbnVsYXJpdHkNCj4gKyAgICAweDAwMEUwMDAwLCAgICAg ICAgICAgIC8vIE1pbg0KPiArICAgIDB4MDAwRkZGRkYsICAgICAgICAgICAgLy8gTWF4DQo+ICsg ICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAvLyBUcmFuc2xhdGlvbg0KPiArICAgIDB4MDAwMjAw MDAgICAgICAgICAgICAgLy8gUmFuZ2UgTGVuZ3RoDQo+ICsgICkNCj4gKw0KPiArICBEV09SRE1F TU9SWSAoICAgICAgICAgICAgLy8gRGVzY3JpcHRvciBmb3IgSVNQMCByZXNlcnZlZCBNZW0NCj4g KyAgICBSZXNvdXJjZVByb2R1Y2VyLCAgICAgIC8vIGJpdCAwIG9mIGdlbmVyYWwgZmxhZ3MgaXMg MA0KPiArICAgIFBvc0RlY29kZSwNCj4gKyAgICBNaW5GaXhlZCwgICAgICAgICAgICAgIC8vIFJh bmdlIGlzIGZpeGVkDQo+ICsgICAgTWF4Rml4ZWQsICAgICAgICAgICAgICAvLyBSYW5nZSBpcyBm aXhlZA0KPiArICAgIENhY2hlYWJsZSwNCj4gKyAgICBSZWFkV3JpdGUsDQo+ICsgICAgMHgwMDAw MDAwMCwgICAgICAgICAgICAvLyBHcmFudWxhcml0eQ0KPiArICAgIDB4N0EwMDAwMDAsICAgICAg ICAgICAgLy8gTWluDQo+ICsgICAgMHg3QTNGRkZGRiwgICAgICAgICAgICAvLyBNYXgNCj4gKyAg ICAweDAwMDAwMDAwLCAgICAgICAgICAgIC8vIFRyYW5zbGF0aW9uDQo+ICsgICAgMHgwMDQwMDAw MCAgICAgICAgICAgICAvLyBSYW5nZSBMZW5ndGgNCj4gKyAgICAsLCwNCj4gKyAgICBJU1AwDQo+ ICsgICkNCj4gKw0KPiArICBEV09SRE1FTU9SWSAoICAgICAgICAgICAgLy8gRGVzY3JpcHRvciBm b3IgVkdBIFN0b2xlbiBNZW0NCj4gKyAgICBSZXNvdXJjZVByb2R1Y2VyLCAgICAgIC8vIGJpdCAw IG9mIGdlbmVyYWwgZmxhZ3MgaXMgMA0KPiArICAgIFBvc0RlY29kZSwNCj4gKyAgICBNaW5GaXhl ZCwgICAgICAgICAgICAgIC8vIFJhbmdlIGlzIGZpeGVkDQo+ICsgICAgTWF4Rml4ZWQsICAgICAg ICAgICAgICAvLyBSYW5nZSBpcyBmaXhlZA0KPiArICAgIENhY2hlYWJsZSwNCj4gKyAgICBSZWFk V3JpdGUsDQo+ICsgICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAvLyBHcmFudWxhcml0eQ0KPiAr ICAgIDB4N0MwMDAwMDAsICAgICAgICAgICAgLy8gTWluDQo+ICsgICAgMHg3RkZGRkZGRiwgICAg ICAgICAgICAvLyBNYXgNCj4gKyAgICAweDAwMDAwMDAwLCAgICAgICAgICAgIC8vIFRyYW5zbGF0 aW9uDQo+ICsgICAgMHgwNDAwMDAwMCAgICAgICAgICAgICAvLyBSYW5nZSBMZW5ndGgNCj4gKyAg ICAsLCwNCj4gKyAgICBTVE9NDQo+ICsgICkNCj4gKw0KPiArICBEV09SRE1FTU9SWSAoICAgICAg ICAgICAgLy8gRGVzY3JpcHRvciBmb3IgUENJIE1NSU8NCj4gKyAgICBSZXNvdXJjZVByb2R1Y2Vy LCAgICAgIC8vIGJpdCAwIG9mIGdlbmVyYWwgZmxhZ3MgaXMgMA0KPiArICAgIFBvc0RlY29kZSwN Cj4gKyAgICBNaW5GaXhlZCwgICAgICAgICAgICAgIC8vIFJhbmdlIGlzIGZpeGVkDQo+ICsgICAg TWF4Rml4ZWQsICAgICAgICAgICAgICAvLyBSYW5nZSBpcyBmaXhlZA0KPiArICAgIENhY2hlYWJs ZSwNCj4gKyAgICBSZWFkV3JpdGUsDQo+ICsgICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAvLyBH cmFudWxhcml0eQ0KPiArICAgIDB4ODAwMDAwMDAsICAgICAgICAgICAgLy8gTWluDQo+ICsgICAg MHhERkZGRkZGRiwgICAgICAgICAgICAvLyBNYXgNCj4gKyAgICAweDAwMDAwMDAwLCAgICAgICAg ICAgIC8vIFRyYW5zbGF0aW9uDQo+ICsgICAgMHg2MDAwMDAwMCAgICAgICAgICAgICAvLyBSYW5n ZSBMZW5ndGgNCj4gKyAgICAsLCwNCj4gKyAgICBQTTAxDQo+ICsgICkNCj4gK30pDQo+ICsNCj4g Ky8vTmFtZShHVUlELFVVSUQoIjMzREI0RDVCLTFGRjctNDAxQy05NjU3LTc0NDFDMDNERDc2NiIp KQ0KPiArTmFtZShHVUlELEJ1ZmZlcigpDQo+ICt7DQo+ICsgIDB4NWIsIDB4NGQsIDB4ZGIsIDB4 MzMsDQo+ICsgIDB4ZjcsIDB4MWYsDQo+ICsgIDB4MWMsIDB4NDAsDQo+ICsgIDB4OTYsIDB4NTcs DQo+ICsgIDB4NzQsIDB4NDEsIDB4YzAsIDB4M2QsIDB4ZDcsIDB4NjYNCj4gK30pDQo+ICsNCj4g Kw0KPiArTmFtZShTVVBQLDApICAgIC8vIFBDSSBfT1NDIFN1cHBvcnQgRmllbGQgdmFsdWUNCj4g K05hbWUoQ1RSTCwwKSAgICAvLyBQQ0kgX09TQyBDb250cm9sIEZpZWxkIHZhbHVlDQo+ICsNCj4g K01ldGhvZChfT1NDLDQsU2VyaWFsaXplZCkNCj4gK3sNCj4gKyAgLy8gQ2hlY2sgZm9yIHByb3Bl ciBVVUlEDQo+ICsgIC8vIFNhdmUgdGhlIGNhcGFiaWxpdGllcyBidWZmZXINCj4gKyAgU3RvcmUo QXJnMyxMb2NhbDApDQo+ICsNCj4gKyAgLy8gQ3JlYXRlIERXb3JkLWFkcmVzc2FibGUgZmllbGRz IGZyb20gdGhlIENhcGFiaWx0aWVzIEJ1ZmZlcg0KPiArICBDcmVhdGVEV29yZEZpZWxkKExvY2Fs MCwwLENEVzEpDQo+ICsgIENyZWF0ZURXb3JkRmllbGQoTG9jYWwwLDQsQ0RXMikNCj4gKyAgQ3Jl YXRlRFdvcmRGaWVsZChMb2NhbDAsOCxDRFczKQ0KPiArDQo+ICsgIC8vIENoZWNrIGZvciBwcm9w ZXIgVVVJRA0KPiArICBJZihMQW5kKExFcXVhbChBcmcwLEdVSUQpLE5FWFApKQ0KPiArICB7DQo+ ICsgICAgLy8gU2F2ZSBDYXBhYmlsaXRpZXMgRFdvcmQyICYgMw0KPiArICAgIFN0b3JlKENEVzIs U1VQUCkNCj4gKyAgICBTdG9yZShDRFczLENUUkwpDQo+ICsNCj4gKyAgICBJZihOb3QoQW5kKENE VzEsMSkpKSAgICAvLyBRdWVyeSBmbGFnIGNsZWFyPw0KPiArICAgIHsNCj4gKyAgICAgIC8vIERp c2FibGUgR1BFcyBmb3IgZmVhdHVyZXMgZ3JhbnRlZCBuYXRpdmUgY29udHJvbC4NCj4gKyAgICAg IElmKEFuZChDVFJMLDB4MDIpKQ0KPiArICAgICAgew0KPiArICAgICAgICBOSFBHKCkNCj4gKyAg ICAgIH0NCj4gKyAgICAgIElmKEFuZChDVFJMLDB4MDQpKSAgICAgIC8vIFBNRSBjb250cm9sIGdy YW50ZWQ/DQo+ICsgICAgICB7DQo+ICsgICAgICAgIE5QTUUoKQ0KPiArICAgICAgfQ0KPiArICAg IH0NCj4gKw0KPiArICAgIElmKExOb3RFcXVhbChBcmcxLE9uZSkpDQo+ICsgICAgew0KPiArICAg ICAgLy8gVW5rbm93biByZXZpc2lvbg0KPiArICAgICAgT3IoQ0RXMSwweDA4LENEVzEpDQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgSWYoTE5vdEVxdWFsKENEVzMsQ1RSTCkpDQo+ICsgICAgew0KPiAr ICAgICAgLy8gQ2FwYWJpbGl0aWVzIGJpdHMgd2VyZSBtYXNrZWQNCj4gKyAgICAgIE9yKENEVzEs MHgxMCxDRFcxKQ0KPiArICAgIH0NCj4gKyAgICAvLyBVcGRhdGUgRFdPUkQzIGluIHRoZSBidWZm ZXINCj4gKwlBbmQoQ1RSTCwweGZlLENUUkwpDQo+ICsgICAgU3RvcmUoQ1RSTCxDRFczKQ0KPiAr ICAgIFN0b3JlKENUUkwsT1NDQykNCj4gKyAgICBSZXR1cm4oTG9jYWwwKQ0KPiArICB9IEVsc2UN Cj4gKyAgew0KPiArICAgIE9yKENEVzEsNCxDRFcxKSAgICAgICAgIC8vIFVucmVjb2duaXplZCBV VUlEDQo+ICsgICAgUmV0dXJuKExvY2FsMCkNCj4gKyAgfQ0KPiArfSAgICAgICAvLyBFbmQgX09T Qw0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9B Y3BpVGFibGVzUENBVC9IcGV0L0hwZXQuYXNsYw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSHBldC9IcGV0LmFzbGMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZWNiZTUxZTZiMA0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BD QVQvSHBldC9IcGV0LmFzbGMNCj4gQEAgLTAsMCArMSw2MyBAQA0KPiArLyorKw0KPiArDQo+ICtD b3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIEhwZXQu Yw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBUaGlzIGZpbGUgY29udGFpbnMgYSBzdHJ1 Y3R1cmUgZGVmaW5pdGlvbiBmb3IgdGhlIEFDUEkgSFBFVCBUYWJsZS4NCj4gKy0tKi8NCj4gKw0K PiArLy8NCj4gKy8vIFN0YXRlbWVudHMgdGhhdCBpbmNsdWRlIG90aGVyIGZpbGVzDQo+ICsvLw0K PiArI2lmZGVmIEVDUF9GTEFHDQo+ICsjaW5jbHVkZSA8VGlhbm8uaD4NCj4gKyNlbmRpZg0KPiAr I2luY2x1ZGUgPEhwZXQuaD4NCj4gKyNpbmNsdWRlICJBY3BpVGFibGVQbGF0Zm9ybS5oIg0KPiAr DQo+ICsvLyBIcGV0IFRhYmxlDQo+ICtFRklfQUNQSV9ISUdIX1BSRUNJU0lPTl9FVkVOVF9USU1F Ul9UQUJMRV9IRUFERVIgSFBFVCA9IHsNCj4gKyAgew0KPiArICAgIEVGSV9BQ1BJXzNfMF9ISUdI X1BSRUNJU0lPTl9FVkVOVF9USU1FUl9UQUJMRV9TSUdOQVRVUkUsDQo+ICsgICAgc2l6ZW9mIChF RklfQUNQSV9ISUdIX1BSRUNJU0lPTl9FVkVOVF9USU1FUl9UQUJMRV9IRUFERVIpLA0KPiArICAg IEVGSV9BQ1BJX0hJR0hfUFJFQ0lTSU9OX0VWRU5UX1RJTUVSX1RBQkxFX1JFVklTSU9OLA0KPiAr ICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0byBtYWtlIHN1bSBvZiBlbnRpcmUg dGFibGUgPT0gMA0KPiArICAgIEVGSV9BQ1BJX09FTV9JRCwgICAgICAgICAgICAvLyBPRU1JRCBp cyBhIDYgYnl0ZXMgbG9uZyBmaWVsZA0KPiArICAgIEVGSV9BQ1BJX09FTV9UQUJMRV9JRCwgICAg ICAvLyBPRU0gdGFibGUgaWRlbnRpZmljYXRpb24oOCBieXRlcyBsb25nKQ0KPiArICAgIEVGSV9B Q1BJX09FTV9SRVZJU0lPTiwgICAgICAvLyBPRU0gcmV2aXNpb24NCj4gKyAgICBFRklfQUNQSV9D UkVBVE9SX0lELCAgICAgICAgLy8gQVNMIGNvbXBpbGVyIHZlbmRvciBJRA0KPiArICAgIEVGSV9B Q1BJX0NSRUFUT1JfUkVWSVNJT04gICAvLyBBU0wgY29tcGlsZXIgcmV2aXNpb24gbnVtYmVyDQo+ ICsgIH0sDQo+ICsgIDB4MCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEV2ZW50VGltZXJC bG9ja0lkDQo+ICsgIHsNCj4gKyAgICAweDAwLCAgICAgICAgICAgICAgICAgICAgIC8vIEFkZHJl c3NfU3BhY2VfSUQgPSBTeXN0ZW0gTWVtb3J5DQo+ICsgICAgMHg0MCwgICAgICAgICAgICAgICAg ICAgICAvLyBSZWdpc3Rlcl9CaXRfV2lkdGggPSAzMiBiaXRzLCBtZW50aW9uZWQgYWJvdXQgd3Jp dGUNCj4gZmFpbHVyZXMgd2hlbiBpbiA2NGJpdCBpbiBTQ1UgSEFTDQo+ICsgICAgMHgwMCwgICAg ICAgICAgICAgICAgICAgICAvLyBSZWdpc3Rlcl9CaXRfb2Zmc2V0DQo+ICsgICAgMHgwMCwgICAg ICAgICAgICAgICAgICAgICAvLyBEd29yZCBhY2Nlc3MNCj4gKyAgICBIUEVUX0JBU0VfQUREUkVT UywgICAgICAgIC8vIEJhc2UgYWRkcmVzc2Ugb2YgSFBFVA0KPiArICB9LA0KPiArICAweDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAvLyBPbmx5IEhQRVQncyBfVUlEIGluIE5hbWVzcGFjZQ0K PiArICBNQUlOX0NPVU5URVJfTUlOX1BFUklPRElDX0NMT0NLX1RJQ0tTLA0KPiArICAweDANCj4g K307DQo+ICsNCj4gK1ZPSUQqDQo+ICtSZWZlcmVuY2VBY3BpVGFibGUgKA0KPiArICBWT0lEDQo+ ICsgICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gUmVmZXJlbmNlIHRoZSB0YWJsZSBiZWluZyBn ZW5lcmF0ZWQgdG8gcHJldmVudCB0aGUgb3B0aW1pemVyIGZyb20NCj4gKyAgLy8gcmVtb3Zpbmcg dGhlIGRhdGEgc3RydWN0dXJlIGZyb20gdGhlIGV4ZWN1dGFibGUNCj4gKyAgLy8NCj4gKyAgcmV0 dXJuIChWT0lEKikmSFBFVDsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwv Vmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSU5URUxHRlguQVNMDQo+IGIvU2ls aWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9JTlRFTEdGWC5B U0wNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYTJiYTM5ODU2 OA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvQWNwaVRhYmxlc1BDQVQvSU5URUxHRlguQVNMDQo+IEBAIC0wLDAgKzEsODc5IEBADQo+ ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6 DQo+ICsNCj4gKyAgSU5URUxHRlguQVNMDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIElH RCBPcFJlZ2lvbi9Tb2Z0d2FyZSBBQ1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwg RmFtaWx5Lg0KPiArDQo+ICstLSovDQo+ICsNCj4gKy8vIEVuYWJsZS9EaXNhYmxlIE91dHB1dCBT d2l0Y2hpbmcuICBJbiBXSU4ySy9XSU5YUCwgX0RPUyA9IDAgd2lsbA0KPiArLy8gZ2V0IGNhbGxl ZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gdG8gcHJlcGFyZSBmb3IgYW4gQUNQSSBEaXNwbGF5DQo+ ICsvLyBTd2l0Y2ggRXZlbnQuICBEdXJpbmcgYW4gQUNQSSBEaXNwbGF5IFN3aXRjaCwgdGhlIE9T IHdpbGwgY2FsbA0KPiArLy8gX0RPUyA9IDIgaW1tZWRpYXRlbHkgYWZ0ZXIgYSBOb3RpZnk9MHg4 MCB0byB0ZW1wb3JhcmlseSBkaXNhYmxlDQo+ICsvLyBhbGwgRGlzcGxheSBTd2l0Y2hpbmcuICBB ZnRlciBBQ1BJIERpc3BsYXkgU3dpdGNoaW5nIGlzIGNvbXBsZXRlLA0KPiArLy8gdGhlIE9TIHdp bGwgY2FsbCBfRE9TID0gMCB0byByZS1lbmFibGUgQUNQSSBEaXNwbGF5IFN3aXRjaGluZy4NCj4g Kw0KPiArTWV0aG9kKF9ET1MsMSkNCj4gK3sNCj4gKyAgLy8gU3RvcmUgRGlzcGxheSBTd2l0Y2hp bmcgYW5kIExDRCBicmlnaHRuZXNzIEJJT1MgY29udHJvbCBiaXQNCj4gKyAgU3RvcmUoQW5kKEFy ZzAsNyksRFNFTikNCj4gK30NCj4gKw0KPiArLy8gRW51bWVyYXRlIHRoZSBEaXNwbGF5IEVudmly b25tZW50LiAgVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4NCj4gKy8vIHZhbGlkIGFkZHJlc3NlcyBm b3IgYWxsIGRpc3BsYXkgZGV2aWNlIGVuY29kZXJzIHByZXNlbnQgaW4gdGhlDQo+ICsvLyBzeXN0 ZW0uICBUaGUgTWluaXBvcnQgRHJpdmVyIHdpbGwgcmVqZWN0IHRoZSBhZGRyZXNzZXMgZm9yIGV2 ZXJ5DQo+ICsvLyBlbmNvZGVyIHRoYXQgZG9lcyBub3QgaGF2ZSBhbiBhdHRhY2hlZCBkaXNwbGF5 IGRldmljZS4gIEFmdGVyDQo+ICsvLyBlbnVtZXJhdGlvbiBpcyBjb21wbGV0ZSwgdGhlIE9TIHdp bGwgY2FsbCB0aGUgX0RHUyBtZXRob2RzDQo+ICsvLyBkdXJpbmcgYSBkaXNwbGF5IHN3aXRjaCBv bmx5IGZvciB0aGUgYWRkcmVzc2VzIGFjY2VwdGVkIGJ5IHRoZQ0KPiArLy8gTWluaXBvcnQgRHJp dmVyLiAgRm9yIGhvdC1pbnNlcnRpb24gYW5kIHJlbW92YWwgb2YgZGlzcGxheQ0KPiArLy8gZGV2 aWNlcywgYSByZS1lbnVtZXJhdGlvbiBub3RpZmljYXRpb24gd2lsbCBiZSByZXF1aXJlZCBzbyB0 aGUNCj4gKy8vIGFkZHJlc3Mgb2YgdGhlIG5ld2x5IHByZXNlbnQgZGlzcGxheSBkZXZpY2Ugd2ls bCBiZSBhY2NlcHRlZCBieQ0KPiArLy8gdGhlIE1pbmlwb3J0IERyaXZlci4NCj4gKw0KPiArTWV0 aG9kKF9ET0QsIDAsIFNlcmlhbGl6ZWQpDQo+ICt7DQo+ICsgIFN0b3JlKDAsIE5ESUQpDQo+ICsg IElmKExOb3RFcXVhbChESURMLCBaZXJvKSkNCj4gKyAgew0KPiArICAgIFN0b3JlKFNEREwoRElE TCksRElEMSkNCj4gKyAgfQ0KPiArICBJZihMTm90RXF1YWwoRERMMiwgWmVybykpDQo+ICsgIHsN Cj4gKyAgICBTdG9yZShTRERMKERETDIpLERJRDIpDQo+ICsgIH0NCj4gKyAgSWYoTE5vdEVxdWFs KERETDMsIFplcm8pKQ0KPiArICB7DQo+ICsgICAgU3RvcmUoU0RETChEREwzKSxESUQzKQ0KPiAr ICB9DQo+ICsgIElmKExOb3RFcXVhbChEREw0LCBaZXJvKSkNCj4gKyAgew0KPiArICAgIFN0b3Jl KFNEREwoRERMNCksRElENCkNCj4gKyAgfQ0KPiArICBJZihMTm90RXF1YWwoRERMNSwgWmVybykp DQo+ICsgIHsNCj4gKyAgICBTdG9yZShTRERMKERETDUpLERJRDUpDQo+ICsgIH0NCj4gKw0KPiAr ICAvLyBUT0RPIC0gVGhpcyBsZXZlbCBvZiBmbGV4aWJpbGl0eSBpcyBub3QgbmVlZGVkIGZvciBh IHRydWUNCj4gKyAgLy8gICAgICBPRU0gZGVzaWduLiAgU2ltcGx5IGRldGVybWluZSB0aGUgZ3Jl YXRlc3QgbnVtYmVyIG9mDQo+ICsgIC8vICAgICAgZW5jb2RlcnMgdGhlIHBsYXRmb3JtIHdpbGwg c3VwcHBvcnQgdGhlbiByZW1vdmUgYWxsDQo+ICsgIC8vICAgICAgcmV0dXJuIHBhY2thZ2VzIGJl eW9uZCB0aGF0IHZhbHVlLiAgTm90ZSB0aGF0IGZvcg0KPiArICAvLyAgICAgIGN1cnJlbnQgc2ls aWNvbiwgdGhlIG1heGltdW0gbnVtYmVyIG9mIGVuY29kZXJzDQo+ICsgIC8vICAgICAgcG9zc2li bGUgaXMgNS4NCj4gKw0KPiArICBJZihMRXF1YWwoTkRJRCwxKSkNCj4gKyAgew0KPiArICAgIElm IChMTk9URXF1YWwgKElTUEQsIDApKQ0KPiArICAgIHsNCj4gKyAgICAgIE5hbWUoVE1QMCxQYWNr YWdlKCkgezB4RkZGRkZGRkYsMHhGRkZGRkZGRn0pDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAw LERJRDEpLEluZGV4KFRNUDAsMCkpDQo+ICsgICAgICAvL0FkZCBJU1AgZGV2aWNlIHRvIEdGWDAN Cj4gKyAgICAgIFN0b3JlKDB4MDAwMjBGMzgsIEluZGV4KFRNUDAsMSkpDQo+ICsgICAgICBSZXR1 cm4oVE1QMCkNCj4gKyAgICB9IEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBOYW1lKFRNUDEsUGFj a2FnZSgpIHsweEZGRkZGRkZGfSkNCj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAsRElEMSksSW5k ZXgoVE1QMSwwKSkNCj4gKyAgICAgIFJldHVybihUTVAxKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiAr DQo+ICsgIElmKExFcXVhbChORElELDIpKQ0KPiArICB7DQo+ICsgICAgSWYgKExOT1RFcXVhbCAo SVNQRCwgMCkpDQo+ICsgICAgew0KPiArICAgICAgTmFtZShUTVAyLFBhY2thZ2UoKSB7MHhGRkZG RkZGRiwgMHhGRkZGRkZGRiwgMHhGRkZGRkZGRn0pDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAw LERJRDEpLEluZGV4KFRNUDIsMCkpDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAwLERJRDIpLElu ZGV4KFRNUDIsMSkpDQo+ICsgICAgICAvL0FkZCBJU1AgZGV2aWNlIHRvIEdGWDANCj4gKyAgICAg IFN0b3JlKDB4MDAwMjBGMzgsIEluZGV4KFRNUDIsMikpDQo+ICsgICAgICBSZXR1cm4oVE1QMikN Cj4gKyAgICB9IEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBOYW1lKFRNUDMsUGFja2FnZSgpIHsw eEZGRkZGRkZGLCAweEZGRkZGRkZGfSkNCj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAsRElEMSks SW5kZXgoVE1QMywwKSkNCj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAsRElEMiksSW5kZXgoVE1Q MywxKSkNCj4gKyAgICAgIFJldHVybihUTVAzKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsg IElmKExFcXVhbChORElELDMpKQ0KPiArICB7DQo+ICsgICAgSWYgKExOT1RFcXVhbCAoSVNQRCwg MCkpDQo+ICsgICAgew0KPiArICAgICAgTmFtZShUTVA0LFBhY2thZ2UoKSB7MHhGRkZGRkZGRiwg MHhGRkZGRkZGRiwNCj4gMHhGRkZGRkZGRiwweEZGRkZGRkZGfSkNCj4gKyAgICAgIFN0b3JlKE9y KDB4MTAwMDAsRElEMSksSW5kZXgoVE1QNCwwKSkNCj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAs RElEMiksSW5kZXgoVE1QNCwxKSkNCj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAsRElEMyksSW5k ZXgoVE1QNCwyKSkNCj4gKyAgICAgIC8vQWRkIElTUCBkZXZpY2UgdG8gR0ZYMA0KPiArICAgICAg U3RvcmUoMHgwMDAyMEYzOCwgSW5kZXgoVE1QNCwzKSkNCj4gKyAgICAgIFJldHVybihUTVA0KQ0K PiArICAgIH0gRWxzZQ0KPiArICAgIHsNCj4gKyAgICAgIE5hbWUoVE1QNSxQYWNrYWdlKCkgezB4 RkZGRkZGRkYsIDB4RkZGRkZGRkYsMHhGRkZGRkZGRn0pDQo+ICsgICAgICBTdG9yZShPcigweDEw MDAwLERJRDEpLEluZGV4KFRNUDUsMCkpDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAwLERJRDIp LEluZGV4KFRNUDUsMSkpDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAwLERJRDMpLEluZGV4KFRN UDUsMikpDQo+ICsgICAgICBSZXR1cm4oVE1QNSkNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiAr ICBJZihMRXF1YWwoTkRJRCw0KSkNCj4gKyAgew0KPiArICAgIElmIChMTk9URXF1YWwgKElTUEQs IDApKQ0KPiArICAgIHsNCj4gKyAgICAgIE5hbWUoVE1QNixQYWNrYWdlKCkgezB4RkZGRkZGRkYs IDB4RkZGRkZGRkYsIDB4RkZGRkZGRkYsDQo+IDB4RkZGRkZGRkYsIDB4RkZGRkZGRkZ9KQ0KPiAr ICAgICAgU3RvcmUoT3IoMHgxMDAwMCxESUQxKSxJbmRleChUTVA2LDApKQ0KPiArICAgICAgU3Rv cmUoT3IoMHgxMDAwMCxESUQyKSxJbmRleChUTVA2LDEpKQ0KPiArICAgICAgU3RvcmUoT3IoMHgx MDAwMCxESUQzKSxJbmRleChUTVA2LDIpKQ0KPiArICAgICAgU3RvcmUoT3IoMHgxMDAwMCxESUQ0 KSxJbmRleChUTVA2LDMpKQ0KPiArICAgICAgLy9BZGQgSVNQIGRldmljZSB0byBHRlgwDQo+ICsg ICAgICBTdG9yZSgweDAwMDIwRjM4LCBJbmRleChUTVA2LDQpKQ0KPiArICAgICAgUmV0dXJuKFRN UDYpDQo+ICsgICAgfSBFbHNlDQo+ICsgICAgew0KPiArICAgICAgTmFtZShUTVA3LFBhY2thZ2Uo KSB7MHhGRkZGRkZGRiwgMHhGRkZGRkZGRiwgMHhGRkZGRkZGRiwNCj4gMHhGRkZGRkZGRn0pDQo+ ICsgICAgICBTdG9yZShPcigweDEwMDAwLERJRDEpLEluZGV4KFRNUDcsMCkpDQo+ICsgICAgICBT dG9yZShPcigweDEwMDAwLERJRDIpLEluZGV4KFRNUDcsMSkpDQo+ICsgICAgICBTdG9yZShPcigw eDEwMDAwLERJRDMpLEluZGV4KFRNUDcsMikpDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAwLERJ RDQpLEluZGV4KFRNUDcsMykpDQo+ICsgICAgICBSZXR1cm4oVE1QNykNCj4gKyAgICB9DQo+ICsg IH0NCj4gKw0KPiArICBJZihMR3JlYXRlcihORElELDQpKQ0KPiArICB7DQo+ICsgICAgSWYgKExO T1RFcXVhbCAoSVNQRCwgMCkpDQo+ICsgICAgew0KPiArICAgICAgTmFtZShUTVA4LFBhY2thZ2Uo KSB7MHhGRkZGRkZGRiwgMHhGRkZGRkZGRiwgMHhGRkZGRkZGRiwNCj4gMHhGRkZGRkZGRiwgMHhG RkZGRkZGRiwgMHhGRkZGRkZGRn0pDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAwLERJRDEpLElu ZGV4KFRNUDgsMCkpDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAwLERJRDIpLEluZGV4KFRNUDgs MSkpDQo+ICsgICAgICBTdG9yZShPcigweDEwMDAwLERJRDMpLEluZGV4KFRNUDgsMikpDQo+ICsg ICAgICBTdG9yZShPcigweDEwMDAwLERJRDQpLEluZGV4KFRNUDgsMykpDQo+ICsgICAgICBTdG9y ZShPcigweDEwMDAwLERJRDUpLEluZGV4KFRNUDgsNCkpDQo+ICsgICAgICAvL0FkZCBJU1AgZGV2 aWNlIHRvIEdGWDANCj4gKyAgICAgIFN0b3JlKDB4MDAwMjBGMzgsIEluZGV4KFRNUDgsNSkpDQo+ ICsgICAgICBSZXR1cm4oVE1QOCkNCj4gKyAgICB9IEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBO YW1lKFRNUDksUGFja2FnZSgpIHsweEZGRkZGRkZGLCAweEZGRkZGRkZGLCAweEZGRkZGRkZGLA0K PiAweEZGRkZGRkZGLCAweEZGRkZGRkZGfSkNCj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAsRElE MSksSW5kZXgoVE1QOSwwKSkNCj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAsRElEMiksSW5kZXgo VE1QOSwxKSkNCj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAsRElEMyksSW5kZXgoVE1QOSwyKSkN Cj4gKyAgICAgIFN0b3JlKE9yKDB4MTAwMDAsRElENCksSW5kZXgoVE1QOSwzKSkNCj4gKyAgICAg IFN0b3JlKE9yKDB4MTAwMDAsRElENSksSW5kZXgoVE1QOSw0KSkNCj4gKyAgICAgIFJldHVybihU TVA5KQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vIElmIG5vdGhpbmcgZWxzZSwgcmV0 dXJuIFVua25vd24gTEZQLg0KPiArICAvLyAoUHJldmVudHMgY29tcGlsZXIgd2FybmluZy4pDQo+ ICsNCj4gKyAgLy9BZGQgSVNQIGRldmljZSB0byBHRlgwDQo+ICsgIElmIChMTk9URXF1YWwgKElT UEQsIDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKFBhY2thZ2UoKSB7MHgwMDAwMDQwMCwgMHgw MDAyMEYzOH0pDQo+ICsgIH0gRWxzZQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKFBhY2thZ2UoKSB7 MHgwMDAwMDQwMH0pDQo+ICsgIH0NCj4gK30NCj4gKw0KPiArRGV2aWNlKEREMDEpDQo+ICt7DQo+ ICsNCj4gKyAgLy8gUmV0dXJuIFVuaXF1ZSBJRC4NCj4gKw0KPiArICBNZXRob2QoX0FEUiwwLFNl cmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBJZihMRXF1YWwoQW5kKDB4MEYwMCxESUQxKSwweDQw MCkpDQo+ICsgICAgew0KPiArICAgICAgU3RvcmUoMHgxLCBFRFBWKQ0KPiArICAgICAgU3RvcmUo RElEMSwgRElEWCkNCj4gKyAgICAgIFJldHVybigxKQ0KPiArICAgIH0NCj4gKyAgICBJZihMRXF1 YWwoRElEMSwwKSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oMSkNCj4gKyAgICB9DQo+ICsg ICAgRWxzZQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybihBbmQoMHhGRkZGLERJRDEpKQ0KPiAr ICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFJldHVybiB0aGUgQ3VycmVudCBTdGF0dXMuDQo+ ICsNCj4gKyAgTWV0aG9kKF9EQ1MsMCkNCj4gKyAgew0KPiArICAgIFJldHVybihDRERTKERJRDEp KQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gUXVlcnkgR3JhcGhpY3MgU3RhdGUgKGFjdGl2ZSBvciBp bmFjdGl2ZSkuDQo+ICsNCj4gKyAgTWV0aG9kKF9ER1MsMCkNCj4gKyAgew0KPiArICAgIFJldHVy bihORERTKERJRDEpKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGV2aWNlIFNldCBTdGF0ZS4NCj4g Kw0KPiArICAvLyBfRFNTIFRhYmxlOg0KPiArICAvLw0KPiArICAvLyAgICAgIEJJVDMxICAgQklU MzAgICBFeGVjdXRpb24NCj4gKyAgLy8gICAgICAwICAgICAgIDAgICAgICAgRG9uJ3QgaW1wbGVt ZW50Lg0KPiArICAvLyAgICAgIDAgICAgICAgMSAgICAgICBDYWNoZSBjaGFuZ2UuICBOb3RoaW5n IHRvIEltcGxlbWVudC4NCj4gKyAgLy8gICAgICAxICAgICAgIDAgICAgICAgRG9uJ3QgSW1wbGVt ZW50Lg0KPiArICAvLyAgICAgIDEgICAgICAgMSAgICAgICBEaXNwbGF5IFN3aXRjaCBDb21wbGV0 ZS4gIEltcGxlbWVudC4NCj4gKw0KPiArICBNZXRob2QoX0RTUywxKQ0KPiArICB7DQo+ICsgICAg SWYoTEVxdWFsKEFuZChBcmcwLDB4QzAwMDAwMDApLDB4QzAwMDAwMDApKQ0KPiArICAgIHsNCj4g Kw0KPiArICAgICAgLy8gU3RhdGUgY2hhbmdlIHdhcyBwZXJmb3JtZWQgYnkgdGhlDQo+ICsgICAg ICAvLyBWaWRlbyBEcml2ZXJzLiAgU2ltcGx5IHVwZGF0ZSB0aGUNCj4gKyAgICAgIC8vIE5ldyBT dGF0ZS4NCj4gKw0KPiArICAgICAgU3RvcmUoTlNURSxDU1RFKQ0KPiArICAgIH0NCj4gKyAgfQ0K PiArfQ0KPiArDQo+ICtEZXZpY2UoREQwMikNCj4gK3sNCj4gKw0KPiArICAvLyBSZXR1cm4gVW5p cXVlIElELg0KPiArDQo+ICsgIE1ldGhvZChfQURSLDAsU2VyaWFsaXplZCkNCj4gKyAgew0KPiAr ICAgIElmKExFcXVhbChBbmQoMHgwRjAwLERJRDIpLDB4NDAwKSkNCj4gKyAgICB7DQo+ICsgICAg ICBTdG9yZSgweDIsIEVEUFYpDQo+ICsgICAgICBTdG9yZShESUQyLCBESURYKQ0KPiArICAgICAg UmV0dXJuKDIpDQo+ICsgICAgfQ0KPiArICAgIElmKExFcXVhbChESUQyLDApKQ0KPiArICAgIHsN Cj4gKyAgICAgIFJldHVybigyKQ0KPiArICAgIH0NCj4gKyAgICBFbHNlDQo+ICsgICAgew0KPiAr ICAgICAgUmV0dXJuKEFuZCgweEZGRkYsRElEMikpDQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4g KyAgLy8gUmV0dXJuIHRoZSBDdXJyZW50IFN0YXR1cy4NCj4gKw0KPiArICBNZXRob2QoX0RDUyww KQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKENERFMoRElEMikpDQo+ICsgIH0NCj4gKw0KPiArICAv LyBRdWVyeSBHcmFwaGljcyBTdGF0ZSAoYWN0aXZlIG9yIGluYWN0aXZlKS4NCj4gKw0KPiArICBN ZXRob2QoX0RHUywwKQ0KPiArICB7DQo+ICsgICAgLy8gUmV0dXJuIHRoZSBOZXh0IFN0YXRlLg0K PiArICAgIFJldHVybihORERTKERJRDIpKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGV2aWNlIFNl dCBTdGF0ZS4gKFNlZSB0YWJsZSBhYm92ZS4pDQo+ICsNCj4gKyAgTWV0aG9kKF9EU1MsMSkNCj4g KyAgew0KPiArICAgIElmKExFcXVhbChBbmQoQXJnMCwweEMwMDAwMDAwKSwweEMwMDAwMDAwKSkN Cj4gKyAgICB7DQo+ICsNCj4gKyAgICAgIC8vIFN0YXRlIGNoYW5nZSB3YXMgcGVyZm9ybWVkIGJ5 IHRoZQ0KPiArICAgICAgLy8gVmlkZW8gRHJpdmVycy4gIFNpbXBseSB1cGRhdGUgdGhlDQo+ICsg ICAgICAvLyBOZXcgU3RhdGUuDQo+ICsNCj4gKyAgICAgIFN0b3JlKE5TVEUsQ1NURSkNCj4gKyAg ICB9DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArRGV2aWNlKEREMDMpDQo+ICt7DQo+ICsNCj4gKyAg Ly8gUmV0dXJuIFVuaXF1ZSBJRC4NCj4gKw0KPiArICBNZXRob2QoX0FEUiwwLFNlcmlhbGl6ZWQp DQo+ICsgIHsNCj4gKyAgICBJZihMRXF1YWwoQW5kKDB4MEYwMCxESUQzKSwweDQwMCkpDQo+ICsg ICAgew0KPiArICAgICAgU3RvcmUoMHgzLCBFRFBWKQ0KPiArICAgICAgU3RvcmUoRElEMywgRElE WCkNCj4gKyAgICAgIFJldHVybigzKQ0KPiArICAgIH0NCj4gKyAgICBJZihMRXF1YWwoRElEMyww KSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oMykNCj4gKyAgICB9DQo+ICsgICAgRWxzZQ0K PiArICAgIHsNCj4gKyAgICAgIFJldHVybihBbmQoMHhGRkZGLERJRDMpKQ0KPiArICAgIH0NCj4g KyAgfQ0KPiArDQo+ICsgIC8vIFJldHVybiB0aGUgQ3VycmVudCBTdGF0dXMuDQo+ICsNCj4gKyAg TWV0aG9kKF9EQ1MsMCkNCj4gKyAgew0KPiArICAgIElmKExFcXVhbChESUQzLDApKQ0KPiArICAg IHsNCj4gKyAgICAgIFJldHVybigweDBCKQ0KPiArICAgIH0NCj4gKyAgICBFbHNlDQo+ICsgICAg ew0KPiArICAgICAgUmV0dXJuKENERFMoRElEMykpDQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4g KyAgLy8gUXVlcnkgR3JhcGhpY3MgU3RhdGUgKGFjdGl2ZSBvciBpbmFjdGl2ZSkuDQo+ICsNCj4g KyAgTWV0aG9kKF9ER1MsMCkNCj4gKyAgew0KPiArICAgIFJldHVybihORERTKERJRDMpKQ0KPiAr ICB9DQo+ICsNCj4gKyAgLy8gRGV2aWNlIFNldCBTdGF0ZS4gKFNlZSB0YWJsZSBhYm92ZS4pDQo+ ICsNCj4gKyAgTWV0aG9kKF9EU1MsMSkNCj4gKyAgew0KPiArICAgIElmKExFcXVhbChBbmQoQXJn MCwweEMwMDAwMDAwKSwweEMwMDAwMDAwKSkNCj4gKyAgICB7DQo+ICsgICAgICAvLyBTdGF0ZSBj aGFuZ2Ugd2FzIHBlcmZvcm1lZCBieSB0aGUNCj4gKyAgICAgIC8vIFZpZGVvIERyaXZlcnMuICBT aW1wbHkgdXBkYXRlIHRoZQ0KPiArICAgICAgLy8gTmV3IFN0YXRlLg0KPiArDQo+ICsgICAgICBT dG9yZShOU1RFLENTVEUpDQo+ICsgICAgfQ0KPiArICB9DQo+ICt9DQo+ICsNCj4gK0RldmljZShE RDA0KQ0KPiArew0KPiArDQo+ICsgIC8vIFJldHVybiBVbmlxdWUgSUQuDQo+ICsNCj4gKyAgTWV0 aG9kKF9BRFIsMCxTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgSWYoTEVxdWFsKEFuZCgweDBG MDAsRElENCksMHg0MDApKQ0KPiArICAgIHsNCj4gKyAgICAgIFN0b3JlKDB4NCwgRURQVikNCj4g KyAgICAgIFN0b3JlKERJRDQsIERJRFgpDQo+ICsgICAgICBSZXR1cm4oNCkNCj4gKyAgICB9DQo+ ICsgICAgSWYoTEVxdWFsKERJRDQsMCkpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKDQpDQo+ ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oQW5kKDB4RkZG RixESUQ0KSkNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLyBSZXR1cm4gdGhlIEN1cnJl bnQgU3RhdHVzLg0KPiArDQo+ICsgIE1ldGhvZChfRENTLDApDQo+ICsgIHsNCj4gKyAgICBJZihM RXF1YWwoRElENCwwKSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oMHgwQikNCj4gKyAgICB9 DQo+ICsgICAgRWxzZQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybihDRERTKERJRDQpKQ0KPiAr ICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFF1ZXJ5IEdyYXBoaWNzIFN0YXRlIChhY3RpdmUg b3IgaW5hY3RpdmUpLg0KPiArDQo+ICsgIE1ldGhvZChfREdTLDApDQo+ICsgIHsNCj4gKyAgICBS ZXR1cm4oTkREUyhESUQ0KSkNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIERldmljZSBTZXQgU3RhdGUu IChTZWUgdGFibGUgYWJvdmUuKQ0KPiArDQo+ICsgIE1ldGhvZChfRFNTLDEpDQo+ICsgIHsNCj4g KyAgICBJZihMRXF1YWwoQW5kKEFyZzAsMHhDMDAwMDAwMCksMHhDMDAwMDAwMCkpDQo+ICsgICAg ew0KPiArDQo+ICsgICAgICAvLyBTdGF0ZSBjaGFuZ2Ugd2FzIHBlcmZvcm1lZCBieSB0aGUNCj4g KyAgICAgIC8vIFZpZGVvIERyaXZlcnMuICBTaW1wbHkgdXBkYXRlIHRoZQ0KPiArICAgICAgLy8g TmV3IFN0YXRlLg0KPiArDQo+ICsgICAgICBTdG9yZShOU1RFLENTVEUpDQo+ICsgICAgfQ0KPiAr ICB9DQo+ICt9DQo+ICsNCj4gKw0KPiArRGV2aWNlKEREMDUpDQo+ICt7DQo+ICsNCj4gKyAgLy8g UmV0dXJuIFVuaXF1ZSBJRC4NCj4gKw0KPiArICBNZXRob2QoX0FEUiwwLFNlcmlhbGl6ZWQpDQo+ ICsgIHsNCj4gKyAgICBJZihMRXF1YWwoQW5kKDB4MEYwMCxESUQ1KSwweDQwMCkpDQo+ICsgICAg ew0KPiArICAgICAgU3RvcmUoMHg1LCBFRFBWKQ0KPiArICAgICAgU3RvcmUoRElENSwgRElEWCkN Cj4gKyAgICAgIFJldHVybig1KQ0KPiArICAgIH0NCj4gKyAgICBJZihMRXF1YWwoRElENSwwKSkN Cj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oNSkNCj4gKyAgICB9DQo+ICsgICAgRWxzZQ0KPiAr ICAgIHsNCj4gKyAgICAgIFJldHVybihBbmQoMHhGRkZGLERJRDUpKQ0KPiArICAgIH0NCj4gKyAg fQ0KPiArDQo+ICsgIC8vIFJldHVybiB0aGUgQ3VycmVudCBTdGF0dXMuDQo+ICsNCj4gKyAgTWV0 aG9kKF9EQ1MsMCkNCj4gKyAgew0KPiArICAgIElmKExFcXVhbChESUQ1LDApKQ0KPiArICAgIHsN Cj4gKyAgICAgIFJldHVybigweDBCKQ0KPiArICAgIH0NCj4gKyAgICBFbHNlDQo+ICsgICAgew0K PiArICAgICAgUmV0dXJuKENERFMoRElENSkpDQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAg Ly8gUXVlcnkgR3JhcGhpY3MgU3RhdGUgKGFjdGl2ZSBvciBpbmFjdGl2ZSkuDQo+ICsNCj4gKyAg TWV0aG9kKF9ER1MsMCkNCj4gKyAgew0KPiArICAgIFJldHVybihORERTKERJRDUpKQ0KPiArICB9 DQo+ICsNCj4gKyAgLy8gRGV2aWNlIFNldCBTdGF0ZS4gKFNlZSB0YWJsZSBhYm92ZS4pDQo+ICsN Cj4gKyAgTWV0aG9kKF9EU1MsMSkNCj4gKyAgew0KPiArICAgIElmKExFcXVhbChBbmQoQXJnMCww eEMwMDAwMDAwKSwweEMwMDAwMDAwKSkNCj4gKyAgICB7DQo+ICsgICAgICAvLyBTdGF0ZSBjaGFu Z2Ugd2FzIHBlcmZvcm1lZCBieSB0aGUNCj4gKyAgICAgIC8vIFZpZGVvIERyaXZlcnMuICBTaW1w bHkgdXBkYXRlIHRoZQ0KPiArICAgICAgLy8gTmV3IFN0YXRlLg0KPiArDQo+ICsgICAgICBTdG9y ZShOU1RFLENTVEUpDQo+ICsgICAgfQ0KPiArICB9DQo+ICt9DQo+ICsNCj4gKw0KPiArRGV2aWNl KEREMDYpDQo+ICt7DQo+ICsNCj4gKyAgLy8gUmV0dXJuIFVuaXF1ZSBJRC4NCj4gKw0KPiArICBN ZXRob2QoX0FEUiwwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBJZihMRXF1YWwoQW5kKDB4 MEYwMCxESUQ2KSwweDQwMCkpDQo+ICsgICAgew0KPiArICAgICAgU3RvcmUoMHg2LCBFRFBWKQ0K PiArICAgICAgU3RvcmUoRElENiwgRElEWCkNCj4gKyAgICAgIFJldHVybig2KQ0KPiArICAgIH0N Cj4gKyAgICBJZihMRXF1YWwoRElENiwwKSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oNikN Cj4gKyAgICB9DQo+ICsgICAgRWxzZQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybihBbmQoMHhG RkZGLERJRDYpKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFJldHVybiB0aGUgQ3Vy cmVudCBTdGF0dXMuDQo+ICsNCj4gKyAgTWV0aG9kKF9EQ1MsMCkNCj4gKyAgew0KPiArICAgIElm KExFcXVhbChESUQ2LDApKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybigweDBCKQ0KPiArICAg IH0NCj4gKyAgICBFbHNlDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKENERFMoRElENikpDQo+ ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gUXVlcnkgR3JhcGhpY3MgU3RhdGUgKGFjdGl2 ZSBvciBpbmFjdGl2ZSkuDQo+ICsNCj4gKyAgTWV0aG9kKF9ER1MsMCkNCj4gKyAgew0KPiArICAg IFJldHVybihORERTKERJRDYpKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGV2aWNlIFNldCBTdGF0 ZS4gKFNlZSB0YWJsZSBhYm92ZS4pDQo+ICsNCj4gKyAgTWV0aG9kKF9EU1MsMSkNCj4gKyAgew0K PiArICAgIElmKExFcXVhbChBbmQoQXJnMCwweEMwMDAwMDAwKSwweEMwMDAwMDAwKSkNCj4gKyAg ICB7DQo+ICsgICAgICAvLyBTdGF0ZSBjaGFuZ2Ugd2FzIHBlcmZvcm1lZCBieSB0aGUNCj4gKyAg ICAgIC8vIFZpZGVvIERyaXZlcnMuICBTaW1wbHkgdXBkYXRlIHRoZQ0KPiArICAgICAgLy8gTmV3 IFN0YXRlLg0KPiArDQo+ICsgICAgICBTdG9yZShOU1RFLENTVEUpDQo+ICsgICAgfQ0KPiArICB9 DQo+ICt9DQo+ICsNCj4gKw0KPiArRGV2aWNlKEREMDcpDQo+ICt7DQo+ICsNCj4gKyAgLy8gUmV0 dXJuIFVuaXF1ZSBJRC4NCj4gKw0KPiArICBNZXRob2QoX0FEUiwwLFNlcmlhbGl6ZWQpDQo+ICsg IHsNCj4gKyAgICBJZihMRXF1YWwoQW5kKDB4MEYwMCxESUQ3KSwweDQwMCkpDQo+ICsgICAgew0K PiArICAgICAgU3RvcmUoMHg3LCBFRFBWKQ0KPiArICAgICAgU3RvcmUoRElENywgRElEWCkNCj4g KyAgICAgIFJldHVybig3KQ0KPiArICAgIH0NCj4gKyAgICBJZihMRXF1YWwoRElENywwKSkNCj4g KyAgICB7DQo+ICsgICAgICBSZXR1cm4oNykNCj4gKyAgICB9DQo+ICsgICAgRWxzZQ0KPiArICAg IHsNCj4gKyAgICAgIFJldHVybihBbmQoMHhGRkZGLERJRDcpKQ0KPiArICAgIH0NCj4gKyAgfQ0K PiArDQo+ICsgIC8vIFJldHVybiB0aGUgQ3VycmVudCBTdGF0dXMuDQo+ICsNCj4gKyAgTWV0aG9k KF9EQ1MsMCkNCj4gKyAgew0KPiArICAgIElmKExFcXVhbChESUQ3LDApKQ0KPiArICAgIHsNCj4g KyAgICAgIFJldHVybigweDBCKQ0KPiArICAgIH0NCj4gKyAgICBFbHNlDQo+ICsgICAgew0KPiAr ICAgICAgUmV0dXJuKENERFMoRElENykpDQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8g UXVlcnkgR3JhcGhpY3MgU3RhdGUgKGFjdGl2ZSBvciBpbmFjdGl2ZSkuDQo+ICsNCj4gKyAgTWV0 aG9kKF9ER1MsMCkNCj4gKyAgew0KPiArICAgIFJldHVybihORERTKERJRDcpKQ0KPiArICB9DQo+ ICsNCj4gKyAgLy8gRGV2aWNlIFNldCBTdGF0ZS4gKFNlZSB0YWJsZSBhYm92ZS4pDQo+ICsNCj4g KyAgTWV0aG9kKF9EU1MsMSkNCj4gKyAgew0KPiArICAgIElmKExFcXVhbChBbmQoQXJnMCwweEMw MDAwMDAwKSwweEMwMDAwMDAwKSkNCj4gKyAgICB7DQo+ICsgICAgICAvLyBTdGF0ZSBjaGFuZ2Ug d2FzIHBlcmZvcm1lZCBieSB0aGUNCj4gKyAgICAgIC8vIFZpZGVvIERyaXZlcnMuICBTaW1wbHkg dXBkYXRlIHRoZQ0KPiArICAgICAgLy8gTmV3IFN0YXRlLg0KPiArDQo+ICsgICAgICBTdG9yZShO U1RFLENTVEUpDQo+ICsgICAgfQ0KPiArICB9DQo+ICt9DQo+ICsNCj4gKw0KPiArRGV2aWNlKERE MDgpDQo+ICt7DQo+ICsNCj4gKyAgLy8gUmV0dXJuIFVuaXF1ZSBJRC4NCj4gKw0KPiArICBNZXRo b2QoX0FEUiwwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBJZihMRXF1YWwoQW5kKDB4MEYw MCxESUQ4KSwweDQwMCkpDQo+ICsgICAgew0KPiArICAgICAgU3RvcmUoMHg4LCBFRFBWKQ0KPiAr ICAgICAgU3RvcmUoRElEOCwgRElEWCkNCj4gKyAgICAgIFJldHVybig4KQ0KPiArICAgIH0NCj4g KyAgICBJZihMRXF1YWwoRElEOCwwKSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oOCkNCj4g KyAgICB9DQo+ICsgICAgRWxzZQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybihBbmQoMHhGRkZG LERJRDgpKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFJldHVybiB0aGUgQ3VycmVu dCBTdGF0dXMuDQo+ICsNCj4gKyAgTWV0aG9kKF9EQ1MsMCkNCj4gKyAgew0KPiArICAgIElmKExF cXVhbChESUQ4LDApKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybigweDBCKQ0KPiArICAgIH0N Cj4gKyAgICBFbHNlDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKENERFMoRElEOCkpDQo+ICsg ICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gUXVlcnkgR3JhcGhpY3MgU3RhdGUgKGFjdGl2ZSBv ciBpbmFjdGl2ZSkuDQo+ICsNCj4gKyAgTWV0aG9kKF9ER1MsMCkNCj4gKyAgew0KPiArICAgIFJl dHVybihORERTKERJRDgpKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGV2aWNlIFNldCBTdGF0ZS4g KFNlZSB0YWJsZSBhYm92ZS4pDQo+ICsNCj4gKyAgTWV0aG9kKF9EU1MsMSkNCj4gKyAgew0KPiAr ICAgIElmKExFcXVhbChBbmQoQXJnMCwweEMwMDAwMDAwKSwweEMwMDAwMDAwKSkNCj4gKyAgICB7 DQo+ICsgICAgICAvLyBTdGF0ZSBjaGFuZ2Ugd2FzIHBlcmZvcm1lZCBieSB0aGUNCj4gKyAgICAg IC8vIFZpZGVvIERyaXZlcnMuICBTaW1wbHkgdXBkYXRlIHRoZQ0KPiArICAgICAgLy8gTmV3IFN0 YXRlLg0KPiArDQo+ICsgICAgICBTdG9yZShOU1RFLENTVEUpDQo+ICsgICAgfQ0KPiArICB9DQo+ ICt9DQo+ICsNCj4gKy8vZGV2aWNlIGZvciBlRFANCj4gK0RldmljZShERDFGKQ0KPiArew0KPiAr ICAvLyBSZXR1cm4gVW5pcXVlIElELg0KPiArDQo+ICsgIE1ldGhvZChfQURSLDAsU2VyaWFsaXpl ZCkNCj4gKyAgew0KPiArICAgIElmKExFcXVhbChFRFBWLCAweDApKQ0KPiArICAgIHsNCj4gKyAg ICAgIFJldHVybigweDFGKQ0KPiArICAgIH0NCj4gKyAgICBFbHNlDQo+ICsgICAgew0KPiArICAg ICAgUmV0dXJuKEFuZCgweEZGRkYsRElEWCkpDQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAg Ly8gUmV0dXJuIHRoZSBDdXJyZW50IFN0YXR1cy4NCj4gKw0KPiArICBNZXRob2QoX0RDUywwKQ0K PiArICB7DQo+ICsgICAgSWYoTEVxdWFsKEVEUFYsIDB4MCkpDQo+ICsgICAgew0KPiArICAgICAg UmV0dXJuKDB4MDApDQo+ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBS ZXR1cm4oQ0REUyhESURYKSkNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLyBRdWVyeSBH cmFwaGljcyBTdGF0ZSAoYWN0aXZlIG9yIGluYWN0aXZlKS4NCj4gKw0KPiArICBNZXRob2QoX0RH UywwKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKE5ERFMoRElEWCkpDQo+ICsgIH0NCj4gKw0KPiAr ICAvLyBEZXZpY2UgU2V0IFN0YXRlLiAoU2VlIHRhYmxlIGFib3ZlLikNCj4gKw0KPiArICBNZXRo b2QoX0RTUywxKQ0KPiArICB7DQo+ICsgICAgSWYoTEVxdWFsKEFuZChBcmcwLDB4QzAwMDAwMDAp LDB4QzAwMDAwMDApKQ0KPiArICAgIHsNCj4gKyAgICAgIC8vIFN0YXRlIGNoYW5nZSB3YXMgcGVy Zm9ybWVkIGJ5IHRoZQ0KPiArICAgICAgLy8gVmlkZW8gRHJpdmVycy4gIFNpbXBseSB1cGRhdGUg dGhlDQo+ICsgICAgICAvLyBOZXcgU3RhdGUuDQo+ICsgICAgICBTdG9yZShOU1RFLENTVEUpDQo+ ICsgICAgfQ0KPiArICB9DQo+ICsgIC8vIFF1ZXJ5IExpc3Qgb2YgQnJpZ2h0bmVzcyBDb250cm9s IExldmVscyBTdXBwb3J0ZWQuDQo+ICsNCj4gKyAgTWV0aG9kKF9CQ0wsMCkNCj4gKyAgew0KPiAr ICAgIC8vIExpc3Qgb2Ygc3VwcG9ydGVkIGJyaWdodG5lc3MgbGV2ZWxzIGluIHRoZSBmb2xsb3dp bmcgc2VxdWVuY2UuDQo+ICsNCj4gKyAgICAvLyBMZXZlbCB3aGVuIG1hY2hpbmUgaGFzIGZ1bGwg cG93ZXIuDQo+ICsgICAgLy8gTGV2ZWwgd2hlbiBtYWNoaW5lIGlzIG9uIGJhdHRlcmllcy4NCj4g KyAgICAvLyBPdGhlciBzdXBwb3J0ZWQgbGV2ZWxzLg0KPiArICAgIFJldHVybihQYWNrYWdlKCkg ezgwLCA1MCwgMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0 LCAxNSwgMTYsDQo+IDE3LCAxOCwgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywg MjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAzNiwgMzcsIDM4LA0KPiAzOSwgNDAsIDQx LCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTUs IDU2LCA1NywgNTgsIDU5LCA2MCwNCj4gNjEsIDYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDY4LCA2 OSwgNzAsIDcxLCA3MiwgNzMsIDc0LCA3NSwgNzYsIDc3LCA3OCwgNzksIDgwLCA4MSwgODIsDQo+ IDgzLCA4NCwgODUsIDg2LCA4NywgODgsIDg5LCA5MCwgOTEsIDkyLCA5MywgOTQsIDk1LCA5Niwg OTcsIDk4LCA5OSwgMTAwfSkNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFNldCB0aGUgQnJpZ2h0bmVz cyBMZXZlbC4NCj4gKw0KPiArICBNZXRob2QgKF9CQ00sMSkNCj4gKyAgew0KPiArICAgIC8vIFNl dCB0aGUgcmVxdWVzdGVkIGxldmVsIGlmIGl0IGlzIGJldHdlZW4gMCBhbmQgMTAwJS4NCj4gKw0K PiArICAgIElmKExBbmQoTEdyZWF0ZXJFcXVhbChBcmcwLDApLExMZXNzRXF1YWwoQXJnMCwxMDAp KSkNCj4gKyAgICB7DQo+ICsgICAgICBcX1NCLlBDSTAuR0ZYMC5BSU5UKDEsIEFyZzApDQo+ICsg ICAgICBTdG9yZShBcmcwLEJSVEwpICAvLyBTdG9yZSBCcmlnaHRuZXNzIExldmVsLg0KPiArICAg IH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vIEJyaWdodG5lc3MgUXVlcnkgQ3VycmVudCBsZXZlbC4N Cj4gKw0KPiArICBNZXRob2QgKF9CUUMsMCkNCj4gKyAgew0KPiArICAgIFJldHVybihCUlRMKQ0K PiArICB9DQo+ICt9DQo+ICsNCj4gK01ldGhvZChTRERMLDEpDQo+ICt7DQo+ICsgIEluY3JlbWVu dChORElEKQ0KPiArICBTdG9yZShBbmQoQXJnMCwweEYwRiksTG9jYWwwKQ0KPiArICBPcigweDgw MDAwMDAwLExvY2FsMCwgTG9jYWwxKQ0KPiArICBJZihMRXF1YWwoRElETCxMb2NhbDApKQ0KPiAr ICB7DQo+ICsgICAgUmV0dXJuKExvY2FsMSkNCj4gKyAgfQ0KPiArICBJZihMRXF1YWwoRERMMixM b2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKExvY2FsMSkNCj4gKyAgfQ0KPiArICBJZihM RXF1YWwoRERMMyxMb2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKExvY2FsMSkNCj4gKyAg fQ0KPiArICBJZihMRXF1YWwoRERMNCxMb2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKExv Y2FsMSkNCj4gKyAgfQ0KPiArICBJZihMRXF1YWwoRERMNSxMb2NhbDApKQ0KPiArICB7DQo+ICsg ICAgUmV0dXJuKExvY2FsMSkNCj4gKyAgfQ0KPiArICBJZihMRXF1YWwoRERMNixMb2NhbDApKQ0K PiArICB7DQo+ICsgICAgUmV0dXJuKExvY2FsMSkNCj4gKyAgfQ0KPiArICBJZihMRXF1YWwoRERM NyxMb2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKExvY2FsMSkNCj4gKyAgfQ0KPiArICBJ ZihMRXF1YWwoRERMOCxMb2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKExvY2FsMSkNCj4g KyAgfQ0KPiArICBSZXR1cm4oMCkNCj4gK30NCj4gKw0KPiArTWV0aG9kKENERFMsMSkNCj4gK3sN Cj4gKyAgU3RvcmUoQW5kKEFyZzAsMHhGMEYpLExvY2FsMCkNCj4gKw0KPiArICBJZihMRXF1YWwo MCwgTG9jYWwwKSkNCj4gKyAgew0KPiArICAgIFJldHVybigweDFEKQ0KPiArICB9DQo+ICsgIElm KExFcXVhbChDQURMLCBMb2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKDB4MUYpDQo+ICsg IH0NCj4gKyAgSWYoTEVxdWFsKENBTDIsIExvY2FsMCkpDQo+ICsgIHsNCj4gKyAgICBSZXR1cm4o MHgxRikNCj4gKyAgfQ0KPiArICBJZihMRXF1YWwoQ0FMMywgTG9jYWwwKSkNCj4gKyAgew0KPiAr ICAgIFJldHVybigweDFGKQ0KPiArICB9DQo+ICsgIElmKExFcXVhbChDQUw0LCBMb2NhbDApKQ0K PiArICB7DQo+ICsgICAgUmV0dXJuKDB4MUYpDQo+ICsgIH0NCj4gKyAgSWYoTEVxdWFsKENBTDUs IExvY2FsMCkpDQo+ICsgIHsNCj4gKyAgICBSZXR1cm4oMHgxRikNCj4gKyAgfQ0KPiArICBJZihM RXF1YWwoQ0FMNiwgTG9jYWwwKSkNCj4gKyAgew0KPiArICAgIFJldHVybigweDFGKQ0KPiArICB9 DQo+ICsgIElmKExFcXVhbChDQUw3LCBMb2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKDB4 MUYpDQo+ICsgIH0NCj4gKyAgSWYoTEVxdWFsKENBTDgsIExvY2FsMCkpDQo+ICsgIHsNCj4gKyAg ICBSZXR1cm4oMHgxRikNCj4gKyAgfQ0KPiArICBSZXR1cm4oMHgxRCkNCj4gK30NCj4gKw0KPiAr TWV0aG9kKE5ERFMsMSkNCj4gK3sNCj4gKyAgU3RvcmUoQW5kKEFyZzAsMHhGMEYpLExvY2FsMCkN Cj4gKw0KPiArICBJZihMRXF1YWwoMCwgTG9jYWwwKSkNCj4gKyAgew0KPiArICAgIFJldHVybigw KQ0KPiArICB9DQo+ICsgIElmKExFcXVhbChOQURMLCBMb2NhbDApKQ0KPiArICB7DQo+ICsgICAg UmV0dXJuKDEpDQo+ICsgIH0NCj4gKyAgSWYoTEVxdWFsKE5ETDIsIExvY2FsMCkpDQo+ICsgIHsN Cj4gKyAgICBSZXR1cm4oMSkNCj4gKyAgfQ0KPiArICBJZihMRXF1YWwoTkRMMywgTG9jYWwwKSkN Cj4gKyAgew0KPiArICAgIFJldHVybigxKQ0KPiArICB9DQo+ICsgIElmKExFcXVhbChOREw0LCBM b2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKDEpDQo+ICsgIH0NCj4gKyAgSWYoTEVxdWFs KE5ETDUsIExvY2FsMCkpDQo+ICsgIHsNCj4gKyAgICBSZXR1cm4oMSkNCj4gKyAgfQ0KPiArICBJ ZihMRXF1YWwoTkRMNiwgTG9jYWwwKSkNCj4gKyAgew0KPiArICAgIFJldHVybigxKQ0KPiArICB9 DQo+ICsgIElmKExFcXVhbChOREw3LCBMb2NhbDApKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKDEp DQo+ICsgIH0NCj4gKyAgSWYoTEVxdWFsKE5ETDgsIExvY2FsMCkpDQo+ICsgIHsNCj4gKyAgICBS ZXR1cm4oMSkNCj4gKyAgfQ0KPiArICBSZXR1cm4oMCkNCj4gK30NCj4gKw0KPiArLy8NCj4gKy8v IEluY2x1ZGUgSUdEIE9wUmVnaW9uL1NvZnR3YXJlIFNDSSBpbnRlcnJ1cHQgaGFuZGxlciB3aGlj aCBpcyB1c2UgYnkNCj4gKy8vIHRoZSBncmFwaGljcyBkcml2ZXJzIHRvIHJlcXVlc3QgZGF0YSBm cm9tIHN5c3RlbSBCSU9TLg0KPiArLy8NCj4gK2luY2x1ZGUoIklnZE9wUm4uQVNMIikNCj4gZGlm ZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxl c1BDQVQvSU5URUxJU1BEZXYyLkFTTA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvQWNwaVRhYmxlc1BDQVQvSU5URUxJU1BEZXYyLkFTTA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45NzU0OGE0MWY5DQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENB VC9JTlRFTElTUERldjIuQVNMDQo+IEBAIC0wLDAgKzEsNzEgQEANCj4gKy8qKysNCj4gKw0KPiAr Q29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBJTlRF TElTUERldjIuQVNMDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIElTUCBFeGlzdCBhcyBC MEQyRjAgU29mdHdhcmUgQUNQSSBSZWZlcmVuY2UgQ29kZSBmb3IgdGhlIEJheXRyYWlsIEZhbWls eS4NCj4gKw0KPiArLS0qLw0KPiArLy8vL0RldmljZSBJU1AwDQo+ICtEZXZpY2UoSVNQMCkNCj4g K3sNCj4gKyAgTmFtZShfQURSLCAweDBGMzgpDQo+ICsgIC8vTmFtZSAoX0hJRCwgIjgwODYwRjM4 IikNCj4gKyAgLy9OYW1lIChfQ0lELCAiODA4NjBGMzgiKQ0KPiArICBOYW1lKF9ERE4sICJWTFYy IElTUCAtIDgwODYwRjM4IikNCj4gKyAgTmFtZShfVUlELCAweDAxKQ0KPiArDQo+ICsgIE1ldGhv ZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIElmKExFcXVhbChJU1BE LDEpKSAgIC8vRGV2MiBuZWVkIHJlcG9ydCBJU1AwIGFzIEdGWDAgY2hpbGQNCj4gKyAgICB7DQo+ ICsgICAgICBSZXR1cm4gKDB4RikNCj4gKyAgICB9DQo+ICsgICAgRWxzZQ0KPiArICAgIHsNCj4g KyAgICAgIFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArICBOYW1lKFNCVUYsUmVz b3VyY2VUZW1wbGF0ZSAoKQ0KPiArICB7DQo+ICsgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRl LCAweDAwMDAwMDAwLCAweDAwNDAwMDAwLCBJU1AwKQ0KPiArICB9KQ0KPiArICBNZXRob2QoX0NS UywgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuIChTQlVGKQ0KPiAr ICB9DQo+ICsgIE1ldGhvZCAoX1NSUywgMHgxLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsg IH0NCj4gKyAgTWV0aG9kIChfRElTLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAg fQ0KPiArICBNZXRob2QoX0RTTSwgMHg0LCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAg SWYgKExFcXVhbCAoQXJnMCwgMHgwMSkpDQo+ICsgICAgew0KPiArICAgICAgLy8vU3dpdGNoIElT UCB0byBEM0gNCj4gKyAgICAgIFJldHVybiAoMHgwMSkNCj4gKyAgICB9DQo+ICsgICAgRWxzZWlm IChMRXF1YWwgKEFyZzAsIDB4MDIpKQ0KPiArICAgIHsNCj4gKyAgICAgIC8vU3dpdGNoIElTUCB0 byBEMA0KPiArICAgICAgUmV0dXJuICgweDAyKQ0KPiArICAgIH0NCj4gKyAgICBFbHNlDQo+ICsg ICAgew0KPiArICAgICAgLy9EbyBub3RoaW5nDQo+ICsgICAgICBSZXR1cm4gKDB4MEYpDQo+ICsg ICAgfQ0KPiArICB9DQo+ICt9IC8vL0VuZCBJU1AwDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSWdkT0dCREEu QVNMDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENB VC9JZ2RPR0JEQS5BU0wNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MC4uNDQ4MmRiNjkwNg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSWdkT0dCREEuQVNMDQo+IEBAIC0wLDAg KzEsMTU1IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiAr TW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgSWdkT0dCREEuQVNMDQo+ICsNCj4gK0Fic3RyYWN0Og0K PiArDQo+ICsgIElHRCBPcFJlZ2lvbi9Tb2Z0d2FyZSBTQ0kgUmVmZXJlbmNlIENvZGUgZm9yIHRo ZSBCYXl0cmFpbCBGYW1pbHkuDQo+ICsgIFRoaXMgZmlsZSBjb250YWlucyBHZXQgQklPUyBEYXRh IEFyZWEgZnVuY2l0b24gc3VwcG9ydCBmb3INCj4gKyAgdGhlIEludGVncmF0ZWQgR3JhcGhpY3Mg RGV2aWNlIChJR0QpIE9wUmVnaW9uL1NvZnR3YXJlIFNDSSBtZWNoYW5pc20uDQo+ICsNCj4gKy0t Ki8NCj4gKw0KPiArDQo+ICtNZXRob2QgKEdCREEsIDAsIFNlcmlhbGl6ZWQpDQo+ICt7DQo+ICsN Cj4gKyAgLy8gU3VwcG9ydGVkIGNhbGxzOiBTdWItZnVuY3Rpb24gMA0KPiArDQo+ICsgIElmIChM RXF1YWwoR0VTRiwgMCkpDQo+ICsgIHsNCj4gKyAgICAvLzxUT0RPPiBVcGRhdGUgaW1wbGVtZW50 YXRpb24gc3BlY2lmaWMgc3VwcG9ydGVkIGNhbGxzLiAgUmVmZXJlbmNlDQo+ICsgICAgLy8gY29k ZSBpcyBzZXQgdG8gSW50ZWwncyB2YWxpZGF0ZWQgaW1wbGVtZW50YXRpb24uDQo+ICsNCj4gKyAg ICBTdG9yZSgweDAwMDAyNzksIFBBUk0pDQo+ICsNCj4gKyAgICBTdG9yZShaZXJvLCBHRVNGKSAg ICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBleGl0IHBhcmFtZXRlcg0KPiArICAgIFJldHVybihT VUNDKSAgICAgICAgICAgICAgICAgICAgLy8gU3VjY2Vzcw0KPiArICB9DQo+ICsNCj4gKyAgLy8g UmVxdWVzdGVkIGNhbGxiYWNrczogU3ViLWZ1bmN0aW9uIDENCj4gKw0KPiArICBJZiAoTEVxdWFs KEdFU0YsIDEpKQ0KPiArICB7DQo+ICsNCj4gKyAgICAvLzxUT0RPPiBVcGRhdGUgaW1wbGVtZW50 YXRpb24gc3BlY2lmaWMgc3lzdGVtIEJJT1MgcmVxdWVzdGVkIGNhbGwNCj4gKyAgICAvLyBiYWNr IGZ1bmN0aW9ucy4gIENhbGwgYmFjayBmdW5jdGlvbnMgYXJlIHdoZXJlIHRoZSBkcml2ZXIgY2Fs bHMgdGhlDQo+ICsgICAgLy8gc3lzdGVtIEJJT1MgYXQgZnVuY3Rpb24gaW5kaWNhdGVkIGV2ZW50 Lg0KPiArDQo+ICsgICAgU3RvcmUoMHgwMDAwMDI0MCwgUEFSTSkNCj4gKw0KPiArICAgIFN0b3Jl KFplcm8sIEdFU0YpICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIGV4aXQgcGFyYW1ldGVyDQo+ ICsgICAgUmV0dXJuKFNVQ0MpICAgICAgICAgICAgICAgICAgICAvLyBTdWNjZXNzDQo+ICsgIH0N Cj4gKw0KPiArICAvLyBHZXQgQm9vdCBkaXNwbGF5IFByZWZlcmVuY2VzOiBTdWItZnVuY3Rpb24g NA0KPiArDQo+ICsgIElmIChMRXF1YWwoR0VTRiwgNCkpDQo+ICsgIHsNCj4gKw0KPiArICAgIC8v PFRPRE8+IFVwZGF0ZSB0aGUgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgR2V0IEJvb3QgRGlzcGxh eQ0KPiArICAgIC8vIFByZWZlcmVuY2VzIGZ1bmN0aW9uLg0KPiArDQo+ICsgICAgQW5kKFBBUk0s IDB4RUZGRjAwMDAsIFBBUk0pICAgICAvLyBQQVJNWzMwOjE2XSA9IEJvb3QgZGV2aWNlIHBvcnRz DQo+ICsgICAgQW5kKFBBUk0sIFNoaWZ0TGVmdChEZVJlZk9mKEluZGV4KERCVEIsIElCVFQpKSwg MTYpLCBQQVJNKQ0KPiArICAgIE9yKElCVFQsIFBBUk0sIFBBUk0pICAgICAgICAgICAgLy8gUEFS TVs3OjBdID0gQm9vdCBkZXZpY2UgdHlwZQ0KPiArDQo+ICsgICAgU3RvcmUoWmVybywgR0VTRikg ICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgZXhpdCBwYXJhbWV0ZXINCj4gKyAgICBSZXR1cm4o U1VDQykgICAgICAgICAgICAgICAgICAgIC8vIFN1Y2Nlc3MNCj4gKyAgfQ0KPiArDQo+ICsgIC8v IFBhbmVsIGRldGFpbHM6IFN1Yi1mdW5jdGlvbiA1DQo+ICsNCj4gKyAgSWYgKExFcXVhbChHRVNG LCA1KSkNCj4gKyAgew0KPiArDQo+ICsgICAgLy88VE9ETz4gVXBkYXRlIHRoZSBpbXBsZW1lbnRh dGlvbiBzcGVjaWZpYyBHZXQgUGFuZWwgRGV0YWlscw0KPiArICAgIC8vIGZ1bmN0aW9uLg0KPiAr DQo+ICsgICAgU3RvcmUoSVBTQywgUEFSTSkgICAgICAgICAgICAgICAvLyBSZXBvcnQgdGhlIHNj YWxpbmcgc2V0dGluZw0KPiArICAgIE9yKFBBUk0sIFNoaWZ0TGVmdChJUEFULCA4KSwgUEFSTSkN Cj4gKyAgICBBZGQoUEFSTSwgMHgxMDAsIFBBUk0pICAgICAgICAgIC8vIEFkanVzdCBwYW5lbCB0 eXBlLCAwID0gVkJUIGRlZmF1bHQNCj4gKyAgICBPcihQQVJNLCBTaGlmdExlZnQoTElEUywgMTYp LCBQQVJNKSAvLyBSZXBvcnQgdGhlIGxpZCBzdGF0ZQ0KPiArICAgIEFkZChQQVJNLCAweDEwMDAw LCBQQVJNKSAgICAgICAgLy8gQWRqdXN0IHRoZSBsaWQgc3RhdGUsIDAgPSBVbmtub3duDQo+ICsg ICAgT3IoUEFSTSwgU2hpZnRMZWZ0KElCTEMsIDE4KSwgUEFSTSkgLy8gUmVwb3J0IHRoZSBCTEMg c2V0dGluZw0KPiArICAgIE9yKFBBUk0sIFNoaWZ0TGVmdChJQklBLCAyMCksIFBBUk0pIC8vIFJl cG9ydCB0aGUgQklBIHNldHRpbmcNCj4gKyAgICBTdG9yZShaZXJvLCBHRVNGKQ0KPiArICAgIFJl dHVybihTVUNDKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gVFYtc3RhbmRhcmQvVmlkZW8tY29ubmVj dG9yOiBTdWItZnVuY3Rpb24gNg0KPiArDQo+ICsgIElmIChMRXF1YWwoR0VTRiwgNikpDQo+ICsg IHsNCj4gKw0KPiArICAgIC8vPFRPRE8+IFVwZGF0ZSB0aGUgaW1wbGVtZW50YXRpb24gc3BlY2lm aWMgR2V0DQo+ICsgICAgLy8gVFYtc3RhbmRhcmQvVmlkZW8tY29ubmVjdG9yUGFuZWwgZnVuY3Rp b24uDQo+ICsNCj4gKyAgICBTdG9yZShJVFZGLCBQQVJNKQ0KPiArICAgIE9yKFBBUk0sIFNoaWZ0 TGVmdChJVFZNLCA0KSwgUEFSTSkNCj4gKyAgICBTdG9yZShaZXJvLCBHRVNGKQ0KPiArICAgIFJl dHVybihTVUNDKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gSW50ZXJuYWwgZ3JhcGhpY3M6IFN1Yi1m dW5jdGlvbiA3DQo+ICsNCj4gKyAgSWYgKExFcXVhbChHRVNGLCA3KSkNCj4gKyAgew0KPiArICAg IFN0b3JlKEdJVkQsIFBBUk0pICAgICAgICAgICAgICAgLy8gUEFSTVswXSAgICAgIC0gVkdBIG1v ZGUoMT1WR0EpDQo+ICsgICAgWG9yKFBBUk0sIDEsIFBBUk0pICAgICAgICAgICAgICAvLyBJbnZl cnQgdGhlIFZHQSBtb2RlIHBvbGFyaXR5DQo+ICsgICAgT3IoUEFSTSwgU2hpZnRMZWZ0KEdNRk4s IDEpLCBQQVJNKSAvLyBQQVJNWzFdICAgLSAjIElHRCBQQ0kgZnVuY3Rpb25zLTENCj4gKyAgICAv LyBQQVJNWzM6Ml0gICAgLSBSZXNlcnZlZA0KPiArICAgIC8vIFBBUk1bNF0gICAgICAtIElHRCBE MyBzdXBwb3J0KDA9Y29sZCkNCj4gKyAgICAvLyBQQVJNWzEwOjVdICAgLSBSZXNlcnZlZA0KPiAr ICAgIE9yKFBBUk0sIFNoaWZ0TGVmdCgzLCAxMSksIFBBUk0pIC8vIFBBUk1bMTI6MTFdIC0gRFZN VCBtb2RlKDExYiA9IDUuMCkNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gUmVwb3J0IERWTVQg NS4wIFRvdGFsIEdyYXBoaWNzIG1lbW9yeSBzaXplLg0KPiArICAgIC8vDQo+ICsgICAgT3IoUEFS TSwgU2hpZnRMZWZ0KElETVMsIDE3KSwgUEFSTSkgICAvLyBCaXRzIDIwOjE3IGFyZSBmb3IgR2Z4 IHRvdGFsDQo+IG1lbW9yeSBzaXplDQo+ICsNCj4gKyAgICAvLyBJZiB0aGUgIlNldCBJbnRlcm5h bCBHcmFwaGljcyIgY2FsbCBpcyBzdXBwb3J0ZWQsIHRoZSBtb2RpZmllZA0KPiArICAgIC8vIHNl dHRpbmdzIGZsYWcgbXVzdCBiZSBwcm9ncmFtbWVkIHBlciB0aGUgc3BlY2lmaWNhdGlvbi4gIFRo aXMgbWVhbnMNCj4gKyAgICAvLyB0aGF0IHRoZSBmbGFnIG11c3QgYmUgc2V0IHRvIGluZGljYXRl IHRoYXQgc3lzdGVtIEJJT1MgcmVxdWVzdHMNCj4gKyAgICAvLyB0aGVzZSBzZXR0aW5ncy4gIE9u Y2UgIlNldCBJbnRlcm5hbCBHcmFwaGljcyIgaXMgY2FsbGVkLCB0aGUNCj4gKyAgICAvLyAgbW9k aWZpZWQgc2V0dGluZ3MgZmxhZyBtdXN0IGJlIGNsZWFyZWQgb24gYWxsIHN1YnNlcXVlbnQgY2Fs bHMgdG8NCj4gKyAgICAvLyB0aGlzIGZ1bmN0aW9uLg0KPiArDQo+ICsgICAgLy8gUmVwb3J0IHRo ZSBncmFwaGljcyBmcmVxdWVuY3kgYmFzZWQgb24NCj4gRElTUExBWV9DTE9DS19GUkVRVUVOQ1lf RU5DT0RJTkcgW01NQURSKzB4MjBDOF0NCj4gKw0KPiArICAgIE9yKFNoaWZ0TGVmdChEZXJlZm9m KEluZGV4KENEQ1QsIFxfU0IuUENJMC5HRlgwLk1DSEsuRENGRSkpLA0KPiAyMSksUEFSTSwgUEFS TSkNCj4gKw0KPiArICAgIFN0b3JlKDEsIEdFU0YpICAgICAgICAgICAgICAgICAgLy8gU2V0IHRo ZSBtb2RpZmllZCBzZXR0aW5ncyBmbGFnDQo+ICsgICAgUmV0dXJuKFNVQ0MpDQo+ICsgIH0NCj4g Kw0KPiArICAvLyBTcHJlYWQgc3BlY3RydW0gY2xvY2tzOiBTdWItZnVuY3Rpb24gMTANCj4gKw0K PiArICBJZiAoTEVxdWFsKEdFU0YsIDEwKSkNCj4gKyAgew0KPiArDQo+ICsgICAgU3RvcmUoMCwg UEFSTSkgICAgICAgICAgICAgICAgICAvLyBBc3N1bWUgU1NDIGlzIGRpc2FibGVkDQo+ICsNCj4g KyAgICBJZihJU1NDKQ0KPiArICAgIHsNCj4gKyAgICAgIE9yKFBBUk0sIDMsIFBBUk0pICAgICAg IC8vIElmIFNTQyBlbmFibGVkLCByZXR1cm4gU1NDMStFbmFibGVkDQo+ICsgICAgfQ0KPiArDQo+ ICsgICAgU3RvcmUoMCwgR0VTRikgICAgICAgICAgICAgICAgICAvLyBTZXQgdGhlIG1vZGlmaWVk IHNldHRpbmdzIGZsYWcNCj4gKyAgICBSZXR1cm4oU1VDQykgICAgICAgICAgICAgICAgICAgIC8v IFN1Y2Nlc3MNCj4gKyAgfQ0KPiArDQo+ICsNCj4gKyAgLy8gQSBjYWxsIHRvIGEgcmVzZXJ2ZWQg IkdldCBCSU9TIGRhdGEiIGZ1bmN0aW9uIHdhcyByZWNlaXZlZC4NCj4gKw0KPiArICBTdG9yZSha ZXJvLCBHRVNGKSAgICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBleGl0IHBhcmFtZXRl cg0KPiArICBSZXR1cm4oQ1JJVCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVk LCAiQ3JpdGljYWwgZmFpbHVyZSINCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSWdkT01PQkYuQVNMDQo+IGIv U2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9JZ2RPTU9C Ri5BU0wNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTE3ZTMy NjhkNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJl ZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSWdkT01PQkYuQVNMDQo+IEBAIC0wLDAgKzEsNDg1IEBA DQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5h bWU6DQo+ICsNCj4gKyAgSWdkT01PQkYuQVNMDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsg IElHRCBPcFJlZ2lvbi9Tb2Z0d2FyZSBTQ0kgUmVmZXJlbmNlIENvZGUgZm9yIHRoZSBCYXl0cmFp bCBGYW1pbHkuDQo+ICsgIFRoaXMgZmlsZSBjb250YWlucyBBU0wgY29kZSB3aXRoIHRoZSBwdXJw b3NlIG9mIGhhbmRsaW5nIGV2ZW50cw0KPiArICBpLmUuIGhvdGtleXMgYW5kIG90aGVyIHN5c3Rl bSBpbnRlcnJ1cHRzLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0KPiArLy8gTm90ZXM6DQo+ICsv LyAxLiBUaGUgZm9sbG93aW5nIHJvdXRpbmVzIGFyZSB0byBiZSBjYWxsZWQgZnJvbSB0aGUgYXBw cm9wcmlhdGUgZXZlbnQNCj4gKy8vICAgIGhhbmRsZXJzLg0KPiArLy8gMi4gVGhpcyBjb2RlIGNh bm5vdCBjb21wcmVoZW5kIHRoZSBleGFjdCBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgT0VNJ3MNCj4g QklPUy4NCj4gKy8vICAgIFRoZXJlZm9yZSwgYW4gT0VNIG11c3QgY2FsbCB0aGVzZSBtZXRob2Rz IGZyb20gdGhlIGV4aXN0aW5nIGV2ZW50DQo+ICsvLyAgICBoYW5kbGVyIGluZnJhc3RydWN0dXJl LiAgRGV0YWlscyBvbiB3aGVuL3doeSB0byBjYWxsIGVhY2ggbWV0aG9kIGlzDQo+ICsvLyAgICBp bmNsdWRlZCBpbiB0aGUgbWV0aG9kIGhlYWRlciB1bmRlciB0aGUgInVzYWdlIiBzZWN0aW9uLg0K PiArDQo+ICsNCj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqOw0KPiArOyogQUNQSSBOb3RpZmljYXRp b24gTWV0aG9kcw0KPiArOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKiovDQo+ICsNCj4gKw0KPiArLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAq KioqKioqKioqKioqKio7DQo+ICs7Kg0KPiArOyogTmFtZTogICAgICAgIFBEUkQNCj4gKzsqDQo+ ICs7KiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgdGhlIGdyYXBoaWNzIGRyaXZlciBpcyByZWFkeSB0 byBwcm9jZXNzDQo+ICs7KiAgICAgICAgICAgICAgbm90aWZpY2F0aW9ucyBhbmQgdmlkZW8gZXh0 ZW5zaW9ucy4NCj4gKzsqDQo+ICs7KiBVc2FnZTogICAgICAgVGhpcyBtZXRob2QgaXMgdG8gYmUg Y2FsbGVkIHByaW9yIHRvIHBlcmZvcm1pbmcgYW55DQo+ICs7KiAgICAgICAgICAgICAgbm90aWZp Y2F0aW9ucyBvciBoYW5kbGluZyB2aWRlbyBleHRlbnNpb25zLg0KPiArOyogICAgICAgICAgICAg IEV4OiBJZiAoUERSRCgpKSB7UmV0dXJuIChGQUlMKX0NCj4gKzsqDQo+ICs7KiBJbnB1dDogICAg ICAgTm9uZQ0KPiArOyoNCj4gKzsqIE91dHB1dDogICAgICBOb25lDQo+ICs7Kg0KPiArOyogUmVm ZXJlbmNlczogIERSRFkgKERyaXZlciByZWFkeSBzdGF0dXMpLCBBU0xQIChEcml2ZXIgcmVjb21t ZW5kZWQNCj4gKzsqICAgICAgICAgICAgICBzbGVlcCB0aW1lb3V0IHZhbHVlKS4NCj4gKzsqDQo+ ICs7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqDQo+ICoqKioqKioqKioqKioqKi8NCj4gKw0KPiArTWV0aG9kKFBEUkQpDQo+ICt7DQo+ICsg IElmKExOb3QoRFJEWSkpDQo+ICsgIHsNCj4gKw0KPiArICAgIC8vIFNsZWVwIGZvciBBU0xQIG1p bGxpc2Vjb25kcyBpZiB0aGUgZHJpdmVyIGlzIG5vdCByZWFkeS4NCj4gKw0KPiArICAgIFNsZWVw KEFTTFApDQo+ICsgIH0NCj4gKw0KPiArICAvLyBJZiBEUkRZIGlzIGNsZWFyLCB0aGUgZHJpdmVy IGlzIG5vdCByZWFkeS4gIElmIHRoZSByZXR1cm4gdmFsdWUgaXMNCj4gKyAgLy8gIT0wLCBkbyBu b3QgcGVyZm9ybSBhbnkgbm90aWZpY2F0aW9ucyBvciB2aWRlbyBleHRlbnNpb24gaGFuZGxpbmcu DQo+ICsNCj4gKyAgUmV0dXJuKExOb3QoRFJEWSkpDQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAq KioqKioqKioqKioqKio7DQo+ICs7Kg0KPiArOyogTmFtZTogICAgICAgIFBTVFMNCj4gKzsqDQo+ ICs7KiBEZXNjcmlwdGlvbjogQ2hlY2sgaWYgdGhlIGdyYXBoaWNzIGRyaXZlciBoYXMgY29tcGxl dGVkIHRoZSBwcmV2aW91cw0KPiArOyogICAgICAgICAgICAgICJub3RpZnkiIGNvbW1hbmQuDQo+ ICs7Kg0KPiArOyogVXNhZ2U6ICAgICAgIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBiZWZvcmUgZXZl cnkgIm5vdGlmeSIgY29tbWFuZC4gIEENCj4gKzsqICAgICAgICAgICAgICAibm90aWZ5IiBzaG91 bGQgb25seSBiZSBzZXQgaWYgdGhlIGRyaXZlciBoYXMgY29tcGxldGVkIHRoZQ0KPiArOyogICAg ICAgICAgICAgIHByZXZpb3VzIGNvbW1hbmQuICBFbHNlLCBpZ25vcmUgdGhlIGV2ZW50IGFuZCBl eGl0IHRoZSBwYXJlbnQNCj4gKzsqICAgICAgICAgICAgICBtZXRob2QuDQo+ICs7KiAgICAgICAg ICAgICAgRXg6IElmIChQU1RTKCkpIHtSZXR1cm4gKEZBSUwpfQ0KPiArOyoNCj4gKzsqIElucHV0 OiAgICAgICBOb25lDQo+ICs7Kg0KPiArOyogT3V0cHV0OiAgICAgIE5vbmUNCj4gKzsqDQo+ICs7 KiBSZWZlcmVuY2VzOiAgQ1NUUyAoTm90aWZpY2F0aW9uIHN0YXR1cyksIEFTTFAgKERyaXZlciBy ZWNvbW1lbmRlZCBzbGVlcA0KPiArOyogICAgICAgICAgICAgIHRpbWVvdXQgdmFsdWUpLg0KPiAr OyoNCj4gKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioNCj4gKioqKioqKioqKioqKioqLw0KPiArDQo+ICtNZXRob2QoUFNUUykNCj4gK3sN Cj4gKyAgSWYoTEdyZWF0ZXIoQ1NUUywgMikpDQo+ICsgIHsNCj4gKyAgICAvLyBTbGVlcCBmb3Ig QVNMUCBtaWxsaXNlY29uZHMgaWYgdGhlIHN0YXR1cyBpcyBub3QgInN1Y2Nlc3MsDQo+ICsgICAg Ly8gZmFpbHVyZSwgb3IgcGVuZGluZyINCj4gKyAgICAvLw0KPiArICAgIFNsZWVwKEFTTFApDQo+ ICsgIH0NCj4gKw0KPiArICBSZXR1cm4oTEVxdWFsKENTVFMsIDMpKSAgICAgICAgIC8vIFJldHVy biBUcnVlIGlmIHN0aWxsIERpc3BhdGNoZWQNCj4gK30NCj4gKw0KPiArDQo+ICsvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioq KioqKioqKioqKjsNCj4gKzsqDQo+ICs7KiBOYW1lOiAgICAgICAgR05PVA0KPiArOyoNCj4gKzsq IERlc2NyaXB0aW9uOiBDYWxsIHRoZSBhcHByb3ByaWF0ZSBtZXRob2RzIHRvIHF1ZXJ5IHRoZSBn cmFwaGljcyBkcml2ZXINCj4gKzsqICAgICAgICAgICAgICBzdGF0dXMuICBJZiBhbGwgbWV0aG9k cyByZXR1cm4gc3VjY2VzcywgZG8gYSBub3RpZmljYXRpb24gb2YNCj4gKzsqICAgICAgICAgICAg ICB0aGUgZ3JhcGhpY3MgZGV2aWNlLg0KPiArOyoNCj4gKzsqIFVzYWdlOiAgICAgICBUaGlzIG1l dGhvZCBpcyB0byBiZSBjYWxsZWQgd2hlbiBhIGdyYXBoaWNzIGRldmljZQ0KPiArOyogICAgICAg ICAgICAgIG5vdGlmaWNhdGlvbiBpcyByZXF1aXJlZCAoZGlzcGxheSBzd2l0Y2ggaG90a2V5LCBl dGMpLg0KPiArOyoNCj4gKzsqIElucHV0OiAgICAgICBBcmcwID0gQ3VycmVudCBldmVudCB0eXBl Og0KPiArOyogICAgICAgICAgICAgICAgICAgICAgMSA9IGRpc3BsYXkgc3dpdGNoDQo+ICs7KiAg ICAgICAgICAgICAgICAgICAgICAyID0gbGlkDQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAz ID0gZG9jaw0KPiArOyogICAgICAgICAgICAgIEFyZzEgPSBOb3RpZmljYXRpb24gdHlwZToNCj4g KzsqICAgICAgICAgICAgICAgICAgICAgIDAgPSBSZS1lbnVtZXJhdGlvbg0KPiArOyogICAgICAg ICAgICAgICAgICAgICAgMHg4MCA9IERpc3BsYXkgc3dpdGNoDQo+ICs7Kg0KPiArOyogT3V0cHV0 OiAgICAgIFJldHVybnMgMCA9IHN1Y2Nlc3MsIDEgPSBmYWlsdXJlDQo+ICs7Kg0KPiArOyogUmVm ZXJlbmNlczogIFBEUkQgYW5kIFBTVFMgbWV0aG9kcy4gIE9TWVMgKE9TIHZlcnNpb24pDQo+ICs7 Kg0KPiArOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKg0KPiAqKioqKioqKioqKioqKiovDQo+ICsNCj4gK01ldGhvZChHTk9ULCAyKQ0KPiAr ew0KPiArICAvLyBDaGVjayBmb3IgMS4gRHJpdmVyIGxvYWRlZCwgMi4gRHJpdmVyIHJlYWR5Lg0K PiArICAvLyBJZiBhbnkgb2YgdGhlc2UgY2FzZXMgaXMgbm90IG1ldCwgc2tpcCB0aGlzIGV2ZW50 IGFuZCByZXR1cm4gZmFpbHVyZS4NCj4gKyAgLy8NCj4gKyAgSWYoUERSRCgpKQ0KPiArICB7DQo+ ICsgICAgUmV0dXJuKDB4MSkgICAgICAgICAgICAgLy8gUmV0dXJuIGZhaWx1cmUgaWYgZHJpdmVy IG5vdCBsb2FkZWQuDQo+ICsgIH0NCj4gKw0KPiArICBTdG9yZShBcmcwLCBDRVZUKSAgICAgICAg ICAgICAgIC8vIFNldCB1cCB0aGUgY3VycmVudCBldmVudCB2YWx1ZQ0KPiArICBTdG9yZSgzLCBD U1RTKSAgICAgICAgICAgICAgICAgIC8vIENTVFM9QklPUyBkaXNwYXRjaGVkIGFuIGV2ZW50DQo+ ICsNCj4gKyAgSWYoTEFuZChMRXF1YWwoQ0hQRCwgMCksIExFcXVhbChBcmcxLCAwKSkpICAgICAg Ly8gRG8gbm90IHJlLWVudW0gaWYgZHJpdmVyDQo+IHN1cHBvcnRzIGhvdHBsdWcNCj4gKyAgew0K PiArICAgIElmKExPcihMR3JlYXRlcihPU1lTLCAyMDAwKSwgTExlc3MoT1NZUywgMjAwNikpKQ0K PiArICAgIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBXSU5YUCByZXF1aXJlcyB0aGF0IHRo ZSBlbnRpcmUgUENJIEJyaWRnZSBiZSByZS1lbnVtZXJhdGVkLg0KPiArICAgICAgLy8NCj4gKyAg ICAgIE5vdGlmeShcX1NCLlBDSTAsIEFyZzEpDQo+ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAg ICB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gUmUtZW51bWVyYXRlIHRoZSBHcmFwaGljcyBE ZXZpY2UgZm9yIG5vbi1YUCBvcGVyYXRpbmcgc3lzdGVtcy4NCj4gKyAgICAgIC8vDQo+ICsgICAg ICBOb3RpZnkoXF9TQi5QQ0kwLkdGWDAsIEFyZzEpDQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4g KyAgTm90aWZ5KFxfU0IuUENJMC5HRlgwLDB4ODApDQo+ICsNCj4gKw0KPiArICBSZXR1cm4oMHgw KSAgICAgICAgICAgICAgICAgICAgIC8vIFJldHVybiBzdWNjZXNzDQo+ICt9DQo+ICsNCj4gKw0K PiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKg0KPiAqKioqKioqKioqKioqKio7DQo+ICs7Kg0KPiArOyogTmFtZTogICAgICAgIEdIRFMN Cj4gKzsqDQo+ICs7KiBEZXNjcmlwdGlvbjogSGFuZGxlIGEgaG90a2V5IGRpc3BsYXkgc3dpdGNo aW5nIGV2ZW50IChwZXJmb3JtcyBhDQo+ICs7KiAgICAgICAgICAgICAgTm90aWZ5KEdGWDAsIDAp Lg0KPiArOyoNCj4gKzsqIFVzYWdlOiAgICAgICBUaGlzIG1ldGhvZCBtdXN0IGJlIGNhbGxlZCB3 aGVuIGEgaG90a2V5IGV2ZW50IG9jY3VycyBhbmQNCj4gdGhlDQo+ICs7KiAgICAgICAgICAgICAg cHVycG9zZSBvZiB0aGF0IGhvdGtleSBpcyB0byBkbyBhIGRpc3BsYXkgc3dpdGNoLg0KPiArOyoN Cj4gKzsqIElucHV0OiAgICAgICBBcmcwID0gVG9nZ2xlIHRhYmxlIG51bWJlci4NCj4gKzsqDQo+ ICs7KiBPdXRwdXQ6ICAgICAgUmV0dXJucyAwID0gc3VjY2VzcywgMSA9IGZhaWx1cmUuDQo+ICs7 KiAgICAgICAgICAgICAgQ0VWVCBhbmQgVElEWCBhcmUgaW5kaXJlY3Qgb3V0cHV0cy4NCj4gKzsq DQo+ICs7KiBSZWZlcmVuY2VzOiAgVElEWCwgR05PVA0KPiArOyoNCj4gKzsqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioq KioqKioqLw0KPiArDQo+ICtNZXRob2QoR0hEUywgMSkNCj4gK3sNCj4gKyAgU3RvcmUoQXJnMCwg VElEWCkgICAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgdGFibGUgbnVtYmVyDQo+ICsNCj4gKyAg Ly8gQ2FsbCBHTk9UIGZvciBDRVZUID0gMSA9IGhvdGtleSwgbm90aWZ5IHZhbHVlID0gMA0KPiAr DQo+ICsgIFJldHVybihHTk9UKDEsIDApKSAgICAgICAgICAgICAgLy8gUmV0dXJuIHN0YXRzIGZy b20gR05PVA0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqOw0KPiArOyoN Cj4gKzsqIE5hbWU6ICAgICAgICBHTElEDQo+ICs7Kg0KPiArOyogRGVzY3JpcHRpb246IEhhbmRs ZSBhIGxpZCBldmVudCAocGVyZm9ybXMgdGhlIE5vdGlmeShHRlgwLCAwKSwgYnV0IG5vdCB0aGUN Cj4gKzsqICAgICAgICAgICAgICBsaWQgbm90aWZ5KS4NCj4gKzsqDQo+ICs7KiBVc2FnZTogICAg ICAgVGhpcyBtZXRob2QgbXVzdCBiZSBjYWxsZWQgd2hlbiBhIGxpZCBldmVudCBvY2N1cnMuICBB DQo+ICs7KiAgICAgICAgICAgICAgTm90aWZ5KExJRDAsIDB4ODApIG11c3QgZm9sbG93IHRoZSBj YWxsIHRvIHRoaXMgbWV0aG9kLg0KPiArOyoNCj4gKzsqIElucHV0OiAgICAgICBBcmcwID0gTGlk IHN0YXRlOg0KPiArOyogICAgICAgICAgICAgICAgICAgICAgMCA9IEFsbCBjbG9zZWQNCj4gKzsq ICAgICAgICAgICAgICAgICAgICAgIDEgPSBpbnRlcm5hbCBMRlAgbGlkIG9wZW4NCj4gKzsqICAg ICAgICAgICAgICAgICAgICAgIDIgPSBleHRlcm5hbCBsaWQgb3Blbg0KPiArOyogICAgICAgICAg ICAgICAgICAgICAgMyA9IGJvdGggZXh0ZXJuYWwgYW5kIGludGVybmFsIG9wZW4NCj4gKzsqDQo+ ICs7KiBPdXRwdXQ6ICAgICAgUmV0dXJucyAwPXN1Y2Nlc3MsIDE9ZmFpbHVyZS4NCj4gKzsqICAg ICAgICAgICAgICBDTElEIGFuZCBDRVZUIGFyZSBpbmRpcmVjdCBvdXRwdXRzLg0KPiArOyoNCj4g KzsqIFJlZmVyZW5jZXM6ICBDTElELCBHTk9UDQo+ICs7Kg0KPiArOyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioq KiovDQo+ICsNCj4gK01ldGhvZChHTElELCAxKQ0KPiArew0KPiArICBTdG9yZShBcmcwLCBDTElE KSAgICAgICAgICAgICAgIC8vIFN0b3JlIHRoZSBjdXJyZW50IGxpZCBzdGF0ZQ0KPiArDQo+ICsg IC8vIENhbGwgR05PVCBmb3IgQ0VWVD0yPUxpZCwgbm90aWZ5IHZhbHVlID0gMA0KPiArDQo+ICsg IFJldHVybihHTk9UKDIsIDApKSAgICAgICAgICAgICAgLy8gUmV0dXJuIHN0YXRzIGZyb20gR05P VA0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqOw0KPiArOyoNCj4gKzsq IE5hbWU6ICAgICAgICBHRENLDQo+ICs7Kg0KPiArOyogRGVzY3JpcHRpb246IEhhbmRsZSBhIGRv Y2tpbmcgZXZlbnQgYnkgdXBkYXRpbmcgdGhlIGN1cnJlbnQgZG9ja2luZw0KPiBzdGF0dXMNCj4g KzsqICAgICAgICAgICAgICBhbmQgZG9pbmcgYSBub3RpZmljYXRpb24uDQo+ICs7Kg0KPiArOyog VXNhZ2U6ICAgICAgIFRoaXMgbWV0aG9kIG11c3QgYmUgY2FsbGVkIHdoZW4gYSBkb2NraW5nIGV2 ZW50IG9jY3Vycy4NCj4gKzsqDQo+ICs7KiBJbnB1dDogICAgICAgQXJnMCA9IERvY2tpbmcgc3Rh dGU6DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAwID0gVW5kb2NrZWQNCj4gKzsqICAgICAg ICAgICAgICAgICAgICAgIDEgPSBEb2NrZWQNCj4gKzsqDQo+ICs7KiBPdXRwdXQ6ICAgICAgUmV0 dXJucyAwPXN1Y2Nlc3MsIDE9ZmFpbHVyZS4NCj4gKzsqICAgICAgICAgICAgICBDRENLIGFuZCBD RVZUIGFyZSBpbmRpcmVjdCBvdXRwdXRzLg0KPiArOyoNCj4gKzsqIFJlZmVyZW5jZXM6ICBDRENL LCBHTk9UDQo+ICs7Kg0KPiArOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKiovDQo+ICsNCj4gK01ldGhvZChH RENLLCAxKQ0KPiArew0KPiArICBTdG9yZShBcmcwLCBDRENLKSAgICAgICAgICAgICAgIC8vIFN0 b3JlIHRoZSBjdXJyZW50IGRvY2sgc3RhdGUNCj4gKw0KPiArICAvLyBDYWxsIEdOT1QgZm9yIENF VlQ9ND1Eb2NrLCBub3RpZnkgdmFsdWUgPSAwDQo+ICsNCj4gKyAgUmV0dXJuKEdOT1QoNCwgMCkp ICAgICAgICAgICAgICAvLyBSZXR1cm4gc3RhdHMgZnJvbSBHTk9UDQo+ICt9DQo+ICsNCj4gKw0K PiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKg0KPiAqKioqKioqKioqKioqKio7DQo+ICs7KiBBU0xFIEludGVycnVwdCBNZXRob2RzDQo+ ICs7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqDQo+ICoqKioqKioqKioqKioqKi8NCj4gKw0KPiArDQo+ICsvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioq KjsNCj4gKzsqDQo+ICs7KiBOYW1lOiAgICAgICAgUEFSRA0KPiArOyoNCj4gKzsqIERlc2NyaXB0 aW9uOiBDaGVjayBpZiB0aGUgZHJpdmVyIGlzIHJlYWR5IHRvIGhhbmRsZSBBU0xFIGludGVycnVw dHMNCj4gKzsqICAgICAgICAgICAgICBnZW5lcmF0ZSBieSB0aGUgc3lzdGVtIEJJT1MuDQo+ICs7 Kg0KPiArOyogVXNhZ2U6ICAgICAgIFRoaXMgbWV0aG9kIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBn ZW5lcmF0aW5nIGVhY2ggQVNMRQ0KPiArOyogICAgICAgICAgICAgIGludGVycnVwdC4NCj4gKzsq DQo+ICs7KiBJbnB1dDogICAgICAgTm9uZQ0KPiArOyoNCj4gKzsqIE91dHB1dDogICAgICBSZXR1 cm5zIDAgPSBzdWNjZXNzLCAxID0gZmFpbHVyZS4NCj4gKzsqDQo+ICs7KiBSZWZlcmVuY2VzOiAg QVJEWSAoRHJpdmVyIHJlYWRpbmVzcyksIEFTTFAgKERyaXZlciByZWNvbW1lbmRlZCBzbGVlcA0K PiArOyogICAgICAgICAgICAgIHRpbWVvdXQgdmFsdWUpDQo+ICs7Kg0KPiArOyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioq KioqKioqKiovDQo+ICsNCj4gK01ldGhvZChQQVJEKQ0KPiArew0KPiArICBJZihMTm90KEFSRFkp KQ0KPiArICB7DQo+ICsNCj4gKyAgICAvLyBTbGVlcCBmb3IgQVNMUCBtaWxsaXNlY29uZHMgaWYg dGhlIGRyaXZlciBpcyBub3QgcmVhZHkuDQo+ICsNCj4gKyAgICBTbGVlcChBU0xQKQ0KPiArICB9 DQo+ICsNCj4gKyAgLy8gSWYgQVJEWSBpcyBjbGVhciwgdGhlIGRyaXZlciBpcyBub3QgcmVhZHku ICBJZiB0aGUgcmV0dXJuIHZhbHVlIGlzDQo+ICsgIC8vICE9MCwgZG8gbm90IGdlbmVyYXRlIHRo ZSBBU0xFIGludGVycnVwdC4NCj4gKw0KPiArICBSZXR1cm4oTE5vdChBUkRZKSkNCj4gK30NCj4g Kw0KPiArDQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKjsNCj4gKzsqDQo+ICs7KiBOYW1lOiAgICAg ICAgQUlOVA0KPiArOyoNCj4gKzsqIERlc2NyaXB0aW9uOiBDYWxsIHRoZSBhcHByb3ByaWF0ZSBt ZXRob2RzIHRvIGdlbmVyYXRlIGFuIEFTTEUgaW50ZXJydXB0Lg0KPiArOyogICAgICAgICAgICAg IFRoaXMgcHJvY2VzcyBpbmNsdWRlcyBlbnN1cmluZyB0aGUgZ3JhcGhpY3MgZHJpdmVyIGlzIHJl YWR5DQo+ICs7KiAgICAgICAgICAgICAgdG8gcHJvY2VzcyB0aGUgaW50ZXJydXB0LCBlbnN1cmlu ZyB0aGUgZHJpdmVyIHN1cHBvcnRzIHRoZQ0KPiArOyogICAgICAgICAgICAgIGludGVycnVwdCBv ZiBpbnRlcmVzdCwgYW5kIHBhc3NpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50DQo+ICs7 KiAgICAgICAgICAgICAgdG8gdGhlIGdyYXBoaWNzIGRyaXZlci4NCj4gKzsqDQo+ICs7KiBVc2Fn ZTogICAgICAgVGhpcyBtZXRob2QgbXVzdCBjYWxsZWQgdG8gZ2VuZXJhdGUgYW4gQVNMRSBpbnRl cnJ1cHQuDQo+ICs7Kg0KPiArOyogSW5wdXQ6ICAgICAgIEFyZzAgPSBBU0xFIGNvbW1hbmQgZnVu Y3Rpb24gY29kZToNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgIDAgPSBTZXQgQUxTIGlsbHVt aW5hbmNlDQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAxID0gU2V0IGJhY2tsaWdodCBicmln aHRuZXNzDQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAyID0gRG8gUGFuZWwgRml0dGluZw0K PiArOyogICAgICAgICAgICAgIEFyZzEgPSBJZiBBcmcwID0gMCwgY3VycmVudCBBTFMgcmVhZGlu ZzoNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgIDAgPSBSZWFkaW5nIGJlbG93IHNlbnNvciBy YW5nZQ0KPiArOyogICAgICAgICAgICAgICAgICAgICAgMS0weEZGRkUgPSBDdXJyZW50IHNlbnNv ciByZWFkaW5nDQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAweEZGRkYgPSBSZWFkaW5nIGFi b3ZlIHNlbnNvciByYW5nZQ0KPiArOyogICAgICAgICAgICAgIEFyZzEgPSBJZiBBcmcwID0gMSwg cmVxdWVzdGVkIGJhY2tsaWdodCBwZXJjZW50YWdlDQo+ICs7Kg0KPiArOyogT3V0cHV0OiAgICAg IFJldHVybnMgMCA9IHN1Y2Nlc3MsIDEgPSBmYWlsdXJlDQo+ICs7Kg0KPiArOyogUmVmZXJlbmNl czogIFBBUkQgbWV0aG9kLg0KPiArOyoNCj4gKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqLw0KPiArDQo+ ICtNZXRob2QoQUlOVCwgMikNCj4gK3sNCj4gKw0KPiArICAvLyBSZXR1cm4gZmFpbHVyZSBpZiB0 aGUgcmVxdWVzdGVkIGZlYXR1cmUgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUNCj4gKyAgLy8gZHJp dmVyLg0KPiArDQo+ICsgIElmKExOb3QoQW5kKFRDSEUsIFNoaWZ0TGVmdCgxLCBBcmcwKSkpKQ0K PiArICB7DQo+ICsgICAgUmV0dXJuKDB4MSkNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFJldHVybiBm YWlsdXJlIGlmIHRoZSBkcml2ZXIgaXMgbm90IHJlYWR5IHRvIGhhbmRsZSBhbiBBU0xFDQo+ICsg IC8vIGludGVycnVwdC4NCj4gKw0KPiArICBJZihQQVJEKCkpDQo+ICsgIHsNCj4gKyAgICBSZXR1 cm4oMHgxKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRXZhbHVhdGUgdGhlIGZpcnN0IGFyZ3VtZW50 IChQYW5lbCBmaXR0aW5nLCBiYWNrbGlnaHQgYnJpZ2h0bmVzcywgb3IgQUxTKS4NCj4gKw0KPiAr ICBJZihMRXF1YWwoQXJnMCwgMikpICAgICAgICAgICAgIC8vIEFyZzAgPSAyLCBzbyByZXF1ZXN0 IGEgcGFuZWwgZml0dGluZyBtb2RlDQo+IGNoYW5nZS4NCj4gKyAgew0KPiArICAgIElmKENQRk0p ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIGN1cnJlbnQgbW9k ZSBmaWVsZCBpcyBub24temVybyB1c2UgaXQuDQo+ICsgICAgew0KPiArICAgICAgQW5kKENQRk0s IDB4MEYsIExvY2FsMCkgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSB2YXJpYWJsZXMgd2l0aG91 dCByZXNlcnZlZA0KPiArICAgICAgQW5kKEVQRk0sIDB4MEYsIExvY2FsMSkgICAgICAgICAgICAg ICAgIC8vIG9yIHZhbGlkIGJpdHMuDQo+ICsNCj4gKyAgICAgIElmKExFcXVhbChMb2NhbDAsIDEp KSAgICAgICAgICAgICAgICAgICAvLyBJZiBjdXJyZW50IG1vZGUgaXMgY2VudGVyZWQsDQo+ICsg ICAgICB7DQo+ICsgICAgICAgIElmKEFuZChMb2NhbDEsIDYpKSAgICAgICAgICAgICAgLy8gYW5k IGlmIHN0cmV0Y2hlZCBpcyBlbmFibGVkLA0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgU3Rv cmUoNiwgUEZJVCkgICAgICAgICAgLy8gcmVxdWVzdCBzdHJldGNoZWQuDQo+ICsgICAgICAgIH0N Cj4gKyAgICAgICAgRWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2Us DQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBJZihBbmQoTG9jYWwxLCA4KSkgICAgICAvLyBp ZiBhc3BlY3QgcmF0aW8gaXMgZW5hYmxlZCwNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAg ICBTdG9yZSg4LCBQRklUKSAgLy8gcmVxdWVzdCBhc3BlY3QgcmF0aW8uDQo+ICsgICAgICAgICAg fQ0KPiArICAgICAgICAgIEVsc2UgICAgICAgICAgICAgICAgICAgIC8vIE9ubHkgY2VudGVyZWQg bW9kZSBpcyBlbmFibGVkDQo+ICsgICAgICAgICAgew0KPiArICAgICAgICAgICAgU3RvcmUoMSwg UEZJVCkgIC8vIHNvIHJlcXVlc3QgY2VudGVyZWQuIChObyBjaGFuZ2UuKQ0KPiArICAgICAgICAg IH0NCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgSWYoTEVxdWFsKExvY2FsMCwg NikpICAgICAgICAgICAgICAgICAgIC8vIElmIGN1cnJlbnQgbW9kZSBpcyBzdHJldGNoZWQsDQo+ ICsgICAgICB7DQo+ICsgICAgICAgIElmKEFuZChMb2NhbDEsIDgpKSAgICAgICAgICAgICAgLy8g YW5kIGlmIGFzcGVjdCByYXRpbyBpcyBlbmFibGVkLA0KPiArICAgICAgICB7DQo+ICsgICAgICAg ICAgU3RvcmUoOCwgUEZJVCkgICAgICAgICAgLy8gcmVxdWVzdCBhc3BlY3QgcmF0aW8uDQo+ICsg ICAgICAgIH0NCj4gKyAgICAgICAgRWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBP dGhlcndpc2UsDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBJZihBbmQoTG9jYWwxLCAxKSkg ICAgICAvLyBpZiBjZW50ZXJlZCBpcyBlbmFibGVkLA0KPiArICAgICAgICAgIHsNCj4gKyAgICAg ICAgICAgIFN0b3JlKDEsIFBGSVQpICAvLyByZXF1ZXN0IGNlbnRlcmVkLg0KPiArICAgICAgICAg IH0NCj4gKyAgICAgICAgICBFbHNlICAgICAgICAgICAgICAgICAgICAvLyBPbmx5IHN0cmV0Y2hl ZCBtb2RlIGlzIGVuYWJsZWQNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICBTdG9yZSg2 LCBQRklUKSAgLy8gc28gcmVxdWVzdCBzdHJldGNoZWQuIChObyBjaGFuZ2UuKQ0KPiArICAgICAg ICAgIH0NCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgSWYoTEVxdWFsKExvY2Fs MCwgOCkpICAgICAgICAgICAgICAgICAgIC8vIElmIGN1cnJlbnQgbW9kZSBpcyBhc3BlY3QgcmF0 aW8sDQo+ICsgICAgICB7DQo+ICsgICAgICAgIElmKEFuZChMb2NhbDEsIDEpKSAgICAgICAgICAg ICAgLy8gYW5kIGlmIGNlbnRlcmVkIGlzIGVuYWJsZWQsDQo+ICsgICAgICAgIHsNCj4gKyAgICAg ICAgICBTdG9yZSgxLCBQRklUKSAgICAgICAgICAvLyByZXF1ZXN0IGNlbnRlcmVkLg0KPiArICAg ICAgICB9DQo+ICsgICAgICAgIEVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3Ro ZXJ3aXNlLA0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgSWYoQW5kKExvY2FsMSwgNikpICAg ICAgLy8gaWYgc3RyZXRjaGVkIGlzIGVuYWJsZWQsDQo+ICsgICAgICAgICAgew0KPiArICAgICAg ICAgICAgU3RvcmUoNiwgUEZJVCkgIC8vIHJlcXVlc3Qgc3RyZXRjaGVkLg0KPiArICAgICAgICAg IH0NCj4gKyAgICAgICAgICBFbHNlICAgICAgICAgICAgICAgICAgICAvLyBPbmx5IGFzcGVjdCBy YXRpbyBtb2RlIGlzIGVuYWJsZWQNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICBTdG9y ZSg4LCBQRklUKSAgLy8gc28gcmVxdWVzdCBhc3BlY3QgcmF0aW8uIChObyBjaGFuZ2UuKQ0KPiAr ICAgICAgICAgIH0NCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiAr ICAgIC8vIFRoZSBmb2xsb3dpbmcgY29kZSBmb3IgcGFuZWwgZml0dGluZyAod2l0aGluIHRoZSBF bHNlIGNvbmRpdGlvbikgaXMNCj4gcmV0YWluZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGlibGl0eS4N Cj4gKw0KPiArICAgIEVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgQ0ZQTSBm aWVsZCBpcyB6ZXJvIHVzZSBQRklUIGFuZCB0b2dnbGUgdGhlDQo+ICsgICAgew0KPiArICAgICAg WG9yKFBGSVQsNyxQRklUKSAgICAgICAgLy8gbW9kZSBzZXR0aW5nIGJldHdlZW4gc3RyZXRjaGVk IGFuZCBjZW50ZXJlZA0KPiBvbmx5Lg0KPiArICAgIH0NCj4gKw0KPiArICAgIE9yKFBGSVQsMHg4 MDAwMDAwMCxQRklUKSAgICAgICAgLy8gU2V0IHRoZSB2YWxpZCBiaXQgZm9yIGFsbCBjYXNlcy4N Cj4gKw0KPiArICAgIFN0b3JlKDQsIEFTTEMpICAgICAgICAgICAgICAgICAgLy8gU3RvcmUgIlBh bmVsIGZpdHRpbmcgZXZlbnQiIHRvIEFTTENbMzE6MV0NCj4gKyAgfQ0KPiArICBFbHNlDQo+ICsg IHsNCj4gKyAgICBJZihMRXF1YWwoQXJnMCwgMSkpICAgICAgICAgICAgIC8vIEFyZzA9MSwgc28g c2V0IHRoZSBiYWNrbGlnaHQgYnJpZ2h0bmVzcy4NCj4gKyAgICB7DQo+ICsgICAgICBTdG9yZShE aXZpZGUoTXVsdGlwbHkoQXJnMSwgMjU1KSwgMTAwKSwgQkNMUCkgLy8gQ29udmVydCBmcm9tIHBl cmNlbnQgdG8NCj4gMC0yNTUuDQo+ICsNCj4gKyAgICAgIE9yKEJDTFAsIDB4ODAwMDAwMDAsIEJD TFApICAgICAgLy8gU2V0IHRoZSB2YWxpZCBiaXQuDQo+ICsNCj4gKyAgICAgIFN0b3JlKDIsIEFT TEMpICAgICAgICAgICAgICAgICAgLy8gU3RvcmUgIkJhY2tsaWdodCBjb250cm9sIGV2ZW50IiB0 byBBU0xDWzMxOjFdDQo+ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBJ ZihMRXF1YWwoQXJnMCwgMCkpICAgICAgICAgICAgIC8vIEFyZzA9MCwgc28gc2V0IHRoZSBBTFMg aWxsdW1pbmFjZQ0KPiArICAgICAgew0KPiArICAgICAgICBTdG9yZShBcmcxLCBBTFNJKQ0KPiAr DQo+ICsgICAgICAgIFN0b3JlKDEsIEFTTEMpICAgICAgICAgIC8vIFN0b3JlICJBTFMgZXZlbnQi IHRvIEFTTENbMzE6MV0NCj4gKyAgICAgIH0NCj4gKyAgICAgIEVsc2UNCj4gKyAgICAgIHsNCj4g KyAgICAgICAgUmV0dXJuKDB4MSkgLy8gVW5zdXBwb3J0ZWQgZnVuY3Rpb24NCj4gKyAgICAgIH0N Cj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBTdG9yZSgweDAxLCBBU0xFKSAgICAgICAgICAg ICAgIC8vIEdlbmVyYXRlIEFTTEUgaW50ZXJydXB0DQo+ICsgIFJldHVybigweDApICAgICAgICAg ICAgICAgICAgICAgLy8gUmV0dXJuIHN1Y2Nlc3MNCj4gK30NCj4gKw0KPiArDQo+ICsvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoq KioqKioqKioqKioqKjsNCj4gKzsqDQo+ICs7KiBOYW1lOiAgICAgICAgU0NJUA0KPiArOyoNCj4g KzsqIERlc2NyaXB0aW9uOiBDaGVja3MgdGhlIHByZXNlbmNlIG9mIHRoZSBPcFJlZ2lvbiBhbmQg U0NJDQo+ICs7Kg0KPiArOyogVXNhZ2U6ICAgICAgIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBiZWZv cmUgb3RoZXIgT3BSZWdpb24gbWV0aG9kcy4gVGhlDQo+ICs7KiAgICAgICAgICAgICAgZm9ybWVy ICJHU01JIFRydWUvRmFsc2UgaXMgbm90IGFsd2F5cyB2YWxpZC4gIFRoaXMgbWV0aG9kDQo+ICs7 KiAgICAgICAgICAgICAgY2hlY2tzIGlmIHRoZSBPcFJlZ2lvbiBWZXJzaW9uIGlzIG5vbi16ZXJv IGFuZCBpZiBub24temVybywNCj4gKzsqICAgICAgICAgICAgICAocHJlc2VudCBhbmQgcmVhZGFi bGUpIHRoZW4gY2hlY2tzIHRoZSBHU01JIGZsYWcuDQo+ICs7Kg0KPiArOyogSW5wdXQ6ICAgICAg IE5vbmUNCj4gKzsqDQo+ICs7KiBPdXRwdXQ6ICAgICAgQm9vbGVhbiBUcnVlID0gU0NJIHByZXNl bnQuDQo+ICs7Kg0KPiArOyogUmVmZXJlbmNlczogIE5vbmUNCj4gKzsqDQo+ICs7KioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioq KioqKioqKioqKi8NCj4gKw0KPiArTWV0aG9kKFNDSVApDQo+ICt7DQo+ICsgIElmKExOb3RFcXVh bChPVkVSLDApKSAgICAgICAgICAgLy8gSWYgT3BSZWdpb24gVmVyc2lvbiBub3QgMC4NCj4gKyAg ew0KPiArICAgIFJldHVybihMTm90KEdTTUkpKSAgICAgIC8vIFJldHVybiBUcnVlIGlmIFNDSS4N Cj4gKyAgfQ0KPiArDQo+ICsgIFJldHVybigwKSAgICAgICAgICAgICAgICAgICAgICAgLy8gRWxz ZSBSZXR1cm4gRmFsc2UuDQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0lnZE9TQkNCLkFTTA0KPiBiL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSWdkT1NCQ0IuQVNM DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjllMDQ4MmVmYjkN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2Rl UGtnL0FjcGlUYWJsZXNQQ0FUL0lnZE9TQkNCLkFTTA0KPiBAQCAtMCwwICsxLDI3NCBAQA0KPiAr LyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsgIElnZE9TQkNCLkFTTA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBJR0Qg T3BSZWdpb24vU29mdHdhcmUgU0NJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwgRmFt aWx5Lg0KPiArICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHN5c3RlbSBCSU9TIGNhbGwgYmFjayBm dW5jdGlvbmFsaXR5IGZvciB0aGUNCj4gKyAgT3BSZWdpb24vU29mdHdhcmUgU0NJIG1lY2hhbmlz bS4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsNCj4gK01ldGhvZCAoU0JDQiwgMCwgU2VyaWFsaXpl ZCkNCj4gK3sNCj4gKw0KPiArICAvLyBTdXBwb3J0ZWQgQ2FsbGJhY2tzOiBTdWItZnVuY3Rpb24g MA0KPiArDQo+ICsgIElmIChMRXF1YWwoR0VTRiwgMHgwKSkNCj4gKyAgew0KPiArDQo+ICsgICAg Ly88VE9ETz4gQW4gT0VNIG1heSBzdXBwb3J0IHRoZSBkcml2ZXItPlNCSU9TIHN0YXR1cyBjYWxs YmFja3MsIGJ1dA0KPiArICAgIC8vIHRoZSBzdXBwb3J0ZWQgY2FsbGJhY2tzIHZhbHVlIG11c3Qg YmUgbW9kaWZpZWQuICBUaGUgY29kZSB0aGF0IGlzDQo+ICsgICAgLy8gZXhlY3V0ZWQgdXBvbiBy ZWNlcHRpb24gb2YgdGhlIGNhbGxiYWNrcyBtdXN0IGJlIGFsc28gYmUgdXBkYXRlZA0KPiArICAg IC8vIHRvIHBlcmZvcm0gdGhlIGRlc2lyZWQgZnVuY3Rpb25hbGl0eS4NCj4gKw0KPiArICAgIFN0 b3JlKDB4MDAwMDAwMDAsIFBBUk0pICAgICAgICAgLy8gTm8gY2FsbGJhY2tzIHN1cHBvcnRlZA0K PiArDQo+ICsgICAgSWYoTEVxdWFsKFBGTFYsRk1CTCkpDQo+ICsgICAgew0KPiArICAgICAgU3Rv cmUoMHgwMDBGODdGRCwgUEFSTSkgICAgICAgICAvLyBNb2JpbGUNCj4gKyAgICB9DQo+ICsgICAg SWYoTEVxdWFsKFBGTFYsRkRUUCkpDQo+ICsgICAgew0KPiArICAgICAgU3RvcmUoMHgwMDBGODdC RCwgUEFSTSkgICAgICAgICAvLyBEZXNrdG9wDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgU3RvcmUo WmVybywgR0VTRikgICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgZXhpdCBwYXJhbWV0ZXINCj4g KyAgICBSZXR1cm4oU1VDQykgICAgICAgICAgICAgICAgICAgIC8vICJTdWNjZXNzIg0KPiArICB9 DQo+ICsNCj4gKyAgLy8gQklPUyBQT1NUIENvbXBsZXRpb246IFN1Yi1mdW5jdGlvbiAxDQo+ICsN Cj4gKyAgSWYgKExFcXVhbChHRVNGLCAxKSkNCj4gKyAgew0KPiArICAgIFN0b3JlKFplcm8sIEdF U0YpICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIGV4aXQgcGFyYW1ldGVyDQo+ICsgICAgU3Rv cmUoWmVybywgUEFSTSkNCj4gKyAgICBSZXR1cm4oU1VDQykgICAgICAgICAgICAgICAgICAgIC8v IE5vdCBzdXBwb3J0ZWQsIGJ1dCBubyBmYWlsdXJlDQo+ICsgIH0NCj4gKw0KPiArICAvLyBQcmUt SGlyZXMgU2V0IE1vZGU6IFN1Yi1mdW5jdGlvbiAzDQo+ICsNCj4gKyAgSWYgKExFcXVhbChHRVNG LCAzKSkNCj4gKyAgew0KPiArICAgIFN0b3JlKFplcm8sIEdFU0YpICAgICAgICAgICAgICAgLy8g Q2xlYXIgdGhlIGV4aXQgcGFyYW1ldGVyDQo+ICsgICAgU3RvcmUoWmVybywgUEFSTSkNCj4gKyAg ICBSZXR1cm4oU1VDQykgICAgICAgICAgICAgICAgICAgIC8vIE5vdCBzdXBwb3J0ZWQsIGJ1dCBu byBmYWlsdXJlDQo+ICsgIH0NCj4gKw0KPiArICAvLyBQb3N0LUhpcmVzIFNldCBNb2RlOiBTdWIt ZnVuY3Rpb24gNA0KPiArDQo+ICsgIElmIChMRXF1YWwoR0VTRiwgNCkpDQo+ICsgIHsNCj4gKyAg ICBTdG9yZShaZXJvLCBHRVNGKSAgICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBleGl0IHBhcmFt ZXRlcg0KPiArICAgIFN0b3JlKFplcm8sIFBBUk0pDQo+ICsgICAgUmV0dXJuKFNVQ0MpICAgICAg ICAgICAgICAgICAgICAvLyBOb3Qgc3VwcG9ydGVkLCBidXQgbm8gZmFpbHVyZQ0KPiArICB9DQo+ ICsNCj4gKyAgLy8gRGlzcGxheSBTd2l0Y2g6IFN1Yi1mdW5jdGlvbiA1DQo+ICsNCj4gKyAgSWYg KExFcXVhbChHRVNGLCA1KSkNCj4gKyAgew0KPiArICAgIFN0b3JlKFplcm8sIEdFU0YpICAgICAg ICAgICAgICAgLy8gQ2xlYXIgdGhlIGV4aXQgcGFyYW1ldGVyDQo+ICsgICAgU3RvcmUoWmVybywg UEFSTSkNCj4gKyAgICBSZXR1cm4oU1VDQykgICAgICAgICAgICAgICAgICAgIC8vIE5vdCBzdXBw b3J0ZWQsIGJ1dCBubyBmYWlsdXJlDQo+ICsgIH0NCj4gKw0KPiArICAvLyBTZXQgVFYgZm9ybWF0 OiBTdWItZnVuY3Rpb24gNg0KPiArDQo+ICsgIElmIChMRXF1YWwoR0VTRiwgNikpDQo+ICsgIHsN Cj4gKw0KPiArICAgIC8vPFRPRE8+IElmIGltcGxlbWVudGVkLCB0aGUgaW5wdXQgdmFsdWVzIG11 c3QgYmUgc2F2ZWQgaW50bw0KPiArICAgIC8vIG5vbi12b2xhdGlsZSBzdG9yYWdlIGZvciBwYXJz aW5nIGR1cmluZyB0aGUgbmV4dCBib290LiAgVGhlDQo+ICsgICAgLy8gZm9sbG93aW5nIFNhbXBs ZSBjb2RlIGlzIEludGVsIHZhbGlkYXRlZCBpbXBsZW1lbnRhdGlvbi4NCj4gKw0KPiArICAgIFN0 b3JlKEFuZChQQVJNLCAweDBGKSwgSVRWRikNCj4gKyAgICBTdG9yZShTaGlmdFJpZ2h0KEFuZChQ QVJNLCAweEYwKSwgNCksIElUVk0pDQo+ICsgICAgU3RvcmUoWmVybywgR0VTRikgICAgICAgICAg ICAgICAvLyBDbGVhciB0aGUgZXhpdCBwYXJhbWV0ZXINCj4gKyAgICBTdG9yZShaZXJvLCBQQVJN KQ0KPiArICAgIFJldHVybihTVUNDKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gQWRhcHRlciBQb3dl ciBTdGF0ZTogU3ViLWZ1bmN0aW9uIDcNCj4gKw0KPiArICBJZiAoTEVxdWFsKEdFU0YsIDcpKQ0K PiArICB7DQo+ICsNCj4gKyAgICAvLyBVcG9uIG5vdGlmaWNhdGlvbiBmcm9tIGRyaXZlciB0aGF0 IHRoZSBBZGFwdGVyIFBvd2VyIFN0YXRlID0gRDAsDQo+ICsgICAgLy8gY2hlY2sgaWYgcHJldmlv dXMgbGlkIGV2ZW50IGZhaWxlZC4gIElmIGl0IGRpZCwgcmV0cnkgdGhlIGxpZA0KPiArICAgIC8v IGV2ZW50IGhlcmUuDQo+ICsgICAgSWYoTEVxdWFsKFBBUk0sIDApKQ0KPiArICAgIHsNCj4gKyAg ICAgIFN0b3JlKENMSUQsIExvY2FsMCkNCj4gKyAgICAgIElmKEFuZCgweDgwMDAwMDAwLExvY2Fs MCkpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIEFuZChDTElELCAweDAwMDAwMDBGLCBDTElEKQ0K PiArICAgICAgICBHTElEKENMSUQpDQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAgIFN0b3Jl KFplcm8sIEdFU0YpICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIGV4aXQgcGFyYW1ldGVyDQo+ ICsgICAgU3RvcmUoWmVybywgUEFSTSkNCj4gKyAgICBSZXR1cm4oU1VDQykgICAgICAgICAgICAg ICAgICAgIC8vIE5vdCBzdXBwb3J0ZWQsIGJ1dCBubyBmYWlsdXJlDQo+ICsgIH0NCj4gKw0KPiAr ICAvLyBEaXNwbGF5IFBvd2VyIFN0YXRlOiBTdWItZnVuY3Rpb24gOA0KPiArDQo+ICsgIElmIChM RXF1YWwoR0VTRiwgOCkpDQo+ICsgIHsNCj4gKyAgICBTdG9yZShaZXJvLCBHRVNGKSAgICAgICAg ICAgICAgIC8vIENsZWFyIHRoZSBleGl0IHBhcmFtZXRlcg0KPiArICAgIFN0b3JlKFplcm8sIFBB Uk0pDQo+ICsgICAgUmV0dXJuKFNVQ0MpICAgICAgICAgICAgICAgICAgICAvLyBOb3Qgc3VwcG9y dGVkLCBidXQgbm8gZmFpbHVyZQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gU2V0IEJvb3QgRGlzcGxh eTogU3ViLWZ1bmN0aW9uIDkNCj4gKw0KPiArICBJZiAoTEVxdWFsKEdFU0YsIDkpKQ0KPiArICB7 DQo+ICsNCj4gKyAgICAvLzxUT0RPPiBBbiBPRU0gbWF5IGVsZWN0IHRvIGltcGxlbWVudCB0aGlz IG1ldGhvZC4gIEluIHRoYXQgY2FzZSwNCj4gKyAgICAvLyB0aGUgaW5wdXQgdmFsdWVzIG11c3Qg YmUgc2F2ZWQgaW50byBub24tdm9sYXRpbGUgc3RvcmFnZSBmb3INCj4gKyAgICAvLyBwYXJzaW5n IGR1cmluZyB0aGUgbmV4dCBib290LiAgVGhlIGZvbGxvd2luZyBTYW1wbGUgY29kZSBpcyBJbnRl bA0KPiArICAgIC8vIHZhbGlkYXRlZCBpbXBsZW1lbnRhdGlvbi4NCj4gKw0KPiArICAgIEFuZChQ QVJNLCAweEZGLCBJQlRUKSAgICAgICAgICAgLy8gU2F2ZSB0aGUgYm9vdCBkaXNwbGF5IHRvIE5W Uw0KPiArICAgIFN0b3JlKFplcm8sIEdFU0YpICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIGV4 aXQgcGFyYW1ldGVyDQo+ICsgICAgU3RvcmUoWmVybywgUEFSTSkNCj4gKyAgICBSZXR1cm4oU1VD QykgICAgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVkLCAiQ3JpdGljYWwgZmFpbHVyZSINCj4g KyAgfQ0KPiArDQo+ICsgIC8vIFNldCBQYW5lbCBEZXRhaWxzOiBTdWItZnVuY3Rpb24gMTAgKDBB aCkNCj4gKw0KPiArICBJZiAoTEVxdWFsKEdFU0YsIDEwKSkNCj4gKyAgew0KPiArDQo+ICsgICAg Ly88VE9ETz4gQW4gT0VNIG1heSBlbGVjdCB0byBpbXBsZW1lbnQgdGhpcyBtZXRob2QuICBJbiB0 aGF0IGNhc2UsDQo+ICsgICAgLy8gdGhlIGlucHV0IHZhbHVlcyBtdXN0IGJlIHNhdmVkIGludG8g bm9uLXZvbGF0aWxlIHN0b3JhZ2UgZm9yDQo+ICsgICAgLy8gcGFyc2luZyBkdXJpbmcgdGhlIG5l eHQgYm9vdC4gIFRoZSBmb2xsb3dpbmcgU2FtcGxlIGNvZGUgaXMgSW50ZWwNCj4gKyAgICAvLyB2 YWxpZGF0ZWQgaW1wbGVtZW50YXRpb24uDQo+ICsNCj4gKyAgICAvLyBTZXQgdGhlIHBhbmVsLXJl bGF0ZWQgTlZSQU0gdmFyaWFibGVzIGJhc2VkIHRoZSBpbnB1dCBmcm9tIHRoZSBkcml2ZXIuDQo+ ICsNCj4gKyAgICBBbmQoUEFSTSwgMHhGRiwgSVBTQykNCj4gKw0KPiArICAgIC8vIENoYW5nZSBw YW5lbCB0eXBlIGlmIGEgY2hhbmdlIGlzIHJlcXVlc3RlZCBieSB0aGUgZHJpdmVyIChDaGFuZ2Ug aWYNCj4gKyAgICAvLyBwYW5lbCB0eXBlIGlucHV0IGlzIG5vbi16ZXJvKS4gIFplcm89Tm8gY2hh bmdlIHJlcXVlc3RlZC4NCj4gKw0KPiArICAgIElmKEFuZChTaGlmdFJpZ2h0KFBBUk0sIDgpLCAw eEZGKSkNCj4gKyAgICB7DQo+ICsgICAgICBBbmQoU2hpZnRSaWdodChQQVJNLCA4KSwgMHhGRiwg SVBBVCkNCj4gKyAgICAgIERlY3JlbWVudChJUEFUKSAgICAgICAgIC8vIDAgPSBubyBjaGFuZ2Us IHNvIGZpdCB0byBDTU9TIG1hcA0KPiArICAgIH0NCj4gKyAgICBBbmQoU2hpZnRSaWdodChQQVJN LCAxOCksIDB4MywgSUJMQykNCj4gKyAgICBBbmQoU2hpZnRSaWdodChQQVJNLCAyMCksIDB4Nywg SUJJQSkNCj4gKyAgICBTdG9yZShaZXJvLCBHRVNGKSAgICAgICAgICAgICAgIC8vIENsZWFyIHRo ZSBleGl0IHBhcmFtZXRlcg0KPiArICAgIFN0b3JlKFplcm8sIFBBUk0pDQo+ICsgICAgUmV0dXJu KFNVQ0MpICAgICAgICAgICAgICAgICAgICAvLyBTdWNjZXNzDQo+ICsgIH0NCj4gKw0KPiArICAv LyBTZXQgSW50ZXJuYWwgR3JhcGhpY3M6IFN1Yi1mdW5jdGlvbiAxMSAoMEJoKQ0KPiArDQo+ICsg IElmIChMRXF1YWwoR0VTRiwgMTEpKQ0KPiArICB7DQo+ICsNCj4gKyAgICAvLzxUT0RPPiBBbiBP RU0gbWF5IGVsZWN0IHRvIGltcGxlbWVudCB0aGlzIG1ldGhvZC4gIEluIHRoYXQgY2FzZSwNCj4g KyAgICAvLyB0aGUgaW5wdXQgdmFsdWVzIG11c3QgYmUgc2F2ZWQgaW50byBub24tdm9sYXRpbGUg c3RvcmFnZSBmb3INCj4gKyAgICAvLyBwYXJzaW5nIGR1cmluZyB0aGUgbmV4dCBib290LiAgVGhl IGZvbGxvd2luZyBTYW1wbGUgY29kZSBpcyBJbnRlbA0KPiArICAgIC8vIHZhbGlkYXRlZCBpbXBs ZW1lbnRhdGlvbi4NCj4gKw0KPiArICAgIEFuZChTaGlmdFJpZ2h0KFBBUk0sIDEpLCAxLCBJRjFF KSAvLyBQcm9ncmFtIHRoZSBmdW5jdGlvbiAxIG9wdGlvbg0KPiArDQo+ICsgICAgLy8gRml4ZWQg bWVtb3J5L0RWTVQgbWVtb3J5DQo+ICsNCj4gKyAgICBBbmQoU2hpZnRSaWdodChQQVJNLCAxNyks IDB4RiwgSURNUykgLy8gUHJvZ3JhbSBEVk1UL2ZpeGVkIG1lbW9yeQ0KPiBzaXplDQo+ICsNCj4g KyAgICBTdG9yZShaZXJvLCBHRVNGKSAgICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBleGl0IHBh cmFtZXRlcg0KPiArICAgIFN0b3JlKFplcm8sIFBBUk0pDQo+ICsgICAgUmV0dXJuKFNVQ0MpICAg ICAgICAgICAgICAgICAgICAvLyBTdWNjZXNzDQo+ICsgIH0NCj4gKw0KPiArICAvLyBQb3N0LUhp cmVzIHRvIERPUyBGUzogU3ViLWZ1bmN0aW9uIDE2ICgxMGgpDQo+ICsNCj4gKyAgSWYgKExFcXVh bChHRVNGLCAxNikpDQo+ICsgIHsNCj4gKyAgICBTdG9yZShaZXJvLCBHRVNGKSAgICAgICAgICAg ICAgIC8vIENsZWFyIHRoZSBleGl0IHBhcmFtZXRlcg0KPiArICAgIFN0b3JlKFplcm8sIFBBUk0p DQo+ICsgICAgUmV0dXJuKFNVQ0MpICAgICAgICAgICAgICAgICAgICAvLyBOb3Qgc3VwcG9ydGVk LCBidXQgbm8gZmFpbHVyZQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gQVBNIENvbXBsZXRlOiAgU3Vi LWZ1bmN0aW9uIDE3ICgxMWgpDQo+ICsNCj4gKyAgSWYgKExFcXVhbChHRVNGLCAxNykpDQo+ICsg IHsNCj4gKw0KPiArICAgIFN0b3JlKFNoaWZ0TGVmdChMSURTLCA4KSwgUEFSTSkgLy8gUmVwb3J0 IHRoZSBsaWQgc3RhdGUNCj4gKyAgICBBZGQoUEFSTSwgMHgxMDAsIFBBUk0pICAgICAgICAgIC8v IEFkanVzdCB0aGUgbGlkIHN0YXRlLCAwID0gVW5rbm93bg0KPiArDQo+ICsgICAgU3RvcmUoWmVy bywgR0VTRikgICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgZXhpdCBwYXJhbWV0ZXINCj4gKyAg ICBSZXR1cm4oU1VDQykgICAgICAgICAgICAgICAgICAgIC8vIE5vdCBzdXBwb3J0ZWQsIGJ1dCBu byBmYWlsdXJlDQo+ICsgIH0NCj4gKw0KPiArICAvLyBTZXQgU3ByZWFkIFNwZWN0cnVtIENsb2Nr czogU3ViLWZ1bmN0aW9uIDE4ICgxMmgpDQo+ICsNCj4gKyAgSWYgKExFcXVhbChHRVNGLCAxOCkp DQo+ICsgIHsNCj4gKw0KPiArICAgIC8vPFRPRE8+IEFuIE9FTSBtYXkgZWxlY3QgdG8gaW1wbGVt ZW50IHRoaXMgbWV0aG9kLiAgSW4gdGhhdCBjYXNlLA0KPiArICAgIC8vIHRoZSBpbnB1dCB2YWx1 ZXMgbXVzdCBiZSBzYXZlZCBpbnRvIG5vbi12b2xhdGlsZSBzdG9yYWdlIGZvcg0KPiArICAgIC8v IHBhcnNpbmcgZHVyaW5nIHRoZSBuZXh0IGJvb3QuICBUaGUgZm9sbG93aW5nIFNhbXBsZSBjb2Rl IGlzIEludGVsDQo+ICsgICAgLy8gdmFsaWRhdGVkIGltcGxlbWVudGF0aW9uLg0KPiArDQo+ICsg ICAgSWYoQW5kKFBBUk0sIDEpKQ0KPiArICAgIHsNCj4gKyAgICAgIElmKExFcXVhbChTaGlmdFJp Z2h0KFBBUk0sIDEpLCAxKSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgU3RvcmUoMSwgSVNTQykg IC8vIEVuYWJsZSBIVyBTU0MsIG9ubHkgZm9yIGNsb2NrIDENCj4gKyAgICAgIH0NCj4gKyAgICAg IEVsc2UNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgU3RvcmUoWmVybywgR0VTRikNCj4gKyAgICAg ICAgUmV0dXJuKENSSVQpICAgIC8vIEZhaWx1cmUsIGFzIHRoZSBTU0MgY2xvY2sgbXVzdCBiZSAx DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBT dG9yZSgwLCBJU1NDKSAgICAgICAgICAvLyBEaXNhYmxlIFNTQw0KPiArICAgIH0NCj4gKyAgICBT dG9yZShaZXJvLCBHRVNGKSAgICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBleGl0IHBhcmFtZXRl cg0KPiArICAgIFN0b3JlKFplcm8sIFBBUk0pDQo+ICsgICAgUmV0dXJuKFNVQ0MpICAgICAgICAg ICAgICAgICAgICAvLyBTdWNjZXNzDQo+ICsgIH0NCj4gKw0KPiArICAvLyBQb3N0IFZCRS9QTSBD YWxsYmFjazogU3ViLWZ1bmN0aW9uIDE5ICgxM2gpDQo+ICsNCj4gKyAgSWYgKExFcXVhbChHRVNG LCAxOSkpDQo+ICsgIHsNCj4gKyAgICBTdG9yZShaZXJvLCBHRVNGKSAgICAgICAgICAgICAgIC8v IENsZWFyIHRoZSBleGl0IHBhcmFtZXRlcg0KPiArICAgIFN0b3JlKFplcm8sIFBBUk0pDQo+ICsg ICAgUmV0dXJuKFNVQ0MpICAgICAgICAgICAgICAgICAgICAvLyBOb3Qgc3VwcG9ydGVkLCBidXQg bm8gZmFpbHVyZQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gU2V0IFBBVlAgRGF0YTogU3ViLWZ1bmN0 aW9uIDIwICgxNGgpDQo+ICsNCj4gKyAgSWYgKExFcXVhbChHRVNGLCAyMCkpDQo+ICsgIHsNCj4g KyAgICBBbmQoUEFSTSwgMHhGLCBQQVZQKSAgICAvLyBTdG9yZSBQQVZQIGluZm8NCj4gKyAgICBT dG9yZShaZXJvLCBHRVNGKSAgICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBleGl0IHBhcmFtZXRl cg0KPiArICAgIFN0b3JlKFplcm8sIFBBUk0pDQo+ICsgICAgUmV0dXJuKFNVQ0MpICAgICAgICAg ICAgICAgICAgICAvLyBTdWNjZXNzDQo+ICsgIH0NCj4gKw0KPiArICAvLyBBIGNhbGwgdG8gYSBy ZXNlcnZlZCAiU3lzdGVtIEJJT1MgY2FsbGJhY2tzIiBmdW5jdGlvbiB3YXMgcmVjZWl2ZWQNCj4g Kw0KPiArICBTdG9yZShaZXJvLCBHRVNGKSAgICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIHRo ZSBleGl0IHBhcmFtZXRlcg0KPiArICBSZXR1cm4oU1VDQykgICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIFJlc2VydmVkLCAiQ3JpdGljYWwgZmFpbHVyZSINCj4gK30NCj4gZGlmZiAtLWdpdA0K PiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSWdk T3BSbi5BU0wNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJs ZXNQQ0FUL0lnZE9wUm4uQVNMDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjg1NzVmYmZlNmMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0lnZE9wUm4uQVNMDQo+IEBAIC0w LDAgKzEsMjk5IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAx NCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0K PiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgSWdkT3BSbi5BU0wNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgSUdEIE9wUmVnaW9uL1NvZnR3YXJlIFNDSSBSZWZlcmVuY2UgQ29kZSBmb3Ig dGhlIEJheXRyYWlsIEZhbWlseS4NCj4gKyAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBpbnRlcnJ1 cHQgaGFuZGxlciBjb2RlIGZvciB0aGUgSW50ZWdyYXRlZA0KPiArICBHcmFwaGljcyBEZXZpY2Ug KElHRCkgT3BSZWdpb24vU29mdHdhcmUgU0NJIG1lY2hhbmlzbS4NCj4gKw0KPiArLS0qLw0KPiAr DQo+ICsNCj4gKy8vTk9URVM6DQo+ICsvLw0KPiArLy8gKDEpICBUaGUgY29kZSBjb250YWluZWQg aW4gdGhpcyBmaWxlIGluaGVyaXRzIHRoZSBzY29wZSBpbiB3aGljaCBpdA0KPiArLy8gICAgICB3 YXMgaW5jbHVkZWQuICBTbyBCSU9TIGRldmVsb3BlcnMgbXVzdCBiZSBzdXJlIHRvIGluY2x1ZGUg dGhpcw0KPiArLy8gICAgICBmaWxlIGluIHRoZSBzY29wZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdy YXBoaWNzIGRldmljZQ0KPiArLy8gICAgICAoZXguIFxfU0IuUENJMC5HRlgwKS4NCj4gKy8vICgy KSAgQ3JlYXRlIGEgX0wwNiBtZXRob2QgdW5kZXIgdGhlIEdQRSBzY29wZSB0byBoYW5kbGUgdGhl IGV2ZW50DQo+ICsvLyAgICAgIGdlbmVyYXRlZCBieSB0aGUgZ3JhcGhpY3MgZHJpdmVyLiAgVGhl IF9MMDYgbWV0aG9kIG11c3QgY2FsbA0KPiArLy8gICAgICB0aGUgR1NDSSBtZXRob2QgaW4gdGhp cyBmaWxlLg0KPiArLy8gKDMpICBUaGUgTUNIUCBvcGVyYXRpb24gcmVnaW9uIGFzc3VtZXMgdGhh dCBfQURSIGFuZCBfQkJOIG5hbWVzDQo+ICsvLyAgICAgIGNvcnJlc3BvbmRpbmcgdG8gYnVzIDAs IGRldmljZTAsIGZ1bmN0aW9uIDAgaGF2ZSBiZWVuIGRlY2xhcmVkDQo+ICsvLyAgICAgIHVuZGVy IHRoZSBQQ0kwIHNjb3BlLg0KPiArLy8gKDQpICBCZWZvcmUgdGhlIGZpcnN0IGV4ZWN1dGlvbiBv ZiB0aGUgR1NDSSBtZXRob2QsIHRoZSBiYXNlIGFkZHJlc3MNCj4gKy8vICAgICAgb2YgdGhlIEdN Q0ggU0NJIE9wUmVnaW9uIG11c3QgYmUgcHJvZ3JhbW1lZCB3aGVyZSB0aGUgZHJpdmVyIGNhbg0K PiArLy8gICAgICBhY2Nlc3MgaXQuIEEgMzJiaXQgc2NyYXRjaCByZWdpc3RlciBhdCAweEZDIGlu IHRoZSBJR0QgUENJDQo+ICsvLyAgICAgIGNvbmZpZ3VyYXRpb24gc3BhY2UgKEIwL0QyL0YwL1Iw RkNoKSBpcyB1c2VkIGZvciB0aGlzIHB1cnBvc2UuDQo+ICsNCj4gKy8vICBEZWZpbmUgYW4gT3Bl cmF0aW9uUmVnaW9uIHRvIGNvdmVyIHRoZSBHTUNIIFBDSSBjb25maWd1cmF0aW9uIHNwYWNlDQo+ IGFzDQo+ICsvLyAgZGVzY3JpYmVkIGluIHRoZSBJR0QgT3BSZWdpb24gc3BlY2lmaWNpYXRpb24u DQo+ICsNCj4gKy8vICBEZWZpbmUgYW4gT3BlcmF0aW9uUmVnaW9uIHRvIGNvdmVyIHRoZSBJR0Qg UENJIGNvbmZpZ3VyYXRpb24gc3BhY2UgYXMNCj4gKy8vICBkZXNjcmliZWQgaW4gdGhlIElHRCBP cFJlZ2lvbiBzcGVjaWZpY2lhdGlvbi4NCj4gKw0KPiArT3BlcmF0aW9uUmVnaW9uKElHRFAsIFBD SV9Db25maWcsMHgwMCwweDEwMCkNCj4gK0ZpZWxkKElHRFAsIEFueUFjYywgTm9Mb2NrLCBQcmVz ZXJ2ZSkNCj4gK3sNCj4gKyAgT2Zmc2V0KDB4MTApLCAgLy8gR1RUTU1BRFINCj4gKyAgTUFEUiwg ICAzMiwNCj4gKyAgT2Zmc2V0KDB4NTApLCAgLy8gR01DSCBHcmFwaGljcyBDb250cm9sIFJlZ2lz dGVyDQo+ICsgICwgICAxLA0KPiArICBHSVZELCAgIDEsICAgICAvLyBJR0QgVkdBIGRpc2FibGUg Yml0DQo+ICsgICwgICAxLA0KPiArICBHVU1BLCAgIDUsICAgICAvLyBTdG9sZW4gbWVtb3J5IHNp emUNCj4gKyAgLCAgIDgsDQo+ICsgIE9mZnNldCgweDU0KSwNCj4gKyAgLCAgIDQsDQo+ICsgIEdN Rk4sICAgMSwgICAgIC8vIEdmeCBmdW5jdGlvbiAxIGVuYWJsZQ0KPiArICAsICAgMjcsDQo+ICsg IE9mZnNldCgweDVDKSwgIC8vIFN0b2xlbiBNZW1vcnkgQmFzZSBBZGRyZXNzDQo+ICsgIEdTVE0s ICAgMzIsDQo+ICsgIE9mZnNldCgweEUwKSwgIC8vIFJlZyAweEU4LCBTV1NDSSBjb250cm9sIHJl Z2lzdGVyDQo+ICsgIEdTU0UsICAgMSwgICAgIC8vIEdyYXBoaWNzIFNDSSBldmVudCAoMT1ldmVu dCBwZW5kaW5nKQ0KPiArICBHU1NCLCAgIDE0LCAgICAvLyBHcmFwaGljcyBTQ0kgc2NyYXRjaHBh ZCBiaXRzDQo+ICsgIEdTRVMsICAgMSwgICAgIC8vIEdyYXBoaWNzIGV2ZW50IHNlbGVjdCAoMT1T Q0kpDQo+ICsgIE9mZnNldCgweEU0KSwNCj4gKyAgQVNMRSwgICA4LCAgICAgLy8gUmVnIDB4RTQs IEFTTEUgaW50ZXJydXB0IHJlZ2lzdGVyDQo+ICsgICwgICAyNCwgICAgLy8gT25seSB1c2UgZmly c3QgYnl0ZSBvZiBBU0xFIHJlZw0KPiArICBPZmZzZXQoMHhGQyksDQo+ICsgIEFTTFMsICAgMzIs ICAgIC8vIFJlZyAweEZDLCBBZGRyZXNzIG9mIHRoZSBJR0QgT3BSZWdpb24NCj4gK30NCj4gKw0K PiArTWV0aG9kIChNQ0hLLCAwLCBTZXJpYWxpemVkKQ0KPiArew0KPiArDQo+ICsgIElmIChMTm90 RXF1YWwgKE1BRFIsIDB4RkZGRkZGRkYpKQ0KPiArICB7DQo+ICsgICAgT3BlcmF0aW9uUmVnaW9u KElHTU0sU3lzdGVtTWVtb3J5LE1BRFIsMHgzMDAwKQ0KPiArICAgIEZpZWxkKElHTU0sQW55QWNj LCBOb0xvY2ssIFByZXNlcnZlKQ0KPiArICAgIHsNCj4gKyAgICAgIE9mZnNldCgwWDIwQzgpLA0K PiArICAgICAgLCAgICA0LA0KPiArICAgICAgRENGRSwgICAgNCwgICAgICAgICAgICAgICAgICAg ICAvLyBESVNQTEFZX0NMT0NLX0ZSRVFVRU5DWV9FTkNPRElORw0KPiArICAgIH0NCj4gKyAgfQ0K PiArfQ0KPiArDQo+ICsNCj4gKy8vICBEZWZpbmUgYW4gT3BlcmF0aW9uUmVnaW9uIHRvIGNvdmVy IHRoZSBJR0QgT3BSZWdpb24gbGF5b3V0Lg0KPiArDQo+ICtPcGVyYXRpb25SZWdpb24oSUdETSwg U3lzdGVtTWVtb3J5LCBBU0xCLCAweDIwMDApDQo+ICtGaWVsZChJR0RNLCBBbnlBY2MsIE5vTG9j aywgUHJlc2VydmUpDQo+ICt7DQo+ICsNCj4gKyAgLy8gT3BSZWdpb24gSGVhZGVyDQo+ICsNCj4g KyAgU0lHTiwgICAxMjgsICAgICAgICAgICAgICAgICAgICAvLyBTaWduYXR1cmUtIkludGVsR3Jh cGhpY3NNZW0iDQo+ICsgIFNJWkUsICAgMzIsICAgICAgICAgICAgICAgICAgICAgLy8gT3BSZWdp b24gU2l6ZQ0KPiArICBPVkVSLCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIE9wUmVnaW9u IFZlcnNpb24NCj4gKyAgU1ZFUiwgICAyNTYsICAgICAgICAgICAgICAgICAgICAvLyBTeXN0ZW0g QklPUyBWZXJzaW9uDQo+ICsgIFZWRVIsICAgMTI4LCAgICAgICAgICAgICAgICAgICAgLy8gVkJJ T1MgVmVyc2lvbg0KPiArICBHVkVSLCAgIDEyOCwgICAgICAgICAgICAgICAgICAgIC8vIERyaXZl ciB2ZXJzaW9uDQo+ICsgIE1CT1gsICAgMzIsICAgICAgICAgICAgICAgICAgICAgLy8gTWFpbGJv eGVzIHN1cHBvcnRlZA0KPiArICBETU9ELCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIERy aXZlciBNb2RlbA0KPiArICBQQ09OLCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIDk2LCBQ bGF0Zm9ybSBDb25maWd1cmF0aW9uDQo+ICsNCj4gKyAgLy8gT3BSZWdpb24gTWFpbGJveCAxIChQ dWJsaWMgQUNQSSBNZXRob2RzKQ0KPiArICAvLyBOb3RlOiBNYWlsYm94IDEgaXMgbm9ybWFsbHkg cmVzZXJ2ZWQgZm9yIGRlc2t0b3AgcGxhdGZvcm1zLg0KPiArDQo+ICsgIE9mZnNldCgweDEwMCks DQo+ICsgIERSRFksICAgMzIsICAgICAgICAgICAgICAgICAgICAgLy8gRHJpdmVyIHJlYWRpbmVz cyAoQUNQSSBub3RpZmljYXRpb24pDQo+ICsgIENTVFMsICAgMzIsICAgICAgICAgICAgICAgICAg ICAgLy8gTm90aWZpY2F0aW9uIHN0YXR1cw0KPiArICBDRVZULCAgIDMyLCAgICAgICAgICAgICAg ICAgICAgIC8vIEN1cnJlbnQgZXZlbnQNCj4gKyAgT2Zmc2V0KDB4MTIwKSwNCj4gKyAgRElETCwg ICAzMiwgICAgICAgICAgICAgICAgICAgICAvLyBTdXBwb3J0ZWQgZGlzcGxheSBkZXZpY2UgSUQg bGlzdA0KPiArICBEREwyLCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIEFsbG93cyBmb3Ig OCBkZXZpY2VzDQo+ICsgIERETDMsICAgMzIsDQo+ICsgIERETDQsICAgMzIsDQo+ICsgIERETDUs ICAgMzIsDQo+ICsgIERETDYsICAgMzIsDQo+ICsgIERETDcsICAgMzIsDQo+ICsgIERETDgsICAg MzIsDQo+ICsgIENQREwsICAgMzIsICAgICAgICAgICAgICAgICAgICAgLy8gQ3VycmVudGx5IHBy ZXNlbnQgZGlzcGxheSBsaXN0DQo+ICsgIENQTDIsICAgMzIsICAgICAgICAgICAgICAgICAgICAg Ly8gQWxsb3dzIGZvciA4IGRldmljZXMNCj4gKyAgQ1BMMywgICAzMiwNCj4gKyAgQ1BMNCwgICAz MiwNCj4gKyAgQ1BMNSwgICAzMiwNCj4gKyAgQ1BMNiwgICAzMiwNCj4gKyAgQ1BMNywgICAzMiwN Cj4gKyAgQ1BMOCwgICAzMiwNCj4gKyAgQ0FEMSwgICAzMiwgICAgICAgICAgICAgICAgICAgICAv LyBDdXJyZW50bHkgYWN0aXZlIGRpc3BsYXkgbGlzdA0KPiArICBDQUwyLCAgIDMyLCAgICAgICAg ICAgICAgICAgICAgIC8vIEFsbG93cyBmb3IgOCBkZXZpY2VzDQo+ICsgIENBTDMsICAgMzIsDQo+ ICsgIENBTDQsICAgMzIsDQo+ICsgIENBTDUsICAgMzIsDQo+ICsgIENBTDYsICAgMzIsDQo+ICsg IENBTDcsICAgMzIsDQo+ICsgIENBTDgsICAgMzIsDQo+ICsgIE5BREwsICAgMzIsICAgICAgICAg ICAgICAgICAgICAgLy8gTmV4dCBhY3RpdmUgZGlzcGxheSBsaXN0DQo+ICsgIE5ETDIsICAgMzIs ICAgICAgICAgICAgICAgICAgICAgLy8gQWxsb3dzIGZvciA4IGRldmljZXMNCj4gKyAgTkRMMywg ICAzMiwNCj4gKyAgTkRMNCwgICAzMiwNCj4gKyAgTkRMNSwgICAzMiwNCj4gKyAgTkRMNiwgICAz MiwNCj4gKyAgTkRMNywgICAzMiwNCj4gKyAgTkRMOCwgICAzMiwNCj4gKyAgQVNMUCwgICAzMiwg ICAgICAgICAgICAgICAgICAgICAvLyBBU0wgc2xlZXAgdGltZW91dA0KPiArICBUSURYLCAgIDMy LCAgICAgICAgICAgICAgICAgICAgIC8vIFRvZ2dsZSB0YWJsZSBpbmRleA0KPiArICBDSFBELCAg IDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIEN1cnJlbnQgaG90IHBsdWcgZW5hYmxlIGluZGlj YXRvcg0KPiArICBDTElELCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIEN1cnJlbnQgbGlk IHN0YXRlIGluZGljYXRvcg0KPiArICBDRENLLCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8v IEN1cnJlbnQgZG9ja2luZyBzdGF0ZSBpbmRpY2F0b3INCj4gKyAgU1hTVywgICAzMiwgICAgICAg ICAgICAgICAgICAgICAvLyBEaXNwbGF5IHN3aXRjaCBub3RpZnkgb24gcmVzdW1lDQo+ICsgIEVW VFMsICAgMzIsICAgICAgICAgICAgICAgICAgICAgLy8gRXZlbnRzIHN1cHBvcnRlZCBieSBBU0wg KGRpYWcgb25seSkNCj4gKyAgQ05PVCwgICAzMiwgICAgICAgICAgICAgICAgICAgICAvLyBDdXJy ZW50IE9TIG5vdGlmaWNhdGlvbnMgKGRpYWcgb25seSkNCj4gKyAgTlJEWSwgICAzMiwNCj4gKw0K PiArICAvLyBPcFJlZ2lvbiBNYWlsYm94IDIgKFNvZnR3YXJlIFNDSSBJbnRlcmZhY2UpDQo+ICsN Cj4gKyAgT2Zmc2V0KDB4MjAwKSwgICAgICAgICAgICAgICAgICAvLyBTQ0lDDQo+ICsgIFNDSUUs ICAgMSwgICAgICAgICAgICAgICAgICAgICAgLy8gU0NJIGVudHJ5IGJpdCAoMT1jYWxsIHVuc2Vy dmljZWQpDQo+ICsgIEdFRkMsICAgNCwgICAgICAgICAgICAgICAgICAgICAgLy8gRW50cnkgZnVu Y3Rpb24gY29kZQ0KPiArICBHWEZDLCAgIDMsICAgICAgICAgICAgICAgICAgICAgIC8vIEV4aXQg cmVzdWx0DQo+ICsgIEdFU0YsICAgOCwgICAgICAgICAgICAgICAgICAgICAgLy8gRW50cnkvZXhp dCBzdWItZnVuY3Rpb24vcGFyYW1ldGVyDQo+ICsgICwgICAxNiwgICAgICAgICAgICAgICAgICAg ICAvLyBTQ0lDWzMxOjE2XSByZXNlcnZlZA0KPiArICBPZmZzZXQoMHgyMDQpLCAgICAgICAgICAg ICAgICAgIC8vIFBBUk0NCj4gKyAgUEFSTSwgICAzMiwgICAgICAgICAgICAgICAgICAgICAvLyBQ QVJNIHJlZ2lzdGVyIChleHRyYSBwYXJhbWV0ZXJzKQ0KPiArICBEU0xQLCAgIDMyLCAgICAgICAg ICAgICAgICAgICAgIC8vIERyaXZlciBzbGVlcCB0aW1lIG91dA0KPiArDQo+ICsgIC8vIE9wUmVn aW9uIE1haWxib3ggMyAoQklPUyB0byBEcml2ZXIgTm90aWZpY2F0aW9uKQ0KPiArICAvLyBOb3Rl OiBNYWlsYm94IDMgaXMgbm9ybWFsbHkgcmVzZXJ2ZWQgZm9yIGRlc2t0b3AgcGxhdGZvcm1zLg0K PiArDQo+ICsgIE9mZnNldCgweDMwMCksDQo+ICsgIEFSRFksICAgMzIsICAgICAgICAgICAgICAg ICAgICAgLy8gRHJpdmVyIHJlYWRpbmVzcyAocG93ZXIgY29uc2VydmF0aW9uKQ0KPiArICBBU0xD LCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIEFTTEUgaW50ZXJydXB0IGNvbW1hbmQvc3Rh dHVzDQo+ICsgIFRDSEUsICAgMzIsICAgICAgICAgICAgICAgICAgICAgLy8gVGVjaG5vbG9neSBl bmFibGVkIGluZGljYXRvcg0KPiArICBBTFNJLCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8v IEN1cnJlbnQgQUxTIGlsbHVtaW5hbmNlIHJlYWRpbmcNCj4gKyAgQkNMUCwgICAzMiwgICAgICAg ICAgICAgICAgICAgICAvLyBCYWNrbGlnaHQgYnJpZ2h0bmVzcw0KPiArICBQRklULCAgIDMyLCAg ICAgICAgICAgICAgICAgICAgIC8vIFBhbmVsIGZpdHRpbmcgc3RhdGUgb3IgcmVxdWVzdA0KPiAr ICBDQkxWLCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIEN1cnJlbnQgYnJpZ2h0bmVzcyBs ZXZlbA0KPiArICBCQ0xNLCAgIDMyMCwgICAgICAgICAgICAgICAgICAgIC8vIEJhY2tsaWdodCBi cmlnaHRuZXNzIGxldmVsIGR1dHkgY3ljbGUgbWFwcGluZyB0YWJsZQ0KPiArICBDUEZNLCAgIDMy LCAgICAgICAgICAgICAgICAgICAgIC8vIEN1cnJlbnQgcGFuZWwgZml0dGluZyBtb2RlDQo+ICsg IEVQRk0sICAgMzIsICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlZCBwYW5lbCBmaXR0aW5n IG1vZGVzDQo+ICsgIFBMVVQsICAgNTkyLCAgICAgICAgICAgICAgICAgICAgLy8gT3B0aW9uYWwu IDc0LWJ5dGUgUGFuZWwgTFVUIFRhYmxlDQo+ICsgIFBGTUIsICAgMzIsICAgICAgICAgICAgICAg ICAgICAgLy8gT3B0aW9uYWwuIFBXTSBGcmVxdWVuY3kgYW5kIE1pbmltdW0NCj4gQnJpZ2h0bmVz cw0KPiArICBDQ0RWLCAgIDMyLCAgICAgICAgICAgICAgICAgICAgIC8vIE9wdGlvbmFsLiBHYW1t YSwgQnJpZ2h0bmVzcywgQ29udHJhc3QgdmFsdWVzLg0KPiArICBQQ0ZULCAgIDMyLCAgICAgICAg ICAgICAgICAgICAgIC8vIE9wdGlvbmFsLiBQb3dlciBDb25zZXJ2YXRpb24gRmVhdHVyZXMNCj4g Kw0KPiArICBPZmZzZXQoMHgzQjYpLA0KPiArICBTVEFULCAgIDMyLCAgICAgICAgICAgICAgICAg ICAgIC8vIFN0YXR1cyByZWdpc3Rlcg0KPiArDQo+ICsgIC8vIE9wUmVnaW9uIE1haWxib3ggNCAo VkJUKQ0KPiArDQo+ICsgIE9mZnNldCgweDQwMCksDQo+ICsgIEdWRDEsICAgMHhDMDAwLCAgICAg ICAgICAgICAgICAgLy8gNksgYnl0ZXMgbWF4aW11bSBWQlQgaW1hZ2UNCj4gKw0KPiArICAvLyBP cFJlZ2lvbiBNYWlsYm94IDUgKEJJT1MgdG8gRHJpdmVyIE5vdGlmaWNhdGlvbiBFeHRlbnNpb24p DQo+ICsNCj4gKyAgT2Zmc2V0KDB4MUMwMCksDQo+ICsgIFBIRUQsICAgMzIsICAgICAgICAgICAg ICAgICAgICAgLy8gUGFuZWwgSGVhZGVyDQo+ICsgIEJEREMsICAgMjA0OCwgICAgICAgICAgICAg ICAgICAgLy8gUGFuZWwgRURJRCAoTWF4IDI1NiBieXRlcykNCj4gKw0KPiArfQ0KPiArDQo+ICsN Cj4gKw0KPiArLy8gQ29udmVydCBib290IGRpc3BsYXkgdHlwZSBpbnRvIGEgcG9ydCBtYXNrLg0K PiArDQo+ICtOYW1lIChEQlRCLCBQYWNrYWdlKCkNCj4gK3sNCj4gKyAgMHgwMDAwLCAgICAgICAg ICAgICAgICAgICAgICAgICAvLyBBdXRvbWF0aWMNCj4gKyAgMHgwMDA3LCAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBQb3J0LTAgOiBJbnRlZ3JhdGVkIENSVA0KPiArICAweDAwMzgsICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIFBvcnQtMSA6IERWTy1BLCBvciBJbnRlZ3JhdGVkIExWRFMN Cj4gKyAgMHgwMUMwLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQb3J0LTIgOiBTRFZPLUIs IG9yIFNEVk8tQi9DDQo+ICsgIDB4MEUwMCwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUG9y dC0zIDogU0RWTy1DDQo+ICsgIDB4MDAzRiwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gW0NS VCArIERWTy1BIC8gSW50ZWdyYXRlZCBMVkRTXQ0KPiArICAweDAxQzcsICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIFtDUlQgKyBTRFZPLUJdIG9yIFtDUlQgKyBTRFZPLUIvQ10NCj4gKyAgMHgw RTA3LCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBbQ1JUICsgU0RWTy1DXQ0KPiArICAweDAx RjgsICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFtEVk8tQSAvIEludGVncmF0ZWQgTFZEUyAr IFNEVk8tQl0NCj4gKyAgMHgwRTM4LCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBbRFZPLUEg LyBJbnRlZ3JhdGVkIExWRFMgKyBTRFZPLUNdDQo+ICsgIDB4MEZDMCwgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gW1NEVk8tQiArIFNEVk8tQ10NCj4gKyAgMHgwMDAwLCAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBSZXNlcnZlZA0KPiArICAweDAwMDAsICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIFJlc2VydmVkDQo+ICsgIDB4MDAwMCwgICAgICAgICAgICAgICAgICAgICAgICAgLy8g UmVzZXJ2ZWQNCj4gKyAgMHgwMDAwLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXNlcnZl ZA0KPiArICAweDAwMDAsICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVkDQo+ICsg IDB4NzAwMCwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUG9ydC00OiBJbnRlZ3JhdGVkIFRW DQo+ICsgIDB4NzAwNywgICAgICAgICAgICAgICAgICAgICAgICAgLy8gW0ludGVncmF0ZWQgVFYg KyBDUlRdDQo+ICsgIDB4NzAzOCwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gW0ludGVncmF0 ZWQgVFYgKyBMVkRTXQ0KPiArICAweDcxQzAsICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFtJ bnRlZ3JhdGVkIFRWICsgRFZPQl0NCj4gKyAgMHg3RTAwICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBbSW50ZWdyYXRlZCBUViArIERWT0NdDQo+ICt9KQ0KPiArDQo+ICsvLyBDb3JlIGRpc3Bs YXkgY2xvY2sgdmFsdWUgdGFibGUuDQo+ICsNCj4gK05hbWUgKENEQ1QsIFBhY2thZ2UoKQ0KPiAr ew0KPiArICBQYWNrYWdlKCkgezE2MH0sDQo+ICsgIFBhY2thZ2UoKSB7MjAwfSwNCj4gKyAgUGFj a2FnZSgpIHsyNjd9LA0KPiArICBQYWNrYWdlKCkgezMyMH0sDQo+ICsgIFBhY2thZ2UoKSB7MzU2 fSwNCj4gKyAgUGFja2FnZSgpIHs0MDB9LA0KPiArfSkNCj4gKw0KPiArLy8gRGVmaW5lZCBleGl0 IHJlc3VsdCB2YWx1ZXM6DQo+ICsNCj4gK05hbWUgKFNVQ0MsIDEpICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBFeGl0IHJlc3VsdDogU3VjY2Vzcw0KPiArTmFtZSAoTlZMRCwgMikgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIEV4aXQgcmVzdWx0OiBJbnZhbGlkIHBhcmFtZXRlcg0KPiAr TmFtZSAoQ1JJVCwgNCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEV4aXQgcmVzdWx0OiBD cml0aWNhbCBmYWlsdXJlDQo+ICtOYW1lIChOQ1JULCA2KSAgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gRXhpdCByZXN1bHQ6IE5vbi1jcml0aWNhbCBmYWlsdXJlDQo+ICsNCj4gKw0KPiArLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K PiAqKioqKioqKioqKioqKio7DQo+ICs7Kg0KPiArOyogTmFtZTogR1NDSQ0KPiArOyoNCj4gKzsq IERlc2NyaXB0aW9uOiBIYW5kbGVzIGFuIFNDSSBnZW5lcmF0ZWQgYnkgdGhlIGdyYXBoaWNzIGRy aXZlci4gIFRoZQ0KPiArOyogICAgICAgICAgICAgIFBBUk0gYW5kIFNDSUMgaW5wdXQgZmllbGRz IGFyZSBwYXJzZWQgdG8gZGV0ZXJtaW5lIHRoZQ0KPiArOyogICAgICAgICAgICAgIGZ1bmN0aW9u YWxpdHkgcmVxdWVzdGVkIGJ5IHRoZSBkcml2ZXIuICBHQkRBIG9yIFNCQ0INCj4gKzsqICAgICAg ICAgICAgICBpcyBjYWxsZWQgYmFzZWQgb24gdGhlIGlucHV0IGRhdGEgaW4gU0NJQy4NCj4gKzsq DQo+ICs7KiBVc2FnZTogICAgICAgVGhlIG1ldGhvZCBtdXN0IGJlIGNhbGxlZCBpbiByZXNwb25z ZSB0byBhIEdQRSAwNiBldmVudA0KPiArOyogICAgICAgICAgICAgIHdoaWNoIHdpbGwgYmUgZ2Vu ZXJhdGVkIGJ5IHRoZSBncmFwaGljcyBkcml2ZXIuDQo+ICs7KiAgICAgICAgICAgICAgRXg6IE1l dGhvZChcX0dQRS5fTDA2KSB7UmV0dXJuKFxfU0IuUENJMC5HRlgwLkdTQ0koKSl9DQo+ICs7Kg0K PiArOyogSW5wdXQ6ICAgICAgIFBBUk0gYW5kIFNDSUMgYXJlIGluZGlyZWN0IGlucHV0cw0KPiAr OyoNCj4gKzsqIE91dHB1dDogICAgICBQQVJNIGFuZCBTSUMgYXJlIGluZGlyZWN0IG91dHB1dHMN Cj4gKzsqDQo+ICs7KiBSZWZlcmVuY2VzOiAgR0JEQSAoR2V0IEJJT1MgRGF0YSBtZXRob2QpLCBT QkNCIChTeXN0ZW0gQklPUyBDYWxsYmFjaw0KPiArOyogICAgICAgICAgICAgIG1ldGhvZCkNCj4g KzsqDQo+ICs7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqDQo+ICoqKioqKioqKioqKioqKi8NCj4gKw0KPiArTWV0aG9kIChHU0NJLCAwLCBT ZXJpYWxpemVkKQ0KPiArew0KPiArICBJbmNsdWRlKCJJZ2RPR0JEQS5BU0wiKSAvLyAiR2V0IEJJ T1MgRGF0YSIgRnVuY3Rpb25zDQo+ICsgIEluY2x1ZGUoIklnZE9TQkNCLkFTTCIpIC8vICJTeXN0 ZW0gQklPUyBDYWxsQmFja3MiDQo+ICsNCj4gKyAgSWYgKExFcXVhbChHRUZDLCA0KSkNCj4gKyAg ew0KPiArICAgIFN0b3JlKEdCREEoKSwgR1hGQykgICAgIC8vIFByb2Nlc3MgR2V0IEJJT1MgRGF0 YSBmdW5jdGlvbnMNCj4gKyAgfQ0KPiArDQo+ICsgIElmIChMRXF1YWwoR0VGQywgNikpDQo+ICsg IHsNCj4gKyAgICBTdG9yZShTQkNCKCksIEdYRkMpICAgICAvLyBQcm9jZXNzIEJJT1MgQ2FsbGJh Y2sgZnVuY3Rpb25zDQo+ICsgIH0NCj4gKw0KPiArICBTdG9yZSgwLCBHRUZDKSAgICAgICAgICAg ICAgICAgIC8vIFdpcGUgb3V0IHRoZSBlbnRyeSBmdW5jdGlvbiBjb2RlDQo+ICsgIFN0b3JlKDEs IFNDSVMpICAgICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIEdVTklUIFNDSSBzdGF0dXMgYml0 IGluIFBDSCBBQ1BJIEkvTw0KPiBzcGFjZS4NCj4gKyAgU3RvcmUoMCwgR1NTRSkgICAgICAgICAg ICAgICAgICAvLyBDbGVhciB0aGUgU0NJIGdlbmVyYXRpb24gYml0IGluIFBDSSBzcGFjZS4NCj4g KyAgU3RvcmUoMCwgU0NJRSkgICAgICAgICAgICAgICAgICAvLyBDbHIgU0NJIHNlcnZpY2VkIGJp dCB0byBzaWduYWwgY29tcGxldGlvbg0KPiArDQo+ICsgIFJldHVybihaZXJvKQ0KPiArfQ0KPiAr DQo+ICsvLyBJbmNsdWRlIE1PQkxGRUFULkFTTCBmb3IgbW9iaWxlIHN5c3RlbXMgb25seS4gIFJl bW92ZSBmb3IgZGVza3RvcC4NCj4gK0luY2x1ZGUoIklnZE9NT0JGLkFTTCIpICAgICAvLyBJR0Qg U0NJIG1vYmlsZSBmZWF0dXJlcw0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYy RGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9Jb1RWaXJ0dWFsRGV2aWNlLmFzbA0KPiBi L1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSW9UVmly dHVhbERldmljZS5hc2wNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MC4uMzIwYjM2ZmZiMg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwv Vmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvSW9UVmlydHVhbERldmljZS5hc2wN Cj4gQEAgLTAsMCArMSwxNzEgQEANCj4gKy8qKiBAZmlsZQ0KPiArQ29weXJpZ2h0IChjKSAyMDE0 LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICtTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKw0K PiArRGV2aWNlKElPVEQpIHsNCj4gKyAgTmFtZShfSElELCAiTVNGVDgwMDAiKQ0KPiArICBOYW1l KF9DSUQsICJNU0ZUODAwMCIpDQo+ICsNCj4gKyAgTmFtZShfQ1JTLCBSZXNvdXJjZVRlbXBsYXRl KCkgew0KPiArICAgIC8vIEluZGV4IDANCj4gKyAgICBTUElTZXJpYWxCdXMoICAgICAgICAgICAg Ly8gUGluIDUsIDcsIDkgLCAxMSBvZiBKUDEgZm9yIFNJT19TUEkNCj4gKyAgICAgIDEsICAgICAg ICAgICAgICAgICAgICAgLy8gRGV2aWNlIHNlbGVjdGlvbg0KPiArICAgICAgUG9sYXJpdHlMb3cs ICAgICAgICAgICAvLyBEZXZpY2Ugc2VsZWN0aW9uIHBvbGFyaXR5DQo+ICsgICAgICBGb3VyV2ly ZU1vZGUsICAgICAgICAgIC8vIHdpcmVtb2RlDQo+ICsgICAgICA4LCAgICAgICAgICAgICAgICAg ICAgIC8vIGRhdGFiaXQgbGVuDQo+ICsgICAgICBDb250cm9sbGVySW5pdGlhdGVkLCAgIC8vIHNs YXZlIG1vZGUNCj4gKyAgICAgIDgwMDAwMDAsICAgICAgICAgICAgICAgLy8gQ29ubmVjdGlvbiBz cGVlZA0KPiArICAgICAgQ2xvY2tQb2xhcml0eUxvdywgICAgICAvLyBDbG9jayBwb2xhcml0eQ0K PiArICAgICAgQ2xvY2tQaGFzZVNlY29uZCwgICAgICAvLyBjbG9jayBwaGFzZQ0KPiArICAgICAg IlxcX1NCLlNQSTEiLCAgICAgICAgICAvLyBSZXNvdXJjZVNvdXJjZTogU1BJIGJ1cyBjb250cm9s bGVyIG5hbWUNCj4gKyAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgLy8gUmVzb3VyY2VTb3Vy Y2VJbmRleA0KPiArICAgICAgUmVzb3VyY2VDb25zdW1lciwgICAgICAvLyBSZXNvdXJjZSB1c2Fn ZQ0KPiArICAgICAgSlNQSSwgICAgICAgICAgICAgICAgICAvLyBEZXNjcmlwdG9yTmFtZTogY3Jl YXRlcyBuYW1lIGZvciBvZmZzZXQgb2YgcmVzb3VyY2UNCj4gZGVzY3JpcHRvcg0KPiArICAgICAg KSAgICAgICAgICAgICAgICAgICAgICAvLyBWZW5kb3IgRGF0YQ0KPiArDQo+ICsgICAgLy8gSW5k ZXggMQ0KPiArICAgIEkyQ1NlcmlhbEJ1cyggICAgICAgICAgICAvLyBQaW4gMTMsIDE1IG9mIEpQ MSwgZm9yIFNJT19JMkM1IChzaWduYWwpDQo+ICsgICAgICAweDAwLCAgICAgICAgICAgICAgICAg IC8vIFNsYXZlQWRkcmVzczogYnVzIGFkZHJlc3MgKFRCRCkNCj4gKyAgICAgICwgICAgICAgICAg ICAgICAgICAgICAgLy8gU2xhdmVNb2RlOiBkZWZhdWx0IHRvIENvbnRyb2xsZXJJbml0aWF0ZWQN Cj4gKyAgICAgIDQwMDAwMCwgICAgICAgICAgICAgICAgLy8gQ29ubmVjdGlvblNwZWVkOiBpbiBI eg0KPiArICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBBZGRyZXNzaW5nIE1vZGU6IGRl ZmF1bHQgdG8gNyBiaXQNCj4gKyAgICAgICJcXF9TQi5JMkM2IiwgICAgICAgICAgLy8gUmVzb3Vy Y2VTb3VyY2U6IEkyQyBidXMgY29udHJvbGxlciBuYW1lIChGb3INCj4gTWlubm93Qm9hcmQgTWF4 LCBoYXJkd2FyZSBJMkM1KDAtYmFzZWQpIGlzIHJlcG9ydGVkIGFzIEFDUEkgSTJDNigxLQ0KPiBi YXNlZCkpDQo+ICsgICAgICAsDQo+ICsgICAgICAsDQo+ICsgICAgICBKSTJDLCAgICAgICAgICAg ICAgICAgIC8vIERlc2NyaXB0b3IgTmFtZTogY3JlYXRlcyBuYW1lIGZvciBvZmZzZXQgb2YgcmVz b3VyY2UNCj4gZGVzY3JpcHRvcg0KPiArICAgICAgKSAgICAgICAgICAgICAgICAgICAgICAvLyBW ZW5kb3JEYXRhDQo+ICsNCj4gKyAgICAvLyBJbmRleCAyDQo+ICsgICAgVUFSVFNlcmlhbEJ1cygg ICAgICAgICAgIC8vIFBpbiAxNywgMTkgb2YgSlAxLCBmb3IgU0lPX1VBUlQyDQo+ICsgICAgICAx MTUyMDAsICAgICAgICAgICAgICAgIC8vIEluaXRpYWxCYXVkUmF0ZTogaW4gYml0cyBiZXIgc2Vj b25kDQo+ICsgICAgICAsICAgICAgICAgICAgICAgICAgICAgIC8vIEJpdHNQZXJCeXRlOiBkZWZh dWx0IHRvIDggYml0cw0KPiArICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBTdG9wQml0 czogRGVmYXVsdHMgdG8gb25lIGJpdA0KPiArICAgICAgMHhmYywgICAgICAgICAgICAgICAgICAv LyBMaW5lc0luVXNlOiA4IDEtYml0IGZsYWdzIHRvIGRlY2xhcmUgbGluZSBlbmFibGVkDQo+ICsg ICAgICAsICAgICAgICAgICAgICAgICAgICAgIC8vIElzQmlnRW5kaWFuOiBkZWZhdWx0IHRvIExp dHRsZUVuZGlhbg0KPiArICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBQYXJpdHk6IERl ZmF1bHRzIHRvIG5vIHBhcml0eQ0KPiArICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBG bG93Q29udHJvbDogRGVmYXVsdHMgdG8gbm8gZmxvdyBjb250cm9sDQo+ICsgICAgICAzMiwgICAg ICAgICAgICAgICAgICAgIC8vIFJlY2VpdmVCdWZmZXJTaXplDQo+ICsgICAgICAzMiwgICAgICAg ICAgICAgICAgICAgIC8vIFRyYW5zbWl0QnVmZmVyU2l6ZQ0KPiArICAgICAgIlxcX1NCLlVSVDIi LCAgICAgICAgICAvLyBSZXNvdXJjZVNvdXJjZTogVUFSVCBidXMgY29udHJvbGxlciBuYW1lDQo+ ICsgICAgICAsDQo+ICsgICAgICAsDQo+ICsgICAgICBVQVIyLCAgICAgICAgICAgICAgICAgIC8v IERlc2NyaXB0b3JOYW1lOiBjcmVhdGVzIG5hbWUgZm9yIG9mZnNldCBvZiByZXNvdXJjZQ0KPiBk ZXNjcmlwdG9yDQo+ICsgICAgICApDQo+ICsNCj4gKyAgICAvLyBJbmRleCAzDQo+ICsgICAgR3Bp b0lvIChTaGFyZWQsIFB1bGxEZWZhdWx0LCAwLCAwLCBJb1Jlc3RyaWN0aW9uTm9uZSwgIlxcX1NC LkdQTzIiLCkgezB9DQo+IC8vIFBpbiAyMSBvZiBKUDEgKEdQSU9fUzVbMDBdKQ0KPiArICAgIC8v IEluZGV4IDQNCj4gKyAgICBHcGlvSW50KEVkZ2UsIEFjdGl2ZUJvdGgsIFNoYXJlZEFuZFdha2Us IFB1bGxOb25lLCAwLCJcXF9TQi5HUE8yIiwpDQo+IHswfQ0KPiArDQo+ICsgICAgLy8gSW5kZXgg NQ0KPiArICAgIEdwaW9JbyAoU2hhcmVkLCBQdWxsRGVmYXVsdCwgMCwgMCwgSW9SZXN0cmljdGlv bk5vbmUsICJcXF9TQi5HUE8yIiwpIHsxfQ0KPiAvLyBQaW4gMjMgb2YgSlAxIChHUElPX1M1WzAx XSkNCj4gKyAgICAvLyBJbmRleCA2DQo+ICsgICAgR3Bpb0ludChFZGdlLCBBY3RpdmVCb3RoLCBT aGFyZWRBbmRXYWtlLCBQdWxsTm9uZSwgMCwiXFxfU0IuR1BPMiIsKQ0KPiB7MX0NCj4gKw0KPiAr ICAgIC8vIEluZGV4IDcNCj4gKyAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERlZmF1bHQsIDAsIDAs IElvUmVzdHJpY3Rpb25Ob25lLCAiXFxfU0IuR1BPMiIsKSB7Mn0NCj4gLy8gUGluIDI1IG9mIEpQ MSAoR1BJT19TNVswMl0pDQo+ICsgICAgLy8gSW5kZXggOA0KPiArICAgIEdwaW9JbnQoRWRnZSwg QWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwgUHVsbE5vbmUsIDAsIlxcX1NCLkdQTzIiLCkNCj4g ezJ9DQo+ICsNCj4gKyAgICAvLyBJbmRleCA5DQo+ICsgICAgVUFSVFNlcmlhbEJ1cyggICAgICAg ICAgIC8vIFBpbiA2LCA4LCAxMCwgMTIgb2YgSlAxLCBmb3IgU0lPX1VBUlQxDQo+ICsgICAgICAx MTUyMDAsICAgICAgICAgICAgICAgIC8vIEluaXRpYWxCYXVkUmF0ZTogaW4gYml0cyBiZXIgc2Vj b25kDQo+ICsgICAgICAsICAgICAgICAgICAgICAgICAgICAgIC8vIEJpdHNQZXJCeXRlOiBkZWZh dWx0IHRvIDggYml0cw0KPiArICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBTdG9wQml0 czogRGVmYXVsdHMgdG8gb25lIGJpdA0KPiArICAgICAgMHhmYywgICAgICAgICAgICAgICAgICAv LyBMaW5lc0luVXNlOiA4IDEtYml0IGZsYWdzIHRvIGRlY2xhcmUgbGluZSBlbmFibGVkDQo+ICsg ICAgICAsICAgICAgICAgICAgICAgICAgICAgIC8vIElzQmlnRW5kaWFuOiBkZWZhdWx0IHRvIExp dHRsZUVuZGlhbg0KPiArICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBQYXJpdHk6IERl ZmF1bHRzIHRvIG5vIHBhcml0eQ0KPiArICAgICAgRmxvd0NvbnRyb2xIYXJkd2FyZSwgICAvLyBG bG93Q29udHJvbDogRGVmYXVsdHMgdG8gbm8gZmxvdyBjb250cm9sDQo+ICsgICAgICAzMiwgICAg ICAgICAgICAgICAgICAgIC8vIFJlY2VpdmVCdWZmZXJTaXplDQo+ICsgICAgICAzMiwgICAgICAg ICAgICAgICAgICAgIC8vIFRyYW5zbWl0QnVmZmVyU2l6ZQ0KPiArICAgICAgIlxcX1NCLlVSVDEi LCAgICAgICAgICAvLyBSZXNvdXJjZVNvdXJjZTogVUFSVCBidXMgY29udHJvbGxlciBuYW1lDQo+ ICsgICAgICAsDQo+ICsgICAgICAsDQo+ICsgICAgICBVQVIxLCAgICAgICAgICAgICAgLy8gRGVz Y3JpcHRvck5hbWU6IGNyZWF0ZXMgbmFtZSBmb3Igb2Zmc2V0IG9mIHJlc291cmNlDQo+IGRlc2Ny aXB0b3INCj4gKyAgICAgICkNCj4gKw0KPiArICAgIC8vIEluZGV4IDEwDQo+ICsgICAgR3Bpb0lv IChTaGFyZWQsIFB1bGxEZWZhdWx0LCAwLCAwLCBJb1Jlc3RyaWN0aW9uTm9uZSwgIlxcX1NCLkdQ TzAiLCkgezYyfQ0KPiAvLyBQaW4gMTQgb2YgSlAxIChHUElPX1NDWzYyXSkNCj4gKyAgICAvLyBJ bmRleCAxMQ0KPiArICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwg UHVsbE5vbmUsIDAsIlxcX1NCLkdQTzAiLCkNCj4gezYyfQ0KPiArDQo+ICsgICAgLy8gSW5kZXgg MTINCj4gKyAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERlZmF1bHQsIDAsIDAsIElvUmVzdHJpY3Rp b25Ob25lLCAiXFxfU0IuR1BPMCIsKSB7NjN9DQo+IC8vIFBpbiAxNiBvZiBKUDEgKEdQSU9fU0Nb NjNdKQ0KPiArICAgIC8vIEluZGV4IDEzDQo+ICsgICAgR3Bpb0ludChFZGdlLCBBY3RpdmVCb3Ro LCBTaGFyZWRBbmRXYWtlLCBQdWxsTm9uZSwgMCwiXFxfU0IuR1BPMCIsKQ0KPiB7NjN9DQo+ICsN Cj4gKyAgICAvLyBJbmRleCAxNA0KPiArICAgIEdwaW9JbyAoU2hhcmVkLCBQdWxsRGVmYXVsdCwg MCwgMCwgSW9SZXN0cmljdGlvbk5vbmUsICJcXF9TQi5HUE8wIiwpIHs2NX0NCj4gLy8gUGluIDE4 IG9mIEpQMSAoR1BJT19TQ1s2NV0pDQo+ICsgICAgLy8gSW5kZXggMTUNCj4gKyAgICBHcGlvSW50 KEVkZ2UsIEFjdGl2ZUJvdGgsIFNoYXJlZEFuZFdha2UsIFB1bGxOb25lLCAwLCJcXF9TQi5HUE8w IiwpDQo+IHs2NX0NCj4gKw0KPiArICAgIC8vIEluZGV4IDE2DQo+ICsgICAgR3Bpb0lvIChTaGFy ZWQsIFB1bGxEZWZhdWx0LCAwLCAwLCBJb1Jlc3RyaWN0aW9uTm9uZSwgIlxcX1NCLkdQTzAiLCkg ezY0fQ0KPiAvLyBQaW4gMjAgb2YgSlAxIChHUElPX1NDWzY0XSkNCj4gKyAgICAvLyBJbmRleCAx Nw0KPiArICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwgUHVsbE5v bmUsIDAsIlxcX1NCLkdQTzAiLCkNCj4gezY0fQ0KPiArDQo+ICsgICAgLy8gSW5kZXggMTgNCj4g KyAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERlZmF1bHQsIDAsIDAsIElvUmVzdHJpY3Rpb25Ob25l LCAiXFxfU0IuR1BPMCIsKSB7OTR9DQo+IC8vIFBpbiAyMiBvZiBKUDEgKEdQSU9fU0NbOTRdKQ0K PiArICAgIC8vIEluZGV4IDE5DQo+ICsgICAgR3Bpb0ludChFZGdlLCBBY3RpdmVCb3RoLCBTaGFy ZWRBbmRXYWtlLCBQdWxsTm9uZSwgMCwiXFxfU0IuR1BPMCIsKQ0KPiB7OTR9DQo+ICsNCj4gKyAg ICAvLyBJbmRleCAyMA0KPiArICAgIEdwaW9JbyAoU2hhcmVkLCBQdWxsRGVmYXVsdCwgMCwgMCwg SW9SZXN0cmljdGlvbk5vbmUsICJcXF9TQi5HUE8wIiwpIHs5NX0NCj4gLy8gUGluIDI0IG9mIEpQ MSAoR1BJT19TQ1s5NV0pDQo+ICsgICAgLy8gSW5kZXggMjENCj4gKyAgICBHcGlvSW50KEVkZ2Us IEFjdGl2ZUJvdGgsIFNoYXJlZEFuZFdha2UsIFB1bGxOb25lLCAwLCJcXF9TQi5HUE8wIiwpDQo+ IHs5NX0NCj4gKw0KPiArICAgIC8vIEluZGV4IDIyDQo+ICsgICAgR3Bpb0lvIChTaGFyZWQsIFB1 bGxEZWZhdWx0LCAwLCAwLCBJb1Jlc3RyaWN0aW9uTm9uZSwgIlxcX1NCLkdQTzAiLCkgezU0fQ0K PiAvLyBQaW4gMjYgb2YgSlAxIChHUElPX1NDWzU0XSkNCj4gKyAgICAvLyBJbmRleCAyMw0KPiAr ICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwgUHVsbE5vbmUsIDAs IlxcX1NCLkdQTzAiLCkNCj4gezU0fQ0KPiArICB9KQ0KPiArDQo+ICsgIE5hbWUoX0RTRCwgUGFj a2FnZSgpIHsNCj4gKyAgICBUb1VVSUQoImRhZmZkODE0LTZlYmEtNGQ4Yy04YTkxLWJjOWJiZjRh YTMwMSIpLA0KPiArICAgIFBhY2thZ2UoMSkgewkgIC8vIEp1c3Qgb25lIFByb3BlcnR5IGZvciBJ T1QgKGF0IHRoaXMgdGltZSkNCj4gKyAgICAgIFBhY2thZ2UoMikgewkvL1RoZSDvv71zeW1ib2xp Yy1pZGVudGlmaWVyc++/vSBwcm9wZXJ0eQ0KPiArICAgICAgICAic3ltYm9saWMtaWRlbnRpZmll cnMiLA0KPiArICAgICAgICBQYWNrYWdlKCkgewkvL0NvbnRhaW5zIGFsbCB0aGUgPHJlc291cmNl IGluZGV4LCBzeW1ib2xpYy0NCj4gaWRlbnRpZmllcj4gcGFpcnMNCj4gKyAgICAgICAgICAwLCAi U1BJMCIsDQo+ICsgICAgICAgICAgMSwgIkkyQzUiLA0KPiArICAgICAgICAgIDIsICJVQVJUMiIs DQo+ICsgICAgICAgICAgMywgMjEsICAgICAgIC8vIFBpbiAyMSBvZiBKUDEgKEdQSU9fUzVbMDBd KQ0KPiArICAgICAgICAgIDQsIDIxLCAgICAgICAvLyBQaW4gMjEgZm9yIHNlcGFyYXRlIHJlc291 cmNlLg0KPiArICAgICAgICAgIDUsIDIzLCAgICAgICAvLyBQaW4gMjMgb2YgSlAxIChHUElPX1M1 WzAxXSkNCj4gKyAgICAgICAgICA2LCAyMywNCj4gKyAgICAgICAgICA3LCAyNSwgICAgICAgLy8g UGluIDI1IG9mIEpQMSAoR1BJT19TNVswMl0pDQo+ICsgICAgICAgICAgOCwgMjUsDQo+ICsgICAg ICAgICAgOSwgIlVBUlQxIiwNCj4gKyAgICAgICAgICAxMCwgMTQsICAgICAgLy8gUGluIDE0IG9m IEpQMSAoR1BJT19TQ1s2Ml0pDQo+ICsgICAgICAgICAgMTEsIDE0LA0KPiArICAgICAgICAgIDEy LCAxNiwgICAgICAvLyBQaW4gMTYgb2YgSlAxIChHUElPX1NDWzYzXSkNCj4gKyAgICAgICAgICAx MywgMTYsDQo+ICsgICAgICAgICAgMTQsIDE4LCAgICAgIC8vIFBpbiAxOCBvZiBKUDEgKEdQSU9f U0NbNjVdKQ0KPiArICAgICAgICAgIDE1LCAxOCwNCj4gKyAgICAgICAgICAxNiwgMjAsICAgICAg Ly8gUGluIDIwIG9mIEpQMSAoR1BJT19TQ1s2NF0pDQo+ICsgICAgICAgICAgMTcsIDIwLA0KPiAr ICAgICAgICAgIDE4LCAyMiwgICAgICAvLyBQaW4gMjIgb2YgSlAxIChHUElPX1NDWzk0XSkNCj4g KyAgICAgICAgICAxOSwgMjIsDQo+ICsgICAgICAgICAgMjAsIDI0LCAgICAgIC8vIFBpbiAyNCBv ZiBKUDEgKEdQSU9fU0NbOTVdKQ0KPiArICAgICAgICAgIDIxLCAyNCwNCj4gKyAgICAgICAgICAy MiwgMjYsICAgICAgLy8gUGluIDI2IG9mIEpQMSAoR1BJT19TQ1s1NF0pDQo+ICsgICAgICAgICAg MjMsIDI2DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0pDQo+ICsN Cj4gKyAgTWV0aG9kKF9TVEEsMCxTZXJpYWxpemVkKSB7DQo+ICsNCj4gKyAgICAvLw0KPiArICAg IC8vIE9ubHkgcmVwb3J0IElvVCB2aXJ0dWFsIGRldmljZSB3aGVuIGFsbCBwaW5zJyBjb25maWd1 cmF0aW9uIGZvbGxvd3MNCj4gTVNGVCdzIGRhdGFzaGVldC4NCj4gKyAgICAvLw0KPiArICAgIElm IChMRXF1YWwoSU9ULCAxKSkgew0KPiArICAgICAgUmV0dXJuICgweEYpDQo+ICsgICAgfQ0KPiAr DQo+ICsgICAgUmV0dXJuICgweDApDQo+ICsgIH0NCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvTFBDX0RFVi5B U0wNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FU L0xQQ19ERVYuQVNMDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LjczNjdmNGM3N2MNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0xQQ19ERVYuQVNMDQo+IEBAIC0wLDAgKzEs MTUxIEBADQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqOw0KPiArOyogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq Ow0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgSW50ZWwgQ29ycG9yYXRpb24gLSBB Q1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwgICAgICAgICAgICAqOw0KPiArOyog ICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5jZSBCb2FyZHMuICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkICAgICo7DQo+ICs7DQo+ICs7IFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7KiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioq Lw0KPiArDQo+ICtEZXZpY2UoRldIRCkgLy8gRmlybXdhcmUgSHViIERldmljZQ0KPiArew0KPiAr ICBOYW1lKF9ISUQsRUlTQUlEKCJJTlQwODAwIikpDQo+ICsNCj4gKyAgTmFtZShfQ1JTLFJlc291 cmNlVGVtcGxhdGUoKQ0KPiArICB7DQo+ICsgICAgTWVtb3J5MzJGaXhlZChSZWFkT25seSwweEZG MDAwMDAwLDB4MTAwMDAwMCkNCj4gKyAgfSkNCj4gK30NCj4gKw0KPiArRGV2aWNlKElQSUMpIC8v IDgyNTkgUElDDQo+ICt7DQo+ICsgIE5hbWUoX0hJRCxFSVNBSUQoIlBOUDAwMDAiKSkNCj4gKw0K PiArICBOYW1lKF9DUlMsUmVzb3VyY2VUZW1wbGF0ZSgpDQo+ICsgIHsNCj4gKyAgICBJTyhEZWNv ZGUxNiwweDIwLDB4MjAsMHgwMSwweDAyKQ0KPiArICAgIElPKERlY29kZTE2LDB4MjQsMHgyNCww eDAxLDB4MDIpDQo+ICsgICAgSU8oRGVjb2RlMTYsMHgyOCwweDI4LDB4MDEsMHgwMikNCj4gKyAg ICBJTyhEZWNvZGUxNiwweDJDLDB4MkMsMHgwMSwweDAyKQ0KPiArICAgIElPKERlY29kZTE2LDB4 MzAsMHgzMCwweDAxLDB4MDIpDQo+ICsgICAgSU8oRGVjb2RlMTYsMHgzNCwweDM0LDB4MDEsMHgw MikNCj4gKyAgICBJTyhEZWNvZGUxNiwweDM4LDB4MzgsMHgwMSwweDAyKQ0KPiArICAgIElPKERl Y29kZTE2LDB4M0MsMHgzQywweDAxLDB4MDIpDQo+ICsgICAgSU8oRGVjb2RlMTYsMHhBMCwweEEw LDB4MDEsMHgwMikNCj4gKyAgICBJTyhEZWNvZGUxNiwweEE0LDB4QTQsMHgwMSwweDAyKQ0KPiAr ICAgIElPKERlY29kZTE2LDB4QTgsMHhBOCwweDAxLDB4MDIpDQo+ICsgICAgSU8oRGVjb2RlMTYs MHhBQywweEFDLDB4MDEsMHgwMikNCj4gKyAgICBJTyhEZWNvZGUxNiwweEIwLDB4QjAsMHgwMSww eDAyKQ0KPiArICAgIElPKERlY29kZTE2LDB4QjQsMHhCNCwweDAxLDB4MDIpDQo+ICsgICAgSU8o RGVjb2RlMTYsMHhCOCwweEI4LDB4MDEsMHgwMikNCj4gKyAgICBJTyhEZWNvZGUxNiwweEJDLDB4 QkMsMHgwMSwweDAyKQ0KPiArICAgIElPKERlY29kZTE2LDB4NEQwLDB4NEQwLDB4MDEsMHgwMikN Cj4gKyAgICBJUlFOb0ZsYWdzKCkgezJ9DQo+ICsgIH0pDQo+ICt9DQo+ICsNCj4gK0RldmljZShM RFJDKSAvLyBMUEMgRGV2aWNlIFJlc291cmNlIENvbnN1bXB0aW9uDQo+ICt7DQo+ICsgIE5hbWUo X0hJRCxFSVNBSUQoIlBOUDBDMDIiKSkNCj4gKw0KPiArICBOYW1lKF9VSUQsMikNCj4gKw0KPiAr ICBOYW1lKF9DUlMsUmVzb3VyY2VUZW1wbGF0ZSgpDQo+ICsgIHsNCj4gKyAgICBJTyhEZWNvZGUx NiwweDRFLDB4NEUsMHgxLDB4MDIpICAgICAgICAgLy8gTFBDIFNsb3QgQWNjZXNzLg0KPiArICAg IElPKERlY29kZTE2LDB4NjEsMHg2MSwweDEsMHgxKSAgICAgICAgICAvLyBOTUkgU3RhdHVzLg0K PiArICAgIElPKERlY29kZTE2LDB4NjMsMHg2MywweDEsMHgxKSAgICAgICAgICAvLyBQcm9jZXNz b3IgSS9GLg0KPiArICAgIElPKERlY29kZTE2LDB4NjUsMHg2NSwweDEsMHgxKSAgICAgICAgICAv LyBQcm9jZXNzb3IgSS9GLg0KPiArICAgIElPKERlY29kZTE2LDB4NjcsMHg2NywweDEsMHgxKSAg ICAgICAgICAvLyBQcm9jZXNzb3IgSS9GLg0KPiArICAgIElPKERlY29kZTE2LDB4NzAsMHg3MCww eDEsMHgxKSAgICAgICAgICAvLyBOTUkgRW5hYmxlLg0KPiArICAgIElPKERlY29kZTE2LDB4ODAs MHg4MCwweDEsMHgxMCkgICAgICAgICAvLyBQb3N0Y29kZS4NCj4gKyAgICBJTyhEZWNvZGUxNiww eDkyLDB4OTIsMHgxLDB4MSkgICAgICAgICAgLy8gUHJvY2Vzc29yIEkvRi4NCj4gKyAgICBJTyhE ZWNvZGUxNiwweEIyLDB4QjIsMHgwMSwweDAyKSAgICAgICAgLy8gU29mdHdhcmUgU01JLg0KPiAr ICAgIElPKERlY29kZTE2LDB4NjgwLDB4NjgwLDB4MSwweDIwKSAgICAgICAvLyAzMiBCeXRlIEkv Ty4NCj4gKyAgICBJTyhEZWNvZGUxNiwweDQwMCwweDQwMCwweDEsMHg4MCkgICAgICAgLy8gQUNQ SSBCYXNlLg0KPiArICAgIElPKERlY29kZTE2LDB4NTAwLDB4NTAwLDB4MSwweEZGKSAgICAgICAv LyBHUElPIEJhc2UuDQo+ICsgIH0pDQo+ICt9DQo+ICsNCj4gK0RldmljZShUSU1SKSAvLyA4MjU0 IFRpbWVyDQo+ICt7DQo+ICsgIE5hbWUoX0hJRCxFSVNBSUQoIlBOUDAxMDAiKSkNCj4gKw0KPiAr ICBOYW1lKF9DUlMsUmVzb3VyY2VUZW1wbGF0ZSgpDQo+ICsgIHsNCj4gKyAgICBJTyhEZWNvZGUx NiwweDQwLDB4NDAsMHgwMSwweDA0KQ0KPiArICAgIElPKERlY29kZTE2LDB4NTAsMHg1MCwweDEw LDB4MDQpDQo+ICsgICAgSVJRTm9GbGFncygpIHswfQ0KPiArICB9KQ0KPiArfQ0KPiArDQo+ICtE ZXZpY2UoSVVSMykgLy8gSW50ZXJuYWwgVUFSVA0KPiArew0KPiArICBOYW1lKF9ISUQsIEVJU0FJ RCgiUE5QMDUwMSIpKQ0KPiArDQo+ICsgIE5hbWUoX1VJRCwxKQ0KPiArDQo+ICsgIC8vIFN0YXR1 cyBNZXRob2QgZm9yIGludGVybmFsIFVBUlQNCj4gKw0KPiArICBNZXRob2QoX1NUQSwwLFNlcmlh bGl6ZWQpDQo+ICsgIHsNCj4gKyAgICAvLyBPbmx5IHJlcG9ydCByZXNvdXJjZXMgdG8gdGhlIE9T IGlmIGludGVybmFsIFVBUlQgaXMNCj4gKyAgICAvLyBub3Qgc2V0IHRvIERpc2FibGVkIGluIEJJ T1MgU2V0dXAuDQo+ICsNCj4gKyAgICBJZihMRXF1YWwoVVNFTCwwKSkNCj4gKyAgICB7DQo+ICsg ICAgICBJZihMRXF1YWwoUFUxRSwxKSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgU3RvcmUoMSxV STNFKSAvLyBFbmFibGUgSVJRMyBmb3IgVUFSVA0KPiArICAgICAgICBTdG9yZSgxLFVJNEUpIC8v IEVuYWJsZSBJUlE0IGZvciBVQVJUDQo+ICsgICAgICAgIFN0b3JlKDEsQzFFTikgLy8gRW5hYmxl IFVBUlQNCj4gKyAgICAgICAgUmV0dXJuKDB4MDAwRikNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ ICsNCj4gKyAgICBSZXR1cm4oMHgwMDAwKQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGlzYWJsZSBN ZXRob2QgZm9yIGludGVybmFsIFVBUlQNCj4gKw0KPiArICBNZXRob2QoX0RJUywwLFNlcmlhbGl6 ZWQpDQo+ICsgIHsNCj4gKyAgICBTdG9yZSgwLFVJM0UpDQo+ICsgICAgU3RvcmUoMCxVSTRFKQ0K PiArICAgIFN0b3JlKDAsQzFFTikNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIEN1cnJlbnQgUmVzb3Vy Y2UgU2V0dGluZyBNZXRob2QgZm9yIGludGVybmFsIFVBUlQNCj4gKw0KPiArICBNZXRob2QoX0NS UywwLFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICAvLyBDcmVhdGUgdGhlIEJ1ZmZlciB0aGF0 IHN0b3JlcyB0aGUgUmVzb3VyY2VzIHRvDQo+ICsgICAgLy8gYmUgcmV0dXJuZWQuDQo+ICsNCj4g KyAgICBOYW1lKEJVRjAsUmVzb3VyY2VUZW1wbGF0ZSgpDQo+ICsgICAgew0KPiArICAgICAgSU8o RGVjb2RlMTYsMHgwM0Y4LDB4MDNGOCwweDAxLDB4MDgpDQo+ICsgICAgICBJUlFOb0ZsYWdzKCkg ezN9DQo+ICsgICAgfSkNCj4gKw0KPiArICAgIE5hbWUoQlVGMSxSZXNvdXJjZVRlbXBsYXRlKCkN Cj4gKyAgICB7DQo+ICsgICAgICBJTyhEZWNvZGUxNiwweDAzRjgsMHgwM0Y4LDB4MDEsMHgwOCkN Cj4gKyAgICAgIElSUU5vRmxhZ3MoKSB7NH0NCj4gKyAgICB9KQ0KPiArDQo+ICsgICAgSWYgKExM ZXNzRXF1YWwoU1JJRCwgMHgwNCkpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKEJVRjApDQo+ ICsgICAgfSBFbHNlDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKEJVRjEpDQo+ICsgICAgfQ0K PiArICB9DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZD b2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0xwY0IuYXNsDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2 aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9McGNCLmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4xNTdjMTQ5ZDBhDQo+IC0tLSAvZGV2L251bGwNCj4g KysrIGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9M cGNCLmFzbA0KPiBAQCAtMCwwICsxLDU5IEBADQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqOw0K PiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAg SW50ZWwgQ29ycG9yYXRpb24gLSBBQ1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwg ICAgICAgICAgICAqOw0KPiArOyogICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5jZSBCb2Fy ZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAyMDEy ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkICAgICo7DQo+ ICs7DQo+ICs7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICs7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7 KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq DQo+ICoqKioqKioqKioqKioqKioqLw0KPiArDQo+ICsNCj4gKy8vIExQQyBCcmlkZ2UgLSBEZXZp Y2UgMzEsIEZ1bmN0aW9uIDANCj4gKy8vIERlZmluZSB0aGUgbmVlZGVkIExQQyByZWdpc3RlcnMg dXNlZCBieSBBU0wuDQo+ICsNCj4gK3Njb3BlKFxfU0IpDQo+ICt7DQo+ICsgIE9wZXJhdGlvblJl Z2lvbihJTEJSLCBTeXN0ZW1NZW1vcnksIFxJQkFTLCAweDhDKQ0KPiArICBGaWVsZChJTEJSLCBB bnlBY2MsIE5vTG9jaywgUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICBPZmZzZXQoMHgwOCksIC8v IDB4MDgNCj4gKyAgICBQQVJDLCAgIDgsDQo+ICsgICAgUEJSQywgICA4LA0KPiArICAgIFBDUkMs ICAgOCwNCj4gKyAgICBQRFJDLCAgIDgsDQo+ICsgICAgUEVSQywgICA4LA0KPiArICAgIFBGUkMs ICAgOCwNCj4gKyAgICBQR1JDLCAgIDgsDQo+ICsgICAgUEhSQywgICA4LA0KPiArICAgIE9mZnNl dCgweDg4KSwgLy8gMHg4OA0KPiArICAgICwgICAgICAgMywNCj4gKyAgICBVSTNFLCAgIDEsDQo+ ICsgICAgVUk0RSwgICAxDQo+ICsgIH0NCj4gKw0KPiArICBJbmNsdWRlICgiOThfTElOSy5BU0wi KQ0KPiArfQ0KPiArDQo+ICtPcGVyYXRpb25SZWdpb24oTFBDMCwgUENJX0NvbmZpZywgMHgwMCwg MHhDMCkNCj4gK0ZpZWxkKExQQzAsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCj4gK3sNCj4g KyAgT2Zmc2V0KDB4MDgpLCAvLyAweDA4DQo+ICsgIFNSSUQsICAgOCwgIC8vIFJldmlzaW9uIElE DQo+ICsgIE9mZnNldCgweDA4MCksIC8vIDB4ODANCj4gKyAgQzFFTiwgICAxLCAvLyBDT00xIEVu YWJsZQ0KPiArICAsICAgICAgMzENCj4gK30NCj4gKw0KPiArDQo+ICtJbmNsdWRlICgiTFBDX0RF Vi5BU0wiKQ0KPiArDQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gZGlmZiAtLWdpdCBhL1NpbGljb24v SW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvTHBpdC9McGl0LmFzbGMN Cj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0xw aXQvTHBpdC5hc2xjDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu Ljk4NDdlYzNhMTINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL0xwaXQvTHBpdC5hc2xjDQo+IEBAIC0wLDAg KzEsMjIzIEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiAr LS0qLw0KPiArDQo+ICsvLw0KPiArLy8gSW5jbHVkZSBmaWxlcw0KPiArLy8NCj4gKw0KPiArI2lu Y2x1ZGUgPFBpRHhlLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9BY3BpNTAuaD4N Cj4gKw0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBMUElUIERlZmluaXRpb25zDQo+ICsvLw0KPiAr DQo+ICsjZGVmaW5lIEVGSV9BQ1BJX0xPV19QT1dFUl9JRExFX1RBQkxFX1JFVklTSU9OIDB4MQ0K PiArDQo+ICsvLw0KPiArLy8gRW5zdXJlIHByb3BlciBzdHJ1Y3R1cmUgZm9ybWF0cw0KPiArLy8N Cj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICt0eXBlZGVmIHVuaW9uIF9FRklfQUNQSV9MUElf U1RBVEVfRkxBR1Mgew0KPiArICBzdHJ1Y3Qgew0KPiArICAgIFVJTlQzMiBEaXNhYmxlZCAgICAg ICAgICAgOjE7DQo+ICsgICAgVUlOVDMyIENvdW50ZXJVbmF2YWlsYWJsZSA6MTsNCj4gKyAgICBV SU5UMzIgUmVzZXJ2ZWQgICAgICAgICAgIDozMDsNCj4gKyAgfTsNCj4gKyAgVUlOVDMyIEFzVWxv bmc7DQo+ICt9IEVGSV9BQ1BJX0xQSV9TVEFURV9GTEFHUywgKlBFRklfQUNQSV9MUElfU1RBVEVf RkxBR1M7DQo+ICsNCj4gKy8vIE9ubHkgTXdhaXQgTFBJIGhlcmU6DQo+ICsNCj4gK3R5cGVkZWYg c3RydWN0IF9FRklfQUNQSV9NV0FJVF9MUElfU1RBVEVfREVTQ1JJUFRPUiB7DQo+ICsgIFVJTlQz MiBUeXBlOyAgICAgICAgLy8gb2Zmc2V0OiAwDQo+ICsgIFVJTlQzMiBMZW5ndGg7ICAgICAgLy8g b2Zmc2V0OiA0DQo+ICsgIFVJTlQxNiBVbmlxdWVJZDsgICAgLy8gb2Zmc2V0OiA4DQo+ICsgIFVJ TlQ4IFJlc2VydmVkWzJdOyAgLy8gb2Zmc2V0OiA5DQo+ICsgIEVGSV9BQ1BJX0xQSV9TVEFURV9G TEFHUyBGbGFnczsgLy8gb2Zmc2V0OiAxMg0KPiArICBFRklfQUNQSV8yXzBfR0VORVJJQ19BRERS RVNTX1NUUlVDVFVSRSBFbnRyeVRyaWdnZXI7IC8vIG9mZnNldDogMTYNCj4gKyAgVUlOVDMyIFJl c2lkZW5jeTsgICAvLyBvZmZzZXQ6IDI4DQo+ICsgIFVJTlQzMiBMYXRlbmN5OyAgICAgLy8gb2Zm c2V0OiAzMg0KPiArICBFRklfQUNQSV8yXzBfR0VORVJJQ19BRERSRVNTX1NUUlVDVFVSRSBSZXNp ZGVuY3lDb3VudGVyOyAvLw0KPiBvZmZzZXQ6IDM2DQo+ICsgIFVJTlQ2NCBSZXNpZGVuY3lDb3Vu dGVyRnJlcXVlbmN5OyAvL29mZnNldDogNDgNCj4gK30gRUZJX0FDUElfTVdBSVRfTFBJX1NUQVRF X0RFU0NSSVBUT1I7DQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIERlZmluZXMgZm9yIExQSVQgdGFi bGUsIHNvbWUgYXJlIFZMViBzcGVjaWZpYw0KPiArLy8NCj4gKw0KPiArDQo+ICsvLyBzaWduYXR1 cmUgIkxQSVQiDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX0xPV19QT1dFUl9JRExFX1RBQkxFX1NJR05B VFVSRSAgMHg1NDQ5NTA0Yw0KPiArDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX09FTV9MUElUX1JFVklT SU9OICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKw0KPiArI2RlZmluZSBFRklf QUNQSV9MT1dfUE9XRVJfSURMRV9NV0FJVF9UWVBFICAgIDB4MA0KPiArI2RlZmluZSBFRklfQUNQ SV9MT1dfUE9XRVJfSURMRV9ERUZBVUxUX0ZMQUcgIDB4MA0KPiArI2RlZmluZSBFRklfQUNQSV9M T1dfUE9XRVJfSURMRV9SRVNfRlJFUV84SyAgIDB4ODAwMCAgICAvLyAzMjc2OA0KPiArDQo+ICsv Lw0KPiArLy8gTFBJIHN0YXRlIGNvdW50ICg0IG9uIFZMVjogUzBpciwgUzBpMSwgUzBpMiwgUzBp MykNCj4gKy8vDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0FDUElfVkxWX0xQSV9TVEFURV9DT1VOVCAg ICAgICAgICAweDQNCj4gKw0KPiArLy8NCj4gKy8vIExQSSBUUklHR0VSIChIVyBDNyBvbiBWTFYp LA0KPiArLy8gVE9GSVghISENCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX1ZMVl9MUElfVFJJ R0dFUiB7MHg3RiwweDEsMHgyLDB4MCwweDY0fQ0KPiArDQo+ICsvLw0KPiArLy8gTFBJIHJlc2lk ZW5jeSBjb3VudGVyIChNTUlPKQ0KPiArLy8NCj4gKyNkZWZpbmUgIEVGSV9BQ1BJX1ZMVl9MUElf UkVTX0NPVU5URVIwICAgezB4MCwzMiwweDAsMHgwMywweEZFRDAzMDgwfQ0KPiArI2RlZmluZSAg RUZJX0FDUElfVkxWX0xQSV9SRVNfQ09VTlRFUjEgICB7MHgwLDMyLDB4MCwweDAzLDB4RkVEMDMw ODR9DQo+ICsjZGVmaW5lICBFRklfQUNQSV9WTFZfTFBJX1JFU19DT1VOVEVSMiAgIHsweDAsMzIs MHgwLDB4MDMsMHhGRUQwMzA4OH0NCj4gKyNkZWZpbmUgIEVGSV9BQ1BJX1ZMVl9MUElfUkVTX0NP VU5URVIzICAgezB4MCwzMiwweDAsMHgwMywweEZFRDAzMDhDfQ0KPiArDQo+ICsvLw0KPiArLy8g TFBJIGJyZWFrLWV2ZW4gcmVzaWRlbmN5IGluIHVzIC0gYWxsIG1hdGNoIFMwaTMgcmVzaWRlbmN5 DQo+ICsvLyBSZXNpZGVuY3kgZXN0aW1hdGU6IExhdGVuY3kgeCAzDQo+ICsvLw0KPiArI2RlZmlu ZSAgRUZJX0FDUElfVkxWX0xQSV9NSU5fUkVTMCAgIDE1MDAwDQo+ICsjZGVmaW5lICBFRklfQUNQ SV9WTFZfTFBJX01JTl9SRVMxICAgMTUwMDANCj4gKyNkZWZpbmUgIEVGSV9BQ1BJX1ZMVl9MUElf TUlOX1JFUzIgICAxNTAwMA0KPiArI2RlZmluZSAgRUZJX0FDUElfVkxWX0xQSV9NSU5fUkVTMyAg IDE1MDAwDQo+ICsNCj4gKy8vDQo+ICsvLyBMUEkgbGF0ZW5jeSBpbiB1cyAtIGFsbCBtYXRjaCBT MGkzIGxhdGVuY3kNCj4gKy8vDQo+ICsjZGVmaW5lICBFRklfQUNQSV9WTFZfTFBJX0xBVEVOQ1kw ICAgNTAwMA0KPiArI2RlZmluZSAgRUZJX0FDUElfVkxWX0xQSV9MQVRFTkNZMSAgIDUwMDANCj4g KyNkZWZpbmUgIEVGSV9BQ1BJX1ZMVl9MUElfTEFURU5DWTIgICA1MDAwDQo+ICsjZGVmaW5lICBF RklfQUNQSV9WTFZfTFBJX0xBVEVOQ1kzICAgNTAwMA0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBM UEkgSUQNCj4gKy8vDQo+ICsjZGVmaW5lICBFRklfQUNQSV9WTFZfTFBJX1VOSVFVRV9JRDAgICAw DQo+ICsjZGVmaW5lICBFRklfQUNQSV9WTFZfTFBJX1VOSVFVRV9JRDEgICAxDQo+ICsjZGVmaW5l ICBFRklfQUNQSV9WTFZfTFBJX1VOSVFVRV9JRDIgICAyDQo+ICsjZGVmaW5lICBFRklfQUNQSV9W TFZfTFBJX1VOSVFVRV9JRDMgICAzDQo+ICsNCj4gKy8vDQo+ICsvLyAgTFBJIEFDUEkgdGFibGUg aGVhZGVyDQo+ICsvLw0KPiArDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IF9FRklfQUNQSV9MT1df UE9XRVJfSURMRV9UQUJMRSB7DQo+ICsgIEVGSV9BQ1BJX0RFU0NSSVBUSU9OX0hFQURFUiAgICAg ICAgICAgICBIZWFkZXI7DQo+ICsgIEVGSV9BQ1BJX01XQUlUX0xQSV9TVEFURV9ERVNDUklQVE9S DQo+IExwaVN0YXRlc1tFRklfQUNQSV9WTFZfTFBJX1NUQVRFX0NPVU5UXTsNCj4gK30gRUZJX0FD UElfTE9XX1BPV0VSX0lETEVfVEFCTEU7DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4g K0VGSV9BQ1BJX0xPV19QT1dFUl9JRExFX1RBQkxFIExwaXQgPSB7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gSGVhZGVyDQo+ICsgIC8vDQo+ICsNCj4gKw0KPiArICBFRklfQUNQSV9MT1dfUE9XRVJf SURMRV9UQUJMRV9TSUdOQVRVUkUsDQo+ICsgIHNpemVvZiAoRUZJX0FDUElfTE9XX1BPV0VSX0lE TEVfVEFCTEUpLA0KPiArICBFRklfQUNQSV9MT1dfUE9XRVJfSURMRV9UQUJMRV9SRVZJU0lPTiAs DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2tzdW0gd2lsbCBiZSB1cGRhdGVkIGF0IHJ1bnRp bWUNCj4gKyAgLy8NCj4gKyAgMHgwMCwNCj4gKw0KPiArICAvLw0KPiArICAvLyBJdCBpcyBleHBl Y3RlZCB0aGF0IHRoZXNlIHZhbHVlcyB3aWxsIGJlIHVwZGF0ZWQgYXQgcnVudGltZQ0KPiArICAv Lw0KPiArICAnICcsICcgJywgJyAnLCAnICcsICcgJywgJyAnLA0KPiArDQo+ICsgIDAsDQo+ICsg IEVGSV9BQ1BJX09FTV9MUElUX1JFVklTSU9OLA0KPiArICAwLA0KPiArICAwLA0KPiArDQo+ICsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBEZXNjcmlwdG9yDQo+ICsgIC8vDQo+ICsgIHsNCj4gKyAg ICB7DQo+ICsgICAgICBFRklfQUNQSV9MT1dfUE9XRVJfSURMRV9NV0FJVF9UWVBFLA0KPiArICAg ICAgc2l6ZW9mKEVGSV9BQ1BJX01XQUlUX0xQSV9TVEFURV9ERVNDUklQVE9SKSwNCj4gKyAgICAg IEVGSV9BQ1BJX1ZMVl9MUElfVU5JUVVFX0lEMCwNCj4gKyAgICAgIHswLDB9LA0KPiArICAgICAg e0VGSV9BQ1BJX0xPV19QT1dFUl9JRExFX0RFRkFVTFRfRkxBR30sICAgLy8gRmxhZ3MNCj4gKyAg ICAgIEVGSV9BQ1BJX1ZMVl9MUElfVFJJR0dFUiwgIC8vRW50cnlUcmlnZ2VyDQo+ICsgICAgICBF RklfQUNQSV9WTFZfTFBJX01JTl9SRVMwLCAvL1Jlc2lkZW5jeQ0KPiArICAgICAgRUZJX0FDUElf VkxWX0xQSV9MQVRFTkNZMCwgLy9MYXRlbmN5DQo+ICsgICAgICBFRklfQUNQSV9WTFZfTFBJX1JF U19DT1VOVEVSMCwgLy9SZXNpZGVuY3lDb3VudGVyDQo+ICsgICAgICBFRklfQUNQSV9MT1dfUE9X RVJfSURMRV9SRVNfRlJFUV84SyAvL1Jlc2lkZW5jeSBjb3VudGVyDQo+IGZyZXF1ZW5jeQ0KPiAr ICAgIH0sDQo+ICsgICAgew0KPiArICAgICAgRUZJX0FDUElfTE9XX1BPV0VSX0lETEVfTVdBSVRf VFlQRSwNCj4gKyAgICAgIHNpemVvZihFRklfQUNQSV9NV0FJVF9MUElfU1RBVEVfREVTQ1JJUFRP UiksDQo+ICsgICAgICBFRklfQUNQSV9WTFZfTFBJX1VOSVFVRV9JRDEsDQo+ICsgICAgICB7MCww fSwNCj4gKyAgICAgIHtFRklfQUNQSV9MT1dfUE9XRVJfSURMRV9ERUZBVUxUX0ZMQUd9LCAgIC8v IEZsYWdzDQo+ICsgICAgICBFRklfQUNQSV9WTFZfTFBJX1RSSUdHRVIsICAvL0VudHJ5VHJpZ2dl cg0KPiArICAgICAgRUZJX0FDUElfVkxWX0xQSV9NSU5fUkVTMSwgLy9SZXNpZGVuY3kNCj4gKyAg ICAgIEVGSV9BQ1BJX1ZMVl9MUElfTEFURU5DWTEsIC8vTGF0ZW5jeQ0KPiArICAgICAgRUZJX0FD UElfVkxWX0xQSV9SRVNfQ09VTlRFUjEsIC8vUmVzaWRlbmN5Q291bnRlcg0KPiArICAgICAgRUZJ X0FDUElfTE9XX1BPV0VSX0lETEVfUkVTX0ZSRVFfOEsgLy9SZXNpZGVuY3kgY291bnRlcg0KPiBm cmVxdWVuY3kNCj4gKyAgICB9LA0KPiArICAgIHsNCj4gKyAgICAgIEVGSV9BQ1BJX0xPV19QT1dF Ul9JRExFX01XQUlUX1RZUEUsDQo+ICsgICAgICBzaXplb2YoRUZJX0FDUElfTVdBSVRfTFBJX1NU QVRFX0RFU0NSSVBUT1IpLA0KPiArICAgICAgRUZJX0FDUElfVkxWX0xQSV9VTklRVUVfSUQyLA0K PiArICAgICAgezAsMH0sDQo+ICsgICAgICB7RUZJX0FDUElfTE9XX1BPV0VSX0lETEVfREVGQVVM VF9GTEFHfSwgICAvLyBGbGFncw0KPiArICAgICAgRUZJX0FDUElfVkxWX0xQSV9UUklHR0VSLCAg Ly9FbnRyeVRyaWdnZXINCj4gKyAgICAgIEVGSV9BQ1BJX1ZMVl9MUElfTUlOX1JFUzIsIC8vUmVz aWRlbmN5DQo+ICsgICAgICBFRklfQUNQSV9WTFZfTFBJX0xBVEVOQ1kyLCAvL0xhdGVuY3kNCj4g KyAgICAgIEVGSV9BQ1BJX1ZMVl9MUElfUkVTX0NPVU5URVIyLCAvL1Jlc2lkZW5jeUNvdW50ZXIN Cj4gKyAgICAgIEVGSV9BQ1BJX0xPV19QT1dFUl9JRExFX1JFU19GUkVRXzhLIC8vUmVzaWRlbmN5 IGNvdW50ZXINCj4gZnJlcXVlbmN5DQo+ICsgICAgfSwNCj4gKyAgICB7DQo+ICsgICAgICBFRklf QUNQSV9MT1dfUE9XRVJfSURMRV9NV0FJVF9UWVBFLA0KPiArICAgICAgc2l6ZW9mKEVGSV9BQ1BJ X01XQUlUX0xQSV9TVEFURV9ERVNDUklQVE9SKSwNCj4gKyAgICAgIEVGSV9BQ1BJX1ZMVl9MUElf VU5JUVVFX0lEMywNCj4gKyAgICAgIHswLDB9LA0KPiArICAgICAge0VGSV9BQ1BJX0xPV19QT1dF Ul9JRExFX0RFRkFVTFRfRkxBR30sICAgLy8gRmxhZ3MNCj4gKyAgICAgIEVGSV9BQ1BJX1ZMVl9M UElfVFJJR0dFUiwgIC8vRW50cnlUcmlnZ2VyDQo+ICsgICAgICBFRklfQUNQSV9WTFZfTFBJX01J Tl9SRVMzLCAvL1Jlc2lkZW5jeQ0KPiArICAgICAgRUZJX0FDUElfVkxWX0xQSV9MQVRFTkNZMywg Ly9MYXRlbmN5DQo+ICsgICAgICBFRklfQUNQSV9WTFZfTFBJX1JFU19DT1VOVEVSMywgLy9SZXNp ZGVuY3lDb3VudGVyDQo+ICsgICAgICBFRklfQUNQSV9MT1dfUE9XRVJfSURMRV9SRVNfRlJFUV84 SyAvL1Jlc2lkZW5jeSBjb3VudGVyDQo+IGZyZXF1ZW5jeQ0KPiArICAgIH0NCj4gKyAgfQ0KPiAr DQo+ICt9Ow0KPiArDQo+ICsNCj4gK1ZPSUQqDQo+ICtSZWZlcmVuY2VBY3BpVGFibGUgKA0KPiAr ICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gUmVmZXJlbmNlIHRoZSB0YWJs ZSBiZWluZyBnZW5lcmF0ZWQgdG8gcHJldmVudCB0aGUgb3B0aW1pemVyIGZyb20NCj4gKyAgLy8g cmVtb3ZpbmcgdGhlIGRhdGEgc3RydWN0dXJlIGZyb20gdGhlIGV4ZWN1dGFibGUNCj4gKyAgLy8N Cj4gKyAgcmV0dXJuIChWT0lEKikmTHBpdDsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvTWFkdC9NYWR0LmgN Cj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL01h ZHQvTWFkdC5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjcy ZWI0NGU5MDANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZp Y2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL01hZHQvTWFkdC5oDQo+IEBAIC0wLDAgKzEsMTg5 IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICtNb2R1bGUg TmFtZToNCj4gKw0KPiArICBNYWR0LmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhp cyBmaWxlIGRlc2NyaWJlcyB0aGUgY29udGVudHMgb2YgdGhlIEFDUEkgTXVsdGlwbGUgQVBJQyBE ZXNjcmlwdGlvbg0KPiArICBUYWJsZSAoTUFEVCkuICBTb21lIGFkZGl0aW9uYWwgQUNQSSB2YWx1 ZXMgYXJlIGRlZmluZWQgaW4gQWNwaTFfMC5oIGFuZA0KPiArICBBY3BpMl8wLmguDQo+ICsgIFRv IG1ha2UgY2hhbmdlcyB0byB0aGUgTUFEVCwgaXQgaXMgbmVjZXNzYXJ5IHRvIHVwZGF0ZSB0aGUg Y291bnQgZm9yIHRoZQ0KPiArICBBUElDIHN0cnVjdHVyZSBiZWluZyB1cGRhdGVkLCBhbmQgdG8g bW9kaWZ5IHRhYmxlIGZvdW5kIGluIE1hZHQuYy4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZu ZGVmIF9NQURUX0gNCj4gKyNkZWZpbmUgX01BRFRfSA0KPiArDQo+ICsvLw0KPiArLy8gU3RhdGVt ZW50cyB0aGF0IGluY2x1ZGUgb3RoZXIgZmlsZXMNCj4gKy8vDQo+ICsjaW5jbHVkZSAiQWNwaVRh YmxlUGxhdGZvcm0uaCINCj4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL0FjcGkxMC5oPg0K PiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvQWNwaTIwLmg+DQo+ICsjaW5jbHVkZSA8SW5k dXN0cnlTdGFuZGFyZC9BY3BpMzAuaD4NCj4gKyNpbmNsdWRlICJQbGF0Zm9ybS5oIg0KPiArDQo+ ICsvLw0KPiArLy8gTUFEVCBEZWZpbml0aW9ucw0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX0FDUElf T0VNX01BRFRfUkVWSVNJT04gICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMA0KPiArLy8N Cj4gKy8vIE11bHRpcGxlIEFQSUMgRmxhZ3MgYXJlIGRlZmluZWQgaW4gQWNwaVguMC5oDQo+ICsv Lw0KPiArI2RlZmluZSBFRklfQUNQSV8xXzBfTVVMVElQTEVfQVBJQ19GTEFHUw0KPiAoRUZJX0FD UElfMV8wX1BDQVRfQ09NUEFUKQ0KPiArI2RlZmluZSBFRklfQUNQSV8yXzBfTVVMVElQTEVfQVBJ Q19GTEFHUw0KPiAoRUZJX0FDUElfMl8wX1BDQVRfQ09NUEFUKQ0KPiArI2RlZmluZSBFRklfQUNQ SV8zXzBfTVVMVElQTEVfQVBJQ19GTEFHUw0KPiAoRUZJX0FDUElfM18wX1BDQVRfQ09NUEFUKQ0K PiArI2RlZmluZSBFRklfQUNQSV80XzBfTVVMVElQTEVfQVBJQ19GTEFHUw0KPiAoRUZJX0FDUElf NF8wX1BDQVRfQ09NUEFUKQ0KPiArDQo+ICsvLw0KPiArLy8gRGVmaW5lIHRoZSBudW1iZXIgb2Yg ZWFjaCB0YWJsZSB0eXBlLg0KPiArLy8gVGhpcyBpcyB3aGVyZSB0aGUgdGFibGUgbGF5b3V0IGlz IG1vZGlmaWVkLg0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX0FDUElfUFJPQ0VTU09SX0xPQ0FMX0FQ SUNfQ09VTlQNCj4gTUFYX0NQVV9OVU0NCj4gKyNkZWZpbmUgRUZJX0FDUElfTE9DQUxfQVBJQ19O TUlfQ09VTlQgICAgICAgICAgICAgICAgICAgTUFYX0NQVV9OVU0NCj4gKyNkZWZpbmUgRUZJX0FD UElfSU9fQVBJQ19DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgMQ0KPiArI2RlZmluZSBF RklfQUNQSV9JTlRFUlJVUFRfU09VUkNFX09WRVJSSURFX0NPVU5UICAgICAgICAyDQo+ICsjZGVm aW5lIEVGSV9BQ1BJX05PTl9NQVNLQUJMRV9JTlRFUlJVUFRfU09VUkNFX0NPVU5UICAgIDANCj4g KyNkZWZpbmUgRUZJX0FDUElfTE9DQUxfQVBJQ19BRERSRVNTX09WRVJSSURFX0NPVU5UICAgICAg MA0KPiArI2RlZmluZSBFRklfQUNQSV9JT19TQVBJQ19DT1VOVCAgICAgICAgICAgICAgICAgICAg ICAgICAwDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX1BST0NFU1NPUl9MT0NBTF9TQVBJQ19DT1VOVCAg ICAgICAgICAgIDANCj4gKyNkZWZpbmUgRUZJX0FDUElfUExBVEZPUk1fSU5URVJSVVBUX1NPVVJD RVNfQ09VTlQgICAgICAgMA0KPiArDQo+ICsvLw0KPiArLy8gTUFEVCBzdHJ1Y3R1cmUNCj4gKy8v DQo+ICsvLw0KPiArLy8gRW5zdXJlIHByb3BlciBzdHJ1Y3R1cmUgZm9ybWF0cw0KPiArLy8NCj4g KyNwcmFnbWEgcGFjaygxKQ0KPiArLy8NCj4gKy8vIEFDUEkgMS4wIFRhYmxlIHN0cnVjdHVyZQ0K PiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX0FDUElfMV8wX01VTFRJUExFX0FQ SUNfREVTQ1JJUFRJT05fVEFCTEVfSEVBREVSICAgSGVhZGVyOw0KPiArDQo+ICsjaWYgRUZJX0FD UElfUFJPQ0VTU09SX0xPQ0FMX0FQSUNfQ09VTlQgPiAwDQo+ICsgIEVGSV9BQ1BJXzFfMF9QUk9D RVNTT1JfTE9DQUxfQVBJQ19TVFJVQ1RVUkUNCj4gTG9jYWxBcGljW0VGSV9BQ1BJX1BST0NFU1NP Ul9MT0NBTF9BUElDX0NPVU5UXTsNCj4gKyNlbmRpZg0KPiArDQo+ICsjaWYgRUZJX0FDUElfSU9f QVBJQ19DT1VOVCA+IDANCj4gKyAgRUZJX0FDUElfMV8wX0lPX0FQSUNfU1RSVUNUVVJFDQo+IElv QXBpY1tFRklfQUNQSV9JT19BUElDX0NPVU5UXTsNCj4gKyNlbmRpZg0KPiArDQo+ICsjaWYgRUZJ X0FDUElfSU5URVJSVVBUX1NPVVJDRV9PVkVSUklERV9DT1VOVCA+IDANCj4gKyAgRUZJX0FDUElf MV8wX0lOVEVSUlVQVF9TT1VSQ0VfT1ZFUlJJREVfU1RSVUNUVVJFDQo+IElzb1tFRklfQUNQSV9J TlRFUlJVUFRfU09VUkNFX09WRVJSSURFX0NPVU5UXTsNCj4gKyNlbmRpZg0KPiArDQo+ICsjaWYg RUZJX0FDUElfTk9OX01BU0tBQkxFX0lOVEVSUlVQVF9TT1VSQ0VfQ09VTlQgPiAwDQo+ICsgIEVG SV9BQ1BJXzFfMF9OT05fTUFTS0FCTEVfSU5URVJSVVBUX1NPVVJDRV9TVFJVQ1RVUkUNCj4gTm1p U291cmNlW0VGSV9BQ1BJX05PTl9NQVNLQUJMRV9JTlRFUlJVUFRfU09VUkNFX0NPVU5UXTsNCj4g KyNlbmRpZg0KPiArDQo+ICsjaWYgRUZJX0FDUElfTE9DQUxfQVBJQ19OTUlfQ09VTlQgPiAwDQo+ ICsgIEVGSV9BQ1BJXzFfMF9MT0NBTF9BUElDX05NSV9TVFJVQ1RVUkUNCj4gTG9jYWxBcGljTm1p W0VGSV9BQ1BJX0xPQ0FMX0FQSUNfTk1JX0NPVU5UXTsNCj4gKyNlbmRpZg0KPiArDQo+ICsjaWYg RUZJX0FDUElfTE9DQUxfQVBJQ19BRERSRVNTX09WRVJSSURFX0NPVU5UID4gMA0KPiArICBFRklf QUNQSV8xXzBfTE9DQUxfQVBJQ19BRERSRVNTX09WRVJSSURFX1NUUlVDVFVSRQ0KPiBMb2NhbEFw aWNPdmVycmlkZVtFRklfQUNQSV9MT0NBTF9BUElDX0FERFJFU1NfT1ZFUlJJREVfQ09VTlRdOw0K PiArI2VuZGlmDQo+ICsNCj4gK30gRUZJX0FDUElfMV8wX01VTFRJUExFX0FQSUNfREVTQ1JJUFRJ T05fVEFCTEU7DQo+ICsNCj4gKy8vDQo+ICsvLyBBQ1BJIDIuMCBUYWJsZSBzdHJ1Y3R1cmUNCj4g Ky8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9BQ1BJXzJfMF9NVUxUSVBMRV9BUElD X0RFU0NSSVBUSU9OX1RBQkxFX0hFQURFUiAgIEhlYWRlcjsNCj4gKw0KPiArI2lmIEVGSV9BQ1BJ X1BST0NFU1NPUl9MT0NBTF9BUElDX0NPVU5UID4gMA0KPiArICBFRklfQUNQSV8yXzBfUFJPQ0VT U09SX0xPQ0FMX0FQSUNfU1RSVUNUVVJFDQo+IExvY2FsQXBpY1tFRklfQUNQSV9QUk9DRVNTT1Jf TE9DQUxfQVBJQ19DT1VOVF07DQo+ICsjZW5kaWYNCj4gKw0KPiArI2lmIEVGSV9BQ1BJX0lPX0FQ SUNfQ09VTlQgPiAwDQo+ICsgIEVGSV9BQ1BJXzJfMF9JT19BUElDX1NUUlVDVFVSRQ0KPiBJb0Fw aWNbRUZJX0FDUElfSU9fQVBJQ19DT1VOVF07DQo+ICsjZW5kaWYNCj4gKw0KPiArI2lmIEVGSV9B Q1BJX0lOVEVSUlVQVF9TT1VSQ0VfT1ZFUlJJREVfQ09VTlQgPiAwDQo+ICsgIEVGSV9BQ1BJXzJf MF9JTlRFUlJVUFRfU09VUkNFX09WRVJSSURFX1NUUlVDVFVSRQ0KPiBJc29bRUZJX0FDUElfSU5U RVJSVVBUX1NPVVJDRV9PVkVSUklERV9DT1VOVF07DQo+ICsjZW5kaWYNCj4gKw0KPiArI2lmIEVG SV9BQ1BJX05PTl9NQVNLQUJMRV9JTlRFUlJVUFRfU09VUkNFX0NPVU5UID4gMA0KPiArICBFRklf QUNQSV8yXzBfTk9OX01BU0tBQkxFX0lOVEVSUlVQVF9TT1VSQ0VfU1RSVUNUVVJFDQo+IE5taVNv dXJjZVtFRklfQUNQSV9OT05fTUFTS0FCTEVfSU5URVJSVVBUX1NPVVJDRV9DT1VOVF07DQo+ICsj ZW5kaWYNCj4gKw0KPiArI2lmIEVGSV9BQ1BJX0xPQ0FMX0FQSUNfTk1JX0NPVU5UID4gMA0KPiAr ICBFRklfQUNQSV8yXzBfTE9DQUxfQVBJQ19OTUlfU1RSVUNUVVJFDQo+IExvY2FsQXBpY05taVtF RklfQUNQSV9MT0NBTF9BUElDX05NSV9DT1VOVF07DQo+ICsjZW5kaWYNCj4gKw0KPiArI2lmIEVG SV9BQ1BJX0xPQ0FMX0FQSUNfQUREUkVTU19PVkVSUklERV9DT1VOVCA+IDANCj4gKyAgRUZJX0FD UElfMl8wX0xPQ0FMX0FQSUNfQUREUkVTU19PVkVSUklERV9TVFJVQ1RVUkUNCj4gTG9jYWxBcGlj T3ZlcnJpZGVbRUZJX0FDUElfTE9DQUxfQVBJQ19BRERSRVNTX09WRVJSSURFX0NPVU5UXTsNCj4g KyNlbmRpZg0KPiArDQo+ICsjaWYgRUZJX0FDUElfSU9fU0FQSUNfQ09VTlQgPiAwDQo+ICsgIEVG SV9BQ1BJXzJfMF9JT19TQVBJQ19TVFJVQ1RVUkUNCj4gSW9TYXBpY1tFRklfQUNQSV9JT19TQVBJ Q19DT1VOVF07DQo+ICsjZW5kaWYNCj4gKw0KPiArI2lmIEVGSV9BQ1BJX1BST0NFU1NPUl9MT0NB TF9TQVBJQ19DT1VOVCA+IDANCj4gKyAgRUZJX0FDUElfMl8wX1BST0NFU1NPUl9MT0NBTF9TQVBJ Q19TVFJVQ1RVUkUNCj4gTG9jYWxTYXBpY1tFRklfQUNQSV9QUk9DRVNTT1JfTE9DQUxfU0FQSUNf Q09VTlRdOw0KPiArI2VuZGlmDQo+ICsNCj4gKyNpZiBFRklfQUNQSV9QTEFURk9STV9JTlRFUlJV UFRfU09VUkNFU19DT1VOVCA+IDANCj4gKyAgRUZJX0FDUElfMl8wX1BMQVRGT1JNX0lOVEVSUlVQ VF9TT1VSQ0VTX1NUUlVDVFVSRQ0KPiBQbGF0Zm9ybUludGVycnVwdFNvdXJjZXNbRUZJX0FDUElf UExBVEZPUk1fSU5URVJSVVBUX1NPVVJDRVNfQ08NCj4gVU5UXTsNCj4gKyNlbmRpZg0KPiArDQo+ ICt9IEVGSV9BQ1BJXzJfMF9NVUxUSVBMRV9BUElDX0RFU0NSSVBUSU9OX1RBQkxFOw0KPiArDQo+ ICsvLw0KPiArLy8gQUNQSSAzLjAgVGFibGUgc3RydWN0dXJlDQo+ICsvLw0KPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiArICBFRklfQUNQSV8zXzBfTVVMVElQTEVfQVBJQ19ERVNDUklQVElPTl9UQUJM RV9IRUFERVIgICBIZWFkZXI7DQo+ICsNCj4gKyNpZiBFRklfQUNQSV9QUk9DRVNTT1JfTE9DQUxf QVBJQ19DT1VOVCA+IDAgICAgICAgICAgIC8vIFR5cGUgMHgwMA0KPiArICBFRklfQUNQSV8zXzBf UFJPQ0VTU09SX0xPQ0FMX0FQSUNfU1RSVUNUVVJFDQo+IExvY2FsQXBpY1tFRklfQUNQSV9QUk9D RVNTT1JfTE9DQUxfQVBJQ19DT1VOVF07DQo+ICsjZW5kaWYNCj4gKw0KPiArI2lmIEVGSV9BQ1BJ X0lPX0FQSUNfQ09VTlQgPiAwICAgICAgICAgICAgICAgICAgICAgICAgLy8gVHlwZSAweDAxDQo+ ICsgIEVGSV9BQ1BJXzNfMF9JT19BUElDX1NUUlVDVFVSRQ0KPiBJb0FwaWNbRUZJX0FDUElfSU9f QVBJQ19DT1VOVF07DQo+ICsjZW5kaWYNCj4gKw0KPiArI2lmIEVGSV9BQ1BJX0lOVEVSUlVQVF9T T1VSQ0VfT1ZFUlJJREVfQ09VTlQgPiAwICAgICAgLy8gVHlwZSAweDAyDQo+ICsgIEVGSV9BQ1BJ XzNfMF9JTlRFUlJVUFRfU09VUkNFX09WRVJSSURFX1NUUlVDVFVSRQ0KPiBJc29bRUZJX0FDUElf SU5URVJSVVBUX1NPVVJDRV9PVkVSUklERV9DT1VOVF07DQo+ICsjZW5kaWYNCj4gKw0KPiArI2lm IEVGSV9BQ1BJX05PTl9NQVNLQUJMRV9JTlRFUlJVUFRfU09VUkNFX0NPVU5UID4gMCAgLy8gVHlw ZQ0KPiAweDAzDQo+ICsgIEVGSV9BQ1BJXzNfMF9OT05fTUFTS0FCTEVfSU5URVJSVVBUX1NPVVJD RV9TVFJVQ1RVUkUNCj4gTm1pU291cmNlW0VGSV9BQ1BJX05PTl9NQVNLQUJMRV9JTlRFUlJVUFRf U09VUkNFX0NPVU5UXTsNCj4gKyNlbmRpZg0KPiArDQo+ICsjaWYgRUZJX0FDUElfTE9DQUxfQVBJ Q19OTUlfQ09VTlQgPiAwICAgICAgICAgICAgICAgICAvLyBUeXBlIDB4MDQNCj4gKyAgRUZJX0FD UElfM18wX0xPQ0FMX0FQSUNfTk1JX1NUUlVDVFVSRQ0KPiBMb2NhbEFwaWNObWlbRUZJX0FDUElf TE9DQUxfQVBJQ19OTUlfQ09VTlRdOw0KPiArI2VuZGlmDQo+ICsNCj4gKyNpZiBFRklfQUNQSV9M T0NBTF9BUElDX0FERFJFU1NfT1ZFUlJJREVfQ09VTlQgPiAwICAgIC8vIFR5cGUgMHgwNQ0KPiAr ICBFRklfQUNQSV8zXzBfTE9DQUxfQVBJQ19BRERSRVNTX09WRVJSSURFX1NUUlVDVFVSRQ0KPiBM b2NhbEFwaWNPdmVycmlkZVtFRklfQUNQSV9MT0NBTF9BUElDX0FERFJFU1NfT1ZFUlJJREVfQ09V TlRdOw0KPiArI2VuZGlmDQo+ICsNCj4gKyNpZiBFRklfQUNQSV9JT19TQVBJQ19DT1VOVCA+IDAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFR5cGUgMHgwNg0KPiArICBFRklfQUNQSV8zXzBfSU9f U0FQSUNfU1RSVUNUVVJFDQo+IElvU2FwaWNbRUZJX0FDUElfSU9fU0FQSUNfQ09VTlRdOw0KPiAr I2VuZGlmDQo+ICsNCj4gKyNpZiBFRklfQUNQSV9QUk9DRVNTT1JfTE9DQUxfU0FQSUNfQ09VTlQg PiAwICAgICAgICAgIC8vIFR5cGUgMHgwNyA6IFRoaXMNCj4gdGFibGUgY2hhbmdlcyBpbiBtYWR0 IDIuMA0KPiArICBFRklfQUNQSV8zXzBfUFJPQ0VTU09SX0xPQ0FMX1NBUElDX1NUUlVDVFVSRQ0K PiBMb2NhbFNhcGljW0VGSV9BQ1BJX1BST0NFU1NPUl9MT0NBTF9TQVBJQ19DT1VOVF07DQo+ICsj ZW5kaWYNCj4gKw0KPiArI2lmIEVGSV9BQ1BJX1BMQVRGT1JNX0lOVEVSUlVQVF9TT1VSQ0VTX0NP VU5UID4gMCAgICAgLy8gVHlwZSAweDA4DQo+ICsgIEVGSV9BQ1BJXzNfMF9QTEFURk9STV9JTlRF UlJVUFRfU09VUkNFU19TVFJVQ1RVUkUNCj4gUGxhdGZvcm1JbnRlcnJ1cHRTb3VyY2VzW0VGSV9B Q1BJX1BMQVRGT1JNX0lOVEVSUlVQVF9TT1VSQ0VTX0NPDQo+IFVOVF07DQo+ICsjZW5kaWYNCj4g Kw0KPiArfSBFRklfQUNQSV8zXzBfTVVMVElQTEVfQVBJQ19ERVNDUklQVElPTl9UQUJMRTsNCj4g Kw0KPiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9T aWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL01hZHQvTWFk dDMwLmFzbGMNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJs ZXNQQ0FUL01hZHQvTWFkdDMwLmFzbGMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uOTI2YjMyZjUxMg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvTWFkdC9NYWR0MzAu YXNsYw0KPiBAQCAtMCwwICsxLDE3OCBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNCAgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1hZHQzLjAuYw0K PiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBUaGlzIGZpbGUgY29udGFpbnMgYSBzdHJ1Y3R1 cmUgZGVmaW5pdGlvbiBmb3IgdGhlIEFDUEkgMi4wIE11bHRpcGxlIEFQSUMNCj4gKyAgRGVzY3Jp cHRpb24gVGFibGUgKE1BRFQpLiAgQW55IGNoYW5nZXMgdG8gdGhlIE1BRFQgdGFibGUgcmVxdWly ZQ0KPiB1cGRhdGluZyB0aGUNCj4gKyAgcmVzcGVjdGl2ZSBzdHJ1Y3R1cmUgY291bnQgaW4gTWFk dC5oIGFuZCB0aGVuIGFkZGluZyB0aGUgc3RydWN0dXJlIHRvIHRoZQ0KPiArICBNQURUIGRlZmlu ZWQgaW4gdGhpcyBmaWxlLiAgVGhlIHRhYmxlIGxheW91dCBpcyBkZWZpbmVkIGluIE1hZHQuaCBh bmQgdGhlDQo+ICsgIHRhYmxlIGNvbnRlbnRzIGFyZSBkZWZpbmVkIGluIEFjcGkzXzAuaCBhbmQg TWFkdC5oLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKy8vDQo+ICsvLyBTdGF0ZW1lbnRzIHRoYXQg aW5jbHVkZSBvdGhlciBmaWxlcw0KPiArLy8NCj4gKyNpbmNsdWRlICJNYWR0LmgiDQo+ICsjaW5j bHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9BY3BpNTAuaD4NCj4gKw0KPiArLy8NCj4gKy8vIE11bHRp cGxlIEFQSUMgRGVzY3JpcHRpb24gVGFibGUNCj4gKy8vDQo+ICtFRklfQUNQSV8zXzBfTVVMVElQ TEVfQVBJQ19ERVNDUklQVElPTl9UQUJMRSAgTWFkdCA9IHsNCj4gKyAgRUZJX0FDUElfM18wX01V TFRJUExFX0FQSUNfREVTQ1JJUFRJT05fVEFCTEVfU0lHTkFUVVJFLCAvLw0KPiAqKlNpZ25hdHVy ZXMgYXJlIHRoZSBzYW1lIDEuMC0zLjAgYmVjYXVzZSBpdCBzYXlzICJBUElDIi4NCj4gKyAgc2l6 ZW9mIChFRklfQUNQSV8zXzBfTVVMVElQTEVfQVBJQ19ERVNDUklQVElPTl9UQUJMRSksICAvLw0K PiAqKkxlbmd0aA0KPiArICBFRklfQUNQSV81XzBfTVVMVElQTEVfQVBJQ19ERVNDUklQVElPTl9U QUJMRV9SRVZJU0lPTiwNCj4gKyAgLy8NCj4gKyAgLy8gRUZJX0FDUElfM18wX01VTFRJUExFX0FQ SUNfREVTQ1JJUFRJT05fVEFCTEVfUkVWSVNJT04sICAvLw0KPiAqKlRhYmxlIFJldmlzaW9uIG11 c3QgYmUgMi4wIGZvciBBQ1BJIDMuMA0KPiArICAvLyBDaGVja3N1bSB3aWxsIGJlIHVwZGF0ZWQg YXQgcnVudGltZQ0KPiArICAvLw0KPiArICAweDAwLCAvLyAqKkNoZWNrIHN1bQ0KPiArICAvLw0K PiArICAvLyBJdCBpcyBleHBlY3RlZCB0aGF0IHRoZXNlIHZhbHVlcyB3aWxsIGJlIHByb2dyYW1t ZWQgYXQgcnVudGltZQ0KPiArICAvLw0KPiArICAnICcsICAgICAgICAgICAgICAgICAgICAgICAg Ly8gT0VNSUQNCj4gKyAgJyAnLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIENyZWF0aXZlIHdh eSB0bw0KPiArICAnICcsICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzaXggYnl0ZXMN Cj4gKyAgJyAnLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mIHNwYWNlIGluDQo+ICsgICcg JywgICAgICAgICAgICAgICAgICAgICAgICAvLyBhIHRhYmxlIGZvcg0KPiArICAnICcsICAgICAg ICAgICAgICAgICAgICAgICAgLy8gKipPRU1JRA0KPiArICAwLCAgICAgICAgICAgICAgICAgICAg ICAgICAgLy8gKipPRU0gVGFibGUgSUQNCj4gKyAgRUZJX0FDUElfT0VNX01BRFRfUkVWSVNJT04s IC8vICoqT0VNIFJldmlzaW9uDQo+ICsgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAq KkNyZWF0b3IgSUQNCj4gKyAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICoqQ3JlYXRv ciBSZXZpc2lvbg0KPiArICAvLw0KPiArICAvLyBNQURUIHNwZWNpZmljIGZpZWxkcw0KPiArICAv Lw0KPiArICBMT0NBTF9BUElDX0FERFJFU1MsICAgICAgICAgICAgICAgLy8gKipMb2NhbCBBUElD IEFkZHJlc3MNCj4gKyAgRUZJX0FDUElfNF8wX01VTFRJUExFX0FQSUNfRkxBR1MsIC8vICoqRmxh Z3MNCj4gKyAgLy8NCj4gKyAgLy8gUHJvY2Vzc29yIExvY2FsIEFQSUMgU3RydWN0dXJlDQo+ICsg IC8vIENvcnJlY3QgcHJvY2Vzc29yIG9yZGVyLCBQcmltYXJ5IHRocmVhZHMgZmlyc3QgdGhlbiBI eXBlciB0aHJlYWRzDQo+ICsgIC8vIEFuZCBjb3JyZWN0IEFQSUMtaWRzDQo+ICsgIC8vIFRoaXMg dGV4dCBiZWxvdyBpcyBpbmNsdWRlZCBhcyBhIHJlZmVyZW5jZSB1bnRpbCBUaHVybGV5IGlzIDEw MCU6DQo+ICsgIC8vIEFjY29yZGluZyB0byBFRFMgdGhlIExvY2FsIEFQSUMgSUQgaXMgZGV0ZXJt aW5lZCBiYXNlZCBvZiBhIGJpdCBzdHJ1Y3R1cmUNCj4gKyAgLy8gQml0IDI0OiBDb3JlIElEIEJp dCAyNTogQ29yZSBQYWlyIElEIEJpdCAyNi0yNzogUmVzZXJ2ZWQgQml0IDI4LTMwOiBTb2NrZXQg SUQNCj4gQml0IDMxOiBSZXNlcnZlZA0KPiArICAvLyA0IFNvY2tldHMgYW5kIDQgQ29yZXMgcGVy IFNvY2tldC4NCj4gKyAgLy8gU28gcG9zc2libGUgTEFQSUMgSURzIDAwLCAwMSwgMDIsIDAzLCAx MCwgMTEsIDEyLCAxMywgMjAsIDIxLCAyMiwgMjMsIDMwLCAzMSwgMzIsDQo+IDMzDQo+ICsgIC8v IFN0YXRpYyBFbnRyaWVzIDAwLCAxMCwgMjAsIDMwLCAwMSwgMTEsIDIxLCAzMSwgMDIsIDEyLCAy MiwgMzIsIDAzLCAxMywgMjMsIDMzDQo+ICsgIC8vIEJTUCBuZWVkcyB0byBiZSBmaXJzdCBlbnRy eSBpbiB0YWJsZS4gQ2hlY2sgYmVmb3JlIGJvb3QuIElmIEJTUCBub24gemVybw0KPiBuZWVkIHRv IHJvdGF0ZSB0aGUgZW50cmllcy4NCj4gKyAgLy8gU3VwcG9yZSBCU1AgaXMgTEFQSUMgSUQgeHku IFJvdGF0ZSB0aGUgdGFibGUgYnkgdXNpbmcgZm9ybXVsYSBbeCArICh5ICogNCldDQo+ICsgIC8v IFNvIGlmIEJTUCBMQVBJQyBJRCBpcyAyMSB0aGVuIHRhYmxlIHJvdGF0ZWQgNiB0aW1lcy4NCj4g KyAgLy8gRW5kIG9mIFJlZmVyZW5jZSBUZXh0Lg0KPiArICAvLyBUaHVybGV5IGlzIHN1cHBvc2Vk IHRvIGJlIDIgc29ja2V0cywgNCBjb3JlcywgYW5kIGh5cGVydGhyZWFkaW5nDQo+IGF2YWlsYWJs ZSBwZXIgZWFjaCBjb3JlLg0KPiArICAvLyAyIChzb2NrZXRzKSB4IDQgKGNvcmVzKSA9IDggKHBy b2Nlc3NvcnMgbm9uLUhUKSwgOCAocHJvY2Vzc29ycyBub24tSFQpIHggMg0KPiAoSFQvcHJvYykg PSAxNiAoSFQgcHJvY3MpDQo+ICsgIC8vIFJoeW1lICYgcmVhc29uIG9mIHRoZSBvcmRlcmluZyBi ZWxvdy4gIFRoaXMgaXMgYSBiZXN0IGd1ZXNzIG9yZGVyaW5nIGZvcg0KPiBub3csDQo+ICsgIC8v IFRodXJsZXkgRVBTIG1heSBnaXZlIGJldHRlciBpbmZvIG9uIExBUElDIG51bWJlcnMuDQo+ICsg IC8vIE9yZGVyaW5nIHdhcyBlc3RhYmxpc2hlZCB0byBoZWxwIGRpc3NpcGF0ZSBoZWF0IGFjcm9z cyB0d28gc29ja2V0cw0KPiBldmVubHkuDQo+ICsgIC8vIFNpbmNlIGxvZ2ljYWwgcHJvY2Vzc29y IG51bWJlciBvbmx5IGhhcyB0byBiZSB1bmlxdWUsIEkgZm9sbG93ZWQNCj4gKyAgLy8gYSBzaW1p bGFyIGFwcHJvYWNoIHRvIGhpZ2ggZW5kIHNlcnZlcnMgYW5kIGhhdmUgdGhlIGZpcnN0IGRpZ2l0 IG9mIHRoZQ0KPiBMQVBJQw0KPiArICAvLyBpZCB0aGUgc29ja2V0IG51bWJlci4NCj4gKyAgLy8N Cj4gKyAgRUZJX0FDUElfM18wX1BST0NFU1NPUl9MT0NBTF9BUElDLCAgICAgICAgICAgICAgICAg ICAgLy8gVHlwZSAweDAwDQo+ICsgIHNpemVvZiAoRUZJX0FDUElfM18wX1BST0NFU1NPUl9MT0NB TF9BUElDX1NUUlVDVFVSRSksIC8vIExlbmd0aA0KPiArICAweDAxLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQcm9jZXNzb3IgSUQNCj4gKyAgMHgw MCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTG9j YWwgQVBJQyBJRA0KPiArICAweDAwMDAwMDAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvLyBGbGFncyAtIERpc2FibGVkICh1bnRpbCBpbml0aWFsaXplZCBieQ0K PiBwbGF0Zm9ybSBkcml2ZXIpDQo+ICsgIEVGSV9BQ1BJXzNfMF9QUk9DRVNTT1JfTE9DQUxfQVBJ QywgICAgICAgICAgICAgICAgICAgIC8vIFR5cGUNCj4gKyAgc2l6ZW9mIChFRklfQUNQSV8zXzBf UFJPQ0VTU09SX0xPQ0FMX0FQSUNfU1RSVUNUVVJFKSwgLy8gTGVuZ3RoDQo+ICsgIDB4MDIsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByb2Nlc3Nv ciBJRA0KPiArICAweDA0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBMb2NhbCBBUElDIElEDQo+ICsgIDB4MDAwMDAwMDEsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZsYWdzIC0gRGlzYWJsZWQgKHVudGlsIGlu aXRpYWxpemVkIGJ5DQo+IHBsYXRmb3JtIGRyaXZlcikNCj4gKyAgRUZJX0FDUElfM18wX1BST0NF U1NPUl9MT0NBTF9BUElDLCAgICAgICAgICAgICAgICAgICAgLy8gVHlwZQ0KPiArICBzaXplb2Yg KEVGSV9BQ1BJXzNfMF9QUk9DRVNTT1JfTE9DQUxfQVBJQ19TVFJVQ1RVUkUpLCAvLyBMZW5ndGgN Cj4gKyAgMHgwMywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gUHJvY2Vzc29yIElEDQo+ICsgIDB4MDIsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIExvY2FsIEFQSUMgSUQNCj4gKyAgMHgwMDAwMDAwMSwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmxhZ3MgLSBEaXNh YmxlZCAodW50aWwgaW5pdGlhbGl6ZWQgYnkNCj4gcGxhdGZvcm0gZHJpdmVyKQ0KPiArICBFRklf QUNQSV8zXzBfUFJPQ0VTU09SX0xPQ0FMX0FQSUMsICAgICAgICAgICAgICAgICAgICAvLyBUeXBl DQo+ICsgIHNpemVvZiAoRUZJX0FDUElfM18wX1BST0NFU1NPUl9MT0NBTF9BUElDX1NUUlVDVFVS RSksIC8vIExlbmd0aA0KPiArICAweDA0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvLyBQcm9jZXNzb3IgSUQNCj4gKyAgMHgwNiwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTG9jYWwgQVBJQyBJRA0KPiAr ICAweDAwMDAwMDAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBGbGFncyAtIERpc2FibGVkICh1bnRpbCBpbml0aWFsaXplZCBieQ0KPiBwbGF0Zm9ybSBkcml2 ZXIpDQo+ICsgIC8vDQo+ICsgIC8vICoqKioqKioqKioqKioqKiAgIElPIEFQSUMgU3RydWN0dXJl ICoqKioqKioqKioqKioqKioqKg0KPiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICAvLyAq KioqKioqKioqKioqKioqKioqKioqKioqKiAgSS9PIEFQSUMgICoqKioqKioqKioqKioqDQo+ICsg IC8vDQo+ICsgIEVGSV9BQ1BJXzNfMF9JT19BUElDLCAgICAgICAgICAgICAgICAgICAgIC8vIFR5 cGUgMHgwMQ0KPiArICBzaXplb2YgKEVGSV9BQ1BJXzNfMF9JT19BUElDX1NUUlVDVFVSRSksICAv LyBMZW5ndGgNCj4gKyAgSUNIX0lPQVBJQ19JRCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gSU8gQVBJQyBJRA0KPiArICBFRklfQUNQSV9SRVNFUlZFRF9CWVRFLCAgICAgICAgICAgICAg ICAgICAvLyBSZXNlcnZlZA0KPiBFRklfQUNQSV9SRVNFUlZFRF9CWVRFDQo+ICsgIElPX0FQSUNf QUREUkVTUywgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElPIEFQSUMgQWRkcmVzcyAocGh5 c2ljYWwpICAgMHhGRUMwMDAwMA0KPiArICAweDE4ICogMCwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBHbG9iYWwgU3lzdGVtIEludGVycnVwdCBCYXNlDQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gSW50ZXJydXB0IFNvdXJjZSBPdmVycmlkZSBTdHJ1Y3R1cmU6IFNhbXBsZQ0KPiAr ICAvLw0KPiArICAvLyBFRklfQUNQSV8yXzBfSU5URVJSVVBUX1NPVVJDRV9PVkVSUklERSwgICAg ICAgICAgICAgICAgICAgLy8gVHlwZSAgMHgwMg0KPiArICAvLyBzaXplb2YgKEVGSV9BQ1BJXzJf MF9JTlRFUlJVUFRfU09VUkNFX09WRVJSSURFX1NUUlVDVFVSRSksLy8NCj4gTGVuZ3RoDQo+ICsg IC8vIDB4MDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyBCdXMNCj4gKyAgLy8gMHgwMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFNvdXJjZQ0KPiArICAvLyAweDAwMDAwMDAwLCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR2xvYmFsIFN5c3Rl bSBJbnRlcnJ1cHQNCj4gKyAgLy8gMHgwMDAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIEZsYWdzDQo+ICsgIC8vDQo+ICsgIC8vIElSUTA9PklS UTIgSW50ZXJydXB0IFNvdXJjZSBPdmVycmlkZSBTdHJ1Y3R1cmUNCj4gKyAgLy8NCj4gKyAgRUZJ X0FDUElfM18wX0lOVEVSUlVQVF9TT1VSQ0VfT1ZFUlJJREUsIC8vIFR5cGUgIDB4MDINCj4gKyAg c2l6ZW9mIChFRklfQUNQSV8zXzBfSU5URVJSVVBUX1NPVVJDRV9PVkVSUklERV9TVFJVQ1RVUkUp LCAgLy8NCj4gTGVuZ3RoDQo+ICsgIDB4MDAsICAgICAgIC8vIEJ1cyAtIElTQQ0KPiArICAweDAw LCAgICAgICAvLyBTb3VyY2UgLSBJUlEwDQo+ICsgIDB4MDAwMDAwMDIsIC8vIEdsb2JhbCBTeXN0 ZW0gSW50ZXJydXB0IC0gSVJRMg0KPiArICAweDAwMDAsICAgICAvLyBGbGFncyAtIENvbmZvcm1z IHRvIHNwZWNpZmljYXRpb25zIG9mIHRoZSBidXMNCj4gKyAgLy8NCj4gKyAgLy8gSVNPIChTQ0kg QWN0aXZlIEhpZ2gpIEludGVycnVwdCBTb3VyY2UgT3ZlcnJpZGUgU3RydWN0dXJlDQo+ICsgIC8v DQo+ICsgIEVGSV9BQ1BJXzNfMF9JTlRFUlJVUFRfU09VUkNFX09WRVJSSURFLCAvLyBUeXBlICAw eDAyDQo+ICsgIHNpemVvZiAoRUZJX0FDUElfM18wX0lOVEVSUlVQVF9TT1VSQ0VfT1ZFUlJJREVf U1RSVUNUVVJFKSwgIC8vDQo+IExlbmd0aA0KPiArICAweDAwLCAgICAgICAvLyBCdXMgLSBJU0EN Cj4gKyAgMHgwOSwgICAgICAgLy8gU291cmNlIC0gSVJRMA0KPiArICAweDAwMDAwMDA5LCAvLyBH bG9iYWwgU3lzdGVtIEludGVycnVwdCAtIElSUTINCj4gKyAgMHgwMDBELCAgICAgLy8gRmxhZ3Mg LSBMZXZlbC10aWdnZXJlZCwgQWN0aXZlIEhpZ2gNCj4gKw0KPiArDQo+ICsNCj4gKyAgRUZJX0FD UElfM18wX0xPQ0FMX0FQSUNfTk1JLCAgICAgICAgICAgICAgICAgICAgLy8gVHlwZQ0KPiArICBz aXplb2YgKEVGSV9BQ1BJXzNfMF9MT0NBTF9BUElDX05NSV9TVFJVQ1RVUkUpLCAvLyBMZW5ndGgN Cj4gKyAgMHgwMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g QUNQSSBQcm9jZXNzb3IgSUQNCj4gKyAgMHgwMDBELCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLy8gRmxhZ3MgLSBMZXZlbC10aWdnZXJlZCwgQWN0aXZlIEhpZ2gNCj4g KyAgMHgwMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTG9j YWwgQVBJQyBMSU5UIw0KPiArICBFRklfQUNQSV8zXzBfTE9DQUxfQVBJQ19OTUksICAgICAgICAg ICAgICAgICAgICAvLyBUeXBlDQo+ICsgIHNpemVvZiAoRUZJX0FDUElfM18wX0xPQ0FMX0FQSUNf Tk1JX1NUUlVDVFVSRSksIC8vIExlbmd0aA0KPiArICAweDAyLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvLyBBQ1BJIFByb2Nlc3NvciBJRA0KPiArICAweDAwMEQs ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGbGFncyAtIExldmVs LXRpZ2dlcmVkLCBBY3RpdmUgSGlnaA0KPiArICAweDAxLCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyBMb2NhbCBBUElDIExJTlQjDQo+ICsgIEVGSV9BQ1BJXzNf MF9MT0NBTF9BUElDX05NSSwgICAgICAgICAgICAgICAgICAgIC8vIFR5cGUNCj4gKyAgc2l6ZW9m IChFRklfQUNQSV8zXzBfTE9DQUxfQVBJQ19OTUlfU1RSVUNUVVJFKSwgLy8gTGVuZ3RoDQo+ICsg IDB4MDMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFDUEkg UHJvY2Vzc29yIElEDQo+ICsgIDB4MDAwRCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIEZsYWdzIC0gTGV2ZWwtdGlnZ2VyZWQsIEFjdGl2ZSBIaWdoDQo+ICsgIDB4 MDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExvY2FsIEFQ SUMgTElOVCMNCj4gKyAgRUZJX0FDUElfM18wX0xPQ0FMX0FQSUNfTk1JLCAgICAgICAgICAgICAg ICAgICAgLy8gVHlwZQ0KPiArICBzaXplb2YgKEVGSV9BQ1BJXzNfMF9MT0NBTF9BUElDX05NSV9T VFJVQ1RVUkUpLCAvLyBMZW5ndGgNCj4gKyAgMHgwNCwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLy8gQUNQSSBQcm9jZXNzb3IgSUQNCj4gKyAgMHgwMDBELCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmxhZ3MgLSBMZXZlbC10aWdn ZXJlZCwgQWN0aXZlIEhpZ2gNCj4gKyAgMHgwMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLy8gTG9jYWwgQVBJQyBMSU5UIw0KPiArfTsNCj4gKw0KPiArVk9JRCoN Cj4gK1JlZmVyZW5jZUFjcGlUYWJsZSAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICAv Lw0KPiArICAvLyBSZWZlcmVuY2UgdGhlIHRhYmxlIGJlaW5nIGdlbmVyYXRlZCB0byBwcmV2ZW50 IHRoZSBvcHRpbWl6ZXIgZnJvbQ0KPiArICAvLyByZW1vdmluZyB0aGUgZGF0YSBzdHJ1Y3R1cmUg ZnJvbSB0aGUgZXhlY3V0YWJsZQ0KPiArICAvLw0KPiArICByZXR1cm4gKFZPSUQqKSZNYWR0Ow0K PiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBr Zy9BY3BpVGFibGVzUENBVC9NY2ZnL01jZmcuYXNsYw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvTWNmZy9NY2ZnLmFzbGMNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTM3M2M1NDJmNg0KPiAtLS0gL2Rldi9u dWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxl c1BDQVQvTWNmZy9NY2ZnLmFzbGMNCj4gQEAgLTAsMCArMSw4NiBAQA0KPiArLyorKw0KPiArDQo+ ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ ICsgIE1jZmcuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBUaGlzIGZpbGUgY29udGFp bnMgYSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbiBmb3IgdGhlIEFDUEkgTWVtb3J5IG1hcHBlZA0KPiAr ICBjb25maWd1cmF0aW9uIHNwYWNlIGJhc2UgYWRkcmVzcyBEZXNjcmlwdGlvbiBUYWJsZSAoTUNG RykuICBBbnkgY2hhbmdlcw0KPiArICB0byB0aGUgTUNGRyB0YWJsZSByZXF1aXJlIHVwZGF0aW5n IHRoZSByZXNwZWN0aXZlIHN0cnVjdHVyZSBjb3VudCBpbg0KPiArICBNY2ZnLmggYW5kIHRoZW4g YWRkaW5nIHRoZSBzdHJ1Y3R1cmUgdG8gdGhlIE1DRkcgZGVmaW5lZCBpbiB0aGlzIGZpbGUuDQo+ ICsgIFRoZSB0YWJsZSBsYXlvdXQgaXMgZGVmaW5lZCBpbiBNY2ZnLmggYW5kIHRoZSB0YWJsZSBj b250ZW50cyBhcmUgZGVmaW5lZA0KPiArICBpbiBNY2ZnVGFibGUuaCBhbmQgTWNmZy5oLg0KPiAr DQo+ICstLSovDQo+ICsNCj4gKy8vDQo+ICsvLyBTdGF0ZW1lbnRzIHRoYXQgaW5jbHVkZSBvdGhl ciBmaWxlcw0KPiArLy8NCj4gKyNpbmNsdWRlIDxNY2ZnLmg+DQo+ICsNCj4gKy8vDQo+ICsvLyBN Q0ZHIFRhYmxlIGRlZmluaXRpb24NCj4gKy8vDQo+ICtFRklfQUNQSV9NRU1PUllfTUFQUEVEX0NP TkZJR1VSQVRJT05fQkFTRV9BRERSRVNTX1RBQkxFDQo+IE1DRkcgPSB7DQo+ICsNCj4gRUZJX0FD UElfM18wX01FTU9SWV9NQVBQRURfQ09ORklHVVJBVElPTl9CQVNFX0FERFJFU1NfVEFCTA0KPiBF X1NJR05BVFVSRSwNCj4gKyAgc2l6ZW9mDQo+IChFRklfQUNQSV9NRU1PUllfTUFQUEVEX0NPTkZJ R1VSQVRJT05fQkFTRV9BRERSRVNTX1RBQkxFKSwNCj4gKw0KPiBFRklfQUNQSV9NRU1PUllfTUFQ UEVEX0NPTkZJR1VSQVRJT05fQkFTRV9BRERSRVNTX1RBQkxFX1JFDQo+IFZJU0lPTiwNCj4gKyAg Ly8NCj4gKyAgLy8gQ2hlY2tzdW0gd2lsbCBiZSB1cGRhdGVkIGF0IHJ1bnRpbWUNCj4gKyAgLy8N Cj4gKyAgMHgwMCwNCj4gKyAgLy8NCj4gKyAgLy8gSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGVzZSB2 YWx1ZXMgd2lsbCBiZSBwcm9ncmFtbWVkIGF0IHJ1bnRpbWUNCj4gKyAgLy8NCj4gKyAgJyAnLA0K PiArICAnICcsDQo+ICsgICcgJywNCj4gKyAgJyAnLA0KPiArICAnICcsDQo+ICsgICcgJywNCj4g Kw0KPiArICAwLA0KPiArICBFRklfQUNQSV9PRU1fTUNGR19SRVZJU0lPTiwNCj4gKyAgMCwNCj4g KyAgMCwNCj4gKyAgLy8NCj4gKyAgLy8gQmVnaW5uaW5nIG9mIE1DRkcgc3BlY2lmaWMgZmllbGRz DQo+ICsgIC8vDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX1FXT1JELA0KPiArICAvLw0KPiArICAv LyBTYW1wbGUgTWVtb3J5IE1hcHBlZCBDb25maWd1cmF0aW9uIFNwYWNlIEJhc2UgQWRkcmVzcyBT dHJ1Y3R1cmUNCj4gKyAgLy8NCj4gKyAgLy8gMHgwLCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSBBZGRyZXNzDQo+ICsg IC8vIDB4MCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIFBDSSBTZWdtZW50IEdyb3VwIE51bWJlcg0KPiArICAvLyAweDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBTdGFydCBCdXMgTnVtYmVyDQo+ICsgIC8vIDB4MCwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuZCBCdXMgTnVtYmVy DQo+ICsgIC8vIEVGSV9BQ1BJX1JFU0VSVkVEX0RXT1JELCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVkDQo+ICsgIC8vDQo+ICsgIC8vIE1lbW9yeSBN YXBwZWQgQ29uZmlndXJhdGlvbiBTcGFjZSBCYXNlIEFkZHJlc3MgU3RydWN0dXJlDQo+ICsgIC8v DQo+ICsgIDB4MCwgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSBBZGRyZXNzLCB3aWxsIGJl IHVwZGF0ZWQgYnkgQWNwaVBsYXRmb3JtDQo+ICsgIDB4MCwgICAgICAgICAgICAgICAgICAgICAg Ly8gUENJIFNlZ21lbnQgR3JvdXAgTnVtYmVyDQo+ICsgIDB4MCwgICAgICAgICAgICAgICAgICAg ICAgLy8gU3RhcnQgQnVzIE51bWJlcg0KPiArICBQTEFURk9STV9NQVhfQlVTX05VTSwgICAgIC8v IEVuZCBCdXMgTnVtYmVyDQo+ICsgIEVGSV9BQ1BJX1JFU0VSVkVEX0RXT1JELCAgLy8gUmVzZXJ2 ZWQNCj4gK307DQo+ICsNCj4gK1ZPSUQqDQo+ICtSZWZlcmVuY2VBY3BpVGFibGUgKA0KPiArICBW T0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gUmVmZXJlbmNlIHRoZSB0YWJsZSBi ZWluZyBnZW5lcmF0ZWQgdG8gcHJldmVudCB0aGUgb3B0aW1pemVyIGZyb20NCj4gKyAgLy8gcmVt b3ZpbmcgdGhlIGRhdGEgc3RydWN0dXJlIGZyb20gdGhlIGV4ZWN1dGFibGUNCj4gKyAgLy8NCj4g KyAgcmV0dXJuIChWT0lEKikmTUNGRzsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24v SW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUENJX0RSQy5BU0wNCj4g Yi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BDSV9E UkMuQVNMDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmE0NzUw NDA4OTgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BDSV9EUkMuQVNMDQo+IEBAIC0wLDAgKzEsOTAgQEAN Cj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioNCj4gKioqKioqKioqKioqKioqKio7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7 KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICBJbnRlbCBDb3Jwb3JhdGlvbiAtIEFDUEkgUmVm ZXJlbmNlIENvZGUgZm9yIHRoZSBCYXl0cmFpbCAgICAgICAgICAgICo7DQo+ICs7KiAgICBGYW1p bHkgb2YgQ3VzdG9tZXIgUmVmZXJlbmNlIEJvYXJkcy4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7 DQo+ICs7KiAgICBDb3B5cmlnaHQgKGMpIDIwMTIgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQgICAgKjsNCj4gKzsNCj4gKzsgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKzsNCj4gKzsqICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsN Cj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqKiovDQo+ICsN Cj4gKw0KPiArDQo+ICtTY29wZSAoXF9TQi5QQ0kwKQ0KPiArew0KPiArDQo+ICsgIERldmljZShQ RFJDKSAgIC8vIFBDSSBEZXZpY2UgUmVzb3VyY2UgQ29uc3VtcHRpb24NCj4gKyAgew0KPiArICAg IE5hbWUoX0hJRCxFSVNBSUQoIlBOUDBDMDIiKSkNCj4gKw0KPiArICAgIE5hbWUoX1VJRCwxKQ0K PiArDQo+ICsgICAgTmFtZShCVUYwLFJlc291cmNlVGVtcGxhdGUoKQ0KPiArICAgIHsNCj4gKyAg ICAgIC8vDQo+ICsgICAgICAvLyBQQ0kgRXhwcmVzcyBCQVIgX0JBUyBhbmQgX0xFTiB3aWxsIGJl IHVwZGF0ZWQgaW4gX0NSUyBiZWxvdw0KPiBhY2NvcmRpbmcgdG8gQjA6RDA6RjA6UmVnLjYwaA0K PiArICAgICAgLy8gRm9yY2VkIGhhcmQgY29kZSBhdCB0aGUgbW9tZW50Lg0KPiArICAgICAgLy8N Cj4gKyAgICAgIC8vTWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsMCwwLFBDSVgpICAgICAgIC8vIFBD SUVYIEJBUg0KPiArICAgICAgTWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsMHgwRTAwMDAwMDAsMHgw MTAwMDAwMDAsUENJWCkNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFNQSSBCQVIuIENo ZWNrIGlmIHRoZSBoYXJkIGNvZGUgbWVldHMgdGhlIHJlYWwgY29uZmlndXJhdGlvbi4NCj4gKyAg ICAgIC8vIElmIG5vdCwgZHluYW1pY2FsbHkgdXBkYXRlIGl0IGxpa2UgdGhlIF9DUlMgbWV0aG9k IGJlbG93Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIE1lbW9yeTMyRml4ZWQoUmVhZFdyaXRlLDB4 MEZFRDAxMDAwLDB4MDEwMDAsU1BJQikgLy8gU1BJIEJBUg0KPiArDQo+ICsgICAgICAvLw0KPiAr ICAgICAgLy8gUE1DIEJBUi4gQ2hlY2sgaWYgdGhlIGhhcmQgY29kZSBtZWV0cyB0aGUgcmVhbCBj b25maWd1cmF0aW9uLg0KPiArICAgICAgLy8gSWYgbm90LCBkeW5hbWljYWxseSB1cGRhdGUgaXQg bGlrZSB0aGUgX0NSUyBtZXRob2QgYmVsb3cuDQo+ICsgICAgICAvLw0KPiArICAgICAgTWVtb3J5 MzJGaXhlZChSZWFkV3JpdGUsMHgwRkVEMDMwMDAsMHgwMTAwMCxQTUNCKSAvLyBQTUMgQkFSDQo+ ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBTTUIgQkFSLiBDaGVjayBpZiB0aGUgaGFyZCBj b2RlIG1lZXRzIHRoZSByZWFsIGNvbmZpZ3VyYXRpb24uDQo+ICsgICAgICAvLyBJZiBub3QsIGR5 bmFtaWNhbGx5IHVwZGF0ZSBpdCBsaWtlIHRoZSBfQ1JTIG1ldGhvZCBiZWxvdy4NCj4gKyAgICAg IC8vDQo+ICsgICAgICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwweDBGRUQwNDAwMCwweDAxMDAw LFNNQkIpIC8vIFNNQiBCQVINCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIElPIEJBUi4g Q2hlY2sgaWYgdGhlIGhhcmQgY29kZSBtZWV0cyB0aGUgcmVhbCBjb25maWd1cmF0aW9uLg0KPiAr ICAgICAgLy8gSWYgbm90LCBkeW5hbWljYWxseSB1cGRhdGUgaXQgbGlrZSB0aGUgX0NSUyBtZXRo b2QgYmVsb3cuDQo+ICsgICAgICAvLw0KPiArICAgICAgTWVtb3J5MzJGaXhlZChSZWFkV3JpdGUs MHgwRkVEMEMwMDAsMHgwNDAwMCxJT0JSKSAvLyBJTyBCQVINCj4gKw0KPiArICAgICAgLy8NCj4g KyAgICAgIC8vIElMQiBCQVIuIENoZWNrIGlmIHRoZSBoYXJkIGNvZGUgbWVldHMgdGhlIHJlYWwg Y29uZmlndXJhdGlvbi4NCj4gKyAgICAgIC8vIElmIG5vdCwgZHluYW1pY2FsbHkgdXBkYXRlIGl0 IGxpa2UgdGhlIF9DUlMgbWV0aG9kIGJlbG93Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIE1lbW9y eTMyRml4ZWQoUmVhZFdyaXRlLDB4MEZFRDA4MDAwLDB4MDEwMDAsSUxCQikgLy8gSUxCIEJBUg0K PiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gUkNSQiBCQVIgX0JBUyB3aWxsIGJlIHVwZGF0 ZWQgaW4gX0NSUyBiZWxvdyBhY2NvcmRpbmcgdG8NCj4gQjA6RDMxOkYwOlJlZy5GMGgNCj4gKyAg ICAgIC8vDQo+ICsgICAgICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwweDBGRUQxQzAwMCwweDAx MDAwLFJDUkIpIC8vIFJDUkIgQkFSDQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBMb2Nh bCBBUElDIHJhbmdlKDB4RkVFMF8wMDAwIHRvIDB4RkVFRl9GRkZGKQ0KPiArICAgICAgLy8NCj4g KyAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRPbmx5LCAweDBGRUUwMDAwMCwgMHgwMTAwMDAwLCBM SU9IKQ0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gTVBIWSBCQVIuIENoZWNrIGlmIHRo ZSBoYXJkIGNvZGUgbWVldHMgdGhlIHJlYWwgY29uZmlndXJhdGlvbi4NCj4gKyAgICAgIC8vIElm IG5vdCwgZHluYW1pY2FsbHkgdXBkYXRlIGl0IGxpa2UgdGhlIF9DUlMgbWV0aG9kIGJlbG93Lg0K PiArICAgICAgLy8NCj4gKyAgICAgIE1lbW9yeTMyRml4ZWQoUmVhZFdyaXRlLDB4MEZFRjAwMDAw LDB4MDEwMDAwMCxNUEhCKSAgICAgICAvLyBNUEhZDQo+IEJBUg0KPiArICAgIH0pDQo+ICsNCj4g KyAgICBNZXRob2QoX0NSUywwLFNlcmlhbGl6ZWQpDQo+ICsgICAgew0KPiArDQo+ICsgICAgICBS ZXR1cm4oQlVGMCkNCj4gKyAgICB9DQo+ICsNCj4gKyAgfQ0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEv U2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9QY2guYXNs DQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9Q Y2guYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmFmOGFj ZWI1MTUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BjaC5hc2wNCj4gQEAgLTAsMCArMSw2ODYgQEANCj4g Ky8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioNCj4gKioqKioqKioqKioqKioqKio7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICo7DQo+ICs7KiAgICBJbnRlbCBDb3Jwb3JhdGlvbiAtIEFDUEkgUmVmZXJl bmNlIENvZGUgZm9yIHRoZSBCYXl0cmFpbCAgICAgICAgICAgICo7DQo+ICs7KiAgICBGYW1pbHkg b2YgQ3VzdG9tZXIgUmVmZXJlbmNlIEJvYXJkcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ ICs7KiAgICBDb3B5cmlnaHQgKGMpIDIwMTIgIC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQgICAgKjsNCj4gKzsNCj4gKzsgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKzsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4g KzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqKiovDQo+ICsNCj4g Kw0KPiArU2NvcGUoXCkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gRGVmaW5lIFZMViBBQkFTRSBJ L08gYXMgYW4gQUNQSSBvcGVyYXRpbmcgcmVnaW9uLiBUaGUgYmFzZSBhZGRyZXNzDQo+ICsgIC8v IGNhbiBiZSBmb3VuZCBpbiBEZXZpY2UgMzEsIFJlZ2lzdGVycyA0MC00M2guDQo+ICsgIC8vDQo+ ICsgIE9wZXJhdGlvblJlZ2lvbihQTUlPLCBTeXN0ZW1JbywgXFBNQlMsIDB4NDYpDQo+ICsgIEZp ZWxkKFBNSU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICAsICAg ICAgOCwNCj4gKyAgICBQV0JTLCAgMSwgICAgICAgLy8gUG93ZXIgQnV0dG9uIFN0YXR1cw0KPiAr ICAgIE9mZnNldCgweDIwKSwNCj4gKyAgICAsICAgICAgMTMsDQo+ICsgICAgUE1FQiwgIDEsICAg ICAvLyBQTUVfQjBfU1RTDQo+ICsgICAgT2Zmc2V0KDB4NDIpLCAgICAgLy8gR2VuZXJhbCBQdXJw b3NlIENvbnRyb2wNCj4gKyAgICAsICAgICAgMSwNCj4gKyAgICBHUEVDLCAgMQ0KPiArICB9DQo+ ICsgIEZpZWxkKFBNSU8sIEJ5dGVBY2MsIE5vTG9jaywgV3JpdGVBc1plcm9zKQ0KPiArICB7DQo+ ICsgICAgT2Zmc2V0KDB4MjApLCAgICAgLy8gR1BFMCBTdGF0dXMNCj4gKyAgICAsICAgICAgNCwN Cj4gKyAgICBQU0NJLCAgMSwgICAgICAgLy8gUFVOSVQgU0NJIFN0YXR1cw0KPiArICAgIFNDSVMs ICAxICAgICAgICAvLyBHVU5JVCBTQ0kgU3RhdHVzDQo+ICsgIH0NCj4gKw0KPiArDQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gRGVmaW5lIGEgTWVtb3J5IFJlZ2lvbiB0aGF0IHdpbGwgYWxsb3cgYWNj ZXNzIHRvIHRoZSBQTUMNCj4gKyAgLy8gUmVnaXN0ZXIgQmxvY2suICBOb3RlIHRoYXQgaW4gdGhl IEludGVsIFJlZmVyZW5jZSBTb2x1dGlvbiwgdGhlIFBNQw0KPiArICAvLyB3aWxsIGdldCBmaXhl ZCB1cCBkeW5hbWljYWxseSBkdXJpbmcgUE9TVC4NCj4gKyAgLy8NCj4gKyAgT3BlcmF0aW9uUmVn aW9uKFBNQ1IsIFN5c3RlbU1lbW9yeSwgXFBGRFIsIDB4MDQpLy8gUE1DIEZ1bmN0aW9uDQo+IERp c2FibGUgUmVnaXN0ZXINCj4gKyAgRmllbGQoUE1DUixEV29yZEFjYyxMb2NrLFByZXNlcnZlKQ0K PiArICB7DQo+ICsgICAgT2Zmc2V0KDB4MDApLCAgIC8vICBGdW5jdGlvbiBEaXNhYmxlIFJlZ2lz dGVyDQo+ICsgICAgTDEwRCwgIDEsICAgICAgICAgLy8gICgwKSBMUElPMSBETUEgRGlzYWJsZQ0K PiArICAgIEwxMUQsICAxLCAgICAgICAgIC8vICAoMSkgTFBJTzEgUFdNICMxIERpc2FibGUNCj4g KyAgICBMMTJELCAgMSwgICAgICAgICAvLyAgKDIpIExQSU8xIFBXTSAjMiBEaXNhYmxlDQo+ICsg ICAgTDEzRCwgIDEsICAgICAgICAgLy8gICgzKSBMUElPMSBIUy1VQVJUICMxIERpc2FibGUNCj4g KyAgICBMMTRELCAgMSwgICAgICAgICAvLyAgKDQpIExQSU8xIEhTLVVBUlQgIzIgRGlzYWJsZQ0K PiArICAgIEwxNUQsICAxLCAgICAgICAgIC8vICAoNSkgTFBJTzEgU1BJIERpc2FibGUNCj4gKyAg ICAsICAgICAgICAgIDIsICAgICAvLyAgKDY6NykgUmVzZXJ2ZWQNCj4gKyAgICBTRDFELCAgMSwg ICAgICAgICAvLyAgKDgpIFNDQyBTRElPICMxIERpc2FibGUNCj4gKyAgICBTRDJELCAgMSwgICAg ICAgICAvLyAgKDkpIFNDQyBTRElPICMyIERpc2FibGUNCj4gKyAgICBTRDNELCAgMSwgICAgICAg ICAvLyAgKDEwKSBTQ0MgU0RJTyAjMyBEaXNhYmxlDQo+ICsgICAgSFNJRCwgIDEsICAgICAgICAg Ly8gICgxMSkNCj4gKyAgICBIREFELCAgMSwgICAgICAgICAvLyAgKDEyKSBBemFsaWEgRGlzYWJs ZQ0KPiArICAgIExQRUQsICAxLCAgICAgICAgIC8vICAoMTMpIExQRSBEaXNhYmxlDQo+ICsgICAg T1RHRCwgIDEsICAgICAgICAgLy8gICgxNCkgVVNCIE9URyBEaXNhYmxlDQo+ICsgICAgLCAgICAg ICAgICAxLCAgICAgLy8gICgxNSkgVVNIIERpc2FibGUNCj4gKyAgICAsICAgICAgICAgIDEsICAg ICAvLyAgKDE2KQ0KPiArICAgICwgICAgICAgICAgMSwgICAgIC8vICAoMTcpDQo+ICsgICAgLCAg ICAgICAgICAxLCAgICAgLy8gICgxOCkgVVNCIERpc2FibGUNCj4gKyAgICAsICAgICAgICAgIDEs ICAgICAvLyAgKDE5KSBTRUMgRGlzYWJsZQ0KPiArICAgIFJQMUQsICAxLCAgICAgICAgIC8vICAo MjApIFJvb3QgUG9ydCAwIERpc2FibGUNCj4gKyAgICBSUDJELCAgMSwgICAgICAgICAvLyAgKDIx KSBSb290IFBvcnQgMSBEaXNhYmxlDQo+ICsgICAgUlAzRCwgIDEsICAgICAgICAgLy8gICgyMikg Um9vdCBQb3J0IDIgRGlzYWJsZQ0KPiArICAgIFJQNEQsICAxLCAgICAgICAgIC8vICAoMjMpIFJv b3QgUG9ydCAzIERpc2FibGUNCj4gKyAgICBMMjBELCAgMSwgICAgICAgICAvLyAgKDI0KSBMUElP MiBETUEgRGlzYWJsZQ0KPiArICAgIEwyMUQsICAxLCAgICAgICAgIC8vICAoMjUpIExQSU8yIEky QyAjMSBEaXNhYmxlDQo+ICsgICAgTDIyRCwgIDEsICAgICAgICAgLy8gICgyNikgTFBJTzIgSTJD ICMyIERpc2FibGUNCj4gKyAgICBMMjNELCAgMSwgICAgICAgICAvLyAgKDI3KSBMUElPMiBJMkMg IzMgRGlzYWJsZQ0KPiArICAgIEwyNEQsICAxLCAgICAgICAgIC8vICAoMjgpIExQSU8yIEkyQyAj NCBEaXNhYmxlDQo+ICsgICAgTDI1RCwgIDEsICAgICAgICAgLy8gICgyOSkgTFBJTzIgSTJDICM1 IERpc2FibGUNCj4gKyAgICBMMjZELCAgMSwgICAgICAgICAvLyAgKDMwKSBMUElPMiBJMkMgIzYg RGlzYWJsZQ0KPiArICAgIEwyN0QsICAxICAgICAgICAgIC8vICAoMzEpIExQSU8yIEkyQyAjNyBE aXNhYmxlDQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIE9wZXJhdGlvblJlZ2lvbihDTEtDLCBTeXN0 ZW1NZW1vcnksIFxQQ0xLLCAweDE4KS8vIFBNQyBDTEsgQ1RMDQo+IFJlZ2lzdGVycw0KPiArICBG aWVsZChDTEtDLERXb3JkQWNjLExvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICBPZmZzZXQo MHgwMCksICAgLy8gIFBMVF9DTEtfQ1RMXzANCj4gKyAgICBDS0MwLCAyLA0KPiArICAgIENLRjAs IDEsDQo+ICsgICAgLCAgICAgMjksDQo+ICsgICAgT2Zmc2V0KDB4MDQpLCAgIC8vICBQTFRfQ0xL X0NUTF8xDQo+ICsgICAgQ0tDMSwgMiwNCj4gKyAgICBDS0YxLCAxLA0KPiArICAgICwgICAgIDI5 LA0KPiArICAgIE9mZnNldCgweDA4KSwgICAvLyAgUExUX0NMS19DVExfMg0KPiArICAgIENLQzIs ICAyLA0KPiArICAgIENLRjIsIDEsDQo+ICsgICAgLCAgICAgMjksDQo+ICsgICAgT2Zmc2V0KDB4 MEMpLCAgIC8vICBQTFRfQ0xLX0NUTF8zDQo+ICsgICAgQ0tDMywgIDIsDQo+ICsgICAgQ0tGMywg MSwNCj4gKyAgICAsICAgICAyOSwNCj4gKyAgICBPZmZzZXQoMHgxMCksICAgLy8gIFBMVF9DTEtf Q1RMXzQNCj4gKyAgICBDS0M0LCAgMiwNCj4gKyAgICBDS0Y0LCAxLA0KPiArICAgICwgICAgIDI5 LA0KPiArICAgIE9mZnNldCgweDE0KSwgICAvLyAgUExUX0NMS19DVExfNQ0KPiArICAgIENLQzUs ICAyLA0KPiArICAgIENLRjUsIDEsDQo+ICsgICAgLCAgICAgMjksDQo+ICsgIH0NCj4gK30gLy9l bmQgU2NvcGUoXCkNCj4gKw0KPiArc2NvcGUgKFxfU0IpDQo+ICt7DQo+ICsgIERldmljZShMUEVB KQ0KPiArICB7DQo+ICsgICAgTmFtZSAoX0FEUiwgMCkNCj4gKyAgICBOYW1lIChfSElELCAiODA4 NjBGMjgiKQ0KPiArICAgIE5hbWUgKF9DSUQsICI4MDg2MEYyOCIpDQo+ICsgICAgLy9OYW1lIChf Q0xTLCBQYWNrYWdlICgzKSB7MHgwNCwgMHgwMSwgMHgwMH0pDQo+ICsgICAgTmFtZSAoX0RETiwg IkludGVsKFIpIExvdyBQb3dlciBBdWRpbyBDb250cm9sbGVyIC0gODA4NjBGMjgiKQ0KPiArICAg IE5hbWUgKF9TVUIsICI4MDg2NzI3MCIpDQo+ICsgICAgTmFtZSAoX1VJRCwgMSkNCj4gKyAgICBO YW1lIChfREVQLCBQYWNrYWdlKCkge1xfU0IuSTJDMi5SVEVLfSkNCj4gKyAgICBOYW1lKF9QUjAs UGFja2FnZSgpIHtQTFBFfSkNCj4gKw0KPiArICAgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJp YWxpemVkKQ0KPiArICAgIHsNCj4gKyAgICAgIElmIChMQW5kKExBbmQoTEVxdWFsKExQRUUsIDIp LCBMRXF1YWwoTFBFRCwgMCkpLCBMRXF1YWwoT1NFTCwgMCkpKQ0KPiArICAgICAgew0KPiArICAg ICAgICBJZihMRXF1YWwoTFBBRCwgMSkpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBSZXR1 cm4gKDB4RikNCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgUmV0dXJuICgweDAp DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTWV0aG9kIChfRElTLCAweDAsIE5vdFNlcmlhbGl6ZWQp DQo+ICsgICAgew0KPiArICAgICAgLy9BZGQgYSBkdW1teSBkaXNhYmxlIGZ1bmN0aW9uDQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KPiArICAg ICAgew0KPiArICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4RkU0MDAwMDAsIDB4 MDAyMDAwMDAsIEJBUjApICAvLyBNTUlPDQo+IDEgLSBMUEUgTU1JTw0KPiArICAgICAgICBNZW1v cnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4RkU4MzAwMDAsIDB4MDAwMDEwMDAsIEJBUjEpICAvLyBN TUlPDQo+IDIgLSBTaGFkb3dlZCBQQ0kgQ29uZmlnIFNwYWNlDQo+ICsgICAgICAgIE1lbW9yeTMy Rml4ZWQgKFJlYWRXcml0ZSwgMHg1NUFBNTVBQSwgMHgwMDEwMDAwMCwgQkFSMikgIC8vIExQRQ0K PiBNZW1vcnkgQmFyIEFsbG9jYXRlIGR1cmluZyBwb3N0DQo+ICsgICAgICAgIEludGVycnVwdCAo UmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwgKSB7MjR9 DQo+ICsgICAgICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxv dywgRXhjbHVzaXZlLCAsICwgKSB7MjV9DQo+ICsgICAgICAgIEludGVycnVwdCAoUmVzb3VyY2VD b25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwgKSB7MjZ9DQo+ICsgICAg ICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVz aXZlLCAsICwgKSB7Mjd9DQo+ICsgICAgICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwg TGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwgKSB7Mjh9DQo+ICsgICAgICAgIEludGVy cnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwg KSB7Mjl9DQo+ICsgICAgICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgRXhjbHVzaXZlQW5k V2FrZSwgUHVsbE5vbmUsDQo+IDAsIlxcX1NCLkdQTzIiKSB7Mjh9IC8vICBBdWRpbyBqYWNrIGlu dGVycnVwdA0KPiArICAgICAgfQ0KPiArICAgICkNCj4gKw0KPiArICAgIE1ldGhvZCAoX0NSUywg MHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICAgIHsNCj4gKyAgICAgIENyZWF0ZUR3b3JkRmllbGQo XlJCVUYsIF5CQVIwLl9CQVMsIEIwQkEpDQo+ICsgICAgICBTdG9yZShMUEUwLCBCMEJBKQ0KPiAr ICAgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjEuX0JBUywgQjFCQSkNCj4gKyAgICAg IFN0b3JlKExQRTEsIEIxQkEpDQo+ICsgICAgICBDcmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFS Mi5fQkFTLCBCMkJBKQ0KPiArICAgICAgU3RvcmUoTFBFMiwgQjJCQSkNCj4gKyAgICAgIFJldHVy biAoUkJVRikNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBPcGVyYXRpb25SZWdpb24gKEtFWVMsIFN5 c3RlbU1lbW9yeSwgTFBFMSwgMHgxMDApDQo+ICsgICAgRmllbGQgKEtFWVMsIERXb3JkQWNjLCBO b0xvY2ssIFdyaXRlQXNaZXJvcykNCj4gKyAgICB7DQo+ICsgICAgICBPZmZzZXQgKDB4ODQpLA0K PiArICAgICAgUFNBVCwgICAzMg0KPiArICAgIH0NCj4gKw0KPiArICAgIFBvd2VyUmVzb3VyY2Uo UExQRSwgMCwgMCkgICAvLyBQb3dlciBSZXNvdXJjZSBmb3IgTFBFQQ0KPiArICAgIHsNCj4gKyAg ICAgIE1ldGhvZCAoX1NUQSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgUmV0dXJuICgxKSAgICAg IC8vIFBvd2VyIFJlc291cmNlIGlzIGFsd2F5cyBhdmFpbGFibGUuDQo+ICsgICAgICB9DQo+ICsN Cj4gKyAgICAgIE1ldGhvZCAoX09OKQ0KPiArICAgICAgew0KPiArICAgICAgICBBbmQoUFNBVCwg MHhmZmZmZmZmQywgUFNBVCkNCj4gKyAgICAgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkN Cj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgTWV0aG9kIChfT0ZGKQ0KPiArICAgICAgew0KPiAr ICAgICAgICBPUihQU0FULCAweDAwMDAwMDAzLCBQU0FUKQ0KPiArICAgICAgICBPUihQU0FULCAw WDAwMDAwMDAwLCBQU0FUKQ0KPiArICAgICAgfQ0KPiArICAgIH0gLy8gRW5kIFBMUEUNCj4gKyAg fSAvLyBFbmQgIkxvdyBQb3dlciBFbmdpbmUgQXVkaW8iDQo+ICsNCj4gKyAgRGV2aWNlKExQQTIp DQo+ICsgIHsNCj4gKyAgICBOYW1lIChfQURSLCAwKQ0KPiArICAgIE5hbWUgKF9ISUQsICJMUEUw RjI4IikgIC8vIF9ISUQ6IEhhcmR3YXJlIElEDQo+ICsgICAgTmFtZSAoX0NJRCwgIkxQRTBGMjgi KSAgLy8gX0NJRDogQ29tcGF0aWJsZSBJRA0KPiArICAgIE5hbWUgKF9ERE4sICJJbnRlbChSKSBT U1QgQXVkaW8gLSBMUEUwRjI4IikgIC8vIF9ERE46IERPUyBEZXZpY2UgTmFtZQ0KPiArICAgIE5h bWUgKF9TVUIsICI4MDg2NzI3MCIpDQo+ICsgICAgTmFtZSAoX1VJRCwgMSkNCj4gKyAgICBOYW1l IChfREVQLCBQYWNrYWdlKCkge1xfU0IuSTJDMi5SVEVLfSkNCj4gKyAgICBOYW1lKF9QUjAsUGFj a2FnZSgpIHtQTFBFfSkNCj4gKw0KPiArICAgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJpYWxp emVkKQ0KPiArICAgIHsNCj4gKyAgICAgIElmIChMQW5kKExBbmQoTEVxdWFsKExQRUUsIDIpLCBM RXF1YWwoTFBFRCwgMCkpLCBMRXF1YWwoT1NFTCwgMSkpKQ0KPiArICAgICAgew0KPiArICAgICAg ICBJZihMRXF1YWwoTFBBRCwgMSkpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBSZXR1cm4g KDB4RikNCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgUmV0dXJuICgweDApDQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgTWV0aG9kIChfRElTLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ ICsgICAgew0KPiArICAgICAgLy9BZGQgYSBkdW1teSBkaXNhYmxlIGZ1bmN0aW9uDQo+ICsgICAg fQ0KPiArDQo+ICsgICAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KPiArICAgICAg ew0KPiArICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4NTVBQTU1QUEsIDB4MDAx MDAwMDAsIEJBUjIpICAvLyBMUEUNCj4gTWVtb3J5IEJhciBBbGxvY2F0ZSBkdXJpbmcgcG9zdA0K PiArICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4NTVBQTU1QUEsIDB4MDAwMDAx MDAsIFNISU0pDQo+ICsgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHg1NUFBNTVB QSwgMHgwMDAwMTAwMCwgTUJPWCkNCj4gKyAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRl LCAweDU1QUE1NUFBLCAweDAwMDE0MDAwLCBJUkFNKQ0KPiArICAgICAgICBNZW1vcnkzMkZpeGVk IChSZWFkV3JpdGUsIDB4NTVBQTU1QUEsIDB4MDAwMjgwMDAsIERSQU0pDQo+ICsgICAgICAgIElu dGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAs ICwgKSB7Mjl9DQo+ICsgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHhGRTgzMDAw MCwgMHgwMDAwMTAwMCwgQkFSMSkgIC8vIE1NSU8NCj4gMiAtIFNoYWRvd2VkIFBDSSBDb25maWcg U3BhY2UNCj4gKyAgICAgIH0NCj4gKyAgICApDQo+ICsNCj4gKyAgICBNZXRob2QgKF9DUlMsIDB4 MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgICB7DQo+ICsgICAgICBDcmVhdGVEd29yZEZpZWxkKF5S QlVGLCBeU0hJTS5fQkFTLCBTSEJBKQ0KPiArICAgICAgQWRkKExQRTAsIDB4MTQwMDAwLCBTSEJB KQ0KPiArICAgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXk1CT1guX0JBUywgTUJCQSkNCj4g KyAgICAgIEFkZChMUEUwLCAweDE0NDAwMCwgTUJCQSkNCj4gKyAgICAgIENyZWF0ZUR3b3JkRmll bGQoXlJCVUYsIF5JUkFNLl9CQVMsIElSQkEpDQo+ICsgICAgICBBZGQoTFBFMCwgMHhDMDAwMCwg SVJCQSkNCj4gKyAgICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5EUkFNLl9CQVMsIERSQkEp DQo+ICsgICAgICBBZGQoTFBFMCwgMHgxMDAwMDAsIERSQkEpDQo+ICsgICAgICBDcmVhdGVEd29y ZEZpZWxkKF5SQlVGLCBeQkFSMS5fQkFTLCBCMUJBKQ0KPiArICAgICAgU3RvcmUoTFBFMSwgQjFC QSkNCj4gKyAgICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIyLl9CQVMsIEIyQkEpDQo+ ICsgICAgICBTdG9yZShMUEUyLCBCMkJBKQ0KPiArICAgICAgUmV0dXJuIChSQlVGKQ0KPiArICAg IH0NCj4gKw0KPiArICAgIE9wZXJhdGlvblJlZ2lvbiAoS0VZUywgU3lzdGVtTWVtb3J5LCBMUEUx LCAweDEwMCkNCj4gKyAgICBGaWVsZCAoS0VZUywgRFdvcmRBY2MsIE5vTG9jaywgV3JpdGVBc1pl cm9zKQ0KPiArICAgIHsNCj4gKyAgICAgIE9mZnNldCAoMHg4NCksDQo+ICsgICAgICBQU0FULCAg IDMyDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgUG93ZXJSZXNvdXJjZShQTFBFLCAwLCAwKSAgIC8v IFBvd2VyIFJlc291cmNlIGZvciBMUEVBDQo+ICsgICAgew0KPiArICAgICAgTWV0aG9kIChfU1RB KQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4gKDEpICAgICAgLy8gUG93ZXIgUmVzb3Vy Y2UgaXMgYWx3YXlzIGF2YWlsYWJsZS4NCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgTWV0aG9k IChfT04pDQo+ICsgICAgICB7DQo+ICsgICAgICAgIEFuZChQU0FULCAweGZmZmZmZmZDLCBQU0FU KQ0KPiArICAgICAgICBPUihQU0FULCAwWDAwMDAwMDAwLCBQU0FUKQ0KPiArICAgICAgfQ0KPiAr DQo+ICsgICAgICBNZXRob2QgKF9PRkYpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIE9SKFBTQVQs IDB4MDAwMDAwMDMsIFBTQVQpDQo+ICsgICAgICAgIE9SKFBTQVQsIDBYMDAwMDAwMDAsIFBTQVQp DQo+ICsgICAgICB9DQo+ICsgICAgfSAvLyBFbmQgUExQRQ0KPiArDQo+ICsgICAgRGV2aWNlIChB RE1BKQ0KPiArICAgIHsNCj4gKyAgICAgIE5hbWUgKF9BRFIsIFplcm8pICAvLyBfQURSOiBBZGRy ZXNzDQo+ICsgICAgICBOYW1lIChfSElELCAiRE1BMEYyOCIpICAvLyBfSElEOiBIYXJkd2FyZSBJ RA0KPiArICAgICAgTmFtZSAoX0NJRCwgIkRNQTBGMjgiKSAgLy8gX0NJRDogQ29tcGF0aWJsZSBJ RA0KPiArICAgICAgTmFtZSAoX0RETiwgIkludGVsKFIpIEF1ZGlvICBETUEwIC0gRE1BMEYyOCIp ICAvLyBfREROOiBET1MgRGV2aWNlDQo+IE5hbWUNCj4gKyAgICAgIE5hbWUgKF9VSUQsIE9uZSkg IC8vIF9VSUQ6IFVuaXF1ZSBJRA0KPiArICAgICAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0 ZSAoKQ0KPiArICAgICAgew0KPiArICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4 NTVBQTU1QUEsIDB4MDAwMDEwMDAsIERNQTApICAvLyBMUEUNCj4gQkFTRSArIExQRSBETUEwIG9m ZnNldA0KPiArICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4NTVBQTU1QUEsIDB4 MDAwMDEwMDAsIFNISU0pICAvLyBMUEUNCj4gQkFTRSArIExQRSBTSElNIG9mZnNldA0KPiArICAg ICAgICBJbnRlcnJ1cHQgKFJlc291cmNlQ29uc3VtZXIsIExldmVsLCBBY3RpdmVMb3csIEV4Y2x1 c2l2ZSwgLCAsICkgezI0fQ0KPiArICAgICAgfSkNCj4gKw0KPiArICAgICAgTWV0aG9kIChfQ1JT LCAwLCBOb3RTZXJpYWxpemVkKSAgIC8vIF9DUlM6IEN1cnJlbnQgUmVzb3VyY2UgU2V0dGluZ3MN Cj4gKyAgICAgIHsNCj4gKyAgICAgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkRNQTAuX0JB UywgRDBCQSkNCj4gKyAgICAgICAgQWRkKExQRTAsIDB4OTgwMDAsIEQwQkEpDQo+ICsgICAgICAg IENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5TSElNLl9CQVMsIFNIQkEpDQo+ICsgICAgICAgIEFk ZChMUEUwLCAweDE0MDAwMCwgU0hCQSkNCj4gKyAgICAgICAgUmV0dXJuIChSQlVGKQ0KPiArICAg ICAgfQ0KPiArICAgIH0NCj4gKyAgfSAvLyBFbmQgIkxvdyBQb3dlciBFbmdpbmUgQXVkaW8iIGZv ciBBbmRyb2lkDQo+ICt9DQo+ICsNCj4gK3Njb3BlIChcX1NCLlBDSTApDQo+ICt7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gU2VyaWFsIEFUQSBIb3N0IENvbnRyb2xsZXIgLSBEZXZpY2UgMTksIEZ1 bmN0aW9uIDANCj4gKyAgLy8NCj4gKw0KPiArICBEZXZpY2UoU0FUQSkNCj4gKyAgew0KPiArICAg IE5hbWUoX0FEUiwweDAwMTMwMDAwKQ0KPiArICAgIC8vDQo+ICsgICAgLy8gU0FUQSBNZXRob2Rz IHB1bGxlZCBpbiB2aWEgU1NEVC4NCj4gKyAgICAvLw0KPiArDQo+ICsgICAgT3BlcmF0aW9uUmVn aW9uKFNBVFIsIFBDSV9Db25maWcsIDB4NzQsMHg0KQ0KPiArICAgIEZpZWxkKFNBVFIsV29yZEFj YyxOb0xvY2ssUHJlc2VydmUpDQo+ICsgICAgew0KPiArICAgICAgT2Zmc2V0KDB4MDApLCAvLyAw eDc0LCBQTUNSDQo+ICsgICAgICAsICAgOCwNCj4gKyAgICAgIFBNRUUsICAgMSwgICAgLy9QTUVf RU4NCj4gKyAgICAgICwgICA2LA0KPiArICAgICAgUE1FUywgICAxICAgICAvL1BNRV9TVFMNCj4g KyAgICB9DQo+ICsNCj4gKyAgICBNZXRob2QgKF9TVEEsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4g KyAgICB7DQo+ICsgICAgICBSZXR1cm4oMHhmKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIE1ldGhv ZChfRFNXLCAzKQ0KPiArICAgIHsNCj4gKyAgICB9IC8vIEVuZCBfRFNXDQo+ICsgIH0NCj4gKw0K PiArICAvLw0KPiArICAvLyBGb3IgZU1NQyA0LjQxIFBDSSBtb2RlIGluIG9yZGVyIHRvIHByZXNl bnQgbm9uLXJlbW92YWJsZSBkZXZpY2UNCj4gdW5kZXIgV2luZG93cyBlbnZpcm9ubWVudA0KPiAr ICAvLw0KPiArICBEZXZpY2UoRU00MSkNCj4gKyAgew0KPiArICAgIE5hbWUoX0FEUiwweDAwMTAw MDAwKQ0KPiArICAgIE9wZXJhdGlvblJlZ2lvbihTRElPLCBQQ0lfQ29uZmlnLCAweDg0LDB4NCkN Cj4gKyAgICBGaWVsZChTRElPLFdvcmRBY2MsTm9Mb2NrLFByZXNlcnZlKQ0KPiArICAgIHsNCj4g KyAgICAgIE9mZnNldCgweDAwKSwgLy8gMHg4NCwgUE1DUg0KPiArICAgICAgLCAgIDgsDQo+ICsg ICAgICBQTUVFLCAgIDEsICAgIC8vUE1FX0VODQo+ICsgICAgICAsICAgNiwNCj4gKyAgICAgIFBN RVMsICAgMSAgICAgLy9QTUVfU1RTDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTWV0aG9kIChfU1RB LCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgICAgew0KPiArICAgICAgSWYgKExBbmQoTEVxdWFs KFBDSU0sIDEpLCBMRXF1YWwoU0QxRCwgMCkpKQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1 cm4oMHhGKQ0KPiArICAgICAgfQ0KPiArICAgICAgRWxzZQ0KPiArICAgICAgew0KPiArICAgICAg ICBSZXR1cm4oMHgwKQ0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICAgIE1ldGhvZChf RFNXLCAzKQ0KPiArICAgIHsNCj4gKyAgICB9IC8vIEVuZCBfRFNXDQo+ICsNCj4gKyAgICBEZXZp Y2UgKENBUkQpDQo+ICsgICAgew0KPiArICAgICAgTmFtZSAoX0FEUiwgMHgwMDAwMDAwOCkNCj4g KyAgICAgIE1ldGhvZChfUk1WLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgICAgICB7DQo+ICsg ICAgICAgIFJldHVybiAoMCkNCj4gKyAgICAgIH0gLy8gRW5kIF9EU1cNCj4gKyAgICB9DQo+ICsg IH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBGb3IgZU1NQyA0LjUgUENJIG1vZGUgaW4gb3JkZXIg dG8gcHJlc2VudCBub24tcmVtb3ZhYmxlIGRldmljZQ0KPiB1bmRlciBXaW5kb3dzIGVudmlyb25t ZW50DQo+ICsgIC8vDQo+ICsgIERldmljZShFTTQ1KQ0KPiArICB7DQo+ICsgICAgTmFtZShfQURS LDB4MDAxNzAwMDApDQo+ICsgICAgT3BlcmF0aW9uUmVnaW9uKFNESU8sIFBDSV9Db25maWcsIDB4 ODQsMHg0KQ0KPiArICAgIEZpZWxkKFNESU8sV29yZEFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsg ICAgew0KPiArICAgICAgT2Zmc2V0KDB4MDApLCAvLyAweDg0LCBQTUNSDQo+ICsgICAgICAsICAg OCwNCj4gKyAgICAgIFBNRUUsICAgMSwgICAgLy9QTUVfRU4NCj4gKyAgICAgICwgICA2LA0KPiAr ICAgICAgUE1FUywgICAxICAgICAvL1BNRV9TVFMNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBNZXRo b2QgKF9TVEEsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgICB7DQo+ICsgICAgICBJZiAoTEFu ZChMRXF1YWwoUENJTSwgMSksIExFcXVhbChIU0lELCAwKSkpDQo+ICsgICAgICB7DQo+ICsgICAg ICAgIFJldHVybigweEYpDQo+ICsgICAgICB9DQo+ICsgICAgICBFbHNlDQo+ICsgICAgICB7DQo+ ICsgICAgICAgIFJldHVybigweDApDQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsgICAg TWV0aG9kKF9EU1csIDMpDQo+ICsgICAgew0KPiArICAgIH0gLy8gRW5kIF9EU1cNCj4gKw0KPiAr ICAgIERldmljZSAoQ0FSRCkNCj4gKyAgICB7DQo+ICsgICAgICBOYW1lIChfQURSLCAweDAwMDAw MDA4KQ0KPiArICAgICAgTWV0aG9kKF9STVYsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgICAg IHsNCj4gKyAgICAgICAgUmV0dXJuICgwKQ0KPiArICAgICAgfSAvLyBFbmQgX0RTVw0KPiArICAg IH0NCj4gKyAgfQ0KPiArICAvLw0KPiArICAvLyBGb3IgU0QgSG9zdCBDb250cm9sbGVyIChCdXMg MHgwMCA6IERldiAweDEyIDogRnVuYyAweDAwKSBQQ0kgbW9kZSBpbg0KPiBvcmRlciB0byBwcmVz ZW50IG5vbi1yZW1vdmFibGUgZGV2aWNlIHVuZGVyIFdpbmRvd3MgZW52aXJvbm1lbnQNCj4gKyAg Ly8NCj4gKyAgRGV2aWNlKFNEMTIpDQo+ICsgIHsNCj4gKyAgICBOYW1lKF9BRFIsMHgwMDEyMDAw MCkNCj4gKw0KPiArICAgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICAg IHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBQQ0lNPj4gMDpBQ1BJIG1vZGUgICAgICAgICAg IDE6UENJIG1vZGUNCj4gKyAgICAgIC8vDQo+ICsgICAgICBJZiAoTEVxdWFsKFBDSU0sIDApKSB7 DQo+ICsgICAgICAgIFJldHVybiAoMHgwKQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICAvLw0K PiArICAgICAgLy8gSWYgZGV2aWNlIGlzIGRpc2FibGVkLg0KPiArICAgICAgLy8NCj4gKyAgICAg IElmIChMRXF1YWwoU0QzRCwgMSkpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFJldHVybiAoMHgw KQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBSZXR1cm4gKDB4RikNCj4gKyAgICB9DQo+ICsN Cj4gKyAgICBEZXZpY2UgKENBUkQpDQo+ICsgICAgew0KPiArICAgICAgTmFtZSAoX0FEUiwgMHgw MDAwMDAwOCkNCj4gKyAgICAgIE1ldGhvZChfUk1WLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsg ICAgICB7DQo+ICsgICAgICAgIC8vIFNEUk0gPSAwIG5vbi1yZW1vdmFibGU7DQo+ICsgICAgICAg IElmIChMRXF1YWwoU0RSTSwgMCkpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBSZXR1cm4g KDApDQo+ICsgICAgICAgIH0NCj4gKw0KPiArICAgICAgICBSZXR1cm4gKDEpDQo+ICsgICAgICB9 DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8geEhDSSBDb250cm9sbGVyIC0gRGV2aWNl IDIwLCBGdW5jdGlvbiAwDQo+ICsgIGluY2x1ZGUoIlBjaFhoY2kuYXNsIikNCj4gKw0KPiArICAv Lw0KPiArICAvLyBIaWdoIERlZmluaXRpb24gQXVkaW8gQ29udHJvbGxlciAtIERldmljZSAyNywg RnVuY3Rpb24gMA0KPiArICAvLw0KPiArICBEZXZpY2UoSERFRikNCj4gKyAgew0KPiArICAgIE5h bWUoX0FEUiwgMHgwMDFCMDAwMCkNCj4gKyAgICBpbmNsdWRlKCJQY2hBdWRpby5hc2wiKQ0KPiAr DQo+ICsgICAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgICAgew0KPiAr ICAgICAgSWYgKExFcXVhbChIREFELCAwKSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgUmV0dXJu KDB4ZikNCj4gKyAgICAgIH0NCj4gKyAgICAgIFJldHVybigweDApDQo+ICsgICAgfQ0KPiArDQo+ ICsgICAgTWV0aG9kKF9EU1csIDMpDQo+ICsgICAgew0KPiArICAgIH0gLy8gRW5kIF9EU1cNCj4g KyAgfSAvLyBlbmQgIkhpZ2ggRGVmaW5pdGlvbiBBdWRpbyBDb250cm9sbGVyIg0KPiArDQo+ICsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBQQ0lFIFJvb3QgUG9ydCAjMQ0KPiArICAvLw0KPiArICBE ZXZpY2UoUlAwMSkNCj4gKyAgew0KPiArICAgIE5hbWUoX0FEUiwgMHgwMDFDMDAwMCkNCj4gKyAg ICBpbmNsdWRlKCJQY2hQY2llLmFzbCIpDQo+ICsgICAgTmFtZShfUFJXLCBQYWNrYWdlKCkgezks IDR9KQ0KPiArDQo+ICsgICAgTWV0aG9kKF9QUlQsMCkNCj4gKyAgICB7DQo+ICsgICAgICBJZihQ SUNNKSB7IFJldHVybihBUjA0KSB9Ly8gQVBJQyBtb2RlDQo+ICsgICAgICBSZXR1cm4gKFBSMDQp IC8vIFBJQyBNb2RlDQo+ICsgICAgfSAvLyBlbmQgX1BSVA0KPiArICB9IC8vIGVuZCAiUENJRSBS b290IFBvcnQgIzEiDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUENJRSBSb290IFBvcnQgIzINCj4g KyAgLy8NCj4gKyAgRGV2aWNlKFJQMDIpDQo+ICsgIHsNCj4gKyAgICBOYW1lKF9BRFIsIDB4MDAx QzAwMDEpDQo+ICsgICAgaW5jbHVkZSgiUGNoUGNpZS5hc2wiKQ0KPiArICAgIE5hbWUoX1BSVywg UGFja2FnZSgpIHs5LCA0fSkNCj4gKw0KPiArICAgIE1ldGhvZChfUFJULDApDQo+ICsgICAgew0K PiArICAgICAgSWYoUElDTSkgeyBSZXR1cm4oQVIwNSkgfS8vIEFQSUMgbW9kZQ0KPiArICAgICAg UmV0dXJuIChQUjA1KSAvLyBQSUMgTW9kZQ0KPiArICAgIH0gLy8gZW5kIF9QUlQNCj4gKw0KPiAr ICB9IC8vIGVuZCAiUENJRSBSb290IFBvcnQgIzIiDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUENJ RSBSb290IFBvcnQgIzMNCj4gKyAgLy8NCj4gKyAgRGV2aWNlKFJQMDMpDQo+ICsgIHsNCj4gKyAg ICBOYW1lKF9BRFIsIDB4MDAxQzAwMDIpDQo+ICsgICAgaW5jbHVkZSgiUGNoUGNpZS5hc2wiKQ0K PiArICAgIE5hbWUoX1BSVywgUGFja2FnZSgpIHs5LCA0fSkNCj4gKyAgICBNZXRob2QoX1BSVCww KQ0KPiArICAgIHsNCj4gKyAgICAgIElmKFBJQ00pIHsgUmV0dXJuKEFSMDYpIH0vLyBBUElDIG1v ZGUNCj4gKyAgICAgIFJldHVybiAoUFIwNikgLy8gUElDIE1vZGUNCj4gKyAgICB9IC8vIGVuZCBf UFJUDQo+ICsNCj4gKyAgfSAvLyBlbmQgIlBDSUUgUm9vdCBQb3J0ICMzIg0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFBDSUUgUm9vdCBQb3J0ICM0DQo+ICsgIC8vDQo+ICsgIERldmljZShSUDA0KQ0K PiArICB7DQo+ICsgICAgTmFtZShfQURSLCAweDAwMUMwMDAzKQ0KPiArICAgIGluY2x1ZGUoIlBj aFBjaWUuYXNsIikNCj4gKyAgICBOYW1lKF9QUlcsIFBhY2thZ2UoKSB7OSwgNH0pDQo+ICsgICAg TWV0aG9kKF9QUlQsMCkNCj4gKyAgICB7DQo+ICsgICAgICBJZihQSUNNKSB7IFJldHVybihBUjA3 KSB9Ly8gQVBJQyBtb2RlDQo+ICsgICAgICBSZXR1cm4gKFBSMDcpIC8vIFBJQyBNb2RlDQo+ICsg ICAgfSAvLyBlbmQgX1BSVA0KPiArDQo+ICsgIH0gLy8gZW5kICJQQ0lFIFJvb3QgUG9ydCAjNCIN Cj4gKw0KPiArDQo+ICsgIFNjb3BlKFxfU0IpDQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8v IER1bW15IHBvd2VyIHJlc291cmNlIGZvciBVU0IgRDMgY29sZCBzdXBwb3J0DQo+ICsgICAgLy8N Cj4gKyAgICBQb3dlclJlc291cmNlKFVTQkMsIDAsIDApDQo+ICsgICAgew0KPiArICAgICAgTWV0 aG9kKF9TVEEpIHsgUmV0dXJuICgweEYpIH0NCj4gKyAgICAgIE1ldGhvZChfT04pIHt9DQo+ICsg ICAgICBNZXRob2QoX09GRikge30NCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgLy8NCj4gKyAgLy8g RUhDSSBDb250cm9sbGVyIC0gRGV2aWNlIDI5LCBGdW5jdGlvbiAwDQo+ICsgIC8vDQo+ICsgIERl dmljZShFSEMxKQ0KPiArICB7DQo+ICsgICAgTmFtZShfQURSLCAweDAwMUQwMDAwKQ0KPiArICAg IE5hbWUoX0RFUCwgUGFja2FnZSgweDEpDQo+ICsgICAgew0KPiArICAgICAgUEVQRA0KPiArICAg IH0pDQo+ICsgICAgaW5jbHVkZSgiUGNoRWhjaS5hc2wiKQ0KPiArICAgIE5hbWUoX1BSVywgUGFj a2FnZSgpIHsweDBELCA0fSkNCj4gKw0KPiArICAgIE9wZXJhdGlvblJlZ2lvbihVU0JSLCBQQ0lf Q29uZmlnLCAweDU0LDB4NCkNCj4gKyAgICBGaWVsZChVU0JSLFdvcmRBY2MsTm9Mb2NrLFByZXNl cnZlKQ0KPiArICAgIHsNCj4gKyAgICAgIE9mZnNldCgweDAwKSwgLy8gMHg1NCwgUE1DUg0KPiAr ICAgICAgLCAgIDgsDQo+ICsgICAgICBQTUVFLCAgIDEsICAgIC8vUE1FX0VODQo+ICsgICAgICAs ICAgNiwNCj4gKyAgICAgIFBNRVMsICAgMSAgICAgLy9QTUVfU1RTDQo+ICsgICAgfQ0KPiArDQo+ ICsgICAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgICAgew0KPiArICAg ICAgSWYoTEVxdWFsKFhIQ0ksIDApKSAgICAgIC8vWEhDSSBpcyBub3QgcHJlc2VudC4gSXQgbWVh bnMgRUhDSSBpcyB0aGVyZQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4gKDB4RikNCj4g KyAgICAgIH0gRWxzZQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAg ICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBNZXRob2QgKF9STVYsIDAsIE5vdFNlcmlhbGl6 ZWQpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuICgweDApDQo+ICsgICAgfQ0KPiArICAgIC8v DQo+ICsgICAgLy8gQ3JlYXRlIGEgZHVtbXkgUFIzIG1ldGhvZCB0byBpbmRpY2F0ZSB0byB0aGUg UENJIGRyaXZlcg0KPiArICAgIC8vIHRoYXQgdGhlIGRldmljZSBpcyBjYXBhYmxlIG9mIEQzIGNv bGQNCj4gKyAgICAvLw0KPiArICAgIE1ldGhvZChfUFIzLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ ICsgICAgew0KPiArICAgICAgcmV0dXJuIChQYWNrYWdlKCkge1xfU0IuVVNCQ30pDQo+ICsgICAg fQ0KPiArDQo+ICsgIH0gLy8gZW5kICJFSENJIENvbnRyb2xsZXIiDQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gU01CdXMgQ29udHJvbGxlciAtIERldmljZSAzMSwgRnVuY3Rpb24gMw0KPiArICAvLw0K PiArICBEZXZpY2UoU0JVUykNCj4gKyAgew0KPiArICAgIE5hbWUoX0FEUiwweDAwMUYwMDAzKQ0K PiArICAgIEluY2x1ZGUoIlBjaFNtYi5hc2wiKQ0KPiArICB9DQo+ICsNCj4gKyAgRGV2aWNlKFNF QzApDQo+ICsgIHsNCj4gKyAgICBOYW1lIChfQURSLCAweDAwMWEwMDAwKSAgICAgICAgICAgICAg ICAgICAgIC8vIERldmljZSAweDFhLCBGdW5jdGlvbiAwDQo+ICsgICAgTmFtZShfREVQLCBQYWNr YWdlKDB4MSkNCj4gKyAgICB7DQo+ICsgICAgICBQRVBEDQo+ICsgICAgfSkNCj4gKw0KPiArDQo+ ICsgICAgT3BlcmF0aW9uUmVnaW9uIChQTUVCLCBQQ0lfQ29uZmlnLCAweDg0LCAweDA0KSAgLy9Q TUVDVFJMU1RBVFVTDQo+ICsgICAgRmllbGQgKFBNRUIsIFdvcmRBY2MsIE5vTG9jaywgUHJlc2Vy dmUpDQo+ICsgICAgew0KPiArICAgICAgLCAgIDgsDQo+ICsgICAgICBQTUVFLCAgIDEsICAgIC8v Yml0OCBQTUVFTkFCTEUNCj4gKyAgICAgICwgICA2LA0KPiArICAgICAgUE1FUywgICAxICAgICAv L2JpdDE1IFBNRVNUQVRVUw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vIEFyZzAgLS0gaW50ZWdl ciB0aGF0IGNvbnRhaW5zIHRoZSBkZXZpY2Ugd2FrZSBjYXBhYmlsaXR5IGNvbnRyb2wgKDAtDQo+ IGRpc2FibGUgMS0gZW5hYmxlKQ0KPiArICAgIC8vIEFyZzEgLS0gaW50ZWdlciB0aGF0IGNvbnRh aW5zIHRhcmdldCBzeXN0ZW0gc3RhdGUgKDAtNCkNCj4gKyAgICAvLyBBcmcyIC0tIGludGVnZXIg dGhhdCBjb250YWlucyB0aGUgdGFyZ2V0IGRldmljZSBzdGF0ZQ0KPiArICAgIE1ldGhvZCAoX0RT VywgMywgTm90U2VyaWFsaXplZCkgICAvLyBfRFNXOiBEZXZpY2UgU2xlZXAgV2FrZQ0KPiArICAg IHsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQp DQo+ICsgICAgew0KPiArICAgICAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KPiAr ICAgICAgew0KPiArICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MWUwMDAwMDAs IDB4MjAwMDAwMCkNCj4gKyAgICAgIH0pDQo+ICsNCj4gKyAgICAgIElmIChMRXF1YWwoUEFWUCwg MikpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFJldHVybiAoUkJVRikNCj4gKyAgICAgIH0NCj4g KyAgICAgIFJldHVybiAoUmVzb3VyY2VUZW1wbGF0ZSgpIHt9KQ0KPiArICAgIH0NCj4gKw0KPiAr ICAgIE1ldGhvZCAoX1NUQSkNCj4gKyAgICB7DQo+ICsgICAgICBJZiAoTE5vdEVxdWFsKFBBVlAs IDApKQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4gKDB4RikNCj4gKyAgICAgIH0NCj4g KyAgICAgIFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKyAgfSAgIC8vIERldmljZShTRUMwKQ0K PiArDQo+ICt9IC8vIEVuZCBzY29wZSAoXF9TQi5QQ0kwKQ0KPiArDQo+IGRpZmYgLS1naXQNCj4g YS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BjaEF1 ZGlvLmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxl c1BDQVQvUGNoQXVkaW8uYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjRkZDVlNmY3NTYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BjaEF1ZGlvLmFzbA0KPiBAQCAt MCwwICsxLDM2IEBADQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqOw0KPiArOyogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgSW50ZWwgQ29ycG9yYXRp b24gLSBBQ1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwgICAgICAgICAgICAqOw0K PiArOyogICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5jZSBCb2FyZHMuICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAgMjAxMSAgLSAyMDE0LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZCAgICo7DQo+ICs7DQo+ICs7IFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7KiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioq KioqKioqLw0KPiArLy8NCj4gKy8vIEhpZ2ggRGVmaW5pdGlvbiBBdWRpbyAtIERldmljZSAyNywg RnVuY3Rpb24gMA0KPiArLy8NCj4gK09wZXJhdGlvblJlZ2lvbihIREFSLCBQQ0lfQ29uZmlnLCAw eDRDLDB4MTApDQo+ICtGaWVsZChIREFSLFdvcmRBY2MsTm9Mb2NrLFByZXNlcnZlKQ0KPiArew0K PiArICBPZmZzZXQoMHgwMCksIC8vIDB4NEMsIERvY2sgQ29udHJvbCBSZWdpc3Rlcg0KPiArICBE Q0tBLCAgICAxLCAgIC8vIERvY2sgQXR0YWNoDQo+ICsgICwgICAgNywNCj4gKyAgT2Zmc2V0KDB4 MDEpLCAvLyAwNERoLCBEb2NrIFN0YXR1cyBSZWdpc3Rlcg0KPiArICBEQ0tNLCAgICAxLCAgIC8v IERvY2sgTWF0ZWQNCj4gKyAgLCAgICA2LA0KPiArICBEQ0tTLCAgICAxLCAgIC8vIERvY2tpbmcg U3VwcG9ydGVkDQo+ICsgIE9mZnNldCgweDA4KSwgLy8gMHg1NCwgUG93ZXIgTWFuYWdlbWVudCBD b250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXINCj4gKyAgLCAgICA4LA0KPiArICBQTUVFLCAgICAx LCAgIC8vIFBNRV9FTg0KPiArICAsICAgIDYsDQo+ICsgIFBNRVMsICAgIDEgICAgLy8gUE1FIFN0 YXR1cw0KPiArfQ0KPiArDQo+ICsNCj4gKw0KPiBkaWZmIC0tZ2l0IGEvU2lsaWNvbi9JbnRlbC9W bHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9QY2hFaGNpLmFzbA0KPiBiL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoRWhjaS5hc2wN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYzA1OGNkMGMzZQ0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvQWNwaVRhYmxlc1BDQVQvUGNoRWhjaS5hc2wNCj4gQEAgLTAsMCArMSwyNjkgQEANCj4gKy8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioN Cj4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqOw0KPiArOyogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7 KiAgICBJbnRlbCBDb3Jwb3JhdGlvbiAtIEFDUEkgUmVmZXJlbmNlIENvZGUgZm9yIHRoZSBCYXl0 cmFpbCAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgRmFtaWx5IG9mIEN1c3Rv bWVyIFJlZmVyZW5jZSBCb2FyZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAgMjAx MSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZCAgICAgICAg ICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgIFRo U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKzsqICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqLw0KPiArDQo+ICtPcGVyYXRpb25SZWdpb24oUFdLRSxQ Q0lfQ29uZmlnLDB4NjIsMHgwNCkNCj4gKw0KPiArRmllbGQoUFdLRSxEV29yZEFjYyxOb0xvY2ss UHJlc2VydmUpDQo+ICt7DQo+ICsgICwgMSwNCj4gKyAgUFdVQywgOCAvLyBQb3J0IFdha2UgVXAg Q2FwYWJpbGl0eSBNYXNrDQo+ICt9DQo+ICsNCj4gK01ldGhvZChfUFNXLDEpDQo+ICt7DQo+ICsg IElmKEFyZzApDQo+ICsgIHsNCj4gKyAgICBTdG9yZShPbmVzLFBXVUMpDQo+ICsgIH0NCj4gKyAg RWxzZQ0KPiArICB7DQo+ICsgICAgU3RvcmUoMCxQV1VDKQ0KPiArICB9DQo+ICt9DQo+ICsNCj4g Ky8vIExlYXZlcyB0aGUgVVNCIHBvcnRzIG9uIGluIFMzL1M0IHRvIGFsbG93DQo+ICsvLyB0aGUg YWJpbGl0eSB0byBXYWtlIGZyb20gVVNCLiAgVGhlcmVmb3JlLCBkZWZpbmUNCj4gKy8vIHRoZSBi ZWxvdyBjb250cm9sIG1ldGhvZHMgdG8gc3RhdGUgRDIgZW50cnkgZHVyaW5nDQo+ICsvLyB0aGUg Z2l2ZW4gUy1TdGF0ZS4NCj4gKw0KPiArTWV0aG9kKF9TM0QsMCkNCj4gK3sNCj4gKyAgUmV0dXJu KDIpDQo+ICt9DQo+ICsNCj4gK01ldGhvZChfUzRELDApDQo+ICt7DQo+ICsgIFJldHVybigyKQ0K PiArfQ0KPiArDQo+ICtEZXZpY2UoSFVCTikNCj4gK3sNCj4gKyAgTmFtZShfQURSLCBaZXJvKQ0K PiArICBEZXZpY2UoUFIwMSkNCj4gKyAgew0KPiArICAgIE5hbWUoX0FEUiwgT25lKQ0KPiArDQo+ ICsgICAgLy8NCj4gKyAgICAvLyBUaGVyZSB3aWxsIGhhdmUgIkdlbmVyaWMgVVNCIEh1YiIgZXhp c3RlZCBhdCBQb3J0IDEgb2YgZWFjaCBFSENJDQo+IGNvbnRyb2xsZXINCj4gKyAgICAvLyBpbiBX aW5kb3dzICJEZXZpY2UgTWFuYWdlciIgd2hpbGUgUk1IIGlzIGVuYWJsZWQsIHNvIG5lZWQgdG8g YWRkDQo+IF9VUEMNCj4gKyAgICAvLyBhbmQgX1BMRCB0byByZXBvcnQgT1MgdGhhdCBpdCdzIG5v dCB1c2VyIHZpc2libGUgdG8gcGFzcyBXSFFMOiBTaW5nbGUNCj4gQ29tcHV0ZXINCj4gKyAgICAv LyBEaXNwbGF5IE9iamVjdCB0ZXN0IGluIFdpbjcNCj4gKyAgICAvLw0KPiArICAgIE5hbWUoX1VQ QywgUGFja2FnZSgpDQo+ICsgICAgew0KPiArICAgICAgMHhGRiwgICAgICAgICAgICAgICAgICAg ICAgIC8vIFBvcnQgaXMgY29ubmVjdGFibGUNCj4gKyAgICAgIDB4MDAsICAgICAgICAgICAgICAg ICAgICAgICAvLyBDb25uZWN0b3IgdHlwZSAtIFR5cGUgIkEiDQo+ICsgICAgICAweDAwMDAwMDAw LCAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQgMCAtIG11c3QgYmUgemVybw0KPiArICAgICAg MHgwMDAwMDAwMA0KPiArICAgIH0pICAgICAgICAgICAgICAgIC8vIFJlc2VydmVkIDEgLSBtdXN0 IGJlIHplcm8NCj4gKw0KPiArICAgIE5hbWUoX1BMRCwgUGFja2FnZSgpDQo+ICsgICAgew0KPiAr ICAgICAgQnVmZmVyICgweDEwKQ0KPiArICAgICAgew0KPiArICAgICAgICAweDgxLCAweDAwLCAw eDAwLCAweDAwLCAgICAgLy8gUmV2aXNpb24gMSwgSWdub3JlIGNvbG9yDQo+ICsgICAgICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAgIDB4MzAsIDB4MUMsIDB4MDAsIDB4MDAs ICAgICAvLyBQYW5lbCBVbmtub3duLCBTaGFwZSBVbmtub3duDQo+ICsgICAgICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDANCj4gKyAgICAgIH0NCj4gKyAgICB9KQ0KPiArDQo+ICsgICAgRGV2aWNl KFBSMTEpDQo+ICsgICAgew0KPiArICAgICAgTmFtZShfQURSLCBPbmUpDQo+ICsgICAgICBOYW1l KF9VUEMsIFBhY2thZ2UoKQ0KPiArICAgICAgew0KPiArICAgICAgICAweEZGLCAgICAgICAgICAg ICAgICAgICAgICAgLy8gUG9ydCBpcyBjb25uZWN0YWJsZQ0KPiArICAgICAgICAweEZGLCAgICAg ICAgICAgICAgICAgICAgICAgLy8gUHJvcHJpZXRhcnkgY29ubmVjdG9yDQo+ICsgICAgICAgIDB4 MDAwMDAwMDAsICAgICAgICAgICAgICAgICAvLyBSZXNlcnZlZCAwIC0gbXVzdCBiZSB6ZXJvDQo+ ICsgICAgICAgIDB4MDAwMDAwMDANCj4gKyAgICAgIH0pICAgICAgICAgICAgICAgIC8vIFJlc2Vy dmVkIDEgLSBtdXN0IGJlIHplcm8NCj4gKyAgICAgIE5hbWUoX1BMRCwgUGFja2FnZSgpDQo+ICsg ICAgICB7DQo+ICsgICAgICAgIEJ1ZmZlciAoMHgxMCkNCj4gKyAgICAgICAgew0KPiArICAgICAg ICAgIDB4ODEsIDB4MDAsIDB4MDAsIDB4MDAsICAgICAvLyBSZXZpc2lvbiAxLCBJZ25vcmUgY29s b3INCj4gKyAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLA0KPiArICAgICAgICAgIDB4 RTEsIDB4MUMsIDB4MDAsIDB4MDAsICAgICAvLyBGcm9udCBQYW5lbCwgVmVydGljYWwgVXBwZXIs IEhvcnouIExlZnQsDQo+IFNoYXBlIFVua25vd24NCj4gKyAgICAgICAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwDQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0pDQo+ICsgICAgfQ0KPiArDQo+ICsg ICAgRGV2aWNlKFBSMTIpDQo+ICsgICAgew0KPiArICAgICAgTmFtZShfQURSLCAweDAyKQ0KPiAr ICAgICAgTmFtZShfVVBDLCBQYWNrYWdlKCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgMHhGRiwg ICAgICAgICAgICAgICAgICAgICAgIC8vIFBvcnQgaXMgY29ubmVjdGFibGUNCj4gKyAgICAgICAg MHhGRiwgICAgICAgICAgICAgICAgICAgICAgIC8vIFByb3ByaWV0YXJ5IGNvbm5lY3Rvcg0KPiAr ICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQgMCAtIG11c3Qg YmUgemVybw0KPiArICAgICAgICAweDAwMDAwMDAwDQo+ICsgICAgICB9KSAgICAgICAgICAgICAg ICAvLyBSZXNlcnZlZCAxIC0gbXVzdCBiZSB6ZXJvDQo+ICsgICAgICBOYW1lKF9QTEQsIFBhY2th Z2UoKQ0KPiArICAgICAgew0KPiArICAgICAgICBCdWZmZXIgKDB4MTApDQo+ICsgICAgICAgIHsN Cj4gKyAgICAgICAgICAweDgxLCAweDAwLCAweDAwLCAweDAwLCAgICAgLy8gUmV2aXNpb24gMSwg SWdub3JlIGNvbG9yDQo+ICsgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAg ICAgICAgICAweEUxLCAweDFELCAweDAwLCAweDAwLCAgICAgLy8gRnJvbnQgUGFuZWwsIFZlcnRp Y2FsIENlbnRlciwgSG9yei4gTGVmdCwNCj4gU2hhcGUgVW5rbm93bg0KPiArICAgICAgICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDANCj4gKyAgICAgICAgfQ0KPiArICAgICAgfSkNCj4gKyAgICB9 DQo+ICsNCj4gKyAgICBEZXZpY2UoUFIxMykNCj4gKyAgICB7DQo+ICsgICAgICBOYW1lKF9BRFIs IDB4MDMpDQo+ICsgICAgICBOYW1lKF9VUEMsIFBhY2thZ2UoKQ0KPiArICAgICAgew0KPiArICAg ICAgICAweEZGLCAgICAgICAgICAgICAgICAgICAgICAgLy8gUG9ydCBpcyBjb25uZWN0YWJsZQ0K PiArICAgICAgICAweEZGLCAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJvcHJpZXRhcnkgY29u bmVjdG9yDQo+ICsgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgICAgICAgICAvLyBSZXNlcnZl ZCAwIC0gbXVzdCBiZSB6ZXJvDQo+ICsgICAgICAgIDB4MDAwMDAwMDANCj4gKyAgICAgIH0pICAg ICAgICAgICAgICAgIC8vIFJlc2VydmVkIDEgLSBtdXN0IGJlIHplcm8NCj4gKyAgICAgIE5hbWUo X1BMRCwgUGFja2FnZSgpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIEJ1ZmZlciAoMHgxMCkNCj4g KyAgICAgICAgew0KPiArICAgICAgICAgIDB4ODEsIDB4MDAsIDB4MDAsIDB4MDAsICAgICAvLyBS ZXZpc2lvbiAxLCBJZ25vcmUgY29sb3INCj4gKyAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwLA0KPiArICAgICAgICAgIDB4RTEsIDB4MUQsIDB4MDAsIDB4MDAsICAgICAvLyBGcm9udCBQ YW5lbCwgVmVydGljYWwgQ2VudGVyLCBIb3J6LiBMZWZ0LA0KPiBTaGFwZSBVbmtub3duDQo+ICsg ICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMA0KPiArICAgICAgICB9DQo+ICsgICAgICB9 KQ0KPiArICAgIH0NCj4gKw0KPiArICAgIERldmljZShQUjE0KQ0KPiArICAgIHsNCj4gKyAgICAg IE5hbWUoX0FEUiwgMHgwNCkNCj4gKyAgICAgIE5hbWUoX1VQQywgUGFja2FnZSgpDQo+ICsgICAg ICB7DQo+ICsgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAgICAvLyBQb3J0IGlzIGNv bm5lY3RhYmxlDQo+ICsgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAgICAvLyBQcm9w cmlldGFyeSBjb25uZWN0b3INCj4gKyAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAgICAg IC8vIFJlc2VydmVkIDAgLSBtdXN0IGJlIHplcm8NCj4gKyAgICAgICAgMHgwMDAwMDAwMA0KPiAr ICAgICAgfSkgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQgMSAtIG11c3QgYmUgemVybw0KPiAr DQo+ICsgICAgICBOYW1lKF9QTEQsIFBhY2thZ2UoKQ0KPiArICAgICAgew0KPiArICAgICAgICBC dWZmZXIgKDB4MTApDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICAweDgxLCAweDAwLCAweDAw LCAweDAwLCAgICAgLy8gUmV2aXNpb24gMSwgSWdub3JlIGNvbG9yDQo+ICsgICAgICAgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAgICAgICAgICAweEUxLCAweDFFLCAweDAwLCAweDAw LCAgICAgLy8gRnJvbnQgUGFuZWwsIFZlcnRpY2FsIExvd2VyLCBIb3J6LiBMZWZ0LA0KPiBTaGFw ZSBVbmtub3duDQo+ICsgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMA0KPiArICAgICAg ICB9DQo+ICsgICAgICB9KQ0KPiArDQo+ICsgICAgICAvLyBjb3B5IFVTQiBTaWRlYmFuZCBEZWZl cnJpbmcgR1BFIFZlY3RvciAoSE9TVF9BTEVSVCMxKSB0byBEU00NCj4gbWV0aG9kDQo+ICsgICAg ICBJbmNsdWRlKCJVc2JTYmQuYXNsIikNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBEZXZpY2UoUFIx NSkNCj4gKyAgICB7DQo+ICsgICAgICBOYW1lKF9BRFIsIDB4MDUpDQo+ICsgICAgICBOYW1lKF9V UEMsIFBhY2thZ2UoKQ0KPiArICAgICAgew0KPiArICAgICAgICAweEZGLCAgICAgICAgICAgICAg ICAgICAgICAgLy8gUG9ydCBpcyBjb25uZWN0YWJsZQ0KPiArICAgICAgICAweEZGLCAgICAgICAg ICAgICAgICAgICAgICAgLy8gUHJvcHJpZXRhcnkgY29ubmVjdG9yDQo+ICsgICAgICAgIDB4MDAw MDAwMDAsICAgICAgICAgICAgICAgICAvLyBSZXNlcnZlZCAwIC0gbXVzdCBiZSB6ZXJvDQo+ICsg ICAgICAgIDB4MDAwMDAwMDANCj4gKyAgICAgIH0pICAgICAgICAgICAgICAgIC8vIFJlc2VydmVk IDEgLSBtdXN0IGJlIHplcm8NCj4gKyAgICAgIE5hbWUoX1BMRCwgUGFja2FnZSgpDQo+ICsgICAg ICB7DQo+ICsgICAgICAgIEJ1ZmZlciAoMHgxMCkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAg IDB4ODEsIDB4MDAsIDB4MDAsIDB4MDAsICAgICAvLyBSZXZpc2lvbiAxLCBJZ25vcmUgY29sb3IN Cj4gKyAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLA0KPiArICAgICAgICAgIDB4QjEs IDB4MUUsIDB4MDAsIDB4MDAsICAgICAvLyBQYW5lbCBVbmtub3duLCBTaGFwZSBVbmtub3duDQo+ ICsgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMA0KPiArICAgICAgICB9DQo+ICsgICAg ICB9KQ0KPiArICAgICAgLy8gY29weSBVU0IgU2lkZWJhbmQgRGVmZXJyaW5nIEdQRSBWZWN0b3Ig KEhPU1RfQUxFUlQjMikgdG8gRFNNDQo+IG1ldGhvZA0KPiArICAgICAgSW5jbHVkZSgiVXNiU2Jk LmFzbCIpDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgRGV2aWNlKFBSMTYpDQo+ICsgICAgew0KPiAr ICAgICAgTmFtZShfQURSLCAweDA2KQ0KPiArICAgICAgTmFtZShfVVBDLCBQYWNrYWdlKCkNCj4g KyAgICAgIHsNCj4gKyAgICAgICAgMHhGRiwgICAgICAgICAgICAgICAgICAgICAgIC8vIFBvcnQg aXMgY29ubmVjdGFibGUNCj4gKyAgICAgICAgMHhGRiwgICAgICAgICAgICAgICAgICAgICAgIC8v IFByb3ByaWV0YXJ5IGNvbm5lY3Rvcg0KPiArICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgICAg ICAgICAgLy8gUmVzZXJ2ZWQgMCAtIG11c3QgYmUgemVybw0KPiArICAgICAgICAweDAwMDAwMDAw DQo+ICsgICAgICB9KSAgICAgICAgICAgICAgICAvLyBSZXNlcnZlZCAxIC0gbXVzdCBiZSB6ZXJv DQo+ICsgICAgICBOYW1lKF9QTEQsIFBhY2thZ2UoKQ0KPiArICAgICAgew0KPiArICAgICAgICBC dWZmZXIgKDB4MTApDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICAweDgxLCAweDAwLCAweDAw LCAweDAwLCAgICAgLy8gUmV2aXNpb24gMSwgSWdub3JlIGNvbG9yDQo+ICsgICAgICAgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAgICAgICAgICAweEIxLCAweDFFLCAweDAwLCAweDAw LCAgICAgLy8gUGFuZWwgVW5rbm93biwgU2hhcGUgVW5rbm93bg0KPiArICAgICAgICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDANCj4gKyAgICAgICAgfQ0KPiArICAgICAgfSkNCj4gKyAgICAgIC8v IGNvcHkgVVNCIFNpZGViYW5kIERlZmVycmluZyBHUEUgVmVjdG9yIChIT1NUX0FMRVJUIzEpIHRv IERTTQ0KPiBtZXRob2QNCj4gKyAgICAgIEluY2x1ZGUoIlVzYlNiZC5hc2wiKQ0KPiArICAgIH0N Cj4gKw0KPiArICAgIERldmljZShQUjE3KQ0KPiArICAgIHsNCj4gKyAgICAgIE5hbWUoX0FEUiwg MHgwNykNCj4gKyAgICAgIE5hbWUoX1VQQywgUGFja2FnZSgpDQo+ICsgICAgICB7DQo+ICsgICAg ICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAgICAvLyBQb3J0IGlzIGNvbm5lY3RhYmxlDQo+ ICsgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAgICAvLyBQcm9wcmlldGFyeSBjb25u ZWN0b3INCj4gKyAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVk IDAgLSBtdXN0IGJlIHplcm8NCj4gKyAgICAgICAgMHgwMDAwMDAwMA0KPiArICAgICAgfSkgICAg ICAgICAgICAgICAgLy8gUmVzZXJ2ZWQgMSAtIG11c3QgYmUgemVybw0KPiArICAgICAgTmFtZShf UExELCBQYWNrYWdlKCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgQnVmZmVyICgweDEwKQ0KPiAr ICAgICAgICB7DQo+ICsgICAgICAgICAgMHg4MSwgMHgwMCwgMHgwMCwgMHgwMCwgICAgIC8vIFJl dmlzaW9uIDEsIElnbm9yZSBjb2xvcg0KPiArICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsDQo+ICsgICAgICAgICAgMHhCMSwgMHgxRSwgMHgwMCwgMHgwMCwgICAgIC8vIFBhbmVsIFVu a25vd24sIFNoYXBlIFVua25vd24NCj4gKyAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAw DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0pDQo+ICsgICAgICAvLyBjb3B5IFVTQiBTaWRlYmFu ZCBEZWZlcnJpbmcgR1BFIFZlY3RvciAoSE9TVF9BTEVSVCMyKSB0byBEU00NCj4gbWV0aG9kDQo+ ICsgICAgICBJbmNsdWRlKCJVc2JTYmQuYXNsIikNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBEZXZp Y2UoUFIxOCkNCj4gKyAgICB7DQo+ICsgICAgICBOYW1lKF9BRFIsIDB4MDgpDQo+ICsgICAgICBO YW1lKF9VUEMsIFBhY2thZ2UoKQ0KPiArICAgICAgew0KPiArICAgICAgICAweEZGLCAgICAgICAg ICAgICAgICAgICAgICAgLy8gUG9ydCBpcyBjb25uZWN0YWJsZQ0KPiArICAgICAgICAweEZGLCAg ICAgICAgICAgICAgICAgICAgICAgLy8gUHJvcHJpZXRhcnkgY29ubmVjdG9yDQo+ICsgICAgICAg IDB4MDAwMDAwMDAsICAgICAgICAgICAgICAgICAvLyBSZXNlcnZlZCAwIC0gbXVzdCBiZSB6ZXJv DQo+ICsgICAgICAgIDB4MDAwMDAwMDANCj4gKyAgICAgIH0pICAgICAgICAgICAgICAgIC8vIFJl c2VydmVkIDEgLSBtdXN0IGJlIHplcm8NCj4gKyAgICAgIE5hbWUoX1BMRCwgUGFja2FnZSgpDQo+ ICsgICAgICB7DQo+ICsgICAgICAgIEJ1ZmZlciAoMHgxMCkNCj4gKyAgICAgICAgew0KPiArICAg ICAgICAgIDB4ODEsIDB4MDAsIDB4MDAsIDB4MDAsICAgICAvLyBSZXZpc2lvbiAxLCBJZ25vcmUg Y29sb3INCj4gKyAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLA0KPiArICAgICAgICAg IDB4QjEsIDB4MUUsIDB4MDAsIDB4MDAsICAgICAvLyBQYW5lbCBVbmtub3duLCBTaGFwZSBVbmtu b3duDQo+ICsgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMA0KPiArICAgICAgICB9DQo+ ICsgICAgICB9KQ0KPiArICAgIH0NCj4gKyAgfSAvLyBFbmQgb2YgUFIwMQ0KPiArfSAvLyBFbmQg b2YgSFVCTg0KPiBkaWZmIC0tZ2l0IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBr Zy9BY3BpVGFibGVzUENBVC9QY2hMcHNzLmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoTHBzcy5hc2wNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTUxMGVmZDY5OA0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQv UGNoTHBzcy5hc2wNCj4gQEAgLTAsMCArMSwxMDkzIEBADQo+ICsvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioq KioqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiAr OyogICAgSW50ZWwgQ29ycG9yYXRpb24gLSBBQ1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5 dHJhaWwgICAgICAgICAgICAqOw0KPiArOyogICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5j ZSBCb2FyZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChj KSAyMDEyICAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkICAg ICo7DQo+ICs7DQo+ICs7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICs7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7 DQo+ICs7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqDQo+ICoqKioqKioqKioqKioqKioqLw0KPiArLy8NCj4gKy8vIExQSU8xIERNQSMxIChT eW5vcHNpcyBHUCBETUEpDQo+ICsvLw0KPiArRGV2aWNlIChHRE0xKQ0KPiArew0KPiArICBOYW1l IChfSElELCAiSU5UTDlDNjAiKQ0KPiArICBOYW1lIChfREROLCAiSW50ZWwoUikgRE1BIENvbnRy b2xsZXIgIzEgLSBJTlRMOUM2MCIpDQo+ICsgIE5hbWUgKF9VSUQsIDEpDQo+ICsNCj4gKyAgTmFt ZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KPiArICB7DQo+ICsgICAgTWVtb3J5MzJGaXhl ZCAoUmVhZFdyaXRlLCAweDAwMDAwMDAwLCAweDAwMDA0MDAwLCBCQVIwKQ0KPiArICAgIEludGVy cnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwg KSB7NDJ9ICAvLw0KPiBETUEgIzEgSVJRDQo+ICsgIH0pDQo+ICsgIE1ldGhvZCAoX0NSUywgMHgw LCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwg XkJBUjAuX0JBUywgQjBCQSkNCj4gKyAgICBDcmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFSMC5f TEVOLCBCMExOKQ0KPiArICAgIFN0b3JlKEQxMEEsIEIwQkEpDQo+ICsgICAgU3RvcmUoRDEwTCwg QjBMTikNCj4gKyAgICBSZXR1cm4gKFJCVUYpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfU1RBLCAw eDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBDSU0+PiAw OkFDUEkgbW9kZSAgICAgICAgICAgMTpQQ0kgbW9kZQ0KPiArICAgIC8vDQo+ICsgICAgSWYgKExF cXVhbChQQ0lNLCAxKSkgew0KPiArICAgICAgUmV0dXJuICgweDApDQo+ICsgICAgfQ0KPiArDQo+ ICsgICAgSWYgKExPcihMRXF1YWwoRDEwQSwgMCksIExFcXVhbChMMTBELCAxKSkpDQo+ICsgICAg ew0KPiArICAgICAgUmV0dXJuICgweDApDQo+ICsgICAgfQ0KPiArICAgIFJldHVybiAoMHhGKQ0K PiArICB9DQo+ICt9DQo+ICsNCj4gKy8vDQo+ICsvLyBMUElPMSBETUEjMiAoU3lub3BzaXMgR1Ag RE1BKQ0KPiArLy8NCj4gK0RldmljZSAoR0RNMikNCj4gK3sNCj4gKyAgTmFtZSAoX0hJRCwgIklO VEw5QzYwIikNCj4gKyAgTmFtZSAoX0RETiwgIkludGVsKFIpIERNQSBDb250cm9sbGVyICMyIC0g SU5UTDlDNjAiKQ0KPiArICBOYW1lIChfVUlELCAyKQ0KPiArDQo+ICsgIE5hbWUgKFJCVUYsIFJl c291cmNlVGVtcGxhdGUgKCkNCj4gKyAgew0KPiArICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0 ZSwgMHgwMDAwMDAwMCwgMHgwMDAwNDAwMCwgQkFSMCkNCj4gKyAgICBJbnRlcnJ1cHQgKFJlc291 cmNlQ29uc3VtZXIsIExldmVsLCBBY3RpdmVMb3csIEV4Y2x1c2l2ZSwgLCAsICkgezQzfSAgLy8N Cj4gRE1BICMyIElSUQ0KPiArICB9KQ0KPiArICBNZXRob2QgKF9DUlMsIDB4MCwgTm90U2VyaWFs aXplZCkNCj4gKyAgew0KPiArICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9CQVMs IEIwQkEpDQo+ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjAuX0xFTiwgQjBMTikN Cj4gKyAgICBTdG9yZShEMjBBLCBCMEJBKQ0KPiArICAgIFN0b3JlKEQyMEwsIEIwTE4pDQo+ICsg ICAgUmV0dXJuIChSQlVGKQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJp YWxpemVkKQ0KPiArICB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBQQ0lNPj4gMDpBQ1BJIG1vZGUg ICAgICAgICAgIDE6UENJIG1vZGUNCj4gKyAgICAvLw0KPiArICAgIElmIChMRXF1YWwoUENJTSwg MSkpIHsNCj4gKyAgICAgIFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIElmIChM T3IoTEVxdWFsKEQyMEEsIDApLCBMRXF1YWwoTDIwRCwgMSkpKQ0KPiArICAgIHsNCj4gKyAgICAg IFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKyAgICBSZXR1cm4gKDB4RikNCj4gKyAgfQ0KPiAr fQ0KPiArDQo+ICsvLw0KPiArLy8gTFBJTzEgUFdNICMxDQo+ICsvLw0KPiArRGV2aWNlKFBXTTEp DQo+ICt7DQo+ICsgIE5hbWUgKF9BRFIsIDApDQo+ICsgIE5hbWUgKF9ISUQsICI4MDg2MEYwOSIp DQo+ICsgIE5hbWUgKF9DSUQsICI4MDg2MEYwOSIpDQo+ICsgIE5hbWUgKF9ERE4sICJJbnRlbChS KSBQV00gQ29udHJvbGxlciAjMSAtIDgwODYwRjA4IikNCj4gKyAgTmFtZSAoX1VJRCwgMSkNCj4g Kw0KPiArICBOYW1lIChSQlVGLCBSZXNvdXJjZVRlbXBsYXRlICgpDQo+ICsgIHsNCj4gKyAgICBN ZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MDAwMDAwMDAsIDB4MDAwMDEwMDAsIEJBUjApDQo+ ICsgIH0pDQo+ICsgIE1ldGhvZCAoX0NSUywgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjAuX0JBUywgQjBCQSkNCj4gKyAgICBD cmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFSMC5fTEVOLCBCMExOKQ0KPiArICAgIFN0b3JlKFAx MEEsIEIwQkEpDQo+ICsgICAgU3RvcmUoUDEwTCwgQjBMTikNCj4gKyAgICBSZXR1cm4gKFJCVUYp DQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsN Cj4gKyAgICAvLw0KPiArICAgIC8vIFBDSU0+PiAwOkFDUEkgbW9kZSAgICAgICAgICAgMTpQQ0kg bW9kZQ0KPiArICAgIC8vDQo+ICsgICAgSWYgKExFcXVhbChQQ0lNLCAxKSkgew0KPiArICAgICAg UmV0dXJuICgweDApDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSWYgKExPcihMRXF1YWwoUDEwQSwg MCksIExFcXVhbChMMTFELCAxKSkpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuICgweDApDQo+ ICsgICAgfQ0KPiArICAgIFJldHVybiAoMHhGKQ0KPiArICB9DQo+ICt9DQo+ICsNCj4gKy8vDQo+ ICsvLyBMUElPMSBQV00gIzINCj4gKy8vDQo+ICtEZXZpY2UoUFdNMikNCj4gK3sNCj4gKyAgTmFt ZSAoX0FEUiwgMCkNCj4gKyAgTmFtZSAoX0hJRCwgIjgwODYwRjA5IikNCj4gKyAgTmFtZSAoX0NJ RCwgIjgwODYwRjA5IikNCj4gKyAgTmFtZSAoX0RETiwgIkludGVsKFIpIFBXTSBDb250cm9sbGVy ICMyIC0gODA4NjBGMDkiKQ0KPiArICBOYW1lIChfVUlELCAyKQ0KPiArDQo+ICsgIE5hbWUgKFJC VUYsIFJlc291cmNlVGVtcGxhdGUgKCkNCj4gKyAgew0KPiArICAgIE1lbW9yeTMyRml4ZWQgKFJl YWRXcml0ZSwgMHgwMDAwMDAwMCwgMHgwMDAwMTAwMCwgQkFSMCkNCj4gKyAgfSkNCj4gKyAgTWV0 aG9kIChfQ1JTLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBDcmVhdGVEd29y ZEZpZWxkKF5SQlVGLCBeQkFSMC5fQkFTLCBCMEJBKQ0KPiArICAgIENyZWF0ZUR3b3JkRmllbGQo XlJCVUYsIF5CQVIwLl9MRU4sIEIwTE4pDQo+ICsgICAgU3RvcmUoUDIwQSwgQjBCQSkNCj4gKyAg ICBTdG9yZShQMjBMLCBCMExOKQ0KPiArICAgIFJldHVybiAoUkJVRikNCj4gKyAgfQ0KPiArICBN ZXRob2QgKF9TVEEsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIC8vDQo+ICsg ICAgLy8gUENJTT4+IDA6QUNQSSBtb2RlICAgICAgICAgICAxOlBDSSBtb2RlDQo+ICsgICAgLy8N Cj4gKyAgICBJZiAoTEVxdWFsKFBDSU0sIDEpKSB7DQo+ICsgICAgICBSZXR1cm4gKDB4MCkNCj4g KyAgICB9DQo+ICsNCj4gKyAgICBJZiAoTE9yKExFcXVhbChQMjBBLCAwKSwgTEVxdWFsKEwxMkQs IDEpKSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9DQo+ICsgICAg UmV0dXJuICgweEYpDQo+ICsgIH0NCj4gK30NCj4gKw0KPiArLy8NCj4gKy8vIExQSU8xIEhTLVVB UlQgIzENCj4gKy8vDQo+ICtEZXZpY2UoVVJUMSkNCj4gK3sNCj4gKyAgTmFtZSAoX0FEUiwgMCkN Cj4gKyAgTmFtZSAoX0hJRCwgIjgwODYwRjBBIikNCj4gKyAgTmFtZSAoX0NJRCwgIjgwODYwRjBB IikNCj4gKyAgTmFtZSAoX0RETiwgIkludGVsKFIpIEhTLVVBUlQgQ29udHJvbGxlciAjMSAtIDgw ODYwRjBBIikNCj4gKyAgTmFtZSAoX1VJRCwgMSkNCj4gKyAgTmFtZShfREVQLCBQYWNrYWdlKDB4 MSkNCj4gKyAgew0KPiArICAgIFBFUEQNCj4gKyAgfSkNCj4gKyAgTmFtZSAoUkJVRiwgUmVzb3Vy Y2VUZW1wbGF0ZSAoKQ0KPiArICB7DQo+ICsgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAw eDAwMDAwMDAwLCAweDAwMDAxMDAwLCBCQVIwKQ0KPiArICAgIEludGVycnVwdCAoUmVzb3VyY2VD b25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwgKSB7Mzl9ICAvLyBIUy0N Cj4gVUFSVCAjMSBJUlENCj4gKw0KPiArICAgIEZpeGVkRE1BKDB4MiwgMHgyLCBXaWR0aDMyQml0 LCApDQo+ICsgICAgRml4ZWRETUEoMHgzLCAweDMsIFdpZHRoMzJCaXQsICkNCj4gKyAgfSkNCj4g KyAgTWV0aG9kIChfSFJWLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBSZXR1 cm4gKFNPQ1MpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfQ1JTLCAweDAsIE5vdFNlcmlhbGl6ZWQp DQo+ICsgIHsNCj4gKyAgICBDcmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFSMC5fQkFTLCBCMEJB KQ0KPiArICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9MRU4sIEIwTE4pDQo+ICsg ICAgU3RvcmUoVTEwQSwgQjBCQSkNCj4gKyAgICBTdG9yZShVMTBMLCBCMExOKQ0KPiArICAgIFJl dHVybiAoUkJVRikNCj4gKyAgfQ0KPiArDQo+ICsgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJp YWxpemVkKQ0KPiArICB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBQQ0lNPj4gMDpBQ1BJIG1vZGUg ICAgICAgICAgIDE6UENJIG1vZGUNCj4gKyAgICAvLw0KPiArICAgIElmIChMRXF1YWwoUENJTSwg MSkpIHsNCj4gKyAgICAgIFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIElmIChM T3IoTEVxdWFsKFUxMEEsIDApLCBMRXF1YWwoTDEzRCwgMSkpKQ0KPiArICAgIHsNCj4gKyAgICAg IFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKyAgICBSZXR1cm4gKDB4RikNCj4gKyAgfQ0KPiAr DQo+ICsgIE1ldGhvZCAoX1BTMywgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9S KFBTQVQsIDB4MDAwMDAwMDMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNB VCkNCj4gKyAgfQ0KPiArDQo+ICsgIE1ldGhvZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkNCj4g KyAgew0KPiArICAgIEFuZChQU0FULCAweGZmZmZmZmZDLCBQU0FUKQ0KPiArICAgIE9SKFBTQVQs IDBYMDAwMDAwMDAsIFBTQVQpDQo+ICsgIH0NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24gKEtF WVMsIFN5c3RlbU1lbW9yeSwgVTExQSwgMHgxMDApDQo+ICsgIEZpZWxkIChLRVlTLCBEV29yZEFj YywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpDQo+ICsgIHsNCj4gKyAgICBPZmZzZXQgKDB4ODQpLA0K PiArICAgIFBTQVQsICAgMzINCj4gKyAgfQ0KPiArfS8vICBEZXZpY2UgKFVSVDEpDQo+ICsNCj4g Ky8vDQo+ICsvLyBMUElPMSBIUy1VQVJUICMyDQo+ICsvLw0KPiArRGV2aWNlKFVSVDIpDQo+ICt7 DQo+ICsgIE5hbWUgKF9BRFIsIDApDQo+ICsgIE5hbWUgKF9ISUQsICI4MDg2MEYwQSIpDQo+ICsg IE5hbWUgKF9DSUQsICI4MDg2MEYwQSIpDQo+ICsgIE5hbWUgKF9ERE4sICJJbnRlbChSKSBIUy1V QVJUIENvbnRyb2xsZXIgIzIgLSA4MDg2MEYwQyIpDQo+ICsgIE5hbWUgKF9VSUQsIDIpDQo+ICsN Cj4gKyAgTmFtZShfREVQLCBQYWNrYWdlKDB4MSkNCj4gKyAgew0KPiArICAgIFBFUEQNCj4gKyAg fSkNCj4gKw0KPiArICBOYW1lIChSQlVGLCBSZXNvdXJjZVRlbXBsYXRlICgpDQo+ICsgIHsNCj4g KyAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4MDAwMDAwMDAsIDB4MDAwMDEwMDAsIEJB UjApDQo+ICsgICAgSW50ZXJydXB0IChSZXNvdXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZlTG93 LCBFeGNsdXNpdmUsICwgLCApIHs0MH0gIC8vIEhTLQ0KPiBVQVJUICMyIElSUQ0KPiArDQo+ICsg ICAgRml4ZWRETUEoMHg0LCAweDQsIFdpZHRoMzJCaXQsICkNCj4gKyAgICBGaXhlZERNQSgweDUs IDB4NSwgV2lkdGgzMkJpdCwgKQ0KPiArICB9KQ0KPiArDQo+ICsgIE1ldGhvZCAoX0hSViwgMHgw LCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuIChTT0NTKQ0KPiArICB9DQo+ ICsNCj4gKyAgTWV0aG9kIChfQ1JTLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAg ICBDcmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFSMC5fQkFTLCBCMEJBKQ0KPiArICAgIENyZWF0 ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9MRU4sIEIwTE4pDQo+ICsgICAgU3RvcmUoVTIwQSwg QjBCQSkNCj4gKyAgICBTdG9yZShVMjBMLCBCMExOKQ0KPiArICAgIFJldHVybiAoUkJVRikNCj4g KyAgfQ0KPiArDQo+ICsgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBQQ0lNPj4gMDpBQ1BJIG1vZGUgICAgICAgICAgIDE6UENJ IG1vZGUNCj4gKyAgICAvLw0KPiArICAgIElmIChMRXF1YWwoUENJTSwgMSkpIHsNCj4gKyAgICAg IFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIElmIChMT3IoTEVxdWFsKFUyMEEs IDApLCBMRXF1YWwoTDE0RCwgMSkpKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybiAoMHgwKQ0K PiArICAgIH0NCj4gKyAgICBSZXR1cm4gKDB4RikNCj4gKyAgfQ0KPiArDQo+ICsgIE1ldGhvZCAo X1BTMywgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9SKFBTQVQsIDB4MDAwMDAw MDMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkNCj4gKyAgfQ0KPiAr DQo+ICsgIE1ldGhvZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIEFu ZChQU0FULCAweGZmZmZmZmZDLCBQU0FUKQ0KPiArICAgIE9SKFBTQVQsIDBYMDAwMDAwMDAsIFBT QVQpDQo+ICsgIH0NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24gKEtFWVMsIFN5c3RlbU1lbW9y eSwgVTIxQSwgMHgxMDApDQo+ICsgIEZpZWxkIChLRVlTLCBEV29yZEFjYywgTm9Mb2NrLCBXcml0 ZUFzWmVyb3MpDQo+ICsgIHsNCj4gKyAgICBPZmZzZXQgKDB4ODQpLA0KPiArICAgIFBTQVQsICAg MzINCj4gKyAgfQ0KPiArfS8vICBEZXZpY2UgKFVSVDIpDQo+ICsNCj4gKy8vDQo+ICsvLyBMUElP MSBTUEkNCj4gKy8vDQo+ICtEZXZpY2UoU1BJMSkNCj4gK3sNCj4gKyAgTmFtZSAoX0FEUiwgMCkN Cj4gKyAgTmFtZSAoX0hJRCwgIjgwODYwRjBFIikNCj4gKyAgTmFtZSAoX0NJRCwgIjgwODYwRjBF IikNCj4gKyAgTmFtZSAoX1VJRCwgIjAiKSAgLy8gU3RhdGljIGJ1cyBudW1iZXIgYXNzaWdubWVu dA0KPiArICBOYW1lKF9ERVAsIFBhY2thZ2UoMHgxKQ0KPiArICB7DQo+ICsgICAgUEVQRA0KPiAr ICB9KQ0KPiArICBOYW1lIChfREROLCAiSW50ZWwoUikgU1BJIENvbnRyb2xsZXIgLSA4MDg2MEYw RSIpDQo+ICsNCj4gKyAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KPiArICB7DQo+ ICsgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweDAwMDAwMDAwLCAweDAwMDAxMDAwLCBC QVIwKQ0KPiArICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxv dywgRXhjbHVzaXZlLCAsICwgKSB7NDF9ICAvLyBTUEkNCj4gSVJRDQo+ICsNCj4gKyAgICBGaXhl ZERNQSgweDAsIDB4MCwgV2lkdGgzMkJpdCwgKQ0KPiArICAgIEZpeGVkRE1BKDB4MSwgMHgxLCBX aWR0aDMyQml0LCApDQo+ICsgIH0pDQo+ICsNCj4gKyAgTWV0aG9kIChfSFJWLCAweDAsIE5vdFNl cmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBSZXR1cm4gKFNPQ1MpDQo+ICsgIH0NCj4gKw0KPiAr ICBNZXRob2QgKF9DUlMsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIENyZWF0 ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9CQVMsIEIwQkEpDQo+ICsgICAgQ3JlYXRlRHdvcmRG aWVsZCheUkJVRiwgXkJBUjAuX0xFTiwgQjBMTikNCj4gKyAgICBTdG9yZShTUDBBLCBCMEJBKQ0K PiArICAgIFN0b3JlKFNQMEwsIEIwTE4pDQo+ICsgICAgUmV0dXJuIChSQlVGKQ0KPiArICB9DQo+ ICsNCj4gKyAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAg ICAvLw0KPiArICAgIC8vIFBDSU0+PiAwOkFDUEkgbW9kZSAgICAgICAgICAgMTpQQ0kgbW9kZQ0K PiArICAgIC8vDQo+ICsgICAgSWYgKExFcXVhbChQQ0lNLCAxKSkgew0KPiArICAgICAgUmV0dXJu ICgweDApDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSWYgKExPcihMRXF1YWwoU1AwQSwgMCksIExF cXVhbChMMTVELCAxKSkpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuICgweDApDQo+ICsgICAg fQ0KPiArICAgIFJldHVybiAoMHhGKQ0KPiArICB9DQo+ICsNCj4gKyAgTWV0aG9kIChfUFMzLCAw LCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgT1IoUFNBVCwgMHgwMDAwMDAwMywgUFNB VCkNCj4gKyAgICBPUihQU0FULCAwWDAwMDAwMDAwLCBQU0FUKQ0KPiArICB9DQo+ICsNCj4gKyAg TWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgQW5kKFBTQVQs IDB4ZmZmZmZmZkMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkNCj4g KyAgfQ0KPiArDQo+ICsgIE9wZXJhdGlvblJlZ2lvbiAoS0VZUywgU3lzdGVtTWVtb3J5LCBTUDFB LCAweDEwMCkNCj4gKyAgRmllbGQgKEtFWVMsIERXb3JkQWNjLCBOb0xvY2ssIFdyaXRlQXNaZXJv cykNCj4gKyAgew0KPiArICAgIE9mZnNldCAoMHg4NCksDQo+ICsgICAgICAgICAgIFBTQVQsICAg MzINCj4gKyAgfQ0KPiArfS8vICBEZXZpY2UgKFNQSTEpDQo+ICsNCj4gKy8vDQo+ICsvLyBMUElP MiBJMkMgIzENCj4gKy8vDQo+ICtEZXZpY2UoSTJDMSkNCj4gK3sNCj4gKyAgTmFtZSAoX0FEUiwg MCkNCj4gKyAgTmFtZSAoX0hJRCwgIjgwODYwRjQxIikNCj4gKyAgTmFtZSAoX0NJRCwgIjgwODYw RjQxIikNCj4gKyAgTmFtZShfREVQLCBQYWNrYWdlKDB4MSkNCj4gKyAgew0KPiArICAgIFBFUEQN Cj4gKyAgfSkNCj4gKyAgTmFtZSAoX0RETiwgIkludGVsKFIpIEkyQyBDb250cm9sbGVyICMxIC0g ODA4NjBGNDEiKQ0KPiArICBOYW1lIChfVUlELCAxKQ0KPiArDQo+ICsgIE5hbWUgKFJCVUYsIFJl c291cmNlVGVtcGxhdGUgKCkNCj4gKyAgew0KPiArICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0 ZSwgMHgwMDAwMDAwMCwgMHgwMDAwMTAwMCwgQkFSMCkNCj4gKyAgICBJbnRlcnJ1cHQgKFJlc291 cmNlQ29uc3VtZXIsIExldmVsLCBBY3RpdmVMb3csIEV4Y2x1c2l2ZSwgLCAsICkgezMyfSAgLy8g STJDDQo+ICMxIElSUQ0KPiArDQo+ICsgICAgRml4ZWRETUEoMHgxMCwgMHgwLCBXaWR0aDMyQml0 LCApDQo+ICsgICAgRml4ZWRETUEoMHgxMSwgMHgxLCBXaWR0aDMyQml0LCApDQo+ICsgIH0pDQo+ ICsNCj4gKyAgTWV0aG9kIChTU0NOLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAg ICBOYW1lIChQS0csIFBhY2thZ2UoMykgeyAweDIwMCwgMHgyMDAsIDB4MDYgfSkNCj4gKyAgICBS ZXR1cm4gKFBLRykNCj4gKyAgfQ0KPiArICBNZXRob2QgKEZNQ04sIDB4MCwgTm90U2VyaWFsaXpl ZCkNCj4gKyAgew0KPiArICAgIE5hbWUgKFBLRywgUGFja2FnZSgzKSB7IDB4NTUsIDB4OTksIDB4 MDYgfSkNCj4gKyAgICBSZXR1cm4gKFBLRykNCj4gKyAgfQ0KPiArICBNZXRob2QgKEZQQ04sIDB4 MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE5hbWUgKFBLRywgUGFja2FnZSgzKSB7 IDB4MWIsIDB4M2EsIDB4MDYgfSkNCj4gKyAgICBSZXR1cm4gKFBLRykNCj4gKyAgfQ0KPiArDQo+ ICsgIE1ldGhvZCAoX0hSViwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgUmV0 dXJuIChTT0NTKQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoX0NSUywgMHgwLCBOb3RTZXJpYWxpemVk KQ0KPiArICB7DQo+ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjAuX0JBUywgQjBC QSkNCj4gKyAgICBDcmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFSMC5fTEVOLCBCMExOKQ0KPiAr ICAgIFN0b3JlKEkxMEEsIEIwQkEpDQo+ICsgICAgU3RvcmUoSTEwTCwgQjBMTikNCj4gKyAgICBS ZXR1cm4gKFJCVUYpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6 ZWQpDQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBDSU0+PiAwOkFDUEkgbW9kZSAgICAg ICAgICAgMTpQQ0kgbW9kZQ0KPiArICAgIC8vDQo+ICsgICAgSWYgKExFcXVhbChQQ0lNLCAxKSkg ew0KPiArICAgICAgUmV0dXJuICgweDApDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSWYgKExPcihM RXF1YWwoSTEwQSwgMCksIExFcXVhbChMMjFELCAxKSkpDQo+ICsgICAgew0KPiArICAgICAgUmV0 dXJuICgweDApDQo+ICsgICAgfQ0KPiArICAgIFJldHVybiAoMHhGKQ0KPiArDQo+ICsgIH0NCj4g Kw0KPiArICBNZXRob2QgKF9QUzMsIDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBP UihQU0FULCAweDAwMDAwMDAzLCBQU0FUKQ0KPiArICAgIE9SKFBTQVQsIDBYMDAwMDAwMDAsIFBT QVQpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7 DQo+ICsgICAgQW5kKFBTQVQsIDB4ZmZmZmZmZkMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgw MDAwMDAwMCwgUFNBVCkNCj4gKyAgfQ0KPiArICBPcGVyYXRpb25SZWdpb24gKEtFWVMsIFN5c3Rl bU1lbW9yeSwgSTExQSwgMHgxMDApDQo+ICsgIEZpZWxkIChLRVlTLCBEV29yZEFjYywgTm9Mb2Nr LCBXcml0ZUFzWmVyb3MpDQo+ICsgIHsNCj4gKyAgICBPZmZzZXQgKDB4ODQpLA0KPiArICAgICAg ICAgICBQU0FULCAgIDMyDQo+ICsgIH0NCj4gKw0KPiArfQ0KPiArDQo+ICsvLw0KPiArLy8gTFBJ TzIgSTJDICMyDQo+ICsvLw0KPiArRGV2aWNlKEkyQzIpDQo+ICt7DQo+ICsgIE5hbWUgKF9BRFIs IDApDQo+ICsgIE5hbWUgKF9ISUQsICI4MDg2MEY0MSIpDQo+ICsgIE5hbWUgKF9DSUQsICI4MDg2 MEY0MSIpDQo+ICsgIE5hbWUoX0RFUCwgUGFja2FnZSgweDEpDQo+ICsgIHsNCj4gKyAgICBQRVBE DQo+ICsgIH0pDQo+ICsgIE5hbWUgKF9ERE4sICJJbnRlbChSKSBJMkMgQ29udHJvbGxlciAjMiAt IDgwODYwRjQyIikNCj4gKyAgTmFtZSAoX1VJRCwgMikNCj4gKw0KPiArICBOYW1lIChSQlVGLCBS ZXNvdXJjZVRlbXBsYXRlICgpDQo+ICsgIHsNCj4gKyAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3Jp dGUsIDB4MDAwMDAwMDAsIDB4MDAwMDEwMDAsIEJBUjApDQo+ICsgICAgSW50ZXJydXB0IChSZXNv dXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZlTG93LCBFeGNsdXNpdmUsICwgLCApIHszM30gIC8v IEkyQw0KPiAjMiBJUlENCj4gKw0KPiArICAgIEZpeGVkRE1BKDB4MTIsIDB4MiwgV2lkdGgzMkJp dCwgKQ0KPiArICAgIEZpeGVkRE1BKDB4MTMsIDB4MywgV2lkdGgzMkJpdCwgKQ0KPiArICB9KQ0K PiArDQo+ICsgIE1ldGhvZCAoU1NDTiwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsg ICAgTmFtZSAoUEtHLCBQYWNrYWdlKDMpIHsgMHgyMDAsIDB4MjAwLCAweDA2IH0pDQo+ICsgICAg UmV0dXJuIChQS0cpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChGTUNOLCAweDAsIE5vdFNlcmlhbGl6 ZWQpDQo+ICsgIHsNCj4gKyAgICBOYW1lIChQS0csIFBhY2thZ2UoMykgeyAweDU1LCAweDk5LCAw eDA2IH0pDQo+ICsgICAgUmV0dXJuIChQS0cpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChGUENOLCAw eDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBOYW1lIChQS0csIFBhY2thZ2UoMykg eyAweDFiLCAweDNhLCAweDA2IH0pDQo+ICsgICAgUmV0dXJuIChQS0cpDQo+ICsgIH0NCj4gKw0K PiArICBNZXRob2QgKF9IUlYsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIFJl dHVybiAoU09DUykNCj4gKyAgfQ0KPiArICBNZXRob2QgKF9DUlMsIDB4MCwgTm90U2VyaWFsaXpl ZCkNCj4gKyAgew0KPiArICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9CQVMsIEIw QkEpDQo+ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjAuX0xFTiwgQjBMTikNCj4g KyAgICBTdG9yZShJMjBBLCBCMEJBKQ0KPiArICAgIFN0b3JlKEkyMEwsIEIwTE4pDQo+ICsgICAg UmV0dXJuIChSQlVGKQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJpYWxp emVkKQ0KPiArICB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBQQ0lNPj4gMDpBQ1BJIG1vZGUgICAg ICAgICAgIDE6UENJIG1vZGUNCj4gKyAgICAvLw0KPiArICAgIElmIChMRXF1YWwoUENJTSwgMSkp IHsNCj4gKyAgICAgIFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIElmIChMT3Io TEVxdWFsKEkyMEEsIDApLCBMRXF1YWwoTDIyRCwgMSkpKQ0KPiArICAgIHsNCj4gKyAgICAgIFJl dHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKyAgICBSZXR1cm4gKDB4RikNCj4gKyAgfQ0KPiArDQo+ ICsgIE1ldGhvZCAoX1BTMywgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9SKFBT QVQsIDB4MDAwMDAwMDMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkN Cj4gKw0KPiArICB9DQo+ICsgIE1ldGhvZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAg ew0KPiArICAgIEFuZChQU0FULCAweGZmZmZmZmZDLCBQU0FUKQ0KPiArICAgIE9SKFBTQVQsIDBY MDAwMDAwMDAsIFBTQVQpDQo+ICsgIH0NCj4gKyAgT3BlcmF0aW9uUmVnaW9uIChLRVlTLCBTeXN0 ZW1NZW1vcnksIEkyMUEsIDB4MTAwKQ0KPiArICBGaWVsZCAoS0VZUywgRFdvcmRBY2MsIE5vTG9j aywgV3JpdGVBc1plcm9zKQ0KPiArICB7DQo+ICsgICAgT2Zmc2V0ICgweDg0KSwNCj4gKyAgICAg ICAgICAgUFNBVCwgICAzMg0KPiArICB9DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWFs dGVrIEF1ZGlvIENvZGVjDQo+ICsgIC8vDQo+ICsgIERldmljZSAoUlRFSykgICAvL0F1ZGlvIENv ZGVjIGRyaXZlciBJMkMNCj4gKyAgew0KPiArICAgIE5hbWUgKF9BRFIsIDApDQo+ICsgICAgTmFt ZSAoX0hJRCwgIjEwRUM1NjQwIikNCj4gKyAgICBOYW1lIChfQ0lELCAiMTBFQzU2NDAiKQ0KPiAr ICAgIE5hbWUgKF9ERE4sICJSVEVLIENvZGVjIENvbnRyb2xsZXIgIiApDQo+ICsgICAgTmFtZSAo X1VJRCwgMSkNCj4gKw0KPiArDQo+ICsgICAgTWV0aG9kKF9DUlMsIDB4MCwgU2VyaWFsaXplZCkN Cj4gKyAgICB7DQo+ICsgICAgICBOYW1lKFNCVUYsUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KPiArICAg ICAgew0KPiArICAgICAgICBJMkNTZXJpYWxCdXMoMHgxQywgICAgICAgICAgLy9TbGF2ZUFkZHJl c3M6IGJ1cyBhZGRyZXNzDQo+ICsgICAgICAgICAgICAgICAgICAgICAsICAgICAgICAgICAgICAg ICAgICAgICAgIC8vU2xhdmVNb2RlOiBkZWZhdWx0IHRvIENvbnRyb2xsZXJJbml0aWF0ZWQNCj4g KyAgICAgICAgICAgICAgICAgICAgIDQwMDAwMCwgICAgICAgICAgICAgICAgICAgLy9Db25uZWN0 aW9uU3BlZWQ6IGluIEh6DQo+ICsgICAgICAgICAgICAgICAgICAgICAsICAgICAgICAgICAgICAg ICAgICAgICAgIC8vQWRkcmVzc2luZyBNb2RlOiBkZWZhdWx0IHRvIDcgYml0DQo+ICsgICAgICAg ICAgICAgICAgICAgICAiXFxfU0IuSTJDMiIsICAgICAgICAgICAgIC8vUmVzb3VyY2VTb3VyY2U6 IEkyQyBidXMgY29udHJvbGxlciBuYW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICAsICAgICAg ICAgICAgICAgICAgICAgICAgIC8vUmVzb3VyY2VTb3VyY2VJbmRleDogZGVmYXVsdHMgdG8gMA0K PiArICAgICAgICAgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAgICAvL1Jlc291 cmNlVXNhZ2U6IERlZmF1bHRzIHRvIFJlc291cmNlQ29uc3VtZXINCj4gKyAgICAgICAgICAgICAg ICAgICAgICwgICAgICAgICAgICAgICAgICAgICAgICAgLy9EZXNjcmlwdG9yIE5hbWU6IGNyZWF0 ZXMgbmFtZSBmb3Igb2Zmc2V0IG9mDQo+IHJlc291cmNlIGRlc2NyaXB0b3INCj4gKyAgICAgICAg ICAgICAgICAgICAgKSAgLy9WZW5kb3JEYXRhDQo+ICsgICAgICAgIEdwaW9JbnQoRWRnZSwgQWN0 aXZlSGlnaCwgRXhjbHVzaXZlQW5kV2FrZSwgUHVsbE5vbmUsDQo+IDAsIlxcX1NCLkdQTzIiKSB7 NH0gLy8gIEFVRF9JTlQNCj4gKyAgICAgIH0pDQo+ICsgICAgICBSZXR1cm4gKFNCVUYpDQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsg ICAgew0KPiArDQo+ICsgICAgICBJZiAoTEVxdWFsKExQRUUsIDIpKSB7IC8vIExQRSBlbmFibGUv ZGlzYWJsZQ0KPiArICAgICAgICBJZiAoTEVxdWFsKExQQUQsIDEpKQ0KPiArICAgICAgICB7DQo+ ICsgICAgICAgICAgUmV0dXJuKDB4RikNCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAg ICAgUmV0dXJuKDApDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTWV0aG9kIChfRElTLCAweDAsIE5v dFNlcmlhbGl6ZWQpDQo+ICsgICAgew0KPiArDQo+ICsgICAgfQ0KPiArICB9IC8vIERldmljZSAo UlRFSykNCj4gK30gLy8gIERldmljZSAoSTJDMikNCj4gKw0KPiArLy8NCj4gKy8vIExQSU8yIEky QyAjMw0KPiArLy8NCj4gK0RldmljZShJMkMzKQ0KPiArew0KPiArICBOYW1lIChfQURSLCAwKQ0K PiArICBOYW1lIChfSElELCAiODA4NjBGNDEiKQ0KPiArICBOYW1lIChfQ0lELCAiODA4NjBGNDEi KQ0KPiArICBOYW1lIChfREROLCAiSW50ZWwoUikgSTJDIENvbnRyb2xsZXIgIzMgLSA4MDg2MEY0 MyIpDQo+ICsgIE5hbWUgKF9VSUQsIDMpDQo+ICsgIE5hbWUoX0RFUCwgUGFja2FnZSgweDEpDQo+ ICsgIHsNCj4gKyAgICBQRVBEDQo+ICsgIH0pDQo+ICsgIE5hbWUgKFJCVUYsIFJlc291cmNlVGVt cGxhdGUgKCkNCj4gKyAgew0KPiArICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDAw MDAwMCwgMHgwMDAwMTAwMCwgQkFSMCkNCj4gKyAgICBJbnRlcnJ1cHQgKFJlc291cmNlQ29uc3Vt ZXIsIExldmVsLCBBY3RpdmVMb3csIEV4Y2x1c2l2ZSwgLCAsICkgezM0fSAgLy8gSTJDDQo+ICMz IElSUQ0KPiArDQo+ICsgICAgRml4ZWRETUEoMHgxNCwgMHg0LCBXaWR0aDMyQml0LCApDQo+ICsg ICAgRml4ZWRETUEoMHgxNSwgMHg1LCBXaWR0aDMyQml0LCApDQo+ICsgIH0pDQo+ICsNCj4gKyAg TWV0aG9kIChTU0NOLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBOYW1lIChQ S0csIFBhY2thZ2UoMykgeyAweDIwMCwgMHgyMDAsIDB4MDYgfSkNCj4gKyAgICBSZXR1cm4gKFBL RykNCj4gKyAgfQ0KPiArICBNZXRob2QgKEZNQ04sIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAg ew0KPiArICAgIE5hbWUgKFBLRywgUGFja2FnZSgzKSB7IDB4NTUsIDB4OTksIDB4MDYgfSkNCj4g KyAgICBSZXR1cm4gKFBLRykNCj4gKyAgfQ0KPiArICBNZXRob2QgKEZQQ04sIDB4MCwgTm90U2Vy aWFsaXplZCkNCj4gKyAgew0KPiArICAgIE5hbWUgKFBLRywgUGFja2FnZSgzKSB7IDB4MWIsIDB4 M2EsIDB4MDYgfSkNCj4gKyAgICBSZXR1cm4gKFBLRykNCj4gKyAgfQ0KPiArDQo+ICsgIE1ldGhv ZCAoX0hSViwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuIChTT0NT KQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoX0NSUywgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7 DQo+ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjAuX0JBUywgQjBCQSkNCj4gKyAg ICBDcmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFSMC5fTEVOLCBCMExOKQ0KPiArICAgIFN0b3Jl KEkzMEEsIEIwQkEpDQo+ICsgICAgU3RvcmUoSTMwTCwgQjBMTikNCj4gKyAgICBSZXR1cm4gKFJC VUYpDQo+ICsgIH0NCj4gKw0KPiArICBNZXRob2QgKF9TVEEsIDB4MCwgTm90U2VyaWFsaXplZCkN Cj4gKyAgew0KPiArICAgIC8vDQo+ICsgICAgLy8gUENJTT4+IDA6QUNQSSBtb2RlICAgICAgICAg ICAxOlBDSSBtb2RlDQo+ICsgICAgLy8NCj4gKyAgICBJZiAoTEVxdWFsKFBDSU0sIDEpKSB7DQo+ ICsgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBJZiAoTE9yKExFcXVh bChJMzBBLCAwKSwgTEVxdWFsKEwyM0QsIDEpKSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4g KDB4MCkNCj4gKyAgICB9DQo+ICsgICAgUmV0dXJuICgweEYpDQo+ICsgIH0NCj4gKw0KPiArICBN ZXRob2QgKF9QUzMsIDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBPUihQU0FULCAw eDAwMDAwMDAzLCBQU0FUKQ0KPiArICAgIE9SKFBTQVQsIDBYMDAwMDAwMDAsIFBTQVQpDQo+ICsN Cj4gKyAgfQ0KPiArICBNZXRob2QgKF9QUzAsIDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4g KyAgICBBbmQoUFNBVCwgMHhmZmZmZmZmQywgUFNBVCkNCj4gKyAgICBPUihQU0FULCAwWDAwMDAw MDAwLCBQU0FUKQ0KPiArICB9DQo+ICsgIE9wZXJhdGlvblJlZ2lvbiAoS0VZUywgU3lzdGVtTWVt b3J5LCBJMzFBLCAweDEwMCkNCj4gKyAgRmllbGQgKEtFWVMsIERXb3JkQWNjLCBOb0xvY2ssIFdy aXRlQXNaZXJvcykNCj4gKyAgew0KPiArICAgIE9mZnNldCAoMHg4NCksDQo+ICsgICAgUFNBVCwg ICAzMg0KPiArICB9DQo+ICsNCj4gKw0KPiArfQ0KPiArDQo+ICsvLw0KPiArLy8gTFBJTzIgSTJD ICM0DQo+ICsvLw0KPiArRGV2aWNlKEkyQzQpDQo+ICt7DQo+ICsgIE5hbWUgKF9BRFIsIDApDQo+ ICsgIE5hbWUgKF9ISUQsICI4MDg2MEY0MSIpDQo+ICsgIE5hbWUgKF9DSUQsICI4MDg2MEY0MSIp DQo+ICsgIE5hbWUgKF9ERE4sICJJbnRlbChSKSBJMkMgQ29udHJvbGxlciAjNCAtIDgwODYwRjQ0 IikNCj4gKyAgTmFtZSAoX1VJRCwgNCkNCj4gKyAgTmFtZShfREVQLCBQYWNrYWdlKDB4MSkNCj4g KyAgew0KPiArICAgIFBFUEQNCj4gKyAgfSkNCj4gKyAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1w bGF0ZSAoKQ0KPiArICB7DQo+ICsgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweDAwMDAw MDAwLCAweDAwMDAxMDAwLCBCQVIwKQ0KPiArICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1l ciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwgKSB7MzV9ICAvLyBJMkMNCj4gIzQg SVJRDQo+ICsNCj4gKyAgICBGaXhlZERNQSgweDE2LCAweDYsIFdpZHRoMzJCaXQsICkNCj4gKyAg ICBGaXhlZERNQSgweDE3LCAweDcsIFdpZHRoMzJCaXQsICkNCj4gKyAgfSkNCj4gKw0KPiArICBN ZXRob2QgKFNTQ04sIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE5hbWUgKFBL RywgUGFja2FnZSgzKSB7IDB4MjAwLCAweDIwMCwgMHgwNiB9KQ0KPiArICAgIFJldHVybiAoUEtH KQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoRk1DTiwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7 DQo+ICsgICAgTmFtZSAoUEtHLCBQYWNrYWdlKDMpIHsgMHg1NSwgMHg5OSwgMHgwNiB9KQ0KPiAr ICAgIFJldHVybiAoUEtHKQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoRlBDTiwgMHgwLCBOb3RTZXJp YWxpemVkKQ0KPiArICB7DQo+ICsgICAgTmFtZSAoUEtHLCBQYWNrYWdlKDMpIHsgMHgxYiwgMHgz YSwgMHgwNiB9KQ0KPiArICAgIFJldHVybiAoUEtHKQ0KPiArICB9DQo+ICsNCj4gKw0KPiArICBN ZXRob2QgKF9IUlYsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIFJldHVybiAo U09DUykNCj4gKyAgfQ0KPiArICBNZXRob2QgKF9DUlMsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4g KyAgew0KPiArICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9CQVMsIEIwQkEpDQo+ ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjAuX0xFTiwgQjBMTikNCj4gKyAgICBT dG9yZShJNDBBLCBCMEJBKQ0KPiArICAgIFN0b3JlKEk0MEwsIEIwTE4pDQo+ICsgICAgUmV0dXJu IChSQlVGKQ0KPiArICB9DQo+ICsNCj4gKyAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6 ZWQpDQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBDSU0+PiAwOkFDUEkgbW9kZSAgICAg ICAgICAgMTpQQ0kgbW9kZQ0KPiArICAgIC8vDQo+ICsgICAgSWYgKExFcXVhbChQQ0lNLCAxKSkg ew0KPiArICAgICAgUmV0dXJuICgweDApDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSWYgKExPcihM RXF1YWwoSTQwQSwgMCksIExFcXVhbChMMjRELCAxKSkpDQo+ICsgICAgew0KPiArICAgICAgUmV0 dXJuICgweDApDQo+ICsgICAgfQ0KPiArICAgIFJldHVybiAoMHhGKQ0KPiArICB9DQo+ICsNCj4g KyAgTWV0aG9kIChfUFMzLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgT1IoUFNB VCwgMHgwMDAwMDAwMywgUFNBVCkNCj4gKyAgICBPUihQU0FULCAwWDAwMDAwMDAwLCBQU0FUKQ0K PiArDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7 DQo+ICsgICAgQW5kKFBTQVQsIDB4ZmZmZmZmZkMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgw MDAwMDAwMCwgUFNBVCkNCj4gKyAgfQ0KPiArICBPcGVyYXRpb25SZWdpb24gKEtFWVMsIFN5c3Rl bU1lbW9yeSwgSTQxQSwgMHgxMDApDQo+ICsgIEZpZWxkIChLRVlTLCBEV29yZEFjYywgTm9Mb2Nr LCBXcml0ZUFzWmVyb3MpDQo+ICsgIHsNCj4gKyAgICBPZmZzZXQgKDB4ODQpLA0KPiArICAgIFBT QVQsICAgMzINCj4gKyAgfQ0KPiArDQo+ICsgIFBvd2VyUmVzb3VyY2UgKENMSzAsIDB4MDAsIDB4 MDAwMCkNCj4gKyAgew0KPiArICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkgICAv LyBfU1RBOiBTdGF0dXMNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4gKENLQzApDQo+ICsgICAg fQ0KPiArDQo+ICsgICAgTWV0aG9kIChfT04sIDAsIE5vdFNlcmlhbGl6ZWQpICAgLy8gX09OXzog UG93ZXIgT24NCj4gKyAgICB7DQo+ICsgICAgICBTdG9yZSAoT25lLCBDS0MwKQ0KPiArICAgICAg U3RvcmUgKE9uZSwgQ0tGMCkNCj4gKyAgICAgIFNsZWVwICgweDIwKQ0KPiArICAgIH0NCj4gKw0K PiArICAgIE1ldGhvZCAoX09GRiwgMCwgTm90U2VyaWFsaXplZCkgICAvLyBfT0ZGOiBQb3dlciBP ZmYNCj4gKyAgICB7DQo+ICsgICAgICBTdG9yZSAoMHgwMiwgQ0tDMCkNCj4gKyAgICB9DQo+ICsg IH0NCj4gKyAgUG93ZXJSZXNvdXJjZSAoQ0xLMSwgMHgwMCwgMHgwMDAwKQ0KPiArICB7DQo+ICsg ICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgIC8vIF9TVEE6IFN0YXR1cw0KPiAr ICAgIHsNCj4gKyAgICAgIFJldHVybiAoQ0tDMSkNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBNZXRo b2QgKF9PTiwgMCwgTm90U2VyaWFsaXplZCkgICAvLyBfT05fOiBQb3dlciBPbg0KPiArICAgIHsN Cj4gKyAgICAgIFN0b3JlIChPbmUsIENLQzEpDQo+ICsgICAgICBTdG9yZSAoT25lLCBDS0YxKQ0K PiArICAgICAgU2xlZXAgKDB4MjApDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTWV0aG9kIChfT0ZG LCAwLCBOb3RTZXJpYWxpemVkKSAgIC8vIF9PRkY6IFBvd2VyIE9mZg0KPiArICAgIHsNCj4gKyAg ICAgIFN0b3JlICgweDAyLCBDS0MxKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsv Lw0KPiArLy8gTFBJTzIgSTJDICM1DQo+ICsvLw0KPiArRGV2aWNlKEkyQzUpDQo+ICt7DQo+ICsg IE5hbWUgKF9BRFIsIDApDQo+ICsgIE5hbWUgKF9ISUQsICI4MDg2MEY0MSIpDQo+ICsgIE5hbWUg KF9DSUQsICI4MDg2MEY0MSIpDQo+ICsgIE5hbWUgKF9ERE4sICJJbnRlbChSKSBJMkMgQ29udHJv bGxlciAjNSAtIDgwODYwRjQ1IikNCj4gKyAgTmFtZSAoX1VJRCwgNSkNCj4gKyAgTmFtZShfREVQ LCBQYWNrYWdlKDB4MSkNCj4gKyAgew0KPiArICAgIFBFUEQNCj4gKyAgfSkNCj4gKyAgTmFtZSAo UkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KPiArICB7DQo+ICsgICAgTWVtb3J5MzJGaXhlZCAo UmVhZFdyaXRlLCAweDAwMDAwMDAwLCAweDAwMDAxMDAwLCBCQVIwKQ0KPiArICAgIEludGVycnVw dCAoUmVzb3VyY2VDb25zdW1lciwgTGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwgKSB7 MzZ9ICAvLyBJMkMNCj4gIzUgSVJRDQo+ICsNCj4gKyAgICBGaXhlZERNQSgweDE4LCAweDAsIFdp ZHRoMzJCaXQsICkNCj4gKyAgICBGaXhlZERNQSgweDE5LCAweDEsIFdpZHRoMzJCaXQsICkNCj4g KyAgfSkNCj4gKw0KPiArICBNZXRob2QgKFNTQ04sIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAg ew0KPiArICAgIE5hbWUgKFBLRywgUGFja2FnZSgzKSB7IDB4MjAwLCAweDIwMCwgMHgwNiB9KQ0K PiArICAgIFJldHVybiAoUEtHKQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoRk1DTiwgMHgwLCBOb3RT ZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgTmFtZSAoUEtHLCBQYWNrYWdlKDMpIHsgMHg1NSwg MHg5OSwgMHgwNiB9KQ0KPiArICAgIFJldHVybiAoUEtHKQ0KPiArICB9DQo+ICsgIE1ldGhvZCAo RlBDTiwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgTmFtZSAoUEtHLCBQYWNr YWdlKDMpIHsgMHgxYiwgMHgzYSwgMHgwNiB9KQ0KPiArICAgIFJldHVybiAoUEtHKQ0KPiArICB9 DQo+ICsNCj4gKyAgTWV0aG9kIChfSFJWLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4g KyAgICBSZXR1cm4gKFNPQ1MpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfQ1JTLCAweDAsIE5vdFNl cmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBDcmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFSMC5f QkFTLCBCMEJBKQ0KPiArICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9MRU4sIEIw TE4pDQo+ICsgICAgU3RvcmUoSTUwQSwgQjBCQSkNCj4gKyAgICBTdG9yZShJNTBMLCBCMExOKQ0K PiArICAgIFJldHVybiAoUkJVRikNCj4gKyAgfQ0KPiArICBNZXRob2QgKF9TVEEsIDB4MCwgTm90 U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIC8vDQo+ICsgICAgLy8gUENJTT4+IDA6QUNQSSBt b2RlICAgICAgICAgICAxOlBDSSBtb2RlDQo+ICsgICAgLy8NCj4gKyAgICBJZiAoTEVxdWFsKFBD SU0sIDEpKSB7DQo+ICsgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBJ ZiAoTE9yKExFcXVhbChJNTBBLCAwKSwgTEVxdWFsKEwyNUQsIDEpKSkNCj4gKyAgICB7DQo+ICsg ICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9DQo+ICsgICAgUmV0dXJuICgweEYpDQo+ICsgIH0N Cj4gKw0KPiArICBNZXRob2QgKF9QUzMsIDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAg ICBPUihQU0FULCAweDAwMDAwMDAzLCBQU0FUKQ0KPiArICAgIE9SKFBTQVQsIDBYMDAwMDAwMDAs IFBTQVQpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiAr ICB7DQo+ICsgICAgQW5kKFBTQVQsIDB4ZmZmZmZmZkMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwg MFgwMDAwMDAwMCwgUFNBVCkNCj4gKyAgfQ0KPiArICBPcGVyYXRpb25SZWdpb24gKEtFWVMsIFN5 c3RlbU1lbW9yeSwgSTUxQSwgMHgxMDApDQo+ICsgIEZpZWxkIChLRVlTLCBEV29yZEFjYywgTm9M b2NrLCBXcml0ZUFzWmVyb3MpDQo+ICsgIHsNCj4gKyAgICBPZmZzZXQgKDB4ODQpLA0KPiArICAg IFBTQVQsICAgMzINCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvLw0KPiArLy8gTFBJTzIgSTJDICM2 DQo+ICsvLw0KPiArRGV2aWNlKEkyQzYpDQo+ICt7DQo+ICsgIE5hbWUgKF9BRFIsIDApDQo+ICsg IE5hbWUgKF9ISUQsICI4MDg2MEY0MSIpDQo+ICsgIE5hbWUgKF9DSUQsICI4MDg2MEY0MSIpDQo+ ICsgIE5hbWUgKF9ERE4sICJJbnRlbChSKSBJMkMgQ29udHJvbGxlciAjNiAtIDgwODYwRjQ2IikN Cj4gKyAgTmFtZSAoX1VJRCwgNikNCj4gKyAgTmFtZShfREVQLCBQYWNrYWdlKDB4MSkNCj4gKyAg ew0KPiArICAgIFBFUEQNCj4gKyAgfSkNCj4gKyAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0 ZSAoKQ0KPiArICB7DQo+ICsgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLCAweDAwMDAwMDAw LCAweDAwMDAxMDAwLCBCQVIwKQ0KPiArICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwg TGV2ZWwsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCAsICwgKSB7Mzd9ICAvLyBJMkMNCj4gIzYgSVJR DQo+ICsNCj4gKyAgICBGaXhlZERNQSgweDFBLCAweDAyLCBXaWR0aDMyQml0LCApDQo+ICsgICAg Rml4ZWRETUEoMHgxQiwgMHgwMywgV2lkdGgzMkJpdCwgKQ0KPiArICB9KQ0KPiArDQo+ICsgIE1l dGhvZCAoU1NDTiwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgTmFtZSAoUEtH LCBQYWNrYWdlKDMpIHsgMHgyMDAsIDB4MjAwLCAweDA2IH0pDQo+ICsgICAgUmV0dXJuIChQS0cp DQo+ICsgIH0NCj4gKyAgTWV0aG9kIChGTUNOLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsN Cj4gKyAgICBOYW1lIChQS0csIFBhY2thZ2UoMykgeyAweDU1LCAweDk5LCAweDA2IH0pDQo+ICsg ICAgUmV0dXJuIChQS0cpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChGUENOLCAweDAsIE5vdFNlcmlh bGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBOYW1lIChQS0csIFBhY2thZ2UoMykgeyAweDFiLCAweDNh LCAweDA2IH0pDQo+ICsgICAgUmV0dXJuIChQS0cpDQo+ICsgIH0NCj4gKw0KPiArICBNZXRob2Qg KF9IUlYsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIFJldHVybiAoU09DUykN Cj4gKyAgfQ0KPiArICBNZXRob2QgKF9DUlMsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0K PiArICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9CQVMsIEIwQkEpDQo+ICsgICAg Q3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjAuX0xFTiwgQjBMTikNCj4gKyAgICBTdG9yZShJ NjBBLCBCMEJBKQ0KPiArICAgIFN0b3JlKEk2MEwsIEIwTE4pDQo+ICsgICAgUmV0dXJuIChSQlVG KQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBQQ0lNPj4gMDpBQ1BJIG1vZGUgICAgICAgICAgIDE6UENJ IG1vZGUNCj4gKyAgICAvLw0KPiArICAgIElmIChMRXF1YWwoUENJTSwgMSkpIHsNCj4gKyAgICAg IFJldHVybiAoMHgwKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIElmIChMT3IoTEVxdWFsKEk2MEEs IDApLCBMRXF1YWwoTDI2RCwgMSkpKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybiAoMHgwKQ0K PiArICAgIH0NCj4gKyAgICBSZXR1cm4gKDB4RikNCj4gKyAgfQ0KPiArDQo+ICsgIE1ldGhvZCAo X1BTMywgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9SKFBTQVQsIDB4MDAwMDAw MDMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkNCj4gKyAgfQ0KPiAr ICBNZXRob2QgKF9QUzAsIDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBBbmQoUFNB VCwgMHhmZmZmZmZmQywgUFNBVCkNCj4gKyAgICBPUihQU0FULCAwWDAwMDAwMDAwLCBQU0FUKQ0K PiArICB9DQo+ICsgIE9wZXJhdGlvblJlZ2lvbiAoS0VZUywgU3lzdGVtTWVtb3J5LCBJNjFBLCAw eDEwMCkNCj4gKyAgRmllbGQgKEtFWVMsIERXb3JkQWNjLCBOb0xvY2ssIFdyaXRlQXNaZXJvcykN Cj4gKyAgew0KPiArICAgIE9mZnNldCAoMHg4NCksDQo+ICsgICAgICAgICAgIFBTQVQsICAgMzIN Cj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvLw0KPiArLy8gTFBJTzIgSTJDICM3DQo+ICsvLw0KPiAr RGV2aWNlKEkyQzcpDQo+ICt7DQo+ICsgIE5hbWUgKF9BRFIsIDApDQo+ICsgIE5hbWUgKF9ISUQs ICI4MDg2MEY0MSIpDQo+ICsgIE5hbWUgKF9DSUQsICI4MDg2MEY0MSIpDQo+ICsgIC8vTmFtZSAo X0NMUywgUGFja2FnZSAoMykgezB4MEMsIDB4ODAsIDB4MDB9KQ0KPiArICBOYW1lIChfREROLCAi SW50ZWwoUikgSTJDIENvbnRyb2xsZXIgIzcgLSA4MDg2MEY0NyIpDQo+ICsgIE5hbWUgKF9VSUQs IDcpDQo+ICsgIE5hbWUoX0RFUCwgUGFja2FnZSgweDEpDQo+ICsgIHsNCj4gKyAgICBQRVBEDQo+ ICsgIH0pDQo+ICsgIE5hbWUgKFJCVUYsIFJlc291cmNlVGVtcGxhdGUgKCkNCj4gKyAgew0KPiAr ICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDAwMDAwMCwgMHgwMDAwMTAwMCwgQkFS MCkNCj4gKyAgICBJbnRlcnJ1cHQgKFJlc291cmNlQ29uc3VtZXIsIExldmVsLCBBY3RpdmVMb3cs IEV4Y2x1c2l2ZSwgLCAsICkgezM4fSAgLy8gSTJDDQo+ICM3IElSUQ0KPiArDQo+ICsgICAgRml4 ZWRETUEoMHgxQywgMHg0LCBXaWR0aDMyQml0LCApDQo+ICsgICAgRml4ZWRETUEoMHgxRCwgMHg1 LCBXaWR0aDMyQml0LCApDQo+ICsgIH0pDQo+ICsNCj4gKyAgTWV0aG9kIChTU0NOLCAweDAsIE5v dFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBOYW1lIChQS0csIFBhY2thZ2UoMykgeyAweDIw MCwgMHgyMDAsIDB4MDYgfSkNCj4gKyAgICBSZXR1cm4gKFBLRykNCj4gKyAgfQ0KPiArICBNZXRo b2QgKEZNQ04sIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE5hbWUgKFBLRywg UGFja2FnZSgzKSB7IDB4NTUsIDB4OTksIDB4MDYgfSkNCj4gKyAgICBSZXR1cm4gKFBLRykNCj4g KyAgfQ0KPiArICBNZXRob2QgKEZQQ04sIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiAr ICAgIE5hbWUgKFBLRywgUGFja2FnZSgzKSB7IDB4MWIsIDB4M2EsIDB4MDYgfSkNCj4gKyAgICBS ZXR1cm4gKFBLRykNCj4gKyAgfQ0KPiArDQo+ICsgIE1ldGhvZCAoX0hSViwgMHgwLCBOb3RTZXJp YWxpemVkKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuIChTT0NTKQ0KPiArICB9DQo+ICsNCj4gKyAg TWV0aG9kIChfQ1JTLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBDcmVhdGVE d29yZEZpZWxkKF5SQlVGLCBeQkFSMC5fQkFTLCBCMEJBKQ0KPiArICAgIENyZWF0ZUR3b3JkRmll bGQoXlJCVUYsIF5CQVIwLl9MRU4sIEIwTE4pDQo+ICsgICAgU3RvcmUoSTcwQSwgQjBCQSkNCj4g KyAgICBTdG9yZShJNzBMLCBCMExOKQ0KPiArICAgIFJldHVybiAoUkJVRikNCj4gKyAgfQ0KPiAr DQo+ICsgIE1ldGhvZCAoX1NUQSwgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAg Ly8NCj4gKyAgICAvLyBQQ0lNPj4gMDpBQ1BJIG1vZGUgICAgICAgICAgIDE6UENJIG1vZGUNCj4g KyAgICAvLw0KPiArICAgIElmIChMRXF1YWwoUENJTSwgMSkpIHsNCj4gKyAgICAgIFJldHVybiAo MHgwKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIElmIChMT3IoTEVxdWFsKEk3MEEsIDApLCBMRXF1 YWwoTDI3RCwgMSkpKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybiAoMHgwKQ0KPiArICAgIH0N Cj4gKyAgICBSZXR1cm4gKDB4RikNCj4gKyAgfQ0KPiArDQo+ICsgIE1ldGhvZCAoX1BTMywgMCwg Tm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9SKFBTQVQsIDB4MDAwMDAwMDMsIFBTQVQp DQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkNCj4gKyAgfQ0KPiArDQo+ICsgIE1l dGhvZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIEFuZChQU0FULCAw eGZmZmZmZmZDLCBQU0FUKQ0KPiArICAgIE9SKFBTQVQsIDBYMDAwMDAwMDAsIFBTQVQpDQo+ICsg IH0NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24gKEtFWVMsIFN5c3RlbU1lbW9yeSwgSTcxQSwg MHgxMDApDQo+ICsgIEZpZWxkIChLRVlTLCBEV29yZEFjYywgTm9Mb2NrLCBXcml0ZUFzWmVyb3Mp DQo+ICsgIHsNCj4gKyAgICBPZmZzZXQgKDB4ODQpLA0KPiArICAgIFBTQVQsICAgMzINCj4gKyAg fQ0KPiArDQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoUGNpZS5hc2wNCj4gYi9TaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BjaFBjaWUuYXNsDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjdiMzJlYTJkYWUNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlU YWJsZXNQQ0FUL1BjaFBjaWUuYXNsDQo+IEBAIC0wLDAgKzEsNTAgQEANCj4gKy8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioq KioqKioqKioqKio7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICo7DQo+ICs7KiAgICBJbnRlbCBDb3Jwb3JhdGlvbiAtIEFDUEkgUmVmZXJlbmNlIENvZGUgZm9y IHRoZSBCYXl0cmFpbCAgICAgICAgICAgICo7DQo+ICs7KiAgICBGYW1pbHkgb2YgQ3VzdG9tZXIg UmVmZXJlbmNlIEJvYXJkcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7 KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICBDb3B5 cmlnaHQgKGMpICAyMDExICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkICAgKjsNCj4gKzsNCj4gKzsgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gKzsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKjsNCj4gKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqKiovDQo+ICsNCj4gKw0KPiArT3BlcmF0 aW9uUmVnaW9uKFBYQ1MsUENJX0NvbmZpZywweDQwLDB4QzApDQo+ICtGaWVsZChQWENTLEFueUFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCj4gK3sNCj4gKyAgT2Zmc2V0KDB4MTApLCAvLyBMQ1RMIC0g TGluayBDb250cm9sIFJlZ2lzdGVyDQo+ICsgIEwwU0UsIDEsICAgICAgLy8gMCwgTDBzIEVudHJ5 IEVuYWJsZWQNCj4gKyAgLCA3LA0KPiArICBPZmZzZXQoMHgxMiksIC8vIExTVFMgLSBMaW5rIFN0 YXR1cyBSZWdpc3Rlcg0KPiArICAsIDEzLA0KPiArICBMQVNYLCAxLCAgICAgIC8vIDAsIExpbmsg QWN0aXZlIFN0YXR1cw0KPiArICBPZmZzZXQoMHgxQSksIC8vIFNMU1RTWzc6MF0gLSBTbG90IFN0 YXR1cyBSZWdpc3Rlcg0KPiArICBBQlBYLCAxLCAgICAgIC8vIDAsIEF0dGVudGlvbiBCdXR0b24g UHJlc3NlZA0KPiArICAsIDIsDQo+ICsgIFBEQ1gsIDEsICAgICAgLy8gMywgUHJlc2VuY2UgRGV0 ZWN0IENoYW5nZWQNCj4gKyAgLCAyLA0KPiArICBQRFNYLCAxLCAgICAgIC8vIDYsIFByZXNlbmNl IERldGVjdCBTdGF0ZQ0KPiArICAsIDEsDQo+ICsgIE9mZnNldCgweDIwKSwgLy8gUlNUUyAtIFJv b3QgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICwgMTYsDQo+ICsgIFBTUFgsIDEsICAgICAgLy8gMTYs ICAgICAgICBQTUUgU3RhdHVzDQo+ICt9DQo+ICsNCj4gKw0KPiArRGV2aWNlKFBYU1gpDQo+ICt7 DQo+ICsgIE5hbWUoX0FEUiwgMHgwMDAwMDAwMCkNCj4gKw0KPiArICAvLyBOT1RFOiAgQW55IFBD SUUgSG90LVBsdWcgZGVwZW5kZW5jeSBmb3IgdGhpcyBwb3J0IGlzDQo+ICsgIC8vIHNwZWNpZmlj IHRvIHRoZSBDUkIuICBQbGVhc2UgbW9kaWZ5IHRoZSBjb2RlIGJhc2VkIG9uDQo+ICsgIC8vIHlv dXIgcGxhdGZvcm0gcmVxdWlyZW1lbnRzLg0KPiArDQo+ICsgIE5hbWUoX1BSVywgUGFja2FnZSgp IHs5LDR9KQ0KPiArfQ0KPiArDQo+ICsNCj4gZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoU2NjLmFzbA0KPiBiL1NpbGljb24v SW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoU2NjLmFzbA0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi43OGE5MjhhNWRhDQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9B Y3BpVGFibGVzUENBVC9QY2hTY2MuYXNsDQo+IEBAIC0wLDAgKzEsNjEwIEBADQo+ICsvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoq KioqKioqKioqKioqKioqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqOw0KPiArOyogICAgSW50ZWwgQ29ycG9yYXRpb24gLSBBQ1BJIFJlZmVyZW5jZSBDb2Rl IGZvciB0aGUgQmF5dHJhaWwgICAgICAgICAgICAqOw0KPiArOyogICAgRmFtaWx5IG9mIEN1c3Rv bWVyIFJlZmVyZW5jZSBCb2FyZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0K PiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAg Q29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkICAgICo7DQo+ICs7DQo+ICs7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICo7DQo+ICs7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqLw0KPiArRGV2aWNlIChQRVBE KQ0KPiArew0KPiArICBOYW1lIChfSElELCAiSU5UMzM5NiIpDQo+ICsgIE5hbWUoX0NJRCwgMHg4 MDBkZDA0MSkNCj4gKyAgTmFtZSAoX1VJRCwgMHgxKQ0KPiArDQo+ICsgIC8vIEluZGljYXRlcyBp ZiB0aGUgcGxhdGZvcm0gUEVQIGhhcyBsb2FkZWQNCj4gKyAgTmFtZShQRVBQLCBaZXJvKQ0KPiAr DQo+ICsgIC8vIERldmljZXMgc2NvcmUtYm9hcmRlZCBieSB0aGUgUEVQLCBSZXYwIGZvcm1hdA0K PiArICBOYW1lIChERVZTLCBQYWNrYWdlKCkgezB9KQ0KPiArDQo+ICsgIC8vIERldmljZXMgc2Nv cmUtYm9hcmRlZCBieSB0aGUgUEVQLCBSZXYxIGZvcm1hdA0KPiArICBOYW1lKERFVlgsIFBhY2th Z2UoKQ0KPiArICB7DQo+ICsgICAgUGFja2FnZSAoKSB7IlxcX1NCLlBDSTAuWEhDMSIsIDB4MX0s DQo+ICsgICAgUGFja2FnZSAoKSB7IlxcX1NCLlBDSTAuRUhDMSIsIDB4MX0sDQo+ICsgICAgUGFj a2FnZSAoKSB7IlxcX1NCLlBDSTAuR0ZYMCIsIDB4MX0sDQo+ICsgICAgUGFja2FnZSAoKSB7Ilxc X1NCLlBDSTAuR0ZYMC5JU1AwIiwgMHgxfSwNCj4gKyAgICBQYWNrYWdlICgpIHsiXFxfU0IuUENJ MC5TRUMwIiwgMHgxfSwNCj4gKyAgICBQYWNrYWdlICgpIHsiXFxfU0IuSTJDMSIsIDB4MX0sDQo+ ICsgICAgUGFja2FnZSAoKSB7IlxcX1NCLkkyQzIiLCAweDF9LA0KPiArICAgIFBhY2thZ2UgKCkg eyJcXF9TQi5JMkMzIiwgMHgxfSwNCj4gKyAgICBQYWNrYWdlICgpIHsiXFxfU0IuSTJDNCIsIDB4 MX0sDQo+ICsgICAgUGFja2FnZSAoKSB7IlxcX1NCLkkyQzUiLCAweDF9LA0KPiArICAgIFBhY2th Z2UgKCkgeyJcXF9TQi5JMkM2IiwgMHgxfSwNCj4gKyAgICBQYWNrYWdlICgpIHsiXFxfU0IuSTJD NyIsIDB4MX0sDQo+ICsgICAgUGFja2FnZSAoKSB7IlxcX1NCLlNESEEiLCAweDF9LA0KPiArICAg IFBhY2thZ2UgKCkgeyJcXF9TQi5TREhCIiwgMHgxfSwNCj4gKyAgICBQYWNrYWdlICgpIHsiXFxf U0IuU0RIQyIsIDB4MX0sDQo+ICsgICAgUGFja2FnZSAoKSB7IlxcX1NCLlNQSTEiLCAweDF9LA0K PiArICAgIFBhY2thZ2UgKCkgeyJcXF9TQi5VUlQxIiwgMHgxfSwNCj4gKyAgICBQYWNrYWdlICgp IHsiXFxfU0IuVVJUMiIsIDB4MX0sDQo+ICsgIH0pDQo+ICsgIC8vIENyYXNoZHVtcCBkZXZpY2Ug cGFja2FnZQ0KPiArICBOYW1lKENETVAsIFBhY2thZ2UoMikge30pDQo+ICsgIC8vIERldmljZSBk ZXBlbmRlbmN5IGZvciB1UEVQDQo+ICsgIE5hbWUoREVWWSwgUGFja2FnZSgpDQo+ICsgIHsNCj4g KyAgICBQYWNrYWdlKCkgeyJcXF9QUi5DUFUwIiwgMHgxLCBQYWNrYWdlKCkge1BhY2thZ2UoKSB7 MHhGRiwgMH19fSwNCj4gKyAgICBQYWNrYWdlKCkgeyJcXF9QUi5DUFUxIiwgMHgxLCBQYWNrYWdl KCkge1BhY2thZ2UoKSB7MHhGRiwgMH19fSwNCj4gKyAgICBQYWNrYWdlKCkgeyJcXF9QUi5DUFUy IiwgMHgxLCBQYWNrYWdlKCkge1BhY2thZ2UoKSB7MHhGRiwgMH19fSwNCj4gKyAgICBQYWNrYWdl KCkgeyJcXF9QUi5DUFUzIiwgMHgxLCBQYWNrYWdlKCkge1BhY2thZ2UoKSB7MHhGRiwgMH19fSwN Cj4gKyAgICBQYWNrYWdlKCkgeyJcXF9TQi5JMkMxIiwgMHgxLCBQYWNrYWdlKCkge1BhY2thZ2Uo KSB7MHhGRiwzfX19LA0KPiArICAgIFBhY2thZ2UoKSB7IlxcX1NCLkkyQzIiLCAweDEsIFBhY2th Z2UoKSB7UGFja2FnZSgpIHsweEZGLDN9fX0sDQo+ICsgICAgUGFja2FnZSgpIHsiXFxfU0IuSTJD MyIsIDB4MSwgUGFja2FnZSgpIHtQYWNrYWdlKCkgezB4RkYsM319fSwNCj4gKyAgICBQYWNrYWdl KCkgeyJcXF9TQi5JMkM0IiwgMHgxLCBQYWNrYWdlKCkge1BhY2thZ2UoKSB7MHhGRiwzfX19LA0K PiArICAgIFBhY2thZ2UoKSB7IlxcX1NCLkkyQzUiLCAweDEsIFBhY2thZ2UoKSB7UGFja2FnZSgp IHsweEZGLDN9fX0sDQo+ICsgICAgUGFja2FnZSgpIHsiXFxfU0IuSTJDNiIsIDB4MSwgUGFja2Fn ZSgpIHtQYWNrYWdlKCkgezB4RkYsM319fSwNCj4gKyAgICBQYWNrYWdlKCkgeyJcXF9TQi5JMkM3 IiwgMHgxLCBQYWNrYWdlKCkge1BhY2thZ2UoKSB7MHhGRiwzfX19LA0KPiArICAgIFBhY2thZ2Uo KSB7IlxcX1NCLlBDSTAuR0ZYMCIsIDB4MSwgUGFja2FnZSgpIHtQYWNrYWdlKCkgezB4RkYsM319 fSwNCj4gKyAgICBQYWNrYWdlKCkgeyJcXF9TQi5QQ0kwLlNFQzAiLCAweDEsIFBhY2thZ2UoKSB7 UGFja2FnZSgpIHsweEZGLDN9fX0sDQo+ICsgICAgUGFja2FnZSgpIHsiXFxfU0IuUENJMC5YSEMx IiwgMHgxLCBQYWNrYWdlKCkge1BhY2thZ2UoKSB7MHhGRiwzfX19LA0KPiArICAgIFBhY2thZ2Uo KSB7IlxcX1NCLlBDSTAuR0ZYMC5JU1AwIiwgMHgxLCBQYWNrYWdlKCkge1BhY2thZ2UoKSB7MHhG RiwzfX19LA0KPiArICAgIFBhY2thZ2UoKSB7IlxcX1NCLkxQRUEiLCAweDEsIFBhY2thZ2UoKSB7 UGFja2FnZSgpIHsweDAsM30sIFBhY2thZ2UoKQ0KPiB7MHgxLDB9LCBQYWNrYWdlKCkgezB4Miwz fSwgUGFja2FnZSgpIHsweDMsM319fSwNCj4gKyAgICBQYWNrYWdlKCkgeyJcXF9TQi5TREhBIiwg MHgxLCBQYWNrYWdlKCkge1BhY2thZ2UoKSB7MHhGRiwzfX19LA0KPiArICAgIFBhY2thZ2UoKSB7 IlxcX1NCLlNESEIiLCAweDEsIFBhY2thZ2UoKSB7UGFja2FnZSgpIHsweEZGLDN9fX0sDQo+ICsg ICAgUGFja2FnZSgpIHsiXFxfU0IuU0RIQyIsIDB4MSwgUGFja2FnZSgpIHtQYWNrYWdlKCkgezB4 RkYsM319fSwNCj4gKyAgICBQYWNrYWdlKCkgeyJcXF9TQi5TUEkxIiwgMHgxLCBQYWNrYWdlKCkg e1BhY2thZ2UoKSB7MHhGRiwzfX19LA0KPiArICAgIFBhY2thZ2UoKSB7IlxcX1NCLlVSVDEiLCAw eDEsIFBhY2thZ2UoKSB7UGFja2FnZSgpIHsweEZGLDN9fX0sDQo+ICsgICAgUGFja2FnZSgpIHsi XFxfU0IuVVJUMiIsIDB4MSwgUGFja2FnZSgpIHtQYWNrYWdlKCkgezB4RkYsM319fQ0KPiArICB9 KQ0KPiArICAvLyBCQ0NEIGNyYXNoZHVtcCBpbmZvcm1hdGlvbg0KPiArICBOYW1lKEJDQ0QsIFBh Y2thZ2UoKQ0KPiArICB7DQo+ICsgICAgUGFja2FnZSgpDQo+ICsgICAgew0KPiArICAgICAgIlxc X1NCLlNESEEiLA0KPiArICAgICAgUGFja2FnZSgpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFBh Y2thZ2UoKSB7IFBhY2thZ2UoKSB7MCwgMzIsIDAsICAzLCAweEZGRkZGRkZGRkZGRkZGRkZ9LCBQ YWNrYWdlKCkNCj4gezB4RkZGRkZGRkMsIDB4MCwgMHg0fSwgMH0NCj4gKyAgICAgIH0NCj4gKyAg ICB9DQo+ICsgIH0pDQo+ICsNCj4gKyAgTWV0aG9kKF9TVEEsIDB4MCwgTm90U2VyaWFsaXplZCkN Cj4gKyAgew0KPiArICAgIFJldHVybigweGYpDQo+ICsgIH0NCj4gKw0KPiArICBNZXRob2QoX0RT TSwgMHg0LCBTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgSWYoTEVxdWFsKEFyZzAsVG9VVUlE KCJCOEZFQkZFMC1CQUY4LTQ1NGItQUVDRC00OUZCOTExMzdCMjEiKSkpDQo+ICsgICAgew0KPiAr DQo+ICsgICAgICAvLyBOdW1iZXIgb2YgZm4gSURzIHN1cHBvcnRlZA0KPiArICAgICAgSWYoTEVx dWFsKEFyZzIsIFplcm8pKQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4oQnVmZmVyKE9u ZSkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIDB4Zg0KPiArICAgICAgICB9KQ0KPiArICAg ICAgfQ0KPiArDQo+ICsgICAgICAvLyBQZXAgcHJlc2VuY2UNCj4gKyAgICAgIElmKExFcXVhbChB cmcyLCBPbmUpKQ0KPiArICAgICAgew0KPiArICAgICAgICBTdG9yZSgweDEsIFBFUFApDQo+ICsg ICAgICAgIFJldHVybigweGYpDQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vIE1pdGlnYXRp b24gZGV2aWNlcw0KPiArICAgICAgSWYoTEVxdWFsKEFyZzIsIDB4MikpDQo+ICsgICAgICB7DQo+ ICsgICAgICAgIElmKExFcXVhbChBcmcxLCAweDApKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAg ICAgLy8gUmV2MA0KPiArICAgICAgICAgIFJldHVybihERVZTKQ0KPiArICAgICAgICB9DQo+ICsg ICAgICAgIElmKExFcXVhbChBcmcxLCAweDEpKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAg Ly8gUmV2MQ0KPiArICAgICAgICAgIFJldHVybihERVZYKQ0KPiArICAgICAgICB9DQo+ICsgICAg ICB9DQo+ICsNCj4gKyAgICAgIC8vIENyYXNoZHVtcCBkZXZpY2UgZGF0YQ0KPiArICAgICAgSWYo TEVxdWFsKEFyZzIsIDB4MykpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFN0b3JlKCJcXF9TQi5T REhBIiwgSW5kZXgoQ0RNUCwwKSkNCj4gKyAgICAgICAgU3RvcmUoRU0xQSwgSW5kZXgoQ0RNUCwx KSkNCj4gKyAgICAgICAgUmV0dXJuKENETVApDQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAg IC8vIE5ldyBVVUlEIGZvciBidWlsdC1pbiB1UEVQDQo+ICsgICAgSWYoTEVxdWFsKEFyZzAsVG9V VUlEKCJDNEVCNDBBMC02Q0QyLTExRTItQkNGRC0wODAwMjAwQzlBNjYiKSkpDQo+ICsgICAgew0K PiArDQo+ICsgICAgICAvLyBOdW1iZXIgb2YgZm4gSURzIHN1cHBvcnRlZA0KPiArICAgICAgSWYo TEVxdWFsKEFyZzIsIFplcm8pKQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4oQnVmZmVy KE9uZSkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIDB4Nw0KPiArICAgICAgICB9KQ0KPiAr ICAgICAgfQ0KPiArICAgICAgLy8gTFBJIGRldmljZSBkZXBlbmRlbmNpZXMNCj4gKyAgICAgIElm KExFcXVhbChBcmcyLCAweDEpKQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4oREVWWSkN Cj4gKyAgICAgIH0NCj4gKyAgICAgIC8vIENyYXNoZHVtcCBkZXZpY2UgZGF0YQ0KPiArICAgICAg SWYoTEVxdWFsKEFyZzIsIDB4MikpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFN0b3JlKEVNMUEs IExvY2FsMCkNCj4gKyAgICAgICAgQWRkKExvY2FsMCwgMHg4NCwgTG9jYWwwKQ0KPiArICAgICAg ICBTdG9yZShMb2NhbDAsDQo+IEluZGV4KERlcmVmT2YoSW5kZXgoRGVyZWZPZihJbmRleChEZXJl Zk9mKEluZGV4KERlcmVmT2YoSW5kZXgoQkNDRCwNCj4gWmVybywgKSksIE9uZSwgKSksIFplcm8s ICkpLCBaZXJvLCApKSwgMHg0LCApKQ0KPiArICAgICAgICBSZXR1cm4oQkNDRCkNCj4gKyAgICAg IH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBSZXR1cm4oT25lKQ0KPiArICB9DQo+ICt9DQo+ICsN Cj4gKy8vDQo+ICsvLyBlTU1DIDQuNDENCj4gKy8vDQo+ICtEZXZpY2UoU0RIQSkNCj4gK3sNCj4g KyAgTmFtZSAoX0FEUiwgMCkNCj4gKyAgTmFtZSAoX0hJRCwgIjgwODYwRjE0IikNCj4gKyAgTmFt ZSAoX0NJRCwgIlBOUDBENDAiKQ0KPiArICBOYW1lIChfREROLCAiSW50ZWwoUikgZU1NQyBDb250 cm9sbGVyIC0gODA4NjBGMTQiKQ0KPiArICBOYW1lIChfVUlELCAxKQ0KPiArICBOYW1lKF9ERVAs IFBhY2thZ2UoMHgxKQ0KPiArICB7DQo+ICsgICAgUEVQRA0KPiArICB9KQ0KPiArDQo+ICsgIE5h bWUgKFJCRjEsIFJlc291cmNlVGVtcGxhdGUgKCkNCj4gKyAgew0KPiArICAgIE1lbW9yeTMyRml4 ZWQgKFJlYWRXcml0ZSwgMHgwMDAwMDAwMCwgMHgwMDAwMTAwMCwgQkFSMCkNCj4gKyAgICBJbnRl cnJ1cHQgKFJlc291cmNlQ29uc3VtZXIsIExldmVsLCBBY3RpdmVMb3csIEV4Y2x1c2l2ZSwgLCAs ICkgezQ1fSAgLy8NCj4gZU1NQyA0LjQxIElSUQ0KPiArICB9KQ0KPiArDQo+ICsgIE1ldGhvZCAo X0NSUywgMHgwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgLy8gVXBkYXRlIHRoZSBC YXNlIGFkZHJlc3MgZm9yIEJBUjAgb2YgZU1NQyA0LjQxDQo+ICsgICAgQ3JlYXRlRHdvcmRGaWVs ZCheUkJGMSwgXkJBUjAuX0JBUywgQjBCMSkNCj4gKyAgICBDcmVhdGVEd29yZEZpZWxkKF5SQkYx LCBeQkFSMC5fTEVOLCBCMEwxKQ0KPiArICAgIFN0b3JlKGVNMEEsIEIwQjEpDQo+ICsgICAgU3Rv cmUoZU0wTCwgQjBMMSkNCj4gKyAgICBSZXR1cm4gKFJCRjEpDQo+ICsgIH0NCj4gKyAgTWV0aG9k IChfU1RBLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8v IFBDSU0+PiAwOkFDUEkgbW9kZSAgICAgICAgICAgIDE6UENJIG1vZGUNCj4gKyAgICAvLyBTRDFE Pj4gMDplTU1DIDQuNDEgZW5hYmxlICAgICAxOmVNTUMgNC40MSBkaXNhYmxlDQo+ICsgICAgLy8N Cj4gKyAgICBJZiAoTEFuZChMRXF1YWwoUENJTSwgMCksIExFcXVhbChTRDFELCAwKSkpDQo+ICsg ICAgew0KPiArICAgICAgUmV0dXJuICgweEYpDQo+ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAg ICB7DQo+ICsgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArDQo+ ICsgIE1ldGhvZCAoX1BTMywgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIE9SKFBT QVQsIDB4MDAwMDAwMDMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkN Cj4gKyAgICAvLw0KPiArICAgIC8vIElmIG5vdCBCMSwgc3RpbGwga2VlcCAyIG1zIHcvYQ0KPiAr ICAgIC8vDQo+ICsgICAgSWYoTExlc3MoU09DUywgMHgwMykpDQo+ICsgICAgew0KPiArICAgICAg U2xlZXAoMikNCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJp YWxpemVkKQ0KPiArICB7DQo+ICsgICAgQW5kKFBTQVQsIDB4ZmZmZmZmZkMsIFBTQVQpDQo+ICsg ICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkNCj4gKyAgICAvLw0KPiArICAgIC8vIElmIG5v dCBCMSwgc3RpbGwga2VlcCAyIG1zIHcvYQ0KPiArICAgIC8vDQo+ICsgICAgSWYoTExlc3MoU09D UywgMHgwMykpDQo+ICsgICAgew0KPiArICAgICAgU2xlZXAoMikNCj4gKyAgICB9DQo+ICsgIH0N Cj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24gKEtFWVMsIFN5c3RlbU1lbW9yeSwgZU0xQSwgMHgx MDApDQo+ICsgIEZpZWxkIChLRVlTLCBEV29yZEFjYywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpDQo+ ICsgIHsNCj4gKyAgICBPZmZzZXQgKDB4ODQpLA0KPiArICAgICAgICAgICBQU0FULCAgMzINCj4g KyAgfQ0KPiArDQo+ICsgICAgICAgICBNZXRob2QgKF9ESVMsIDB4MCwgTm90U2VyaWFsaXplZCkN Cj4gKyAgew0KPiArICAgIC8vQWRkaW5nIGR1bW15IGRpc2FibGUgbWV0aG9kcyBmb3IgZGV2aWNl IEVNTTANCj4gKyAgfQ0KPiArDQo+ICsgIERldmljZSAoRU1NRCkNCj4gKyAgew0KPiArICAgIE5h bWUgKF9BRFIsIDB4MDAwMDAwMDgpIC8vIFNsb3QgMCwgRnVuY3Rpb24gOA0KPiArICAgIE1ldGhv ZCAoX1JNViwgMCwgTm90U2VyaWFsaXplZCkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4gKDB4 MCkNCj4gKyAgICB9DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gZU1NQyA0 LjUNCj4gKy8vDQo+ICtEZXZpY2UoU0RIRCkNCj4gK3sNCj4gKyAgTmFtZSAoX0FEUiwgMCkNCj4g KyAgTmFtZSAoX0hJRCwgIjgwODYwRjE0IikNCj4gKyAgTmFtZSAoX0NJRCwgIlBOUDBENDAiKQ0K PiArICBOYW1lIChfREROLCAiSW50ZWwoUikgZU1NQyBDb250cm9sbGVyIC0gODA4NjBGMTQiKQ0K PiArICBOYW1lIChfVUlELCAxKQ0KPiArICBOYW1lKF9ERVAsIFBhY2thZ2UoMHgxKQ0KPiArICB7 DQo+ICsgICAgUEVQRA0KPiArICB9KQ0KPiArDQo+ICsgIE5hbWUgKFJCRjEsIFJlc291cmNlVGVt cGxhdGUgKCkNCj4gKyAgew0KPiArICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDAw MDAwMCwgMHgwMDAwMTAwMCwgQkFSMCkNCj4gKyAgICBJbnRlcnJ1cHQgKFJlc291cmNlQ29uc3Vt ZXIsIExldmVsLCBBY3RpdmVMb3csIEV4Y2x1c2l2ZSwgLCAsICkgezQ0fSAgLy8NCj4gZU1NQyA0 LjUgSVJRDQo+ICsgIH0pDQo+ICsgIE1ldGhvZCAoX0NSUywgMHgwLCBOb3RTZXJpYWxpemVkKQ0K PiArICB7DQo+ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJGMSwgXkJBUjAuX0JBUywgQjBCMSkN Cj4gKyAgICBDcmVhdGVEd29yZEZpZWxkKF5SQkYxLCBeQkFSMC5fTEVOLCBCMEwxKQ0KPiArICAg IFN0b3JlKGVNMEEsIEIwQjEpDQo+ICsgICAgU3RvcmUoZU0wTCwgQjBMMSkNCj4gKyAgICBSZXR1 cm4gKFJCRjEpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6ZWQp DQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBDSU0+PiAwOkFDUEkgbW9kZSAgICAgICAg ICAgMTpQQ0kgbW9kZQ0KPiArICAgIC8vIEhTSUQ+PiAwOmVNTUMgNC41IGVuYWJsZSAgICAgMTpl TU1DIDQuNSBkaXNhYmxlDQo+ICsgICAgLy8NCj4gKyAgICBJZiAoTEFuZChMRXF1YWwoUENJTSwg MCksIExFcXVhbChIU0lELCAwKSkpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuICgweEYpDQo+ ICsgICAgfQ0KPiArICAgIEVsc2UNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4gKDB4MCkNCj4g KyAgICB9DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIE1ldGhvZCAoX1BTMywgMCwgTm90U2VyaWFs aXplZCkNCj4gKyAgew0KPiArICAgIE9SKFBTQVQsIDB4MDAwMDAwMDMsIFBTQVQpDQo+ICsgICAg T1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkNCj4gKyAgICAvLw0KPiArICAgIC8vIElmIG5vdCBC MSwgc3RpbGwga2VlcCAyIG1zIHcvYQ0KPiArICAgIC8vDQo+ICsgICAgSWYoTExlc3MoU09DUywg MHgwMykpDQo+ICsgICAgew0KPiArICAgICAgU2xlZXAoMikNCj4gKyAgICB9DQo+ICsgIH0NCj4g KyAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgQW5kKFBT QVQsIDB4ZmZmZmZmZkMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkN Cj4gKyAgICAvLw0KPiArICAgIC8vIElmIG5vdCBCMSwgc3RpbGwga2VlcCAyIG1zIHcvYQ0KPiAr ICAgIC8vDQo+ICsgICAgSWYoTExlc3MoU09DUywgMHgwMykpDQo+ICsgICAgew0KPiArICAgICAg U2xlZXAoMikNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24gKEtF WVMsIFN5c3RlbU1lbW9yeSwgZU0xQSwgMHgxMDApDQo+ICsgIEZpZWxkIChLRVlTLCBEV29yZEFj YywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpDQo+ICsgIHsNCj4gKyAgICBPZmZzZXQgKDB4ODQpLA0K PiArICAgICAgICAgICBQU0FULCAgMzINCj4gKyAgfQ0KPiArDQo+ICsgICAgICAgICBNZXRob2Qg KF9ESVMsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAgIC8vQWRkaW5nIGR1bW15 IGRpc2FibGUgbWV0aG9kcyBmb3IgZGV2aWNlIEVNTTANCj4gKyAgfQ0KPiArDQo+ICsgIERldmlj ZSAoRU00NSkNCj4gKyAgew0KPiArICAgIE5hbWUgKF9BRFIsIDB4MDAwMDAwMDgpIC8vIFNsb3Qg MCwgRnVuY3Rpb24gOA0KPiArICAgIE1ldGhvZCAoX1JNViwgMCwgTm90U2VyaWFsaXplZCkNCj4g KyAgICB7DQo+ICsgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9DQo+ICsgIH0NCj4gK30NCj4g Kw0KPiArDQo+ICsvLw0KPiArLy8gU0RJTw0KPiArLy8NCj4gK0RldmljZShTREhCKQ0KPiArew0K PiArICBOYW1lIChfQURSLCAwKQ0KPiArICBOYW1lIChfSElELCAiSU5UMzNCQiIpDQo+ICsgIE5h bWUgKF9DSUQsICJQTlAwRDQwIikNCj4gKyAgTmFtZSAoX0RETiwgIkludGVsKFIpIFNESU8gQ29u dHJvbGxlciAtIDgwODYwRjE1IikNCj4gKyAgTmFtZSAoX1VJRCwgMikNCj4gKyAgTmFtZSAoX0hS ViwgMikNCj4gKyAgTmFtZShfREVQLCBQYWNrYWdlKDB4MDEpDQo+ICsgIHsNCj4gKyAgICBQRVBE DQo+ICsgIH0pDQo+ICsgIE5hbWUgKFBTVFMsIDB4MCkNCj4gKw0KPiArICBOYW1lIChSQlVGLCBS ZXNvdXJjZVRlbXBsYXRlICgpDQo+ICsgIHsNCj4gKyAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3Jp dGUsIDB4MDAwMDAwMDAsIDB4MDAwMDEwMDAsIEJBUjApDQo+ICsgICAgSW50ZXJydXB0IChSZXNv dXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZlTG93LCBFeGNsdXNpdmUsICwgLCApIHs0Nn0gIC8v DQo+IFNESU8gSVJRDQo+ICsgIH0pDQo+ICsNCj4gKyAgTWV0aG9kIChfQ1JTLCAweDAsIE5vdFNl cmlhbGl6ZWQpDQo+ICsgIHsNCj4gKw0KPiArICAgIENyZWF0ZUR3b3JkRmllbGQoXlJCVUYsIF5C QVIwLl9CQVMsIEIwQkEpDQo+ICsgICAgQ3JlYXRlRHdvcmRGaWVsZCheUkJVRiwgXkJBUjAuX0xF TiwgQjBMTikNCj4gKyAgICBTdG9yZShTSTBBLCBCMEJBKQ0KPiArICAgIFN0b3JlKFNJMEwsIEIw TE4pDQo+ICsgICAgUmV0dXJuIChSQlVGKQ0KPiArICB9DQo+ICsgIE1ldGhvZCAoX1NUQSwgMHgw LCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgSWYgKExMZXNzRXF1YWwoU1RFUCwgMHgw NCkpDQo+ICsgICAgew0KPiArICAgICAgLy9BIHN0ZXBwaW5nDQo+ICsgICAgICBTdG9yZShTRE1E LCBfSFJWKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gUENJTT4+IDA6QUNQ SSBtb2RlICAgICAgICAgICAxOlBDSSBtb2RlDQo+ICsgICAgLy8NCj4gKyAgICBJZiAoTEVxdWFs KFBDSU0sIDEpKSB7DQo+ICsgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9DQo+ICsNCj4gKyAg ICBJZiAoTE9yKExFcXVhbChTSTBBLCAwKSwgTEVxdWFsKFNEMkQsIDEpKSkNCj4gKyAgICB7DQo+ ICsgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9DQo+ICsgICAgUmV0dXJuICgweEYpDQo+ICsg IH0NCj4gKyAgTWV0aG9kIChfRElTLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAg ICAvL0FkZGluZyBkdW1teSBkaXNhYmxlIG1ldGhvZHMgZm9yIGRldmljZSBFTU0wDQo+ICsgIH0N Cj4gKw0KPiArICBNZXRob2QgKF9QUzMsIDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAg ICBPUihQU0FULCAweDAwMDAwMDAzLCBQU0FUKQ0KPiArICAgIE9SKFBTQVQsIDBYMDAwMDAwMDAs IFBTQVQpDQo+ICsgIH0NCj4gKyAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiAr ICB7DQo+ICsgICAgQW5kKFBTQVQsIDB4ZmZmZmZmZkMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwg MFgwMDAwMDAwMCwgUFNBVCkNCj4gKw0KPiArICAgIGlmKExFcXVhbChcX1NCLlNESEIuUFNUUyww eDApKQ0KPiArICAgIHsNCj4gKyAgICAgIGlmKExFcXVhbCAoXF9TQi5HUE8yLkFWQkwsIDEpKQ0K PiArICAgICAgew0KPiArICAgICAgICBTdG9yZSggMHgwMSwgXF9TQi5HUE8yLldGRDMgKSAvLyBX TF9XSUZJX1JFUV9PTiA9IDEgcHV0IHRoZSBkZXZpY2UNCj4gdG8gbm9ybWFsIHN0YXRlDQo+ICsg ICAgICAgIFN0b3JlKCAweDAxLCBcX1NCLlNESEIuUFNUUykgIC8vIGluZGljYXRlcyB0aGF0IHRo ZSBkZXZpY2UgcG93ZXJlZCBPTg0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArDQo+ICsg IH0NCj4gKyAgT3BlcmF0aW9uUmVnaW9uIChLRVlTLCBTeXN0ZW1NZW1vcnksIFNJMUEsIDB4MTAw KQ0KPiArICBGaWVsZCAoS0VZUywgRFdvcmRBY2MsIE5vTG9jaywgV3JpdGVBc1plcm9zKQ0KPiAr ICB7DQo+ICsgICAgT2Zmc2V0ICgweDg0KSwNCj4gKyAgICAgICAgICAgUFNBVCwgICAzMg0KPiAr ICB9DQo+ICsNCj4gKw0KPiArICAgICAgICAgRGV2aWNlIChCUkNNKQ0KPiArICB7DQo+ICsgICAg TmFtZSAoX0FEUiwgMHgwMSkgICAgICAgICAgICAgICAgIC8vU2xvdE51bWJlciArIEZ1bmN0aW9u DQo+ICsgICAgTmFtZSAoX0RFUCwgUGFja2FnZSgpIHtcX1NCLkdQTzJ9KQ0KPiArDQo+ICsgICAg TWV0aG9kIChfUk1WLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVy biAoMHgwKQ0KPiArICAgIH0NCj4gKyAgICBOYW1lIChfUFJXLCBQYWNrYWdlKCkgezAsIDB9KQ0K PiArICAgIE5hbWUgKF9TNFcsIDIpDQo+ICsNCj4gKyAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlh bGl6ZWQpDQo+ICsgICAgew0KPiArICAgICAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAo KQ0KPiArICAgICAgew0KPiArICAgICAgICBJbnRlcnJ1cHQgKFJlc291cmNlQ29uc3VtZXIsIEVk Z2UsIEFjdGl2ZUhpZ2gsIEV4Y2x1c2l2ZUFuZFdha2UsICwgLCApDQo+IHs3M30NCj4gKyAgICAg IH0pDQo+ICsgICAgICBSZXR1cm4gKFJCVUYpDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTWV0aG9k IChfUFMzLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiArICAgIHsNCj4gKyAgICAgIGlmKExFcXVhbCAo XF9TQi5HUE8yLkFWQkwsIDEpKQ0KPiArICAgICAgew0KPiArICAgICAgICBTdG9yZSggMHgwMCwg XF9TQi5HUE8yLldGRDMgKSAvLyBXTF9XSUZJX1JFUV9PTiA9IDAgcHV0cyB0aGUNCj4gZGV2aWNl IGluIHJlc2V0IHN0YXRlDQo+ICsgICAgICAgIFN0b3JlKCAweDAwLCBcX1NCLlNESEIuUFNUUykg Ly9JbmRpY2F0ZXMgdGhhdCB0aGUgZGV2aWNlIGlzIHBvd2VyZWQgb2ZmDQo+ICsgICAgICB9DQo+ ICsNCj4gKyAgICB9DQo+ICsgICAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiAr ICAgIHsNCj4gKyAgICAgIGlmKExFcXVhbChcX1NCLlNESEIuUFNUUywweDApKQ0KPiArICAgICAg ew0KPiArICAgICAgICBpZihMRXF1YWwgKFxfU0IuR1BPMi5BVkJMLCAxKSkNCj4gKyAgICAgICAg ew0KPiArICAgICAgICAgIFN0b3JlKCAweDAxLCBcX1NCLkdQTzIuV0ZEMyApIC8vIFdMX1dJRklf UkVRX09OID0gMSBwdXQgdGhlDQo+IGRldmljZSB0byBub3JtYWwgc3RhdGUNCj4gKyAgICAgICAg ICBTdG9yZSggMHgwMSwgXF9TQi5TREhCLlBTVFMpICAgICAvLyBpbmRpY2F0ZXMgdGhhdCB0aGUg ZGV2aWNlIHBvd2VyZWQNCj4gT04NCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgIH0N Cj4gKyAgfSAvLyBEZXZpY2UgKEJSQ00pDQo+ICsgIC8vDQo+ICsgIC8vIFNlY29uZGFyeSBCcm9h ZGNvbSBXSUZJIGZ1bmN0aW9uDQo+ICsgIC8vDQo+ICsgIERldmljZShCUkMyKQ0KPiArICB7DQo+ ICsgICAgTmFtZShfQURSLCAweDIpIC8vIGZ1bmN0aW9uIDINCj4gKyAgICBOYW1lKF9TVEEsIDB4 ZikNCj4gKyAgICAvLw0KPiArICAgIC8vIFRoZSBkZXZpY2UgaXMgbm90IHJlbW92YWJsZS4gVGhp cyBtdXN0IGJlIGEgbWV0aG9kLg0KPiArICAgIC8vDQo+ICsgICAgTWV0aG9kKF9STVYsIDB4MCwg Tm90U2VyaWFsaXplZCkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oMHgwKQ0KPiArICAgIH0N Cj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gRGVzY3JpYmUgYSB2ZW5kb3ItZGVmaW5lZCBjb25u ZWN0aW9uIGJldHdlZW4gdGhpcyBkZXZpY2UgYW5kIHRoZQ0KPiArICAgIC8vIHByaW1hcnkgd2lm aSBkZXZpY2UNCj4gKyAgICAvLw0KPiArDQo+ICsgICAgTWV0aG9kKF9DUlMpDQo+ICsgICAgew0K PiArICAgICAgTmFtZShOQU0sIEJ1ZmZlcigpIHsiXFxfU0IuU0RIQi5CUkNNIn0pDQo+ICsgICAg ICBOYW1lKFNQQiwgQnVmZmVyKCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgMHg4RSwgICAgICAg Ly8gU1BCIERlc2NyaXB0b3INCj4gKyAgICAgICAgMHgxOCwgMHgwMCwgLy8gTGVuZ3RoIGluY2x1 ZGluZyBOQU0gYWJvdmUNCj4gKyAgICAgICAgMHgwMSwgICAgICAgLy8gKzB4MDAgU1BCIERlc2Ny aXB0b3IgUmV2aXNpb24NCj4gKyAgICAgICAgMHgwMCwgICAgICAgLy8gKzB4MDEgUmVzb3VyY2Ug U291cmNlIEluZGV4DQo+ICsgICAgICAgIDB4YzAsICAgICAgIC8vICsweDAyIEJ1cyB0eXBlIC0g dmVuZG9yIGRlZmluZWQNCj4gKyAgICAgICAgMHgwMiwgICAgICAgLy8gKzB4MDMgQ29uc3VtZXIg KyBjb250cm9sbGVyIGluaXRpYXRlZA0KPiArICAgICAgICAweDAwLCAweDAwLCAvLyArMHgwNCBU eXBlIHNwZWNpZmljIGZsYWdzDQo+ICsgICAgICAgIDB4MDEsICAgICAgIC8vICsweDA2IFR5cGUg c3BlY2lmaWMgcmV2aXNpb24NCj4gKyAgICAgICAgMHgwMCwgMHgwMCAgLy8gKzB4MDcgdHlwZSBz cGVjaWZpYyBkYXRhIGxlbmd0aA0KPiArICAgICAgICAvLyArMHgwOSAtIDB4ZiBieXRlcyBmb3Ig TlVMTC10ZXJtaW5hdGVkIE5BTQ0KPiArICAgICAgICAvLyBMZW5ndGggPSAweDE4DQo+ICsgICAg ICB9KQ0KPiArDQo+ICsgICAgICBOYW1lKEVORCwgQnVmZmVyKCkgezB4NzksIDB4MDB9KQ0KPiAr ICAgICAgQ29uY2F0ZW5hdGUoU1BCLCBOQU0sIExvY2FsMCkNCj4gKyAgICAgIENvbmNhdGVuYXRl KExvY2FsMCwgRU5ELCBMb2NhbDEpDQo+ICsgICAgICBSZXR1cm4oTG9jYWwxKQ0KPiArICAgIH0N Cj4gKyAgfQ0KPiArDQo+ICt9DQo+ICsNCj4gKy8vDQo+ICsvLyBTRCBDYXJkDQo+ICsvLw0KPiAr RGV2aWNlKFNESEMpDQo+ICt7DQo+ICsgIE5hbWUgKF9BRFIsIDApDQo+ICsgIE5hbWUgKF9ISUQs ICI4MDg2MEYxNiIpDQo+ICsgIE5hbWUgKF9DSUQsICJQTlAwRDQwIikNCj4gKyAgTmFtZSAoX0RE TiwgIkludGVsKFIpIFNEIENhcmQgQ29udHJvbGxlciAtIDgwODYwRjE2IikNCj4gKyAgTmFtZSAo X1VJRCwgMykNCj4gKyAgTmFtZShfREVQLCBQYWNrYWdlKDB4MDEpDQo+ICsgIHsNCj4gKyAgICBQ RVBEDQo+ICsgIH0pDQo+ICsgIE5hbWUgKFJCVUYsIFJlc291cmNlVGVtcGxhdGUgKCkNCj4gKyAg ew0KPiArICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwMDAwMDAwMCwgMHgwMDAwMTAw MCwgQkFSMCkNCj4gKyAgICBJbnRlcnJ1cHQgKFJlc291cmNlQ29uc3VtZXIsIExldmVsLCBBY3Rp dmVMb3csIEV4Y2x1c2l2ZSwgLCAsICkgezQ3fSAgLy8gU0QNCj4gQ2FyZCBJUlENCj4gKyAgfSkN Cj4gKyAgTWV0aG9kIChfQ1JTLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBD cmVhdGVEd29yZEZpZWxkKF5SQlVGLCBeQkFSMC5fQkFTLCBCMEJBKQ0KPiArICAgIENyZWF0ZUR3 b3JkRmllbGQoXlJCVUYsIF5CQVIwLl9MRU4sIEIwTE4pDQo+ICsgICAgU3RvcmUoU0QwQSwgQjBC QSkNCj4gKyAgICBTdG9yZShTRDBMLCBCMExOKQ0KPiArICAgIFJldHVybiAoUkJVRikNCj4gKyAg fQ0KPiArICBNZXRob2QgKF9TVEEsIDB4MCwgTm90U2VyaWFsaXplZCkNCj4gKyAgew0KPiArICAg IC8vDQo+ICsgICAgLy8gUENJTT4+IDA6QUNQSSBtb2RlICAgICAgICAgICAxOlBDSSBtb2RlDQo+ ICsgICAgLy8NCj4gKyAgICBJZiAoTEVxdWFsKFBDSU0sIDEpKSB7DQo+ICsgICAgICBSZXR1cm4g KDB4MCkNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBJZiAoTE9yKExFcXVhbChTRDBBLCAwKSwgTEVx dWFsKFNEM0QsIDEpKSkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4gKDB4MCkNCj4gKyAgICB9 DQo+ICsgICAgUmV0dXJuICgweEYpDQo+ICsgIH0NCj4gKw0KPiArICBNZXRob2QgKF9QUzMsIDAs IE5vdFNlcmlhbGl6ZWQpDQo+ICsgIHsNCj4gKyAgICBPUihQU0FULCAweDAwMDAwMDAzLCBQU0FU KQ0KPiArICAgIE9SKFBTQVQsIDBYMDAwMDAwMDAsIFBTQVQpDQo+ICsgIH0NCj4gKyAgTWV0aG9k IChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQ0KPiArICB7DQo+ICsgICAgQW5kKFBTQVQsIDB4ZmZm ZmZmZkMsIFBTQVQpDQo+ICsgICAgT1IoUFNBVCwgMFgwMDAwMDAwMCwgUFNBVCkNCj4gKyAgfQ0K PiArICBPcGVyYXRpb25SZWdpb24gKEtFWVMsIFN5c3RlbU1lbW9yeSwgU0QxQSwgMHgxMDApDQo+ ICsgIEZpZWxkIChLRVlTLCBEV29yZEFjYywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpDQo+ICsgIHsN Cj4gKyAgICBPZmZzZXQgKDB4ODQpLA0KPiArICAgICAgICAgICBQU0FULCAgIDMyDQo+ICsgIH0N Cj4gKw0KPiArICBEZXZpY2UgKENBUkQpDQo+ICsgIHsNCj4gKyAgICBOYW1lIChfQURSLCAweDAw MDAwMDA4KQ0KPiArICAgIE1ldGhvZChfUk1WLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgICAg ew0KPiArICAgICAgLy8gU0RSTSA9IDAgbm9uLXJlbW92YWJsZTsNCj4gKyAgICAgIElmIChMRXF1 YWwoU0RSTSwgMCkpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFJldHVybiAoMCkNCj4gKyAgICAg IH0NCj4gKw0KPiArICAgICAgUmV0dXJuICgxKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICt9 DQo+ICsNCj4gZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cv QWNwaVRhYmxlc1BDQVQvUGNoU21iLmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJl ZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoU21iLmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40ZGUwYzMyOTI3DQo+IC0tLSAvZGV2L251bGwNCj4gKysr IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9QY2hT bWIuYXNsDQo+IEBAIC0wLDAgKzEsODMzIEBADQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqOw0K PiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAg SW50ZWwgQ29ycG9yYXRpb24gLSBBQ1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwg ICAgICAgICAgICAqOw0KPiArOyogICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5jZSBCb2Fy ZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAgMTk5 OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZCAgICo7DQo+ ICs7DQo+ICs7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICs7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7 KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq DQo+ICoqKioqKioqKioqKioqKioqLw0KPiArDQo+ICsNCj4gKy8vIERlZmluZSB2YXJpb3VzIFNN QnVzIFBDSSBDb25maWd1cmF0aW9uIFNwYWNlIFJlZ2lzdGVycy4NCj4gKw0KPiArT3BlcmF0aW9u UmVnaW9uKFNNQlAsUENJX0NvbmZpZywweDQwLDB4QzApDQo+ICtGaWVsZChTTUJQLERXb3JkQWNj LE5vTG9jayxQcmVzZXJ2ZSkNCj4gK3sNCj4gKyAgLCAgICAgMiwNCj4gKyAgSTJDRSwgMQ0KPiAr fQ0KPiArDQo+ICsvLyBTTUJ1cyBTZW5kIEJ5dGUgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgd3JpdGUg YSBzaW5nbGUgYnl0ZSBvZg0KPiArLy8gZGF0YSB0byBhIHNwZWNpZmljIFNsYXZlIERldmljZSBw ZXIgU01CdXMgU2VuZCBCeXRlIFByb3RvY29sLg0KPiArLy8gICAgICBBcmcwID0gQWRkcmVzcw0K PiArLy8gICAgICBBcmcxID0gRGF0YQ0KPiArLy8gICAgICBSZXR1cm46IFN1Y2Nlc3MgPSAxDQo+ ICsvLyAgICAgICAgICAgICAgRmFpbHVyZSA9IDANCj4gKw0KPiArICAgICAgTWV0aG9kKFNTWEIs MixTZXJpYWxpemVkKQ0KPiArew0KPiArICBPcGVyYXRpb25SZWdpb24oU01QQixQQ0lfQ29uZmln LDB4MjAsNCkNCj4gKyAgRmllbGQoU01QQixEV29yZEFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsg IHsNCj4gKyAgICAsICAgICA1LA0KPiArICAgIFNCQVIsIDExDQo+ICsgIH0NCj4gKw0KPiArICAv LyBEZWZpbmUgdmFyaW91cyBTTUJ1cyBJTyBNYXBwZWQgUmVnaXN0ZXJzLg0KPiArDQo+ICsgIE9w ZXJhdGlvblJlZ2lvbihTTUJJLFN5c3RlbUlPLFNoaWZ0TGVmdChTQkFSLDUpLDB4MTApDQo+ICsg IEZpZWxkKFNNQkksQnl0ZUFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICBIU1RT LCA4LCAgICAgICAgLy8gMCAtIEhvc3QgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAgT2Zmc2V0KDB4 MDIpLA0KPiArICAgIEhDT04sIDgsICAgICAgICAvLyAyIC0gSG9zdCBDb250cm9sDQo+ICsgICAg SENPTSwgOCwgICAgICAgIC8vIDMgLSBIb3N0IENvbW1hbmQNCj4gKyAgICBUWFNBLCA4LCAgICAg ICAgLy8gNCAtIFRyYW5zbWl0IFNsYXZlIEFkZHJlc3MNCj4gKyAgICBEQVQwLCA4LCAgICAgICAg Ly8gNSAtIEhvc3QgRGF0YSAwDQo+ICsgICAgREFUMSwgOCwgICAgICAgIC8vIDYgLSBIb3N0IERh dGEgMQ0KPiArICAgIEhCRFIsIDgsICAgICAgICAvLyA3IC0gSG9zdCBCbG9jayBEYXRhDQo+ICsg ICAgUEVDUiwgOCwgICAgICAgIC8vIDggLSBQYWNrZXIgRXJyb3IgQ2hlY2sNCj4gKyAgICBSWFNB LCA4LCAgICAgICAgLy8gOSAtIFJlY2VpdmUgU2xhdmUgQWRkcmVzcw0KPiArICAgIFNEQVQsIDE2 LCAgICAgICAvLyBBIC0gU2xhdmUgRGF0YQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gU3RlcCAxOiAg Q29uZmlybSB0aGUgSUNIeCBTTUJ1cyBpcyByZWFkeSB0byBwZXJmb3JtDQo+ICsgIC8vIGNvbW11 bmljYXRpb24uDQo+ICsNCj4gKyAgSWYoU1RSVCgpKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKDAp DQo+ICsgIH0NCj4gKw0KPiArICAvLyBTdGVwIDI6ICBJbml0aWF0ZSBhIFNlbmQgQnl0ZS4NCj4g Kw0KPiArICBTdG9yZSgwLEkyQ0UpICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5zdXJl IFNNYnVzIE1vZGUuDQo+ICsgIFN0b3JlKDB4QkYsSFNUUykgICAgICAgICAgICAgICAgICAgICAg ICAvLyBDbGVhciBhbGwgYnV0IElOVVNFX1NUUy4NCj4gKyAgU3RvcmUoQXJnMCxUWFNBKSAgICAg ICAgICAgICAgICAgICAgICAgIC8vIFdyaXRlIEFkZHJlc3MgaW4gVFhTQS4NCj4gKyAgU3RvcmUo QXJnMSxIQ09NKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIERhdGEgaW4gSENPTS4NCj4gKw0K PiArICAvLyBTZXQgdGhlIFNNQnVzIEhvc3QgY29udHJvbCByZWdpc3RlciB0byAweDQ4Lg0KPiAr ICAvLyAgIEJpdCA3OiAgICA9ICAwICA9IHJlc2VydmVkDQo+ICsgIC8vICAgQml0IDY6ICAgID0g IDEgID0gc3RhcnQNCj4gKyAgLy8gICBCaXQgNTogICAgPSAgMCAgPSBkaXNyZWdhcmQsIEkyQyBy ZWxhdGVkIGJpdA0KPiArICAvLyAgIEJpdHMgNDoyOiA9IDAwMSA9IEJ5dGUgUHJvdG9jb2wNCj4g KyAgLy8gICBCaXQgMTogICAgPSAgMCAgPSBOb3JtYWwgRnVuY3Rpb24NCj4gKyAgLy8gICBCaXQg MDogICAgPSAgMCAgPSBEaXNhYmxlIGludGVycnVwdCBnZW5lcmF0aW9uDQo+ICsNCj4gKyAgU3Rv cmUoMHg0OCxIQ09OKQ0KPiArDQo+ICsgIC8vIFN0ZXAgMzogIEV4aXQgdGhlIE1ldGhvZCBjb3Jy ZWN0bHkuDQo+ICsNCj4gKyAgSWYoQ09NUCkNCj4gKyAgew0KPiArICAgIE9yKEhTVFMsMHhGRixI U1RTKSAgICAgICAgICAgICAgLy8gQ2xlYXIgSU5VU0VfU1RTIGFuZCBvdGhlcnMuLg0KPiArICAg IFJldHVybigxKSAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIFN1Y2Nlc3MuDQo+ICsg IH0NCj4gKw0KPiArICBSZXR1cm4oMCkNCj4gK30NCj4gKw0KPiArLy8gU01CdXMgUmVjZWl2ZSBC eXRlIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHdyaXRlIGEgc2luZ2xlIGJ5dGUNCj4gKy8vIG9mIGRh dGEgdG8gYSBzcGVjaWZpYyBTbGF2ZSBEZXZpY2UgcGVyIFNNQnVzIFJlY2VpdmUgQnl0ZQ0KPiAr Ly8gUHJvdG9jb2wuDQo+ICsvLyAgICAgIEFyZzAgPSBBZGRyZXNzDQo+ICsvLyAgICAgIFJldHVy bjogU3VjY2VzcyA9IEJ5dGUtU2l6ZSBWYWx1ZQ0KPiArLy8gICAgICAgICAgICAgIEZhaWx1cmUg PSBXb3JkLVNpemUgVmFsdWUgPSBGRkZGaC4NCj4gKw0KPiArTWV0aG9kKFNSWEIsMSxTZXJpYWxp emVkKQ0KPiArew0KPiArICBPcGVyYXRpb25SZWdpb24oU01QQixQQ0lfQ29uZmlnLDB4MjAsNCkN Cj4gKyAgRmllbGQoU01QQixEV29yZEFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAg ICAsICAgICA1LA0KPiArICAgIFNCQVIsIDExDQo+ICsgIH0NCj4gKw0KPiArICAvLyBEZWZpbmUg dmFyaW91cyBTTUJ1cyBJTyBNYXBwZWQgUmVnaXN0ZXJzLg0KPiArDQo+ICsgIE9wZXJhdGlvblJl Z2lvbihTTUJJLFN5c3RlbUlPLFNoaWZ0TGVmdChTQkFSLDUpLDB4MTApDQo+ICsgIEZpZWxkKFNN QkksQnl0ZUFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICBIU1RTLCA4LCAgICAg ICAgLy8gMCAtIEhvc3QgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAgT2Zmc2V0KDB4MDIpLA0KPiAr ICAgIEhDT04sIDgsICAgICAgICAvLyAyIC0gSG9zdCBDb250cm9sDQo+ICsgICAgSENPTSwgOCwg ICAgICAgIC8vIDMgLSBIb3N0IENvbW1hbmQNCj4gKyAgICBUWFNBLCA4LCAgICAgICAgLy8gNCAt IFRyYW5zbWl0IFNsYXZlIEFkZHJlc3MNCj4gKyAgICBEQVQwLCA4LCAgICAgICAgLy8gNSAtIEhv c3QgRGF0YSAwDQo+ICsgICAgREFUMSwgOCwgICAgICAgIC8vIDYgLSBIb3N0IERhdGEgMQ0KPiAr ICAgIEhCRFIsIDgsICAgICAgICAvLyA3IC0gSG9zdCBCbG9jayBEYXRhDQo+ICsgICAgUEVDUiwg OCwgICAgICAgIC8vIDggLSBQYWNrZXIgRXJyb3IgQ2hlY2sNCj4gKyAgICBSWFNBLCA4LCAgICAg ICAgLy8gOSAtIFJlY2VpdmUgU2xhdmUgQWRkcmVzcw0KPiArICAgIFNEQVQsIDE2LCAgICAgICAv LyBBIC0gU2xhdmUgRGF0YQ0KPiArICB9DQo+ICsgIC8vIFN0ZXAgMTogIENvbmZpcm0gdGhlIElD SHggU01CdXMgaXMgcmVhZHkgdG8gcGVyZm9ybQ0KPiArICAvLyBjb21tdW5pY2F0aW9uLg0KPiAr DQo+ICsgIElmKFNUUlQoKSkNCj4gKyAgew0KPiArICAgIFJldHVybigweEZGRkYpDQo+ICsgIH0N Cj4gKw0KPiArICAvLyBTdGVwIDI6ICBJbml0aWF0ZSBhIFJlY2VpdmUgQnl0ZS4NCj4gKw0KPiAr ICBTdG9yZSgwLEkyQ0UpICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5zdXJlIFNNYnVz IE1vZGUuDQo+ICsgIFN0b3JlKDB4QkYsSFNUUykgICAgICAgICAgICAgICAgICAgICAgICAvLyBD bGVhciBhbGwgYnV0IElOVVNFX1NUUy4NCj4gKyAgU3RvcmUoT3IoQXJnMCwxKSxUWFNBKSAgICAg ICAgICAgICAgICAgIC8vIFJlYWQgQWRkcmVzcyBpbiBUWFNBLg0KPiArDQo+ICsgIC8vIFNldCB0 aGUgU01CdXMgSG9zdCBjb250cm9sIHJlZ2lzdGVyIHRvIDB4NDguDQo+ICsgIC8vICAgQml0IDc6 ICAgID0gIDAgID0gcmVzZXJ2ZWQNCj4gKyAgLy8gICBCaXQgNjogICAgPSAgMSAgPSBzdGFydA0K PiArICAvLyAgIEJpdCA1OiAgICA9ICAwICA9IGRpc3JlZ2FyZCwgSTJDIHJlbGF0ZWQgYml0DQo+ ICsgIC8vICAgQml0cyA0OjI6ID0gMDAxID0gQnl0ZSBQcm90b2NvbA0KPiArICAvLyAgIEJpdCAx OiAgICA9ICAwICA9IE5vcm1hbCBGdW5jdGlvbg0KPiArICAvLyAgIEJpdCAwOiAgICA9ICAwICA9 IERpc2FibGUgaW50ZXJydXB0IGdlbmVyYXRpb24NCj4gKw0KPiArICBTdG9yZSgweDQ0LEhDT04p DQo+ICsNCj4gKyAgLy8gU3RlcCAzOiAgRXhpdCB0aGUgTWV0aG9kIGNvcnJlY3RseS4NCj4gKw0K PiArICBJZihDT01QKQ0KPiArICB7DQo+ICsgICAgT3IoSFNUUywweEZGLEhTVFMpICAgICAgICAg ICAgICAvLyBDbGVhciBJTlVTRV9TVFMgYW5kIG90aGVycy4uDQo+ICsgICAgUmV0dXJuKERBVDAp ICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gU3VjY2Vzcy4NCj4gKyAgfQ0KPiArDQo+ICsg IFJldHVybigweEZGRkYpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gRmFpbHVy ZS4NCj4gK30NCj4gKw0KPiArLy8gU01CdXMgV3JpdGUgQnl0ZSAtIFRoaXMgZnVuY3Rpb24gd2ls bCB3cml0ZSBhIHNpbmdsZSBieXRlDQo+ICsvLyBvZiBkYXRhIHRvIGEgc3BlY2lmaWMgU2xhdmUg RGV2aWNlIHBlciBTTUJ1cyBXcml0ZSBCeXRlDQo+ICsvLyBQcm90b2NvbC4NCj4gKy8vICAgICAg QXJnMCA9IEFkZHJlc3MNCj4gKy8vICAgICAgQXJnMSA9IENvbW1hbmQNCj4gKy8vICAgICAgQXJn MiA9IERhdGENCj4gKy8vICAgICAgUmV0dXJuOiBTdWNjZXNzID0gMQ0KPiArLy8gICAgICAgICAg ICAgIEZhaWx1cmUgPSAwDQo+ICsNCj4gK01ldGhvZChTV1JCLDMsU2VyaWFsaXplZCkNCj4gK3sN Cj4gKyAgT3BlcmF0aW9uUmVnaW9uKFNNUEIsUENJX0NvbmZpZywweDIwLDQpDQo+ICsgIEZpZWxk KFNNUEIsRFdvcmRBY2MsTm9Mb2NrLFByZXNlcnZlKQ0KPiArICB7DQo+ICsgICAgLCAgICAgNSwN Cj4gKyAgICBTQkFSLCAxMQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGVmaW5lIHZhcmlvdXMgU01C dXMgSU8gTWFwcGVkIFJlZ2lzdGVycy4NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24oU01CSSxT eXN0ZW1JTyxTaGlmdExlZnQoU0JBUiw1KSwweDEwKQ0KPiArICBGaWVsZChTTUJJLEJ5dGVBY2Ms Tm9Mb2NrLFByZXNlcnZlKQ0KPiArICB7DQo+ICsgICAgSFNUUywgOCwgICAgICAgIC8vIDAgLSBI b3N0IFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIE9mZnNldCgweDAyKSwNCj4gKyAgICBIQ09OLCA4 LCAgICAgICAgLy8gMiAtIEhvc3QgQ29udHJvbA0KPiArICAgIEhDT00sIDgsICAgICAgICAvLyAz IC0gSG9zdCBDb21tYW5kDQo+ICsgICAgVFhTQSwgOCwgICAgICAgIC8vIDQgLSBUcmFuc21pdCBT bGF2ZSBBZGRyZXNzDQo+ICsgICAgREFUMCwgOCwgICAgICAgIC8vIDUgLSBIb3N0IERhdGEgMA0K PiArICAgIERBVDEsIDgsICAgICAgICAvLyA2IC0gSG9zdCBEYXRhIDENCj4gKyAgICBIQkRSLCA4 LCAgICAgICAgLy8gNyAtIEhvc3QgQmxvY2sgRGF0YQ0KPiArICAgIFBFQ1IsIDgsICAgICAgICAv LyA4IC0gUGFja2VyIEVycm9yIENoZWNrDQo+ICsgICAgUlhTQSwgOCwgICAgICAgIC8vIDkgLSBS ZWNlaXZlIFNsYXZlIEFkZHJlc3MNCj4gKyAgICBTREFULCAxNiwgICAgICAgLy8gQSAtIFNsYXZl IERhdGENCj4gKyAgfQ0KPiArICAvLyBTdGVwIDE6ICBDb25maXJtIHRoZSBJQ0h4IFNNQnVzIGlz IHJlYWR5IHRvIHBlcmZvcm0gY29tbXVuaWNhdGlvbi4NCj4gKw0KPiArICBJZihTVFJUKCkpDQo+ ICsgIHsNCj4gKyAgICBSZXR1cm4oMCkNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIFN0ZXAgMjogIElu aXRpYXRlIGEgV3JpdGUgQnl0ZS4NCj4gKw0KPiArICBTdG9yZSgwLEkyQ0UpICAgICAgICAgICAg ICAgICAgICAgICAgICAgLy8gRW5zdXJlIFNNYnVzIE1vZGUuDQo+ICsgIFN0b3JlKDB4QkYsSFNU UykgICAgICAgICAgICAgICAgICAgICAgICAvLyBDbGVhciBhbGwgYnV0IElOVVNFX1NUUy4NCj4g KyAgU3RvcmUoQXJnMCxUWFNBKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdyaXRlIEFkZHJl c3MgaW4gVFhTQS4NCj4gKyAgU3RvcmUoQXJnMSxIQ09NKSAgICAgICAgICAgICAgICAgICAgICAg IC8vIENvbW1hbmQgaW4gSENPTS4NCj4gKyAgU3RvcmUoQXJnMixEQVQwKSAgICAgICAgICAgICAg ICAgICAgICAgIC8vIERhdGEgaW4gREFUMC4NCj4gKw0KPiArICAvLyBTZXQgdGhlIFNNQnVzIEhv c3QgY29udHJvbCByZWdpc3RlciB0byAweDQ4Lg0KPiArICAvLyAgIEJpdCA3OiAgICA9ICAwICA9 IHJlc2VydmVkDQo+ICsgIC8vICAgQml0IDY6ICAgID0gIDEgID0gc3RhcnQNCj4gKyAgLy8gICBC aXQgNTogICAgPSAgMCAgPSBkaXNyZWdhcmQsIEkyQyByZWxhdGVkIGJpdA0KPiArICAvLyAgIEJp dHMgNDoyOiA9IDAxMCA9IEJ5dGUgRGF0YSBQcm90b2NvbA0KPiArICAvLyAgIEJpdCAxOiAgICA9 ICAwICA9IE5vcm1hbCBGdW5jdGlvbg0KPiArICAvLyAgIEJpdCAwOiAgICA9ICAwICA9IERpc2Fi bGUgaW50ZXJydXB0IGdlbmVyYXRpb24NCj4gKw0KPiArICBTdG9yZSgweDQ4LEhDT04pDQo+ICsN Cj4gKyAgLy8gU3RlcCAzOiAgRXhpdCB0aGUgTWV0aG9kIGNvcnJlY3RseS4NCj4gKw0KPiArICBJ ZihDT01QKQ0KPiArICB7DQo+ICsgICAgT3IoSFNUUywweEZGLEhTVFMpICAgICAgICAgICAgICAv LyBDbGVhciBJTlVTRV9TVFMgYW5kIG90aGVycy4uDQo+ICsgICAgUmV0dXJuKDEpICAgICAgICAg ICAgICAgICAgICAgICAvLyBSZXR1cm4gU3VjY2Vzcy4NCj4gKyAgfQ0KPiArDQo+ICsgIFJldHVy bigwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gRmFpbHVyZS4NCj4g K30NCj4gKw0KPiArLy8gU01CdXMgUmVhZCBCeXRlIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHJlYWQg YSBzaW5nbGUgYnl0ZSBvZiBkYXRhDQo+ICsvLyBmcm9tIGEgc3BlY2lmaWMgc2xhdmUgZGV2aWNl IHBlciBTTUJ1cyBSZWFkIEJ5dGUgUHJvdG9jb2wuDQo+ICsvLyAgICAgIEFyZzAgPSBBZGRyZXNz DQo+ICsvLyAgICAgIEFyZzEgPSBDb21tYW5kDQo+ICsvLyAgICAgIFJldHVybjogU3VjY2VzcyA9 IEJ5dGUtU2l6ZSBWYWx1ZQ0KPiArLy8gICAgICAgICAgICAgIEZhaWx1cmUgPSBXb3JkLVNpemUg VmFsdWUNCj4gKw0KPiArTWV0aG9kKFNSREIsMixTZXJpYWxpemVkKQ0KPiArew0KPiArICBPcGVy YXRpb25SZWdpb24oU01QQixQQ0lfQ29uZmlnLDB4MjAsNCkNCj4gKyAgRmllbGQoU01QQixEV29y ZEFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICAsICAgICA1LA0KPiArICAgIFNC QVIsIDExDQo+ICsgIH0NCj4gKw0KPiArICAvLyBEZWZpbmUgdmFyaW91cyBTTUJ1cyBJTyBNYXBw ZWQgUmVnaXN0ZXJzLg0KPiArDQo+ICsgIE9wZXJhdGlvblJlZ2lvbihTTUJJLFN5c3RlbUlPLFNo aWZ0TGVmdChTQkFSLDUpLDB4MTApDQo+ICsgIEZpZWxkKFNNQkksQnl0ZUFjYyxOb0xvY2ssUHJl c2VydmUpDQo+ICsgIHsNCj4gKyAgICBIU1RTLCA4LCAgICAgICAgLy8gMCAtIEhvc3QgU3RhdHVz IFJlZ2lzdGVyDQo+ICsgICAgT2Zmc2V0KDB4MDIpLA0KPiArICAgIEhDT04sIDgsICAgICAgICAv LyAyIC0gSG9zdCBDb250cm9sDQo+ICsgICAgSENPTSwgOCwgICAgICAgIC8vIDMgLSBIb3N0IENv bW1hbmQNCj4gKyAgICBUWFNBLCA4LCAgICAgICAgLy8gNCAtIFRyYW5zbWl0IFNsYXZlIEFkZHJl c3MNCj4gKyAgICBEQVQwLCA4LCAgICAgICAgLy8gNSAtIEhvc3QgRGF0YSAwDQo+ICsgICAgREFU MSwgOCwgICAgICAgIC8vIDYgLSBIb3N0IERhdGEgMQ0KPiArICAgIEhCRFIsIDgsICAgICAgICAv LyA3IC0gSG9zdCBCbG9jayBEYXRhDQo+ICsgICAgUEVDUiwgOCwgICAgICAgIC8vIDggLSBQYWNr ZXIgRXJyb3IgQ2hlY2sNCj4gKyAgICBSWFNBLCA4LCAgICAgICAgLy8gOSAtIFJlY2VpdmUgU2xh dmUgQWRkcmVzcw0KPiArICAgIFNEQVQsIDE2LCAgICAgICAvLyBBIC0gU2xhdmUgRGF0YQ0KPiAr ICB9DQo+ICsgIC8vIFN0ZXAgMTogIENvbmZpcm0gdGhlIElDSHggU01CdXMgaXMgcmVhZHkgdG8g cGVyZm9ybSBjb21tdW5pY2F0aW9uLg0KPiArDQo+ICsgIElmKFNUUlQoKSkNCj4gKyAgew0KPiAr ICAgIFJldHVybigweEZGRkYpDQo+ICsgIH0NCj4gKw0KPiArICAvLyBTdGVwIDI6ICBJbml0aWF0 ZSBhIFJlYWQgQnl0ZS4NCj4gKw0KPiArICBTdG9yZSgwLEkyQ0UpICAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gRW5zdXJlIFNNYnVzIE1vZGUuDQo+ICsgIFN0b3JlKDB4QkYsSFNUUykgICAg ICAgICAgICAgICAgICAgICAgICAvLyBDbGVhciBhbGwgYnV0IElOVVNFX1NUUy4NCj4gKyAgU3Rv cmUoT3IoQXJnMCwxKSxUWFNBKSAgICAgICAgICAgICAgICAgIC8vIFJlYWQgQWRkcmVzcyBpbiBU WFNBLg0KPiArICBTdG9yZShBcmcxLEhDT00pICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29t bWFuZCBpbiBIQ09NLg0KPiArDQo+ICsgIC8vIFNldCB0aGUgU01CdXMgSG9zdCBjb250cm9sIHJl Z2lzdGVyIHRvIDB4NDguDQo+ICsgIC8vICAgQml0IDc6ICAgID0gIDAgID0gcmVzZXJ2ZWQNCj4g KyAgLy8gICBCaXQgNjogICAgPSAgMSAgPSBzdGFydA0KPiArICAvLyAgIEJpdCA1OiAgICA9ICAw ICA9IGRpc3JlZ2FyZCwgSTJDIHJlbGF0ZWQgYml0DQo+ICsgIC8vICAgQml0cyA0OjI6ID0gMDEw ID0gQnl0ZSBEYXRhIFByb3RvY29sDQo+ICsgIC8vICAgQml0IDE6ICAgID0gIDAgID0gTm9ybWFs IEZ1bmN0aW9uDQo+ICsgIC8vICAgQml0IDA6ICAgID0gIDAgID0gRGlzYWJsZSBpbnRlcnJ1cHQg Z2VuZXJhdGlvbg0KPiArDQo+ICsgIFN0b3JlKDB4NDgsSENPTikNCj4gKw0KPiArICAvLyBTdGVw IDM6ICBFeGl0IHRoZSBNZXRob2QgY29ycmVjdGx5Lg0KPiArDQo+ICsgIElmKENPTVApDQo+ICsg IHsNCj4gKyAgICBPcihIU1RTLDB4RkYsSFNUUykgICAgICAgICAgICAgIC8vIENsZWFyIElOVVNF X1NUUyBhbmQgb3RoZXJzLi4NCj4gKyAgICBSZXR1cm4oREFUMCkgICAgICAgICAgICAgICAgICAg IC8vIFJldHVybiBTdWNjZXNzLg0KPiArICB9DQo+ICsNCj4gKyAgUmV0dXJuKDB4RkZGRikgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFJldHVybiBGYWlsdXJlLg0KPiArfQ0KPiArDQo+ICsv LyBTTUJ1cyBXcml0ZSBXb3JkIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHdyaXRlIGEgc2luZ2xlIHdv cmQNCj4gKy8vIG9mIGRhdGEgdG8gYSBzcGVjaWZpYyBTbGF2ZSBEZXZpY2UgcGVyIFNNQnVzIFdy aXRlIFdvcmQNCj4gKy8vIFByb3RvY29sLg0KPiArLy8gICAgICBBcmcwID0gQWRkcmVzcw0KPiAr Ly8gICAgICBBcmcxID0gQ29tbWFuZA0KPiArLy8gICAgICBBcmcyID0gRGF0YSAoMTYgYml0cyBp biBzaXplKQ0KPiArLy8gICAgICBSZXR1cm46IFN1Y2Nlc3MgPSAxDQo+ICsvLyAgICAgICAgICAg ICAgRmFpbHVyZSA9IDANCj4gKw0KPiArTWV0aG9kKFNXUlcsMyxTZXJpYWxpemVkKQ0KPiArew0K PiArICBPcGVyYXRpb25SZWdpb24oU01QQixQQ0lfQ29uZmlnLDB4MjAsNCkNCj4gKyAgRmllbGQo U01QQixEV29yZEFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICAsICAgICA1LA0K PiArICAgIFNCQVIsIDExDQo+ICsgIH0NCj4gKw0KPiArICAvLyBEZWZpbmUgdmFyaW91cyBTTUJ1 cyBJTyBNYXBwZWQgUmVnaXN0ZXJzLg0KPiArDQo+ICsgIE9wZXJhdGlvblJlZ2lvbihTTUJJLFN5 c3RlbUlPLFNoaWZ0TGVmdChTQkFSLDUpLDB4MTApDQo+ICsgIEZpZWxkKFNNQkksQnl0ZUFjYyxO b0xvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICBIU1RTLCA4LCAgICAgICAgLy8gMCAtIEhv c3QgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAgT2Zmc2V0KDB4MDIpLA0KPiArCUhDT04sIDgsICAg ICAgICAvLyAyIC0gSG9zdCBDb250cm9sDQo+ICsJSENPTSwgOCwgICAgICAgIC8vIDMgLSBIb3N0 IENvbW1hbmQNCj4gKwlUWFNBLCA4LCAgICAgICAgLy8gNCAtIFRyYW5zbWl0IFNsYXZlIEFkZHJl c3MNCj4gKwlEQVQwLCA4LCAgICAgICAgLy8gNSAtIEhvc3QgRGF0YSAwDQo+ICsJREFUMSwgOCwg ICAgICAgIC8vIDYgLSBIb3N0IERhdGEgMQ0KPiArCUhCRFIsIDgsICAgICAgICAvLyA3IC0gSG9z dCBCbG9jayBEYXRhDQo+ICsJUEVDUiwgOCwgICAgICAgIC8vIDggLSBQYWNrZXIgRXJyb3IgQ2hl Y2sNCj4gKwlSWFNBLCA4LCAgICAgICAgLy8gOSAtIFJlY2VpdmUgU2xhdmUgQWRkcmVzcw0KPiAr CVNEQVQsIDE2LCAgICAgICAvLyBBIC0gU2xhdmUgRGF0YQ0KPiArICB9DQo+ICsgIC8vIFN0ZXAg MTogIENvbmZpcm0gdGhlIElDSHggU01CdXMgaXMgcmVhZHkgdG8gcGVyZm9ybSBjb21tdW5pY2F0 aW9uLg0KPiArDQo+ICsgIElmKFNUUlQoKSkNCj4gKyAgew0KPiArICAgIFJldHVybigwKQ0KPiAr ICB9DQo+ICsNCj4gKyAgLy8gU3RlcCAyOiAgSW5pdGlhdGUgYSBXcml0ZSBXb3JkLg0KPiArDQo+ ICsgIFN0b3JlKDAsSTJDRSkgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFbnN1cmUgU01i dXMgTW9kZS4NCj4gKyAgU3RvcmUoMHhCRixIU1RTKSAgICAgICAgICAgICAgICAgICAgICAgIC8v IENsZWFyIGFsbCBidXQgSU5VU0VfU1RTLg0KPiArICBTdG9yZShBcmcwLFRYU0EpICAgICAgICAg ICAgICAgICAgICAgICAgLy8gV3JpdGUgQWRkcmVzcyBpbiBUWFNBLg0KPiArICBTdG9yZShBcmcx LEhDT00pICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29tbWFuZCBpbiBIQ09NLg0KPiArICBB bmQoQXJnMiwweEZGLERBVDEpICAgICAgICAgICAgICAgICAgICAgLy8gTG93IGJ5dGUgRGF0YSBp biBEQVQxLg0KPiArICBBbmQoU2hpZnRSaWdodChBcmcyLDgpLDB4RkYsREFUMCkgICAgICAgLy8g SGlnaCBieXRlIERhdGEgaW4gREFUMC4NCj4gKw0KPiArICAvLyBTZXQgdGhlIFNNQnVzIEhvc3Qg Y29udHJvbCByZWdpc3RlciB0byAweDRDLg0KPiArICAvLyAgIEJpdCA3OiAgICA9ICAwICA9IHJl c2VydmVkDQo+ICsgIC8vICAgQml0IDY6ICAgID0gIDEgID0gc3RhcnQNCj4gKyAgLy8gICBCaXQg NTogICAgPSAgMCAgPSBkaXNyZWdhcmQsIEkyQyByZWxhdGVkIGJpdA0KPiArICAvLyAgIEJpdHMg NDoyOiA9IDAxMSA9IFdvcmQgRGF0YSBQcm90b2NvbA0KPiArICAvLyAgIEJpdCAxOiAgICA9ICAw ICA9IE5vcm1hbCBGdW5jdGlvbg0KPiArICAvLyAgIEJpdCAwOiAgICA9ICAwICA9IERpc2FibGUg aW50ZXJydXB0IGdlbmVyYXRpb24NCj4gKw0KPiArICBTdG9yZSgweDRDLEhDT04pDQo+ICsNCj4g KyAgLy8gU3RlcCAzOiAgRXhpdCB0aGUgTWV0aG9kIGNvcnJlY3RseS4NCj4gKw0KPiArICBJZihD T01QKCkpDQo+ICsgIHsNCj4gKyAgICBPcihIU1RTLDB4RkYsSFNUUykgICAgICAgICAgICAgIC8v IENsZWFyIElOVVNFX1NUUyBhbmQgb3RoZXJzLg0KPiArICAgIFJldHVybigxKSAgICAgICAgICAg ICAgICAgICAgICAgLy8gUmV0dXJuIFN1Y2Nlc3MuDQo+ICsgIH0NCj4gKw0KPiArICBSZXR1cm4o MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIEZhaWx1cmUuDQo+ICt9 DQo+ICsNCj4gKy8vIFNNQnVzIFJlYWQgV29yZCAtIFRoaXMgZnVuY3Rpb24gd2lsbCByZWFkIGEg c2luZ2xlIGJ5dGUgb2YgZGF0YQ0KPiArLy8gZnJvbSBhIHNwZWNpZmljIHNsYXZlIGRldmljZSBw ZXIgU01CdXMgUmVhZCBXb3JkIFByb3RvY29sLg0KPiArLy8gICAgICBBcmcwID0gQWRkcmVzcw0K PiArLy8gICAgICBBcmcxID0gQ29tbWFuZA0KPiArLy8gICAgICBSZXR1cm46IFN1Y2Nlc3MgPSBX b3JkLVNpemUgVmFsdWUNCj4gKy8vICAgICAgICAgICAgICBGYWlsdXJlID0gRHdvcmQtU2l6ZSBW YWx1ZQ0KPiArDQo+ICtNZXRob2QoU1JEVywyLFNlcmlhbGl6ZWQpDQo+ICt7DQo+ICsgIE9wZXJh dGlvblJlZ2lvbihTTVBCLFBDSV9Db25maWcsMHgyMCw0KQ0KPiArICBGaWVsZChTTVBCLERXb3Jk QWNjLE5vTG9jayxQcmVzZXJ2ZSkNCj4gKyAgew0KPiArICAgICwgICAgIDUsDQo+ICsgICAgU0JB UiwgMTENCj4gKyAgfQ0KPiArDQo+ICsgIC8vIERlZmluZSB2YXJpb3VzIFNNQnVzIElPIE1hcHBl ZCBSZWdpc3RlcnMuDQo+ICsNCj4gKyAgT3BlcmF0aW9uUmVnaW9uKFNNQkksU3lzdGVtSU8sU2hp ZnRMZWZ0KFNCQVIsNSksMHgxMCkNCj4gKyAgRmllbGQoU01CSSxCeXRlQWNjLE5vTG9jayxQcmVz ZXJ2ZSkNCj4gKyAgew0KPiArICAgIEhTVFMsIDgsICAgICAgICAvLyAwIC0gSG9zdCBTdGF0dXMg UmVnaXN0ZXINCj4gKwlPZmZzZXQoMHgwMiksDQo+ICsJSENPTiwgOCwgICAgICAgIC8vIDIgLSBI b3N0IENvbnRyb2wNCj4gKwlIQ09NLCA4LCAgICAgICAgLy8gMyAtIEhvc3QgQ29tbWFuZA0KPiAr CVRYU0EsIDgsICAgICAgICAvLyA0IC0gVHJhbnNtaXQgU2xhdmUgQWRkcmVzcw0KPiArCURBVDAs IDgsICAgICAgICAvLyA1IC0gSG9zdCBEYXRhIDANCj4gKwlEQVQxLCA4LCAgICAgICAgLy8gNiAt IEhvc3QgRGF0YSAxDQo+ICsJSEJEUiwgOCwgICAgICAgIC8vIDcgLSBIb3N0IEJsb2NrIERhdGEN Cj4gKwlQRUNSLCA4LCAgICAgICAgLy8gOCAtIFBhY2tlciBFcnJvciBDaGVjaw0KPiArCVJYU0Es IDgsICAgICAgICAvLyA5IC0gUmVjZWl2ZSBTbGF2ZSBBZGRyZXNzDQo+ICsJU0RBVCwgMTYsICAg ICAgIC8vIEEgLSBTbGF2ZSBEYXRhDQo+ICsgIH0NCj4gKyAgLy8gU3RlcCAxOiAgQ29uZmlybSB0 aGUgSUNIeCBTTUJ1cyBpcyByZWFkeSB0byBwZXJmb3JtIGNvbW11bmljYXRpb24uDQo+ICsNCj4g KyAgSWYoU1RSVCgpKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKDB4RkZGRikNCj4gKyAgfQ0KPiAr DQo+ICsgIC8vIFN0ZXAgMjogIEluaXRpYXRlIGEgUmVhZCBXb3JkLg0KPiArDQo+ICsgIFN0b3Jl KDAsSTJDRSkgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFbnN1cmUgU01idXMgTW9kZS4N Cj4gKyAgU3RvcmUoMHhCRixIU1RTKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIGFs bCBidXQgSU5VU0VfU1RTLg0KPiArICBTdG9yZShPcihBcmcwLDEpLFRYU0EpICAgICAgICAgICAg ICAgICAgLy8gUmVhZCBBZGRyZXNzIGluIFRYU0EuDQo+ICsgIFN0b3JlKEFyZzEsSENPTSkgICAg ICAgICAgICAgICAgICAgICAgICAvLyBDb21tYW5kIGluIEhDT00uDQo+ICsNCj4gKyAgLy8gU2V0 IHRoZSBTTUJ1cyBIb3N0IGNvbnRyb2wgcmVnaXN0ZXIgdG8gMHg0Qy4NCj4gKyAgLy8gICBCaXQg NzogICAgPSAgMCAgPSByZXNlcnZlZA0KPiArICAvLyAgIEJpdCA2OiAgICA9ICAxICA9IHN0YXJ0 DQo+ICsgIC8vICAgQml0IDU6ICAgID0gIDAgID0gZGlzcmVnYXJkLCBJMkMgcmVsYXRlZCBiaXQN Cj4gKyAgLy8gICBCaXRzIDQ6MjogPSAwMTEgPSBXb3JkIERhdGEgUHJvdG9jb2wNCj4gKyAgLy8g ICBCaXQgMTogICAgPSAgMCAgPSBOb3JtYWwgRnVuY3Rpb24NCj4gKyAgLy8gICBCaXQgMDogICAg PSAgMCAgPSBEaXNhYmxlIGludGVycnVwdCBnZW5lcmF0aW9uDQo+ICsNCj4gKyAgU3RvcmUoMHg0 QyxIQ09OKQ0KPiArDQo+ICsgIC8vIFN0ZXAgMzogIEV4aXQgdGhlIE1ldGhvZCBjb3JyZWN0bHku DQo+ICsNCj4gKyAgSWYoQ09NUCgpKQ0KPiArICB7DQo+ICsgICAgT3IoSFNUUywweEZGLEhTVFMp ICAgICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIElOVVNFX1NUUyBhbmQgb3RoZXJzLg0KPiAr ICAgIFJldHVybihPcihTaGlmdExlZnQoREFUMCw4KSxEQVQxKSkgICAgICAvLyBSZXR1cm4gU3Vj Y2Vzcy4NCj4gKyAgfQ0KPiArDQo+ICsgIFJldHVybigweEZGRkZGRkZGKSAgICAgICAgICAgICAg ICAgICAgICAvLyBSZXR1cm4gRmFpbHVyZS4NCj4gK30NCj4gKw0KPiArLy8gU01CdXMgQmxvY2sg V3JpdGUgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgd3JpdGUgYW4gZW50aXJlIGJsb2NrIG9mIGRhdGEN Cj4gKy8vIHRvIGEgc3BlY2lmaWMgc2xhdmUgZGV2aWNlIHBlciBTTUJ1cyBCbG9jayBXcml0ZSBQ cm90b2NvbC4NCj4gKy8vICAgICAgQXJnMCA9IEFkZHJlc3MNCj4gKy8vICAgICAgQXJnMSA9IENv bW1hbmQNCj4gKy8vICAgICAgQXJnMiA9IEJ1ZmZlciBvZiBEYXRhIHRvIFdyaXRlDQo+ICsvLyAg ICAgIEFyZzMgPSAxID0gSTJDIEJsb2NrIFdyaXRlLCAwID0gU01CdXMgQmxvY2sgV3JpdGUNCj4g Ky8vICAgICAgUmV0dXJuOiBTdWNjZXNzID0gMQ0KPiArLy8gICAgICAgICAgICAgIEZhaWx1cmUg PSAwDQo+ICsNCj4gK01ldGhvZChTQkxXLDQsU2VyaWFsaXplZCkNCj4gK3sNCj4gKyAgT3BlcmF0 aW9uUmVnaW9uKFNNUEIsUENJX0NvbmZpZywweDIwLDQpDQo+ICsgIEZpZWxkKFNNUEIsRFdvcmRB Y2MsTm9Mb2NrLFByZXNlcnZlKQ0KPiArICB7DQo+ICsgICAgLCAgICAgNSwNCj4gKyAgICBTQkFS LCAxMQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGVmaW5lIHZhcmlvdXMgU01CdXMgSU8gTWFwcGVk IFJlZ2lzdGVycy4NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24oU01CSSxTeXN0ZW1JTyxTaGlm dExlZnQoU0JBUiw1KSwweDEwKQ0KPiArICBGaWVsZChTTUJJLEJ5dGVBY2MsTm9Mb2NrLFByZXNl cnZlKQ0KPiArICB7DQo+ICsgICAgSFNUUywgOCwgICAgICAgIC8vIDAgLSBIb3N0IFN0YXR1cyBS ZWdpc3Rlcg0KPiArCU9mZnNldCgweDAyKSwNCj4gKwlIQ09OLCA4LCAgICAgICAgLy8gMiAtIEhv c3QgQ29udHJvbA0KPiArCUhDT00sIDgsICAgICAgICAvLyAzIC0gSG9zdCBDb21tYW5kDQo+ICsJ VFhTQSwgOCwgICAgICAgIC8vIDQgLSBUcmFuc21pdCBTbGF2ZSBBZGRyZXNzDQo+ICsJREFUMCwg OCwgICAgICAgIC8vIDUgLSBIb3N0IERhdGEgMA0KPiArCURBVDEsIDgsICAgICAgICAvLyA2IC0g SG9zdCBEYXRhIDENCj4gKwlIQkRSLCA4LCAgICAgICAgLy8gNyAtIEhvc3QgQmxvY2sgRGF0YQ0K PiArCVBFQ1IsIDgsICAgICAgICAvLyA4IC0gUGFja2VyIEVycm9yIENoZWNrDQo+ICsJUlhTQSwg OCwgICAgICAgIC8vIDkgLSBSZWNlaXZlIFNsYXZlIEFkZHJlc3MNCj4gKwlTREFULCAxNiwgICAg ICAgLy8gQSAtIFNsYXZlIERhdGENCj4gKyAgfQ0KPiArICAvLyBTdGVwIDE6ICBDb25maXJtIHRo ZSBJQ0h4IFNNQnVzIGlzIHJlYWR5IHRvIHBlcmZvcm0gY29tbXVuaWNhdGlvbi4NCj4gKw0KPiAr ICBJZihTVFJUKCkpDQo+ICsgIHsNCj4gKyAgICBSZXR1cm4oMCkNCj4gKyAgfQ0KPiArDQo+ICsg IC8vIFN0ZXAgMjogIEluaXRpYXRlIGEgQmxvY2sgV3JpdGUuDQo+ICsNCj4gKyAgU3RvcmUoQXJn MyxJMkNFKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdCB0aGUgcHJvcGVyIHByb3Rv Y29sLg0KPiArICBTdG9yZSgweEJGLEhTVFMpICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2xl YXIgYWxsIGJ1dCBJTlVTRV9TVFMuDQo+ICsgIFN0b3JlKEFyZzAsVFhTQSkgICAgICAgICAgICAg ICAgICAgICAgICAvLyBXcml0ZSBBZGRyZXNzIGluIFRYU0EuDQo+ICsgIFN0b3JlKEFyZzEsSENP TSkgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb21tYW5kIGluIEhDT00uDQo+ICsgIFN0b3Jl KFNpemVvZihBcmcyKSxEQVQwKSAgICAgICAgICAgICAgICAvLyBDb3VudCBpbiBEQVQwLg0KPiAr ICBTdG9yZSgwLExvY2FsMSkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5pdCBQb2ludGVy IHRvIEJ1ZmZlci4NCj4gKyAgU3RvcmUoRGVyZWZPZihJbmRleChBcmcyLDApKSxIQkRSKSAgICAg IC8vIEZpcnN0IEJ5dGUgaW4gSEJEIFJlZ2lzdGVyLg0KPiArDQo+ICsgIC8vIFNldCB0aGUgU01C dXMgSG9zdCBjb250cm9sIHJlZ2lzdGVyIHRvIDB4NDguDQo+ICsgIC8vICAgQml0IDc6ICAgID0g IDAgID0gcmVzZXJ2ZWQNCj4gKyAgLy8gICBCaXQgNjogICAgPSAgMSAgPSBzdGFydA0KPiArICAv LyAgIEJpdCA1OiAgICA9ICAwICA9IGRpc3JlZ2FyZCwgSTJDIHJlbGF0ZWQgYml0DQo+ICsgIC8v ICAgQml0cyA0OjI6ID0gMTAxID0gQmxvY2sgUHJvdG9jb2wNCj4gKyAgLy8gICBCaXQgMTogICAg PSAgMCAgPSBOb3JtYWwgRnVuY3Rpb24NCj4gKyAgLy8gICBCaXQgMDogICAgPSAgMCAgPSBEaXNh YmxlIGludGVycnVwdCBnZW5lcmF0aW9uDQo+ICsNCj4gKyAgU3RvcmUoMHg1NCxIQ09OKQ0KPiAr DQo+ICsgIC8vIFN0ZXAgMzogIFNlbmQgdGhlIGVudGlyZSBCbG9jayBvZiBEYXRhLg0KPiArDQo+ ICsgIFdoaWxlKExHcmVhdGVyKFNpemVvZihBcmcyKSxMb2NhbDEpKQ0KPiArICB7DQo+ICsgICAg Ly8gV2FpdCB1cCB0byAyMDBtcyBmb3IgSG9zdCBTdGF0dXMgdG8gZ2V0IHNldC4NCj4gKw0KPiAr ICAgIFN0b3JlKDQwMDAsTG9jYWwwKSAgICAgICAgICAgICAgLy8gNDAwMCAqIDUwdXMgPSAyMDBt cy4NCj4gKw0KPiArICAgIFdoaWxlKExBbmQoTE5vdChBbmQoSFNUUywweDgwKSksTG9jYWwwKSkN Cj4gKyAgICB7DQo+ICsgICAgICBEZWNyZW1lbnQoTG9jYWwwKSAgICAgICAvLyBEZWNyZW1lbnQg Q291bnQuDQo+ICsgICAgICBTdGFsbCg1MCkgICAgICAgICAgICAgICAvLyBEZWxheSA9IDUwdXMu DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSWYoTE5vdChMb2NhbDApKSAgICAgICAgICAgICAgICAv LyBUaW1lb3V0Pw0KPiArICAgIHsNCj4gKyAgICAgIEtJTEwoKSAgICAgICAgICAgICAgICAgIC8v IFllcy4gIEtpbGwgQ29tbXVuaWNhdGlvbi4NCj4gKyAgICAgIFJldHVybigwKSAgICAgICAgICAg ICAgIC8vIFJldHVybiBmYWlsdXJlLg0KPiArICAgIH0NCj4gKw0KPiArICAgIFN0b3JlKDB4ODAs SFNUUykgICAgICAgICAgICAgICAgLy8gQ2xlYXIgSG9zdCBTdGF0dXMuDQo+ICsgICAgSW5jcmVt ZW50KExvY2FsMSkgICAgICAgICAgICAgICAvLyBQb2ludCB0byBOZXh0IEJ5dGUuDQo+ICsNCj4g KyAgICAvLyBQbGFjZSBuZXh0IGJ5dGUgaW4gSEJEUiBpZiBsYXN0IGJ5dGUgaGFzIG5vdCBiZWVu IHNlbnQuDQo+ICsNCj4gKyAgICBJZihMR3JlYXRlcihTaXplb2YoQXJnMiksTG9jYWwxKSkNCj4g KyAgICB7DQo+ICsgICAgICBTdG9yZShEZXJlZk9mKEluZGV4KEFyZzIsTG9jYWwxKSksSEJEUikN Cj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLyBTdGVwIDQ6ICBFeGl0IHRoZSBNZXRob2Qg Y29ycmVjdGx5Lg0KPiArDQo+ICsgIElmKENPTVAoKSkNCj4gKyAgew0KPiArICAgIE9yKEhTVFMs MHhGRixIU1RTKSAgICAgICAgICAgICAgLy8gQ2xlYXIgYWxsIHN0YXR1cyBiaXRzLg0KPiArICAg IFJldHVybigxKSAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIFN1Y2Nlc3MuDQo+ICsg IH0NCj4gKw0KPiArICBSZXR1cm4oMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g UmV0dXJuIEZhaWx1cmUuDQo+ICt9DQo+ICsNCj4gKy8vIFNNQnVzIEJsb2NrIFJlYWQgLSBUaGlz IGZ1bmN0aW9uIHdpbGwgcmVhZCBhIGJsb2NrIG9mIGRhdGEgZnJvbQ0KPiArLy8gYSBzcGVjaWZp YyBzbGF2ZSBkZXZpY2UgcGVyIFNNQnVzIEJsb2NrIFJlYWQgUHJvdG9jb2wuDQo+ICsvLyAgICAg IEFyZzAgPSBBZGRyZXNzDQo+ICsvLyAgICAgIEFyZzEgPSBDb21tYW5kDQo+ICsvLyAgICAgIEFy ZzIgPSAxID0gSTJDIEJsb2NrIFdyaXRlLCAwID0gU01CdXMgQmxvY2sgV3JpdGUNCj4gKy8vICAg ICAgUmV0dXJuOiBTdWNjZXNzID0gRGF0YSBCdWZmZXIgKEZpcnN0IEJ5dGUgPSBsZW5ndGgpDQo+ ICsvLyAgICAgICAgICAgICAgRmFpbHVyZSA9IDANCj4gKw0KPiArTWV0aG9kKFNCTFIsMyxTZXJp YWxpemVkKQ0KPiArew0KPiArICBPcGVyYXRpb25SZWdpb24oU01QQixQQ0lfQ29uZmlnLDB4MjAs NCkNCj4gKyAgRmllbGQoU01QQixEV29yZEFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4g KyAgICAsICAgICA1LA0KPiArICAgIFNCQVIsIDExDQo+ICsgIH0NCj4gKw0KPiArICAvLyBEZWZp bmUgdmFyaW91cyBTTUJ1cyBJTyBNYXBwZWQgUmVnaXN0ZXJzLg0KPiArDQo+ICsgIE9wZXJhdGlv blJlZ2lvbihTTUJJLFN5c3RlbUlPLFNoaWZ0TGVmdChTQkFSLDUpLDB4MTApDQo+ICsgIEZpZWxk KFNNQkksQnl0ZUFjYyxOb0xvY2ssUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAgICBIU1RTLCA4LCAg ICAgICAgLy8gMCAtIEhvc3QgU3RhdHVzIFJlZ2lzdGVyDQo+ICsJT2Zmc2V0KDB4MDIpLA0KPiAr CUhDT04sIDgsICAgICAgICAvLyAyIC0gSG9zdCBDb250cm9sDQo+ICsJSENPTSwgOCwgICAgICAg IC8vIDMgLSBIb3N0IENvbW1hbmQNCj4gKwlUWFNBLCA4LCAgICAgICAgLy8gNCAtIFRyYW5zbWl0 IFNsYXZlIEFkZHJlc3MNCj4gKwlEQVQwLCA4LCAgICAgICAgLy8gNSAtIEhvc3QgRGF0YSAwDQo+ ICsJREFUMSwgOCwgICAgICAgIC8vIDYgLSBIb3N0IERhdGEgMQ0KPiArCUhCRFIsIDgsICAgICAg ICAvLyA3IC0gSG9zdCBCbG9jayBEYXRhDQo+ICsJUEVDUiwgOCwgICAgICAgIC8vIDggLSBQYWNr ZXIgRXJyb3IgQ2hlY2sNCj4gKwlSWFNBLCA4LCAgICAgICAgLy8gOSAtIFJlY2VpdmUgU2xhdmUg QWRkcmVzcw0KPiArCVNEQVQsIDE2LCAgICAgICAvLyBBIC0gU2xhdmUgRGF0YQ0KPiArICB9DQo+ ICsgIE5hbWUoVEJVRiwgQnVmZmVyKDI1Nikge30pDQo+ICsNCj4gKyAgLy8gU3RlcCAxOiAgQ29u ZmlybSB0aGUgSUNIeCBTTUJ1cyBpcyByZWFkeSB0byBwZXJmb3JtIGNvbW11bmljYXRpb24uDQo+ ICsNCj4gKyAgSWYoU1RSVCgpKQ0KPiArICB7DQo+ICsgICAgUmV0dXJuKDApDQo+ICsgIH0NCj4g Kw0KPiArICAvLyBTdGVwIDI6ICBJbml0aWF0ZSBhIEJsb2NrIFJlYWQuDQo+ICsNCj4gKyAgU3Rv cmUoQXJnMixJMkNFKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdCB0aGUgcHJvcGVy IHByb3RvY29sLg0KPiArICBTdG9yZSgweEJGLEhTVFMpICAgICAgICAgICAgICAgICAgICAgICAg Ly8gQ2xlYXIgYWxsIGJ1dCBJTlVTRV9TVFMuDQo+ICsgIFN0b3JlKE9yKEFyZzAsMSksVFhTQSkg ICAgICAgICAgICAgICAgICAvLyBSZWFkIEFkZHJlc3MgaW4gVFhTQS4NCj4gKyAgU3RvcmUoQXJn MSxIQ09NKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbW1hbmQgaW4gSENPTS4NCj4gKw0K PiArICAvLyBTZXQgdGhlIFNNQnVzIEhvc3QgY29udHJvbCByZWdpc3RlciB0byAweDQ4Lg0KPiAr ICAvLyAgIEJpdCA3OiAgICA9ICAwICA9IHJlc2VydmVkDQo+ICsgIC8vICAgQml0IDY6ICAgID0g IDEgID0gc3RhcnQNCj4gKyAgLy8gICBCaXQgNTogICAgPSAgMCAgPSBkaXNyZWdhcmQsIEkyQyBy ZWxhdGVkIGJpdA0KPiArICAvLyAgIEJpdHMgNDoyOiA9IDEwMSA9IEJsb2NrIFByb3RvY29sDQo+ ICsgIC8vICAgQml0IDE6ICAgID0gIDAgID0gTm9ybWFsIEZ1bmN0aW9uDQo+ICsgIC8vICAgQml0 IDA6ICAgID0gIDAgID0gRGlzYWJsZSBpbnRlcnJ1cHQgZ2VuZXJhdGlvbg0KPiArDQo+ICsgIFN0 b3JlKDB4NTQsSENPTikNCj4gKw0KPiArICAvLyBTdGVwIDM6ICBXYWl0IHVwIHRvIDIwMG1zIHRv IGdldCB0aGUgRGF0YSBDb3VudC4NCj4gKw0KPiArICBTdG9yZSg0MDAwLExvY2FsMCkgICAgICAg ICAgICAgICAgICAgICAgLy8gNDAwMCAqIDUwdXMgPSAyMDBtcy4NCj4gKw0KPiArICBXaGlsZShM QW5kKExOb3QoQW5kKEhTVFMsMHg4MCkpLExvY2FsMCkpDQo+ICsgIHsNCj4gKyAgICBEZWNyZW1l bnQoTG9jYWwwKSAgICAgICAgICAgICAgIC8vIERlY3JlbWVudCBDb3VudC4NCj4gKyAgICBTdGFs bCg1MCkgICAgICAgICAgICAgICAgICAgICAgIC8vIERlbGF5ID0gNTB1cy4NCj4gKyAgfQ0KPiAr DQo+ICsgIElmKExOb3QoTG9jYWwwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaW1lb3V0 Pw0KPiArICB7DQo+ICsgICAgS0lMTCgpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBZZXMu ICBLaWxsIENvbW11bmljYXRpb24uDQo+ICsgICAgUmV0dXJuKDApICAgICAgICAgICAgICAgICAg ICAgICAvLyBSZXR1cm4gZmFpbHVyZS4NCj4gKyAgfQ0KPiArDQo+ICsgIFN0b3JlKERBVDAsSW5k ZXgoVEJVRiwwKSkgICAgICAgICAgICAgICAvLyBHZXQgdGhlIERhdGEgQ291bnQuDQo+ICsgIFN0 b3JlKDB4ODAsSFNUUykgICAgICAgICAgICAgICAgICAgICAgICAvLyBDbGVhciBIb3N0IFN0YXR1 cy4NCj4gKyAgU3RvcmUoMSxMb2NhbDEpICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExvY2Fs MSA9IEJ1ZmZlciBQb2ludGVyLg0KPiArDQo+ICsgIC8vIFN0ZXAgNDogIEdldCB0aGUgQmxvY2sg RGF0YSBhbmQgc3RvcmUgaXQuDQo+ICsNCj4gKyAgV2hpbGUoTExlc3MoTG9jYWwxLERlcmVmT2Yo SW5kZXgoVEJVRiwwKSkpKQ0KPiArICB7DQo+ICsgICAgLy8gV2FpdCB1cCB0byAyMDBtcyBmb3Ig SG9zdCBTdGF0dXMgdG8gZ2V0IHNldC4NCj4gKw0KPiArICAgIFN0b3JlKDQwMDAsTG9jYWwwKSAg ICAgICAgICAgICAgLy8gNDAwMCAqIDUwdXMgPSAyMDBtcy4NCj4gKw0KPiArICAgIFdoaWxlKExB bmQoTE5vdChBbmQoSFNUUywweDgwKSksTG9jYWwwKSkNCj4gKyAgICB7DQo+ICsgICAgICBEZWNy ZW1lbnQoTG9jYWwwKSAgICAgICAvLyBEZWNyZW1lbnQgQ291bnQuDQo+ICsgICAgICBTdGFsbCg1 MCkgICAgICAgICAgICAgICAvLyBEZWxheSA9IDUwdXMuDQo+ICsgICAgfQ0KPiArDQo+ICsgICAg SWYoTE5vdChMb2NhbDApKSAgICAgICAgICAgICAgICAvLyBUaW1lb3V0Pw0KPiArICAgIHsNCj4g KyAgICAgIEtJTEwoKSAgICAgICAgICAgICAgICAgIC8vIFllcy4gIEtpbGwgQ29tbXVuaWNhdGlv bi4NCj4gKyAgICAgIFJldHVybigwKSAgICAgICAgICAgICAgIC8vIFJldHVybiBmYWlsdXJlLg0K PiArICAgIH0NCj4gKw0KPiArICAgIFN0b3JlKEhCRFIsSW5kZXgoVEJVRixMb2NhbDEpKSAgLy8g UGxhY2UgaW50byBCdWZmZXIuDQo+ICsgICAgU3RvcmUoMHg4MCxIU1RTKSAgICAgICAgICAgICAg ICAvLyBDbGVhciBIb3N0IFN0YXR1cy4NCj4gKyAgICBJbmNyZW1lbnQoTG9jYWwxKQ0KPiArICB9 DQo+ICsNCj4gKyAgLy8gU3RlcCA1OiAgRXhpdCB0aGUgTWV0aG9kIGNvcnJlY3RseS4NCj4gKw0K PiArICBJZihDT01QKCkpDQo+ICsgIHsNCj4gKyAgICBPcihIU1RTLDB4RkYsSFNUUykgICAgICAg ICAgICAgIC8vIENsZWFyIElOVVNFX1NUUyBhbmQgb3RoZXJzLg0KPiArICAgIFJldHVybihUQlVG KSAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIFN1Y2Nlc3MuDQo+ICsgIH0NCj4gKw0KPiAr ICBSZXR1cm4oMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIEZhaWx1 cmUuDQo+ICt9DQo+ICsNCj4gKw0KPiArLy8gU01CdXMgU3RhcnQgQ2hlY2sNCj4gKy8vICAgICAg UmV0dXJuOiBTdWNjZXNzID0gMA0KPiArLy8gICAgICAgICAgICAgIEZhaWx1cmUgPSAxDQo+ICsN Cj4gK01ldGhvZChTVFJULDAsU2VyaWFsaXplZCkNCj4gK3sNCj4gKyAgT3BlcmF0aW9uUmVnaW9u KFNNUEIsUENJX0NvbmZpZywweDIwLDQpDQo+ICsgIEZpZWxkKFNNUEIsRFdvcmRBY2MsTm9Mb2Nr LFByZXNlcnZlKQ0KPiArICB7DQo+ICsgICAgLCAgICAgNSwNCj4gKyAgICBTQkFSLCAxMQ0KPiAr ICB9DQo+ICsNCj4gKyAgLy8gRGVmaW5lIHZhcmlvdXMgU01CdXMgSU8gTWFwcGVkIFJlZ2lzdGVy cy4NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24oU01CSSxTeXN0ZW1JTyxTaGlmdExlZnQoU0JB Uiw1KSwweDEwKQ0KPiArICBGaWVsZChTTUJJLEJ5dGVBY2MsTm9Mb2NrLFByZXNlcnZlKQ0KPiAr ICB7DQo+ICsgICAgSFNUUywgOCwgICAgICAgIC8vIDAgLSBIb3N0IFN0YXR1cyBSZWdpc3Rlcg0K PiArCU9mZnNldCgweDAyKSwNCj4gKwlIQ09OLCA4LCAgICAgICAgLy8gMiAtIEhvc3QgQ29udHJv bA0KPiArCUhDT00sIDgsICAgICAgICAvLyAzIC0gSG9zdCBDb21tYW5kDQo+ICsJVFhTQSwgOCwg ICAgICAgIC8vIDQgLSBUcmFuc21pdCBTbGF2ZSBBZGRyZXNzDQo+ICsJREFUMCwgOCwgICAgICAg IC8vIDUgLSBIb3N0IERhdGEgMA0KPiArCURBVDEsIDgsICAgICAgICAvLyA2IC0gSG9zdCBEYXRh IDENCj4gKwlIQkRSLCA4LCAgICAgICAgLy8gNyAtIEhvc3QgQmxvY2sgRGF0YQ0KPiArCVBFQ1Is IDgsICAgICAgICAvLyA4IC0gUGFja2VyIEVycm9yIENoZWNrDQo+ICsJUlhTQSwgOCwgICAgICAg IC8vIDkgLSBSZWNlaXZlIFNsYXZlIEFkZHJlc3MNCj4gKwlTREFULCAxNiwgICAgICAgLy8gQSAt IFNsYXZlIERhdGENCj4gKyAgfQ0KPiArICAvLyBXYWl0IHVwIHRvIDIwMG1zIHRvIGNvbmZpcm0g dGhlIFNNQnVzIFNlbWFwaG9yZSBoYXMgYmVlbg0KPiArICAvLyByZWxlYXNlZCAoSW4gVXNlIFN0 YXR1cyA9IDApLiAgTm90ZSB0aGF0IHRoZSBTbGVlcCB0aW1lIG1heSB0YWtlDQo+ICsgIC8vIGxv bmdlciBhcyB0aGUgVGhpcyBmdW5jdGlvbiB3aWxsIHlpZWxkIHRoZSBQcm9jZXNzb3Igc3VjaCB0 aGF0IGl0DQo+ICsgIC8vIG1heSBwZXJmb3JtIGRpZmZlcmVudCB0YXNrcyBkdXJpbmcgdGhlIGRl bGF5Lg0KPiArDQo+ICsgIFN0b3JlKDIwMCxMb2NhbDApICAgICAgICAgICAgICAgICAgICAgICAv LyAyMDAgKiAxbXMgPSAyMDBtcy4NCj4gKw0KPiArICBXaGlsZShMb2NhbDApDQo+ICsgIHsNCj4g KyAgICBJZihBbmQoSFNUUywweDQwKSkgICAgICAgICAgICAgIC8vIEluIFVzZSBTZXQ/DQo+ICsg ICAgew0KPiArICAgICAgRGVjcmVtZW50KExvY2FsMCkgICAgICAgLy8gWWVzLiAgRGVjcmVtZW50 IENvdW50Lg0KPiArICAgICAgU2xlZXAoMSkgICAgICAgICAgICAgICAgLy8gRGVsYXkgPSAxbXMu DQo+ICsgICAgICBJZihMRXF1YWwoTG9jYWwwLDApKSAgICAvLyBDb3VudCA9IDA/DQo+ICsgICAg ICB7DQo+ICsgICAgICAgIFJldHVybigxKSAgICAgICAvLyBSZXR1cm4gZmFpbHVyZS4NCj4gKyAg ICAgIH0NCj4gKyAgICB9DQo+ICsgICAgRWxzZQ0KPiArICAgIHsNCj4gKyAgICAgIFN0b3JlKDAs TG9jYWwwKSAgICAgICAgIC8vIEluIFVzZSBDbGVhci4gIENvbnRpbnVlLg0KPiArICAgIH0NCj4g KyAgfQ0KPiArDQo+ICsgIC8vIEluIFVzZSBTdGF0dXMgPSAwIGR1cmluZyBsYXN0IHJlYWQsIHdo aWNoIHdpbGwgbWFrZSBzdWJzZXF1ZW50DQo+ICsgIC8vIHJlYWRzIHJldHVybiBJbiBVc2UgU3Rh dHVzID0gMSB1bnRpbCBzb2Z0d2FyZSBjbGVhcnMgaXQuICBBbGwNCj4gKyAgLy8gc29mdHdhcmUg dXNpbmcgSUNIeCBTTUJ1cyBzaG91bGQgY2hlY2sgdGhpcyBiaXQgYmVmb3JlIGluaXRpYXRpbmcN Cj4gKyAgLy8gYW55IFNNQnVzIGNvbW11bmljYXRpb24uDQo+ICsNCj4gKyAgLy8gV2FpdCB1cCB0 byAyMDBtcyB0byBjb25maXJtIHRoZSBIb3N0IEludGVyZmFjZSBpcw0KPiArICAvLyBub3QgcHJv Y2Vzc2luZyBhIGNvbW1hbmQuDQo+ICsNCj4gKyAgU3RvcmUoNDAwMCxMb2NhbDApICAgICAgICAg ICAgICAgICAgICAgIC8vIDQwMDAgKiA1MHVzID0gMjAwbXMuDQo+ICsNCj4gKyAgV2hpbGUoTG9j YWwwKQ0KPiArICB7DQo+ICsgICAgSWYoQW5kKEhTVFMsMHgwMSkpICAgICAgICAgICAgICAvLyBI b3N0IEJ1c3kgU2V0Pw0KPiArICAgIHsNCj4gKyAgICAgIERlY3JlbWVudChMb2NhbDApICAgICAg IC8vIERlY3JlbWVudCBDb3VudC4NCj4gKyAgICAgIFN0YWxsKDUwKSAgICAgICAgICAgICAgIC8v IERlbGF5ID0gNTB1cy4NCj4gKyAgICAgIElmKExFcXVhbChMb2NhbDAsMCkpICAgIC8vIENvdW50 ID0gMD8NCj4gKyAgICAgIHsNCj4gKyAgICAgICAgS0lMTCgpICAgICAgICAgIC8vIFllcy4gIEtp bGwgQ29tbXVuaWNhdGlvbi4NCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgICAgRWxzZQ0KPiAr ICAgIHsNCj4gKyAgICAgIFJldHVybigwKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIFJl dHVybigxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaW1lb3V0LiAgUmV0dXJu IGZhaWx1cmUuDQo+ICt9DQo+ICsNCj4gKy8vIFNNQnVzIENvbXBsZXRpb24gQ2hlY2sNCj4gKy8v ICAgICAgUmV0dXJuOiBTdWNjZXNzID0gMQ0KPiArLy8gICAgICAgICAgICAgIEZhaWx1cmUgPSAw DQo+ICsNCj4gK01ldGhvZChDT01QLDAsU2VyaWFsaXplZCkNCj4gK3sNCj4gKyAgT3BlcmF0aW9u UmVnaW9uKFNNUEIsUENJX0NvbmZpZywweDIwLDQpDQo+ICsgIEZpZWxkKFNNUEIsRFdvcmRBY2Ms Tm9Mb2NrLFByZXNlcnZlKQ0KPiArICB7DQo+ICsgICAgLCAgICAgNSwNCj4gKyAgICBTQkFSLCAx MQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGVmaW5lIHZhcmlvdXMgU01CdXMgSU8gTWFwcGVkIFJl Z2lzdGVycy4NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24oU01CSSxTeXN0ZW1JTyxTaGlmdExl ZnQoU0JBUiw1KSwweDEwKQ0KPiArICBGaWVsZChTTUJJLEJ5dGVBY2MsTm9Mb2NrLFByZXNlcnZl KQ0KPiArICB7DQo+ICsgICAgSFNUUywgOCwgICAgICAgIC8vIDAgLSBIb3N0IFN0YXR1cyBSZWdp c3Rlcg0KPiArCU9mZnNldCgweDAyKSwNCj4gKwlIQ09OLCA4LCAgICAgICAgLy8gMiAtIEhvc3Qg Q29udHJvbA0KPiArCUhDT00sIDgsICAgICAgICAvLyAzIC0gSG9zdCBDb21tYW5kDQo+ICsJVFhT QSwgOCwgICAgICAgIC8vIDQgLSBUcmFuc21pdCBTbGF2ZSBBZGRyZXNzDQo+ICsJREFUMCwgOCwg ICAgICAgIC8vIDUgLSBIb3N0IERhdGEgMA0KPiArCURBVDEsIDgsICAgICAgICAvLyA2IC0gSG9z dCBEYXRhIDENCj4gKwlIQkRSLCA4LCAgICAgICAgLy8gNyAtIEhvc3QgQmxvY2sgRGF0YQ0KPiAr CVBFQ1IsIDgsICAgICAgICAvLyA4IC0gUGFja2VyIEVycm9yIENoZWNrDQo+ICsJUlhTQSwgOCwg ICAgICAgIC8vIDkgLSBSZWNlaXZlIFNsYXZlIEFkZHJlc3MNCj4gKwlTREFULCAxNiwgICAgICAg Ly8gQSAtIFNsYXZlIERhdGENCj4gKyAgfQ0KPiArICAvLyBXYWl0IGZvciB1cCB0byAyMDBtcyBm b3IgdGhlIENvbXBsZXRpb24gQ29tbWFuZA0KPiArICAvLyBTdGF0dXMgdG8gZ2V0IHNldC4NCj4g Kw0KPiArICBTdG9yZSg0MDAwLExvY2FsMCkgICAgICAgICAgICAgICAgICAgICAgLy8gNDAwMCAq IDUwdXMgPSAyMDBtcy4NCj4gKw0KPiArICBXaGlsZShMb2NhbDApDQo+ICsgIHsNCj4gKyAgICBJ ZihBbmQoSFNUUywweDAyKSkgICAgICAgICAgICAgIC8vIENvbXBsZXRpb24gU3RhdHVzIFNldD8N Cj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oMSkgICAgICAgICAgICAgICAvLyBZZXMuICBXZSBh cmUgZG9uZS4NCj4gKyAgICB9DQo+ICsgICAgRWxzZQ0KPiArICAgIHsNCj4gKyAgICAgIERlY3Jl bWVudChMb2NhbDApICAgICAgIC8vIERlY3JlbWVudCBDb3VudC4NCj4gKyAgICAgIFN0YWxsKDUw KSAgICAgICAgICAgICAgIC8vIERlbGF5IDUwdXMuDQo+ICsgICAgICBJZihMRXF1YWwoTG9jYWww LDApKSAgICAvLyBDb3VudCA9IDA/DQo+ICsgICAgICB7DQo+ICsgICAgICAgIEtJTEwoKSAgICAg ICAgICAvLyBZZXMuICBLaWxsIENvbW11bmljYXRpb24uDQo+ICsgICAgICB9DQo+ICsgICAgfQ0K PiArICB9DQo+ICsNCj4gKyAgUmV0dXJuKDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8vIFRpbWVvdXQuICBSZXR1cm4gRmFpbHVyZS4NCj4gK30NCj4gKw0KPiArLy8gU01CdXMgS2ls bCBDb21tYW5kDQo+ICsNCj4gK01ldGhvZChLSUxMLDAsU2VyaWFsaXplZCkNCj4gK3sNCj4gKyAg T3BlcmF0aW9uUmVnaW9uKFNNUEIsUENJX0NvbmZpZywweDIwLDQpDQo+ICsgIEZpZWxkKFNNUEIs RFdvcmRBY2MsTm9Mb2NrLFByZXNlcnZlKQ0KPiArICB7DQo+ICsgICAgLCAgICAgNSwNCj4gKyAg ICBTQkFSLCAxMQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGVmaW5lIHZhcmlvdXMgU01CdXMgSU8g TWFwcGVkIFJlZ2lzdGVycy4NCj4gKw0KPiArICBPcGVyYXRpb25SZWdpb24oU01CSSxTeXN0ZW1J TyxTaGlmdExlZnQoU0JBUiw1KSwweDEwKQ0KPiArICBGaWVsZChTTUJJLEJ5dGVBY2MsTm9Mb2Nr LFByZXNlcnZlKQ0KPiArICB7DQo+ICsgICAgSFNUUywgOCwgICAgICAgIC8vIDAgLSBIb3N0IFN0 YXR1cyBSZWdpc3Rlcg0KPiArCU9mZnNldCgweDAyKSwNCj4gKwlIQ09OLCA4LCAgICAgICAgLy8g MiAtIEhvc3QgQ29udHJvbA0KPiArCUhDT00sIDgsICAgICAgICAvLyAzIC0gSG9zdCBDb21tYW5k DQo+ICsJVFhTQSwgOCwgICAgICAgIC8vIDQgLSBUcmFuc21pdCBTbGF2ZSBBZGRyZXNzDQo+ICsJ REFUMCwgOCwgICAgICAgIC8vIDUgLSBIb3N0IERhdGEgMA0KPiArCURBVDEsIDgsICAgICAgICAv LyA2IC0gSG9zdCBEYXRhIDENCj4gKwlIQkRSLCA4LCAgICAgICAgLy8gNyAtIEhvc3QgQmxvY2sg RGF0YQ0KPiArCVBFQ1IsIDgsICAgICAgICAvLyA4IC0gUGFja2VyIEVycm9yIENoZWNrDQo+ICsJ UlhTQSwgOCwgICAgICAgIC8vIDkgLSBSZWNlaXZlIFNsYXZlIEFkZHJlc3MNCj4gKwlTREFULCAx NiwgICAgICAgLy8gQSAtIFNsYXZlIERhdGENCj4gKyAgfQ0KPiArICBPcihIQ09OLDB4MDIsSENP TikgICAgICAgICAgICAgICAgICAgICAgLy8gWWVzLiAgU2VuZCBLaWxsIGNvbW1hbmQuDQo+ICsg IE9yKEhTVFMsMHhGRixIU1RTKSAgICAgICAgICAgICAgICAgICAgICAvLyBDbGVhciBhbGwgc3Rh dHVzLg0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9BY3BpVGFibGVzUENBVC9QY2hYaGNpLmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNoWGhjaS5hc2wNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTE0MjA5ZjY2OA0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BD QVQvUGNoWGhjaS5hc2wNCj4gQEAgLTAsMCArMSwzNzkgQEANCj4gKy8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioq KioqKio7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ ICs7KiAgICBJbnRlbCBDb3Jwb3JhdGlvbiAtIEFDUEkgUmVmZXJlbmNlIENvZGUgZm9yIHRoZSBI YXN3ZWxsICAgICAgICAgICAgICo7DQo+ICs7KiAgICBGYW1pbHkgb2YgQ3VzdG9tZXIgUmVmZXJl bmNlIEJvYXJkcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICBDb3B5cmlnaHQg KGMpICAyMDEwICAtIDIwMTUsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk ICAgKjsNCj4gKzsNCj4gKzsgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gKzsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KjsNCj4gKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioNCj4gKioqKioqKioqKioqKioqKiovDQo+ICsNCj4gKy8vc2NvcGUgaXMgXF9TQi5Q Q0kwLlhIQw0KPiArRGV2aWNlKFhIQzEpDQo+ICt7DQo+ICsgIE5hbWUoX0FEUiwgMHgwMDE0MDAw MCkgICAgICAgICAgICAgICAgICAgICAvL0RldmljZSAyMCwgRnVuY3Rpb24gMA0KPiArDQo+ICsg IC8vV2hlbiBpdCBpcyBpbiBIb3N0IG1vZGUsIFVTSCBjb3JlIGlzIGNvbm5lY3RlZCB0byBVU0Iz IG1pY3JvQUIoVVNCMw0KPiBQMSBhbmQgVVNCMiBQMCkNCj4gKyAgTmFtZSAoX0RETiwgIkJheXRy YWlsIFhIQ0kgY29udHJvbGxlciAoQ0NHIGNvcmUvSG9zdCBvbmx5KSIgKQ0KPiArDQo+ICsgIE1l dGhvZChYREVQLCAwKQ0KPiArICB7DQo+ICsgICAgSWYoTEVxdWFsKE9TWVMsMjAxMykpDQo+ICsg ICAgew0KPiArICAgICAgTmFtZShfREVQLCBQYWNrYWdlKDB4MSkNCj4gKyAgICAgIHsNCj4gKyAg ICAgICAgUEVQRA0KPiArICAgICAgfSkNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBOYW1l IChfU1RSLCBVbmljb2RlICgiQmF5dHJhaWwgWEhDSSBjb250cm9sbGVyIChDQ0cgY29yZS9Ib3N0 IG9ubHkpIikpDQo+ICsgIE5hbWUoX1BSVywgUGFja2FnZSgpIHsweEQsNH0pDQo+ICsNCj4gKyAg TWV0aG9kKF9QU1csMSkNCj4gKyAgew0KPiArICAgIElmIChMQW5kIChQTUVTLCBQTUVFKSkgew0K PiArICAgICAgIFN0b3JlICgwLCBQTUVFKQ0KPiArICAgICAgIFN0b3JlICgxLCBQTUVTKQ0KPiAr ICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIE9wZXJhdGlvblJlZ2lvbiAoUE1FQiwgUENJX0NvbmZp ZywgMHg3NCwgMHgwNCkgIC8vIFBvd2VyIE1hbmFnZW1lbnQNCj4gQ29udHJvbC9TdGF0dXMNCj4g KyAgRmllbGQgKFBNRUIsIFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpDQo+ICsgIHsNCj4gKyAg ICAsICAgOCwNCj4gKyAgICBQTUVFLCAgIDEsICAgLy9iaXQ4IFBNRV9Fbg0KPiArICAgICwgICA2 LA0KPiArICAgIFBNRVMsICAgMSAgICAvL2JpdDE1IFBNRV9TdGF0dXMNCj4gKyAgfQ0KPiArDQo+ ICsgIE1ldGhvZChfU1RBLCAwKQ0KPiArICB7DQo+ICsgICAgSWYoTE5vdEVxdWFsKFhIQ0ksIDAp KSAgICAgIC8vTlZTIHZhcmlhYmxlIGNvbnRyb2xzIHByZXNlbnQgb2YgWEhDSQ0KPiBjb250cm9s bGVyDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuICgweEYpDQo+ICsgICAgfSBFbHNlDQo+ICsg ICAgew0KPiArICAgICAgUmV0dXJuICgweDApDQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAg T3BlcmF0aW9uUmVnaW9uKFhQUlQsUENJX0NvbmZpZywweEQwLDB4MTApDQo+ICsgIEZpZWxkKFhQ UlQsRFdvcmRBY2MsTm9Mb2NrLFByZXNlcnZlKSAgICAgICAvL3VzYnhfdG9wLmRvYy54bWwNCj4g KyAgew0KPiArICAgIFBSMiwgIDMyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vYml0 Wzg6MF0gVVNCMkhDU0VMDQo+ICsgICAgUFIyTSwgMzIsICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLy9iaXRbODowXSBVU0IySENTRUxNDQo+ICsgICAgUFIzLCAgMzIsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLy9iaXRbMzowXSBVU0IzU1NFTg0KPiArICAgIFBSM00sIDMyICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vYml0WzM6MF0gVVNCM1NTRU5NDQo+ICsgIH0N Cj4gKw0KPiArICBEZXZpY2UoUkhVQikNCj4gKyAgew0KPiArICAgIE5hbWUoX0FEUiwgWmVybykg ICAgICAgICAvL2FkZHJlc3MgMCBpcyByZXNlcnZlZCBmb3Igcm9vdCBodWINCj4gKw0KPiArICAg IC8vDQo+ICsgICAgLy8gU3VwZXIgU3BlZWQgUG9ydHMgLSBtdXN0IG1hdGNoIF9VUEMgZGVjbGFy YXRpb25zIG9mIHRoZQ0KPiBjb3Jlc3BvbmRpbmcgRnVsbCBTcGVlZCBQb3J0cy4NCj4gKyAgICAv LyAgIFBhaXJlZCB3aXRoIFBvcnQgMQ0KPiArICAgIERldmljZShTU1AxKQ0KPiArICAgIHsNCj4g KyAgICAgIE5hbWUoX0FEUiwgMHgwNykNCj4gKw0KPiArICAgICAgTWV0aG9kKF9VUEMsMCxTZXJp YWxpemVkKQ0KPiArICAgICAgew0KPiArICAgICAgICBOYW1lKFVQQ1AsIFBhY2thZ2UoKQ0KPiAr ICAgICAgICB7DQo+ICsgICAgICAgICAgMHhGRiwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIFBvcnQgaXMgY29ubmVjdGFibGUgaWYgbm9uLXplcm8NCj4gKyAgICAgICAg ICAweDA2LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVVNCMyB1QUIg Y29ubmVjdG9yDQo+ICsgICAgICAgICAgMHgwMCwNCj4gKyAgICAgICAgICAweDAwDQo+ICsgICAg ICAgIH0pDQo+ICsgICAgICAgIFJldHVybihVUENQKQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAg ICBNZXRob2QoX1BMRCwwLFNlcmlhbGl6ZWQpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIE5hbWUo UExEUCwgUGFja2FnZSgpICAgICAgIC8vcGxzIGNoZWNrIEFDUEkgNS4wIHNlY3Rpb24gNi4xLjgN Cj4gKyAgICAgICAgew0KPiArICAgICAgICAgIEJ1ZmZlcigweDE0KQ0KPiArICAgICAgICAgIHsN Cj4gKyAgICAgICAgICAgIC8vMzE6MCAgIC0gQml0WzY6MF09MiByZXZpc2lvbiBpcyAweDIsIEJp dFs3XT0xIElnbm9yZSBDb2xvciBCaXRbMzE6OF09MA0KPiBSR0IgY29sb3IgaXMgaWdub3JlZA0K PiArICAgICAgICAgICAgMHg4MiwgMHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAgICAgICAgICAgIC8v NjM6MzIgLSBCaXRbNDc6MzJdPTAgd2lkdGg6IDB4MDAwMCAgQml0WzYzOjQ4XT0wIEhlaWdodDow eDAwMDANCj4gKyAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAg ICAgICAvLzk1OjY0IC0gYml0WzY2OjY0XT1iJzAxMSB2aXNpYWJsZS9kb2NraW5nL25vIGxpZCBi aXRbNjk6NjddPWInMDAxDQo+IGJvdHRvbSBwYW5lbCBiaXRbNzE6NzBdPWInMDEgQ2VudGVyICBi aXRbNzM6NzJdPWInMDEgQ2VudGVyDQo+ICsgICAgICAgICAgICAvLyAgICAgICAgICAgYml0Wzc3 Ojc0XT02IEhvcml6b250YWwgVHJhcGV6b2lkIGJpdFs3OF09MCBiaXRbODY6NzldPTANCj4gYml0 Wzk0Ojg3XT0nMCBubyBncm91cCBpbmZvJyBiaXRbOTVdPTAgbm90IGEgYmF5DQo+ICsgICAgICAg ICAgICAweDRCLCAweDE5LCAweDAwLCAweDAwLA0KPiArICAgICAgICAgICAgLy8xMjc6OTYgLWJp dFs5Nl09MSBFamVjdGFibGUgYml0Wzk3XT0xIE9TUE0gRWplY3Rpb24gcmVxdWlyZWQNCj4gQml0 WzEwNTo5OF09MCBubyBDYWJpbmV0IE51bWJlcg0KPiArICAgICAgICAgICAgLy8gICAgICAgICAg ICBiaXRbMTEzOjEwNl09MCBubyBDYXJkIGNhZ2UgTnVtYmVyIGJpdFsxMTRdPTAgbm8gcmVmZXJl bmNlDQo+IHNoYXBlIEJpdFsxMTg6MTE1XT0wIG5vIHJvdGF0aW9uIEJpdFsxMjM6MTE5XT0wIG5v IG9yZGVyDQo+ICsgICAgICAgICAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLA0KPiArICAgICAg ICAgICAgLy8xNTk6MTI4ICBWZXJ0LiBhbmQgSG9yaXouIE9mZnNldHMgbm90IHN1cHBsaWVkDQo+ ICsgICAgICAgICAgICAweEZGLCAweEZGLCAweEZGLCAweEZGDQo+ICsgICAgICAgICAgfQ0KPiAr ICAgICAgICB9KQ0KPiArICAgICAgICBSZXR1cm4gKFBMRFApDQo+ICsgICAgICB9DQo+ICsgICAg fQ0KPiArICAgIC8vDQo+ICsgICAgLy8gSGlnaCBTcGVlZCBQb3J0cw0KPiArICAgIC8vIHBhaXIg cG9ydCB3aXRoIHBvcnQgNyAoU1MpDQo+ICsgICAgLy8gICAgVGhlIFVQQyBkZWNsYXJhdGlvbnMg Zm9yIExTL0ZTL0hTIGFuZCBTUyBwb3J0cyB0aGF0IGFyZSBwYWlyZWQgdG8NCj4gZm9ybSBhIFVT QjMuMCBjb21wYXRpYmxlIGNvbm5lY3Rvci4NCj4gKyAgICAvLyAgICBBICJwYWlyIiBpcyBkZWZp bmVkIGJ5IHR3byBwb3J0cyB0aGF0IGRlY2xhcmUgX1BMRHMgd2l0aCBpZGVudGljYWwNCj4gUGFu ZWwsIFZlcnRpY2FsIFBvc2l0aW9uLCBIb3Jpem9udGFsIFBvc3Rpb24sIFNoYXBlLCBHcm91cCBP cmllbnRhdGlvbg0KPiArICAgIC8vICAgIGFuZCBHcm91cCBUb2tlbg0KPiArICAgIERldmljZShI UzAxKQ0KPiArICAgIHsNCj4gKyAgICAgIE5hbWUoX0FEUiwgMHgwMSkNCj4gKw0KPiArICAgICAg TWV0aG9kKF9VUEMsMCxTZXJpYWxpemVkKQ0KPiArICAgICAgew0KPiArICAgICAgICBOYW1lKFVQ Q1AsIFBhY2thZ2UoKSB7IDB4RkYsMHgwNiwweDAwLDB4MDAgfSkNCj4gKyAgICAgICAgUmV0dXJu KFVQQ1ApDQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIE1ldGhvZChfUExELDAsU2VyaWFsaXpl ZCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTmFtZShQTERQLCBQYWNrYWdlKCkgICAgICAgLy9w bHMgY2hlY2sgQUNQSSA1LjAgc2VjdGlvbiA2LjEuOA0KPiArICAgICAgICB7DQo+ICsgICAgICAg ICAgQnVmZmVyKDB4MTQpDQo+ICsgICAgICAgICAgew0KPiArICAgICAgICAgICAgLy8zMTowICAg LSBCaXRbNjowXT0yIHJldmlzaW9uIGlzIDB4MiwgQml0WzddPTEgSWdub3JlIENvbG9yIEJpdFsz MTo4XT0wDQo+IFJHQiBjb2xvciBpcyBpZ25vcmVkDQo+ICsgICAgICAgICAgICAweDgyLCAweDAw LCAweDAwLCAweDAwLA0KPiArICAgICAgICAgICAgLy82MzozMiAtIEJpdFs0NzozMl09MCB3aWR0 aDogMHgwMDAwICBCaXRbNjM6NDhdPTAgSGVpZ2h0OjB4MDAwMA0KPiArICAgICAgICAgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAgICAgICAgICAgIC8vOTU6NjQgLSBiaXRbNjY6NjRd PWInMDExIHZpc2lhYmxlL2RvY2tpbmcvbm8gbGlkIGJpdFs2OTo2N109YicwMDENCj4gYm90dG9t IHBhbmVsIGJpdFs3MTo3MF09YicwMSBDZW50ZXIgIGJpdFs3Mzo3Ml09YicwMSBDZW50ZXINCj4g KyAgICAgICAgICAgIC8vICAgICAgICAgICBiaXRbNzc6NzRdPTYgSG9yaXpvbnRhbCBUcmFwZXpv aWQgYml0Wzc4XT0wIGJpdFs4Njo3OV09MA0KPiBiaXRbOTQ6ODddPScwIG5vIGdyb3VwIGluZm8n IGJpdFs5NV09MCBub3QgYSBiYXkNCj4gKyAgICAgICAgICAgIDB4NEIsIDB4MTksIDB4MDAsIDB4 MDAsDQo+ICsgICAgICAgICAgICAvLzEyNzo5NiAtYml0Wzk2XT0xIEVqZWN0YWJsZSBiaXRbOTdd PTEgT1NQTSBFamVjdGlvbiByZXF1aXJlZA0KPiBCaXRbMTA1Ojk4XT0wIG5vIENhYmluZXQgTnVt YmVyDQo+ICsgICAgICAgICAgICAvLyAgICAgICAgICAgIGJpdFsxMTM6MTA2XT0wIG5vIENhcmQg Y2FnZSBOdW1iZXIgYml0WzExNF09MCBubyByZWZlcmVuY2UNCj4gc2hhcGUgQml0WzExODoxMTVd PTAgbm8gcm90YXRpb24gQml0WzEyMzoxMTldPTAgbm8gb3JkZXINCj4gKyAgICAgICAgICAgIDB4 MDMsIDB4MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAgICAgICAvLzE1OToxMjggIFZlcnQuIGFu ZCBIb3Jpei4gT2Zmc2V0cyBub3Qgc3VwcGxpZWQNCj4gKyAgICAgICAgICAgIDB4RkYsIDB4RkYs IDB4RkYsIDB4RkYNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAgIH0pDQo+ICsgICAgICAgIFJl dHVybiAoUExEUCkNCj4gKyAgICAgIH0NCj4gKyAgICB9Ly9lbmQgb2YgSFMwMQ0KPiArDQo+ICsg ICAgLy8gVVNCMiBUeXBlLUEvVVNCMiBvbmx5DQo+ICsgICAgLy8gRUhDSSBkZWJ1ZyBjYXBhYmxl DQo+ICsgICAgRGV2aWNlKEhTMDIpDQo+ICsgICAgew0KPiArICAgICAgTmFtZShfQURSLCAweDAy KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMCBpcyBmb3Igcm9vdCBodWIg c28gcGh5c2ljYWwgcG9ydA0KPiBpbmRleCBzdGFydHMgZnJvbSAxIChpdCBpcyBwb3J0MSBpbiBz Y2hlbWF0aWMpDQo+ICsNCj4gKyAgICAgIE1ldGhvZChfVVBDLDAsU2VyaWFsaXplZCkNCj4gKyAg ICAgIHsNCj4gKyAgICAgICAgTmFtZShVUENQLCBQYWNrYWdlKCkNCj4gKyAgICAgICAgew0KPiAr ICAgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAgLy8gY29ubmVjdGFibGUNCj4gKyAg ICAgICAgICAweEZGLCAgICAgICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgMHgwMCwN Cj4gKyAgICAgICAgICAweDAwDQo+ICsgICAgICAgIH0pDQo+ICsNCj4gKyAgICAgICAgUmV0dXJu KFVQQ1ApDQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIE1ldGhvZChfUExELDAsU2VyaWFsaXpl ZCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTmFtZShQTERQLCBQYWNrYWdlKCkNCj4gKyAgICAg ICAgew0KPiArICAgICAgICAgIEJ1ZmZlcigweDE0KQ0KPiArICAgICAgICAgIHsNCj4gKyAgICAg ICAgICAgIC8vMzE6MCAgIC0gQml0WzY6MF09MiByZXZpc2lvbiBpcyAweDIsIEJpdFs3XT0xIEln bm9yZSBDb2xvciBCaXRbMzE6OF09MA0KPiBSR0IgY29sb3IgaXMgaWdub3JlZA0KPiArICAgICAg ICAgICAgMHg4MiwgMHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAgICAgICAgICAgIC8vNjM6MzIgLSBC aXRbNDc6MzJdPTAgd2lkdGg6IDB4MDAwMCAgQml0WzYzOjQ4XT0wIEhlaWdodDoweDAwMDANCj4g KyAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAgICAgICAvLzk1 OjY0IC0gYml0WzY2OjY0XT1iJzAxMSB2aXNpYWJsZS9kb2NraW5nL25vIGxpZCBiaXRbNjk6Njdd PWInMDAxDQo+IGJvdHRvbSBwYW5lbCBiaXRbNzE6NzBdPWInMDEgQ2VudGVyICBiaXRbNzM6NzJd PWInMDAgTGVmdA0KPiArICAgICAgICAgICAgLy8gICAgICAgICAgIGJpdFs3Nzo3NF09MiBTcXVh cmUgYml0Wzc4XT0wIGJpdFs4Njo3OV09MCBiaXRbOTQ6ODddPScwIG5vDQo+IGdyb3VwIGluZm8n IGJpdFs5NV09MCBub3QgYSBiYXkNCj4gKyAgICAgICAgICAgIDB4NEIsIDB4MDgsIDB4MDAsIDB4 MDAsDQo+ICsgICAgICAgICAgICAvLzEyNzo5NiAtYml0Wzk2XT0xIEVqZWN0YWJsZSBiaXRbOTdd PTEgT1NQTSBFamVjdGlvbiByZXF1aXJlZA0KPiBCaXRbMTA1Ojk4XT0wIG5vIENhYmluZXQgTnVt YmVyDQo+ICsgICAgICAgICAgICAvLyAgICAgICAgICAgIGJpdFsxMTM6MTA2XT0wIG5vIENhcmQg Y2FnZSBOdW1iZXIgYml0WzExNF09MCBubyByZWZlcmVuY2UNCj4gc2hhcGUgQml0WzExODoxMTVd PTAgbm8gcm90YXRpb24gQml0WzEyMzoxMTldPTAgbm8gb3JkZXINCj4gKyAgICAgICAgICAgIDB4 MDMsIDB4MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAgICAgICAvLzE1OToxMjggIFZlcnQuIGFu ZCBIb3Jpei4gT2Zmc2V0cyBub3Qgc3VwcGxpZWQNCj4gKyAgICAgICAgICAgIDB4RkYsIDB4RkYs IDB4RkYsIDB4RkYNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAgIH0pDQo+ICsNCj4gKyAgICAg ICAgUmV0dXJuIChQTERQKQ0KPiArICAgICAgfQ0KPiArICAgIH0vL2VuZCBvZiBIUzAyDQo+ICsg ICAgLy8gaGlnaCBzcGVlZCBwb3J0IDMNCj4gKyAgICBEZXZpY2UoSFMwMykNCj4gKyAgICB7DQo+ ICsgICAgICBOYW1lKF9BRFIsIDB4MDMpDQo+ICsNCj4gKyAgICAgIE1ldGhvZChfVVBDLDAsU2Vy aWFsaXplZCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTmFtZShVUENQLCBQYWNrYWdlKCkNCj4g KyAgICAgICAgew0KPiArICAgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAgLy8gIGNv bm5lY3RhYmxlDQo+ICsgICAgICAgICAgMHhGRiwNCj4gKyAgICAgICAgICAweDAwLA0KPiArICAg ICAgICAgIDB4MDANCj4gKyAgICAgICAgfSkNCj4gKw0KPiArICAgICAgICBSZXR1cm4oVVBDUCkN Cj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgTWV0aG9kKF9STVYsIDApICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIFhIQ0lDViBkZWJ1ZyBwdXJwb3NlDQo+ICsgICAg ICB7DQo+ICsgICAgICAgIFJldHVybigweDApDQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIE1l dGhvZChfUExELDAsU2VyaWFsaXplZCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTmFtZShQTERQ LCBQYWNrYWdlKCkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIEJ1ZmZlcigweDE0KQ0KPiAr ICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgIC8vMzE6MCAgIC0gQml0WzY6MF09MiByZXZpc2lv biBpcyAweDIsIEJpdFs3XT0xIElnbm9yZSBDb2xvciBCaXRbMzE6OF09MA0KPiBSR0IgY29sb3Ig aXMgaWdub3JlZA0KPiArICAgICAgICAgICAgMHg4MiwgMHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAg ICAgICAgICAgIC8vNjM6MzIgLSBCaXRbNDc6MzJdPTAgd2lkdGg6IDB4MDAwMCAgQml0WzYzOjQ4 XT0wIEhlaWdodDoweDAwMDANCj4gKyAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs DQo+ICsgICAgICAgICAgICAvLzk1OjY0IC0gYml0WzY2OjY0XT1iJzAwMCBub3QgVmlzaWJsZS9u byBkb2NraW5nL25vIGxpZCBiaXRbNjk6NjddPTYNCj4gKGInMTEwKSB1bmtub3duKFZlcnRpY2Fs IFBvc2l0aW9uIGFuZCAgSG9yaXpvbnRhbCBQb3NpdGlvbiB3aWxsIGJlIGlnbm9yZWQpDQo+ICsg ICAgICAgICAgICAvLyAgICAgICAgICAgYml0WzcxOjcwXT1iJzAwIFZlcnRpY2FsIFBvc2l0aW9u IGlnbm9yZSBiaXRbNzM6NzJdPWInMDANCj4gSG9yaXpvbnRhbCBQb3NpdGlvbiBpZ25vcmUNCj4g KyAgICAgICAgICAgIC8vICAgICAgICAgICBiaXRbNzc6NzRdPTIgU3F1YXJlIGJpdFs3OF09MCBi aXRbODY6NzldPTAgYml0Wzk0Ojg3XT0nMCBubw0KPiBncm91cCBpbmZvJyBiaXRbOTVdPTAgbm90 IGEgYmF5DQo+ICsgICAgICAgICAgICAweDMwLCAweDA4LCAweDAwLCAweDAwLA0KPiArICAgICAg ICAgICAgLy8xMjc6OTYgLWJpdFs5Nl09MCBub3QgRWplY3RhYmxlIGJpdFs5N109MCBPU1BNIEVq ZWN0aW9uIG5vdA0KPiByZXF1aXJlZCBCaXRbMTA1Ojk4XT0wIG5vIENhYmluZXQgTnVtYmVyDQo+ ICsgICAgICAgICAgICAvLyAgICAgICAgICAgIGJpdFsxMTM6MTA2XT0wIG5vIENhcmQgY2FnZSBO dW1iZXIgYml0WzExNF09MCBubyByZWZlcmVuY2UNCj4gc2hhcGUgQml0WzExODoxMTVdPTAgbm8g cm90YXRpb24gQml0WzEyMzoxMTldPTAgbm8gb3JkZXINCj4gKyAgICAgICAgICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAgICAgICAvLzE1OToxMjggIFZlcnQuIGFuZCBIb3Jp ei4gT2Zmc2V0cyBub3Qgc3VwcGxpZWQNCj4gKyAgICAgICAgICAgIDB4RkYsIDB4RkYsIDB4RkYs IDB4RkYNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAgIH0pDQo+ICsgICAgICAgIFJldHVybiAo UExEUCkNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBEZXZpY2UoSFMwNCkNCj4g KyAgICB7DQo+ICsgICAgICBOYW1lKF9BRFIsIDB4MDQpDQo+ICsNCj4gKyAgICAgIE1ldGhvZChf VVBDLDAsU2VyaWFsaXplZCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTmFtZShVUENQLCBQYWNr YWdlKCkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAg ICAgLy9jb25uZWN0YWJsZQ0KPiArICAgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAg Ly9Qcm9wcmlldGFyeSBjb25uZWN0b3IgKEZQQyBjb25uZWN0b3IpDQo+ICsgICAgICAgICAgMHgw MCwNCj4gKyAgICAgICAgICAweDAwDQo+ICsgICAgICAgIH0pDQo+ICsNCj4gKyAgICAgICAgUmV0 dXJuKFVQQ1ApDQo+ICsgICAgICB9DQo+ICsgICAgICBNZXRob2QoX1BMRCwwLFNlcmlhbGl6ZWQp DQo+ICsgICAgICB7DQo+ICsgICAgICAgIE5hbWUoUExEUCwgUGFja2FnZSgpDQo+ICsgICAgICAg IHsNCj4gKyAgICAgICAgICBCdWZmZXIoMHgxNCkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAg ICAgICAvLzMxOjAgICAtIEJpdFs2OjBdPTIgcmV2aXNpb24gaXMgMHgyLCBCaXRbN109MSBJZ25v cmUgQ29sb3IgQml0WzMxOjhdPTANCj4gUkdCIGNvbG9yIGlzIGlnbm9yZWQNCj4gKyAgICAgICAg ICAgIDB4ODIsIDB4MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAgICAgICAvLzYzOjMyIC0gQml0 WzQ3OjMyXT0wIHdpZHRoOiAweDAwMDAgIEJpdFs2Mzo0OF09MCBIZWlnaHQ6MHgwMDAwDQo+ICsg ICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLA0KPiArICAgICAgICAgICAgLy85NTo2 NCAtIGJpdFs2Njo2NF09YicwMDAgbm90IFZpc2libGUvbm8gZG9ja2luZy9ubyBsaWQgYml0WzY5 OjY3XT02DQo+IChiJzExMCkgdW5rbm93bihWZXJ0aWNhbCBQb3NpdGlvbiBhbmQgIEhvcml6b250 YWwgUG9zaXRpb24gd2lsbCBiZSBpZ25vcmVkKQ0KPiArICAgICAgICAgICAgLy8gICAgICAgICAg IGJpdFs3MTo3MF09YicwMCBWZXJ0aWNhbCBQb3NpdGlvbiBpZ25vcmUgYml0WzczOjcyXT1iJzAw DQo+IEhvcml6b250YWwgUG9zaXRpb24gaWdub3JlDQo+ICsgICAgICAgICAgICAvLyAgICAgICAg ICAgYml0Wzc3Ojc0XT0yIFNxdWFyZSBiaXRbNzhdPTAgYml0Wzg2Ojc5XT0wIGJpdFs5NDo4N109 JzAgbm8NCj4gZ3JvdXAgaW5mbycgYml0Wzk1XT0wIG5vdCBhIGJheQ0KPiArICAgICAgICAgICAg MHgzMCwgMHgwOCwgMHgwMCwgMHgwMCwNCj4gKyAgICAgICAgICAgIC8vMTI3Ojk2IC1iaXRbOTZd PTAgbm90IEVqZWN0YWJsZSBiaXRbOTddPTAgT1NQTSBFamVjdGlvbiBub3QNCj4gcmVxdWlyZWQg Qml0WzEwNTo5OF09MCBubyBDYWJpbmV0IE51bWJlcg0KPiArICAgICAgICAgICAgLy8gICAgICAg ICAgICBiaXRbMTEzOjEwNl09MCBubyBDYXJkIGNhZ2UgTnVtYmVyIGJpdFsxMTRdPTAgbm8gcmVm ZXJlbmNlDQo+IHNoYXBlIEJpdFsxMTg6MTE1XT0wIG5vIHJvdGF0aW9uIEJpdFsxMjM6MTE5XT0w IG5vIG9yZGVyDQo+ICsgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLA0KPiArICAg ICAgICAgICAgLy8xNTk6MTI4ICBWZXJ0LiBhbmQgSG9yaXouIE9mZnNldHMgbm90IHN1cHBsaWVk DQo+ICsgICAgICAgICAgICAweEZGLCAweEZGLCAweEZGLCAweEZGDQo+ICsgICAgICAgICAgfQ0K PiArICAgICAgICB9KQ0KPiArDQo+ICsgICAgICAgIFJldHVybiAoUExEUCkNCj4gKyAgICAgIH0N Cj4gKyAgICB9DQo+ICsNCj4gKw0KPiArICAgIERldmljZShIU0MxKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVU0IyIEhTSUMgMDENCj4gKyAgICB7DQo+ICsg ICAgICBOYW1lKF9BRFIsIDB4MDUpDQo+ICsNCj4gKyAgICAgIE1ldGhvZChfVVBDLDAsU2VyaWFs aXplZCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTmFtZShVUENQLCBQYWNrYWdlKCkNCj4gKyAg ICAgICAgew0KPiArICAgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAgLy9jb25uZWN0 YWJsZQ0KPiArICAgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAgICAgLy9Qcm9wcmlldGFy eSBjb25uZWN0b3IgKEZQQyBjb25uZWN0b3IpDQo+ICsgICAgICAgICAgMHgwMCwNCj4gKyAgICAg ICAgICAweDAwDQo+ICsgICAgICAgIH0pDQo+ICsNCj4gKyAgICAgICAgUmV0dXJuKFVQQ1ApDQo+ ICsgICAgICB9DQo+ICsgICAgICBNZXRob2QoX1BMRCwwLFNlcmlhbGl6ZWQpDQo+ICsgICAgICB7 DQo+ICsgICAgICAgIE5hbWUoUExEUCwgUGFja2FnZSgpDQo+ICsgICAgICAgIHsNCj4gKyAgICAg ICAgICBCdWZmZXIoMHgxNCkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAvLzMxOjAg ICAtIEJpdFs2OjBdPTIgcmV2aXNpb24gaXMgMHgyLCBCaXRbN109MSBJZ25vcmUgQ29sb3IgQml0 WzMxOjhdPTANCj4gUkdCIGNvbG9yIGlzIGlnbm9yZWQNCj4gKyAgICAgICAgICAgIDB4ODIsIDB4 MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAgICAgICAvLzYzOjMyIC0gQml0WzQ3OjMyXT0wIHdp ZHRoOiAweDAwMDAgIEJpdFs2Mzo0OF09MCBIZWlnaHQ6MHgwMDAwDQo+ICsgICAgICAgICAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwLA0KPiArICAgICAgICAgICAgLy85NTo2NCAtIGJpdFs2Njo2 NF09YicwMDAgbm90IFZpc2libGUvbm8gZG9ja2luZy9ubyBsaWQgYml0WzY5OjY3XT02DQo+IChi JzExMCkgdW5rbm93bihWZXJ0aWNhbCBQb3NpdGlvbiBhbmQgIEhvcml6b250YWwgUG9zaXRpb24g d2lsbCBiZSBpZ25vcmVkKQ0KPiArICAgICAgICAgICAgLy8gICAgICAgICAgIGJpdFs3MTo3MF09 YicwMCBWZXJ0aWNhbCBQb3NpdGlvbiBpZ25vcmUgYml0WzczOjcyXT1iJzAwDQo+IEhvcml6b250 YWwgUG9zaXRpb24gaWdub3JlDQo+ICsgICAgICAgICAgICAvLyAgICAgICAgICAgYml0Wzc3Ojc0 XT0yIFNxdWFyZSBiaXRbNzhdPTAgYml0Wzg2Ojc5XT0wIGJpdFs5NDo4N109JzAgbm8NCj4gZ3Jv dXAgaW5mbycgYml0Wzk1XT0wIG5vdCBhIGJheQ0KPiArICAgICAgICAgICAgMHgzMCwgMHgwOCwg MHgwMCwgMHgwMCwNCj4gKyAgICAgICAgICAgIC8vMTI3Ojk2IC1iaXRbOTZdPTAgbm90IEVqZWN0 YWJsZSBiaXRbOTddPTAgT1NQTSBFamVjdGlvbiBub3QNCj4gcmVxdWlyZWQgQml0WzEwNTo5OF09 MCBubyBDYWJpbmV0IE51bWJlcg0KPiArICAgICAgICAgICAgLy8gICAgICAgICAgICBiaXRbMTEz OjEwNl09MCBubyBDYXJkIGNhZ2UgTnVtYmVyIGJpdFsxMTRdPTAgbm8gcmVmZXJlbmNlDQo+IHNo YXBlIEJpdFsxMTg6MTE1XT0wIG5vIHJvdGF0aW9uIEJpdFsxMjM6MTE5XT0wIG5vIG9yZGVyDQo+ ICsgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLA0KPiArICAgICAgICAgICAgLy8x NTk6MTI4ICBWZXJ0LiBhbmQgSG9yaXouIE9mZnNldHMgbm90IHN1cHBsaWVkDQo+ICsgICAgICAg ICAgICAweEZGLCAweEZGLCAweEZGLCAweEZGDQo+ICsgICAgICAgICAgfQ0KPiArICAgICAgICB9 KQ0KPiArICAgICAgICBSZXR1cm4gKFBMRFApDQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ ICsgICAgRGV2aWNlKEhTQzIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIFVTQjIgSFNJQyAwMg0KPiArICAgIHsNCj4gKyAgICAgIE5hbWUoX0FEUiwgMHgwNikN Cj4gKw0KPiArICAgICAgTWV0aG9kKF9VUEMsMCxTZXJpYWxpemVkKQ0KPiArICAgICAgew0KPiAr ICAgICAgICBOYW1lKFVQQ1AsIFBhY2thZ2UoKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAg MHhGRiwgICAgICAgICAgICAgICAgICAgICAvL2Nvbm5lY3RhYmxlDQo+ICsgICAgICAgICAgMHhG RiwgICAgICAgICAgICAgICAgICAgICAvL1Byb3ByaWV0YXJ5IGNvbm5lY3RvciAoRlBDIGNvbm5l Y3RvcikNCj4gKyAgICAgICAgICAweDAwLA0KPiArICAgICAgICAgIDB4MDANCj4gKyAgICAgICAg fSkNCj4gKw0KPiArICAgICAgICBSZXR1cm4oVVBDUCkNCj4gKyAgICAgIH0NCj4gKyAgICAgIE1l dGhvZChfUExELDAsU2VyaWFsaXplZCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTmFtZShQTERQ LCBQYWNrYWdlKCkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIEJ1ZmZlcigweDE0KQ0KPiAr ICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgIC8vMzE6MCAgIC0gQml0WzY6MF09MiByZXZpc2lv biBpcyAweDIsIEJpdFs3XT0xIElnbm9yZSBDb2xvciBCaXRbMzE6OF09MA0KPiBSR0IgY29sb3Ig aXMgaWdub3JlZA0KPiArICAgICAgICAgICAgMHg4MiwgMHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAg ICAgICAgICAgIC8vNjM6MzIgLSBCaXRbNDc6MzJdPTAgd2lkdGg6IDB4MDAwMCAgQml0WzYzOjQ4 XT0wIEhlaWdodDoweDAwMDANCj4gKyAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs DQo+ICsgICAgICAgICAgICAvLzk1OjY0IC0gYml0WzY2OjY0XT1iJzAwMCBub3QgVmlzaWJsZS9u byBkb2NraW5nL25vIGxpZCBiaXRbNjk6NjddPTYNCj4gKGInMTEwKSB1bmtub3duKFZlcnRpY2Fs IFBvc2l0aW9uIGFuZCAgSG9yaXpvbnRhbCBQb3NpdGlvbiB3aWxsIGJlIGlnbm9yZWQpDQo+ICsg ICAgICAgICAgICAvLyAgICAgICAgICAgYml0WzcxOjcwXT1iJzAwIFZlcnRpY2FsIFBvc2l0aW9u IGlnbm9yZSBiaXRbNzM6NzJdPWInMDANCj4gSG9yaXpvbnRhbCBQb3NpdGlvbiBpZ25vcmUNCj4g KyAgICAgICAgICAgIC8vICAgICAgICAgICBiaXRbNzc6NzRdPTIgU3F1YXJlIGJpdFs3OF09MCBi aXRbODY6NzldPTAgYml0Wzk0Ojg3XT0nMCBubw0KPiBncm91cCBpbmZvJyBiaXRbOTVdPTAgbm90 IGEgYmF5DQo+ICsgICAgICAgICAgICAweDMwLCAweDA4LCAweDAwLCAweDAwLA0KPiArICAgICAg ICAgICAgLy8xMjc6OTYgLWJpdFs5Nl09MCBub3QgRWplY3RhYmxlIGJpdFs5N109MCBPU1BNIEVq ZWN0aW9uIG5vdA0KPiByZXF1aXJlZCBCaXRbMTA1Ojk4XT0wIG5vIENhYmluZXQgTnVtYmVyDQo+ ICsgICAgICAgICAgICAvLyAgICAgICAgICAgIGJpdFsxMTM6MTA2XT0wIG5vIENhcmQgY2FnZSBO dW1iZXIgYml0WzExNF09MCBubyByZWZlcmVuY2UNCj4gc2hhcGUgQml0WzExODoxMTVdPTAgbm8g cm90YXRpb24gQml0WzEyMzoxMTldPTAgbm8gb3JkZXINCj4gKyAgICAgICAgICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsDQo+ICsgICAgICAgICAgICAvLzE1OToxMjggIFZlcnQuIGFuZCBIb3Jp ei4gT2Zmc2V0cyBub3Qgc3VwcGxpZWQNCj4gKyAgICAgICAgICAgIDB4RkYsIDB4RkYsIDB4RkYs IDB4RkYNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAgIH0pDQo+ICsgICAgICAgIFJldHVybiAo UExEUCkNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0gIC8vZW5kIG9mIHJvb3QgaHViDQo+ ICsNCj4gK30gLy8gZW5kIG9mIFhIQzENCj4gKw0KPiBkaWZmIC0tZ2l0IGEvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9QY2lUcmVlLmFzbA0KPiBiL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNpVHJlZS5h c2wNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYTY0ZGJhZmM4 Ng0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGNpVHJlZS5hc2wNCj4gQEAgLTAsMCArMSwzNzcgQEANCj4g Ky8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioNCj4gKioqKioqKioqKioqKioqKio7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICo7DQo+ICs7KiAgICBJbnRlbCBDb3Jwb3JhdGlvbiAtIEFDUEkgUmVmZXJl bmNlIENvZGUgZm9yIHRoZSBTYW5keSBCcmlkZ2UgICAgICAgICo7DQo+ICs7KiAgICBGYW1pbHkg b2YgQ3VzdG9tZXIgUmVmZXJlbmNlIEJvYXJkcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ ICs7KiAgICBDb3B5cmlnaHQgKGMpIDIwMTIgIC0gMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQgICAgKjsNCj4gKzsNCj4gKzsgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKzsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4g KzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqKiovDQo+ICsNCj4g K1Njb3BlKFxfU0IpDQo+ICt7DQo+ICsvL1JUQw0KPiArICBEZXZpY2UoUlRDKSAgICAvLyBSVEMN Cj4gKyAgew0KPiArICAgIE5hbWUoX0hJRCxFSVNBSUQoIlBOUDBCMDAiKSkNCj4gKw0KPiArICAg IE5hbWUoX0NSUyxSZXNvdXJjZVRlbXBsYXRlKCkNCj4gKyAgICB7DQo+ICsgICAgICBJTyhEZWNv ZGUxNiwweDcwLDB4NzAsMHgwMSwweDA4KQ0KPiArICAgIH0pDQo+ICsNCj4gKyAgICBNZXRob2Qo X1NUQSwwLFNlcmlhbGl6ZWQpIHsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFJlcG9y dCBSVEMgQmF0dGVyeSBpcyBQcmVuc2VudCBvciBOb3QgUHJlc2VudC4NCj4gKyAgICAgIC8vDQo+ ICsgICAgICBJZiAoTEVxdWFsKEJBVFQsIDEpKSB7DQo+ICsgICAgICAgIFJldHVybiAoMHhGKQ0K PiArICAgICAgfQ0KPiArICAgICAgUmV0dXJuICgweDApDQo+ICsgICAgfQ0KPiArICB9DQo+ICsv L1JUQw0KPiArDQo+ICsgIERldmljZShIUEVUKSAgIC8vIEhpZ2ggUGVyZm9ybWFuY2UgRXZlbnQg VGltZXINCj4gKyAgew0KPiArICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAxMDMiKSkNCj4g KyAgICBOYW1lIChfVUlELCAweDAwKQ0KPiArICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFs aXplZCkNCj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4gKDB4MEYpDQo+ICsgICAgfQ0KPiArDQo+ ICsgICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQ0KPiArICAgIHsNCj4gKyAgICAgIE5h bWUgKFJCVUYsIFJlc291cmNlVGVtcGxhdGUgKCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTWVt b3J5MzJGaXhlZCAoUmVhZFdyaXRlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAweEZFRDAw MDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDAwNDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgKQ0KPiArICAgICAgICBJbnRlcnJ1cHQgKFJlc291cmNlQ29uc3VtZXIsIExldmVsLCBB Y3RpdmVIaWdoLCBFeGNsdXNpdmUsICwsICkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIDB4 MDAwMDAwMDgsICAgLy8weEIgSFBFVC0yDQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0pDQo+ICsg ICAgICBSZXR1cm4gKFJCVUYpDQo+ICsgICAgfQ0KPiArICB9DQo+ICsvL0hQRVQNCj4gKw0KPiAr ICBOYW1lKFBSMDAsIFBhY2thZ2UoKQ0KPiArICB7DQo+ICsvLyBTRCBIb3N0ICMwIC0gZU1NQw0K PiArICAgIFBhY2thZ2UoKSB7MHgwMDEwRkZGRiwgMCwgTE5LQSwgMCB9LA0KPiArLy8gU0QgSG9z dCAjMSAtIFNESU8NCj4gKyAgICBQYWNrYWdlKCkgezB4MDAxMUZGRkYsIDAsIExOS0IsIDAgfSwN Cj4gKy8vIFNEIEhvc3QgIzIgLSBTRCBDYXJkDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMTJGRkZG LCAwLCBMTktDLCAwIH0sDQo+ICsvLyBTQVRBIENvbnRyb2xsZXINCj4gKyAgICBQYWNrYWdlKCkg ezB4MDAxM0ZGRkYsIDAsIExOS0QsIDAgfSwNCj4gKy8vIHhIQ0kgSG9zdA0KPiArICAgIFBhY2th Z2UoKSB7MHgwMDE0RkZGRiwgMCwgTE5LRSwgMCB9LA0KPiArLy8gTG93IFBvd2VyIEF1ZGlvIEVu Z2luZQ0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDE1RkZGRiwgMCwgTE5LRiwgMCB9LA0KPiArLy8g VVNCIE9URw0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDE2RkZGRiwgMCwgTE5LRywgMCB9LA0KPiAr Ly8gTUlQSS1IU0kvZU1NQzQuNQ0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDE3RkZGRiwgMCwgTE5L SCwgMCB9LA0KPiArLy8gTFBTUzIgRE1BDQo+ICsvLyBMUFNTMiBJMkMgIzQNCj4gKyAgICBQYWNr YWdlKCkgezB4MDAxOEZGRkYsIDAsIExOS0IsIDAgfSwNCj4gKy8vIExQU1MyIEkyQyAjMQ0KPiAr Ly8gTFBTUzIgSTJDICM1DQo+ICsgICAgUGFja2FnZSgpIHsweDAwMThGRkZGLCAyLCBMTktELCAw IH0sDQo+ICsvLyBMUFNTMiBJMkMgIzINCj4gKy8vIExQU1MyIEkyQyAjNg0KPiArICAgIFBhY2th Z2UoKSB7MHgwMDE4RkZGRiwgMywgTE5LQywgMCB9LA0KPiArLy8gTFBTUzIgSTJDICMzDQo+ICsv LyBMUFNTMiBJMkMgIzcNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAxOEZGRkYsIDEsIExOS0EsIDAg fSwNCj4gKy8vIFNlQw0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDFBRkZGRiwgMCwgTE5LRiwgMCB9 LA0KPiArLy8NCj4gKy8vIEhpZ2ggRGVmaW5pdGlvbiBBdWRpbyBDb250cm9sbGVyDQo+ICsgICAg UGFja2FnZSgpIHsweDAwMUJGRkZGLCAwLCBMTktHLCAwIH0sDQo+ICsvLw0KPiArLy8gRUhDSSBD b250cm9sbGVyDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMURGRkZGLCAwLCBMTktILCAwIH0sDQo+ ICsvLyBMUFNTIERNQQ0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDFFRkZGRiwgMCwgTE5LRCwgMCB9 LA0KPiArLy8gTFBTUyBJMkMgIzANCj4gKyAgICBQYWNrYWdlKCkgezB4MDAxRUZGRkYsIDMsIExO S0EsIDAgfSwNCj4gKy8vIExQU1MgSTJDICMxDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMUVGRkZG LCAxLCBMTktCLCAwIH0sDQo+ICsvLyBMUFNTIFBDTQ0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDFF RkZGRiwgMiwgTE5LQywgMCB9LA0KPiArLy8gTFBTUyBJMlMNCj4gKy8vIExQU1MgSFMtVUFSVCAj MA0KPiArLy8gTFBTUyBIUy1VQVJUICMxDQo+ICsvLyBMUFNTIFNQSQ0KPiArLy8gTFBDIEJyaWRn ZQ0KPiArLy8NCj4gKy8vIFNNQnVzIENvbnRyb2xsZXINCj4gKyAgICBQYWNrYWdlKCkgezB4MDAx RkZGRkYsIDEsIExOS0MsIDAgfSwNCj4gKy8vDQo+ICsvLyBQQ0lFIFJvb3QgUG9ydCAjMQ0KPiAr ICAgIFBhY2thZ2UoKSB7MHgwMDFDRkZGRiwgMCwgTE5LQSwgMCB9LA0KPiArLy8gUENJRSBSb290 IFBvcnQgIzINCj4gKyAgICBQYWNrYWdlKCkgezB4MDAxQ0ZGRkYsIDEsIExOS0IsIDAgfSwNCj4g Ky8vIFBDSUUgUm9vdCBQb3J0ICMzDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMUNGRkZGLCAyLCBM TktDLCAwIH0sDQo+ICsvLyBQQ0lFIFJvb3QgUG9ydCAjNA0KPiArICAgIFBhY2thZ2UoKSB7MHgw MDFDRkZGRiwgMywgTE5LRCwgMCB9LA0KPiArDQo+ICsvLyBIb3N0IEJyaWRnZQ0KPiArLy8gTW9i aWxlIElHRlgNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMkZGRkYsIDAsIExOS0EsIDAgfSwNCj4g KyAgfSkNCj4gKw0KPiArICBOYW1lKEFSMDAsIFBhY2thZ2UoKQ0KPiArICB7DQo+ICsvLyBTRCBI b3N0ICMwIC0gZU1NQw0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDEwRkZGRiwgMCwgMCwgMTYgfSwN Cj4gKy8vIFNEIEhvc3QgIzEgLSBTRElPDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMTFGRkZGLCAw LCAwLCAxNyB9LA0KPiArLy8gU0QgSG9zdCAjMiAtIFNEIENhcmQNCj4gKyAgICBQYWNrYWdlKCkg ezB4MDAxMkZGRkYsIDAsIDAsIDE4IH0sDQo+ICsvLyBTQVRBIENvbnRyb2xsZXINCj4gKyAgICBQ YWNrYWdlKCkgezB4MDAxM0ZGRkYsIDAsIDAsIDE5IH0sDQo+ICsvLyB4SENJIEhvc3QNCj4gKyAg ICBQYWNrYWdlKCkgezB4MDAxNEZGRkYsIDAsIDAsIDIwIH0sDQo+ICsvLyBMb3cgUG93ZXIgQXVk aW8gRW5naW5lDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMTVGRkZGLCAwLCAwLCAyMSB9LA0KPiAr Ly8gVVNCIE9URw0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDE2RkZGRiwgMCwgMCwgMjIgfSwNCj4g Ky8vDQo+ICsvLyBNSVBJLUhTSQ0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDE3RkZGRiwgMCwgMCwg MjMgfSwNCj4gKy8vDQo+ICsvLyBMUFNTMiBETUENCj4gKy8vIExQU1MyIEkyQyAjNA0KPiArICAg IFBhY2thZ2UoKSB7MHgwMDE4RkZGRiwgMCwgMCwgMTcgfSwNCj4gKy8vIExQU1MyIEkyQyAjMQ0K PiArLy8gTFBTUzIgSTJDICM1DQo+ICsgICAgUGFja2FnZSgpIHsweDAwMThGRkZGLCAyLCAwLCAx OSB9LA0KPiArLy8gTFBTUzIgSTJDICMyDQo+ICsvLyBMUFNTMiBJMkMgIzYNCj4gKyAgICBQYWNr YWdlKCkgezB4MDAxOEZGRkYsIDMsIDAsIDE4IH0sDQo+ICsvLyBMUFNTMiBJMkMgIzMNCj4gKy8v IExQU1MyIEkyQyAjNw0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDE4RkZGRiwgMSwgMCwgMTYgfSwN Cj4gKw0KPiArLy8gU2VDDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMUFGRkZGLCAwLCAwLCAyMSB9 LA0KPiArLy8NCj4gKy8vIEhpZ2ggRGVmaW5pdGlvbiBBdWRpbyBDb250cm9sbGVyDQo+ICsgICAg UGFja2FnZSgpIHsweDAwMUJGRkZGLCAwLCAwLCAyMiB9LA0KPiArLy8NCj4gKy8vIEVIQ0kgQ29u dHJvbGxlcg0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDFERkZGRiwgMCwgMCwgMjMgfSwNCj4gKy8v IExQU1MgRE1BDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMUVGRkZGLCAwLCAwLCAxOSB9LA0KPiAr Ly8gTFBTUyBJMkMgIzANCj4gKyAgICBQYWNrYWdlKCkgezB4MDAxRUZGRkYsIDMsIDAsIDE2IH0s DQo+ICsvLyBMUFNTIEkyQyAjMQ0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDFFRkZGRiwgMSwgMCwg MTcgfSwNCj4gKy8vIExQU1MgUENNDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMUVGRkZGLCAyLCAw LCAxOCB9LA0KPiArLy8gTFBTUyBJMlMNCj4gKy8vIExQU1MgSFMtVUFSVCAjMA0KPiArLy8gTFBT UyBIUy1VQVJUICMxDQo+ICsvLyBMUFNTIFNQSQ0KPiArLy8gTFBDIEJyaWRnZQ0KPiArLy8NCj4g Ky8vIFNNQnVzIENvbnRyb2xsZXINCj4gKyAgICBQYWNrYWdlKCkgezB4MDAxRkZGRkYsIDEsIDAs IDE4IH0sDQo+ICsvLw0KPiArLy8gUENJRSBSb290IFBvcnQgIzENCj4gKyAgICBQYWNrYWdlKCkg ezB4MDAxQ0ZGRkYsIDAsIDAsIDE2IH0sDQo+ICsvLyBQQ0lFIFJvb3QgUG9ydCAjMg0KPiArICAg IFBhY2thZ2UoKSB7MHgwMDFDRkZGRiwgMSwgMCwgMTcgfSwNCj4gKy8vIFBDSUUgUm9vdCBQb3J0 ICMzDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMUNGRkZGLCAyLCAwLCAxOCB9LA0KPiArLy8gUENJ RSBSb290IFBvcnQgIzQNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAxQ0ZGRkYsIDMsIDAsIDE5IH0s DQo+ICsvLyBIb3N0IEJyaWRnZQ0KPiArLy8gTW9iaWxlIElHRlgNCj4gKyAgICBQYWNrYWdlKCkg ezB4MDAwMkZGRkYsIDAsIDAsIDE2IH0sDQo+ICsgIH0pDQo+ICsNCj4gKyAgTmFtZShQUjA0LCBQ YWNrYWdlKCkNCj4gKyAgew0KPiArLy8gUENJRSBQb3J0ICMxIFNsb3QNCj4gKyAgICBQYWNrYWdl KCkgezB4MDAwMEZGRkYsIDAsIExOS0EsIDAgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZG RkYsIDEsIExOS0IsIDAgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYsIDIsIExOS0Ms IDAgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYsIDMsIExOS0QsIDAgfSwNCj4gKyAg fSkNCj4gKw0KPiArICBOYW1lKEFSMDQsIFBhY2thZ2UoKQ0KPiArICB7DQo+ICsvLyBQQ0lFIFBv cnQgIzEgU2xvdA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAwRkZGRiwgMCwgMCwgMTYgfSwNCj4g KyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYsIDEsIDAsIDE3IH0sDQo+ICsgICAgUGFja2FnZSgp IHsweDAwMDBGRkZGLCAyLCAwLCAxOCB9LA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAwRkZGRiwg MywgMCwgMTkgfSwNCj4gKyAgfSkNCj4gKw0KPiArICBOYW1lKFBSMDUsIFBhY2thZ2UoKQ0KPiAr ICB7DQo+ICsvLyBQQ0lFIFBvcnQgIzIgU2xvdA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAwRkZG RiwgMCwgTE5LQiwgMCB9LA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAwRkZGRiwgMSwgTE5LQywg MCB9LA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAwRkZGRiwgMiwgTE5LRCwgMCB9LA0KPiArICAg IFBhY2thZ2UoKSB7MHgwMDAwRkZGRiwgMywgTE5LQSwgMCB9LA0KPiArICB9KQ0KPiArDQo+ICsg IE5hbWUoQVIwNSwgUGFja2FnZSgpDQo+ICsgIHsNCj4gKy8vIFBDSUUgUG9ydCAjMiBTbG90DQo+ ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZGLCAwLCAwLCAxNyB9LA0KPiArICAgIFBhY2thZ2Uo KSB7MHgwMDAwRkZGRiwgMSwgMCwgMTggfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYs IDIsIDAsIDE5IH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZGLCAzLCAwLCAxNiB9LA0K PiArICB9KQ0KPiArDQo+ICsgIE5hbWUoUFIwNiwgUGFja2FnZSgpDQo+ICsgIHsNCj4gKy8vIFBD SUUgUG9ydCAjMyBTbG90DQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZGLCAwLCBMTktDLCAw IH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZGLCAxLCBMTktELCAwIH0sDQo+ICsgICAg UGFja2FnZSgpIHsweDAwMDBGRkZGLCAyLCBMTktBLCAwIH0sDQo+ICsgICAgUGFja2FnZSgpIHsw eDAwMDBGRkZGLCAzLCBMTktCLCAwIH0sDQo+ICsgIH0pDQo+ICsNCj4gKyAgTmFtZShBUjA2LCBQ YWNrYWdlKCkNCj4gKyAgew0KPiArLy8gUENJRSBQb3J0ICMzIFNsb3QNCj4gKyAgICBQYWNrYWdl KCkgezB4MDAwMEZGRkYsIDAsIDAsIDE4IH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZG LCAxLCAwLCAxOSB9LA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAwRkZGRiwgMiwgMCwgMTYgfSwN Cj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYsIDMsIDAsIDE3IH0sDQo+ICsgIH0pDQo+ICsN Cj4gKyAgTmFtZShQUjA3LCBQYWNrYWdlKCkNCj4gKyAgew0KPiArLy8gUENJRSBQb3J0ICM0IFNs b3QNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYsIDAsIExOS0QsIDAgfSwNCj4gKyAgICBQ YWNrYWdlKCkgezB4MDAwMEZGRkYsIDEsIExOS0EsIDAgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4 MDAwMEZGRkYsIDIsIExOS0IsIDAgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYsIDMs IExOS0MsIDAgfSwNCj4gKyAgfSkNCj4gKw0KPiArICBOYW1lKEFSMDcsIFBhY2thZ2UoKQ0KPiAr ICB7DQo+ICsvLyBQQ0lFIFBvcnQgIzQgU2xvdA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAwRkZG RiwgMCwgMCwgMTkgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYsIDEsIDAsIDE2IH0s DQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZGLCAyLCAwLCAxNyB9LA0KPiArICAgIFBhY2th Z2UoKSB7MHgwMDAwRkZGRiwgMywgMCwgMTggfSwNCj4gKyAgfSkNCj4gKw0KPiArICBOYW1lKFBS MDEsIFBhY2thZ2UoKQ0KPiArICB7DQo+ICsvLyBQQ0kgc2xvdCAxDQo+ICsgICAgUGFja2FnZSgp IHsweDAwMDBGRkZGLCAwLCBMTktGLCAwIH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZG LCAxLCBMTktHLCAwIH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZGLCAyLCBMTktILCAw IH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZGLCAzLCBMTktFLCAwIH0sDQo+ICsvLyBQ Q0kgc2xvdCAyDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDFGRkZGLCAwLCBMTktHLCAwIH0sDQo+ ICsgICAgUGFja2FnZSgpIHsweDAwMDFGRkZGLCAxLCBMTktGLCAwIH0sDQo+ICsgICAgUGFja2Fn ZSgpIHsweDAwMDFGRkZGLCAyLCBMTktFLCAwIH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDFG RkZGLCAzLCBMTktILCAwIH0sDQo+ICsvLyBQQ0kgc2xvdCAzDQo+ICsgICAgUGFja2FnZSgpIHsw eDAwMDJGRkZGLCAwLCBMTktDLCAwIH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDJGRkZGLCAx LCBMTktELCAwIH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDJGRkZGLCAyLCBMTktCLCAwIH0s DQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDJGRkZGLCAzLCBMTktBLCAwIH0sDQo+ICsvLyBQQ0kg c2xvdCA0DQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDNGRkZGLCAwLCBMTktELCAwIH0sDQo+ICsg ICAgUGFja2FnZSgpIHsweDAwMDNGRkZGLCAxLCBMTktDLCAwIH0sDQo+ICsgICAgUGFja2FnZSgp IHsweDAwMDNGRkZGLCAyLCBMTktGLCAwIH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDNGRkZG LCAzLCBMTktHLCAwIH0sDQo+ICsgIH0pDQo+ICsNCj4gKyAgTmFtZShBUjAxLCBQYWNrYWdlKCkN Cj4gKyAgew0KPiArLy8gUENJIHNsb3QgMQ0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAwRkZGRiwg MCwgMCwgMjEgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMEZGRkYsIDEsIDAsIDIyIH0sDQo+ ICsgICAgUGFja2FnZSgpIHsweDAwMDBGRkZGLCAyLCAwLCAyMyB9LA0KPiArICAgIFBhY2thZ2Uo KSB7MHgwMDAwRkZGRiwgMywgMCwgMjAgfSwNCj4gKy8vIFBDSSBzbG90IDINCj4gKyAgICBQYWNr YWdlKCkgezB4MDAwMUZGRkYsIDAsIDAsIDIyIH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDFG RkZGLCAxLCAwLCAyMSB9LA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAxRkZGRiwgMiwgMCwgMjAg fSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwMUZGRkYsIDMsIDAsIDIzIH0sDQo+ICsvLyBQQ0kg c2xvdCAzDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDJGRkZGLCAwLCAwLCAxOCB9LA0KPiArICAg IFBhY2thZ2UoKSB7MHgwMDAyRkZGRiwgMSwgMCwgMTkgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4 MDAwMkZGRkYsIDIsIDAsIDE3IH0sDQo+ICsgICAgUGFja2FnZSgpIHsweDAwMDJGRkZGLCAzLCAw LCAxNiB9LA0KPiArLy8gUENJIHNsb3QgNA0KPiArICAgIFBhY2thZ2UoKSB7MHgwMDAzRkZGRiwg MCwgMCwgMTkgfSwNCj4gKyAgICBQYWNrYWdlKCkgezB4MDAwM0ZGRkYsIDEsIDAsIDE4IH0sDQo+ ICsgICAgUGFja2FnZSgpIHsweDAwMDNGRkZGLCAyLCAwLCAyMSB9LA0KPiArICAgIFBhY2thZ2Uo KSB7MHgwMDAzRkZGRiwgMywgMCwgMjIgfSwNCj4gKyAgfSkNCj4gKy8vLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+ICsvLyBMaXN0IG9mIElSUSByZXNvdXJjZSBidWZmZXJzIGNvbXBhdGlibGUgd2l0aCBf UFJTIHJldHVybiBmb3JtYXQuDQo+ICsvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArLy8gTmFtaW5n IGxlZ2VuZDoNCj4gKy8vIFJTeHksIFBSU3kgLSBuYW1lIG9mIHRoZSBJUlEgcmVzb3VyY2UgYnVm ZmVyIHRvIGJlIHJldHVybmVkIGJ5IF9QUlMsDQo+ICJ4eSIgLSBsYXN0IHR3byBjaGFyYWN0ZXJz IG9mIElSUSBMaW5rIG5hbWUuDQo+ICsvLyBOb3RlLiBQUlN5IG5hbWUgaXMgZ2VuZXJhdGVkIGlm IElSUSBMaW5rIG5hbWUgc3RhcnRzIGZyb20gIkxOSyIuDQo+ICsvLyBITHh5ICwgTEx4eSAtIHJl ZmVyZW5jZSBuYW1lcywgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIGJpdCBtYXNrIG9mIGF2YWlsYWJs ZQ0KPiBJUlFzLiBITCBhbmQgTEwgc3RhbmQgZm9yIGFjdGl2ZSBIaWdoKExvdykgTGV2ZWwgdHJp Z2dlcmVkIElycSBtb2RlbC4NCj4gKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsgIE5hbWUoUFJT QSwgUmVzb3VyY2VUZW1wbGF0ZSgpICAgICAgICAgLy8gTGluayBuYW1lOiBMTktBDQo+ICsgIHsN Cj4gKyAgICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCBMTEtBKSB7Myw0LDUsNiwxMCwx MSwxMiwxNCwxNX0NCj4gKyAgfSkNCj4gKyAgQWxpYXMoUFJTQSxQUlNCKSAgICAgIC8vIExpbmsg bmFtZTogTE5LQg0KPiArICBBbGlhcyhQUlNBLFBSU0MpICAgICAgLy8gTGluayBuYW1lOiBMTktD DQo+ICsgIEFsaWFzKFBSU0EsUFJTRCkgICAgICAvLyBMaW5rIG5hbWU6IExOS0QNCj4gKyAgQWxp YXMoUFJTQSxQUlNFKSAgICAgIC8vIExpbmsgbmFtZTogTE5LRQ0KPiArICBBbGlhcyhQUlNBLFBS U0YpICAgICAgLy8gTGluayBuYW1lOiBMTktGDQo+ICsgIEFsaWFzKFBSU0EsUFJTRykgICAgICAv LyBMaW5rIG5hbWU6IExOS0cNCj4gKyAgQWxpYXMoUFJTQSxQUlNIKSAgICAgIC8vIExpbmsgbmFt ZTogTE5LSA0KPiArLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy8vIEJlZ2luIFBDSSB0cmVlIG9i amVjdCBzY29wZQ0KPiArLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArICBEZXZpY2UoUENJ MCkgICAvLyBQQ0kgQnJpZGdlICJIb3N0IEJyaWRnZSINCj4gKyAgew0KPiArICAgIE5hbWUoX0hJ RCwgRUlTQUlEKCJQTlAwQTA4IikpICAgICAgIC8vIEluZGljYXRlcyBQQ0kgRXhwcmVzcy9QQ0kt WA0KPiBNb2RlMiBob3N0IGhpZXJhcmNoeQ0KPiArICAgIE5hbWUoX0NJRCwgRUlTQUlEKCJQTlAw QTAzIikpICAgICAgIC8vIFRvIHN1cHBvcnQgbGVnYWN5IE9TIHRoYXQgZG9lc24ndA0KPiB1bmRl cnN0YW5kIHRoZSBuZXcgSElEDQo+ICsgICAgTmFtZShfQURSLCAweDAwMDAwMDAwKQ0KPiArICAg IE1ldGhvZCheQk4wMCwgMCkgeyByZXR1cm4oMHgwMDAwKSB9IC8vIFJldHVybnMgZGVmYXVsdCBC dXMgbnVtYmVyIGZvcg0KPiBQZWVyIFBDSSBidXNzZXMuIE5hbWUgY2FuIGJlIG92ZXJyaWRlbiB3 aXRoIGNvbnRyb2wgbWV0aG9kIHBsYWNlZCBkaXJlY3RseQ0KPiB1bmRlciBEZXZpY2Ugc2NvcGUN Cj4gKyAgICBNZXRob2QoX0JCTiwgMCkgeyByZXR1cm4oQk4wMCgpKSB9ICAvLyBCdXMgbnVtYmVy LCBvcHRpb25hbCBmb3IgdGhlIFJvb3QNCj4gUENJIEJ1cw0KPiArICAgIE5hbWUoX1VJRCwgMHgw MDAwKSAgLy8gVW5pcXVlIEJ1cyBJRCwgb3B0aW9uYWwNCj4gKyAgICBOYW1lKF9ERVAsIFBhY2th Z2UoMHgxKQ0KPiArICAgIHsNCj4gKyAgICAgIFBFUEQNCj4gKyAgICB9KQ0KPiArDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kKF9QUlQsMCkNCj4gKyAgICB7DQo+ICsgICAg ICBJZihQSUNNKSB7UmV0dXJuKEFSMDApfSAvLyBBUElDIG1vZGUNCj4gKyAgICAgIFJldHVybiAo UFIwMCkgLy8gUElDIE1vZGUNCj4gKyAgICB9IC8vIGVuZCBfUFJUDQo+ICsNCj4gKyAgICBpbmNs dWRlKCJIT1NUX0JVUy5BU0wiKQ0KPiArICAgIERldmljZShMUENCKSAgIC8vIExQQyBCcmlkZ2UN Cj4gKyAgICB7DQo+ICsgICAgICBOYW1lKF9BRFIsIDB4MDAxRjAwMDApDQo+ICsgICAgICBpbmNs dWRlKCJMcGNCLmFzbCIpDQo+ICsgICAgfSAvLyBlbmQgIkxQQyBCcmlkZ2UiDQo+ICsNCj4gKyAg fSAvLyBlbmQgUENJMCBCcmlkZ2UgIkhvc3QgQnJpZGdlIg0KPiArfSAvLyBlbmQgX1NCIHNjb3Bl DQo+IGRpZmYgLS1naXQgYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlU YWJsZXNQQ0FUL1BsYXRmb3JtLmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvQWNwaVRhYmxlc1BDQVQvUGxhdGZvcm0uYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjc4NGViMDlmOTANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysg Yi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1BsYXRm b3JtLmFzbA0KPiBAQCAtMCwwICsxLDcwMyBAQA0KPiArLyoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioqKjsN Cj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAg IEludGVsIENvcnBvcmF0aW9uIC0gQUNQSSBSZWZlcmVuY2UgQ29kZSBmb3IgdGhlIEJheXRyYWls ICAgICAgICAgICAgKjsNCj4gKzsqICAgIEZhbWlseSBvZiBDdXN0b21lciBSZWZlcmVuY2UgQm9h cmRzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgIENvcHlyaWdodCAoYykgMjAx MiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZCAgICAqOw0K PiArOw0KPiArOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiArOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiAr OyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Kg0KPiAqKioqKioqKioqKioqKioqKi8NCj4gKw0KPiArDQo+ICsvLyBEZWZpbmUgdGhlIGZvbGxv d2luZyBFeHRlcm5hbCB2YXJpYWJsZXMgdG8gcHJldmVudCBhIFdBUk5JTkcgd2hlbg0KPiArLy8g dXNpbmcgQVNMLkVYRSBhbmQgYW4gRVJST1Igd2hlbiB1c2luZyBJQVNMLkVYRS4NCj4gKw0KPiAr RXh0ZXJuYWwoUERDMCkNCj4gK0V4dGVybmFsKFBEQzEpDQo+ICtFeHRlcm5hbChQREMyKQ0KPiAr RXh0ZXJuYWwoUERDMykNCj4gK0V4dGVybmFsKENGR0QpDQo+ICtFeHRlcm5hbChcX1BSLkNQVTAu X1BQQywgSW50T2JqKQ0KPiArRXh0ZXJuYWwoXF9TQi5QQ0kwLkxQQ0IuVFBNLlBUUywgTWV0aG9k T2JqKQ0KPiArRXh0ZXJuYWwoXF9TQi5TVFIzLCBEZXZpY2VPYmopDQo+ICtFeHRlcm5hbChcX1NC LkkyQzEuQkFUQywgRGV2aWNlT2JqKQ0KPiArRXh0ZXJuYWwoXF9TQi5EUFRGLCBEZXZpY2VPYmop DQo+ICtFeHRlcm5hbChcX1NCLlRDSEcsIERldmljZU9iaikNCj4gK0V4dGVybmFsKFxfU0IuSUFP RS5QVFNMKQ0KPiArRXh0ZXJuYWwoXF9TQi5JQU9FLldLUlMpDQo+ICsNCj4gKy8vDQo+ICsvLyBD cmVhdGUgYSBHbG9iYWwgTVVURVguDQo+ICsvLw0KPiArTXV0ZXgoTVVUWCwwKQ0KPiArDQo+ICsN Cj4gKw0KPiArLy8gUG9ydCA4MGggVXBkYXRlOg0KPiArLy8gICAgICAgICAgICAgIFVwZGF0ZSA4 IGJpdHMgb2YgdGhlIDMyLWJpdCBQb3J0IDgwaC4NCj4gKy8vDQo+ICsvLyAgICAgIEFyZ3VtZW50 czoNCj4gKy8vICAgICAgICAgICAgICBBcmcwOiAgIDAgPSBXcml0ZSBQb3J0IDgwaCwgQml0cyA3 OjAgT25seS4NCj4gKy8vICAgICAgICAgICAgICAgICAgICAgIDEgPSBXcml0ZSBQb3J0IDgwaCwg Qml0cyAxNTo4IE9ubHkuDQo+ICsvLyAgICAgICAgICAgICAgICAgICAgICAyID0gV3JpdGUgUG9y dCA4MGgsIEJpdHMgMjM6MTYgT25seS4NCj4gKy8vICAgICAgICAgICAgICAgICAgICAgIDMgPSBX cml0ZSBQb3J0IDgwaCwgQml0cyAzMToyNCBPbmx5Lg0KPiArLy8gICAgICAgICAgICAgIEFyZzE6 ICAgOC1iaXQgVmFsdWUgdG8gd3JpdGUNCj4gKy8vDQo+ICsvLyAgICAgIFJldHVybiBWYWx1ZToN Cj4gKy8vICAgICAgICAgICAgICBOb25lDQo+ICsNCj4gK01ldGhvZChQOFhILDIsU2VyaWFsaXpl ZCkNCj4gK3sNCj4gKyAgSWYoTEVxdWFsKEFyZzAsMCkpICAgICAgICAgICAgLy8gV3JpdGUgUG9y dCA4MGgsIEJpdHMgNzowLg0KPiArICB7DQo+ICsgICAgU3RvcmUoT3IoQW5kKFA4MEQsMHhGRkZG RkYwMCksQXJnMSksUDgwRCkNCj4gKyAgfQ0KPiArDQo+ICsgIElmKExFcXVhbChBcmcwLDEpKSAg ICAgICAgICAgIC8vIFdyaXRlIFBvcnQgODBoLCBCaXRzIDE1OjguDQo+ICsgIHsNCj4gKyAgICBT dG9yZShPcihBbmQoUDgwRCwweEZGRkYwMEZGKSxTaGlmdExlZnQoQXJnMSw4KSksUDgwRCkNCj4g KyAgfQ0KPiArDQo+ICsgIElmKExFcXVhbChBcmcwLDIpKSAgICAgICAgICAgIC8vIFdyaXRlIFBv cnQgODBoLCBCaXRzIDIzOjE2Lg0KPiArICB7DQo+ICsgICAgU3RvcmUoT3IoQW5kKFA4MEQsMHhG RjAwRkZGRiksU2hpZnRMZWZ0KEFyZzEsMTYpKSxQODBEKQ0KPiArICB9DQo+ICsNCj4gKyAgSWYo TEVxdWFsKEFyZzAsMykpICAgICAgICAgICAgLy8gV3JpdGUgUG9ydCA4MGgsIEJpdHMgMzE6MjQu DQo+ICsgIHsNCj4gKyAgICBTdG9yZShPcihBbmQoUDgwRCwweDAwRkZGRkZGKSxTaGlmdExlZnQo QXJnMSwyNCkpLFA4MEQpDQo+ICsgIH0NCj4gKw0KPiArfQ0KPiArDQo+ICsvLw0KPiArLy8gRGVm aW5lIFNXIFNNSSBwb3J0IGFzIGFuIEFDUEkgT3BlcmF0aW5nIFJlZ2lvbiB0byB1c2UgZm9yIGdl bmVyYXRlIFNXDQo+IFNNSS4NCj4gKy8vDQo+ICtPcGVyYXRpb25SZWdpb24gKFNQUlQsIFN5c3Rl bUlPLCAweEIyLCAyKQ0KPiArRmllbGQgKFNQUlQsIEJ5dGVBY2MsIExvY2ssIFByZXNlcnZlKQ0K PiArew0KPiArICBTU01QLCA4DQo+ICt9DQo+ICsNCj4gKy8vIFRoZSBfUElDIENvbnRyb2wgTWV0 aG9kIGlzIG9wdGlvbmFsIGZvciBBQ1BJIGRlc2lnbi4gIEl0IGFsbG93cyB0aGUNCj4gKy8vIE9T IHRvIGluZm9ybSB0aGUgQVNMIGNvZGUgd2hpY2ggaW50ZXJydXB0IGNvbnRyb2xsZXIgaXMgYmVp bmcgdXNlZCwNCj4gKy8vIHRoZSA4MjU5IG9yIEFQSUMuICBUaGUgcmVmZXJlbmNlIGNvZGUgaW4g dGhpcyBkb2N1bWVudCB3aWxsIGFkZHJlc3MNCj4gKy8vIFBDSSBJUlEgUm91dGluZyBhbmQgcmVz b3VyY2UgYWxsb2NhdGlvbiBmb3IgYm90aCBjYXNlcy4NCj4gKy8vDQo+ICsvLyBUaGUgdmFsdWVz IHBhc3NlZCBpbnRvIF9QSUMgYXJlOg0KPiArLy8gICAgICAgMCA9IDgyNTkNCj4gKy8vICAgICAg IDEgPSBJT0FQSUMNCj4gKw0KPiArTWV0aG9kKFxfUElDLDEpDQo+ICt7DQo+ICsgIFN0b3JlKEFy ZzAsR1BJQykNCj4gKyAgU3RvcmUoQXJnMCxQSUNNKQ0KPiArfQ0KPiArDQo+ICtPcGVyYXRpb25S ZWdpb24oU1dDMCwgU3lzdGVtSU8sIDB4NjEwLCAweDBGKQ0KPiArRmllbGQoU1dDMCwgQnl0ZUFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkNCj4gK3sNCj4gKyAgRzFTLCA4LCAgICAgIC8vU1dDIEdQRTFf U1RTDQo+ICsgIE9mZnNldCgweDQpLA0KPiArICBHMUUsIDgsDQo+ICsgIE9mZnNldCgweEEpLA0K PiArICBHMVMyLCA4LCAgICAgLy9TV0MgR1BFMV9TVFNfMg0KPiArICBHMVMzLCA4ICAgICAgLy9T V0MgR1BFMV9TVFNfMw0KPiArfQ0KPiArDQo+ICtPcGVyYXRpb25SZWdpb24gKFNXQzEsIFN5c3Rl bUlPLCBcUE1CUywgMHgyQykNCj4gK0ZpZWxkKFNXQzEsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNl cnZlKQ0KPiArew0KPiArICBPZmZzZXQoMHgyMCksDQo+ICsgIEcwUywgMzIsICAgICAgLy9HUEUw X1NUUw0KPiArICBPZmZzZXQoMHgyOCksDQo+ICsgIEcwRU4sIDMyICAgICAgLy9HUEUwX0VODQo+ ICt9DQo+ICsNCj4gKy8vIFByZXBhcmUgdG8gU2xlZXAuICBUaGUgaG9vayBpcyBjYWxsZWQgd2hl biB0aGUgT1MgaXMgYWJvdXQgdG8NCj4gKy8vIGVudGVyIGEgc2xlZXAgc3RhdGUuICBUaGUgYXJn dW1lbnQgcGFzc2VkIGlzIHRoZSBudW1lcmljIHZhbHVlIG9mDQo+ICsvLyB0aGUgU3ggc3RhdGUu DQo+ICsNCj4gK01ldGhvZChfUFRTLDEpDQo+ICt7DQo+ICsgIFN0b3JlKDAsUDgwRCkgICAgICAg ICAvLyBaZXJvIG91dCB0aGUgZW50aXJlIFBvcnQgODBoIERXb3JkLg0KPiArICBQOFhIKDAsQXJn MCkgICAgICAgICAgLy8gT3V0cHV0IFNsZWVwIFN0YXRlIHRvIFBvcnQgODBoLCBCeXRlIDAuDQo+ ICsNCj4gKyAgLy9jbGVhciB0aGUgMyBTV0Mgc3RhdHVzIGJpdHMNCj4gKyAgU3RvcmUoT25lcywg RzFTMykNCj4gKyAgU3RvcmUoT25lcywgRzFTMikNCj4gKyAgU3RvcmUoMSwgRzFTKQ0KPiArDQo+ ICsgIC8vc2V0IFNXQyBHUEUxX0VODQo+ICsgIFN0b3JlKDEsRzFFKQ0KPiArDQo+ICsgIC8vY2xl YXIgR1BFMF9TVFMNCj4gKyAgU3RvcmUoT25lcywgRzBTKQ0KPiArDQo+ICsNCj4gKyAgSWYoTEVx dWFsKEFyZzAsMykpICAgLy8gSWYgUzMgU3VzcGVuZA0KPiArICB7DQo+ICsgICAgLy8NCj4gKyAg ICAvLyBEaXNhYmxlIERpZ2l0YWwgVGhlcm1hbCBTZW5zb3IgZnVuY3Rpb24gd2hlbiBkb2luZyBT MyBzdXNwZW5kDQo+ICsgICAgLy8NCj4gKyAgICBJZihDb25kUmVmT2YoRFRTRSkpDQo+ICsgICAg ew0KPiArICAgICAgSWYoTEdyZWF0ZXJFcXVhbChEVFNFLCAweDAxKSkNCj4gKyAgICAgIHsNCj4g KyAgICAgICAgU3RvcmUoMzAsIERUU0YpIC8vIERJU0FCTEVfVVBEQVRFX0RUU19FVkVSWV9TTUkN Cj4gKyAgICAgICAgU3RvcmUoMHhEMCwgU1NNUCkgLy8gRFRTIFNXIFNNSQ0KPiArICAgICAgfQ0K PiArICAgIH0NCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvLyBXYWtlLiAgVGhpcyBob29rIGlzIGNh bGxlZCB3aGVuIHRoZSBPUyBpcyBhYm91dCB0byB3YWtlIGZyb20gYQ0KPiArLy8gc2xlZXAgc3Rh dGUuICBUaGUgYXJndW1lbnQgcGFzc2VkIGlzIHRoZSBudW1lcmljIHZhbHVlIG9mIHRoZQ0KPiAr Ly8gc2xlZXAgc3RhdGUgdGhlIHN5c3RlbSBpcyB3YWtpbmcgZnJvbS4NCj4gK01ldGhvZChfV0FL LDEsU2VyaWFsaXplZCkNCj4gK3sNCj4gKyAgUDhYSCgxLDB4QUIpIC8vIEJlZ2lubmluZyBvZiBf V0FLLg0KPiArDQo+ICsgIE5vdGlmeShcX1NCLlBXUkIsMHgwMikNCj4gKw0KPiArICBJZihORVhQ KQ0KPiArICB7DQo+ICsgICAgLy8gUmVpbml0aWFsaXplIHRoZSBOYXRpdmUgUENJIEV4cHJlc3Mg YWZ0ZXIgcmVzdW1lDQo+ICsgICAgSWYoQW5kKE9TQ0MsMHgwMikpDQo+ICsgICAgew0KPiArICAg ICAgXF9TQi5QQ0kwLk5IUEcoKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIElmKEFuZChPU0NDLDB4 MDQpKSAgIC8vIFBNRSBjb250cm9sIGdyYW50ZWQ/DQo+ICsgICAgew0KPiArICAgICAgXF9TQi5Q Q0kwLk5QTUUoKQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIElmKExPcihMRXF1YWwoQXJn MCwzKSwgTEVxdWFsKEFyZzAsNCkpKSAgIC8vIElmIFMzIG9yIFM0IFJlc3VtZQ0KPiArICB7DQo+ ICsNCj4gKw0KPiArICAgIC8vIElmIENNUCBpcyBlbmFibGVkLCB3ZSBtYXkgbmVlZCB0byByZXN0 b3JlIHRoZSBDLVN0YXRlIGFuZC9vcg0KPiArICAgIC8vIFAtU3RhdGUgY29uZmlndXJhdGlvbiwg YXMgaXQgbWF5IGhhdmUgYmVlbiBzYXZlZCBiZWZvcmUgdGhlDQo+ICsgICAgLy8gY29uZmlndXJh dGlvbiB3YXMgZmluYWxpemVkIGJhc2VkIG9uIE9TL2RyaXZlciBzdXBwb3J0Lg0KPiArICAgIC8v DQo+ICsgICAgLy8gICBDRkdEWzI0XSAgPSBUd28gb3IgbW9yZSBjb3JlcyBlbmFibGVkDQo+ICsg ICAgLy8NCj4gKyAgICBJZihBbmQoQ0ZHRCwweDAxMDAwMDAwKSkNCj4gKyAgICB7DQo+ICsgICAg ICAvLw0KPiArICAgICAgLy8gSWYgQ01QIGFuZCB0aGUgT1NZUyBpcyBXaW5YUCBTUDEsIHdlIHdp bGwgZW5hYmxlIEMxLVNNSSBpZg0KPiArICAgICAgLy8gQy1TdGF0ZXMgYXJlIGVuYWJsZWQuDQo+ ICsgICAgICAvLw0KPiArICAgICAgLy8gICBDRkdEWzc6NF0gPSBDNCwgQzMsIEMyLCBDMSBDYXBh YmxlL0VuYWJsZWQNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLw0KPiArICAgIH0NCj4gKw0KPiAr ICAgIC8vIFdpbmRvd3MgWFAgU1AyIGRvZXMgbm90IHByb3Blcmx5IHJlc3RvcmUgdGhlIFAtU3Rh dGUNCj4gKyAgICAvLyB1cG9uIHJlc3VtZSBmcm9tIFM0IG9yIFMzIHdpdGggZGVncmFkZSBtb2Rl cyBlbmFibGVkLg0KPiArICAgIC8vIFVzZSB0aGUgZXhpc3RpbmcgX1BQQyBtZXRob2RzIHRvIGN5 Y2xlIHRoZSBhdmFpbGFibGUNCj4gKyAgICAvLyBQLVN0YXRlcyBzdWNoIHRoYXQgdGhlIHByb2Nl c3NvciBlbmRzIHVwIHJ1bm5pbmcgYXQNCj4gKyAgICAvLyB0aGUgcHJvcGVyIFAtU3RhdGUuDQo+ ICsgICAgLy8NCj4gKyAgICAvLyBOb3RlOiAgRm9yIFM0LCBhbm90aGVyIHBvc3NpYmxlIFcvQSBp cyB0byBhbHdheXMgYm9vdA0KPiArICAgIC8vIHRoZSBzeXN0ZW0gaW4gTEZNLg0KPiArICAgIC8v DQo+ICsgICAgSWYoTEVxdWFsKE9TWVMsMjAwMikpDQo+ICsgICAgew0KPiArICAgICAgSWYoQW5k KENGR0QsMHgwMSkpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIElmKExHcmVhdGVyKFxfUFIuQ1BV MC5fUFBDLDApKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgU3VidHJhY3QoXF9QUi5DUFUw Ll9QUEMsMSxcX1BSLkNQVTAuX1BQQykNCj4gKyAgICAgICAgICBQTk9UKCkNCj4gKyAgICAgICAg ICBBZGQoXF9QUi5DUFUwLl9QUEMsMSxcX1BSLkNQVTAuX1BQQykNCj4gKyAgICAgICAgICBQTk9U KCkNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICBFbHNlDQo+ICsgICAgICAgIHsNCj4gKyAgICAg ICAgICBBZGQoXF9QUi5DUFUwLl9QUEMsMSxcX1BSLkNQVTAuX1BQQykNCj4gKyAgICAgICAgICBQ Tk9UKCkNCj4gKyAgICAgICAgICBTdWJ0cmFjdChcX1BSLkNQVTAuX1BQQywxLFxfUFIuQ1BVMC5f UFBDKQ0KPiArICAgICAgICAgIFBOT1QoKQ0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsg ICAgfQ0KPiArICB9DQo+ICsgIFJldHVybihQYWNrYWdlKCkgezAsMH0pDQo+ICt9DQo+ICsNCj4g Ky8vIFBvd2VyIE5vdGlmaWNhdGlvbjoNCj4gKy8vICAgICAgICAgICAgICBQZXJmb3JtIGFsbCBu ZWVkZWQgT1Mgbm90aWZpY2F0aW9ucyBkdXJpbmcgYQ0KPiArLy8gICAgICAgICAgICAgIFBvd2Vy IFN3aXRjaC4NCj4gKy8vDQo+ICsvLyAgICAgIEFyZ3VtZW50czoNCj4gKy8vICAgICAgICAgICAg ICBOb25lDQo+ICsvLw0KPiArLy8gICAgICBSZXR1cm4gVmFsdWU6DQo+ICsvLyAgICAgICAgICAg ICAgTm9uZQ0KPiArDQo+ICtNZXRob2QoUE5PVCwwLFNlcmlhbGl6ZWQpDQo+ICt7DQo+ICsgIC8v IElmIE1QIGVuYWJsZWQgYW5kIGRyaXZlciBzdXBwb3J0IGlzIHByZXNlbnQsIG5vdGlmeSBhbGwN Cj4gKyAgLy8gcHJvY2Vzc29ycy4NCj4gKw0KPiArICBJZihNUEVOKQ0KPiArICB7DQo+ICsgICAg SWYoQW5kKFBEQzAsMHgwMDA4KSkNCj4gKyAgICB7DQo+ICsgICAgICBOb3RpZnkoXF9QUi5DUFUw LDB4ODApICAgIC8vIEV2YWwgQ1BVMCBfUFBDLg0KPiArDQo+ICsgICAgICBJZihBbmQoUERDMCww eDAwMTApKQ0KPiArICAgICAgew0KPiArICAgICAgICBTbGVlcCgxMDApDQo+ICsgICAgICAgIE5v dGlmeShcX1BSLkNQVTAsMHg4MSkgIC8vIEV2YWwgX0NTVC4NCj4gKyAgICAgIH0NCj4gKyAgICB9 DQo+ICsNCj4gKyAgICBJZihBbmQoUERDMSwweDAwMDgpKQ0KPiArICAgIHsNCj4gKyAgICAgIE5v dGlmeShcX1BSLkNQVTEsMHg4MCkgICAgLy8gRXZhbCBDUFUxIF9QUEMuDQo+ICsNCj4gKyAgICAg IElmKEFuZChQREMxLDB4MDAxMCkpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFNsZWVwKDEwMCkN Cj4gKyAgICAgICAgTm90aWZ5KFxfUFIuQ1BVMSwweDgxKSAgLy8gRXZhbCBfQ1NULg0KPiArICAg ICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICAgIElmKEFuZChQREMyLDB4MDAwOCkpDQo+ICsgICAg ew0KPiArICAgICAgTm90aWZ5KFxfUFIuQ1BVMiwweDgwKSAgICAvLyBFdmFsIENQVTIgX1BQQy4N Cj4gKw0KPiArICAgICAgSWYoQW5kKFBEQzIsMHgwMDEwKSkNCj4gKyAgICAgIHsNCj4gKyAgICAg ICAgU2xlZXAoMTAwKQ0KPiArICAgICAgICBOb3RpZnkoXF9QUi5DUFUyLDB4ODEpICAvLyBFdmFs IF9DU1QuDQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSWYoQW5kKFBEQzMsMHgw MDA4KSkNCj4gKyAgICB7DQo+ICsgICAgICBOb3RpZnkoXF9QUi5DUFUzLDB4ODApICAgIC8vIEV2 YWwgQ1BVMyBfUFBDLg0KPiArDQo+ICsgICAgICBJZihBbmQoUERDMywweDAwMTApKQ0KPiArICAg ICAgew0KPiArICAgICAgICBTbGVlcCgxMDApDQo+ICsgICAgICAgIE5vdGlmeShcX1BSLkNQVTMs MHg4MSkgIC8vIEV2YWwgX0NTVC4NCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAg RWxzZQ0KPiArICB7DQo+ICsgICAgTm90aWZ5KFxfUFIuQ1BVMCwweDgwKSAgICAgIC8vIEV2YWwg X1BQQy4NCj4gKyAgICBTbGVlcCgxMDApDQo+ICsgICAgTm90aWZ5KFxfUFIuQ1BVMCwweDgxKSAg ICAgIC8vIEV2YWwgX0NTVA0KPiArICB9DQo+ICt9DQo+ICsNCj4gKy8vDQo+ICsvLyBTeXN0ZW0g QnVzDQo+ICsvLw0KPiArU2NvcGUoXF9TQikNCj4gK3sNCj4gKyAgTmFtZShDUlRULCAxMTApIC8v IFByb2Nlc3NvciBjcml0aWNhbCB0ZW1wZXJhdHVyZQ0KPiArICBOYW1lKEFDVFQsIDc3KSAgLy8g QWN0aXZlIHRlbXBlcmF0dXJlIGxpbWl0IGZvciBwcm9jZXNzb3IgcGFydGljaXBhbnQNCj4gKyAg TmFtZShHQ1IwLCA3MCkgIC8vIENyaXRpY2FsIHRlbXBlcmF0dXJlIGZvciBHZW5lcmljIHBhcnRp Y2lwYW50IDAgaW4gZGVncmVlDQo+IGNlbHNpdXMNCj4gKyAgTmFtZShHQ1IxLCA3MCkgIC8vIENy aXRpY2FsIHRlbXBlcmF0dXJlIGZvciBHZW5lcmljIHBhcnRpY2lwYW50IDEgaW4gZGVncmVlDQo+ IGNlbHNpdXMNCj4gKyAgTmFtZShHQ1IyLCA3MCkgIC8vIENyaXRpY2FsIHRlbXBlcmF0dXJlIGZv ciBHZW5lcmljIHBhcnRpY2lwYW50IDIgaW4gZGVncmVlDQo+IGNlbHNpdXMNCj4gKyAgTmFtZShH Q1IzLCA3MCkgIC8vIENyaXRpY2FsIHRlbXBlcmF0dXJlIGZvciBHZW5lcmljIHBhcnRpY2lwYW50 IDMgaW4gZGVncmVlDQo+IGNlbHNpdXMNCj4gKyAgTmFtZShHQ1I0LCA3MCkgIC8vIENyaXRpY2Fs IHRlbXBlcmF0dXJlIGZvciBHZW5lcmljIHBhcnRpY2lwYW50IDQgaW4gZGVncmVlDQo+IGNlbHNp dXMNCj4gKyAgTmFtZShHQ1I1LCA3MCkgIC8vIENyaXRpY2FsIHRlbXBlcmF0dXJlIGZvciBHZW5l cmljIHBhcnRpY2lwYW50IDUgaW4gZGVncmVlDQo+IGNlbHNpdXMNCj4gKyAgTmFtZShHQ1I2LCA3 MCkgIC8vIENyaXRpY2FsIHRlbXBlcmF0dXJlIGZvciBHZW5lcmljIHBhcnRpY2lwYW50IDYgaW4g ZGVncmVlDQo+IGNlbHNpdXMNCj4gKyAgTmFtZShQU1QwLCA2MCkgIC8vIFBhc3NpdmUgdGVtcGVy YXR1cmUgbGltaXQgZm9yIEdlbmVyaWMgUGFydGljaXBhbnQgMCBpbg0KPiBkZWdyZWUgY2Vsc2l1 cw0KPiArICBOYW1lKFBTVDEsIDYwKSAgLy8gUGFzc2l2ZSB0ZW1wZXJhdHVyZSBsaW1pdCBmb3Ig R2VuZXJpYyBQYXJ0aWNpcGFudCAxIGluDQo+IGRlZ3JlZSBjZWxzaXVzDQo+ICsgIE5hbWUoUFNU MiwgNjApICAvLyBQYXNzaXZlIHRlbXBlcmF0dXJlIGxpbWl0IGZvciBHZW5lcmljIFBhcnRpY2lw YW50IDIgaW4NCj4gZGVncmVlIGNlbHNpdXMNCj4gKyAgTmFtZShQU1QzLCA2MCkgIC8vIFBhc3Np dmUgdGVtcGVyYXR1cmUgbGltaXQgZm9yIEdlbmVyaWMgUGFydGljaXBhbnQgMyBpbg0KPiBkZWdy ZWUgY2Vsc2l1cw0KPiArICBOYW1lKFBTVDQsIDYwKSAgLy8gUGFzc2l2ZSB0ZW1wZXJhdHVyZSBs aW1pdCBmb3IgR2VuZXJpYyBQYXJ0aWNpcGFudCA0IGluDQo+IGRlZ3JlZSBjZWxzaXVzDQo+ICsg IE5hbWUoUFNUNSwgNjApICAvLyBQYXNzaXZlIHRlbXBlcmF0dXJlIGxpbWl0IGZvciBHZW5lcmlj IFBhcnRpY2lwYW50IDUgaW4NCj4gZGVncmVlIGNlbHNpdXMNCj4gKyAgTmFtZShQU1Q2LCA2MCkg IC8vIFBhc3NpdmUgdGVtcGVyYXR1cmUgbGltaXQgZm9yIEdlbmVyaWMgUGFydGljaXBhbnQgNiBp bg0KPiBkZWdyZWUgY2Vsc2l1cw0KPiArICBOYW1lKExQTVYsIDMpDQo+ICsgIE5hbWUoUERCRywg MCkgICAvLyBEUFRGIFN1cGVyIGRlYnVnIG9wdGlvbg0KPiArICBOYW1lKFBEUE0sIDEpICAgLy8g RFBURiBEUFBNIGVuYWJsZQ0KPiArICBOYW1lKFBEQlAsIDEpICAgLy8gRFBURiBEQlBUIGVuYWJs ZSAoZHluYW1pYyBiYXR0ZXJ5IHByb3RlY3Rpb24NCj4gdGVjaG5vbG9neSkNCj4gKyAgTmFtZShE TFBPLCBQYWNrYWdlKCkNCj4gKyAgew0KPiArICAgIDB4MSwgLy8gUmV2aXNpb24NCj4gKyAgICAw eDEsIC8vIExQTyBFbmFibGUNCj4gKyAgICAweDEsIC8vIExQTyBTdGFydFBTdGF0ZQ0KPiArICAg IDI1LCAgLy8gTFBPIFN0ZXBTaXplDQo+ICsgICAgMHgxLCAvLw0KPiArICAgIDB4MSwgLy8NCj4g KyAgfSkNCj4gKyAgTmFtZShCUlFELCAweDAwKSAvLyBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5l IGlmIERQVEYgZGlzcGxheSBwYXJ0aWNpcGFudA0KPiByZXF1ZXN0ZWQgQnJpZ2h0bmVzcyBsZXZl bCBjaGFuZ2UNCj4gKyAgLy8gb3IgaXQgaXMgZnJvbSBHcmFwaGljcyBkcml2ZXIuIFZhbHVlIG9m IDEgaXMgZm9yIERQVEYgZWxzZSBpdCBpcyAwDQo+ICsNCj4gKyAgTWV0aG9kKF9JTkksMCkNCj4g KyAgew0KPiArICAgIC8vIE5WUyBoYXMgc3RhbGUgRFRTIGRhdGEuICBHZXQgYW5kIHVwZGF0ZSB0 aGUgdmFsdWVzDQo+ICsgICAgLy8gd2l0aCBjdXJyZW50IHRlbXBlcmF0dXJlcy4gICBOb3RlIHRo YXQgdGhpcyB3aWxsIGFsc28NCj4gKyAgICAvLyByZS1hcm0gYW55IEFQIFRoZXJtYWwgSW50ZXJy dXB0cy4NCj4gKyAgICAvLyBSZWFkIHRlbXBlcmF0dXJlIHNldHRpbmdzIGZyb20gZ2xvYmFsIE5W Uw0KPiArICAgIFN0b3JlKERQQ1QsIENSVFQpDQo+ICsgICAgU3RvcmUoU3VidHJhY3QoRFBQVCwg OCksIEFDVFQpICAgICAgICAgICAgICAgICAgICAgIC8vIEFjdGl2ZSBUcmlwIHBvaW50ID0gUGFz c2l2ZQ0KPiB0cmlwIHBvaW50IC0gOA0KPiArICAgIFN0b3JlKERHQzAsIEdDUjApDQo+ICsgICAg U3RvcmUoREdDMCwgR0NSMSkNCj4gKyAgICBTdG9yZShER0MxLCBHQ1IyKQ0KPiArICAgIFN0b3Jl KERHQzEsIEdDUjMpDQo+ICsgICAgU3RvcmUoREdDMSwgR0NSNCkNCj4gKyAgICBTdG9yZShER0My LCBHQ1I1KQ0KPiArICAgIFN0b3JlKERHQzIsIEdDUjYpDQo+ICsgICAgU3RvcmUoREdQMCwgUFNU MCkNCj4gKyAgICBTdG9yZShER1AwLCBQU1QxKQ0KPiArICAgIFN0b3JlKERHUDEsIFBTVDIpDQo+ ICsgICAgU3RvcmUoREdQMSwgUFNUMykNCj4gKyAgICBTdG9yZShER1AxLCBQU1Q0KQ0KPiArICAg IFN0b3JlKERHUDIsIFBTVDUpDQo+ICsgICAgU3RvcmUoREdQMiwgUFNUNikNCj4gKyAgICAvLyBS ZWFkIEN1cnJlbnQgbG93IHBvd2VyIG1vZGUgc2V0dGluZyBmcm9tIGdsb2JhbCBOVlMNCj4gKyAg ICBTdG9yZShETFBNLCBMUE1WKQ0KPiArDQo+ICsNCj4gKyAgICAvLyBVcGRhdGUgRFBURiBTdXBl ciBEZWJ1ZyBvcHRpb24NCj4gKyAgICBTdG9yZShEREJHLCBQREJHKQ0KPiArDQo+ICsNCj4gKyAg ICAvLyBVcGRhdGUgRFBURiBMUE8gT3B0aW9ucw0KPiArICAgIFN0b3JlKExQT0UsIEluZGV4KERM UE8sMSkpDQo+ICsgICAgU3RvcmUoTFBQUywgSW5kZXgoRExQTywyKSkNCj4gKyAgICBTdG9yZShM UFNULCBJbmRleChETFBPLDMpKQ0KPiArICAgIFN0b3JlKExQUEMsIEluZGV4KERMUE8sNCkpDQo+ ICsgICAgU3RvcmUoTFBQRiwgSW5kZXgoRExQTyw1KSkNCj4gKyAgICBTdG9yZShEUE1FLCBQRFBN KQ0KPiArICB9DQo+ICsNCj4gKyAgLy8gRGVmaW5lIGEgKENvbnRyb2wgTWV0aG9kKSBQb3dlciBC dXR0b24uDQo+ICsgIERldmljZShQV1JCKQ0KPiArICB7DQo+ICsgICAgTmFtZShfSElELEVJU0FJ RCgiUE5QMEMwQyIpKQ0KPiArDQo+ICsgICAgLy8gR1BJX1NVUzAgPSBHUEUxNiA9IFdha2V0aW1l IFNDSS4gIFRoZSBQUlcgaXNuJ3Qgd29ya2luZyB3aGVuDQo+ICsgICAgLy8gcGxhY2VkIGluIGFu eSBvZiB0aGUgbG9naWNhbCBsb2NhdGlvbnMgKCBQUzJLLCBQUzJNKSwNCj4gKyAgICAvLyBzbyBh IFBvd2VyIEJ1dHRvbiBEZXZpY2Ugd2FzIGNyZWF0ZWQgc3BlY2lmaWNhbGx5DQo+ICsgICAgLy8g Zm9yIHRoZSBXQUtFVElNRV9TQ0kgUFJXLg0KPiArDQo+ICsgICAgTmFtZShfUFJXLCBQYWNrYWdl KCkgezE2LDR9KQ0KPiArICB9DQo+ICsNCj4gKyAgRGV2aWNlKFNMUEIpDQo+ICsgIHsNCj4gKyAg ICBOYW1lKF9ISUQsIEVJU0FJRCgiUE5QMEMwRSIpKQ0KPiArICB9IC8vIEVORCBTTFBCDQo+ICsN Cj4gKyAgU2NvcGUoUENJMCkNCj4gKyAgew0KPiArICAgIE1ldGhvZChfSU5JLDApDQo+ICsgICAg ew0KPiArICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBPUyBhbmQgc3RvcmUgdGhlIHZhbHVlLCB3aGVy ZToNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyAgIE9TWVMgPSAyMDA5ID0gV2luZG93cyA3IGFu ZCBXaW5kb3dzIFNlcnZlciAyMDA4IFIyLg0KPiArICAgICAgLy8gICBPU1lTID0gMjAxMiA9IFdp bmRvd3MgOCBhbmQgV2luZG93cyBTZXJ2ZXIgMjAxMi4NCj4gKyAgICAgIC8vDQo+ICsgICAgICAv LyBBc3N1bWUgV2luZG93cyA3IGF0IGEgbWluaW11bS4NCj4gKw0KPiArICAgICAgU3RvcmUoMjAw OSxPU1lTKQ0KPiArDQo+ICsgICAgICAvLyBDaGVjayBmb3IgYSBzcGVjaWZpYyBPUyB3aGljaCBz dXBwb3J0cyBfT1NJLg0KPiArDQo+ICsgICAgICBJZihDb25kUmVmT2YoXF9PU0ksTG9jYWwwKSkN Cj4gKyAgICAgIHsNCj4gKyAgICAgICAgLy8gTGludXggcmV0dXJucyBfT1NJID0gVFJVRSBmb3Ig bnVtZXJvdXMgV2luZG93cw0KPiArICAgICAgICAvLyBzdHJpbmdzIHNvIHRoYXQgaXQgaXMgZnVs bHkgY29tcGF0aWJsZSB3aXRoDQo+ICsgICAgICAgIC8vIEJJT1NlcyBhdmFpbGFibGUgaW4gdGhl IG1hcmtldCB0b2RheS4gIFRoZXJlIGFyZQ0KPiArICAgICAgICAvLyBjdXJyZW50bHkgMiBrbm93 biBleGNlcHRpb25zIHRvIHRoaXMgbW9kZWw6DQo+ICsgICAgICAgIC8vICAgICAgMSkgVmlkZW8g UmVwb3N0IC0gTGludXggc3VwcG9ydHMgUzMgd2l0aG91dA0KPiArICAgICAgICAvLyAgICAgICAg ICAgICAgcmVxdWlyZWluZyBhIERyaXZlciwgbWVhbmluZyBhIFZpZGVvDQo+ICsgICAgICAgIC8v ICAgICAgICAgICAgICBSZXBvc3Qgd2lsbCBiZSByZXF1aXJlZC4NCj4gKyAgICAgICAgLy8gICAg ICAyKSBPbi1TY3JlZW4gQnJhbmRpbmcgLSBhIGZ1bGwgQ01UIExvZ28NCj4gKyAgICAgICAgLy8g ICAgICAgICAgICAgIGlzIGxpbWl0ZWQgdG8gdGhlIFdJTjJLIGFuZCBXSU5YUA0KPiArICAgICAg ICAvLyAgICAgICAgICAgICAgT3BlcmF0aW5nIFN5c3RlbXMgb25seS4NCj4gKw0KPiArICAgICAg ICAvLyBVc2UgT1NZUyBmb3IgV2luZG93cyBDb21wYXRpYmlsaXR5Lg0KPiArICAgICAgICBJZihc X09TSSgiV2luZG93cyAyMDA5IikpICAgLy8gV2luZG93cyA3IG9yIFdpbmRvd3MgU2VydmVyIDIw MDggUjINCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIFN0b3JlKDIwMDksT1NZUykNCj4gKyAg ICAgICAgfQ0KPiArICAgICAgICBJZihcX09TSSgiV2luZG93cyAyMDEyIikpICAgLy8gV2luZG93 cyA4IG9yIFdpbmRvd3MgU2VydmVyIDIwMTINCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIFN0 b3JlKDIwMTIsT1NZUykNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICBJZihcX09TSSgiV2luZG93 cyAyMDEzIikpICAgLy9XaW5kb3dzIEJsdWUNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIFN0 b3JlKDIwMTMsT1NZUykNCj4gKyAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgIC8vDQo+ICsgICAg ICAgIC8vIElmIENNUCBpcyBlbmFibGVkLCBlbmFibGUgU01NIEMtU3RhdGUNCj4gKyAgICAgICAg Ly8gY29vcmRpbmF0aW9uLiAgU01NIEMtU3RhdGUgY29vcmRpbmF0aW9uDQo+ICsgICAgICAgIC8v IHdpbGwgYmUgZGlzYWJsZWQgaW4gX1BEQyBpZiBkcml2ZXIgc3VwcG9ydA0KPiArICAgICAgICAv LyBmb3IgaW5kZXBlbmRlbnQgQy1TdGF0ZXMgZGVlcGVyIHRoYW4gQzENCj4gKyAgICAgICAgLy8g aXMgaW5kaWNhdGVkLg0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICAgIE1ldGhvZChO SFBHLDAsU2VyaWFsaXplZCkNCj4gKyAgICB7DQo+ICsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBN ZXRob2QoTlBNRSwwLFNlcmlhbGl6ZWQpDQo+ICsgICAgew0KPiArDQo+ICsgICAgfQ0KPiArICB9 IC8vIGVuZCBTY29wZShQQ0kwKQ0KPiArDQo+ICsgIERldmljZSAoR1BFRCkgICAvL3ZpcnR1YWwg R1BJTyBkZXZpY2UgZm9yIEFTTCBiYXNlZCBBQy9CYXR0ZXJ5L0V4cGVjdGlvbg0KPiBub3RpZmlj YXRpb24NCj4gKyAgew0KPiArICAgIE5hbWUgKF9BRFIsIDApDQo+ICsgICAgTmFtZSAoX0hJRCwg IklOVDAwMDIiKQ0KPiArICAgIE5hbWUgKF9DSUQsICJJTlQwMDAyIikNCj4gKyAgICBOYW1lIChf REROLCAiVmlydHVhbCBHUElPIGNvbnRyb2xsZXIiICkNCj4gKyAgICBOYW1lIChfVUlELCAxKQ0K PiArDQo+ICsgICAgTWV0aG9kIChfQ1JTLCAweDAsIFNlcmlhbGl6ZWQpDQo+ICsgICAgew0KPiAr ICAgICAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQ0KPiArICAgICAgew0KPiArICAg ICAgICBJbnRlcnJ1cHQgKFJlc291cmNlQ29uc3VtZXIsIExldmVsLCBBY3RpdmVIaWdoLCBFeGNs dXNpdmUsICwsICkgezB4OX0gLy8NCj4gV2FzIDkNCj4gKyAgICAgIH0pDQo+ICsgICAgICBSZXR1 cm4gKFJCVUYpDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNl cmlhbGl6ZWQpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKDB4MCkNCj4gKyAgICB9DQo+ICsN Cj4gKyAgICBNZXRob2QgKF9BRUksIDB4MCwgU2VyaWFsaXplZCkNCj4gKyAgICB7DQo+ICsgICAg ICBOYW1lKFJCVUYsIFJlc291cmNlVGVtcGxhdGUoKQ0KPiArICAgICAgew0KPiArICAgICAgICBH cGlvSW50KEVkZ2UsIEFjdGl2ZUhpZ2gsIEV4Y2x1c2l2ZUFuZFdha2UsIFB1bGxEb3duLCwiXFxf U0IuR1BFRCIsKQ0KPiB7Mn0gLy9waW4gMg0KPiArICAgICAgfSkNCj4gKyAgICAgIFJldHVybihS QlVGKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIE1ldGhvZChfRTAyKSAgIC8vIF9FeHggbWV0aG9k IHdpbGwgYmUgY2FsbGVkIHdoZW4gaW50ZXJydXB0IGlzIHJhaXNlZA0KPiArICAgIHsNCj4gKyAg ICAgIElmIChMRXF1YWwgKFBXQlMsIDEpKQ0KPiArICAgICAgew0KPiArICAgICAgICBTdG9yZSAo MSwgUFdCUykgICAgICAvL0NsZWFyIFBvd2VyQnV0dG9uIFN0YXR1cw0KPiArICAgICAgfQ0KPiAr ICAgICAgSWYgKExFcXVhbCAoUE1FQiwgMSkpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFN0b3Jl ICgxLCBQTUVCKSAgICAgIC8vQ2xlYXIgUE1FX0IwX1NUUw0KPiArICAgICAgfQ0KPiArICAgICAg SWYgKExFcXVhbCAoXF9TQi5QQ0kwLlNBVEEuUE1FUywgMSkpDQo+ICsgICAgICB7DQo+ICsgICAg ICAgIFN0b3JlICgxLCBcX1NCLlBDSTAuU0FUQS5QTUVTKQ0KPiArICAgICAgICBOb3RpZnkgKFxf U0IuUENJMC5TQVRBLCAweDAyKQ0KPiArICAgICAgfQ0KPiArICAgICAgLy8NCj4gKyAgICAgIC8v IGVNTUMgNC40MQ0KPiArICAgICAgLy8NCj4gKyAgICAgIElmIChMQW5kKExFcXVhbCAoXF9TQi5Q Q0kwLkVNNDEuUE1FUywgMSksIExFcXVhbChQQ0lNLCAxKSkpDQo+ICsgICAgICB7DQo+ICsgICAg ICAgIFN0b3JlICgxLCBcX1NCLlBDSTAuRU00MS5QTUVTKQ0KPiArICAgICAgICBOb3RpZnkgKFxf U0IuUENJMC5FTTQxLCAweDAyKQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICAvLw0KPiArICAg ICAgLy8gZU1NQyA0LjUNCj4gKyAgICAgIC8vDQo+ICsgICAgICBJZiAoTEFuZChMRXF1YWwgKFxf U0IuUENJMC5FTTQ1LlBNRVMsIDEpLCBMRXF1YWwoUENJTSwgMSkpKQ0KPiArICAgICAgew0KPiAr ICAgICAgICBTdG9yZSAoMSwgXF9TQi5QQ0kwLkVNNDUuUE1FUykNCj4gKyAgICAgICAgTm90aWZ5 IChcX1NCLlBDSTAuRU00NSwgMHgwMikNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgSWYgKExF cXVhbChIREFELCAwKSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgSWYgKExFcXVhbCAoXF9TQi5Q Q0kwLkhERUYuUE1FUywgMSkpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBTdG9yZSAoMSwg XF9TQi5QQ0kwLkhERUYuUE1FUykNCj4gKyAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5IREVG LCAweDAyKQ0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIElmIChMRXF1 YWwgKFxfU0IuUENJMC5FSEMxLlBNRVMsIDEpKQ0KPiArICAgICAgew0KPiArICAgICAgICBTdG9y ZSAoMSwgXF9TQi5QQ0kwLkVIQzEuUE1FUykNCj4gKyAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu RUhDMSwgMHgwMikNCj4gKyAgICAgIH0NCj4gKyAgICAgIElmIChMRXF1YWwgKFxfU0IuUENJMC5Y SEMxLlBNRVMsIDEpKQ0KPiArICAgICAgew0KPiArICAgICAgICBTdG9yZSAoMSwgXF9TQi5QQ0kw LlhIQzEuUE1FUykNCj4gKyAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuWEhDMSwgMHgwMikNCj4g KyAgICAgIH0NCj4gKyAgICAgIElmIChMRXF1YWwgKFxfU0IuUENJMC5TRUMwLlBNRVMsIDEpKQ0K PiArICAgICAgew0KPiArICAgICAgICBPciAoXF9TQi5QQ0kwLlNFQzAuUE1FUywgWmVybywgXF9T Qi5QQ0kwLlNFQzAuUE1FUykNCj4gKyAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuU0VDMCwgMHgw MikNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0gLy8gIERldmljZSAoR1BFRCkNCj4gKw0K PiArICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsgIC8vICBHUElPDQo+ICsgIC8vLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gKyAgRGV2aWNlIChHUE8wKQ0KPiArICB7DQo+ICsgICAgTmFtZSAo X0FEUiwgMCkNCj4gKyAgICBOYW1lIChfSElELCAiSU5UMzNGQyIpDQo+ICsgICAgTmFtZSAoX0NJ RCwgIklOVDMzQjIiKQ0KPiArICAgIE5hbWUgKF9ERE4sICJWYWxsZXlWaWV3MiBHZW5lcmFsIFB1 cnBvc2UgSW5wdXQvT3V0cHV0IChHUElPKQ0KPiBjb250cm9sbGVyIiApDQo+ICsgICAgTmFtZSAo X1VJRCwgMSkNCj4gKyAgICBNZXRob2QgKF9DUlMsIDB4MCwgU2VyaWFsaXplZCkNCj4gKyAgICB7 DQo+ICsgICAgICBOYW1lIChSQlVGLCBSZXNvdXJjZVRlbXBsYXRlICgpDQo+ICsgICAgICB7DQo+ ICsgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwRkVEMEMwMDAsIDB4MDAwMDEw MDApDQo+ICsgICAgICAgIEludGVycnVwdChSZXNvdXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZl TG93LCBTaGFyZWQsICwgLCApIHs0OX0NCj4gKw0KPiArICAgICAgfSkNCj4gKyAgICAgIFJldHVy biAoUkJVRikNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBNZXRob2QgKF9TVEEsIDB4MCwgTm90U2Vy aWFsaXplZCkNCj4gKyAgICB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gR1BPIGRyaXZlciB3 aWxsIHJlcG9ydCBwcmVzZW50IGlmIGFueSBvZiBiZWxvdyBOZXcgSU8gYnVzIGV4aXN0DQo+ICsg ICAgICAvLw0KPiArICAgICAgSWYgKExPcihMRXF1YWwoTDExRCwgMCksIExFcXVhbChMMTJELCAw KSkpIC8vIExQSU8xIFBXTSAjMSBvciAjMiBleGlzdA0KPiArICAgICAgeyBSZXR1cm4oMHhGKSB9 DQo+ICsgICAgICBJZiAoTE9yKExFcXVhbChMMTNELCAwKSwgTEVxdWFsKEwxNEQsIDApKSkgLy8g TFBJTzEgSFMtVUFSVCAjMSBvciAjMiBleGlzdA0KPiArICAgICAgeyBSZXR1cm4oMHhGKSB9DQo+ ICsgICAgICBJZiAoTE9yKExFcXVhbChMMTVELCAwKSwgTEVxdWFsKFNEMUQsIDApKSkgLy8gTFBJ TzEgU1BJIG9yIFNDQyBTRElPICMxDQo+IGV4aXN0DQo+ICsgICAgICB7IFJldHVybigweEYpIH0N Cj4gKyAgICAgIElmIChMT3IoTEVxdWFsKFNEMkQsIDApLCBMRXF1YWwoU0QzRCwgMCkpKSAvLyBT Q0MgU0RJTyAjMiBvciAjMyBleGlzdA0KPiArICAgICAgeyBSZXR1cm4oMHhGKSB9DQo+ICsgICAg ICBJZiAoTE9yKExFcXVhbChMMjFELCAwKSwgTEVxdWFsKEwyMkQsIDApKSkgLy8gTFBJTzIgSTJD ICMxIG9yICMyIGV4aXN0DQo+ICsgICAgICB7IFJldHVybigweEYpIH0NCj4gKyAgICAgIElmIChM T3IoTEVxdWFsKEwyM0QsIDApLCBMRXF1YWwoTDI0RCwgMCkpKSAvLyBMUElPMiBJMkMgIzMgb3Ig IzQgZXhpc3QNCj4gKyAgICAgIHsgUmV0dXJuKDB4RikgfQ0KPiArICAgICAgSWYgKExPcihMRXF1 YWwoTDI1RCwgMCksIExFcXVhbChMMjZELCAwKSkpIC8vIExQSU8yIEkyQyAjNSBvciAjNiBleGlz dA0KPiArICAgICAgeyBSZXR1cm4oMHhGKSB9DQo+ICsgICAgICBJZiAoTEVxdWFsKEwyN0QsIDAp KSAgICAgICAgICAgICAgICAgICAgICAgLy8gTFBJTzIgSTJDICM3IGV4aXN0DQo+ICsgICAgICB7 IFJldHVybigweEYpIH0NCj4gKw0KPiArICAgICAgUmV0dXJuKDB4MCkNCj4gKyAgICB9DQo+ICsN Cj4gKyAgICAvLyBUcmFjayBzdGF0dXMgb2YgR1BJTyBPcFJlZ2lvbiBhdmFpbGFiaWxpdHkgZm9y IHRoaXMgY29udHJvbGxlcg0KPiArICAgIE5hbWUoQVZCTCwgMCkNCj4gKyAgICBNZXRob2QoX1JF RywyKQ0KPiArICAgIHsNCj4gKyAgICAgIElmIChMZXF1YWwoQXJnMCwgOCkpDQo+ICsgICAgICB7 DQo+ICsgICAgICAgIFN0b3JlKEFyZzEsIF5BVkJMKQ0KPiArICAgICAgfQ0KPiArICAgIH0NCj4g Kw0KPiArICAgIE9wZXJhdGlvblJlZ2lvbihHUE9QLCBTeXN0ZW1JbywgXEdQQlMsIDB4NTApDQo+ ICsgICAgICBGaWVsZChHUE9QLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQo+ICsgICAg ICBPZmZzZXQoMHgyOCksIC8vIGNmaW9faW9yZWdfU0NfR1BfTFZMXzYzXzMyXyAtIFtHUElPX0JB U0VfQUREUkVTU10NCj4gKyAyOGgNCj4gKyAgICAgICAgICAsICAyMSwNCj4gKyAgICAgIEJURDMs ICAxLCAgICAgLy9UaGlzIGZpZWxkIGlzIG5vdCB1c2VkLiBQaW4gbm90IGRlZmluZWQgaW4gc2No ZW1hdGljcy4gQ2xvc2VzdA0KPiBpcyBHUElPX1M1XzM1IC0gQ09NQk9fQlRfV0FLRVVQDQo+ICsg ICAgICBPZmZzZXQoMHg0OCksIC8vIGNmaW9faW9yZWdfU0NfR1BfTFZMXzk1XzY0XyAtIFtHUElP X0JBU0VfQUREUkVTU10NCj4gKyA0OGgNCj4gKyAgICAgICAgICAsICAzMCwNCj4gKyAgICAgIFNI RDMsICAxICAgICAgLy9HUElPX1MwX1NDXzk1IC0gU0VOU19IVUJfUlNUX04NCj4gKyAgICB9DQo+ ICsNCj4gKw0KPiArDQo+ICsgIH0gICAvLyAgRGV2aWNlIChHUE8wKQ0KPiArDQo+ICsgIERldmlj ZSAoR1BPMSkNCj4gKyAgew0KPiArICAgIE5hbWUgKF9BRFIsIDApDQo+ICsgICAgTmFtZSAoX0hJ RCwgIklOVDMzRkMiKQ0KPiArICAgIE5hbWUgKF9DSUQsICJJTlQzM0IyIikNCj4gKyAgICBOYW1l IChfREROLCAiVmFsbGV5VmlldzIgR1BOQ09SRSBjb250cm9sbGVyIiApDQo+ICsgICAgTmFtZSAo X1VJRCwgMikNCj4gKyAgICBNZXRob2QgKF9DUlMsIDB4MCwgU2VyaWFsaXplZCkNCj4gKyAgICB7 DQo+ICsgICAgICBOYW1lIChSQlVGLCBSZXNvdXJjZVRlbXBsYXRlICgpDQo+ICsgICAgICB7DQo+ ICsgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwRkVEMEQwMDAsIDB4MDAwMDEw MDApDQo+ICsgICAgICAgIEludGVycnVwdChSZXNvdXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZl TG93LCBTaGFyZWQsICwgLCApIHs0OH0NCj4gKyAgICAgIH0pDQo+ICsgICAgICBSZXR1cm4gKFJC VUYpDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6 ZWQpDQo+ICsgICAgew0KPiArICAgICAgUmV0dXJuKFxfU0IuR1BPMC5fU1RBKQ0KPiArICAgIH0N Cj4gKyAgfSAgIC8vICBEZXZpY2UgKEdQTzEpDQo+ICsNCj4gKyAgRGV2aWNlIChHUE8yKQ0KPiAr ICB7DQo+ICsgICAgTmFtZSAoX0FEUiwgMCkNCj4gKyAgICBOYW1lIChfSElELCAiSU5UMzNGQyIp DQo+ICsgICAgTmFtZSAoX0NJRCwgIklOVDMzQjIiKQ0KPiArICAgIE5hbWUgKF9ERE4sICJWYWxs ZXlWaWV3MiBHUFNVUyBjb250cm9sbGVyIiApDQo+ICsgICAgTmFtZSAoX1VJRCwgMykNCj4gKyAg ICBNZXRob2QgKF9DUlMsIDB4MCwgU2VyaWFsaXplZCkNCj4gKyAgICB7DQo+ICsgICAgICBOYW1l IChSQlVGLCBSZXNvdXJjZVRlbXBsYXRlICgpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIE1lbW9y eTMyRml4ZWQgKFJlYWRXcml0ZSwgMHgwRkVEMEUwMDAsIDB4MDAwMDEwMDApDQo+ICsgICAgICAg IEludGVycnVwdChSZXNvdXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICwg LCApIHs1MH0NCj4gKyAgICAgIH0pDQo+ICsgICAgICBSZXR1cm4gKFJCVUYpDQo+ICsgICAgfQ0K PiArDQo+ICsgICAgTWV0aG9kIChfU1RBLCAweDAsIE5vdFNlcmlhbGl6ZWQpDQo+ICsgICAgew0K PiArICAgICAgUmV0dXJuKF5eR1BPMC5fU1RBKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vIFRy YWNrIHN0YXR1cyBvZiBHUElPIE9wUmVnaW9uIGF2YWlsYWJpbGl0eSBmb3IgdGhpcyBjb250cm9s bGVyDQo+ICsgICAgTmFtZShBVkJMLCAwKQ0KPiArICAgIE1ldGhvZChfUkVHLDIpDQo+ICsgICAg ew0KPiArICAgICAgSWYgKExlcXVhbChBcmcwLCA4KSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAg U3RvcmUoQXJnMSwgXkFWQkwpDQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAgIC8vTWFuaXB1 bGF0ZSBHUElPIGxpbmUgdXNpbmcgR1BJTyBvcGVyYXRpb24gcmVnaW9ucy4NCj4gKyAgICBOYW1l IChHTU9ELCBSZXNvdXJjZVRlbXBsYXRlICgpICAgICAvL09uZSBtZXRob2Qgb2YgY3JlYXRpbmcg YQ0KPiBDb25uZWN0aW9uIGZvciBPcFJlZ2lvbiBhY2Nlc3NlcyBpbiBGaWVsZCBkZWZpbml0aW9u cw0KPiArICAgIHsNCj4gKyAgICAgIC8vaXMgY3JlYXRpbmcgYSBuYW1lZCBvYmplY3QgdGhhdCBy ZWZlcnMgdG8gdGhlIGNvbm5lY3Rpb24gYXR0cmlidXRlcw0KPiArICAgICAgR3Bpb0lvIChFeGNs dXNpdmUsIFB1bGxEZWZhdWx0LCAwLCAwLCBJb1Jlc3RyaWN0aW9uT3V0cHV0T25seSwNCj4gIlxc X1NCLkdQTzIiKSB7MjF9ICAvL3N1cyAyMSsxMjggQlQrV0xBTl9FTkFCTEUNCj4gKyAgICB9KQ0K PiArDQo+ICsgIE9wZXJhdGlvblJlZ2lvbihHUE9QLCBTeXN0ZW1JbywgXEdQQlMsIDB4MTAwKQ0K PiArICBGaWVsZChHUE9QLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQo+ICsgICAgICBP ZmZzZXQoMHg4OCksICAvLyBjZmlvX2lvcmVnX1NVU19HUF9MVkxfMzFfMF8gLQ0KPiBbR1BJT19C QVNFX0FERFJFU1NdICsgODhoDQo+ICsgICAgICAgICAgLCAgMjAsDQo+ICsgICAgICBXRkQzLCAg MQ0KPiArICAgIH0NCj4gKw0KPiArDQo+ICsgIH0gICAvLyAgRGV2aWNlIChHUE8yKQ0KPiArICBp bmNsdWRlICgiUGNoU2NjLmFzbCIpDQo+ICsgIGluY2x1ZGUgKCJQY2hMcHNzLmFzbCIpDQo+ICsN Cj4gKyAgICAgICAgIFNjb3BlKEkyQzcpDQo+ICsgIHsNCj4gKw0KPiArICB9IC8vRW5kIFNjb3Bl KEkyQzcpDQo+ICsNCj4gK30gLy8gZW5kIFNjb3BlKFxfU0IpDQo+ICsNCj4gK05hbWUoUElDTSwg MCkgICAvLyBHbG9iYWwgTmFtZSwgcmV0dXJucyBjdXJyZW50IEludGVycnVwdCBjb250cm9sbGVy IG1vZGU7DQo+IHVwZGF0ZWQgZnJvbSBfUElDIGNvbnRyb2wgbWV0aG9kDQo+ICsNCj4gZGlmZiAt LWdpdCBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQv UlREMy5hc2wNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJs ZXNQQ0FUL1JURDMuYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLjJiZjYyZTkyYTENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1JURDMuYXNsDQo+IEBAIC0wLDAgKzEs MTk3IEBADQo+ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqOw0KPiArOyogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq Ow0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgSW50ZWwgQ29ycG9yYXRpb24gLSBB Q1BJIFJlZmVyZW5jZSBDb2RlIGZvciB0aGUgQmF5dHJhaWwgICAgICAgICAgICAqOw0KPiArOyog ICAgRmFtaWx5IG9mIEN1c3RvbWVyIFJlZmVyZW5jZSBCb2FyZHMuICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqOw0KPiArOyogICAgQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkICAgICo7DQo+ICs7DQo+ICs7IFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7KiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioq Lw0KPiArRGVmaW5pdGlvbkJsb2NrICgNCj4gKyAgIlJ0ZDMuYW1sIiwNCj4gKyAgIlNTRFQiLA0K PiArICAxLA0KPiArICAiQWNwaVJlZiIsDQo+ICsgICJNc2dfUnRkMyIsDQo+ICsgIDB4MTAwMA0K PiArKQ0KPiArew0KPiArICBFeHRlcm5hbChSVEQzKSAgICAgICAgICAgICAvL2ZsYWcgaWYgUlRE MyBpcyBlbmFibGVkDQo+ICsNCj4gKyAgSWYoTEVxdWFsKFJURDMsMSkpDQo+ICsgIHsNCj4gKyAg ICBTY29wZSAoXF9TQikNCj4gKyAgICB7DQo+ICsgICAgICBOYW1lKE9TQ0ksIDApICAvLyBcX1NC Ll9PU0MgRFdPUkQyIGlucHV0DQo+ICsgICAgICBOYW1lKE9TQ08sIDApICAvLyBcX1NCLl9PU0Mg RFdPUkQyIG91dHB1dA0KPiArDQo+ICsgICAgICAvL0FyZzAgLS0gQSBidWZmZXIgY29udGFpbmlu ZyBVVUlEDQo+ICsgICAgICAvL0FyZzEgLS0gQW4gSW50ZXJnZXIgY29udGFpbmluZyBhIFJldmlz aW9uIElEIG9mIHRoZSBidWZmZXIgZm9ybWF0DQo+ICsgICAgICAvL0FyZzIgLS0gQW4gaW50ZXJn ZXIgY29udGFpbmluZyBhIGNvdW50IG9mIGVudHJpZXMgaW4gQXJnMw0KPiArICAgICAgLy9Bcmcz IC0tIEEgYnVmZmVyIGNvbnRhaW5pbmcgYSBsaXN0IG9mIERXT1JEIGNhcGFjaXRpZXMNCj4gKyAg ICAgIE1ldGhvZChfT1NDLCA0LCBOb3RTZXJpYWxpemVkKQ0KPiArICAgICAgew0KPiArICAgICAg ICAvLyBDaGVjayBmb3IgcHJvcGVyIFVVSUQNCj4gKyAgICAgICAgSWYoTEVxdWFsKEFyZzAsIFRv VVVJRCgiMDgxMUIwNkUtNEEyNy00NEY5LThENjAtM0NCQkMyMkU3QjQ4IikpKQ0KPiArICAgICAg ICB7DQo+ICsgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChBcmczLDAsQ0RXMSkgICAgIC8vYml0 MSwyIGlzIGFsd2F5cyBjbGVhcg0KPiArICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQoQXJnMyw0 LENEVzIpICAgICAvL1RhYmxlIDYtMTQ3IGZyb20gQUNQSSBzcGVjDQo+ICsNCj4gKyAgICAgICAg ICBTdG9yZShDRFcyLCBPU0NJKSAgICAgICAgICAgICAgICAgLy8gU2F2ZSBEV29yZDINCj4gKyAg ICAgICAgICBPcihPU0NJLCAweDQsIE9TQ08pICAgICAgICAgICAgICAgLy8gT25seSBhbGxvdyBf UFIzIHN1cHBvcnQNCj4gKw0KPiArICAgICAgICAgIElmKExOb3RFcXVhbChBcmcxLE9uZSkpDQo+ ICsgICAgICAgICAgew0KPiArICAgICAgICAgICAgT3IoQ0RXMSwweDA4LENEVzEpICAgICAgICAg ICAgLy8gVW5rbm93biByZXZpc2lvbg0KPiArICAgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAg IElmKExOb3RFcXVhbChPU0NJLCBPU0NPKSkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAg ICBPcihDRFcxLDB4MTAsQ0RXMSkgICAgICAgICAgICAvLyBDYXBhYmlsaXRpZXMgYml0cyB3ZXJl IG1hc2tlZA0KPiArICAgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAgIFN0b3JlKE9TQ08sIENE VzIpICAgICAgICAgICAgICAgICAvLyBSZXBsYWNlIERXb3JkMg0KPiArICAgICAgICAgIFJldHVy bihBcmczKQ0KPiArICAgICAgICB9IEVsc2UNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIE9y KENEVzEsNCxDRFcxKSAgICAgICAgICAgICAgICAgICAvLyBVbnJlY29nbml6ZWQgVVVJRA0KPiAr ICAgICAgICAgIFJldHVybihBcmczKQ0KPiArICAgICAgICB9DQo+ICsgICAgICB9Ly8gRW5kIF9P U0MNCj4gKyAgICB9DQo+ICsgIH0vL2VuZCBvZiBSVEQzIGNvbmRpdGlvbg0KPiArDQo+ICsNCj4g KyAgLy9VU0IgUlREMyBjb2RlDQo+ICsgIElmKExFcXVhbChSVEQzLDEpKQ0KPiArICB7DQo+ICsg ICAgU2NvcGUoXF9TQi5QQ0kwLkVIQzEuSFVCTi5QUjAxLlBSMTMpDQo+ICsgICAgew0KPiArICAg ICAgTmFtZShfUFIwLCBQYWNrYWdlKCkge1xQUjM0fSkNCj4gKyAgICAgIE5hbWUoX1BSMywgUGFj a2FnZSgpIHtcUFIzNH0pDQo+ICsNCj4gKyAgICAgIE1ldGhvZChfUzBXLCAwKQ0KPiArICAgICAg ew0KPiArICAgICAgICBJZihBbmQoXF9TQi5PU0NPLCAweDA0KSkgICAgICAgICAgICAgIC8vIFBN RXMgY2FuIGJlIGdlbnJhdGVkIGZyb20gRDNjb2xkDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAg ICBSZXR1cm4oNCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT1MgY29tcHJlaGVuZHMgRDNj b2xkLCBhcyBkZXNjcmliZWQgdmlhDQo+IFxfU0IuX09TQw0KPiArICAgICAgICB9IEVsc2UNCj4g KyAgICAgICAgew0KPiArICAgICAgICAgIFJldHVybigzKQ0KPiArICAgICAgICB9DQo+ICsgICAg ICB9IC8vIEVuZCBfUzBXDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgU2NvcGUoXF9TQi5QQ0kwLkVI QzEuSFVCTi5QUjAxLlBSMTQpDQo+ICsgICAgew0KPiArICAgICAgTmFtZShfUFIwLCBQYWNrYWdl KCkge1xQUjM0fSkNCj4gKyAgICAgIE5hbWUoX1BSMywgUGFja2FnZSgpIHtcUFIzNH0pDQo+ICsN Cj4gKyAgICAgIE1ldGhvZChfUzBXLCAwKQ0KPiArICAgICAgew0KPiArICAgICAgICBJZihBbmQo XF9TQi5PU0NPLCAweDA0KSkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIFJldHVybig0KQ0K PiArICAgICAgICB9IEVsc2UNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIFJldHVybigzKQ0K PiArICAgICAgICB9DQo+ICsgICAgICB9IC8vIEVuZCBfUzBXDQo+ICsgICAgfQ0KPiArDQo+ICsN Cj4gKyAgICBTY29wZShcX1NCLlBDSTAuRUhDMS5IVUJOLlBSMDEuUFIxNSkNCj4gKyAgICB7DQo+ ICsgICAgICBOYW1lKF9QUjAsIFBhY2thZ2UoKSB7XFBSNTZ9KQ0KPiArICAgICAgTmFtZShfUFIz LCBQYWNrYWdlKCkge1xQUjU2fSkNCj4gKw0KPiArICAgICAgTWV0aG9kKF9TMFcsIDApDQo+ICsg ICAgICB7DQo+ICsgICAgICAgIElmKEFuZChcX1NCLk9TQ08sIDB4MDQpKQ0KPiArICAgICAgICB7 DQo+ICsgICAgICAgICAgUmV0dXJuKDQpDQo+ICsgICAgICAgIH0gRWxzZQ0KPiArICAgICAgICB7 DQo+ICsgICAgICAgICAgUmV0dXJuKDMpDQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0gLy8gRW5k IF9TMFcNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBTY29wZShcX1NCLlBDSTAuRUhDMS5IVUJOLlBS MDEuUFIxNikNCj4gKyAgICB7DQo+ICsgICAgICBOYW1lKF9QUjAsIFBhY2thZ2UoKSB7XFBSNTZ9 KQ0KPiArICAgICAgTmFtZShfUFIzLCBQYWNrYWdlKCkge1xQUjU2fSkNCj4gKw0KPiArICAgICAg TWV0aG9kKF9TMFcsIDApDQo+ICsgICAgICB7DQo+ICsgICAgICAgIElmKEFuZChcX1NCLk9TQ08s IDB4MDQpKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgUmV0dXJuKDQpDQo+ICsgICAgICAg IH0gRWxzZQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgUmV0dXJuKDMpDQo+ICsgICAgICAg IH0NCj4gKyAgICAgIH0gLy8gRW5kIF9TMFcNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBTY29wZShc X1NCLlBDSTAuWEhDMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBYSENJIGhvc3Qg b25seSBjb250cm9sbGVyDQo+ICsgICAgew0KPiArDQo+ICsgICAgICBNZXRob2QoX1BTMCwwLFNl cmlhbGl6ZWQpICAgICAgICAgICAgICAgICAgICAgIC8vIHNldCBkZXZpY2UgaW50byBEMCBzdGF0 ZQ0KPiArICAgICAgew0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBNZXRob2QoX1BTMywwLFNl cmlhbGl6ZWQpICAgICAgICAgICAgICAgICAgICAgIC8vIHBsYWNlIGRldmljZSBpbnRvIEQzSCBz dGF0ZQ0KPiArICAgICAgew0KPiArICAgICAgICAvL3dyaXRlIHRvIFBNQ1NSDQo+ICsgICAgICB9 DQo+ICsNCj4gKyAgICAgIE1ldGhvZChfRFNXLCAzLFNlcmlhbGl6ZWQpICAgICAgICAgICAgICAg ICAgICAgLy8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGRldmljZeKAmXMNCj4gYWJpbGl0eSB0byB3 YWtlIGEgc2xlZXBpbmcgc3lzdGVtLg0KPiArICAgICAgew0KPiArICAgICAgfQ0KPiArICAgIH0N Cj4gKw0KPiArICAgIFNjb3BlKFxfU0IuUENJMC5YSEMxLlJIVUIuSFMwMSkNCj4gKyAgICB7DQo+ ICsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBTY29wZShcX1NCLlBDSTAuWEhDMS5SSFVCLlNTUDEp DQo+ICsgICAgew0KPiArDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgU2NvcGUoXF9TQi5QQ0kwLlhI QzIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT1RHDQo+ICsgICAgew0KPiArDQo+ ICsgICAgICBNZXRob2QoX1BTMCwwLFNlcmlhbGl6ZWQpICAgICAgICAgICAgICAgICAgICAgIC8v IHNldCBkZXZpY2UgaW50byBEMCBzdGF0ZQ0KPiArICAgICAgew0KPiArICAgICAgfQ0KPiArDQo+ ICsgICAgICBNZXRob2QoX1BTMywwLFNlcmlhbGl6ZWQpICAgICAgICAgICAgICAgICAgICAgIC8v IHBsYWNlIGRldmljZSBpbnRvIEQzSCBzdGF0ZQ0KPiArICAgICAgew0KPiArICAgICAgICAvL3dy aXRlIHRvIFBNQ1NSDQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIE1ldGhvZChfRFNXLCAzLFNl cmlhbGl6ZWQpICAgICAgICAgICAgICAgICAgICAgIC8vIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBk ZXZpY2XigJlzDQo+IGFiaWxpdHkgdG8gd2FrZSBhIHNsZWVwaW5nIHN5c3RlbS4NCj4gKyAgICAg IHsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBTY29wZShcX1NCLlBDSTAuWEhD Mi5SSFVCLkhTMDEpDQo+ICsgICAgew0KPiArDQo+ICsgICAgfQ0KPiArDQo+ICsgICAgU2NvcGUo XF9TQi5QQ0kwLlhIQzIuUkhVQi5TU1AxKQ0KPiArICAgIHsNCj4gKw0KPiArICAgIH0NCj4gKyAg fSAvL0lmKExFcXVhbChSVEQzLDEpKSBVU0INCj4gKw0KPiArfS8vZW5kIG9mIFNTRFQNCj4gZGlm ZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BD QVQvUmhQcm94eS5hc2wNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0Fj cGlUYWJsZXNQQ0FUL1JoUHJveHkuYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAuLmQ3ZTc4NWY1MzINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9TaWxpY29u L0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1JoUHJveHkuYXNsDQo+ IEBAIC0wLDAgKzEsMTYwIEBADQo+ICsvKiogQGZpbGUNCj4gKyAgU1NEVCBmb3IgUmhQcm94eSBE cml2ZXIuDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gK0RlZmluaXRpb25CbG9jayAoIlJI UFguYW1sIiwgIlNTRFQiLCAxLCAiTVNGVCIsICJSSFBST1hZIiwgMSkNCj4gK3sNCj4gKyAgICBT Y29wZSAoXF9TQikNCj4gKyAgICB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFRlc3Qg cGVyaXBoZXJhbCBkZXZpY2Ugbm9kZSBmb3IgTWlubm93Qm9hcmRNYXgNCj4gKyAgICAgICAgLy8N Cj4gKyAgICAgICAgRGV2aWNlKFJIUFgpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICAgIE5h bWUoX0hJRCwgIk1TRlQ4MDAwIikNCj4gKyAgICAgICAgICAgIE5hbWUoX0NJRCwgIk1TRlQ4MDAw IikNCj4gKyAgICAgICAgICAgIE5hbWUoX1VJRCwgMSkNCj4gKw0KPiArICAgICAgICAgICAgTmFt ZShfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlKCkNCj4gKyAgICAgICAgICAgIHsNCj4gKyAgICAgICAg ICAgICAgICAvLyBJbmRleCAwDQo+ICsgICAgICAgICAgICAgICAgU1BJU2VyaWFsQnVzKCAgICAg ICAgICAgIC8vIFBpbiA1LCA3LCA5ICwgMTEgb2YgSlAxIGZvciBTSU9fU1BJDQo+ICsgICAgICAg ICAgICAgICAgICAgIDEsICAgICAgICAgICAgICAgICAgICAgLy8gRGV2aWNlIHNlbGVjdGlvbg0K PiArICAgICAgICAgICAgICAgICAgICBQb2xhcml0eUxvdywgICAgICAgICAgIC8vIERldmljZSBz ZWxlY3Rpb24gcG9sYXJpdHkNCj4gKyAgICAgICAgICAgICAgICAgICAgRm91cldpcmVNb2RlLCAg ICAgICAgICAvLyB3aXJlbW9kZQ0KPiArICAgICAgICAgICAgICAgICAgICA4LCAgICAgICAgICAg ICAgICAgICAgIC8vIGRhdGFiaXQgbGVuDQo+ICsgICAgICAgICAgICAgICAgICAgIENvbnRyb2xs ZXJJbml0aWF0ZWQsICAgLy8gc2xhdmUgbW9kZQ0KPiArICAgICAgICAgICAgICAgICAgICA4MDAw MDAwLCAgICAgICAgICAgICAgIC8vIENvbm5lY3Rpb24gc3BlZWQNCj4gKyAgICAgICAgICAgICAg ICAgICAgQ2xvY2tQb2xhcml0eUxvdywgICAgICAvLyBDbG9jayBwb2xhcml0eQ0KPiArICAgICAg ICAgICAgICAgICAgICBDbG9ja1BoYXNlU2Vjb25kLCAgICAgIC8vIGNsb2NrIHBoYXNlDQo+ICsg ICAgICAgICAgICAgICAgICAgICJcXF9TQi5TUEkxIiwgICAgICAgICAgLy8gUmVzb3VyY2VTb3Vy Y2U6IFNQSSBidXMgY29udHJvbGxlciBuYW1lDQo+ICsgICAgICAgICAgICAgICAgICAgIDAsICAg ICAgICAgICAgICAgICAgICAgLy8gUmVzb3VyY2VTb3VyY2VJbmRleA0KPiArICAgICAgICAgICAg ICAgICAgICBSZXNvdXJjZUNvbnN1bWVyLCAgICAgIC8vIFJlc291cmNlIHVzYWdlDQo+ICsgICAg ICAgICAgICAgICAgICAgIEpTUEksICAgICAgICAgICAgICAgICAgLy8gRGVzY3JpcHRvck5hbWU6 IGNyZWF0ZXMgbmFtZSBmb3Igb2Zmc2V0IG9mDQo+IHJlc291cmNlIGRlc2NyaXB0b3INCj4gKyAg ICAgICAgICAgICAgICAgICAgKSAgICAgICAgICAgICAgICAgICAgICAvLyBWZW5kb3IgRGF0YQ0K PiArDQo+ICsgICAgICAgICAgICAgICAgLy8gSW5kZXggMQ0KPiArICAgICAgICAgICAgICAgIEky Q1NlcmlhbEJ1cyggICAgICAgICAgICAvLyBQaW4gMTMsIDE1IG9mIEpQMSwgZm9yIFNJT19JMkM1 IChzaWduYWwpDQo+ICsgICAgICAgICAgICAgICAgICAgIDB4RkYsICAgICAgICAgICAgICAgICAg Ly8gU2xhdmVBZGRyZXNzOiBidXMgYWRkcmVzcyAoVEJEKQ0KPiArICAgICAgICAgICAgICAgICAg ICAsICAgICAgICAgICAgICAgICAgICAgIC8vIFNsYXZlTW9kZTogZGVmYXVsdCB0byBDb250cm9s bGVySW5pdGlhdGVkDQo+ICsgICAgICAgICAgICAgICAgICAgIDQwMDAwMCwgICAgICAgICAgICAg ICAgLy8gQ29ubmVjdGlvblNwZWVkOiBpbiBIeg0KPiArICAgICAgICAgICAgICAgICAgICAsICAg ICAgICAgICAgICAgICAgICAgIC8vIEFkZHJlc3NpbmcgTW9kZTogZGVmYXVsdCB0byA3IGJpdA0K PiArICAgICAgICAgICAgICAgICAgICAiXFxfU0IuSTJDNiIsICAgICAgICAgIC8vIFJlc291cmNl U291cmNlOiBJMkMgYnVzIGNvbnRyb2xsZXIgbmFtZQ0KPiAoRm9yIE1pbm5vd0JvYXJkIE1heCwg aGFyZHdhcmUgSTJDNSgwLWJhc2VkKSBpcyByZXBvcnRlZCBhcyBBQ1BJIEkyQzYoMS0NCj4gYmFz ZWQpKQ0KPiArICAgICAgICAgICAgICAgICAgICAsDQo+ICsgICAgICAgICAgICAgICAgICAgICwN Cj4gKyAgICAgICAgICAgICAgICAgICAgSkkyQywgICAgICAgICAgICAgICAgICAvLyBEZXNjcmlw dG9yIE5hbWU6IGNyZWF0ZXMgbmFtZSBmb3Igb2Zmc2V0IG9mDQo+IHJlc291cmNlIGRlc2NyaXB0 b3INCj4gKyAgICAgICAgICAgICAgICAgICAgKSAgICAgICAgICAgICAgICAgICAgICAvLyBWZW5k b3JEYXRhDQo+ICsNCj4gKyAgICAgICAgICAgICAgICAvLyBJbmRleCAyDQo+ICsgICAgICAgICAg ICAgICAgVUFSVFNlcmlhbEJ1cyggICAgICAgICAgIC8vIFBpbiAxNywgMTkgb2YgSlAxLCBmb3Ig U0lPX1VBUlQyDQo+ICsgICAgICAgICAgICAgICAgICAgIDExNTIwMCwgICAgICAgICAgICAgICAg Ly8gSW5pdGlhbEJhdWRSYXRlOiBpbiBiaXRzIGJlciBzZWNvbmQNCj4gKyAgICAgICAgICAgICAg ICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBCaXRzUGVyQnl0ZTogZGVmYXVsdCB0byA4 IGJpdHMNCj4gKyAgICAgICAgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBT dG9wQml0czogRGVmYXVsdHMgdG8gb25lIGJpdA0KPiArICAgICAgICAgICAgICAgICAgICAweGZj LCAgICAgICAgICAgICAgICAgIC8vIExpbmVzSW5Vc2U6IDggMS1iaXQgZmxhZ3MgdG8gZGVjbGFy ZSBsaW5lIGVuYWJsZWQNCj4gKyAgICAgICAgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAg ICAgICAvLyBJc0JpZ0VuZGlhbjogZGVmYXVsdCB0byBMaXR0bGVFbmRpYW4NCj4gKyAgICAgICAg ICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAgICAgICAvLyBQYXJpdHk6IERlZmF1bHRzIHRv IG5vIHBhcml0eQ0KPiArICAgICAgICAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICAgICAg IC8vIEZsb3dDb250cm9sOiBEZWZhdWx0cyB0byBubyBmbG93IGNvbnRyb2wNCj4gKyAgICAgICAg ICAgICAgICAgICAgMzIsICAgICAgICAgICAgICAgICAgICAvLyBSZWNlaXZlQnVmZmVyU2l6ZQ0K PiArICAgICAgICAgICAgICAgICAgICAzMiwgICAgICAgICAgICAgICAgICAgIC8vIFRyYW5zbWl0 QnVmZmVyU2l6ZQ0KPiArICAgICAgICAgICAgICAgICAgICAiXFxfU0IuVVJUMiIsICAgICAgICAg IC8vIFJlc291cmNlU291cmNlOiBVQVJUIGJ1cyBjb250cm9sbGVyIG5hbWUNCj4gKyAgICAgICAg ICAgICAgICAgICAgLA0KPiArICAgICAgICAgICAgICAgICAgICAsDQo+ICsgICAgICAgICAgICAg ICAgICAgIFVBUjIsICAgICAgICAgICAgICAgICAgLy8gRGVzY3JpcHRvck5hbWU6IGNyZWF0ZXMg bmFtZSBmb3Igb2Zmc2V0IG9mDQo+IHJlc291cmNlIGRlc2NyaXB0b3INCj4gKyAgICAgICAgICAg ICAgICAgICAgKQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgLy8gSW5kZXggMw0KPiArICAgICAg ICAgICAgICAgIEdwaW9JbyAoU2hhcmVkLCBQdWxsRGVmYXVsdCwgMCwgMCwgSW9SZXN0cmljdGlv bk5vbmUsICJcXF9TQi5HUE8yIiwpDQo+IHswfSAgLy8gUGluIDIxIG9mIEpQMSAoR1BJT19TNVsw MF0pDQo+ICsgICAgICAgICAgICAgICAgLy8gSW5kZXggNA0KPiArICAgICAgICAgICAgICAgIEdw aW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwgUHVsbE5vbmUsDQo+IDAsIlxc X1NCLkdQTzIiLCkgezB9DQo+ICsNCj4gKyAgICAgICAgICAgICAgICAvLyBJbmRleCA1DQo+ICsg ICAgICAgICAgICAgICAgR3Bpb0lvIChTaGFyZWQsIFB1bGxEZWZhdWx0LCAwLCAwLCBJb1Jlc3Ry aWN0aW9uTm9uZSwgIlxcX1NCLkdQTzIiLCkNCj4gezF9ICAvLyBQaW4gMjMgb2YgSlAxIChHUElP X1M1WzAxXSkNCj4gKyAgICAgICAgICAgICAgICAvLyBJbmRleCA2DQo+ICsgICAgICAgICAgICAg ICAgR3Bpb0ludChFZGdlLCBBY3RpdmVCb3RoLCBTaGFyZWRBbmRXYWtlLCBQdWxsTm9uZSwNCj4g MCwiXFxfU0IuR1BPMiIsKSB7MX0NCj4gKw0KPiArICAgICAgICAgICAgICAgIC8vIEluZGV4IDcN Cj4gKyAgICAgICAgICAgICAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERlZmF1bHQsIDAsIDAsIElv UmVzdHJpY3Rpb25Ob25lLCAiXFxfU0IuR1BPMiIsKQ0KPiB7Mn0gIC8vIFBpbiAyNSBvZiBKUDEg KEdQSU9fUzVbMDJdKQ0KPiArICAgICAgICAgICAgICAgIC8vIEluZGV4IDgNCj4gKyAgICAgICAg ICAgICAgICBHcGlvSW50KEVkZ2UsIEFjdGl2ZUJvdGgsIFNoYXJlZEFuZFdha2UsIFB1bGxOb25l LA0KPiAwLCJcXF9TQi5HUE8yIiwpIHsyfQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgLy8gSW5k ZXggOQ0KPiArICAgICAgICAgICAgICAgIFVBUlRTZXJpYWxCdXMoICAgICAgICAgICAvLyBQaW4g NiwgOCwgMTAsIDEyIG9mIEpQMSwgZm9yIFNJT19VQVJUMQ0KPiArICAgICAgICAgICAgICAgICAg ICAxMTUyMDAsICAgICAgICAgICAgICAgIC8vIEluaXRpYWxCYXVkUmF0ZTogaW4gYml0cyBiZXIg c2Vjb25kDQo+ICsgICAgICAgICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgICAgICAgLy8g Qml0c1BlckJ5dGU6IGRlZmF1bHQgdG8gOCBiaXRzDQo+ICsgICAgICAgICAgICAgICAgICAgICwg ICAgICAgICAgICAgICAgICAgICAgLy8gU3RvcEJpdHM6IERlZmF1bHRzIHRvIG9uZSBiaXQNCj4g KyAgICAgICAgICAgICAgICAgICAgMHhmYywgICAgICAgICAgICAgICAgICAvLyBMaW5lc0luVXNl OiA4IDEtYml0IGZsYWdzIHRvIGRlY2xhcmUgbGluZSBlbmFibGVkDQo+ICsgICAgICAgICAgICAg ICAgICAgICwgICAgICAgICAgICAgICAgICAgICAgLy8gSXNCaWdFbmRpYW46IGRlZmF1bHQgdG8g TGl0dGxlRW5kaWFuDQo+ICsgICAgICAgICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgICAg ICAgLy8gUGFyaXR5OiBEZWZhdWx0cyB0byBubyBwYXJpdHkNCj4gKyAgICAgICAgICAgICAgICAg ICAgRmxvd0NvbnRyb2xIYXJkd2FyZSwgICAvLyBGbG93Q29udHJvbDogRGVmYXVsdHMgdG8gbm8g Zmxvdw0KPiBjb250cm9sDQo+ICsgICAgICAgICAgICAgICAgICAgIDMyLCAgICAgICAgICAgICAg ICAgICAgLy8gUmVjZWl2ZUJ1ZmZlclNpemUNCj4gKyAgICAgICAgICAgICAgICAgICAgMzIsICAg ICAgICAgICAgICAgICAgICAvLyBUcmFuc21pdEJ1ZmZlclNpemUNCj4gKyAgICAgICAgICAgICAg ICAgICAgIlxcX1NCLlVSVDEiLCAgICAgICAgICAvLyBSZXNvdXJjZVNvdXJjZTogVUFSVCBidXMg Y29udHJvbGxlciBuYW1lDQo+ICsgICAgICAgICAgICAgICAgICAgICwNCj4gKyAgICAgICAgICAg ICAgICAgICAgLA0KPiArICAgICAgICAgICAgICAgICAgICBVQVIxLCAgICAgICAgICAgICAgLy8g RGVzY3JpcHRvck5hbWU6IGNyZWF0ZXMgbmFtZSBmb3Igb2Zmc2V0IG9mDQo+IHJlc291cmNlIGRl c2NyaXB0b3INCj4gKyAgICAgICAgICAgICAgICAgICAgKQ0KPiArDQo+ICsgICAgICAgICAgICAg ICAgLy8gSW5kZXggMTANCj4gKyAgICAgICAgICAgICAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERl ZmF1bHQsIDAsIDAsIElvUmVzdHJpY3Rpb25Ob25lLCAiXFxfU0IuR1BPMCIsKQ0KPiB7NjJ9ICAv LyBQaW4gMTQgb2YgSlAxIChHUElPX1NDWzYyXSkNCj4gKyAgICAgICAgICAgICAgICAvLyBJbmRl eCAxMQ0KPiArICAgICAgICAgICAgICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVk QW5kV2FrZSwgUHVsbE5vbmUsDQo+IDAsIlxcX1NCLkdQTzAiLCkgezYyfQ0KPiArDQo+ICsgICAg ICAgICAgICAgICAgLy8gSW5kZXggMTINCj4gKyAgICAgICAgICAgICAgICBHcGlvSW8gKFNoYXJl ZCwgUHVsbERlZmF1bHQsIDAsIDAsIElvUmVzdHJpY3Rpb25Ob25lLCAiXFxfU0IuR1BPMCIsKQ0K PiB7NjN9ICAvLyBQaW4gMTYgb2YgSlAxIChHUElPX1NDWzYzXSkNCj4gKyAgICAgICAgICAgICAg ICAvLyBJbmRleCAxMw0KPiArICAgICAgICAgICAgICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90 aCwgU2hhcmVkQW5kV2FrZSwgUHVsbE5vbmUsDQo+IDAsIlxcX1NCLkdQTzAiLCkgezYzfQ0KPiAr DQo+ICsgICAgICAgICAgICAgICAgLy8gSW5kZXggMTQNCj4gKyAgICAgICAgICAgICAgICBHcGlv SW8gKFNoYXJlZCwgUHVsbERlZmF1bHQsIDAsIDAsIElvUmVzdHJpY3Rpb25Ob25lLCAiXFxfU0Iu R1BPMCIsKQ0KPiB7NjV9ICAvLyBQaW4gMTggb2YgSlAxIChHUElPX1NDWzY1XSkNCj4gKyAgICAg ICAgICAgICAgICAvLyBJbmRleCAxNQ0KPiArICAgICAgICAgICAgICAgIEdwaW9JbnQoRWRnZSwg QWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwgUHVsbE5vbmUsDQo+IDAsIlxcX1NCLkdQTzAiLCkg ezY1fQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgLy8gSW5kZXggMTYNCj4gKyAgICAgICAgICAg ICAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERlZmF1bHQsIDAsIDAsIElvUmVzdHJpY3Rpb25Ob25l LCAiXFxfU0IuR1BPMCIsKQ0KPiB7NjR9ICAvLyBQaW4gMjAgb2YgSlAxIChHUElPX1NDWzY0XSkN Cj4gKyAgICAgICAgICAgICAgICAvLyBJbmRleCAxNw0KPiArICAgICAgICAgICAgICAgIEdwaW9J bnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwgUHVsbE5vbmUsDQo+IDAsIlxcX1NC LkdQTzAiLCkgezY0fQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgLy8gSW5kZXggMTgNCj4gKyAg ICAgICAgICAgICAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERlZmF1bHQsIDAsIDAsIElvUmVzdHJp Y3Rpb25Ob25lLCAiXFxfU0IuR1BPMCIsKQ0KPiB7OTR9ICAvLyBQaW4gMjIgb2YgSlAxIChHUElP X1NDWzk0XSkNCj4gKyAgICAgICAgICAgICAgICAvLyBJbmRleCAxOQ0KPiArICAgICAgICAgICAg ICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwgUHVsbE5vbmUsDQo+ IDAsIlxcX1NCLkdQTzAiLCkgezk0fQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgLy8gSW5kZXgg MjANCj4gKyAgICAgICAgICAgICAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERlZmF1bHQsIDAsIDAs IElvUmVzdHJpY3Rpb25Ob25lLCAiXFxfU0IuR1BPMCIsKQ0KPiB7OTV9ICAvLyBQaW4gMjQgb2Yg SlAxIChHUElPX1NDWzk1XSkNCj4gKyAgICAgICAgICAgICAgICAvLyBJbmRleCAyMQ0KPiArICAg ICAgICAgICAgICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVkQW5kV2FrZSwgUHVs bE5vbmUsDQo+IDAsIlxcX1NCLkdQTzAiLCkgezk1fQ0KPiArDQo+ICsgICAgICAgICAgICAgICAg Ly8gSW5kZXggMjINCj4gKyAgICAgICAgICAgICAgICBHcGlvSW8gKFNoYXJlZCwgUHVsbERlZmF1 bHQsIDAsIDAsIElvUmVzdHJpY3Rpb25Ob25lLCAiXFxfU0IuR1BPMCIsKQ0KPiB7NTR9ICAvLyBQ aW4gMjYgb2YgSlAxIChHUElPX1NDWzU0XSkNCj4gKyAgICAgICAgICAgICAgICAvLyBJbmRleCAy Mw0KPiArICAgICAgICAgICAgICAgIEdwaW9JbnQoRWRnZSwgQWN0aXZlQm90aCwgU2hhcmVkQW5k V2FrZSwgUHVsbE5vbmUsDQo+IDAsIlxcX1NCLkdQTzAiLCkgezU0fQ0KPiArICAgICAgICAgICAg fSkNCj4gKw0KPiArICAgICAgICAgICAgTmFtZShfRFNELCBQYWNrYWdlKCkNCj4gKyAgICAgICAg ICAgIHsNCj4gKyAgICAgICAgICAgICAgICBUb1VVSUQoImRhZmZkODE0LTZlYmEtNGQ4Yy04YTkx LWJjOWJiZjRhYTMwMSIpLA0KPiArICAgICAgICAgICAgICAgIFBhY2thZ2UoKQ0KPiArICAgICAg ICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgLy8gU1BJIE1hcHBpbmcNCj4gKyAg ICAgICAgICAgICAgICAgICAgUGFja2FnZSgyKSB7ICJidXMtU1BJLVNQSTAiLCBQYWNrYWdlKCkg eyAwIH19LA0KPiArDQo+ICsgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IEludGVsIHdpbGwg bmVlZCB0byBwcm92aWRlIHRoZSByaWdodCB2YWx1ZSBmb3IgU1BJMA0KPiBwcm9wZXJ0aWVzDQo+ ICsgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMikgeyAiU1BJMC1NaW5DbG9ja0luSHoiLCAx MDAwMDAgfSwNCj4gKyAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgyKSB7ICJTUEkwLU1heENs b2NrSW5IeiIsIDE1MDAwMDAwIH0sDQo+ICsgICAgICAgICAgICAgICAgICAgIC8vIFN1cHBvcnRl ZERhdGFCaXRMZW5ndGhzIHRha2VzIGEgbGlzdCBvZiBzdXBwb3J0IGRhdGEgYml0IGxlbmd0aA0K PiArICAgICAgICAgICAgICAgICAgICAvLyBFeGFtcGxlIDogUGFja2FnZSgyKSB7ICJTUEkwLVN1 cHBvcnRlZERhdGFCaXRMZW5ndGhzIiwNCj4gUGFja2FnZSgpIHsgOCwgNywgMTYgfX0sDQo+ICsg ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMikgeyAiU1BJMC1TdXBwb3J0ZWREYXRhQml0TGVu Z3RocyIsIFBhY2thZ2UoKSB7IDQsIDUsIDYsDQo+IDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAx NCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4 LCAyOSwNCj4gMzAsIDMxLCAzMiB9fSwNCj4gKyAgICAgICAgICAgICAgICAgICAgLy8gSTJDIE1h cHBpbmcNCj4gKyAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgyKSB7ICJidXMtSTJDLUkyQzUi LCBQYWNrYWdlKCkgeyAxIH19LA0KPiArICAgICAgICAgICAgICAgICAgICAvLyBVQVJUIE1hcHBp bmcNCj4gKyAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgyKSB7ICJidXMtVUFSVC1VQVJUMiIs IFBhY2thZ2UoKSB7IDIgfX0sDQo+ICsgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMikgeyAi YnVzLVVBUlQtVUFSVDEiLCBQYWNrYWdlKCkgeyA5IH19LA0KPiArICAgICAgICAgICAgICAgIH0N Cj4gKyAgICAgICAgICAgIH0pDQo+ICsgICAgICAgIH0NCj4gKyAgICB9DQo+ICt9DQo+IFwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9W bHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9USEVSTUFMLkFTTA0KPiBiL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvVEhFUk1BTC5BU0wN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNmQ5ZTlmM2Q2OQ0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvQWNwaVRhYmxlc1BDQVQvVEhFUk1BTC5BU0wNCj4gQEAgLTAsMCArMSwxMzcgQEANCj4gKy8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioN Cj4gKioqKioqKioqKioqKioqKio7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICo7DQo+ICs7KiAgICBJbnRlbCBDb3Jwb3JhdGlvbiAtIEFDUEkgUmVmZXJlbmNl IENvZGUgZm9yIHRoZSBCYXl0cmFpbCAgICAgICAgICAgICo7DQo+ICs7KiAgICBGYW1pbHkgb2Yg Q3VzdG9tZXIgUmVmZXJlbmNlIEJvYXJkcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7 KiAgICBDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkICAgKjsNCj4gKzsNCj4gKzsgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKzsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsq ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKjsNCj4gKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqKiovDQo+ICsNCj4gKw0K PiArLy8gVEhFUk1BTC5BU0wgcmVwcmVzZW50cyBhIFRoZXJtYWwgWm9uZSB0byBiZSB1c2VkIGZv ciB0ZXN0aW5nIG9uIHRoZQ0KPiArLy8gQ3VzdG9tZXIgUmVmZXJlbmNlIEJvYXJkcy4NCj4gKw0K PiArRXh0ZXJuYWwoXF9TQi5EUFRGLkNUT0ssIE1ldGhvZE9iaikNCj4gKw0KPiArU2NvcGUoXF9U WikNCj4gK3sNCj4gKw0KPiArICAvLyBUaGVybWFsIFpvbmUgMSA9IERUUyBUaGVybWFsIFpvbmUu DQo+ICsNCj4gKyAgVGhlcm1hbFpvbmUoVFowMSkNCj4gKyAgew0KPiArICAgIC8vIFJldHVybiB0 aGUgdGVtcGVyYXR1cmUgYXQgd2hpY2ggdGhlIE9TIG11c3QgcGVyZm9ybSBhIENyaXRjYWwNCj4g KyAgICAvLyBTaHV0ZG93bi4NCj4gKw0KPiArICAgIE1ldGhvZChfQ1JULDAsU2VyaWFsaXplZCkN Cj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oQWRkKDI3MzIsTXVsdGlwbHkoQ1JUVCwxMCkpKQ0K PiArICAgIH0NCj4gKw0KPiArICAgIC8vIE5vdGlmaWVzIEFTTCBDb2RlIHRoZSBjdXJyZW50IGNv b2xpbmcgbW9kZS4NCj4gKyAgICAvLyAgICAgIDAgLSBBY3RpdmUgY29vbGluZw0KPiArICAgIC8v ICAgICAgMSAtIFBhc3NpdmUgY29vbGluZw0KPiArDQo+ICsgICAgTWV0aG9kKF9TQ1AsMSxTZXJp YWxpemVkKQ0KPiArICAgIHsNCj4gKyAgICAgIFN0b3JlKEFyZzAsQ1RZUCkNCj4gKyAgICB9DQo+ ICsNCj4gKyAgICAvLyBfVE1QIChUZW1wZXJhdHVyZSkNCj4gKyAgICAvLw0KPiArICAgIC8vIFJl dHVybiB0aGUgaGlnaGVzdCBvZiB0aGUgQ1BVIHRlbXBlcmF0dXJlcyB0byB0aGUgT1MuDQo+ICsg ICAgLy8NCj4gKyAgICAvLyBBcmd1bWVudHM6ICgwKQ0KPiArICAgIC8vICAgTm9uZQ0KPiArICAg IC8vIFJldHVybiBWYWx1ZToNCj4gKyAgICAvLyAgIEFuIEludGVnZXIgY29udGFpbmluZyB0aGUg Y3VycmVudCB0ZW1wZXJhdHVyZSBvZiB0aGUgdGhlcm1hbCB6b25lIChpbg0KPiB0ZW50aHMgb2Yg ZGVncmVlcyBLZWx2aW4pDQo+ICsgICAgLy8NCj4gKyAgICBNZXRob2QoX1RNUCwwLFNlcmlhbGl6 ZWQpDQo+ICsgICAgew0KPiArICAgICAgSWYoRFRTRSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAg SWYoTEdyZWF0ZXIoRFRTMiwgRFRTMSkpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBTdG9y ZShEVFMyLExvY2FsMCkNCj4gKyAgICAgICAgfSBlbHNlDQo+ICsgICAgICAgIHsNCj4gKyAgICAg ICAgICBTdG9yZShEVFMxLExvY2FsMCkNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICBJZiAoTEVx dWFsKEFuZChMb2NhbDAsIDB4ODApLCAwKSkgew0KPiArICAgICAgICAgIFJldHVybihBZGQoMjcz MixNdWx0aXBseShMb2NhbDAsMTApKSkNCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAg ICBBZGQoU3VidHJhY3QoMjU1LCBMb2NhbDApLCAxLCBMb2NhbDApDQo+ICsgICAgICAgICAgUmV0 dXJuKFN1YnRyYWN0KDI3MzIsTXVsdGlwbHkoTG9jYWwwLDEwKSkpDQo+ICsgICAgICAgIH0NCj4g KyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gRWxzZSByZXR1cm4gYSBzdGF0aWMgdmFsdWUgaWYg Ym90aCBFQyBhbmQgRFRTIGFyZSB1bmF2YWlsYWJsZS4NCj4gKyAgICAgICAgLy8NCj4gKyAgICAg IH0gRWxzZQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4oMzAwMCkgLy8gKDMwMDAtMjcz MikvMTAgPSAyNi44IGRlZ3JlZSBDDQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsgICAg Ly8gUmV0dXJuIHRoZSBQcm9jZXNzb3IocykgdXNlZCBmb3IgUGFzc2l2ZSBDb29saW5nLg0KPiAr DQo+ICsgICAgTWV0aG9kKF9QU0wsMCxTZXJpYWxpemVkKQ0KPiArICAgIHsNCj4gKyAgICAgIElm KExFcXVhbChNUEVOLCA0KSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgLy8gIENNUCAtIFRocm90 dGxpbmcgY29udHJvbHMgYWxsIGZvdXIgbG9naWNhbCBDUFVzLg0KPiArICAgICAgICBSZXR1cm4o UGFja2FnZSgpIHtcX1BSLkNQVTAsXF9QUi5DUFUxLFxfUFIuQ1BVMixcX1BSLkNQVTN9KQ0KPiAr ICAgICAgfQ0KPiArDQo+ICsgICAgICBJZihNUEVOKQ0KPiArICAgICAgew0KPiArICAgICAgICAv LyAgQ01QIC0gVGhyb3R0bGluZyBjb250cm9scyBib3RoIENQVXMuDQo+ICsNCj4gKyAgICAgICAg UmV0dXJuKFBhY2thZ2UoKSB7XF9QUi5DUFUwLFxfUFIuQ1BVMX0pDQo+ICsgICAgICB9DQo+ICsN Cj4gKyAgICAgIFJldHVybihQYWNrYWdlKCkge1xfUFIuQ1BVMH0pDQo+ICsgICAgfQ0KPiArDQo+ ICsgICAgLy8gUmV0dXJucyB0aGUgdGVtcGVyYXR1cmUgYXQgd2hpY2ggdGhlIE9TIGluaXRpYXRl cyBDUFUgdGhyb3R0bGluZy4NCj4gKw0KPiArICAgIE1ldGhvZChfUFNWLDAsU2VyaWFsaXplZCkN Cj4gKyAgICB7DQo+ICsgICAgICBSZXR1cm4oQWRkKDI3MzIsTXVsdGlwbHkoUFNWVCwxMCkpKQ0K PiArICAgIH0NCj4gKw0KPiArICAgIC8vIFJldHVybnMgVEMxIHZhbHVlIHVzZWQgaW4gdGhlIHBh c3NpdmUgY29vbGluZyBmb3JtdWxhLg0KPiArDQo+ICsgICAgTWV0aG9kKF9UQzEsMCxTZXJpYWxp emVkKQ0KPiArICAgIHsNCj4gKyAgICAgIFJldHVybihUQzFWKQ0KPiArICAgIH0NCj4gKw0KPiAr ICAgIC8vIFJldHVybnMgVEMyIHZhbHVlIHVzZWQgaW4gdGhlIHBhc3NpdmUgY29vbGluZyBmb3Jt dWxhLg0KPiArDQo+ICsgICAgTWV0aG9kKF9UQzIsMCxTZXJpYWxpemVkKQ0KPiArICAgIHsNCj4g KyAgICAgIFJldHVybihUQzJWKQ0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vIFJldHVybnMgdGhl IHNhbXBsaW5nIHBlcmlvZCB1c2VkIGluIHRoZSBwYXNzaXZlIGNvb2xpbmcgZm9ybXVsYS4NCj4g Kw0KPiArICAgIE1ldGhvZChfVFNQLDAsU2VyaWFsaXplZCkNCj4gKyAgICB7DQo+ICsgICAgICBS ZXR1cm4oVFNQVikNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLyBSZXR1cm5zIEhvdCBUZW1wZXJh dHVyZQ0KPiArDQo+ICsgICAgTWV0aG9kKF9IT1QsMCxTZXJpYWxpemVkKQ0KPiArICAgIHsNCj4g KyAgICAgIFN1YnRyYWN0KENSVFQsIDUsIExvY2FsMCkNCj4gKyAgICAgIFJldHVybihBZGQoMjcz MixNdWx0aXBseShMb2NhbDAsMTApKSkNCj4gKyAgICB9DQo+ICsgIH0NCj4gK30NCj4gZGlmZiAt LWdpdCBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQv VXNiU2JkLmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRh Ymxlc1BDQVQvVXNiU2JkLmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwLi5hNGZiMTczODYyDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9Vc2JTYmQuYXNsDQo+IEBAIC0w LDAgKzEsOTMgQEANCj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqKioqKioqKioqKioqOw0KPiArOyog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICo7DQo+ICs7KiAgICBJbnRlbCBDb3Jwb3JhdGlvbiAtIEFDUEkgUmVmZXJlbmNlIENvZGUgZm9y IHRoZSBCYXl0cmFpbCAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgRmFtaWx5IG9m IEN1c3RvbWVyIFJlZmVyZW5jZSBCb2FyZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAg ICBNUEctTVNBRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KjsNCj4gKzsqICAgIENvcHlyaWdodCAoYykgMTk5OSAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9u LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqOw0KPiArOyogVGhTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudA0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICBUaGlzIHByb2dyYW0gaGFzIGJlZW4gZGV2 ZWxvcGVkIGJ5IEludGVsIENvcnBvcmF0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAqOw0K PiArOyogICAgTGljZW5zZWUgaGFzIEludGVsJ3MgcGVybWlzc2lvbiB0byBpbmNvcnBvcmF0ZSB0 aGlzIHNvdXJjZSBjb2RlICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgIGludG8gdGhlaXIgcHJv ZHVjdCwgcm95YWx0eSBmcmVlLiAgVGhpcyBzb3VyY2UgY29kZSBtYXkgTk9UIGJlICAgICAgICAg ICAgICAgICo7DQo+ICs7KiAgICByZWRpc3RyaWJ1dGVkIHRvIGFueW9uZSB3aXRob3V0IEludGVs J3Mgd3JpdHRlbiBwZXJtaXNzaW9uLiAgICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgIEludGVsIHNwZWNpZmljYWxseSBkaXNjbGFp bXMgYWxsIHdhcnJhbnRpZXMsIGV4cHJlc3Mgb3IgICAgICAgICAgICAgICAgICAgICAgICo7DQo+ ICs7KiAgICBpbXBsaWVkLCBhbmQgYWxsIGxpYWJpbGl0eSwgaW5jbHVkaW5nIGNvbnNlcXVlbnRp YWwgYW5kIG90aGVyICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgaW5kaXJlY3QgZGFtYWdl cywgZm9yIHRoZSB1c2Ugb2YgdGhpcyBjb2RlLCBpbmNsdWRpbmcgbGlhYmlsaXR5ICAgICAgICAg ICAgICAgKjsNCj4gKzsqICAgIGZvciBpbmZyaW5nZW1lbnQgb2YgYW55IHByb3ByaWV0YXJ5IHJp Z2h0cywgYW5kIGluY2x1ZGluZyB0aGUgICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICB3YXJy YW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyICAg ICAgICAgICAgICAgICAgICAqOw0KPiArOyogICAgcHVycG9zZS4gIEludGVsIGRvZXMgbm90IGFz c3VtZSBhbnkgcmVzcG9uc2liaWxpdHkgZm9yIGFueSAgICAgICAgICAgICAgICAgICAgKjsNCj4g KzsqICAgIGVycm9ycyB3aGljaCBtYXkgYXBwZWFyIGluIHRoaXMgY29kZSBub3IgYW55IHJlc3Bv bnNpYmlsaXR5IHRvICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICB1cGRhdGUgaXQuICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgIFZlcnNp b246ICBTZWUgUkVBRE1FLlRYVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICo7DQo+ICs7KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiAr OyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Kg0KPiAqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQo+ICsNCj4gKy8vDQo+ICsvLyBfRFNN IDogRGV2aWNlIFNwZWNpZmljIE1ldGhvZCBzdXBwb3J0aW5nIFVTQiBTaWRlYmFuZCBEZWZlcnJp bmcNCj4gZnVuY3Rpb24NCj4gKy8vDQo+ICsvLyBBcmcwOiBVVUlEIFVuaXF1ZSBmdW5jdGlvbiBp ZGVudGlmaWVyDQo+ICsvLyBBcmcxOiBJbnRlZ2VyIFJldmlzaW9uIExldmVsDQo+ICsvLyBBcmcy OiBJbnRlZ2VyIEZ1bmN0aW9uIEluZGV4DQo+ICsvLyBBcmczOiBQYWNrYWdlIFBhcmFtZXRlcnMN Cj4gKy8vDQo+ICtNZXRob2QgKF9EU00sIDQsIFNlcmlhbGl6ZWQsIDAsIFVua25vd25PYmosIHtC dWZmT2JqLCBJbnRPYmosIEludE9iaiwNCj4gUGtnT2JqfSkNCj4gK3sNCj4gKw0KPiArICBJZiAo TEVxdWFsKEFyZzAsIFRvVVVJRCAoIkE1RkM3MDhGLTg3NzUtNEJBNi1CRDBDLUJBOTBBMUVDNzJG OCIpKSkNCj4gKyAgew0KPiArICAgIC8vDQo+ICsgICAgLy8gU3dpdGNoIGJ5IGZ1bmN0aW9uIGlu ZGV4DQo+ICsgICAgLy8NCj4gKyAgICBTd2l0Y2ggKFRvSW50ZWdlcihBcmcyKSkNCj4gKyAgICB7 DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gU3RhbmRhcmQgcXVlcnkgLSBBIGJpdG1hc2sgb2Yg ZnVuY3Rpb25zIHN1cHBvcnRlZA0KPiArICAgICAgLy8gU3VwcG9ydHMgZnVuY3Rpb24gMC0yDQo+ ICsgICAgICAvLw0KPiArICAgICAgQ2FzZSAoMCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgaWYg KExFcXVhbChBcmcxLCAxKSkgICAvLyB0ZXN0IEFyZzEgZm9yIHRoZSByZXZpc2lvbg0KPiArICAg ICAgICB7DQo+ICsgICAgICAgICAgUmV0dXJuIChCdWZmZXIgKCkgezB4MDd9KQ0KPiArICAgICAg ICB9DQo+ICsgICAgICAgIGVsc2UNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIFJldHVybiAo QnVmZmVyICgpIHswfSkNCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgLy8NCj4g KyAgICAgIC8vIFVTQiBTaWRlYmFuZCBEZWZlcnJpbmcgU3VwcG9ydA0KPiArICAgICAgLy8gICAw OiBVU0IgU2lkZWJhbmQgRGVmZXJyaW5nIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBkZXZpY2UNCj4g KyAgICAgIC8vICAgMTogVVNCIFNpZGViYW5kIERlZmVycmluZyBzdXBwb3J0ZWQNCj4gKyAgICAg IC8vDQo+ICsgICAgICBDYXNlICgxKQ0KPiArICAgICAgew0KPiArICAgICAgICBpZiAoTEVxdWFs KFNER1YsMHhGRikpICAgLy8gY2hlY2sgZm9yIHZhbGlkIEdQRSB2ZWN0b3INCj4gKyAgICAgICAg ew0KPiArICAgICAgICAgIFJldHVybiAoMCkNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICBlbHNl DQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBSZXR1cm4gKDEpDQo+ICsgICAgICAgIH0NCj4g KyAgICAgIH0NCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBHUEUgVmVjdG9yDQo+ICsgICAgICAv LyAgUmV0dXJuIHRoZSBiaXQgb2Zmc2V0IHdpdGhpbiB0aGUgR1BFIGJsb2NrIG9mIHRoZSBHUElP IChIT1NUX0FMRVJUKQ0KPiBkcml2ZW4gYnkgdGhpcyBkZXZpY2UNCj4gKyAgICAgIC8vDQo+ICsg ICAgICBDYXNlICgyKQ0KPiArICAgICAgew0KPiArICAgICAgICBSZXR1cm4gKFNER1YpDQo+ICsg ICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgUmV0dXJuICgwKQ0KPiArfQ0KPiBk aWZmIC0tZ2l0IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVz UENBVC9WaWRlby5hc2wNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0Fj cGlUYWJsZXNQQ0FUL1ZpZGVvLmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi43NjhiOTEyYWFlDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9WaWRlby5hc2wNCj4gQEAg LTAsMCArMSwzNCBAQA0KPiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioqKjsNCj4gKzsqICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgIEludGVsIENvcnBvcmF0 aW9uIC0gQUNQSSBSZWZlcmVuY2UgQ29kZSBmb3IgdGhlIEJheXRyYWlsICAgICAgICAgICAgKjsN Cj4gKzsqICAgIEZhbWlseSBvZiBDdXN0b21lciBSZWZlcmVuY2UgQm9hcmRzLiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKjsNCj4gKzsqICAgIENvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQgICAqOw0KPiArOw0KPiArOyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArOw0KPiArOyogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiArOyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioq KioqKioqKi8NCj4gKw0KPiArDQo+ICsNCj4gKw0KPiArLy8gQnJpZ2h0bmVzcyBOb3RpZmljYXRp b246DQo+ICsvLyAgICAgICAgICAgICAgR2VuZXJhdGUgYSBicmlnaHRuZXNzIHJlbGF0ZWQgbm90 aWZpY2F0aW9uDQo+ICsvLyAgICAgIHRvIHRoZSBMRlAgaWYgaXRzIHBvcHVsYXRlZC4NCj4gKy8v DQo+ICsvLyAgICAgIEFyZ3VtZW50czoNCj4gKy8vICAgICAgICAgICAgICBBcmcwOiAgIE5vdGlm aWNhdGlvbiB2YWx1ZS4NCj4gKy8vDQo+ICsvLyAgICAgIFJldHVybiBWYWx1ZToNCj4gKy8vICAg ICAgICAgICAgICBOb25lDQo+ICtNZXRob2QoQlJUTiwxLFNlcmlhbGl6ZWQpDQo+ICt7DQo+ICsg IElmKExFcXVhbChBbmQoRElEWCwweDBGMDApLDB4NDAwKSkNCj4gKyAgew0KPiArICAgIE5vdGlm eShcX1NCLlBDSTAuR0ZYMC5ERDFGLEFyZzApDQo+ICsgIH0NCj4gK30NCj4gZGlmZiAtLWdpdCBh L1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQvVmx2LmFz bA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvQWNwaVRhYmxlc1BDQVQv Vmx2LmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zMmUx ODUxMzAzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9WbHYuYXNsDQo+IEBAIC0wLDAgKzEsMzkgQEANCj4g Ky8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBWTFYuQVNMDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEJheXRyYWls IFBDSSBjb25maWd1cmF0aW9uIHNwYWNlIGRlZmluaXRpb24uDQo+ICsNCj4gKy0tKi8NCj4gK1Nj b3BlIChcX1NCLlBDSTApDQo+ICt7DQo+ICsNCj4gKyAgRGV2aWNlKEdGWDApICAgLy8gTW9iaWxl IEkuRy5EDQo+ICsgIHsNCj4gKyAgICBOYW1lKF9BRFIsIDB4MDAwMjAwMDApDQo+ICsNCj4gKyAg ICBNZXRob2QoR0RFUCwgMCkNCj4gKyAgICB7DQo+ICsgICAgICBJZihMRXF1YWwoT1NZUywyMDEz KSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgTmFtZShfREVQLCBQYWNrYWdlKDB4MSkNCj4gKyAg ICAgICAgew0KPiArICAgICAgICAgIFBFUEQNCj4gKyAgICAgICAgfSkNCj4gKyAgICAgIH0NCj4g KyAgICB9DQo+ICsNCj4gKyAgICBpbmNsdWRlKCJJTlRFTEdGWC5BU0wiKQ0KPiArICAgIGluY2x1 ZGUoIklOVEVMSVNQRGV2Mi5BU0wiKQ0KPiArICB9IC8vIGVuZCAiTW9iaWxlIEkuRy5EIg0KPiAr fS8vZW5kIHNjb3BlDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL1dzbXQvV3NtdC5hc2xjDQo+IGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC9Xc210L1dzbXQuYXNsYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zNWZhNzk5MTIzDQo+IC0t LSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBr Zy9BY3BpVGFibGVzUENBVC9Xc210L1dzbXQuYXNsYw0KPiBAQCAtMCwwICsxLDU0IEBADQo+ICsv KisrDQo+ICsgIENvcHlyaWdodCAoYykgMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiAr ICBXc210LmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhpcyBmaWxlIGNvbnRhaW5z IGEgc3RydWN0dXJlIGRlZmluaXRpb24gZm9yIHRoZSBXaW5kb3dzIFNNTSBTZWN1cml0eQ0KPiAr ICBNaXRpZ2F0aW9ucyBUYWJsZSAoV1NNVCkuDQo+ICsNCj4gKysrKi8NCj4gKw0KPiArLy8NCj4g Ky8vIFN0YXRlbWVudHMgdGhhdCBpbmNsdWRlIG90aGVyIGZpbGVzDQo+ICsvLw0KPiArI2luY2x1 ZGUgIkFjcGlUYWJsZVBsYXRmb3JtLmgiDQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9X aW5kb3dzU21tU2VjdXJpdHlNaXRpZ2F0aW9uVGFibGUuaD4NCj4gKw0KPiArLy8NCj4gKy8vIFdT TVQgVGFibGUgZGVmaW5pdGlvbg0KPiArLy8NCj4gK0VGSV9BQ1BJX1dTTVRfVEFCTEUgV1NNVCA9 IHsNCj4gKyAgRUZJX0FDUElfV0lORE9XU19TTU1fU0VDVVJJVFlfTUlUSUdBVElPTl9UQUJMRV9T SUdOQVRVUkUsDQo+ICsgIHNpemVvZiAoRUZJX0FDUElfV1NNVF9UQUJMRSksDQo+ICsgIEVGSV9X U01UX1RBQkxFX1JFVklTSU9OLA0KPiArICAvLw0KPiArICAvLyBDaGVja3N1bSB3aWxsIGJlIHVw ZGF0ZWQgYXQgcnVudGltZQ0KPiArICAvLw0KPiArICAwLA0KPiArICBFRklfQUNQSV9PRU1fSUQs ICAgICAgICAgICAgLy8gT0VNSUQgaXMgYSA2IGJ5dGVzIGxvbmcgZmllbGQNCj4gKyAgRUZJX0FD UElfT0VNX1RBQkxFX0lELCAgICAgIC8vIE9FTSB0YWJsZSBpZGVudGlmaWNhdGlvbig4IGJ5dGVz IGxvbmcpDQo+ICsgIEVGSV9BQ1BJX09FTV9SRVZJU0lPTiwgICAgICAvLyBPRU0gcmV2aXNpb24N Cj4gKyAgRUZJX0FDUElfQ1JFQVRPUl9JRCwgICAgICAgIC8vIEFTTCBjb21waWxlciB2ZW5kb3Ig SUQNCj4gKyAgRUZJX0FDUElfQ1JFQVRPUl9SRVZJU0lPTiwgIC8vIEFTTCBjb21waWxlciByZXZp c2lvbiBudW1iZXINCj4gKyAgMHgwMDAwMDAwMCwgICAgICAgICAgICAgICAgIC8vIFByb3RlY3Rp b24gZmxhZw0KPiArfTsNCj4gKw0KPiArVk9JRCoNCj4gK1JlZmVyZW5jZUFjcGlUYWJsZSAoDQo+ ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBSZWZlcmVuY2UgdGhlIHRh YmxlIGJlaW5nIGdlbmVyYXRlZCB0byBwcmV2ZW50IHRoZSBvcHRpbWl6ZXIgZnJvbQ0KPiArICAv LyByZW1vdmluZyB0aGUgZGF0YSBzdHJ1Y3R1cmUgZnJvbSB0aGUgZXhlY3V0YWJsZQ0KPiArICAv Lw0KPiArICByZXR1cm4gKFZPSUQqKSZXU01UOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvU2lsaWNv bi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9BY3BpVGFibGVzUENBVC90b2tlbi5hc2wNCj4g Yi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0FjcGlUYWJsZXNQQ0FUL3Rva2Vu LmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5mOTc2Y2I4 NGQzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9BY3BpVGFibGVzUENBVC90b2tlbi5hc2wNCj4gQEAgLTAsMCArMSwzOSBAQA0KPiAr LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Kg0KPiAqKioqKioqKioqKioqKioqKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKjsNCj4gKzsqICAgIEludGVsIENvcnBvcmF0aW9uIC0gQUNQSSBSZWZlcmVu Y2UgQ29kZSBmb3IgdGhlIFNhbmR5IEJyaWRnZSAgICAgICAgKjsNCj4gKzsqICAgIEZhbWlseSBv ZiBDdXN0b21lciBSZWZlcmVuY2UgQm9hcmRzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4gKzsqICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjsNCj4g KzsqICAgIENvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZCAgICAqOw0KPiArOw0KPiArOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArOw0KPiArOyogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqOw0KPiAr OyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqOw0KPiArOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioqKi8NCj4gKw0KPiAr TmFtZShQTUJTLCAweDQwMCkgICAgICAgLy8gQVNMIGFsaWFzIGZvciBBQ1BJIEkvTyBiYXNlIGFk ZHJlc3MuDQo+ICtOYW1lKFNNSVAsIDB4YjIpICAgICAgICAvLyBJL08gcG9ydCB0byB0cmlnZ2Vy IFNNSQ0KPiArTmFtZShHUEJTLCAweDUwMCkgICAgICAgLy8gR1BJTyBSZWdpc3RlciBCbG9jayBh ZGRyZXNzDQo+ICtOYW1lKEFQQ0IsIDB4ZmVjMDAwMDApICAvLyBEZWZhdWx0IEkvTyBBUElDKHMp IG1lbW9yeSBzdGFydCBhZGRyZXNzLA0KPiAweDBGRUMwMDAwMCAtIGRlZmF1bHQsIDAgLSBJL08g QVBJQydzIGRpc2FibGVkDQo+ICtOYW1lKEFQQ0wsIDB4MTAwMCkgICAgICAvLyBJL08gQVBJQyhz KSBtZW1vcnkgZGVjb2RlZCByYW5nZSwgMHgxMDAwIC0NCj4gZGVmYXVsdCwgMCAtIEkvTyBBUElD J3Mgbm90IGRlY29kZWQNCj4gK05hbWUoUEZEUiwgMHhmZWQwMzAzNCkgIC8vIFBNQyBGdW5jdGlv biBEaXNhYmxlIFJlZ2lzdGVyDQo+ICtOYW1lKFBNQ0IsIDB4ZmVkMDMwMDApICAvLyBQTUMgQmFz ZSBBZGRyZXNzDQo+ICtOYW1lKFBDTEssIDB4ZmVkMDMwNjApICAvLyBQTUMgQ2xvY2sgQ29udHJv bCBSZWdpc3Rlcg0KPiArTmFtZShQVU5CLCAweGZlZDA1MDAwKSAgLy8gUFVOSVQgQmFzZSBBZGRy ZXNzDQo+ICtOYW1lKElCQVMsIDB4ZmVkMDgwMDApICAvLyBJTEIgQmFzZSBBZGRyZXNzDQo+ICtO YW1lKFNSQ0IsIDB4ZmVkMWMwMDApICAvLyBSQ0JBIChSb290IENvbXBsZXggQmFzZSBBZGRyZXNz KQ0KPiArTmFtZShTUkNMLCAweDEwMDApICAgICAgLy8gUkNCQSBsZW5ndGgNCj4gK05hbWUoSFBU QiwgMHhmZWQwMDAwMCkgIC8vIFNhbWUgYXMgSFBFVF9CQVNFX0FERFJFU1MgZm9yIEFTTCB1c2UN Cj4gK05hbWUoUEVCUywgMHhlMDAwMDAwMCkgIC8vIFBDSWUgQmFzZQ0KPiArTmFtZShQRUxOLCAw eDEwMDAwMDAwKSAgLy8NCj4gK05hbWUoRk1CTCwgMHgxKSAvLyBQbGF0Zm9ybSBGbGF2b3IgLSBN b2JpbGUgZmxhdm9yIGZvciBBU0wgY29kZS4NCj4gK05hbWUoRkRUUCwgMHgyKSAvLyBQbGF0Zm9y bSBGbGF2b3IgLSBEZXNrdG9wIGZsYXZvciBmb3IgQVNMIGNvZGUuDQo+ICtOYW1lKFNER1YsIDB4 MWMpICAgICAgICAvLyBVSENJIENvbnRyb2xsZXIgSE9TVF9BTEVSVCdzIGJpdCBvZmZzZXQgd2l0 aGluDQo+IHRoZSBHUEUgYmxvY2suIEdQSU9bMDoxNV0gY29ycmVzcG9uZGluZyB0byBHUEVbMTY6 MzFdDQo+ICtOYW1lKFBFSFAsIDB4MSkgLy8gX09TQzogUGNpIEV4cHJlc3MgTmF0aXZlIEhvdCBQ bHVnIENvbnRyb2wNCj4gK05hbWUoU0hQQywgMHgwKSAvLyBfT1NDOiBTdGFuZGFyZCBIb3QgUGx1 ZyBDb250cm9sbGVyIChTSFBDKSBOYXRpdmUgSG90DQo+IFBsdWcgY29udHJvbA0KPiArTmFtZShQ RVBNLCAweDEpIC8vIF9PU0M6IFBjaSBFeHByZXNzIE5hdGl2ZSBQb3dlciBNYW5hZ2VtZW50IEV2 ZW50cw0KPiBjb250cm9sDQo+ICtOYW1lKFBFRVIsIDB4MSkgLy8gX09TQzogUGNpIEV4cHJlc3Mg QWR2YW5jZWQgRXJyb3IgUmVwb3J0aW5nIGNvbnRyb2wNCj4gK05hbWUoUEVDUywgMHgxKSAvLyBf T1NDOiBQY2kgRXhwcmVzcyBDYXBhYmlsaXR5IFN0cnVjdHVyZSBjb250cm9sDQo+ICsNCj4gZGlm ZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvSW5jbHVkZS9H dWlkL1ZsdjJEZXZpY2VSZWZDb2RlUGtnDQo+IFRva2VuU3BhY2UuaA0KPiBiL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvSW5jbHVkZS9HdWlkL1ZsdjJEZXZpY2VSZWZDb2RlUGtn DQo+IFRva2VuU3BhY2UuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi5jNzQwOGI5MzA4DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9JbmNsdWRlL0d1aWQvVmx2MkRldmljZVJlZkNvZGVQa2cN Cj4gVG9rZW5TcGFjZS5oDQo+IEBAIC0wLDAgKzEsMjQgQEANCj4gKy8qKysNCj4gKw0KPiArQ29w eXJpZ2h0IChjKSAgMjAxMCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgVmx2MkRldmljZVJl ZkNvZGVUb2tlblNwYWNlLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgSW50ZXJmYWNl IGRlZmluaXRpb24gZGV0YWlscyBmb3IgR1VJRC4NCj4gKw0KPiArLS0qLw0KPiArI2lmbmRlZiBf X1ZMVjJfUkVGX0NPREVfX1BLR19UT0tFTl9TUEFDRV9HVUlEX0hfXw0KPiArI2RlZmluZSBfX1ZM VjJfUkVGX0NPREVfX1BLR19UT0tFTl9TUEFDRV9HVUlEX0hfXw0KPiArDQo+ICsjZGVmaW5lIEVG SV9WTFZfVE9LRU5fU1BBQ0VfR1VJRCBcDQo+ICsgIHsgMHhjYTQ1MmM2OCwgMHhkZjBjLCAweDQ1 YzksIHsweDgyLCAweGZiLCAweGVhLCAweGU0LCAweDJiLCAweDMxLCAweDI5LA0KPiAweDQ2fX0N Cj4gK2V4dGVybiBFRklfR1VJRCBnRWZpVkxWVG9rZW5TcGFjZUd1aWQ7DQo+ICsNCj4gKyNlbmRp Zg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9J bmNsdWRlL1BwaS9QdHRQYXNzVGhydVBwaS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9JbmNsdWRlL1BwaS9QdHRQYXNzVGhydVBwaS5oDQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjU1NjQ2ZjRmM2UNCj4gLS0tIC9kZXYvbnVsbA0K PiArKysgYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0luY2x1ZGUvUHBpL1B0 dFBhc3NUaHJ1UHBpLmgNCj4gQEAgLTAsMCArMSw5MiBAQA0KPiArLyorKw0KPiArDQo+ICsgIENv cHlyaWdodCAoYykgMjAwNCAgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIF9FRklfUFRUX1BBU1Nf VEhSVV9QUElfSA0KPiArI2RlZmluZSBfRUZJX1BUVF9QQVNTX1RIUlVfUFBJX0gNCj4gKw0KPiAr I2RlZmluZSBQVFRfUEFTU19USFJVX1BQSV9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAgMHhjNTA2 OGJhYywgMHhhN2RjLCAweDQyZjEsIDB4YWUsIDB4ODAsIDB4Y2EsIDB4YTIsIDB4NGIsIDB4YjQs IDB4OTAsIDB4NGINCj4gXA0KPiArICB9DQo+ICsvLyB7QzUwNjhCQUMtQTdEQy00MmYxLUFFODAt Q0FBMjRCQjQ5MDRCfQ0KPiArLy9zdGF0aWMgY29uc3QgR1VJRCA8PG5hbWU+PiA9DQo+ICsvL3sg MHhjNTA2OGJhYywgMHhhN2RjLCAweDQyZjEsIHsgMHhhZSwgMHg4MCwgMHhjYSwgMHhhMiwgMHg0 YiwgMHhiNCwgMHg5MCwNCj4gMHg0YiB9IH07DQo+ICsNCj4gKw0KPiArDQo+ICsvLyNkZWZpbmUg RUZJX1BUVF9QUk9UT0NPTF9HVUlEICBIRUNJX1BST1RPQ09MX0dVSUQNCj4gKw0KPiArdHlwZWRl ZiBzdHJ1Y3QgX1BUVF9QQVNTX1RIUlVfUFBJIFBUVF9QQVNTX1RIUlVfUFBJOw0KPiArDQo+ICsv KioNCj4gKyAgVGhpcyBzZXJ2aWNlIGVuYWJsZXMgdGhlIHNlbmRpbmcgb2YgY29tbWFuZHMgdG8g dGhlIFRQTTIuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAgIElucHV0UGFyYW1ldGVyQmxvY2tT aXplICBTaXplIG9mIHRoZSBUUE0yIGlucHV0IHBhcmFtZXRlcg0KPiBibG9jay4NCj4gKyAgQHBh cmFtW2luXSAgICAgIElucHV0UGFyYW1ldGVyQmxvY2sgICAgICBQb2ludGVyIHRvIHRoZSBUUE0y IGlucHV0DQo+IHBhcmFtZXRlciBibG9jay4NCj4gKyAgQHBhcmFtW2luLG91dF0gIE91dHB1dFBh cmFtZXRlckJsb2NrU2l6ZSBTaXplIG9mIHRoZSBUUE0yIG91dHB1dA0KPiBwYXJhbWV0ZXIgYmxv Y2suDQo+ICsgIEBwYXJhbVtpbl0gICAgICBPdXRwdXRQYXJhbWV0ZXJCbG9jayAgICAgUG9pbnRl ciB0byB0aGUgVFBNMiBvdXRwdXQNCj4gcGFyYW1ldGVyIGJsb2NrLg0KPiArDQo+ICsgIEByZXR2 YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgY29tbWFuZCBieXRlIHN0cmVhbSB3YXMgc3Vj Y2Vzc2Z1bGx5DQo+IHNlbnQgdG8gdGhlIGRldmljZSBhbmQgYSByZXNwb25zZSB3YXMgc3VjY2Vz c2Z1bGx5IHJlY2VpdmVkLg0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgVGhl IGNvbW1hbmQgd2FzIG5vdCBzdWNjZXNzZnVsbHkgc2VudCB0bw0KPiB0aGUgZGV2aWNlIG9yIGEg cmVzcG9uc2Ugd2FzIG5vdCBzdWNjZXNzZnVsbHkgcmVjZWl2ZWQgZnJvbSB0aGUgZGV2aWNlLg0K PiArICBAcmV0dmFsIEVGSV9CVUZGRVJfVE9PX1NNQUxMICAgVGhlIG91dHB1dCBwYXJhbWV0ZXIg YmxvY2sgaXMgdG9vDQo+IHNtYWxsLg0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVT DQo+ICsoRUZJQVBJICpUUE0yX1NVQk1JVF9DT01NQU5EKSAoDQo+ICsgIElOIFBUVF9QQVNTX1RI UlVfUFBJICpUaGlzLA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICBJbnB1dFBhcmFt ZXRlckJsb2NrU2l6ZSwNCj4gKyAgSU4gVUlOVDggICAgICAgICAgICAgICAgICAgKklucHV0UGFy YW1ldGVyQmxvY2ssDQo+ICsgIElOIE9VVCBVSU5UMzIgICAgICAgICAgICAgICpPdXRwdXRQYXJh bWV0ZXJCbG9ja1NpemUsDQo+ICsgIElOIFVJTlQ4ICAgICAgICAgICAgICAgICAgICpPdXRwdXRQ YXJhbWV0ZXJCbG9jaw0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIHJl cXVlc3RzIHVzZSBUUE0yLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICBHZXQg dGhlIGNvbnRyb2wgb2YgVFBNMiBjaGlwLg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAg VFBNMiBub3QgZm91bmQuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiBVbmV4cGVjdGVk IGRldmljZSBiZWhhdmlvci4NCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiAr KEVGSUFQSSAqVFBNMl9SRVFVRVNUX1VTRV9UUE0pICgNCj4gKyAgSU4gUFRUX1BBU1NfVEhSVV9Q UEkgKlRoaXMNCj4gKyAgKTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBFRklfR1VJ RCAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb3ZpZGVyR3VpZDsNCj4gKyAgVFBNMl9TVUJN SVRfQ09NTUFORCAgICAgICAgICAgICAgICBUcG0yU3VibWl0Q29tbWFuZDsNCj4gKyAgVFBNMl9S RVFVRVNUX1VTRV9UUE0gICAgICAgICAgICAgICBUcG0yUmVxdWVzdFVzZVRwbTsNCj4gK30gUFRU X1RQTTJfREVWSUNFX0lOVEVSRkFDRTsNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2 aWNlIHJlZ2lzdGVyIFRQTTIgZGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSBUcG0yRGV2aWNlICBU UE0yIGRldmljZQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgVGhpcyBU UE0yIGRldmljZSBpcyByZWdpc3RlcmVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBFRklf VU5TVVBQT1JURUQgICAgICBTeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZWdpc3RlciB0aGlzIFRQ TTINCj4gZGV2aWNlLg0KPiArICBAcmV0dmFsIEVGSV9BTFJFQURZX1NUQVJURUQgIFN5c3RlbSBh bHJlYWR5IHJlZ2lzdGVyIHRoaXMgVFBNMiBkZXZpY2UuDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4g K0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKlRQTTJfUkVHSVNURVJfVFBNMl9ERVZJQ0VfTElCKSAo DQo+ICsgIElOIFBUVF9QQVNTX1RIUlVfUFBJICAqVGhpcywNCj4gKyAgSU4gUFRUX1RQTTJfREVW SUNFX0lOVEVSRkFDRSAgICpUcG0yRGV2aWNlDQo+ICsgICk7DQo+ICsNCj4gK3R5cGVkZWYgc3Ry dWN0IF9QVFRfUEFTU19USFJVX1BQSSB7DQo+ICsgIFRQTTJfU1VCTUlUX0NPTU1BTkQgICAgICAg ICAgICAgVHBtMlN1Ym1pdENvbW1hbmQ7DQo+ICsgIFRQTTJfUkVRVUVTVF9VU0VfVFBNICAgICAg ICAgICAgVHBtMlJlcXVlc3RVc2VUcG07DQo+ICsgIFRQTTJfUkVHSVNURVJfVFBNMl9ERVZJQ0Vf TElCICAgVHBtMlJlZ2lzdGVyVHBtMkRldmljZUxpYjsNCj4gK30gUFRUX1BBU1NfVEhSVV9QUEk7 DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnUHR0UGFzc1RocnVQcGlHdWlkOw0KPiArDQo+ICsj ZW5kaWYgLy8gX0VGSV9IRUNJX0gNCj4gZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvSW5jbHVkZS9QcGkvZlRQTVBvbGljeS5oDQo+IGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9JbmNsdWRlL1BwaS9mVFBNUG9saWN5LmgNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOGYzYWNmZDAwNQ0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvSW5jbHVk ZS9QcGkvZlRQTVBvbGljeS5oDQo+IEBAIC0wLDAgKzEsMjYgQEANCj4gKy8qKysNCj4gKw0KPiAr ICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfU0VDX0ZUUE1f UE9MSUNZX1BQSV9IXw0KPiArI2RlZmluZSBfU0VDX0ZUUE1fUE9MSUNZX1BQSV9IXw0KPiArDQo+ ICsjZGVmaW5lIFNFQ19GVFBNX1BPTElDWV9QUElfR1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4 NGZkMWJhNDksIDB4OGY5MCwgMHg0NzFhLCAweGEyLCAweGM5LCAweDE3LCAweDNjLCAweDdhLCAw eDczLCAweDJmLCAweGQwDQo+IFwNCj4gKyAgfQ0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgIGdT ZUNmVFBNUG9saWN5UHBpR3VpZDsNCj4gKw0KPiArLy8NCj4gKy8vIFBQSSBkZWZpbml0aW9uDQo+ ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3QgU0VDX0ZUUE1fUE9MSUNZX1BQSSB7DQo+ICsgIEJPT0xF QU4gICAgICAgICAgICAgICAgIGZUUE1FbmFibGU7DQo+ICt9IFNFQ19GVFBNX1BPTElDWV9QUEk7 DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2 aWNlUmVmQ29kZVBrZy9JbmNsdWRlL1Byb3RvY29sL1B0dFBhc3NUaHJ1LmgNCj4gYi9TaWxpY29u L0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUHR0UGFzc1RocnUu aA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4yMDA5YTQ2ODE2 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9JbmNsdWRlL1Byb3RvY29sL1B0dFBhc3NUaHJ1LmgNCj4gQEAgLTAsMCArMSw5MSBAQA0K PiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE1LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsj aWZuZGVmIF9FRklfUFRUX1BBU1NfVEhSVV9IDQo+ICsjZGVmaW5lIF9FRklfUFRUX1BBU1NfVEhS VV9IDQo+ICsNCj4gKyNkZWZpbmUgUFRUX1BBU1NfVEhSVV9QUk9UT0NPTF9HVUlEIFwNCj4gKyAg eyBcDQo+ICsgICAgMHg3M2UyNTc2LCAweGY2YzEsIDB4NGI5MSwgMHg5MiwgMHhhOSwgMHhkNCwg MHg2NywgMHg1ZCwgMHhkYSwgMHgzNCwgMHhiMQ0KPiBcDQo+ICsgIH0NCj4gKy8vIHswNzNFMjU3 Ni1GNkMxLTRiOTEtOTJBOS1ENDY3NUREQTM0QjF9DQo+ICsvL3N0YXRpYyBjb25zdCBHVUlEIDw8 bmFtZT4+ID0NCj4gKy8veyAweDczZTI1NzYsIDB4ZjZjMSwgMHg0YjkxLCB7IDB4OTIsIDB4YTks IDB4ZDQsIDB4NjcsIDB4NWQsIDB4ZGEsIDB4MzQsDQo+IDB4YjEgfSB9Ow0KPiArDQo+ICsNCj4g Ky8vI2RlZmluZSBFRklfUFRUX1BST1RPQ09MX0dVSUQgIEhFQ0lfUFJPVE9DT0xfR1VJRA0KPiAr DQo+ICt0eXBlZGVmIHN0cnVjdCBfUFRUX1BBU1NfVEhSVV9QUk9UT0NPTCBQVFRfUEFTU19USFJV X1BST1RPQ09MOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIGVuYWJsZXMgdGhlIHNl bmRpbmcgb2YgY29tbWFuZHMgdG8gdGhlIFRQTTIuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAg IElucHV0UGFyYW1ldGVyQmxvY2tTaXplICBTaXplIG9mIHRoZSBUUE0yIGlucHV0IHBhcmFtZXRl cg0KPiBibG9jay4NCj4gKyAgQHBhcmFtW2luXSAgICAgIElucHV0UGFyYW1ldGVyQmxvY2sgICAg ICBQb2ludGVyIHRvIHRoZSBUUE0yIGlucHV0DQo+IHBhcmFtZXRlciBibG9jay4NCj4gKyAgQHBh cmFtW2luLG91dF0gIE91dHB1dFBhcmFtZXRlckJsb2NrU2l6ZSBTaXplIG9mIHRoZSBUUE0yIG91 dHB1dA0KPiBwYXJhbWV0ZXIgYmxvY2suDQo+ICsgIEBwYXJhbVtpbl0gICAgICBPdXRwdXRQYXJh bWV0ZXJCbG9jayAgICAgUG9pbnRlciB0byB0aGUgVFBNMiBvdXRwdXQNCj4gcGFyYW1ldGVyIGJs b2NrLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgY29tbWFu ZCBieXRlIHN0cmVhbSB3YXMgc3VjY2Vzc2Z1bGx5DQo+IHNlbnQgdG8gdGhlIGRldmljZSBhbmQg YSByZXNwb25zZSB3YXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmVkLg0KPiArICBAcmV0dmFsIEVGSV9E RVZJQ0VfRVJST1IgICAgICAgVGhlIGNvbW1hbmQgd2FzIG5vdCBzdWNjZXNzZnVsbHkgc2VudCB0 bw0KPiB0aGUgZGV2aWNlIG9yIGEgcmVzcG9uc2Ugd2FzIG5vdCBzdWNjZXNzZnVsbHkgcmVjZWl2 ZWQgZnJvbSB0aGUgZGV2aWNlLg0KPiArICBAcmV0dmFsIEVGSV9CVUZGRVJfVE9PX1NNQUxMICAg VGhlIG91dHB1dCBwYXJhbWV0ZXIgYmxvY2sgaXMgdG9vDQo+IHNtYWxsLg0KPiArKiovDQo+ICt0 eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpUUE0yX1NVQk1JVF9DT01NQU5EKSAo DQo+ICsgIElOIFBUVF9QQVNTX1RIUlVfUFJPVE9DT0wgKlRoaXMsDQo+ICsgIElOIFVJTlQzMiAg ICAgICAgICAgICAgICAgIElucHV0UGFyYW1ldGVyQmxvY2tTaXplLA0KPiArICBJTiBVSU5UOCAg ICAgICAgICAgICAgICAgICAqSW5wdXRQYXJhbWV0ZXJCbG9jaywNCj4gKyAgSU4gT1VUIFVJTlQz MiAgICAgICAgICAgICAgKk91dHB1dFBhcmFtZXRlckJsb2NrU2l6ZSwNCj4gKyAgSU4gVUlOVDgg ICAgICAgICAgICAgICAgICAgKk91dHB1dFBhcmFtZXRlckJsb2NrDQo+ICsgICk7DQo+ICsNCj4g Ky8qKg0KPiArICBUaGlzIHNlcnZpY2UgcmVxdWVzdHMgdXNlIFRQTTIuDQo+ICsNCj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgIEdldCB0aGUgY29udHJvbCBvZiBUUE0yIGNoaXAuDQo+ICsg IEByZXR2YWwgRUZJX05PVF9GT1VORCAgICBUUE0yIG5vdCBmb3VuZC4NCj4gKyAgQHJldHZhbCBF RklfREVWSUNFX0VSUk9SIFVuZXhwZWN0ZWQgZGV2aWNlIGJlaGF2aW9yLg0KPiArKiovDQo+ICt0 eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpUUE0yX1JFUVVFU1RfVVNFX1RQTSkg KA0KPiArICBJTiBQVFRfUEFTU19USFJVX1BST1RPQ09MICpUaGlzDQo+ICsgICk7DQo+ICsNCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgICAgICAg ICBQcm92aWRlckd1aWQ7DQo+ICsgIFRQTTJfU1VCTUlUX0NPTU1BTkQgICAgICAgICAgICAgICAg VHBtMlN1Ym1pdENvbW1hbmQ7DQo+ICsgIFRQTTJfUkVRVUVTVF9VU0VfVFBNICAgICAgICAgICAg ICAgVHBtMlJlcXVlc3RVc2VUcG07DQo+ICt9IFBUVF9UUE0yX0RFVklDRV9JTlRFUkZBQ0U7DQo+ ICsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgc2VydmljZSByZWdpc3RlciBUUE0yIGRldmljZS4N Cj4gKw0KPiArICBAcGFyYW0gVHBtMkRldmljZSAgVFBNMiBkZXZpY2UNCj4gKw0KPiArICBAcmV0 dmFsIEVGSV9TVUNDRVNTICAgICAgICAgIFRoaXMgVFBNMiBkZXZpY2UgaXMgcmVnaXN0ZXJlZCBz dWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgU3lzdGVtIGRv ZXMgbm90IHN1cHBvcnQgcmVnaXN0ZXIgdGhpcyBUUE0yDQo+IGRldmljZS4NCj4gKyAgQHJldHZh bCBFRklfQUxSRUFEWV9TVEFSVEVEICBTeXN0ZW0gYWxyZWFkeSByZWdpc3RlciB0aGlzIFRQTTIg ZGV2aWNlLg0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpU UE0yX1JFR0lTVEVSX1RQTTJfREVWSUNFX0xJQikgKA0KPiArICBJTiBQVFRfUEFTU19USFJVX1BS T1RPQ09MICAqVGhpcywNCj4gKyAgSU4gUFRUX1RQTTJfREVWSUNFX0lOVEVSRkFDRSAgICpUcG0y RGV2aWNlDQo+ICsgICk7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IF9QVFRfUEFTU19USFJVX1BS T1RPQ09MIHsNCj4gKyAgVFBNMl9TVUJNSVRfQ09NTUFORCAgICAgICAgICAgICBUcG0yU3VibWl0 Q29tbWFuZDsNCj4gKyAgVFBNMl9SRVFVRVNUX1VTRV9UUE0gICAgICAgICAgICBUcG0yUmVxdWVz dFVzZVRwbTsNCj4gKyAgVFBNMl9SRUdJU1RFUl9UUE0yX0RFVklDRV9MSUIgICBUcG0yUmVnaXN0 ZXJUcG0yRGV2aWNlTGliOw0KPiArfSBQVFRfUEFTU19USFJVX1BST1RPQ09MOw0KPiArDQo+ICtl eHRlcm4gRUZJX0dVSUQgZ1B0dFBhc3NUaHJ1UHJvdG9jb2xHdWlkOw0KPiArDQo+ICsjZW5kaWYg Ly8gX0VGSV9IRUNJX0gNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL0luY2x1ZGUvR3VpZC9QDQo+IG93ZXJNYW5h Z2VtZW50QWNwaVRhYmxlU3RvcmFnZS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvSW5jbHVkZS9HdWlkL1ANCj4gb3dlck1hbmFnZW1l bnRBY3BpVGFibGVTdG9yYWdlLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMC4uZWFiMWRiMDg5Nw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24v SW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL0luY2x1ZGUvR3Vp ZC9QDQo+IG93ZXJNYW5hZ2VtZW50QWNwaVRhYmxlU3RvcmFnZS5oDQo+IEBAIC0wLDAgKzEsMjcg QEANCj4gKw0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICtNb2R1bGUg TmFtZToNCj4gKw0KPiArICBQb3dlck1hbmFnZW1lbnRBY3BpVGFibGVTdG9yYWdlLmgNCj4gKw0K PiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgR1VJRCBkZWZpbml0aW9uIGZvciB0aGUgUG93ZXIgTWFu YWdlbWVudCBBQ1BJIHRhYmxlIHN0b3JhZ2UgZmlsZSBuYW1lDQo+ICsNCj4gKy0tKi8NCj4gKw0K PiArI2lmbmRlZiBfUE9XRVJfTUFOQUdFTUVOVF9BQ1BJX1RBQkxFX1NUT1JBR0VfSF8NCj4gKyNk ZWZpbmUgX1BPV0VSX01BTkFHRU1FTlRfQUNQSV9UQUJMRV9TVE9SQUdFX0hfDQo+ICsNCj4gKyNk ZWZpbmUgUE9XRVJfTUFOQUdFTUVOVF9BQ1BJX1RBQkxFX1NUT1JBR0VfR1VJRCBcDQo+ICsgIHsg MHgxNjFiZTU5NywgMHhlOWM1LCAweDQ5ZGIsIDB4YWUsIDB4NTAsIDB4YzQsIDB4NjIsIDB4YWIs IDB4NTQsIDB4ZWUsDQo+IDB4ZGEgfQ0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ1Bvd2VyTWFu YWdlbWVudEFjcGlUYWJsZVN0b3JhZ2VHdWlkOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdp dA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2Mv Q1BVL0luY2x1ZGUvUHBpL1Zsdg0KPiBQb2xpY3kuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL0luY2x1ZGUvUHBpL1Zsdg0KPiBQb2xp Y3kuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4wYThiMjY3 ZGIxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvSW5jbHVkZS9QcGkvVmx2DQo+IFBvbGljeS5o DQo+IEBAIC0wLDAgKzEsMTA0IEBADQo+ICsNCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChj KSAgMjAxMCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0K PiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgVmx2UG9saWN5LmgNCj4gKw0KPiAr QWJzdHJhY3Q6DQo+ICsNCj4gKyAgSW50ZXJmYWNlIGRlZmluaXRpb24gZGV0YWlscyBiZXR3ZWVu IFZhbGxleVZpZXcgTVJDIGFuZCBwbGF0Zm9ybSBkcml2ZXJzDQo+IGR1cmluZyBQRUkgcGhhc2Uu DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfVkxWX1BPTElDWV9QUElfSF8NCj4gKyNk ZWZpbmUgX1ZMVl9QT0xJQ1lfUFBJX0hfDQo+ICsNCj4gKy8vDQo+ICsvLyBNUkMgUG9saWN5IHBy b3ZpZGVkIGJ5IHBsYXRmb3JtIGZvciBQRUkgcGhhc2UgezdEODRCMkMyLTIyQTEtNDM3Mi0NCj4g QjEyQy1FQkIyMzJEM0E2QTN9DQo+ICsvLw0KPiArI2RlZmluZSBWTFZfUE9MSUNZX1BQSV9HVUlE IFwNCj4gKyAgeyBcDQo+ICsgICAgMHg3RDg0QjJDMiwgMHgyMkExLCAweDQzNzIsIDB4QjEsIDB4 MkMsIDB4RUIsIDB4QjIsIDB4MzIsIDB4RDMsIDB4QTYsDQo+IDB4QTMgXA0KPiArICB9DQo+ICsN Cj4gKy8vDQo+ICsvLyBFeHRlcm4gdGhlIEdVSUQgZm9yIHByb3RvY29sIHVzZXJzLg0KPiArLy8N Cj4gK2V4dGVybiBFRklfR1VJRCBnVmx2UG9saWN5UHBpR3VpZDsNCj4gKw0KPiArLy8NCj4gKy8v IFBQSSByZXZpc2lvbiBudW1iZXINCj4gKy8vIEFueSBiYWNrd2FyZHMgY29tcGF0aWJsZSBjaGFu Z2VzIHRvIHRoaXMgUFBJIHdpbGwgcmVzdWx0IGluIGFuIHVwZGF0ZSBpbg0KPiB0aGUgcmV2aXNp b24gbnVtYmVyDQo+ICsvLyBNYWpvciBjaGFuZ2VzIHdpbGwgcmVxdWlyZSBwdWJsaWNhdGlvbiBv ZiBhIG5ldyBQUEkNCj4gKy8vDQo+ICsjZGVmaW5lIE1SQ19QTEFURk9STV9QT0xJQ1lfUFBJX1JF VklTSU9OICAxDQo+ICsNCj4gKyNpZm5kZWYgTUFYX1NPQ0tFVFMNCj4gKyNkZWZpbmUgTUFYX1NP Q0tFVFMgNA0KPiArI2VuZGlmDQo+ICsNCj4gKyNkZWZpbmUgUzNfVElNSU5HX0RBVEFfTEVOICAg ICAgICAgIDkNCj4gKyNkZWZpbmUgUzNfUkVBRF9UUkFJTklOR19EQVRBX0xFTiAgIDE2DQo+ICsj ZGVmaW5lIFMzX1dSSVRFX1RSQUlOSU5HX0RBVEFfTEVOICAxMg0KPiArDQo+ICsjaWZuZGVmIFMz X1JFU1RPUkVfREFUQV9MRU4NCj4gKyNkZWZpbmUgUzNfUkVTVE9SRV9EQVRBX0xFTiAoUzNfVElN SU5HX0RBVEFfTEVOICsNCj4gUzNfUkVBRF9UUkFJTklOR19EQVRBX0xFTiArIFMzX1dSSVRFX1RS QUlOSU5HX0RBVEFfTEVOKQ0KPiArI2VuZGlmIC8vIFMzX1JFU1RPUkVfREFUQV9MRU4NCj4gKyNw cmFnbWEgcGFjaygxKQ0KPiArLy8NCj4gKy8vIE1SQyBQbGF0Zm9ybSBEYXRhIFN0cnVjdHVyZQ0K PiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICBTcGRBZGRyZXNzVGFibGVb TUFYX1NPQ0tFVFNdOw0KPiArICBVSU5UOCAgIFRTb25EaW1tU21idXNBZGRyZXNzW01BWF9TT0NL RVRTXTsNCj4gKw0KPiArICBVSU5UMTYgIFNtYnVzQmFyOw0KPiArICBVSU5UMzIgIEljaFJjYmE7 DQo+ICsgIFVJTlQzMiAgV2RiQmFzZUFkZHJlc3M7IC8vIFdyaXRlIERhdGEgQnVmZmVyIGFyZWEg KFdDIGNhY2hpbmcgbW9kZSkNCj4gKyAgVUlOVDMyICBXZGJSZWdpb25TaXplOw0KPiArICBVSU5U MzIgIFNtQnVzQWRkcmVzczsNCj4gKyAgVUlOVDggICBVc2VyQmQ7DQo+ICsgIFVJTlQ4ICAgUGxh dGZvcm1UeXBlOw0KPiArICBVSU5UOCAgIEZhc3RCb290Ow0KPiArICBVSU5UOCAgIER5blNSOw0K PiArfSBWTFZfUExBVEZPUk1fREFUQTsNCj4gKw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ ICsgIFVJTlQxNiAgTW1pb1NpemU7DQo+ICsgIFVJTlQxNiAgR3R0U2l6ZTsNCj4gKyAgVUlOVDgg ICBJZ2REdm10NTBQcmVBbGxvYzsNCj4gKyAgVUlOVDggICBQcmltYXJ5RGlzcGxheTsNCj4gKyAg VUlOVDggICBQQVZQTW9kZTsNCj4gKyAgVUlOVDggICBBcGVydHVyZVNpemU7DQo+ICt9IEdUX0NP TkZJR1VSQVRJT047DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICBFY2NT dXBwb3J0Ow0KPiArICBVSU5UMTYgIERkckZyZXFMaW1pdDsNCj4gKyAgVUlOVDggICBNYXhUb2x1 ZDsNCj4gK30gTUVNT1JZX0NPTkZJR1VSQVRJT047DQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIE1S QyBQbGF0Zm9ybSBQb2xpY2l5IFBQSQ0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9WTFZfUE9M SUNZX1BQSSB7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICBSZXZpc2lvbjsNCj4gKyAgVkxW X1BMQVRGT1JNX0RBVEEgICAgIFBsYXRmb3JtRGF0YTsNCj4gKyAgR1RfQ09ORklHVVJBVElPTiAg ICAgIEd0Q29uZmlnOw0KPiArICBNRU1PUllfQ09ORklHVVJBVElPTiAgTWVtQ29uZmlnOw0KPiAr ICBWT0lEICAgICAgICAgICAgICAgICAgKlMzRGF0YVB0cjsgLy8gd2FzIGNhbGxlZCBNUkNfUEFS QU1TX1NBVkVfUkVTVE9SRQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgSVNQRW47ICAgICAg ICAgICAgLy9JU1AgKElVTklUKSBEZXZpY2UgRW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgSVNQUGNpRGV2Q29uZmlnOyAgLy9JU1AgKElVTklUKSBEZXZpY2UgQ29uZmlnOiAwLT5C MC9EMi9GMA0KPiBmb3IgV2luZG93IE9TLCAxLT5CMEQzL0YwIGZvciBMaW51eCBPUw0KPiArfSBW TFZfUE9MSUNZX1BQSTsNCj4gKw0KPiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArI2VuZGlmIC8v IF9WTFZfUE9MSUNZX1BQSV9IXw0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYy RGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvSW5jbHVkZS9Qcm90b2MNCj4gb2wv UHBtUGxhdGZvcm1Qb2xpY3kuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvVmFsbGV5VmlldzJTb2MvQ1BVL0luY2x1ZGUvUHJvdG9jDQo+IG9sL1BwbVBsYXRmb3JtUG9s aWN5LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYWI2Yjll ODBkMw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL0luY2x1ZGUvUHJvdG9jDQo+IG9sL1BwbVBs YXRmb3JtUG9saWN5LmgNCj4gQEAgLTAsMCArMSwxMzIgQEANCj4gKy8qKg0KPiArICBDb3B5cmln aHQgKGMpIDIwMDkgLSAyMDEzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ICsNCj4gKyoqLw0KPiArLyorKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBQ cG1QbGF0Zm9ybVBvbGljeS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEludGVyZmFj ZSBkZWZpbml0aW9uIGRldGFpbHMgYmV0d2VlbiBQUE0gYW5kIHBsYXRmb3JtIGRyaXZlcnMgZHVy aW5nIERYRQ0KPiBwaGFzZS4NCj4gKw0KPiArLS0qLw0KPiArI2lmbmRlZiBfUFBNX1BMQVRGT1JN X1BPTElDWV9IXw0KPiArI2RlZmluZSBfUFBNX1BMQVRGT1JNX1BPTElDWV9IXw0KPiArDQo+ICsv Lw0KPiArLy8gIFBQTSBwb2xpY3kgcHJvdmlkZWQgYnkgcGxhdGZvcm0gZm9yIERYRSBwaGFzZSB7 RERBQkZFQUMtRUY2My00NTJjLQ0KPiA4RjM5LUVEN0ZBRUQ4MjY1RX0NCj4gKy8vDQo+ICsjZGVm aW5lIFBQTV9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0xfR1VJRCBcDQo+ICsgIHsweGRkYWJmZWFj LCAweGVmNjMsIDB4NDUyYywgMHg4ZiwgMHgzOSwgMHhlZCwgMHg3ZiwgMHhhZSwgMHhkOCwgMHgy NiwgMHg1ZX0NCj4gKw0KPiArLy8NCj4gKy8vIEV4dGVybiB0aGUgR1VJRCBmb3IgcHJvdG9jb2wg dXNlcnMuDQo+ICsvLw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdQcG1QbGF0Zm9ybVBvbGljeVByb3Rv Y29sR3VpZDsNCj4gKw0KPiArLy8NCj4gKy8vIEZvcndhcmQgcmVmZXJlbmNlIGZvciBBTlNJIEMg Y29tcGF0aWJpbGl0eQ0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9QUE1fUExBVEZPUk1fUE9M SUNZX1BST1RPQ09MDQo+IFBQTV9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0w7DQo+ICsNCj4gKy8v DQo+ICsvLyBQcm90b2NvbCByZXZpc2lvbiBudW1iZXINCj4gKy8vIEFueSBiYWNrd2FyZHMgY29t cGF0aWJsZSBjaGFuZ2VzIHRvIHRoaXMgcHJvdG9jb2wgd2lsbCByZXN1bHQgaW4gYW4NCj4gdXBk YXRlIGluIHRoZSByZXZpc2lvbiBudW1iZXINCj4gKy8vIE1ham9yIGNoYW5nZXMgd2lsbCByZXF1 aXJlIHB1YmxpY2F0aW9uIG9mIGEgbmV3IHByb3RvY29sDQo+ICsvLw0KPiArLy8gUmV2aXNpb24g MTogT3JpZ2luYWwgdmVyc2lvbg0KPiArLy8gUmV2aXNpb24gMjogQWRkZWQgVC1zdGF0ZXMgZmll bGQgdG8gdGhlIFBQTV9GVU5DVElPTl9FTkFCTEVTDQo+IHN0cnVjdHVyZSwgUmVuYW1lZCB1bnVz ZWQgZmllbGRzIC0gQ3hQb3BVcEVuYWJsZSwgQ3hQb3BEb3duRW5hYmxlLA0KPiBGYXN0QzRFeGl0 RW5hYmxlDQo+ICsvLyBSZXZpc2lvbiAzOiBFeHRlbmRlZCBWaWRDcHVpZCB0byAzMiBiaXRzIGZv ciBleHRlbmRlZCBDUFVJRCBzdXBwb3J0DQo+IChQZW5yeW4pDQo+ICsvLyBSZXZpc2lvbiA0OiBB ZGRlZCBzdXBwb3J0IGZvciBleHRlbmRlZCBDNiByZXNpZGVuY3kgZW5hYmxpbmcNCj4gKy8vDQo+ ICsjZGVmaW5lIFBQTV9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0xfUkVWSVNJT04gICAgIDENCj4g KyNkZWZpbmUgUFBNX1BMQVRGT1JNX1BPTElDWV9QUk9UT0NPTF9SRVZJU0lPTl8yICAgMg0KPiAr I2RlZmluZSBQUE1fUExBVEZPUk1fUE9MSUNZX1BST1RPQ09MX1JFVklTSU9OXzMgICAzDQo+ICsj ZGVmaW5lIFBQTV9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0xfUkVWSVNJT05fNCAgIDQNCj4gKw0K PiArLy8NCj4gKy8vIERlZmluZSBtYXhpbXVtIG51bWJlciBvZiBjdXN0b20gVklEIHN0YXRlcyBz dXBwb3J0ZWQNCj4gKy8vDQo+ICsjaWZuZGVmIE1BWF9DVVNUT01fVklEX1RBQkxFX1NUQVRFUw0K PiArI2RlZmluZSBNQVhfQ1VTVE9NX1ZJRF9UQUJMRV9TVEFURVMgICAgICAgICAgICAgICA2DQo+ ICsjZW5kaWYNCj4gKy8vDQo+ICsvLyBDdXN0b20gVklEIHRhYmxlDQo+ICsvLw0KPiArdHlwZWRl ZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgIFZpZE51bWJlcjsNCj4gKyAgVUlOVDMyICBWaWRDcHVp ZDsNCj4gKyAgVUlOVDE2ICBWaWRNYXhSYXRpbzsNCj4gKyAgVUlOVDE2ICBWaWRNYXhWaWQ7DQo+ ICsgIFVJTlQxNiAgU3RhdGVSYXRpb1tNQVhfQ1VTVE9NX1ZJRF9UQUJMRV9TVEFURVNdOw0KPiAr ICBVSU5UMTYgIFN0YXRlVmlkW01BWF9DVVNUT01fVklEX1RBQkxFX1NUQVRFU107DQo+ICt9IFBQ TV9DVVNUT01fVklEX1RBQkxFOw0KPiArDQo+ICsvLw0KPiArLy8gUFBNIGZ1bmN0aW9uYWwgZW5h Ymxlcw0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICBFbmFibGVHdiAg ICAgICAgICAgICAgICAgICA6MTsgLy8gMDogRGlzYWJsZWQ7IDE6IEVuYWJsZWQNCj4gKyAgVUlO VDggICBFbmFibGVDeCAgICAgICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBFbmFibGVD eGUgICAgICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBFbmFibGVDNCAgICAgICAgICAg ICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBFbmFibGVDNiAgICAgICAgICAgICAgICAgICA6MTsN Cj4gKyAgVUlOVDggICBFbmFibGVDNyAgICAgICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDgg ICBFbmFibGVUbSAgICAgICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBSZXNlcnZlMDAg ICAgICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBSZXNlcnZlMDEgICAgICAgICAgICAg ICAgICA6MTsNCj4gKyAgVUlOVDggICBFbmFibGVUdXJib01vZGUgICAgICAgICAgICA6MTsNCj4g KyAgVUlOVDggICBQb3dlckxpbWl0MiAgICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBF bmFibGVQcm9jSG90ICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBSZXNlcnZlMDIgICAg ICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBFbmFibGVDTVAgICAgICAgICAgICAgICAg ICA6MTsNCj4gKyAgVUlOVDggICBUU3RhdGVzRW5hYmxlICAgICAgICAgICAgICA6MTsNCj4gKyAg VUlOVDggICBSZXNlcnZlMDMgICAgICAgICAgICAgICAgICA6MTsNCj4gKyAgVUlOVDggICBSZXNl cnZlMDQgICAgICAgICAgICAgICAgICA7DQo+ICsNCj4gK30gUFBNX0ZVTkNUSU9OX0VOQUJMRVM7 DQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIFBQTSBUdXJibyBzZXR0aW5ncw0KPiArLy8NCj4gK3R5 cGVkZWYgc3RydWN0IF9QUE1fVFVSQk9fU0VUVElOR1Mgew0KPiArICBVSU5UMTYgIFBvd2VyTGlt aXQxOw0KPiArICBVSU5UMzIgIFBvd2VyTGltaXQxVGltZTsNCj4gKyAgVUlOVDE2ICBQb3dlckxp bWl0MjsNCj4gKyAgVUlOVDggICBUdXJib1Bvd2VyTGltaXRMb2NrOw0KPiArfSBQUE1fVFVSQk9f U0VUVElOR1M7DQo+ICsNCj4gKy8vDQo+ICsvLyBQbGF0Zm9ybSBQb2xpY3kNCj4gKy8vDQo+ICtz dHJ1Y3QgX1BQTV9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0wgew0KPiArICBVSU5UOCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldmlzaW9uOw0KPiArICBQUE1fRlVOQ1RJT05fRU5B QkxFUyAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uRW5hYmxlczsNCj4gKyAgUFBNX0NVU1RPTV9W SURfVEFCTEUgICAgICAgICAgICAgICAgICBDdXN0b21WaWRUYWJsZTsNCj4gKyAgUFBNX1RVUkJP X1NFVFRJTkdTICAgICAgICAgICAgICAgICAgICBUdXJib1NldHRpbmdzOw0KPiArDQo+ICsgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZTAwOw0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2VydmUwMTsNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNlcnZlMDI7DQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZTAzOw0KPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2VydmUwNDsNCj4gKyAgVUlOVDggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNlcnZlMDU7DQo+ICsgIFVJTlQ4ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZTA2Ow0KPiArDQo+ICsgIFVJTlQ4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUzNSZXN0b3JlTXNyU3dTbWlOdW1iZXI7DQo+ICsg IFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZTA3Ow0KPiArICBV SU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2VydmUwODsNCj4gKyAgVUlO VDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNlcnZlMDk7DQo+ICsgIC8vDQo+ ICsgIC8vIFByaW1hcnkgYW5kIFNlY29uZGFyeSBQbGFuZSBDdXJyZW50IExpbWl0cw0KPiArICAv Lw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2VydmUxMDsN Cj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNlcnZlMTE7DQo+ ICt9Ow0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL0luY2x1ZGUvVHlwZXMuDQo+IGgN Cj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQ VS9JbmNsdWRlL1R5cGVzLg0KPiBoDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjBkZjZhNmQxOTMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29u L0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9JbmNsdWRlL1R5 cGVzLg0KPiBoDQo+IEBAIC0wLDAgKzEsNTUgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0 IChjKSAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgICAgVHlwZXMuaA0KPiAr DQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICAgIFRoaXMgZmlsZSBpbmNsdWRlIGFsbCB0aGUgZXh0 ZXJuYWwgZGF0YSB0eXBlcy4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIF9UWVBFU19I Xw0KPiArI2RlZmluZSBfVFlQRVNfSF8NCj4gKw0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBNb2Rp ZmllcnMgdG8gYWJzdHJhY3Qgc3RhbmRhcmQgdHlwZXMgdG8gYWlkIGluIGRlYnVnIG9mIHByb2Js ZW1zDQo+ICsvLw0KPiArI2RlZmluZSBDT05TVCAgICAgY29uc3QNCj4gKyNkZWZpbmUgU1RBVElD ICAgIHN0YXRpYw0KPiArI2RlZmluZSBWT0lEICAgICAgdm9pZA0KPiArI2RlZmluZSBWT0xBVElM RSAgdm9sYXRpbGUNCj4gKw0KPiArLy8NCj4gKy8vIENvbnN0YW50cy4gVGhleSBtYXkgZXhpc3Qg aW4gb3RoZXIgYnVpbGQgc3RydWN0dXJlcywgc28gI2lmbmRlZiB0aGVtLg0KPiArLy8NCj4gKyNp Zm5kZWYgVFJVRQ0KPiArI2RlZmluZSBUUlVFICAoKEJPT0xFQU4pIDEgPT0gMSkNCj4gKyNlbmRp Zg0KPiArDQo+ICsjaWZuZGVmIEZBTFNFDQo+ICsjZGVmaW5lIEZBTFNFICgoQk9PTEVBTikgMCA9 PSAxKQ0KPiArI2VuZGlmDQo+ICsNCj4gKyNpZm5kZWYgTlVMTA0KPiArI2RlZmluZSBOVUxMICAo KFZPSUQgKikgMCkNCj4gKyNlbmRpZg0KPiArDQo+ICt0eXBlZGVmIFVJTlQzMiBTVEFUVVM7DQo+ ICsjZGVmaW5lIFNVQ0NFU1MgMA0KPiArI2RlZmluZSBGQUlMVVJFIDB4RkZGRkZGRkYNCj4gKw0K PiArI2lmbmRlZiBNUkNfREVBRExPT1ANCj4gKyNkZWZpbmUgTVJDX0RFQURMT09QKCkgICAgd2hp bGUgKFRSVUUpDQo+ICsjZW5kaWYNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9T aWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dl ck1hbmFnZQ0KPiBtZW50L0FjcGlUYWJsZXMvUG93ZXJNYW5hZ2VtZW50QWNwaVRhYmxlcy5pbmYN Cj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQ VS9Qb3dlck1hbmFnZQ0KPiBtZW50L0FjcGlUYWJsZXMvUG93ZXJNYW5hZ2VtZW50QWNwaVRhYmxl cy5pbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMDIxYjk1 ZmE2MQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdlDQo+IG1lbnQvQWNwaVRh Ymxlcy9Qb3dlck1hbmFnZW1lbnRBY3BpVGFibGVzLmluZg0KPiBAQCAtMCwwICsxLDM5IEBADQo+ ICsjDQo+ICsjLyorKw0KPiArIw0KPiArI0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKyMNCj4gKyMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMNCj4gKyNNb2R1 bGUgTmFtZToNCj4gKyMNCj4gKyMgIFBvd2VyTWFuYWdlbWVudEFjcGlUYWJsZXMuaW5mDQo+ICsj DQo+ICsjQWJzdHJhY3Q6DQo+ICsjDQo+ICsjICBDb21wb25lbnQgZGVzY3JpcHRpb24gZmlsZSBm b3IgdGhlIEFDUEkgdGFibGVzDQo+ICsjDQo+ICsjLS0qLw0KPiArDQo+ICtbZGVmaW5lc10NCj4g KyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNF X05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBQb3dlck1hbmFnZW1lbnRBY3BpVGFibGVzMg0K PiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSAxNjFCRTU5Ny1FOUM1LTQ5REIt QUU1MC1DNDYyQUI1NEVFREENCj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0g VVNFUl9ERUZJTkVEDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0K PiArICBFREtfUkVMRUFTRV9WRVJTSU9OICAgICAgICAgICAgPSAweDAwMDIwMDAwDQo+ICsgIEVG SV9TUEVDSUZJQ0FUSU9OX1ZFUlNJT04gICAgICA9IDB4MDAwMjAwMDANCj4gKw0KPiArDQo+ICtb c291cmNlcy5jb21tb25dDQo+ICsgIFNzZHQvQ3B1MENzdC5hc2wNCj4gKyAgU3NkdC9DcHUwSXN0 LmFzbA0KPiArICBTc2R0L0NwdTBUc3QuYXNsDQo+ICsgIFNzZHQvQXBDc3QuYXNsDQo+ICsgIFNz ZHQvQXBJc3QuYXNsDQo+ICsgIFNzZHQvQXBUc3QuYXNsDQo+ICsgIFNzZHQvQ3B1UG0uYXNsDQo+ ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gZGlmZiAtLWdpdA0K PiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BV L1Bvd2VyTWFuYWdlDQo+IG1lbnQvQWNwaVRhYmxlcy9Tc2R0L0FwQ3N0LmFzbA0KPiBiL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFu YWdlDQo+IG1lbnQvQWNwaVRhYmxlcy9Tc2R0L0FwQ3N0LmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi42YWExMzBiMTE1DQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9DUFUvUG93ZXJNYW5hZ2UNCj4gbWVudC9BY3BpVGFibGVzL1NzZHQvQXBDc3QuYXNsDQo+IEBA IC0wLDAgKzEsMTEwIEBADQo+ICsvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ICsNCj4gKw0KPiArIEludGVsIFNpbHZlcm1vbnQgUHJvY2Vzc29yIFBv d2VyIE1hbmFnZW1lbnQgQklPUyBSZWZlcmVuY2UgQ29kZQ0KPiArDQo+ICsgQ29weXJpZ2h0IChj KSAyMDA2IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24NCj4gKw0KPiArICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKyBGaWxlbmFtZTog ICAgICBDUFUxQ1NULkFTTA0KPiArDQo+ICsgUmV2aXNpb246ICAgICAgUmVmZXIgdG8gUmVhZG1l DQo+ICsNCj4gKyBEYXRlOiAgICAgICAgICBSZWZlciB0byBSZWFkbWUNCj4gKw0KPiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArIFRo aXMgUHJvY2Vzc29yIFBvd2VyIE1hbmFnZW1lbnQgQklPUyBTb3VyY2UgQ29kZSBpcyBmdXJuaXNo ZWQgdW5kZXINCj4gbGljZW5zZQ0KPiArIGFuZCBtYXkgb25seSBiZSB1c2VkIG9yIGNvcGllZCBp biBhY2NvcmRhbmNlIHdpdGggdGhlIHRlcm1zIG9mIHRoZSBsaWNlbnNlLg0KPiArIFRoZSBpbmZv cm1hdGlvbiBpbiB0aGlzIGRvY3VtZW50IGlzIGZ1cm5pc2hlZCBmb3IgaW5mb3JtYXRpb25hbCB1 c2Ugb25seSwgaXMNCj4gKyBzdWJqZWN0IHRvIGNoYW5nZSB3aXRob3V0IG5vdGljZSwgYW5kIHNo b3VsZCBub3QgYmUgY29uc3RydWVkIGFzIGENCj4gY29tbWl0bWVudA0KPiArIGJ5IEludGVsIENv cnBvcmF0aW9uLiBJbnRlbCBDb3Jwb3JhdGlvbiBhc3N1bWVzIG5vIHJlc3BvbnNpYmlsaXR5IG9y IGxpYWJpbGl0eQ0KPiArIGZvciBhbnkgZXJyb3JzIG9yIGluYWNjdXJhY2llcyB0aGF0IG1heSBh cHBlYXIgaW4gdGhpcyBkb2N1bWVudCBvciBhbnkNCj4gKyBzb2Z0d2FyZSB0aGF0IG1heSBiZSBw cm92aWRlZCBpbiBhc3NvY2lhdGlvbiB3aXRoIHRoaXMgZG9jdW1lbnQuDQo+ICsNCj4gKyBFeGNl cHQgYXMgcGVybWl0dGVkIGJ5IHN1Y2ggbGljZW5zZSwgbm8gcGFydCBvZiB0aGlzIGRvY3VtZW50 IG1heSBiZQ0KPiArIHJlcHJvZHVjZWQsIHN0b3JlZCBpbiBhIHJldHJpZXZhbCBzeXN0ZW0sIG9y IHRyYW5zbWl0dGVkIGluIGFueSBmb3JtIG9yIGJ5DQo+ICsgYW55IG1lYW5zIHdpdGhvdXQgdGhl IGV4cHJlc3Mgd3JpdHRlbiBjb25zZW50IG9mIEludGVsIENvcnBvcmF0aW9uLg0KPiArDQo+ICsg V0FSTklORzogWW91IGFyZSBhdXRob3JpemVkIGFuZCBsaWNlbnNlZCB0byBpbnN0YWxsIGFuZCB1 c2UgdGhpcyBCSU9TDQo+IGNvZGUNCj4gKyBPTkxZIG9uIGFuIElTVCBQQy4gVGhpcyB1dGlsaXR5 IG1heSBkYW1hZ2UgYW55IHN5c3RlbSB0aGF0IGRvZXMgbm90DQo+ICsgbWVldCB0aGVzZSByZXF1 aXJlbWVudHMuDQo+ICsNCj4gKyAgICAgICAgQW4gSVNUIFBDIGlzIGEgY29tcHV0ZXIgd2hpY2gN Cj4gKyAgICAgICAgKDEpIElzIGNhcGFibGUgb2Ygc2VhbWxlc3NseSBhbmQgYXV0b21hdGljYWxs eSB0cmFuc2l0aW9uaW5nIGFtb25nDQo+ICsgICAgICAgIG11bHRpcGxlIHBlcmZvcm1hbmNlIHN0 YXRlcyAocG90ZW50aWFsbHkgb3BlcmF0aW5nIGF0IGRpZmZlcmVudA0KPiArICAgICAgICBlZmZp Y2llbmN5IHJhdGluZ3MpIGJhc2VkIHVwb24gcG93ZXIgc291cmNlIGNoYW5nZXMsIEVORCB1c2Vy DQo+ICsgICAgICAgIHByZWZlcmVuY2UsIHByb2Nlc3NvciBwZXJmb3JtYW5jZSBkZW1hbmQsIGFu ZCB0aGVybWFsIGNvbmRpdGlvbnM7DQo+IGFuZA0KPiArICAgICAgICAoMikgSW5jbHVkZXMgYW4g SW50ZWwgUGVudGl1bSBJSSBwcm9jZXNzb3JzLCBJbnRlbCBQZW50aXVtIElJSQ0KPiArICAgICAg ICBwcm9jZXNzb3IsIE1vYmlsZSBJbnRlbCBQZW50aXVtIElJSSBQcm9jZXNzb3ItTSwgTW9iaWxl IEludGVsIFBlbnRpdW0gNA0KPiArICAgICAgICBQcm9jZXNzb3ItTSwgSW50ZWwgUGVudGl1bSBN IFByb2Nlc3Nvciwgb3IgYW55IG90aGVyIGZ1dHVyZSBJbnRlbA0KPiArICAgICAgICBwcm9jZXNz b3JzIHRoYXQgaW5jb3Jwb3JhdGVzIHRoZSBjYXBhYmlsaXR5IHRvIHRyYW5zaXRpb24gYmV0d2Vl bg0KPiArICAgICAgICBkaWZmZXJlbnQgcGVyZm9ybWFuY2Ugc3RhdGVzIGJ5IGFsdGVyaW5nIHNv bWUsIG9yIGFueSBjb21iaW5hdGlvbiBvZiwNCj4gKyAgICAgICAgdGhlIGZvbGxvd2luZyBwcm9j ZXNzb3IgYXR0cmlidXRlczogY29yZSB2b2x0YWdlLCBjb3JlIGZyZXF1ZW5jeSwgYnVzDQo+ICsg ICAgICAgIGZyZXF1ZW5jeSwgbnVtYmVyIG9mIHByb2Nlc3NvciBjb3JlcyBhdmFpbGFibGUsIG9y IGFueSBvdGhlciBhdHRyaWJ1dGUNCj4gKyAgICAgICAgdGhhdCBjaGFuZ2VzIHRoZSBlZmZpY2ll bmN5IChpbnN0cnVjdGlvbnMvdW5pdCB0aW1lLXBvd2VyKSBhdCB3aGljaCB0aGUNCj4gKyAgICAg ICAgcHJvY2Vzc29yIG9wZXJhdGVzLg0KPiArDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gK05PVEVTOg0KPiArICAgICAgICAoMSkg PFRPRE8+IC0gSUYgdGhlIHRyYXAgcmFuZ2UgYW5kIHBvcnQgZGVmaW5pdGlvbnMgZG8gbm90IG1h dGNoIHRob3NlDQo+ICsgICAgICAgIHNwZWNpZmllZCBieSB0aGlzIHJlZmVyZW5jZSBjb2RlLCB0 aGlzIGZpbGUgbXVzdCBiZSBtb2RpZmllZCBJQVcgdGhlDQo+ICsgICAgICAgIGluZGl2aWR1YWwg aW1wbG1lbnRhdGlvbi4NCj4gKw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSovDQo+ICsNCj4gKw0KPiArRGVmaW5pdGlvbkJsb2NrICgNCj4gKyAg ICAgICAgIkFQQ1NULmFtbCIsDQo+ICsgICAgICAgICJTU0RUIiwNCj4gKyAgICAgICAgMSwNCj4g KyAgICAgICAgIlBtUmVmIiwNCj4gKyAgICAgICAgIkFwQ3N0IiwNCj4gKyAgICAgICAgMHgzMDAw DQo+ICsgICAgICAgICkNCj4gK3sNCj4gK0V4dGVybmFsKFxfUFIuQ1BVMSwgRGV2aWNlT2JqKQ0K PiArRXh0ZXJuYWwoXF9QUi5DUFUyLCBEZXZpY2VPYmopDQo+ICtFeHRlcm5hbChcX1BSLkNQVTMs IERldmljZU9iaikNCj4gK0V4dGVybmFsKFxfUFIuQ1BVMC5fQ1NUKQ0KPiArDQo+ICsgICAgICAg IFNjb3BlKFxfUFIuQ1BVMSkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgICAgICAgIE1ldGhv ZChfQ1NULDApDQo+ICsgICAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJldHVybiBQMCdzIF9DU1Qgb2Jq ZWN0Lg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybihcX1BSLkNQVTAuX0NTVCkNCj4gKyAgICAgICAgICAgICAgICB9DQo+ICsg ICAgICAgIH0NCj4gKw0KPiArICAgICAgICBTY29wZShcX1BSLkNQVTIpDQo+ICsgICAgICAgIHsN Cj4gKyAgICAgICAgICAgICAgICBNZXRob2QoX0NTVCwwKQ0KPiArICAgICAgICAgICAgICAgIHsN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAvLyBSZXR1cm4gUDAncyBfQ1NUIG9iamVjdC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IC8vDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oXF9QUi5DUFUwLl9DU1QpDQo+ ICsgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgU2NvcGUo XF9QUi5DUFUzKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgTWV0aG9kKF9DU1Qs MCkNCj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLw0K PiArICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJuIFAwJ3MgX0NTVCBvYmplY3QuDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuKFxfUFIuQ1BVMC5fQ1NUKQ0KPiArICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAg fQ0KPiArfSAgLy8gRW5kIG9mIERlZmluaXRpb24gQmxvY2sNCj4gZGlmZiAtLWdpdA0KPiBhL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2Vy TWFuYWdlDQo+IG1lbnQvQWNwaVRhYmxlcy9Tc2R0L0FwSXN0LmFzbA0KPiBiL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdlDQo+ IG1lbnQvQWNwaVRhYmxlcy9Tc2R0L0FwSXN0LmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi5mZmZmZTlhOGZjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+ IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUv UG93ZXJNYW5hZ2UNCj4gbWVudC9BY3BpVGFibGVzL1NzZHQvQXBJc3QuYXNsDQo+IEBAIC0wLDAg KzEsMTY2IEBADQo+ICsvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQo+ICsNCj4gKw0KPiArIEludGVsIFNpbHZlcm1vbnQgUHJvY2Vzc29yIFBvd2VyIE1h bmFnZW1lbnQgQklPUyBSZWZlcmVuY2UgQ29kZQ0KPiArDQo+ICsgQ29weXJpZ2h0IChjKSAyMDA2 IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24NCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKyBGaWxlbmFtZTogICAgICBB UElTVC5BU0wNCj4gKw0KPiArIFJldmlzaW9uOiAgICAgIFJlZmVyIHRvIFJlYWRtZQ0KPiArDQo+ ICsgRGF0ZTogICAgICAgICAgUmVmZXIgdG8gUmVhZG1lDQo+ICsNCj4gKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyBUaGlzIFByb2Nl c3NvciBQb3dlciBNYW5hZ2VtZW50IEJJT1MgU291cmNlIENvZGUgaXMgZnVybmlzaGVkIHVuZGVy DQo+IGxpY2Vuc2UNCj4gKyBhbmQgbWF5IG9ubHkgYmUgdXNlZCBvciBjb3BpZWQgaW4gYWNjb3Jk YW5jZSB3aXRoIHRoZSB0ZXJtcyBvZiB0aGUgbGljZW5zZS4NCj4gKyBUaGUgaW5mb3JtYXRpb24g aW4gdGhpcyBkb2N1bWVudCBpcyBmdXJuaXNoZWQgZm9yIGluZm9ybWF0aW9uYWwgdXNlIG9ubHks IGlzDQo+ICsgc3ViamVjdCB0byBjaGFuZ2Ugd2l0aG91dCBub3RpY2UsIGFuZCBzaG91bGQgbm90 IGJlIGNvbnN0cnVlZCBhcyBhDQo+IGNvbW1pdG1lbnQNCj4gKyBieSBJbnRlbCBDb3Jwb3JhdGlv bi4gSW50ZWwgQ29ycG9yYXRpb24gYXNzdW1lcyBubyByZXNwb25zaWJpbGl0eSBvciBsaWFiaWxp dHkNCj4gKyBmb3IgYW55IGVycm9ycyBvciBpbmFjY3VyYWNpZXMgdGhhdCBtYXkgYXBwZWFyIGlu IHRoaXMgZG9jdW1lbnQgb3IgYW55DQo+ICsgc29mdHdhcmUgdGhhdCBtYXkgYmUgcHJvdmlkZWQg aW4gYXNzb2NpYXRpb24gd2l0aCB0aGlzIGRvY3VtZW50Lg0KPiArDQo+ICsgRXhjZXB0IGFzIHBl cm1pdHRlZCBieSBzdWNoIGxpY2Vuc2UsIG5vIHBhcnQgb2YgdGhpcyBkb2N1bWVudCBtYXkgYmUN Cj4gKyByZXByb2R1Y2VkLCBzdG9yZWQgaW4gYSByZXRyaWV2YWwgc3lzdGVtLCBvciB0cmFuc21p dHRlZCBpbiBhbnkgZm9ybSBvciBieQ0KPiArIGFueSBtZWFucyB3aXRob3V0IHRoZSBleHByZXNz IHdyaXR0ZW4gY29uc2VudCBvZiBJbnRlbCBDb3Jwb3JhdGlvbi4NCj4gKw0KPiArIFdBUk5JTkc6 IFlvdSBhcmUgYXV0aG9yaXplZCBhbmQgbGljZW5zZWQgdG8gaW5zdGFsbCBhbmQgdXNlIHRoaXMg QklPUw0KPiBjb2RlDQo+ICsgT05MWSBvbiBhbiBJU1QgUEMuIFRoaXMgdXRpbGl0eSBtYXkgZGFt YWdlIGFueSBzeXN0ZW0gdGhhdCBkb2VzIG5vdA0KPiArIG1lZXQgdGhlc2UgcmVxdWlyZW1lbnRz Lg0KPiArDQo+ICsgICAgICAgIEFuIElTVCBQQyBpcyBhIGNvbXB1dGVyIHdoaWNoDQo+ICsgICAg ICAgICgxKSBJcyBjYXBhYmxlIG9mIHNlYW1sZXNzbHkgYW5kIGF1dG9tYXRpY2FsbHkgdHJhbnNp dGlvbmluZyBhbW9uZw0KPiArICAgICAgICBtdWx0aXBsZSBwZXJmb3JtYW5jZSBzdGF0ZXMgKHBv dGVudGlhbGx5IG9wZXJhdGluZyBhdCBkaWZmZXJlbnQNCj4gKyAgICAgICAgZWZmaWNpZW5jeSBy YXRpbmdzKSBiYXNlZCB1cG9uIHBvd2VyIHNvdXJjZSBjaGFuZ2VzLCBFTkQgdXNlcg0KPiArICAg ICAgICBwcmVmZXJlbmNlLCBwcm9jZXNzb3IgcGVyZm9ybWFuY2UgZGVtYW5kLCBhbmQgdGhlcm1h bCBjb25kaXRpb25zOw0KPiBhbmQNCj4gKyAgICAgICAgKDIpIEluY2x1ZGVzIGFuIEludGVsIFBl bnRpdW0gSUkgcHJvY2Vzc29ycywgSW50ZWwgUGVudGl1bSBJSUkNCj4gKyAgICAgICAgcHJvY2Vz c29yLCBNb2JpbGUgSW50ZWwgUGVudGl1bSBJSUkgUHJvY2Vzc29yLU0sIE1vYmlsZSBJbnRlbCBQ ZW50aXVtIDQNCj4gKyAgICAgICAgUHJvY2Vzc29yLU0sIEludGVsIFBlbnRpdW0gTSBQcm9jZXNz b3IsIG9yIGFueSBvdGhlciBmdXR1cmUgSW50ZWwNCj4gKyAgICAgICAgcHJvY2Vzc29ycyB0aGF0 IGluY29ycG9yYXRlcyB0aGUgY2FwYWJpbGl0eSB0byB0cmFuc2l0aW9uIGJldHdlZW4NCj4gKyAg ICAgICAgZGlmZmVyZW50IHBlcmZvcm1hbmNlIHN0YXRlcyBieSBhbHRlcmluZyBzb21lLCBvciBh bnkgY29tYmluYXRpb24gb2YsDQo+ICsgICAgICAgIHRoZSBmb2xsb3dpbmcgcHJvY2Vzc29yIGF0 dHJpYnV0ZXM6IGNvcmUgdm9sdGFnZSwgY29yZSBmcmVxdWVuY3ksIGJ1cw0KPiArICAgICAgICBm cmVxdWVuY3ksIG51bWJlciBvZiBwcm9jZXNzb3IgY29yZXMgYXZhaWxhYmxlLCBvciBhbnkgb3Ro ZXIgYXR0cmlidXRlDQo+ICsgICAgICAgIHRoYXQgY2hhbmdlcyB0aGUgZWZmaWNpZW5jeSAoaW5z dHJ1Y3Rpb25zL3VuaXQgdGltZS1wb3dlcikgYXQgd2hpY2ggdGhlDQo+ICsgICAgICAgIHByb2Nl c3NvciBvcGVyYXRlcy4NCj4gKw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICtOT1RFUzoNCj4gKyAgICAgICAgKDEpIDxUT0RPPiAt IElGIHRoZSB0cmFwIHJhbmdlIGFuZCBwb3J0IGRlZmluaXRpb25zIGRvIG5vdCBtYXRjaCB0aG9z ZQ0KPiArICAgICAgICBzcGVjaWZpZWQgYnkgdGhpcyByZWZlcmVuY2UgY29kZSwgdGhpcyBmaWxl IG11c3QgYmUgbW9kaWZpZWQgSUFXIHRoZQ0KPiArICAgICAgICBpbmRpdmlkdWFsIGltcGxtZW50 YXRpb24uDQo+ICsNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0qLw0KPiArDQo+ICsNCj4gK0RlZmluaXRpb25CbG9jayAoDQo+ICsgICAgICAgICJB UElTVC5hbWwiLA0KPiArICAgICAgICAiU1NEVCIsDQo+ICsgICAgICAgIDEsDQo+ICsgICAgICAg ICJQbVJlZiIsDQo+ICsgICAgICAgICJBcElzdCIsDQo+ICsgICAgICAgIDB4MzAwMA0KPiArICAg ICAgICApDQo+ICt7DQo+ICsgICAgICAgIEV4dGVybmFsKFxfUFIuQ1BVMC5fUFNTLCBNZXRob2RP YmopDQo+ICsgICAgICAgIEV4dGVybmFsKFxfUFIuQ1BVMC5fUENULCBNZXRob2RPYmopDQo+ICsg ICAgICAgIEV4dGVybmFsKFxfUFIuQ1BVMC5fUFBDLCBJbnRPYmopDQo+ICsgICAgICAgIEV4dGVy bmFsKFxfUFIuQ1BVMC5fUFNELCBNZXRob2RPYmopDQo+ICsgICAgICAgIEV4dGVybmFsKFxfUFIu Q1BVMSwgRGV2aWNlT2JqKQ0KPiArICAgICAgICBFeHRlcm5hbChcX1BSLkNQVTIsIERldmljZU9i aikNCj4gKyAgICAgICAgRXh0ZXJuYWwoXF9QUi5DUFUzLCBEZXZpY2VPYmopDQo+ICsgICAgICAg IEV4dGVybmFsIChDRkdEKQ0KPiArICAgICAgICBFeHRlcm5hbCAoUERDMCkNCj4gKw0KPiArICAg ICAgICBTY29wZShcX1BSLkNQVTEpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICBN ZXRob2QoX1BQQywwKQ0KPiArICAgICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybihcX1BSLkNQVTAuX1BQQykgIC8vIFJldHVybiBQMCBfUFBDIHZhbHVlLg0K PiArICAgICAgICAgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAgICAgICAgIE1ldGhvZChfUENU LDApDQo+ICsgICAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuKFxfUFIuQ1BVMC5fUENUKSAgLy8gUmV0dXJuIFAwIF9QQ1QuDQo+ICsgICAgICAgICAgICAg ICAgfQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgTWV0aG9kKF9QU1MsMCkNCj4gKyAgICAgICAg ICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvL1JldHVybiB0aGUgc2FtZSB0 YWJsZSBhcyBDUFUwIGZvciBDTVAgY2FzZXMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4oXF9QUi5DUFUwLl9QU1MpDQo+ICsgICAgICAgICAgICAgICAgfQ0KPiArDQo+ICsgICAg ICAgICAgICAgICAgLy8gVGhlIF9QU0Qgb2JqZWN0IHByb3ZpZGVzIGluZm9ybWF0aW9uIHRvIHRo ZSBPU1BNIHJlbGF0ZWQNCj4gKyAgICAgICAgICAgICAgICAvLyB0byBQLVN0YXRlIGNvb3JkaW5h dGlvbiBiZXR3ZWVuIHByb2Nlc3NvcnMgaW4gYSBtdWx0aS1wcm9jZXNzb3INCj4gKyAgICAgICAg ICAgICAgICAvLyBjb25maWd1cmF0aW9ucy4NCj4gKyAgICAgICAgICAgICAgICAvLw0KPiArICAg ICAgICAgICAgICAgIE1ldGhvZChfUFNELDApDQo+ICsgICAgICAgICAgICAgICAgew0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFxfUFIuQ1BVMC5fUFNEKSAgLy8gUmV0dXJuIFAw IF9QU0QuDQo+ICsgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICB9DQo+ICsNCj4gKyAgICAg ICAgU2NvcGUoXF9QUi5DUFUyKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgTWV0 aG9kKF9QUEMsMCkNCj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4oXF9QUi5DUFUwLl9QUEMpICAvLyBSZXR1cm4gUDAgX1BQQyB2YWx1ZS4NCj4g KyAgICAgICAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAgICAgICBNZXRob2QoX1BDVCww KQ0KPiArICAgICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy bihcX1BSLkNQVTAuX1BDVCkgIC8vIFJldHVybiBQMCBfUENULg0KPiArICAgICAgICAgICAgICAg IH0NCj4gKw0KPiArICAgICAgICAgICAgICAgIE1ldGhvZChfUFNTLDApDQo+ICsgICAgICAgICAg ICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy9SZXR1cm4gdGhlIHNhbWUgdGFi bGUgYXMgQ1BVMCBmb3IgQ01QIGNhc2VzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuKFxfUFIuQ1BVMC5fUFNTKQ0KPiArICAgICAgICAgICAgICAgIH0NCj4gKw0KPiArICAgICAg ICAgICAgICAgIC8vIFRoZSBfUFNEIG9iamVjdCBwcm92aWRlcyBpbmZvcm1hdGlvbiB0byB0aGUg T1NQTSByZWxhdGVkDQo+ICsgICAgICAgICAgICAgICAgLy8gdG8gUC1TdGF0ZSBjb29yZGluYXRp b24gYmV0d2VlbiBwcm9jZXNzb3JzIGluIGEgbXVsdGktcHJvY2Vzc29yDQo+ICsgICAgICAgICAg ICAgICAgLy8gY29uZmlndXJhdGlvbnMuDQo+ICsgICAgICAgICAgICAgICAgLy8NCj4gKyAgICAg ICAgICAgICAgICBNZXRob2QoX1BTRCwwKQ0KPiArICAgICAgICAgICAgICAgIHsNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybihcX1BSLkNQVTAuX1BTRCkgIC8vIFJldHVybiBQMCBf UFNELg0KPiArICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgfQ0KPiArDQo+ICsgICAgICAg IFNjb3BlKFxfUFIuQ1BVMykNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgICAgICAgIE1ldGhv ZChfUFBDLDApDQo+ICsgICAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuKFxfUFIuQ1BVMC5fUFBDKSAgLy8gUmV0dXJuIFAwIF9QUEMgdmFsdWUuDQo+ICsg ICAgICAgICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgTWV0aG9kKF9QQ1QsMCkN Cj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4o XF9QUi5DUFUwLl9QQ1QpICAvLyBSZXR1cm4gUDAgX1BDVC4NCj4gKyAgICAgICAgICAgICAgICB9 DQo+ICsNCj4gKyAgICAgICAgICAgICAgICBNZXRob2QoX1BTUywwKQ0KPiArICAgICAgICAgICAg ICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vUmV0dXJuIHRoZSBzYW1lIHRhYmxl IGFzIENQVTAgZm9yIENNUCBjYXNlcy4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy bihcX1BSLkNQVTAuX1BTUykNCj4gKyAgICAgICAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAg ICAgICAgICAvLyBUaGUgX1BTRCBvYmplY3QgcHJvdmlkZXMgaW5mb3JtYXRpb24gdG8gdGhlIE9T UE0gcmVsYXRlZA0KPiArICAgICAgICAgICAgICAgIC8vIHRvIFAtU3RhdGUgY29vcmRpbmF0aW9u IGJldHdlZW4gcHJvY2Vzc29ycyBpbiBhIG11bHRpLXByb2Nlc3Nvcg0KPiArICAgICAgICAgICAg ICAgIC8vIGNvbmZpZ3VyYXRpb25zLg0KPiArICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAg ICAgICAgICAgTWV0aG9kKF9QU0QsMCkNCj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4oXF9QUi5DUFUwLl9QU0QpICAvLyBSZXR1cm4gUDAgX1BT RC4NCj4gKyAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgIH0NCj4gK30gLy8gRW5kIG9mIERl ZmluaXRpb24gQmxvY2sNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdlDQo+IG1lbnQvQWNwaVRh Ymxlcy9Tc2R0L0FwVHN0LmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdlDQo+IG1lbnQvQWNwaVRhYmxlcy9Tc2R0 L0FwVHN0LmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi43 NjBlYjNjMTA4DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYy RGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvUG93ZXJNYW5hZ2UNCj4gbWVudC9B Y3BpVGFibGVzL1NzZHQvQXBUc3QuYXNsDQo+IEBAIC0wLDAgKzEsMjYyIEBADQo+ICsvKi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKw0KPiAr IEludGVsIFBsYXRmb3JtIFByb2Nlc3NvciBQb3dlciBNYW5hZ2VtZW50IEJJT1MgUmVmZXJlbmNl IENvZGUNCj4gKw0KPiArIENvcHlyaWdodCAoYykgMjAwNyAgLSAyMDE0LCBJbnRlbCBDb3Jwb3Jh dGlvbg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKw0KPiArIEZpbGVuYW1lOiAgICAgIEFQVFNULkFTTA0KPiArDQo+ICsgUmV2 aXNpb246ICAgICAgUmVmZXIgdG8gUmVhZG1lDQo+ICsNCj4gKyBEYXRlOiAgICAgICAgICBSZWZl ciB0byBSZWFkbWUNCj4gKw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArIFRoaXMgUHJvY2Vzc29yIFBvd2VyIE1hbmFnZW1lbnQg QklPUyBTb3VyY2UgQ29kZSBpcyBmdXJuaXNoZWQgdW5kZXINCj4gbGljZW5zZQ0KPiArIGFuZCBt YXkgb25seSBiZSB1c2VkIG9yIGNvcGllZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlcm1zIG9m IHRoZSBsaWNlbnNlLg0KPiArIFRoZSBpbmZvcm1hdGlvbiBpbiB0aGlzIGRvY3VtZW50IGlzIGZ1 cm5pc2hlZCBmb3IgaW5mb3JtYXRpb25hbCB1c2Ugb25seSwgaXMNCj4gKyBzdWJqZWN0IHRvIGNo YW5nZSB3aXRob3V0IG5vdGljZSwgYW5kIHNob3VsZCBub3QgYmUgY29uc3RydWVkIGFzIGENCj4g Y29tbWl0bWVudA0KPiArIGJ5IEludGVsIENvcnBvcmF0aW9uLiBJbnRlbCBDb3Jwb3JhdGlvbiBh c3N1bWVzIG5vIHJlc3BvbnNpYmlsaXR5IG9yIGxpYWJpbGl0eQ0KPiArIGZvciBhbnkgZXJyb3Jz IG9yIGluYWNjdXJhY2llcyB0aGF0IG1heSBhcHBlYXIgaW4gdGhpcyBkb2N1bWVudCBvciBhbnkN Cj4gKyBzb2Z0d2FyZSB0aGF0IG1heSBiZSBwcm92aWRlZCBpbiBhc3NvY2lhdGlvbiB3aXRoIHRo aXMgZG9jdW1lbnQuDQo+ICsNCj4gKyBFeGNlcHQgYXMgcGVybWl0dGVkIGJ5IHN1Y2ggbGljZW5z ZSwgbm8gcGFydCBvZiB0aGlzIGRvY3VtZW50IG1heSBiZQ0KPiArIHJlcHJvZHVjZWQsIHN0b3Jl ZCBpbiBhIHJldHJpZXZhbCBzeXN0ZW0sIG9yIHRyYW5zbWl0dGVkIGluIGFueSBmb3JtIG9yIGJ5 DQo+ICsgYW55IG1lYW5zIHdpdGhvdXQgdGhlIGV4cHJlc3Mgd3JpdHRlbiBjb25zZW50IG9mIElu dGVsIENvcnBvcmF0aW9uLg0KPiArDQo+ICsgV0FSTklORzogWW91IGFyZSBhdXRob3JpemVkIGFu ZCBsaWNlbnNlZCB0byBpbnN0YWxsIGFuZCB1c2UgdGhpcyBCSU9TDQo+IGNvZGUNCj4gKyBPTkxZ IG9uIGFuIElTVCBQQy4gVGhpcyB1dGlsaXR5IG1heSBkYW1hZ2UgYW55IHN5c3RlbSB0aGF0IGRv ZXMgbm90DQo+ICsgbWVldCB0aGVzZSByZXF1aXJlbWVudHMuDQo+ICsNCj4gKyAgICAgICAgQW4g SVNUIFBDIGlzIGEgY29tcHV0ZXIgd2hpY2gNCj4gKyAgICAgICAgKDEpIElzIGNhcGFibGUgb2Yg c2VhbWxlc3NseSBhbmQgYXV0b21hdGljYWxseSB0cmFuc2l0aW9uaW5nIGFtb25nDQo+ICsgICAg ICAgIG11bHRpcGxlIHBlcmZvcm1hbmNlIHN0YXRlcyAocG90ZW50aWFsbHkgb3BlcmF0aW5nIGF0 IGRpZmZlcmVudA0KPiArICAgICAgICBlZmZpY2llbmN5IHJhdGluZ3MpIGJhc2VkIHVwb24gcG93 ZXIgc291cmNlIGNoYW5nZXMsIEVORCB1c2VyDQo+ICsgICAgICAgIHByZWZlcmVuY2UsIHByb2Nl c3NvciBwZXJmb3JtYW5jZSBkZW1hbmQsIGFuZCB0aGVybWFsIGNvbmRpdGlvbnM7DQo+IGFuZA0K PiArICAgICAgICAoMikgSW5jbHVkZXMgYW4gSW50ZWwgUGVudGl1bSBJSSBwcm9jZXNzb3JzLCBJ bnRlbCBQZW50aXVtIElJSQ0KPiArICAgICAgICBwcm9jZXNzb3IsIE1vYmlsZSBJbnRlbCBQZW50 aXVtIElJSSBQcm9jZXNzb3ItTSwgTW9iaWxlIEludGVsIFBlbnRpdW0gNA0KPiArICAgICAgICBQ cm9jZXNzb3ItTSwgSW50ZWwgUGVudGl1bSBNIFByb2Nlc3Nvciwgb3IgYW55IG90aGVyIGZ1dHVy ZSBJbnRlbA0KPiArICAgICAgICBwcm9jZXNzb3JzIHRoYXQgaW5jb3Jwb3JhdGVzIHRoZSBjYXBh YmlsaXR5IHRvIHRyYW5zaXRpb24gYmV0d2Vlbg0KPiArICAgICAgICBkaWZmZXJlbnQgcGVyZm9y bWFuY2Ugc3RhdGVzIGJ5IGFsdGVyaW5nIHNvbWUsIG9yIGFueSBjb21iaW5hdGlvbiBvZiwNCj4g KyAgICAgICAgdGhlIGZvbGxvd2luZyBwcm9jZXNzb3IgYXR0cmlidXRlczogY29yZSB2b2x0YWdl LCBjb3JlIGZyZXF1ZW5jeSwgYnVzDQo+ICsgICAgICAgIGZyZXF1ZW5jeSwgbnVtYmVyIG9mIHBy b2Nlc3NvciBjb3JlcyBhdmFpbGFibGUsIG9yIGFueSBvdGhlciBhdHRyaWJ1dGUNCj4gKyAgICAg ICAgdGhhdCBjaGFuZ2VzIHRoZSBlZmZpY2llbmN5IChpbnN0cnVjdGlvbnMvdW5pdCB0aW1lLXBv d2VyKSBhdCB3aGljaCB0aGUNCj4gKyAgICAgICAgcHJvY2Vzc29yIG9wZXJhdGVzLg0KPiArDQo+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsN Cj4gK05PVEVTOg0KPiArICAgICAgICAoMSkgPFRPRE8+IC0gSUYgdGhlIHRyYXAgcmFuZ2UgYW5k IHBvcnQgZGVmaW5pdGlvbnMgZG8gbm90IG1hdGNoIHRob3NlDQo+ICsgICAgICAgIHNwZWNpZmll ZCBieSB0aGlzIHJlZmVyZW5jZSBjb2RlLCB0aGlzIGZpbGUgbXVzdCBiZSBtb2RpZmllZCBJQVcg dGhlDQo+ICsgICAgICAgIGluZGl2aWR1YWwgaW1wbG1lbnRhdGlvbi4NCj4gKw0KPiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQo+ICsNCj4gKw0K PiArRGVmaW5pdGlvbkJsb2NrKA0KPiArICAgICAgICAiQVBUU1QuYW1sIiwNCj4gKyAgICAgICAg IlNTRFQiLA0KPiArICAgICAgICAweDAxLA0KPiArICAgICAgICAiUG1SZWYiLA0KPiArICAgICAg ICAiQXBUc3QiLA0KPiArICAgICAgICAweDMwMDANCj4gKyAgICAgICAgKQ0KPiArew0KPiArICAg ICAgICBFeHRlcm5hbChcX1BSLkNQVTEsIERldmljZU9iaikNCj4gKyAgICAgICAgRXh0ZXJuYWwo XF9QUi5DUFUyLCBEZXZpY2VPYmopDQo+ICsgICAgICAgIEV4dGVybmFsKFxfUFIuQ1BVMywgRGV2 aWNlT2JqKQ0KPiArICAgICAgICBFeHRlcm5hbChcX1BSLkNQVTAuX1BUQykNCj4gKyAgICAgICAg RXh0ZXJuYWwoXF9QUi5DUFUwLl9UU1MpDQo+ICsgICAgICAgIEV4dGVybmFsKFBEQzApDQo+ICsg ICAgICAgIEV4dGVybmFsKENGR0QpDQo+ICsgICAgICAgIEV4dGVybmFsKE1QRU4pDQo+ICsNCj4g KyAgICAgICAgU2NvcGUoXF9QUi5DUFUxKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgICAg ICAgTmFtZShfVFBDLCAwKSAgIC8vIEFsbCBULVN0YXRlcyBhcmUgYXZhaWxhYmxlDQo+ICsNCj4g KyAgICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgIC8vIFQtU3RhdGUgQ29udHJv bC9TdGF0dXMgaW50ZXJmYWNlDQo+ICsgICAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAg ICAgICBNZXRob2QoX1BUQywgMCkNCj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4oXF9QUi5DUFUwLl9QVEMpDQo+ICsgICAgICAgICAgICAgICAg fQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgTWV0aG9kKF9UU1MsIDApDQo+ICsgICAgICAgICAg ICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFxfUFIuQ1BVMC5fVFNT KQ0KPiArICAgICAgICAgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAgICAgICAgIC8vDQo+ICsg ICAgICAgICAgICAgICAgLy8gVC1TdGF0ZSBEZXBlbmRlbmN5DQo+ICsgICAgICAgICAgICAgICAg Ly8NCj4gKyAgICAgICAgICAgICAgICBNZXRob2QoX1RTRCwgMCkNCj4gKyAgICAgICAgICAgICAg ICB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgLy8gSUYgZm91ciBjb3JlcyBhcmUgc3VwcG9ydGVkL2VuYWJsZWQgJiYgIShkaXJlY3Qg YWNjZXNzIHRvDQo+IE1TUikNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIFJlcG9y dCA0IHByb2Nlc3NvcnMgYW5kIFNXX0FOWSBhcyB0aGUgY29vcmRpbmF0aW9uDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAvLyBJRiB0d28gY29yZXMgYXJlIHN1cHBvcnRlZC9lbmFibGVkICYm ICEoZGlyZWN0IGFjY2VzcyB0bw0KPiBNU1IpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAv LyAgICBSZXBvcnQgMiBwcm9jZXNzb3JzIGFuZCBTV19BTlkgYXMgdGhlIGNvb3JkaW5hdGlvbiB0 eXBlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLyAgRUxTRQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgLy8gICAgUmVwb3J0IDEgcHJvY2Vzc29yIGFuZCBTV19BTEwgYXMgdGhlIGNv b3JkaW5hdGlvbiB0eXBlDQo+IChkb21haW4gMSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IC8vDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLyAgQ0ZHRFsyM10gPSBGb3VyIGNvcmVz IGVuYWJsZWQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICBDRkdEWzI0XSA9IFR3byBv ciBtb3JlIGNvcmVzIGVuYWJsZWQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICBQREN4 WzJdID0gT1NQTSBpcyBjYXBhYmxlIG9mIGRpcmVjdCBhY2Nlc3MgdG8gT24NCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICBEZW1hbmQgdGhyb3R0bGluZyBNU1INCj4g KyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQo+ICsNCj4gKyAgICAgICAgICAgICAgICBJZihM Tm90KEFuZChQREMwLDQpKSkNCj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKCl7ICAgICAgIC8vIFNXX0FOWQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKXsNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUsICAgICAgICAg ICAgICAgIC8vICMgZW50cmllcy4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDAsICAgICAgICAgICAgICAgIC8vIFJldmlzaW9uLg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAg ICAgLy8gRG9tYWluICMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweEZELCAgICAgICAgICAgLy8gQ29vcmQgVHlwZS0gU1dfQU5ZDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNUEVOICAgICAgICAg IC8vICMgcHJvY2Vzc29ycy4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pDQo+ICsgICAgICAg ICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKCl7ICAgICAgICAg ICAgICAgLy8gU1dfQUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKCl7DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUsICAgICAgICAgICAgICAgICAgICAg ICAgLy8gIyBlbnRyaWVzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFJldmlzaW9uLg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAxLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbWFpbiAjLg0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZDLCAgICAgICAgICAgICAgICAgICAv LyBDb29yZCBUeXBlLSBTV19BTEwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MSAgICAgICAgICAgICAgIC8vICMgcHJvY2Vzc29ycy4NCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIH0NCj4gKyAgICAgICAgICAgICAgICB9KQ0KPiArICAgICAgICAgICAgICAgIH0NCj4gKyAg ICAgICAgfSAgLy8gRW5kIG9mIENQVTENCj4gKw0KPiArICAgICAgICBTY29wZShcX1BSLkNQVTIp DQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICBOYW1lKF9UUEMsIDApICAgLy8gQWxs IFQtU3RhdGVzIGFyZSBhdmFpbGFibGUNCj4gKw0KPiArICAgICAgICAgICAgICAgIC8vDQo+ICsg ICAgICAgICAgICAgICAgLy8gVC1TdGF0ZSBDb250cm9sL1N0YXR1cyBpbnRlcmZhY2UNCj4gKyAg ICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgIE1ldGhvZChfUFRDLCAwKQ0KPiAr ICAgICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybihcX1BS LkNQVTAuX1BUQykNCj4gKyAgICAgICAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAgICAg ICBNZXRob2QoX1RTUywgMCkNCj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4oXF9QUi5DUFUwLl9UU1MpDQo+ICsgICAgICAgICAgICAgICAgfQ0K PiArDQo+ICsgICAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICAvLyBULVN0YXRl IERlcGVuZGVuY3kNCj4gKyAgICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgIE1l dGhvZChfVFNELCAwKQ0KPiArICAgICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLyBJRiBmb3VyIGNvcmVzIGFy ZSBzdXBwb3J0ZWQvZW5hYmxlZCAmJiAhKGRpcmVjdCBhY2Nlc3MgdG8NCj4gTVNSKQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgLy8gICAgUmVwb3J0IDQgcHJvY2Vzc29ycyBhbmQgU1dfQU5Z IGFzIHRoZSBjb29yZGluYXRpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIElGIHR3 byBjb3JlcyBhcmUgc3VwcG9ydGVkL2VuYWJsZWQgJiYgIShkaXJlY3QgYWNjZXNzIHRvDQo+IE1T UikNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIFJlcG9ydCAyIHByb2Nlc3NvcnMg YW5kIFNXX0FOWSBhcyB0aGUgY29vcmRpbmF0aW9uIHR5cGUNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIC8vICBFTFNFDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICBSZXBvcnQg MSBwcm9jZXNzb3IgYW5kIFNXX0FMTCBhcyB0aGUgY29vcmRpbmF0aW9uIHR5cGUNCj4gKGRvbWFp biAxKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIC8vICBDRkdEWzIzXSA9IEZvdXIgY29yZXMgZW5hYmxlZA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgLy8gIENGR0RbMjRdID0gVHdvIG9yIG1vcmUgY29yZXMgZW5hYmxlZA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgLy8gIFBEQ3hbMl0gPSBPU1BNIGlzIGNhcGFibGUgb2Yg ZGlyZWN0IGFjY2VzcyB0byBPbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAg ICAgICAgIERlbWFuZCB0aHJvdHRsaW5nIE1TUg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg Ly8NCj4gKw0KPiArICAgICAgICAgICAgICAgIElmKExOb3QoQW5kKFBEQzAsNCkpKQ0KPiArICAg ICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu KFBhY2thZ2UoKXsgICAgICAgLy8gU1dfQU5ZDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGFja2FnZSgpew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgNSwgICAgICAgICAgICAgICAgLy8gIyBlbnRyaWVzLg0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAg ICAgICAgICAgLy8gUmV2aXNpb24uDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAvLyBEb21haW4gIy4NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkQsICAgICAgICAg ICAvLyBDb29yZCBUeXBlLSBTV19BTlkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE1QRU4gICAgICAgICAgLy8gIyBwcm9jZXNzb3JzLg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfSkNCj4gKyAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAg ICAgICAgUmV0dXJuKFBhY2thZ2UoKXsgICAgICAgICAgICAgICAvLyBTV19BTEwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKXsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgNSwgICAgICAgICAgICAgICAgICAgICAgICAvLyAjIGVudHJpZXMuDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgLy8g UmV2aXNpb24uDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsICAgICAgICAg ICAgICAgICAgICAgICAgLy8gRG9tYWluICMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkMsICAgICAgICAgICAgICAgICAgIC8vIENvb3JkIFR5cGUtIFNXX0FMTA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgIC8vICMgcHJv Y2Vzc29ycy4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAg ICB9KQ0KPiArICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgfSAgLy8gRW5kIG9mIENQVTIN Cj4gKw0KPiArICAgICAgICBTY29wZShcX1BSLkNQVTMpDQo+ICsgICAgICAgIHsNCj4gKyAgICAg ICAgICAgICAgICBOYW1lKF9UUEMsIDApICAgLy8gQWxsIFQtU3RhdGVzIGFyZSBhdmFpbGFibGUN Cj4gKw0KPiArICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgICAgLy8gVC1TdGF0 ZSBDb250cm9sL1N0YXR1cyBpbnRlcmZhY2UNCj4gKyAgICAgICAgICAgICAgICAvLw0KPiArICAg ICAgICAgICAgICAgIE1ldGhvZChfUFRDLCAwKQ0KPiArICAgICAgICAgICAgICAgIHsNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybihcX1BSLkNQVTAuX1BUQykNCj4gKyAgICAgICAg ICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAgICAgICBNZXRob2QoX1RTUywgMCkNCj4gKyAg ICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oXF9QUi5D UFUwLl9UU1MpDQo+ICsgICAgICAgICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAgICAgICAg Ly8NCj4gKyAgICAgICAgICAgICAgICAvLyBULVN0YXRlIERlcGVuZGVuY3kNCj4gKyAgICAgICAg ICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgIE1ldGhvZChfVFNELCAwKQ0KPiArICAgICAg ICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAvLyBJRiBmb3VyIGNvcmVzIGFyZSBzdXBwb3J0ZWQvZW5hYmxlZCAmJiAh KGRpcmVjdCBhY2Nlc3MgdG8NCj4gTVNSKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8g ICAgUmVwb3J0IDQgcHJvY2Vzc29ycyBhbmQgU1dfQU5ZIGFzIHRoZSBjb29yZGluYXRpb24NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIElGIHR3byBjb3JlcyBhcmUgc3VwcG9ydGVkL2Vu YWJsZWQgJiYgIShkaXJlY3QgYWNjZXNzIHRvDQo+IE1TUikNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIC8vICAgIFJlcG9ydCAyIHByb2Nlc3NvcnMgYW5kIFNXX0FOWSBhcyB0aGUgY29vcmRp bmF0aW9uIHR5cGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICBFTFNFDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAvLyAgICBSZXBvcnQgMSBwcm9jZXNzb3IgYW5kIFNXX0FMTCBh cyB0aGUgY29vcmRpbmF0aW9uIHR5cGUNCj4gKGRvbWFpbiAxKQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICBDRkdEWzIzXSA9IEZv dXIgY29yZXMgZW5hYmxlZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8gIENGR0RbMjRd ID0gVHdvIG9yIG1vcmUgY29yZXMgZW5hYmxlZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg Ly8gIFBEQ3hbMl0gPSBPU1BNIGlzIGNhcGFibGUgb2YgZGlyZWN0IGFjY2VzcyB0byBPbg0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgIERlbWFuZCB0aHJvdHRsaW5n IE1TUg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8NCj4gKw0KPiArICAgICAgICAgICAg ICAgIElmKExOb3QoQW5kKFBEQzAsNCkpKQ0KPiArICAgICAgICAgICAgICAgIHsNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFBhY2thZ2UoKXsgICAgICAgLy8gU1df QU5ZDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgp ew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSwg ICAgICAgICAgICAgICAgLy8gIyBlbnRyaWVzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgLy8gUmV2aXNpb24uDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAg ICAgICAgICAgICAvLyBEb21haW4gIy4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4RkQsICAgICAgICAgICAvLyBDb29yZCBUeXBlLSBTV19BTlkN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1QRU4g ICAgICAgICAgLy8gIyBwcm9jZXNzb3JzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCj4g KyAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgICAgUmV0dXJuKFBhY2thZ2UoKXsg ICAgICAgICAgICAgICAvLyBTV19BTEwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFBhY2th Z2UoKXsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSwgICAgICAgICAgICAg ICAgICAgICAgICAvLyAjIGVudHJpZXMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV2aXNpb24uDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDEsICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG9tYWlu ICMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkMsICAgICAgICAgICAg ICAgICAgIC8vIENvb3JkIFR5cGUtIFNXX0FMTA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAxICAgICAgICAgICAgICAgIC8vICMgcHJvY2Vzc29ycy4NCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgICB9KQ0KPiArICAgICAgICAgICAgICAg IH0NCj4gKyAgICAgICAgfSAgLy8gRW5kIG9mIENQVTMNCj4gK30gLy8gRW5kIG9mIERlZmluaXRp b24gQmxvY2sNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvUG93ZXJNYW5hZ2UNCj4gbWVudC9BY3BpVGFi bGVzL1NzZHQvQ3B1MENzdC5hc2wNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2Rl UGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFnZQ0KPiBtZW50L0FjcGlUYWJsZXMvU3Nk dC9DcHUwQ3N0LmFzbA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw Li43NmM3NzRhNDRkDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9W bHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvUG93ZXJNYW5hZ2UNCj4gbWVu dC9BY3BpVGFibGVzL1NzZHQvQ3B1MENzdC5hc2wNCj4gQEAgLTAsMCArMSwyNzQgQEANCj4gKw0K PiArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAr DQo+ICsNCj4gKyBJbnRlbCBTaWx2ZXJtb250IFByb2Nlc3NvciBQb3dlciBNYW5hZ2VtZW50IEJJ T1MgUmVmZXJlbmNlIENvZGUNCj4gKw0KPiArIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTQsIElu dGVsIENvcnBvcmF0aW9uDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsgRmlsZW5hbWU6ICAgIENQVTBDU1QuQVNMDQo+ ICsNCj4gKyBSZXZpc2lvbjogICAgUmVmZXIgdG8gUmVhZG1lDQo+ICsNCj4gKyBEYXRlOiAgICAg ICAgUmVmZXIgdG8gUmVhZG1lDQo+ICsNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyBUaGlzIFByb2Nlc3NvciBQb3dlciBNYW5h Z2VtZW50IEJJT1MgU291cmNlIENvZGUgaXMgZnVybmlzaGVkIHVuZGVyDQo+IGxpY2Vuc2UNCj4g KyBhbmQgbWF5IG9ubHkgYmUgdXNlZCBvciBjb3BpZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSB0 ZXJtcyBvZiB0aGUgbGljZW5zZS4NCj4gKyBUaGUgaW5mb3JtYXRpb24gaW4gdGhpcyBkb2N1bWVu dCBpcyBmdXJuaXNoZWQgZm9yIGluZm9ybWF0aW9uYWwgdXNlIG9ubHksIGlzDQo+ICsgc3ViamVj dCB0byBjaGFuZ2Ugd2l0aG91dCBub3RpY2UsIGFuZCBzaG91bGQgbm90IGJlIGNvbnN0cnVlZCBh cyBhDQo+IGNvbW1pdG1lbnQNCj4gKyBieSBJbnRlbCBDb3Jwb3JhdGlvbi4gSW50ZWwgQ29ycG9y YXRpb24gYXNzdW1lcyBubyByZXNwb25zaWJpbGl0eSBvciBsaWFiaWxpdHkNCj4gKyBmb3IgYW55 IGVycm9ycyBvciBpbmFjY3VyYWNpZXMgdGhhdCBtYXkgYXBwZWFyIGluIHRoaXMgZG9jdW1lbnQg b3IgYW55DQo+ICsgc29mdHdhcmUgdGhhdCBtYXkgYmUgcHJvdmlkZWQgaW4gYXNzb2NpYXRpb24g d2l0aCB0aGlzIGRvY3VtZW50Lg0KPiArDQo+ICsgRXhjZXB0IGFzIHBlcm1pdHRlZCBieSBzdWNo IGxpY2Vuc2UsIG5vIHBhcnQgb2YgdGhpcyBkb2N1bWVudCBtYXkgYmUNCj4gKyByZXByb2R1Y2Vk LCBzdG9yZWQgaW4gYSByZXRyaWV2YWwgc3lzdGVtLCBvciB0cmFuc21pdHRlZCBpbiBhbnkgZm9y bSBvciBieQ0KPiArIGFueSBtZWFucyB3aXRob3V0IHRoZSBleHByZXNzIHdyaXR0ZW4gY29uc2Vu dCBvZiBJbnRlbCBDb3Jwb3JhdGlvbi4NCj4gKw0KPiArIFdBUk5JTkc6IFlvdSBhcmUgYXV0aG9y aXplZCBhbmQgbGljZW5zZWQgdG8gaW5zdGFsbCBhbmQgdXNlIHRoaXMgQklPUw0KPiBjb2RlDQo+ ICsgT05MWSBvbiBhbiBJU1QgUEMuIFRoaXMgdXRpbGl0eSBtYXkgZGFtYWdlIGFueSBzeXN0ZW0g dGhhdCBkb2VzIG5vdA0KPiArIG1lZXQgdGhlc2UgcmVxdWlyZW1lbnRzLg0KPiArDQo+ICsgICAg QW4gSVNUIFBDIGlzIGEgY29tcHV0ZXIgd2hpY2gNCj4gKyAgICAoMSkgSXMgY2FwYWJsZSBvZiBz ZWFtbGVzc2x5IGFuZCBhdXRvbWF0aWNhbGx5IHRyYW5zaXRpb25pbmcgYW1vbmcNCj4gKyAgICBt dWx0aXBsZSBwZXJmb3JtYW5jZSBzdGF0ZXMgKHBvdGVudGlhbGx5IG9wZXJhdGluZyBhdCBkaWZm ZXJlbnQNCj4gKyAgICBlZmZpY2llbmN5IHJhdGluZ3MpIGJhc2VkIHVwb24gcG93ZXIgc291cmNl IGNoYW5nZXMsIEVORCB1c2VyDQo+ICsgICAgcHJlZmVyZW5jZSwgcHJvY2Vzc29yIHBlcmZvcm1h bmNlIGRlbWFuZCwgYW5kIHRoZXJtYWwgY29uZGl0aW9uczsgYW5kDQo+ICsgICAgKDIpIEluY2x1 ZGVzIGFuIEludGVsIFBlbnRpdW0gSUkgcHJvY2Vzc29ycywgSW50ZWwgUGVudGl1bSBJSUkNCj4g KyAgICBwcm9jZXNzb3IsIE1vYmlsZSBJbnRlbCBQZW50aXVtIElJSSBQcm9jZXNzb3ItTSwgTW9i aWxlIEludGVsIFBlbnRpdW0gNA0KPiArICAgIFByb2Nlc3Nvci1NLCBJbnRlbCBQZW50aXVtIE0g UHJvY2Vzc29yLCBvciBhbnkgb3RoZXIgZnV0dXJlIEludGVsDQo+ICsgICAgcHJvY2Vzc29ycyB0 aGF0IGluY29ycG9yYXRlcyB0aGUgY2FwYWJpbGl0eSB0byB0cmFuc2l0aW9uIGJldHdlZW4NCj4g KyAgICBkaWZmZXJlbnQgcGVyZm9ybWFuY2Ugc3RhdGVzIGJ5IGFsdGVyaW5nIHNvbWUsIG9yIGFu eSBjb21iaW5hdGlvbiBvZiwNCj4gKyAgICB0aGUgZm9sbG93aW5nIHByb2Nlc3NvciBhdHRyaWJ1 dGVzOiBjb3JlIHZvbHRhZ2UsIGNvcmUgZnJlcXVlbmN5LCBidXMNCj4gKyAgICBmcmVxdWVuY3ks IG51bWJlciBvZiBwcm9jZXNzb3IgY29yZXMgYXZhaWxhYmxlLCBvciBhbnkgb3RoZXIgYXR0cmli dXRlDQo+ICsgICAgdGhhdCBjaGFuZ2VzIHRoZSBlZmZpY2llbmN5IChpbnN0cnVjdGlvbnMvdW5p dCB0aW1lLXBvd2VyKSBhdCB3aGljaCB0aGUNCj4gKyAgICBwcm9jZXNzb3Igb3BlcmF0ZXMuDQo+ ICsNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gKw0KPiArTk9URVM6DQo+ICsgICAgKDEpIDxUT0RPPiAtIElGIHRoZSB0cmFwIHJhbmdlIGFu ZCBwb3J0IGRlZmluaXRpb25zIGRvIG5vdCBtYXRjaCB0aG9zZQ0KPiArICAgIHNwZWNpZmllZCBi eSB0aGlzIHJlZmVyZW5jZSBjb2RlLCB0aGlzIGZpbGUgbXVzdCBiZSBtb2RpZmllZCBJQVcgdGhl DQo+ICsgICAgaW5kaXZpZHVhbCBpbXBsbWVudGF0aW9uLg0KPiArDQo+ICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCj4gKw0KPiArDQo+ICtEZWZp bml0aW9uQmxvY2sgKA0KPiArICAgICJDUFUwQ1NULmFtbCIsDQo+ICsgICAgIlNTRFQiLA0KPiAr ICAgIDEsDQo+ICsgICAgIlBtUmVmIiwNCj4gKyAgICAiQ3B1MENzdCIsDQo+ICsgICAgMHgzMDAx DQo+ICsgICAgKQ0KPiArew0KPiArICAgIEV4dGVybmFsKFxfUFIuQ1BVMCwgRGV2aWNlT2JqKQ0K PiArICAgIEV4dGVybmFsKFBXUlMpDQo+ICsgICAgRXh0ZXJuYWwoQ0ZHRCkNCj4gKyAgICBFeHRl cm5hbChQREMwKQ0KPiArDQo+ICsgICAgU2NvcGUoXF9QUi5DUFUwKQ0KPiArICAgIHsNCj4gKyAg ICAgICAgT3BlcmF0aW9uUmVnaW9uIChERUIwLCBTeXN0ZW1JTywgMHg4MCwgMSkgICAgLy9EQkcN Cj4gKyAgICAgICAgRmllbGQgKERFQjAsIEJ5dGVBY2MsTm9Mb2NrLFByZXNlcnZlKSAgICAgICAg Ly9EQkcNCj4gKyAgICAgICAgeyBEQkc4LCA4LH0gICAgICAgICAgICAgICAgICAgIC8vREJHDQo+ ICsNCj4gKyAgICAgICAgTWV0aG9kIChfQ1NULCAwKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAg ICAgICBTdG9yZSgweDYwLERCRzgpIC8vREJHDQo+ICsNCj4gKyAgICAgICAgICAgIC8vIElGIENN UCBpcyBzdXBwb3J0ZWQsIGJ1dCBpbmRlcGVuZGVudCBDLVN0YXRlcyBiZXlvbmQgQzEgYXJlDQo+ ICsgICAgICAgICAgICAvLyBub3Qgc3VwcG9ydGVkOyByZXR1cm4gQzEgSGFsdCBhbmQgcmVseSBv biBCSU9TIGJhc2VkIHNvZnR3YXJlDQo+ICsgICAgICAgICAgICAvLyBjb29yZGluYXRpb24NCj4g KyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAvLyAgIENGR0RbMjRdID0gQ01QIHN1cHBv cnQNCj4gKyAgICAgICAgICAgIC8vICAgUERDeFs0XSAgPSAwIC0gT1MgZG9lcyBub3Qgc3VwcG9y dCBpbmQuIEMyL0MzIGluIE1QIHN5c3RlbXMNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAg ICAgICAvLyBOb3RlOiAgU01JIHdpbGwgYmUgZ2VuZXJhdGVkIHdoZW4gYm90aCBwcm9jZXNzb3Ig ZW50ZXIgdGhlDQo+ICsgICAgICAgICAgICAvLyBIYWx0IHN0YXRlLg0KPiArICAgICAgICAgICAg Ly8NCj4gKyAgICAgICAgICAgIElmKExBbmQoQW5kKENGR0QsMHgwMTAwMDAwMCksIExOb3QoQW5k KFBEQzAsMHgxMCkpKSkNCj4gKyAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICBTdG9y ZSgweDYxLERCRzgpIC8vREJHDQo+ICsgICAgICAgICAgICAgICAgUmV0dXJuKFBhY2thZ2UoKSB7 DQo+ICsgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgIFBhY2th Z2UoKQ0KPiArICAgICAgICAgICAgICAgICAgICB7ICAgLy8gQzEgaGFsdCwgYnV0IHdpdGggQklP UyBjb29yZGluYXRpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxh dGUoKXtSZWdpc3RlcihGRml4ZWRIVywgMCwgMCwgMCl9LA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIDE1NywNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIDEwMDANCj4gKyAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAg ICAgICAgIH0pDQo+ICsgICAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAgIC8vIElGIE1X QUlUIGV4dGVuc2lvbnMgYXJlIHN1cHBvcnRlZCwgdXNlIHRoZW0uDQo+ICsgICAgICAgICAgICAv Lw0KPiArICAgICAgICAgICAgLy8gIElGIEM2IGNhcGFibGUvZW5hYmxlZCBBTkQgQmF0dGVyeQ0K PiArICAgICAgICAgICAgLy8gICAgICAgIFJlcG9ydCBNV0FJVCBDMSwgQzIsIEM2IHcvIEJNX1NU UyBhdm9pZGFuY2UNCj4gKyAgICAgICAgICAgIC8vICBFTFNFIElGIEM0IGNhcGFibGUvZW5hYmxl ZCBBTkQgQmF0dGVyeQ0KPiArICAgICAgICAgICAgLy8gICAgICAgIFJlcG9ydCBNV0FJVCBDMSwg QzIsIEM0IHcvIEJNX1NUUyBhdm9pZGFuY2UNCj4gKyAgICAgICAgICAgIC8vICBFTFNFIElGIEMz IGNhcGFibGUvZW5hYmxlZA0KPiArICAgICAgICAgICAgLy8gICAgICBSZXBvcnQgTVdBSVQgQzEs IEMyLCBDMyB3LyBCTV9TVFMgYXZvaWRhbmNlDQo+ICsgICAgICAgICAgICAvLyAgRUxTRSBJRiBD MiBjYXBhYmxlL2VuYWJsZWQNCj4gKyAgICAgICAgICAgIC8vICAgICAgICBSZXBvcnQgTVdBSVQg QzEsIEMyDQo+ICsgICAgICAgICAgICAvLyAgRUxTRQ0KPiArICAgICAgICAgICAgLy8gICAgICAg IFJlcG9ydCBNV0FJVCBDMQ0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vICAg Q0ZHRFsyMV0gPSAxIC0gTVdBSVQgZXh0ZW5zaW9ucyBzdXBwb3J0ZWQNCj4gKyAgICAgICAgICAg IC8vICAgQ0ZHRFsxM10gPSAxIC0gQzcgIENhcGFibGUvRW5hYmxlZA0KPiArICAgICAgICAgICAg Ly8gICBDRkdEWzEyXSA9IDEgLSBDNlMgQ2FwYWJsZS9FbmFibGVkDQo+ICsgICAgICAgICAgICAv LyAgIENGR0RbMTFdID0gMSAtIEM2ICBDYXBhYmxlL0VuYWJsZWQNCj4gKyAgICAgICAgICAgIC8v ICAgQ0ZHRFs3XSAgPSAxIC0gQzQgIENhcGFibGUvRW5hYmxlZA0KPiArICAgICAgICAgICAgLy8g ICBDRkdEWzVdICA9IDEgLSBDMyAgQ2FwYWJsZS9FbmFibGVkDQo+ICsgICAgICAgICAgICAvLyAg IFBEQ3hbOV0gID0gMSAtIE9TICBzdXBwb3J0cyBNV0FJVCBleHRlbnNpb25zDQo+ICsgICAgICAg ICAgICAvLyAgIFBEQ3hbOF0gID0gMSAtIE9TICBzdXBwb3J0cyBNV0FJVCBmb3IgQzENCj4gKyAg ICAgICAgICAgIC8vICAgICAgICAgICAgKEluZmVycmVkIGZyb20gUERDeFs5XSA9IDEuKQ0KPiAr ICAgICAgICAgICAgLy8gICBQREN4WzRdICA9IDEgLSBPUyBzdXBwb3J0cyBpbmRlcGVuZGVudCBD Mi9DMyBpbiBNUCBzeXN0ZW1zDQo+ICsgICAgICAgICAgICAvLyAgICBvcg0KPiArICAgICAgICAg ICAgLy8gICBOT1QgQ01QICAoSW5mZXJyZWQgZnJvbSBwcmV2aW91cyBjaGVjay4pDQo+ICsgICAg ICAgICAgICAvLw0KPiArICAgICAgICAgICAgSWYoTEFuZChBbmQoQ0ZHRCwgMHgyMDAwMDApLCBB bmQoUERDMCwweDIwMCkpKQ0KPiArICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgIC8v DQo+ICsgICAgICAgICAgICAgICAgLy8gPFRPRE8+IFRoZSBpbXBsZW1lbnRvciBtYXkgd2lzaCB0 byBvbmx5IHJlcG9ydCBDMS1DMg0KPiArICAgICAgICAgICAgICAgIC8vIHdoZW4gb24gQUMgcG93 ZXIuICBJbiB0aGlzIGNhc2UsIHRoZSBJRiBjbGF1c2UgYmVsb3cgY2FuDQo+ICsgICAgICAgICAg ICAgICAgLy8gYmUgbW9kaWZpZWQgdG8gc29tZXRoaW5nIGxpa2U6DQo+ICsgICAgICAgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICAgICAgICAvLyAiSWYoTEFuZChBbmQoQ0ZHRCwweDIwMCksIExO b3QoUFdSUykpKSINCj4gKyAgICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgIC8v IFdoaWNoIHVzZXMgdGhlIHBvd2VyIHN0YXRlIG9mIHRoZSBzeXN0ZW0gKFBXUlMpIHRvDQo+ICsg ICAgICAgICAgICAgICAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gYWxsb3cgZGVlcGVycyBzdGF0 ZXMuDQo+ICsgICAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICAvLyAgIElGIEM3 IHN1cHBvcnRlZCBBTkQgb24gYmF0dGVyeQ0KPiArICAgICAgICAgICAgICAgIC8vICAgIHJlcG9y dCBNV0FJVCBDMSwgQzYsIEM3DQo+ICsgICAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAg ICAgICAvLyAgIENGR0RbMTNdID0gQzcgIENhcGFibGUvRW5hYmxlZA0KPiArICAgICAgICAgICAg ICAgIC8vICAgQ0ZHRFsxMV0gPSBDNiAgQ2FwYWJsZS9FbmFibGVkDQo+ICsgICAgICAgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICAgICAgSWYoTEFuZChBbmQoQ0ZHRCwweDIwMDApLEFuZChDRkdE LDB4NDAwMDAwMDApKSkNCj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAg ICAgIFN0b3JlKDB4NzcsREJHOCkgLy9EQkcNCj4gKyAgICAgICAgICAgICAgICAgICAgUmV0dXJu KCBQYWNrYWdlKCkNCj4gKyAgICAgICAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgMywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgeyAgIC8vIEMxLCBNV0FJVA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUoKXtSZWdpc3RlcihGRml4ZWRIVywgMSwgMiwg MHgwMCwgMSl9LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAx MDAwDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB9LA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSgpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gQzYsIE1XQUlUIEV4dGVuc2lvbiB3aXRoIEluY3JlbWVu dGFsIEwyIFNocmluaw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc291cmNl VGVtcGxhdGUoKXtSZWdpc3RlcihGRml4ZWRIVywgMSwgMiwgMHg1MCwgMSl9LA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIEM2LCBNV0FJVCBFeHRlbnNpb24gd2l0aCBObyBMMiBT aHJpbmsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlKCl7 UmVnaXN0ZXIoRkZpeGVkSFcsIDEsIDIsIDB4NTEsIDEpfSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAxMA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg fSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEM3LCBNV0FJ VCBFeHRlbnNpb24gd2l0aCBGdWxsIEwyIFNocmluaw0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJlc291cmNlVGVtcGxhdGUoKXtSZWdpc3RlcihGRml4ZWRIVywgMSwgMiwgMHg2NCwg MSl9LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMTUwMCwgICAvL1BuUCBzZXR0aW5nLCAxLjUgbXMgZm9yIHdvcnN0LWNh c2UgZXhpdCBsYXRlbmN5DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTANCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgICAgICAgfSkNCj4gKyAg ICAgICAgICAgICAgICB9DQo+ICsNCj4gKw0KPiArICAgICAgICAgICAgIElmKExBbmQoQW5kKENG R0QsMHgyMDAwKSxMTm90KEFuZChDRkdELDB4NDAwMDAwMDApKSkpDQo+ICsgICAgICAgICAgICAg ICAgew0KPiArICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDY3LERCRzgpIC8vREJHDQo+ICsg ICAgICAgICAgICAgICAgICAgIFJldHVybiggUGFja2FnZSgpDQo+ICsgICAgICAgICAgICAgICAg ICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIDMsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICBQYWNrYWdlKCkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHsgICAvLyBDMSwg TVdBSVQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlKCl7 UmVnaXN0ZXIoRkZpeGVkSFcsIDEsIDIsIDB4MDAsIDEpfSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMTAwMA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg fSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEM2LCBNV0FJ VCBFeHRlbnNpb24gd2l0aCBJbmNyZW1lbnRhbCBMMiBTaHJpbmsNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvLyBSZXNvdXJjZVRlbXBsYXRlKCl7UmVnaXN0ZXIoRkZpeGVkSFcsIDEs IDIsIDB4NTAsIDEpfSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDNiA9IEM2 TlMsIE1XQUlUIEV4dGVuc2lvbiB3aXRoIE5vIEwyIFNocmluaw0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUoKXtSZWdpc3RlcihGRml4ZWRIVywgMSwgMiwg MHg1MSwgMSl9LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgNTAwLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg IDEwDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB9LA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSgpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB7DQo+ICsNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlKCl7UmVnaXN0ZXIoRkZp eGVkSFcsIDEsIDIsIDB4NTIsIDEpfSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAz LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MDAsICAgLy9QblAgc2V0dGluZywg MS41IG1zIGZvciB3b3JzdC1jYXNlIGV4aXQgbGF0ZW5jeQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDEwDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAg ICAgICAgICAgIH0pDQo+ICsgICAgICAgICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAgICAg ICAgSWYoQW5kKENGR0QsMHg4MDApKSAvLyBTZXR1cCBNYXggQy1TdGF0ZSA9IEM2DQo+ICsgICAg ICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDc2LERCRzgpIC8v REJHDQo+ICsgICAgICAgICAgICAgICAgICAgIFJldHVybiggUGFja2FnZSgpDQo+ICsgICAgICAg ICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIDIsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlKCkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHsg ICAvLyBDMSwgTVdBSVQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRl bXBsYXRlKCl7UmVnaXN0ZXIoRkZpeGVkSFcsIDEsIDIsIDB4MDAsIDEpfSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgfSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IEM2LCBNV0FJVCBFeHRlbnNpb24gd2l0aCBJbmNyZW1lbnRhbCBMMiBTaHJpbmsNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXNvdXJjZVRlbXBsYXRlKCl7UmVnaXN0ZXIoRkZp eGVkSFcsIDEsIDIsIDB4NTAsIDEpfSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBDNiwgTVdBSVQgRXh0ZW5zaW9uIHdpdGggTm8gTDIgU2hyaW5rDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSgpe1JlZ2lzdGVyKEZGaXhlZEhXLCAxLCAy LCAweDUxLCAxKX0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICA1MDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMTANCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgICAg ICAgfSkNCj4gKyAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgICAgLy8NCj4gKyAg ICAgICAgICAgICAgICAvLyBJRiBubyBkZWVwZXIgQy1TdGF0ZXMgYXJlIHN1cHBvcnRlZDsgcmVw b3J0IE1XQUlUIEMxLg0KPiArICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgICAg U3RvcmUoMHg3MSxEQkc4KSAvL0RCRw0KPiArICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdl KCkNCj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsg ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKQ0KPiArICAgICAgICAgICAgICAgICAgICB7ICAg Ly8gQzEsIE1XQUlUDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRl ICgpIHtSZWdpc3RlcihGRml4ZWRIVywgMSwgMiwgMHgwMCwgMSl9LA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAxMDAwDQo+ICsgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAg ICAgICAgICAgICB9KQ0KPiArICAgICAgICAgICAgfQ0KPiArDQo+ICsNCj4gKyAgICAgICAgfQ0K PiArICAgIH0NCj4gK30NCj4gKw0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFnZQ0KPiBt ZW50L0FjcGlUYWJsZXMvU3NkdC9DcHUwSXN0LmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdlDQo+IG1lbnQvQWNw aVRhYmxlcy9Tc2R0L0NwdTBJc3QuYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAuLjA3YmRiODU2MDINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1h bmFnZQ0KPiBtZW50L0FjcGlUYWJsZXMvU3NkdC9DcHUwSXN0LmFzbA0KPiBAQCAtMCwwICsxLDI2 MCBAQA0KPiArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiArDQo+ICsNCj4gKyBJbnRlbCBTaWx2ZXJtb250IFByb2Nlc3NvciBQb3dlciBNYW5hZ2Vt ZW50IEJJT1MgUmVmZXJlbmNlIENvZGUNCj4gKw0KPiArIENvcHlyaWdodCAoYykgMjAwNiAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsgRmlsZW5hbWU6ICAgIENQVTBJU1Qu QVNMDQo+ICsNCj4gKyBSZXZpc2lvbjogICAgUmVmZXIgdG8gUmVhZG1lDQo+ICsNCj4gKyBEYXRl OiAgICAgICAgUmVmZXIgdG8gUmVhZG1lDQo+ICsNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyBUaGlzIFByb2Nlc3NvciBQb3dl ciBNYW5hZ2VtZW50IEJJT1MgU291cmNlIENvZGUgaXMgZnVybmlzaGVkIHVuZGVyDQo+IGxpY2Vu c2UNCj4gKyBhbmQgbWF5IG9ubHkgYmUgdXNlZCBvciBjb3BpZWQgaW4gYWNjb3JkYW5jZSB3aXRo IHRoZSB0ZXJtcyBvZiB0aGUgbGljZW5zZS4NCj4gKyBUaGUgaW5mb3JtYXRpb24gaW4gdGhpcyBk b2N1bWVudCBpcyBmdXJuaXNoZWQgZm9yIGluZm9ybWF0aW9uYWwgdXNlIG9ubHksIGlzDQo+ICsg c3ViamVjdCB0byBjaGFuZ2Ugd2l0aG91dCBub3RpY2UsIGFuZCBzaG91bGQgbm90IGJlIGNvbnN0 cnVlZCBhcyBhDQo+IGNvbW1pdG1lbnQNCj4gKyBieSBJbnRlbCBDb3Jwb3JhdGlvbi4gSW50ZWwg Q29ycG9yYXRpb24gYXNzdW1lcyBubyByZXNwb25zaWJpbGl0eSBvciBsaWFiaWxpdHkNCj4gKyBm b3IgYW55IGVycm9ycyBvciBpbmFjY3VyYWNpZXMgdGhhdCBtYXkgYXBwZWFyIGluIHRoaXMgZG9j dW1lbnQgb3IgYW55DQo+ICsgc29mdHdhcmUgdGhhdCBtYXkgYmUgcHJvdmlkZWQgaW4gYXNzb2Np YXRpb24gd2l0aCB0aGlzIGRvY3VtZW50Lg0KPiArDQo+ICsgRXhjZXB0IGFzIHBlcm1pdHRlZCBi eSBzdWNoIGxpY2Vuc2UsIG5vIHBhcnQgb2YgdGhpcyBkb2N1bWVudCBtYXkgYmUNCj4gKyByZXBy b2R1Y2VkLCBzdG9yZWQgaW4gYSByZXRyaWV2YWwgc3lzdGVtLCBvciB0cmFuc21pdHRlZCBpbiBh bnkgZm9ybSBvciBieQ0KPiArIGFueSBtZWFucyB3aXRob3V0IHRoZSBleHByZXNzIHdyaXR0ZW4g Y29uc2VudCBvZiBJbnRlbCBDb3Jwb3JhdGlvbi4NCj4gKw0KPiArIFdBUk5JTkc6IFlvdSBhcmUg YXV0aG9yaXplZCBhbmQgbGljZW5zZWQgdG8gaW5zdGFsbCBhbmQgdXNlIHRoaXMgQklPUw0KPiBj b2RlDQo+ICsgT05MWSBvbiBhbiBJU1QgUEMuIFRoaXMgdXRpbGl0eSBtYXkgZGFtYWdlIGFueSBz eXN0ZW0gdGhhdCBkb2VzIG5vdA0KPiArIG1lZXQgdGhlc2UgcmVxdWlyZW1lbnRzLg0KPiArDQo+ ICsgICAgQW4gSVNUIFBDIGlzIGEgY29tcHV0ZXIgd2hpY2gNCj4gKyAgICAoMSkgSXMgY2FwYWJs ZSBvZiBzZWFtbGVzc2x5IGFuZCBhdXRvbWF0aWNhbGx5IHRyYW5zaXRpb25pbmcgYW1vbmcNCj4g KyAgICBtdWx0aXBsZSBwZXJmb3JtYW5jZSBzdGF0ZXMgKHBvdGVudGlhbGx5IG9wZXJhdGluZyBh dCBkaWZmZXJlbnQNCj4gKyAgICBlZmZpY2llbmN5IHJhdGluZ3MpIGJhc2VkIHVwb24gcG93ZXIg c291cmNlIGNoYW5nZXMsIEVORCB1c2VyDQo+ICsgICAgcHJlZmVyZW5jZSwgcHJvY2Vzc29yIHBl cmZvcm1hbmNlIGRlbWFuZCwgYW5kIHRoZXJtYWwgY29uZGl0aW9uczsgYW5kDQo+ICsgICAgKDIp IEluY2x1ZGVzIGFuIEludGVsIFBlbnRpdW0gSUkgcHJvY2Vzc29ycywgSW50ZWwgUGVudGl1bSBJ SUkNCj4gKyAgICBwcm9jZXNzb3IsIE1vYmlsZSBJbnRlbCBQZW50aXVtIElJSSBQcm9jZXNzb3It TSwgTW9iaWxlIEludGVsIFBlbnRpdW0gNA0KPiArICAgIFByb2Nlc3Nvci1NLCBJbnRlbCBQZW50 aXVtIE0gUHJvY2Vzc29yLCBvciBhbnkgb3RoZXIgZnV0dXJlIEludGVsDQo+ICsgICAgcHJvY2Vz c29ycyB0aGF0IGluY29ycG9yYXRlcyB0aGUgY2FwYWJpbGl0eSB0byB0cmFuc2l0aW9uIGJldHdl ZW4NCj4gKyAgICBkaWZmZXJlbnQgcGVyZm9ybWFuY2Ugc3RhdGVzIGJ5IGFsdGVyaW5nIHNvbWUs IG9yIGFueSBjb21iaW5hdGlvbiBvZiwNCj4gKyAgICB0aGUgZm9sbG93aW5nIHByb2Nlc3NvciBh dHRyaWJ1dGVzOiBjb3JlIHZvbHRhZ2UsIGNvcmUgZnJlcXVlbmN5LCBidXMNCj4gKyAgICBmcmVx dWVuY3ksIG51bWJlciBvZiBwcm9jZXNzb3IgY29yZXMgYXZhaWxhYmxlLCBvciBhbnkgb3RoZXIg YXR0cmlidXRlDQo+ICsgICAgdGhhdCBjaGFuZ2VzIHRoZSBlZmZpY2llbmN5IChpbnN0cnVjdGlv bnMvdW5pdCB0aW1lLXBvd2VyKSBhdCB3aGljaCB0aGUNCj4gKyAgICBwcm9jZXNzb3Igb3BlcmF0 ZXMuDQo+ICsNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gKw0KPiArTk9URVM6DQo+ICsgICAgKDEpIDxUT0RPPiAtIElGIHRoZSB0cmFwIHJh bmdlIGFuZCBwb3J0IGRlZmluaXRpb25zIGRvIG5vdCBtYXRjaCB0aG9zZQ0KPiArICAgIHNwZWNp ZmllZCBieSB0aGlzIHJlZmVyZW5jZSBjb2RlLCB0aGlzIGZpbGUgbXVzdCBiZSBtb2RpZmllZCBJ QVcgdGhlDQo+ICsgICAgaW5kaXZpZHVhbCBpbXBsbWVudGF0aW9uLg0KPiArDQo+ICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCj4gKw0KPiArDQo+ ICtEZWZpbml0aW9uQmxvY2sgKA0KPiArICAgICJDUFUwSVNULmFtbCIsDQo+ICsgICAgIlNTRFQi LA0KPiArICAgIDB4MDEsDQo+ICsgICAgIlBtUmVmIiwNCj4gKyAgICAiQ3B1MElzdCIsDQo+ICsg ICAgMHgzMDAwDQo+ICsgICAgKQ0KPiArew0KPiArICAgIEV4dGVybmFsIChcX1BSLkNQVTAsIERl dmljZU9iaikNCj4gKyAgICBFeHRlcm5hbCAoUERDMCkNCj4gKyAgICBFeHRlcm5hbCAoQ0ZHRCkN Cj4gKw0KPiArICAgIFNjb3BlKFxfUFIuQ1BVMCkNCj4gKyAgICB7DQo+ICsgICAgICAgIC8vT3Bl cmF0aW9uUmVnaW9uIChERUIwLCBTeXN0ZW1JTywgMHg4MCwgMSkgICAgLy9EQkcNCj4gKyAgICAg ICAgLy9GaWVsZCAoREVCMCwgQnl0ZUFjYyxOb0xvY2ssUHJlc2VydmUpICAgICAgICAvL0RCRw0K PiArICAgICAgICAvL3sgREJHOCwgOCx9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8vREJHDQo+ICsNCj4gKyAgICAgICAgTmFtZShfUFBDLCAwKSAgICAgICAgLy8gSW5pdGlhbGl6 ZSBhcyBBbGwgU3RhdGVzIEF2YWlsYWJsZS4NCj4gKw0KPiArICAgICAgICAvLyBOT1RFOiAgRm9y IENNUCBzeXN0ZW1zOyB0aGlzIHRhYmxlIGlzIG5vdCBsb2FkZWQgdW5sZXNzDQo+ICsgICAgICAg IC8vICAgICAgdGhlIHJlcXVpcmVkIGRyaXZlciBzdXBwb3J0IGlzIHByZXNlbnQuDQo+ICsgICAg ICAgIC8vICAgICAgU28sIHdlIGRvIG5vdCBjaGVjayBmb3IgdGhvc2UgY2FzZXMgaGVyZS4NCj4g KyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gICBDRkdEWzBdID0gR1YzIENhcGFibGUvRW5hYmxl ZA0KPiArICAgICAgICAvLyAgIFBEQ3hbMF0gID0gT1MgQ2FwYWJsZSBvZiBIYXJkd2FyZSBQLVN0 YXRlIGNvbnRyb2wNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgTWV0aG9kKF9QQ1QsMCkNCj4g KyAgICAgICAgew0KPiArICAgICAgICAgICAgSWYoTEFuZChBbmQoQ0ZHRCwweDAwMDEpLCBBbmQo UERDMCwweDAwMDEpKSkNCj4gKyAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAvL1N0 b3JlKDB4QTAsREJHOCkgLy9EQkcNCj4gKyAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgp ICAgIC8vIE5hdGl2ZSBNb2RlDQo+ICsgICAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAg ICAgICAgICBSZXNvdXJjZVRlbXBsYXRlKCl7UmVnaXN0ZXIoRmZpeGVkSFcsIDAsIDAsIDApfSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSgpe1JlZ2lzdGVyKEZmaXhl ZEhXLCAwLCAwLCAwKX0NCj4gKyAgICAgICAgICAgICAgICB9KQ0KPiArICAgICAgICAgICAgfQ0K PiArICAgICAgICAgICAgLy8gQE5PVEU6IElPIFRyYXAgaXMgbm90IHN1cHBvcnRlZC4gVGhlcmVm b3JlIHNob3VsZCBub3QgZXhwb3NlIGFueQ0KPiBJTyBpbnRlcmZhY2UgZm9yIF9QQ1QNCj4gKyAg ICAgICAgICAgIC8vIEZvciBhbGwgb3RoZXIgY2FzZXMsIHJlcG9ydCBjb250cm9sIHRocm91Z2gg dGhlDQo+ICsgICAgICAgICAgICAvLyBTTUkgaW50ZXJmYWNlLiAgKFRoZSBwb3J0IHVzZWQgZm9y IFNNTSBjb250cm9sIGlzIGZpeGVkIHVwDQo+ICsgICAgICAgICAgICAvLyBieSB0aGUgaW5pdGlh bGl6YXRpb24gY29kZS4pDQo+ICsgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgUmV0dXJu KFBhY2thZ2UoKSAgICAgICAgLy8gU01NIE1vZGUNCj4gKyAgICAgICAgICAgIHsNCj4gKyAgICAg ICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUoKXtSZWdpc3RlcihGZml4ZWRIVywgMCwgMCwgMCl9 LA0KPiArICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSgpe1JlZ2lzdGVyKEZmaXhlZEhX LCAwLCAwLCAwKX0NCj4gKyAgICAgICAgICAgIH0pDQo+ICsgICAgICAgIH0NCj4gKw0KPiArDQo+ ICsgICAgICAgIC8vIE5PVEU6ICBGb3IgQ01QIHN5c3RlbXM7IHRoaXMgdGFibGUgaXMgbm90IGxv YWRlZCBpZiBNUA0KPiArICAgICAgICAvLyAgICAgIGRyaXZlciBzdXBwb3J0IGlzIG5vdCBwcmVz ZW50IG9yIFAtU3RhdGUgYXJlIGRpc2FibGVkLg0KPiArICAgICAgICAvLw0KPiArICAgICAgICBN ZXRob2QoX1BTUywwKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAgICAgICAvLw0KPiArICAgICAg ICAgICAgLy8gUmVwb3J0IE5TUFAgaWY6DQo+ICsgICAgICAgICAgICAvLyAgICgxKSBHVjMgY2Fw YWJsZSAoTm90IGNoZWNrZWQsIHNlZSBhYm92ZS4pDQo+ICsgICAgICAgICAgICAvLyAgICgyKSBE cml2ZXIgc3VwcG9ydCBkaXJlY3QgaGFyZHdhcmUgY29udHJvbA0KPiArICAgICAgICAgICAgLy8g ICAoMykgTVAgZHJpdmVyIHN1cHBvcnQgcHJlc2VudCAoTm90IGNoZWNrZWQsIHNlZSBhYm92ZS4p DQo+ICsgICAgICAgICAgICAvLyBlbHNlOw0KPiArICAgICAgICAgICAgLy8gICBSZXBvcnQgU1BT Uw0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vICAgUERDeFswXSAgPSBPUyBD YXBhYmxlIG9mIEhhcmR3YXJlIFAtU3RhdGUgY29udHJvbA0KPiArICAgICAgICAgICAgLy8NCj4g KyAgICAgICAgICAgIElmKEFuZChQREMwLDB4MDAwMSkpew0KPiArICAgICAgICAgICAgICAgIC8v U3RvcmUoMHhCMCxEQkc4KSAvL0RCRw0KPiArICAgICAgICAgICAgICAgIFJldHVybihOUFNTKQ0K PiArICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgLy9TdG9yZSgweEJGLERCRzgpIC8vREJH DQo+ICsgICAgICAgICAgICAvLyBPdGhlcndpc2UsIHJlcG9ydCBTTU0gbW9kZQ0KPiArICAgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAgIFJldHVybihTUFNTKQ0KPiArDQo+ICsgICAgICAgIH0N Cj4gKw0KPiArICAgICAgICBOYW1lKFNQU1MsUGFja2FnZSgpDQo+ICsgICAgICAgIHsNCj4gKyAg ICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAw eDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBh Y2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0K PiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgw MDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAw LCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgw MDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAw fSwNCj4gKyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgw MDAwMDAwLCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAg ICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgw MDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBhY2th Z2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiAw eDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAw MDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAw eDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAw MDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwN Cj4gKyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAw MDAwLCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAg ICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAw MDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBhY2thZ2Uo KXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiAweDgw MDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAw LCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgw MDAwMDAwfSwNCj4gKyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAw LCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4g KyAgICAgICAgICAgIFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAw LCAweDgwMDAwMDAwLA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfSwNCj4gKyAgICAgICAgICAg IFBhY2thZ2UoKXsweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAweDgwMDAwMDAw LA0KPiAweDgwMDAwMDAwLCAweDgwMDAwMDAwfQ0KPiArICAgICAgICB9KQ0KPiArDQo+ICsgICAg ICAgIE5hbWUoTlBTUyxQYWNrYWdlKCkNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgICAgUGFj a2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+ IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2FnZSgpezB4ODAw MDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAs IDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAw MDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9 LA0KPiArICAgICAgICAgICAgUGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAw MDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAg ICAgICAgUGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAw MDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2Fn ZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4 ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2FnZSgpezB4ODAwMDAw MDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4 ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAw MDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0K PiArICAgICAgICAgICAgUGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAw MDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAg ICAgUGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAw MDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2FnZSgp ezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAw MDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2FnZSgpezB4ODAwMDAwMDAs IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAw MDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAs IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiAr ICAgICAgICAgICAgUGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAs IDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAg UGFja2FnZSgpezB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAs DQo+IDB4ODAwMDAwMDAsIDB4ODAwMDAwMDB9LA0KPiArICAgICAgICAgICAgUGFja2FnZSgpezB4 ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+IDB4ODAwMDAw MDAsIDB4ODAwMDAwMDB9DQo+ICsgICAgICAgIH0pDQo+ICsNCj4gKyAgICAgICAgLy8gVGhlIF9Q U0Qgb2JqZWN0IHByb3ZpZGVzIGluZm9ybWF0aW9uIHRvIHRoZSBPU1BNIHJlbGF0ZWQNCj4gKyAg ICAgICAgLy8gdG8gUC1TdGF0ZSBjb29yZGluYXRpb24gYmV0d2VlbiBwcm9jZXNzb3JzIGluIGEg bXVsdGktcHJvY2Vzc29yDQo+ICsgICAgICAgIC8vIGNvbmZpZ3VyYXRpb25zLg0KPiArICAgICAg ICAvLw0KPiArICAgICAgICBNZXRob2QoX1BTRCwwKQ0KPiArICAgICAgICB7DQo+ICsgICAgICAg ICAgICAvLw0KPiArICAgICAgICAgICAgLy8gSUYgQ01QIGlzIHN1cHBvcnRlZC9lbmFibGVkDQo+ ICsgICAgICAgICAgICAvLyAgIElGIHF1YWQgY29yZSBwcm9jZXNzb3INCj4gKyAgICAgICAgICAg IC8vICAgICBJRiBQRENbMTFdDQo+ICsgICAgICAgICAgICAvLyAgICAgICAgIFJlcG9ydCA0IHBy b2Nlc3NvcnMgYW5kIEhXX0FMTCBhcyB0aGUgY29vcmRpbmF0aW9uIHR5cGUNCj4gKyAgICAgICAg ICAgIC8vICAgICBFTFNFDQo+ICsgICAgICAgICAgICAvLyAgICAgICAgIFJlcG9ydCA0IHByb2Nl c3NvcnMgYW5kIFNXX0FMTCBhcyB0aGUgY29vcmRpbmF0aW9uIHR5cGUNCj4gKyAgICAgICAgICAg IC8vICAgRUxTRQ0KPiArICAgICAgICAgICAgLy8gICAgIElGIFBEQ1sxMV0NCj4gKyAgICAgICAg ICAgIC8vICAgICAgICAgUmVwb3J0IDIgcHJvY2Vzc29ycyBhbmQgSFdfQUxMIGFzIHRoZSBjb29y ZGluYXRpb24gdHlwZQ0KPiArICAgICAgICAgICAgLy8gICAgIEVMU0UNCj4gKyAgICAgICAgICAg IC8vICAgICAgICAgUmVwb3J0IDIgcHJvY2Vzc29ycyBhbmQgU1dfQUxMIGFzIHRoZSBjb29yZGlu YXRpb24gdHlwZQ0KPiArICAgICAgICAgICAgLy8gRUxTRQ0KPiArICAgICAgICAgICAgLy8gICAg UmVwb3J0IDEgcHJvY2Vzc29yIGFuZCBTV19BTEwgYXMgdGhlIGNvb3JkaW5hdGlvbiB0eXBlDQo+ ICsgICAgICAgICAgICAvLyAgICAoRG9tYWluIDApDQo+ICsgICAgICAgICAgICAvLw0KPiArICAg ICAgICAgICAgLy8gICBDRkdEWzI0XSA9IFR3byBvciBtb3JlIGNvcmVzIGVuYWJsZWQNCj4gKyAg ICAgICAgICAgIC8vICAgQ0ZHRFsyM10gPSBGb3VyIGNvcmVzIGVuYWJsZWQNCj4gKyAgICAgICAg ICAgIC8vICAgUERDeFsxMV0gPSBIYXJkd2FyZSBjb29yZGluYXRpb24gd2l0aCBoYXJkd2FyZSBm ZWVkYmFjaw0KPiArICAgICAgICAgICAgLy8NCj4gKw0KPiArICAgICAgICAgICAgSWYoQW5kKENG R0QsMHgxMDAwMDAwKSkgICAgLy8gQ01QIEVuYWJsZWQuDQo+ICsgICAgICAgICAgICB7DQo+ICsg ICAgICAgICAgICAgIElmKEFuZChDRkdELDB4ODAwMDAwKSkgICAgLy8gMiBvciA0IHByb2Nlc3Mu DQo+ICsgICAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICAgSWYoQW5kKFBEQzAs MHgwODAwKSkNCj4gKyAgICAgICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4oUGFja2FnZSgpeyAgICAvLyBIV19BTEwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UoKXsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA1LCAgICAgICAg ICAgICAgLy8gIyBlbnRyaWVzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICAg ICAgICAgICAgICAvLyBSZXZpc2lvbi4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAw LCAgICAgICAgICAgICAgLy8gRG9tYWluICMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHhGRSwgICAgICAgICAgIC8vIENvb3JkIFR5cGUtIEhXX0FMTC4NCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICA0ICAgICAgICAgICAgICAgLy8gIyBwcm9jZXNzb3JzLg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAgICAgIH0pDQo+ICsg ICAgICAgICAgICAgICAgICB9IC8vIElmKEFuZChQREMwLDB4MDgwMCkpDQo+ICsgICAgICAgICAg ICAgICAgICAgUmV0dXJuKFBhY2thZ2UoKXsgICAgICAgIC8vIFNXX0FMTA0KPiArICAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSgpew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgNSwgICAg ICAgICAgICAgICAgICAvLyAjIGVudHJpZXMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAw LCAgICAgICAgICAgICAgICAgIC8vIFJldmlzaW9uLg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgMCwgICAgICAgICAgICAgICAgICAvLyBEb21haW4gIy4NCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkMsICAgICAgICAgICAgICAgLy8gQ29vcmQgVHlwZS0gU1dfQUxMLg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAvLyAjIHByb2Nlc3NvcnMu DQo+ICsgICAgICAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgICAgICAgIH0pDQo+ ICsgICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAgICAgICAgIFJldHVybihQ YWNrYWdlKCl7ICAgICAgICAvLyBIV19BTEwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBQYWNr YWdlKCl7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIDUsICAgICAgICAgICAgICAgICAg Ly8gIyBlbnRyaWVzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAg ICAgICAgIC8vIFJldmlzaW9uLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAg ICAgICAgICAgICAgIC8vIERvbWFpbiAjLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAw eEZFLCAgICAgICAgICAgICAgIC8vIENvb3JkIFR5cGUtIEhXX0FMTC4NCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAvLyAjIHByb2Nlc3NvcnMuDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAgfSkNCj4gKyAgICAg ICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICB9ICAgIC8vIElmKEFuZChDRkdELDB4MTAwMDAw MCkpICAgIC8vIENNUCBFbmFibGVkLg0KPiArDQo+ICsgICAgICAgICAgICBSZXR1cm4oUGFja2Fn ZSgpeyAgICAgICAgICAgICAgLy8gU1dfQUxMDQo+ICsgICAgICAgICAgICAgICAgUGFja2FnZSgp ew0KPiArICAgICAgICAgICAgICAgICAgICA1LCAgICAgICAgICAgICAgICAgICAgICAgIC8vICMg ZW50cmllcy4NCj4gKyAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAg ICAvLyBSZXZpc2lvbi4NCj4gKyAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAg ICAgICAgICAvLyBEb21haW4gIy4NCj4gKyAgICAgICAgICAgICAgICAgICAgMHhGQywgICAgICAg ICAgICAgICAgICAgICAvLyBDb29yZCBUeXBlLSBTV19BTEwuDQo+ICsgICAgICAgICAgICAgICAg ICAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgLy8gIyBwcm9jZXNzb3JzLg0KPiArICAgICAg ICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgIH0pDQo+ICsgICAgICAgIH0gLy8gTWV0aG9kKF9Q U0QsMCkNCj4gKyAgICB9IC8vIFNjb3BlKFxfUFIuQ1BVMCkNCj4gK30gLy8gRW5kIG9mIERlZmlu aXRpb24gQmxvY2sNCj4gKw0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFnZQ0KPiBtZW50 L0FjcGlUYWJsZXMvU3NkdC9DcHUwVHN0LmFzbA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdlDQo+IG1lbnQvQWNwaVRh Ymxlcy9Tc2R0L0NwdTBUc3QuYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjFkNjViMGRjMGQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29u L0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFn ZQ0KPiBtZW50L0FjcGlUYWJsZXMvU3NkdC9DcHUwVHN0LmFzbA0KPiBAQCAtMCwwICsxLDIzNSBA QA0KPiArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiArDQo+ICsNCj4gKyBJbnRlbCBTaWx2ZXJtb250IFByb2Nlc3NvciBQb3dlciBNYW5hZ2VtZW50 IEJJT1MgUmVmZXJlbmNlIENvZGUNCj4gKw0KPiArIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTQs IEludGVsIENvcnBvcmF0aW9uDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsgRmlsZW5hbWU6ICAgICAgQ1BVMFRTVC5B U0wNCj4gKw0KPiArIFJldmlzaW9uOiAgICAgIFJlZmVyIHRvIFJlYWRtZQ0KPiArDQo+ICsgRGF0 ZTogICAgICAgICAgUmVmZXIgdG8gUmVhZG1lDQo+ICsNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyBUaGlzIFByb2Nlc3NvciBQ b3dlciBNYW5hZ2VtZW50IEJJT1MgU291cmNlIENvZGUgaXMgZnVybmlzaGVkIHVuZGVyDQo+IGxp Y2Vuc2UNCj4gKyBhbmQgbWF5IG9ubHkgYmUgdXNlZCBvciBjb3BpZWQgaW4gYWNjb3JkYW5jZSB3 aXRoIHRoZSB0ZXJtcyBvZiB0aGUgbGljZW5zZS4NCj4gKyBUaGUgaW5mb3JtYXRpb24gaW4gdGhp cyBkb2N1bWVudCBpcyBmdXJuaXNoZWQgZm9yIGluZm9ybWF0aW9uYWwgdXNlIG9ubHksIGlzDQo+ ICsgc3ViamVjdCB0byBjaGFuZ2Ugd2l0aG91dCBub3RpY2UsIGFuZCBzaG91bGQgbm90IGJlIGNv bnN0cnVlZCBhcyBhDQo+IGNvbW1pdG1lbnQNCj4gKyBieSBJbnRlbCBDb3Jwb3JhdGlvbi4gSW50 ZWwgQ29ycG9yYXRpb24gYXNzdW1lcyBubyByZXNwb25zaWJpbGl0eSBvciBsaWFiaWxpdHkNCj4g KyBmb3IgYW55IGVycm9ycyBvciBpbmFjY3VyYWNpZXMgdGhhdCBtYXkgYXBwZWFyIGluIHRoaXMg ZG9jdW1lbnQgb3IgYW55DQo+ICsgc29mdHdhcmUgdGhhdCBtYXkgYmUgcHJvdmlkZWQgaW4gYXNz b2NpYXRpb24gd2l0aCB0aGlzIGRvY3VtZW50Lg0KPiArDQo+ICsgRXhjZXB0IGFzIHBlcm1pdHRl ZCBieSBzdWNoIGxpY2Vuc2UsIG5vIHBhcnQgb2YgdGhpcyBkb2N1bWVudCBtYXkgYmUNCj4gKyBy ZXByb2R1Y2VkLCBzdG9yZWQgaW4gYSByZXRyaWV2YWwgc3lzdGVtLCBvciB0cmFuc21pdHRlZCBp biBhbnkgZm9ybSBvciBieQ0KPiArIGFueSBtZWFucyB3aXRob3V0IHRoZSBleHByZXNzIHdyaXR0 ZW4gY29uc2VudCBvZiBJbnRlbCBDb3Jwb3JhdGlvbi4NCj4gKw0KPiArIFdBUk5JTkc6IFlvdSBh cmUgYXV0aG9yaXplZCBhbmQgbGljZW5zZWQgdG8gaW5zdGFsbCBhbmQgdXNlIHRoaXMgQklPUw0K PiBjb2RlDQo+ICsgT05MWSBvbiBhbiBJU1QgUEMuIFRoaXMgdXRpbGl0eSBtYXkgZGFtYWdlIGFu eSBzeXN0ZW0gdGhhdCBkb2VzIG5vdA0KPiArIG1lZXQgdGhlc2UgcmVxdWlyZW1lbnRzLg0KPiAr DQo+ICsgICAgICAgIEFuIElTVCBQQyBpcyBhIGNvbXB1dGVyIHdoaWNoDQo+ICsgICAgICAgICgx KSBJcyBjYXBhYmxlIG9mIHNlYW1sZXNzbHkgYW5kIGF1dG9tYXRpY2FsbHkgdHJhbnNpdGlvbmlu ZyBhbW9uZw0KPiArICAgICAgICBtdWx0aXBsZSBwZXJmb3JtYW5jZSBzdGF0ZXMgKHBvdGVudGlh bGx5IG9wZXJhdGluZyBhdCBkaWZmZXJlbnQNCj4gKyAgICAgICAgZWZmaWNpZW5jeSByYXRpbmdz KSBiYXNlZCB1cG9uIHBvd2VyIHNvdXJjZSBjaGFuZ2VzLCBlbmQgdXNlcg0KPiArICAgICAgICBw cmVmZXJlbmNlLCBwcm9jZXNzb3IgcGVyZm9ybWFuY2UgZGVtYW5kLCBhbmQgdGhlcm1hbCBjb25k aXRpb25zOw0KPiBhbmQNCj4gKyAgICAgICAgKDIpIEluY2x1ZGVzIGFuIEludGVsIFBlbnRpdW0g SUkgcHJvY2Vzc29ycywgSW50ZWwgUGVudGl1bSBJSUkNCj4gKyAgICAgICAgcHJvY2Vzc29yLCBN b2JpbGUgSW50ZWwgUGVudGl1bSBJSUkgUHJvY2Vzc29yLU0sIE1vYmlsZSBJbnRlbCBQZW50aXVt IDQNCj4gKyAgICAgICAgUHJvY2Vzc29yLU0sIEludGVsIFBlbnRpdW0gTSBQcm9jZXNzb3IsIG9y IGFueSBvdGhlciBmdXR1cmUgSW50ZWwNCj4gKyAgICAgICAgcHJvY2Vzc29ycyB0aGF0IGluY29y cG9yYXRlcyB0aGUgY2FwYWJpbGl0eSB0byB0cmFuc2l0aW9uIGJldHdlZW4NCj4gKyAgICAgICAg ZGlmZmVyZW50IHBlcmZvcm1hbmNlIHN0YXRlcyBieSBhbHRlcmluZyBzb21lLCBvciBhbnkgY29t YmluYXRpb24gb2YsDQo+ICsgICAgICAgIHRoZSBmb2xsb3dpbmcgcHJvY2Vzc29yIGF0dHJpYnV0 ZXM6IGNvcmUgdm9sdGFnZSwgY29yZSBmcmVxdWVuY3ksIGJ1cw0KPiArICAgICAgICBmcmVxdWVu Y3ksIG51bWJlciBvZiBwcm9jZXNzb3IgY29yZXMgYXZhaWxhYmxlLCBvciBhbnkgb3RoZXIgYXR0 cmlidXRlDQo+ICsgICAgICAgIHRoYXQgY2hhbmdlcyB0aGUgZWZmaWNpZW5jeSAoaW5zdHJ1Y3Rp b25zL3VuaXQgdGltZS1wb3dlcikgYXQgd2hpY2ggdGhlDQo+ICsgICAgICAgIHByb2Nlc3NvciBv cGVyYXRlcy4NCj4gKw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiArDQo+ICtOT1RFUzoNCj4gKyAgICAgICAgKDEpIDxUT0RPPiAtIElGIHRo ZSB0cmFwIHJhbmdlIGFuZCBwb3J0IGRlZmluaXRpb25zIGRvIG5vdCBtYXRjaCB0aG9zZQ0KPiAr ICAgICAgICBzcGVjaWZpZWQgYnkgdGhpcyByZWZlcmVuY2UgY29kZSwgdGhpcyBmaWxlIG11c3Qg YmUgbW9kaWZpZWQgSUFXIHRoZQ0KPiArICAgICAgICBpbmRpdmlkdWFsIGltcGxtZW50YXRpb24u DQo+ICsNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0qLw0KPiArDQo+ICtEZWZpbml0aW9uQmxvY2soDQo+ICsgICAgICAgICJDUFUwVFNULmFtbCIs DQo+ICsgICAgICAgICJTU0RUIiwNCj4gKyAgICAgICAgMHgwMSwNCj4gKyAgICAgICAgIlBtUmVm IiwNCj4gKyAgICAgICAgIkNwdTBUc3QiLA0KPiArICAgICAgICAweDMwMDANCj4gKyAgICAgICAg KQ0KPiArew0KPiArICAgICAgICBFeHRlcm5hbChcX1BSLkNQVTAsIERldmljZU9iaikNCj4gKyAg ICAgICAgRXh0ZXJuYWwoUERDMCkNCj4gKyAgICAgICAgRXh0ZXJuYWwoQ0ZHRCkNCj4gKyAgICAg ICAgRXh0ZXJuYWwoX1BTUykNCj4gKw0KPiArICAgICAgICBTY29wZShcX1BSLkNQVTApDQo+ICsg ICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICBOYW1lKF9UUEMsIDApICAgLy8gQWxsIFQtU3Rh dGVzIGFyZSBhdmFpbGFibGUNCj4gKw0KPiArICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAg ICAgICAgICAgLy8gVC1TdGF0ZSBDb250cm9sL1N0YXR1cyBpbnRlcmZhY2UNCj4gKyAgICAgICAg ICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgIE1ldGhvZChfUFRDLCAwKQ0KPiArICAgICAg ICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAvLyBJRiBPU1BNIGlzIGNhcGFibGUgb2YgZGlyZWN0IGFjY2VzcyB0byBN U1INCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIFJlcG9ydCBNU1IgaW50ZXJmYWNl DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLyBFTFNFDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAvLyAgICBSZXBvcnQgSS9PIGludGVyZmFjZQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICBQREN4WzJdID0gT1NQTSBp cyBjYXBhYmxlIG9mIGRpcmVjdCBhY2Nlc3MgdG8gT24NCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIC8vICAgICAgICAgICAgICBEZW1hbmQgdGhyb3R0bGluZyBNU1INCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBJZihBbmQoUERDMCwg MHgwMDA0KSkgew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUGFj a2FnZSgpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNv dXJjZVRlbXBsYXRlKCl7UmVnaXN0ZXIoRkZpeGVkSFcsIDAsIDAsIDApfSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlKCl7UmVnaXN0 ZXIoRkZpeGVkSFcsIDAsIDAsIDApfQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9KQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAgICAg ICAgfQ0KPiArDQo+ICsgICAgICAgICAgICAgICAgLy8gX1RTUyBwYWNrYWdlIGZvciBJL08gcG9y dCBiYXNlZCBULVN0YXRlIGNvbnRyb2wNCj4gKyAgICAgICAgICAgICAgICAvLyAiUG93ZXIiIGZp ZWxkcyBhcmUgcmVwbGFjZWQgd2l0aCByZWFsIHZhbHVlcyBieSB0aGUgZmlyc3QNCj4gKyAgICAg ICAgICAgICAgICAvLyBjYWxsIG9mIF9UU1MgbWV0aG9kLg0KPiArICAgICAgICAgICAgICAgIC8v DQo+ICsgICAgICAgICAgICAgICAgTmFtZShUU1NJLCBQYWNrYWdlKCkgew0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKCl7MTAwLCAxMDAwLCAwLCAweDAwLCAwfSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgpeyA4OCwgIDg3NSwg MCwgMHgwRiwgMH0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2Uo KXsgNzUsICA3NTAsIDAsIDB4MEUsIDB9LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQYWNrYWdlKCl7IDYzLCAgNjI1LCAwLCAweDBELCAwfSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUGFja2FnZSgpeyA1MCwgIDUwMCwgMCwgMHgwQywgMH0sDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKXsgMzgsICAzNzUsIDAsIDB4 MEIsIDB9LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKCl7IDI1 LCAgMjUwLCAwLCAweDBBLCAwfSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UGFja2FnZSgpeyAxMywgIDEyNSwgMCwgMHgwOSwgMH0NCj4gKyAgICAgICAgICAgICAgICB9KQ0K PiArDQo+ICsgICAgICAgICAgICAgICAgLy8gX1RTUyBwYWNrYWdlIGZvciBNU1IgYmFzZWQgVC1T dGF0ZSBjb250cm9sDQo+ICsgICAgICAgICAgICAgICAgLy8gIlBvd2VyIiBmaWVsZHMgYXJlIHJl cGxhY2VkIHdpdGggcmVhbCB2YWx1ZXMgYnkgdGhlIGZpcnN0DQo+ICsgICAgICAgICAgICAgICAg Ly8gY2FsbCBvZiBfVFNTIG1ldGhvZC4NCj4gKyAgICAgICAgICAgICAgICAvLw0KPiArICAgICAg ICAgICAgICAgIE5hbWUoVFNTTSwgUGFja2FnZSgpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSgpezEwMCwgMTAwMCwgMCwgMHgwMCwgMH0sDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKXsgODgsICA4NzUsIDAsIDB4MUUsIDB9 LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKCl7IDc1LCAgNzUw LCAwLCAweDFDLCAwfSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSgpeyA2MywgIDYyNSwgMCwgMHgxQSwgMH0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UoKXsgNTAsICA1MDAsIDAsIDB4MTgsIDB9LA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKCl7IDM4LCAgMzc1LCAwLCAweDE2LCAwfSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgpeyAyNSwgIDI1MCwgMCwg MHgxNCwgMH0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoKXsg MTMsICAxMjUsIDAsIDB4MTIsIDB9DQo+ICsgICAgICAgICAgICAgICAgfSkNCj4gKw0KPiArICAg ICAgICAgICAgICAgIE5hbWUoVFNTRiwgMCkgICAvLyBGbGFnIGZvciBUU1NJL1RTU00gaW5pdGlh bGl6YXRpb24NCj4gKw0KPiArICAgICAgICAgICAgICAgIE1ldGhvZChfVFNTLCAwKQ0KPiArICAg ICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSAiUG93 ZXIiIGZpZWxkcyBvZiBUU1NJL1RTU00gd2l0aCB0aGUgTEZNDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAvLyBwb3dlciBkYXRhIElGIF9QU1MgaXMgYXZhaWxhYmxlDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgSUYgKExBbmQoTE5v dChUU1NGKSxDb25kUmVmT2YoX1BTUykpKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgew0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShfUFNTLCBMb2NhbDApDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFNpemVPZihMb2NhbDApLCBM b2NhbDEpICAgLy8gX1BTUyBzaXplDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IERlY3JlbWVudChMb2NhbDEpICAgICAgICAgICAgICAgLy8gSW5kZXggb2YgTEZNDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKERlcmVmT2YoSW5kZXgoRGVyZWZPZihJ bmRleChMb2NhbDAsTG9jYWwxKSksMSkpLA0KPiBMb2NhbDIpICAvLyBMRk0gUG93ZXINCj4gKw0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgwLCBMb2NhbDMpDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxlKExMZXNzKExvY2FsMywgU2l6ZU9m KFRTU0kpKSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKERpdmlkZShNdWx0aXBseShM b2NhbDIsIFN1YnRyYWN0KDgsIExvY2FsMykpLCA4KSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQpICAgICAgICAgICAvLyBQb3dlciBmb3Ig dGhpcyBUU1NJL1RTU00gZW50cnkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZShMb2NhbDQsSW5kZXgoRGVyZWZPZihJbmRleChUU1NJLExvY2FsMykpLDEp KQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2Fs NCxJbmRleChEZXJlZk9mKEluZGV4KFRTU00sTG9jYWwzKSksMSkpDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50KExvY2FsMykNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZShPbmVzLCBUU1NGKSAgICAgICAgICAgICAgIC8vIFRTU0kvVFNTTSBhcmUgdXBk YXRlZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIElGIE9TUE0gaXMgY2FwYWJs ZSBvZiBkaXJlY3QgYWNjZXNzIHRvIE1TUg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8g ICAgUmVwb3J0IFRTU00NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVMU0UNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIC8vICAgIFJlcG9ydCBUU1NJDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgSWYoQW5kKFBEQzAsIDB4 MDAwNCkpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybihUU1NNKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAg fQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFRTU0kpDQo+ICsgICAgICAgICAg ICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAgICAgIE1ldGhvZChfVERMLCAwKQ0KPiArICAgICAg ICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgU3RvcmUgKCJDcHUwOiBfVERMIENhbGxlZCIs IERlYnVnKQ0KPiArICAgICAgICAgICAgICAgIE5hbWUgKCBMRk1JLCAwKQ0KPiArICAgICAgICAg ICAgICAgIFN0b3JlIChTaXplT2YoVFNTTSksIExGTUkpDQo+ICsgICAgICAgICAgICAgICAgRGVj cmVtZW50KExGTUkpICAgIC8vIEluZGV4IG9mIExGTSBlbnRyeSBpbiBUU1NNDQo+ICsgICAgICAg ICAgICAgICAgUmV0dXJuKExGTUkpDQo+ICsgICAgICAgICAgICAgIH0NCj4gKw0KPiArICAgICAg ICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgICAgLy8gVC1TdGF0ZSBEZXBlbmRlbmN5DQo+ ICsgICAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICBNZXRob2QoX1RTRCwgMCkN Cj4gKyAgICAgICAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvLw0KPiAr ICAgICAgLy8gSUYgZm91ciBjb3JlcyBhcmUgc3VwcG9ydGVkL2VuYWJsZWQgJiYgIShkaXJlY3Qg YWNjZXNzIHRvIE1TUikNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIFJlcG9ydCA0 IHByb2Nlc3NvcnMgYW5kIFNXX0FOWSBhcyB0aGUgY29vcmRpbmF0aW9uIHR5cGUNCj4gKyAgICAg IC8vIEVMU0UgSUYgdHdvIGNvcmVzIGFyZSBzdXBwb3J0ZWQvZW5hYmxlZCAmJiAhKGRpcmVjdCBh Y2Nlc3MgdG8gTVNSKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgUmVwb3J0IDIg cHJvY2Vzc29ycyBhbmQgU1dfQU5ZIGFzIHRoZSBjb29yZGluYXRpb24gdHlwZQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgLy8gRUxTRQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgLy8g ICBSZXBvcnQgMSBwcm9jZXNzb3IgYW5kIFNXX0FMTCBhcyB0aGUgY29vcmRpbmF0aW9uIHR5cGUN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAvLyAgQ0ZHRFsyM10gPSBGb3VyIGNvcmVzIGVuYWJsZWQNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIC8vICBDRkdEWzI0XSA9IFR3byBvciBtb3JlIGNvcmVzIGVuYWJsZWQNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIC8vICBQREN4WzJdID0gT1NQTSBpcyBjYXBhYmxlIG9mIGRpcmVj dCBhY2Nlc3MgdG8gT24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAg ICBEZW1hbmQgdGhyb3R0bGluZyBNU1INCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8vDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKEFuZChDRkdELDB4MDgwMDAwMCksTE5v dChBbmQoUERDMCw0KSkpKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgew0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgpeyAgICAgICAvLyBTV19B TlkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKCl7 DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1LCAg ICAgICAgICAgICAgICAvLyAjIGVudHJpZXMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAvLyBSZXZpc2lvbi4NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICAgICAg ICAgICAgICAgIC8vIERvbWFpbiAjLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHhGRCwgICAgICAgICAgIC8vIENvb3JkIFR5cGUtIFNXX0FOWQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAgICAg ICAgICAgICAgICAgICAvLyAjIHByb2Nlc3NvcnMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 KQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgSWYoTEFuZChBbmQoQ0ZHRCwweDEwMDAwMDApLExOb3QoQW5kKFBEQzAsNCkpKSkNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuKFBhY2thZ2UoKXsgICAgICAgLy8gU1dfQU5ZDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgpew0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSwgICAgICAgICAgICAgICAgLy8gIyBlbnRy aWVzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MCwgICAgICAgICAgICAgICAgLy8gUmV2aXNpb24uDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAvLyBEb21haW4gIy4N Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkQs ICAgICAgICAgICAvLyBDb29yZCBUeXBlLSBTV19BTlkNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgLy8gIyBwcm9j ZXNzb3JzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKCl7ICAg ICAgICAgICAgICAgLy8gU1dfQUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBhY2thZ2UoKXsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1 LCAgICAgICAgICAgICAgICAgICAgICAgIC8vICMgZW50cmllcy4NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJl dmlzaW9uLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICAg ICAgICAgICAgICAgICAgICAgICAgLy8gRG9tYWluICMuDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHhGQywgICAgICAgICAgICAgICAgICAgLy8gQ29vcmQgVHlw ZS0gU1dfQUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8vICMgcHJvY2Vzc29ycy4NCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgfSkNCj4g KyAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgIH0NCj4gK30gLy8gRW5kIG9mIERlZmluaXRp b24gQmxvY2sNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvUG93ZXJNYW5hZ2UNCj4gbWVudC9BY3BpVGFi bGVzL1NzZHQvQ3B1UG0uYXNsDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBr Zy9WYWxsZXlWaWV3MlNvYy9DUFUvUG93ZXJNYW5hZ2UNCj4gbWVudC9BY3BpVGFibGVzL1NzZHQv Q3B1UG0uYXNsDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjNk MzA5NjVjOWYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL0NQVS9Qb3dlck1hbmFnZQ0KPiBtZW50L0Fj cGlUYWJsZXMvU3NkdC9DcHVQbS5hc2wNCj4gQEAgLTAsMCArMSw3OTMgQEANCj4gKy8qLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArDQo+ICsgSW50ZWwgU2lsdmVybW9udCBQcm9jZXNzb3Ig UG93ZXIgTWFuYWdlbWVudCBCSU9TIFJlZmVyZW5jZSBDb2RlDQo+ICsNCj4gKyBDb3B5cmlnaHQg KGMpIDIwMDYgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbg0KPiArDQo+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArIEZpbGVuYW1l OiAgICBDUFVQTS5BU0wNCj4gKw0KPiArIFJldmlzaW9uOiAgICBSZWZlciB0byBSZWFkbWUNCj4g Kw0KPiArIERhdGU6ICAgICAgICBSZWZlciB0byBSZWFkbWUNCj4gKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gKw0KPiArIFRoaXMgUHJvY2Vzc29yIFBvd2VyIE1hbmFnZW1lbnQgQklPUyBTb3Vy Y2UgQ29kZSBpcyBmdXJuaXNoZWQgdW5kZXINCj4gbGljZW5zZQ0KPiArIGFuZCBtYXkgb25seSBi ZSB1c2VkIG9yIGNvcGllZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlcm1zIG9mIHRoZSBsaWNl bnNlLg0KPiArIFRoZSBpbmZvcm1hdGlvbiBpbiB0aGlzIGRvY3VtZW50IGlzIGZ1cm5pc2hlZCBm b3IgaW5mb3JtYXRpb25hbCB1c2Ugb25seSwgaXMNCj4gKyBzdWJqZWN0IHRvIGNoYW5nZSB3aXRo b3V0IG5vdGljZSwgYW5kIHNob3VsZCBub3QgYmUgY29uc3RydWVkIGFzIGENCj4gY29tbWl0bWVu dA0KPiArIGJ5IEludGVsIENvcnBvcmF0aW9uLiBJbnRlbCBDb3Jwb3JhdGlvbiBhc3N1bWVzIG5v IHJlc3BvbnNpYmlsaXR5IG9yIGxpYWJpbGl0eQ0KPiArIGZvciBhbnkgZXJyb3JzIG9yIGluYWNj dXJhY2llcyB0aGF0IG1heSBhcHBlYXIgaW4gdGhpcyBkb2N1bWVudCBvciBhbnkNCj4gKyBzb2Z0 d2FyZSB0aGF0IG1heSBiZSBwcm92aWRlZCBpbiBhc3NvY2lhdGlvbiB3aXRoIHRoaXMgZG9jdW1l bnQuDQo+ICsNCj4gKyBFeGNlcHQgYXMgcGVybWl0dGVkIGJ5IHN1Y2ggbGljZW5zZSwgbm8gcGFy dCBvZiB0aGlzIGRvY3VtZW50IG1heSBiZQ0KPiArIHJlcHJvZHVjZWQsIHN0b3JlZCBpbiBhIHJl dHJpZXZhbCBzeXN0ZW0sIG9yIHRyYW5zbWl0dGVkIGluIGFueSBmb3JtIG9yIGJ5DQo+ICsgYW55 IG1lYW5zIHdpdGhvdXQgdGhlIGV4cHJlc3Mgd3JpdHRlbiBjb25zZW50IG9mIEludGVsIENvcnBv cmF0aW9uLg0KPiArDQo+ICsgV0FSTklORzogWW91IGFyZSBhdXRob3JpemVkIGFuZCBsaWNlbnNl ZCB0byBpbnN0YWxsIGFuZCB1c2UgdGhpcyBCSU9TDQo+IGNvZGUNCj4gKyBPTkxZIG9uIGFuIElT VCBQQy4gVGhpcyB1dGlsaXR5IG1heSBkYW1hZ2UgYW55IHN5c3RlbSB0aGF0IGRvZXMgbm90DQo+ ICsgbWVldCB0aGVzZSByZXF1aXJlbWVudHMuDQo+ICsNCj4gKyAgICBBbiBJU1QgUEMgaXMgYSBj b21wdXRlciB3aGljaA0KPiArICAgICgxKSBJcyBjYXBhYmxlIG9mIHNlYW1sZXNzbHkgYW5kIGF1 dG9tYXRpY2FsbHkgdHJhbnNpdGlvbmluZyBhbW9uZw0KPiArICAgIG11bHRpcGxlIHBlcmZvcm1h bmNlIHN0YXRlcyAocG90ZW50aWFsbHkgb3BlcmF0aW5nIGF0IGRpZmZlcmVudA0KPiArICAgIGVm ZmljaWVuY3kgcmF0aW5ncykgYmFzZWQgdXBvbiBwb3dlciBzb3VyY2UgY2hhbmdlcywgRU5EIHVz ZXINCj4gKyAgICBwcmVmZXJlbmNlLCBwcm9jZXNzb3IgcGVyZm9ybWFuY2UgZGVtYW5kLCBhbmQg dGhlcm1hbCBjb25kaXRpb25zOyBhbmQNCj4gKyAgICAoMikgSW5jbHVkZXMgYW4gSW50ZWwgUGVu dGl1bSBJSSBwcm9jZXNzb3JzLCBJbnRlbCBQZW50aXVtIElJSQ0KPiArICAgIHByb2Nlc3Nvciwg TW9iaWxlIEludGVsIFBlbnRpdW0gSUlJIFByb2Nlc3Nvci1NLCBNb2JpbGUgSW50ZWwgUGVudGl1 bSA0DQo+ICsgICAgUHJvY2Vzc29yLU0sIEludGVsIFBlbnRpdW0gTSBQcm9jZXNzb3IsIG9yIGFu eSBvdGhlciBmdXR1cmUgSW50ZWwNCj4gKyAgICBwcm9jZXNzb3JzIHRoYXQgaW5jb3Jwb3JhdGVz IHRoZSBjYXBhYmlsaXR5IHRvIHRyYW5zaXRpb24gYmV0d2Vlbg0KPiArICAgIGRpZmZlcmVudCBw ZXJmb3JtYW5jZSBzdGF0ZXMgYnkgYWx0ZXJpbmcgc29tZSwgb3IgYW55IGNvbWJpbmF0aW9uIG9m LA0KPiArICAgIHRoZSBmb2xsb3dpbmcgcHJvY2Vzc29yIGF0dHJpYnV0ZXM6IGNvcmUgdm9sdGFn ZSwgY29yZSBmcmVxdWVuY3ksIGJ1cw0KPiArICAgIGZyZXF1ZW5jeSwgbnVtYmVyIG9mIHByb2Nl c3NvciBjb3JlcyBhdmFpbGFibGUsIG9yIGFueSBvdGhlciBhdHRyaWJ1dGUNCj4gKyAgICB0aGF0 IGNoYW5nZXMgdGhlIGVmZmljaWVuY3kgKGluc3RydWN0aW9ucy91bml0IHRpbWUtcG93ZXIpIGF0 IHdoaWNoIHRoZQ0KPiArICAgIHByb2Nlc3NvciBvcGVyYXRlcy4NCj4gKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gKw0KPiArTk9URVM6DQo+ICsgICAgKDEpIDxUT0RPPiAtIEV4Y2VwdCBmb3Ig dGhlIFNTRFQgcGFja2FnZSwgdGhlIG9iamVjdHMgaW4gdGhpcyBBU0wgY29kZQ0KPiArICAgIG1h eSBiZSBtb3ZlZCB0byB0aGUgRFNEVC4gSXQgaXMga2VwdCBzZXBhcmF0ZSBpbiB0aGlzIHJlZmVy ZW5jZSBwYWNrYWdlDQo+ICsgICAgZm9yIGVhc2Ugb2YgZGlzdHJpYnV0aW9uIG9ubHkuDQo+ICst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KPiArDQo+ICtEZWZpbml0aW9uQmxvY2sgKA0KPiArICAg ICJDUFVQTS5hbWwiLA0KPiArICAgICJTU0RUIiwNCj4gKyAgICAweDAxLA0KPiArICAgICJQbVJl ZiIsDQo+ICsgICAgIkNwdVBtIiwNCj4gKyAgICAweDMwMDANCj4gKyAgICApDQo+ICt7DQo+ICsg ICAgRXh0ZXJuYWwoXF9QUi5DUFUwLCBEZXZpY2VPYmopDQo+ICsgICAgRXh0ZXJuYWwoXF9QUi5D UFUxLCBEZXZpY2VPYmopDQo+ICsgICAgRXh0ZXJuYWwoXF9QUi5DUFUyLCBEZXZpY2VPYmopDQo+ ICsgICAgRXh0ZXJuYWwoXF9QUi5DUFUzLCBEZXZpY2VPYmopDQo+ICsgICAgRXh0ZXJuYWwoU01J RikNCj4gKw0KPiArICBTY29wZShcKQ0KPiArICB7DQo+ICsNCj4gKyAgICAgIC8vIFBhY2thZ2Ug b2YgcG9pbnRlcnMgdG8gU1NEVCdzDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRmlyc3QgY29s dW1uIGlzIFNTRFQgbmFtZSwgdXNlZCBmb3IgZGVidWcgb25seS4NCj4gKyAgICAgIC8vIChGaXJz dCBjb2x1bW4gbXVzdCBiZSBFWEFDVExZIGVpZ2h0IGNoYXJhY3RlcnMuKQ0KPiArICAgICAgLy8g U2Vjb25kIGNvbHVtbiBpcyBwaHlzaWNhbCBhZGRyZXNzLg0KPiArICAgICAgLy8gVGhpcmQgY29s dW1uIGlzIHRhYmxlIGxlbmd0aC4NCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBJRiBtb2RpZnlp bmcgdGhpcyBmaWxlLCBzZWUgd2FybmluZ3MgbGlzdGVkIGluIHBwbWluaXQuYXNtLg0KPiArICAg ICAgLy8NCj4gKyAgICAgIE5hbWUoU1NEVCxQYWNrYWdlKCkNCj4gKyAgICAgIHsNCj4gKyAgICAg ICAgICAiQ1BVMElTVCAiLCAweDgwMDAwMDAwLCAweDgwMDAwMDAwLA0KPiArICAgICAgICAgICJB UElTVCAgICIsIDB4ODAwMDAwMDAsIDB4ODAwMDAwMDAsDQo+ICsgICAgICAgICAgIkNQVTBDU1Qg IiwgMHg4MDAwMDAwMCwgMHg4MDAwMDAwMCwNCj4gKyAgICAgICAgICAiQVBDU1QgICAiLCAweDgw MDAwMDAwLCAweDgwMDAwMDAwDQo+ICsgICAgICB9KQ0KPiArDQo+ICsgICAgICAvLw0KPiArICAg ICAgLy8gTm90ZTogIFNlZSBQcG1CaW9zSW5pdCBpbiBQUE1JTklULkFTTSBmb3IgYSBkZWZpbml0 aW9uIG9mDQo+ICsgICAgICAvLyB0aGUgUHBtRmxhZ3MgbWlycm9yZWQgaW4gQ0ZHRC4NCj4gKyAg ICAgIC8vDQo+ICsgICAgICBOYW1lKENGR0QsIDB4ODAwMDAwMDApDQo+ICsNCj4gKyAgICAgIE5h bWUoXFBEQzAsMHg4MDAwMDAwMCkgICAgLy8gQ1BVMCBfUERDIEZsYWdzLg0KPiArICAgICAgTmFt ZShcUERDMSwweDgwMDAwMDAwKSAgICAvLyBDUFUxIF9QREMgRmxhZ3MuDQo+ICsgICAgICBOYW1l KFxQREMyLDB4ODAwMDAwMDApICAgIC8vIENQVTIgX1BEQyBGbGFncy4NCj4gKyAgICAgIE5hbWUo XFBEQzMsMHg4MDAwMDAwMCkgICAgLy8gQ1BVMyBfUERDIEZsYWdzLg0KPiArICAgICAgTmFtZShc U0RUTCwweDAwKSAgICAgICAgICAvLyBMb2FkZWQgU1NEVCBGbGFncy4NCj4gKyAgfQ0KPiArDQo+ ICsgIFNjb3BlKFxfUFIuQ1BVMCkNCj4gKyAgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIERl ZmluZSBoYW5kbGVzIGZvciBvcHJlZ2lvbnMgKHVzZWQgYnkgbG9hZC4pDQo+ICsgICAgICAvLw0K PiArICAgICAgTmFtZShISTAsMCkgICAgICAgIC8vIEhhbmRsZSB0byBDUFUwSVNUDQo+ICsgICAg ICBOYW1lKEhDMCwwKSAgICAgICAgLy8gSGFuZGxlIHRvIENQVTBDU1QNCj4gKw0KPiArICAgICAg TWV0aG9kKF9QREMsMSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAg IC8vIENoZWNrIGFuZCBleHRyYWN0IHRoZSBfUERDIGluZm9ybWF0aW9uLg0KPiArICAgICAgICAg IC8vDQo+ICsgICAgICAgICAgU3RvcmUoQ1BEQyhBcmcwKSwgTG9jYWwwKQ0KPiArICAgICAgICAg IC8vDQo+ICsgICAgICAgICAgLy8gU2F2ZSB0aGUgY2FwYWJpbGl0eSBpbmZvcm1hdGlvbiBhbmQg bG9hZCB0YWJsZXMgYXMgbmVlZGVkLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgR0NB UChMb2NhbDApDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBSZXR1cm4gc3RhdHVz Lg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy9SZXR1cm4gKExvY2FsMCkNCj4gKyAg ICAgIH0NCj4gKw0KPiArICAgICAgTWV0aG9kKF9PU0MsIDQpDQo+ICsgICAgICB7DQo+ICsgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBDaGVjayBhbmQgZXh0cmFjdCB0aGUgX09TQyBpbmZv cm1hdGlvbi4NCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIFN0b3JlKENPU0MoQXJnMCwg QXJnMSwgQXJnMiwgQXJnMyksIExvY2FsMCkNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAg IC8vIFNhdmUgdGhlIGNhcGFiaWxpdHkgaW5mb3JtYXRpb24gYW5kIGxvYWQgdGFibGVzIGFzIG5l ZWRlZC4NCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIEdDQVAoTG9jYWwwKQ0KPiArICAg ICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gUmV0dXJuIHN0YXR1cy4NCj4gKyAgICAgICAgICAv Lw0KPiArICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAg ICAvLw0KPiArICAgICAgLy8gSW1wbGVtZW50IGEgZ2VuZXJpYyBNZXRob2QgdG8gY2hlY2sgX1BE QyBpbmZvcm1hdGlvbiB3aGljaCBtYXkNCj4gYmUgY2FsbGVkDQo+ICsgICAgICAvLyBieSBhbnkg b2YgdGhlIHByb2Nlc3NvciBzY29wZXMuICAoVGhlIHVzZSBvZiBfUERDIGlzIGRlcHJlY2F0ZWQg aW4NCj4gQUNQSSAzLg0KPiArICAgICAgLy8gaW4gZmF2b3Igb2YgX09TQy4gSG93ZXZlciwgZm9y IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBfUERDIG1heSBiZQ0KPiArICAgICAgLy8gaW1wbGVt ZW50ZWQgdXNpbmcgX09TQyBhcyBmb2xsb3dzOikNCj4gKyAgICAgIC8vDQo+ICsgICAgICBNZXRo b2QoQ1BEQywxKQ0KPiArICAgICAgew0KPiArICAgICAgICAgIENyZWF0ZUR3b3JkRmllbGQgKEFy ZzAsIDAsIFJFVlMpDQo+ICsgICAgICAgICAgQ3JlYXRlRHdvcmRGaWVsZCAoQXJnMCwgNCwgU0la RSkNCj4gKw0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gTG9jYWwwID0gTnVtYmVy IG9mIGJ5dGVzIGZvciBBcmcwDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBTdG9yZSAo U2l6ZU9mIChBcmcwKSwgTG9jYWwwKQ0KPiArDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAg ICAvLyBMb2NhbDEgPSBOdW1iZXIgb2YgQ2FwYWJpbGl0aWVzIGJ5dGVzIGluIEFyZzANCj4gKyAg ICAgICAgICAvLw0KPiArICAgICAgICAgIFN0b3JlIChTdWJ0cmFjdCAoTG9jYWwwLCA4KSwgTG9j YWwxKQ0KPiArDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBURU1QID0gVGVtcG9y YXJ5IGZpZWxkIGhvbGRpbmcgQ2FwYWJpbGl0eSBEV09SRHMNCj4gKyAgICAgICAgICAvLw0KPiAr ICAgICAgICAgIENyZWF0ZUZpZWxkIChBcmcwLCA2NCwgTXVsdGlwbHkgKExvY2FsMSwgOCksIFRF TVApDQo+ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIENyZWF0ZSB0aGUgU3Rh dHVzIChTVEFUKSBidWZmZXIgd2l0aCB0aGUgZmlyc3QgRFdPUkQgPSAwDQo+ICsgICAgICAgICAg Ly8gVGhpcyBpcyByZXF1aXJlZCBhcyBwZXIgQUNQSSAzLjAgU3BlYyB3aGljaCBzYXlzIHRoZQ0K PiArICAgICAgICAgIC8vIGZpcnN0IERXT1JEIGlzIHVzZWQgdG8gcmV0dXJuIGVycm9ycyBkZWZp bmVkIGJ5IF9PU0MuDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBOYW1lIChTVFMwLCBC dWZmZXIgKCkgezB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9KQ0KPiArDQo+ICsgICAgICAgICAgLy8N Cj4gKyAgICAgICAgICAvLyBDb25jYXRlbmF0ZSB0aGUgX1BEQyBjYXBhYmlsaXRpZXMgYnl0ZXMg dG8gdGhlIFNUUzAgQnVmZmVyDQo+ICsgICAgICAgICAgLy8gYW5kIHN0b3JlIHRoZW0gaW4gYSBs b2NhbCB2YXJpYWJsZSBmb3IgY2FsbGluZyBPU0MNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAg ICAgIENvbmNhdGVuYXRlIChTVFMwLCBURU1QLCBMb2NhbDIpDQo+ICsNCj4gKyAgICAgICAgICBS ZXR1cm4oQ09TQyAoVG9VVUlEKCI0MDc3QTYxNi0yOTBDLTQ3QkUtOUVCRC1EODcwNTg3MTM5NTMi KSwNCj4gUkVWUywgU0laRSwgTG9jYWwyKSkNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgLy8N Cj4gKyAgICAgIC8vIEltcGxlbWVudCBhIGdlbmVyaWMgTWV0aG9kIHRvIGNoZWNrIF9PU0MgaW5m b3JtYXRpb24gd2hpY2ggbWF5DQo+IGJlIGNhbGxlZA0KPiArICAgICAgLy8gYnkgYW55IG9mIHRo ZSBwcm9jZXNzb3Igc2NvcGVzLg0KPiArICAgICAgLy8NCj4gKyAgICAgIE1ldGhvZChDT1NDLCA0 KQ0KPiArICAgICAgew0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gUG9pbnQgdG8g U3RhdHVzIERXT1JEIGluIHRoZSBBcmczIGJ1ZmZlciAoU1RBVFVTKQ0KPiArICAgICAgICAgIC8v DQo+ICsgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChBcmczLCAwLCBTVFMwKQ0KPiArICAgICAg ICAgIC8vDQo+ICsgICAgICAgICAgLy8gUG9pbnQgdG8gQ2FwcyBEV09SRHMgb2YgdGhlIEFyZzMg YnVmZmVyIChDQVBBQklMSVRJRVMpDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBDcmVh dGVEd29yZEZpZWxkKEFyZzMsIDQsIENBUDApDQo+ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAg ICAgICAgIC8vIF9PU0MgbmVlZHMgdG8gdmFsaWRhdGUgdGhlIFVVSUQgYW5kIFJldmlzaW9uLg0K PiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gSUYgVW5yZWNvZ25pemVkIFVVSUQNCj4g KyAgICAgICAgICAvLyAgICBSZXR1cm4gVW5yZWNvZ25pemVkIFVVSUQgX09TQyBGYWlsdXJlDQo+ ICsgICAgICAgICAgLy8gSUYgVW5zdXBwb3J0ZWQgUmV2aXNpb24NCj4gKyAgICAgICAgICAvLyAg ICBSZXR1cm4gVW5zdXBwb3J0ZWQgUmV2aXNpb24gX09TQyBGYWlsdXJlDQo+ICsgICAgICAgICAg Ly8NCj4gKyAgICAgICAgICAvLyAgICBTVFMwWzBdID0gUmVzZXJ2ZWQNCj4gKyAgICAgICAgICAv LyAgICBTVFMwWzFdID0gX09TQyBGYWlsdXJlDQo+ICsgICAgICAgICAgLy8gICAgU1RTMFsyXSA9 IFVucmVjb2duaXplZCBVVUlEDQo+ICsgICAgICAgICAgLy8gICAgU1RTMFszXSA9IFVuc3VwcG9y dGVkIFJldmlzaW9uDQo+ICsgICAgICAgICAgLy8gICAgU1RTMFs0XSA9IENhcGFiaWxpdGllcyBt YXNrZWQNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIE5vdGU6ICBUaGUgY29tcGFy aXNvbiBtZXRob2QgdXNlZCBpcyBuZWNlc3NhcnkgZHVlIHRvDQo+ICsgICAgICAgICAgLy8gbGlt aXRhdGlvbnMgb2YgY2VydGFpbiBPU2VzIHdoaWNoIGNhbm5vdCBwZXJmb3JtIGRpcmVjdA0KPiAr ICAgICAgICAgIC8vIGJ1ZmZlciBjb21wYXJpc29ucy4NCj4gKyAgICAgICAgICAvLw0KPiArICAg ICAgICAgIC8vIENyZWF0ZSBhIHNldCBvZiAiSW5wdXQiIFVVSUQgZmllbGRzLg0KPiArICAgICAg ICAgIC8vDQo+ICsgICAgICAgICAgQ3JlYXRlRHdvcmRGaWVsZChBcmcwLCAweDAsIElJRDApDQo+ ICsgICAgICAgICAgQ3JlYXRlRHdvcmRGaWVsZChBcmcwLCAweDQsIElJRDEpDQo+ICsgICAgICAg ICAgQ3JlYXRlRHdvcmRGaWVsZChBcmcwLCAweDgsIElJRDIpDQo+ICsgICAgICAgICAgQ3JlYXRl RHdvcmRGaWVsZChBcmcwLCAweEMsIElJRDMpDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAg ICAvLyBDcmVhdGUgYSBzZXQgb2YgIkV4cGVjdGVkIiBVVUlEIGZpZWxkcy4NCj4gKyAgICAgICAg ICAvLw0KPiArICAgICAgICAgIE5hbWUoVUlEMCwgVG9VVUlEKCI0MDc3QTYxNi0yOTBDLTQ3QkUt OUVCRC1EODcwNTg3MTM5NTMiKSkNCj4gKyAgICAgICAgICBDcmVhdGVEd29yZEZpZWxkKFVJRDAs IDB4MCwgRUlEMCkNCj4gKyAgICAgICAgICBDcmVhdGVEd29yZEZpZWxkKFVJRDAsIDB4NCwgRUlE MSkNCj4gKyAgICAgICAgICBDcmVhdGVEd29yZEZpZWxkKFVJRDAsIDB4OCwgRUlEMikNCj4gKyAg ICAgICAgICBDcmVhdGVEd29yZEZpZWxkKFVJRDAsIDB4QywgRUlEMykNCj4gKyAgICAgICAgICAv Lw0KPiArICAgICAgICAgIC8vIFZlcmlmeSB0aGUgaW5wdXQgVVVJRCBtYXRjaGVzIHRoZSBleHBl Y3RlZCBVVUlELg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgSWYoTE5vdChMQW5kKExB bmQoTEVxdWFsKElJRDAsIEVJRDApLExFcXVhbChJSUQxLA0KPiBFSUQxKSksTEFuZChMRXF1YWwo SUlEMiwgRUlEMiksTEVxdWFsKElJRDMsIEVJRDMpKSkpKQ0KPiArICAgICAgICAgIHsNCj4gKyAg ICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgLy8gUmV0dXJuIFVucmVjb2duaXplZCBV VUlEIF9PU0MgRmFpbHVyZQ0KPiArICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICBT dG9yZSAoMHg2LCBTVFMwKQ0KPiArICAgICAgICAgICAgICBSZXR1cm4gKEFyZzMpDQo+ICsgICAg ICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAgSWYoTE5vdChMRXF1YWwoQXJnMSwxKSkpDQo+ICsg ICAgICAgICAgew0KPiArICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAvLyBSZXR1 cm4gVW5zdXBwb3J0ZWQgUmV2aXNpb24gX09TQyBGYWlsdXJlDQo+ICsgICAgICAgICAgICAgIC8v DQo+ICsgICAgICAgICAgICAgIFN0b3JlICgweEEsIFNUUzApDQo+ICsgICAgICAgICAgICAgIFJl dHVybiAoQXJnMykNCj4gKyAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICBSZXR1cm4gKEFy ZzMpDQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBHZXQgdGhlIGNh cGFiaWxpdHkgaW5mb3JtYXRpb24gYW5kIGxvYWQgYXBwcm9wcmlhdGUgdGFibGVzIGFzIG5lZWRl ZC4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBNZXRob2QoR0NBUCwgMSkNCj4gKyAgICAgIHsNCj4g Kw0KPiArICAgICAgICAgIC8vIFBvaW50IHRvIFN0YXR1cyBEV09SRCBpbiB0aGUgQXJnMCBidWZm ZXIgKFNUQVRVUykNCj4gKyAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEFyZzAsIDAsIFNUUzAp DQo+ICsNCj4gKyAgICAgICAgICAvLyBQb2ludCB0byBDYXBzIERXT1JEcyBvZiB0aGUgQXJnMCBi dWZmZXIgKENBUEFCSUxJVElFUykNCj4gKyAgICAgICAgICBDcmVhdGVEd29yZEZpZWxkKEFyZzAs IDQsIENBUDApDQo+ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIElmIHRoZSBV VUlEIHdhcyB1bnJlY29nbml6ZWQgb3IgdGhlIF9PU0MgcmV2aXNpb24gd2FzDQo+IHVuc3VwcG9y dGVkLA0KPiArICAgICAgICAgIC8vIHJldHVybiB3aXRob3V0IHVwZGF0aW5nIGNhcGFiaWxpdGll cy4NCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIElmKExPcihMRXF1YWwoU1RTMCwweDYp LExFcXVhbChTVFMwLDB4QSkpKQ0KPiArICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgUmV0 dXJuKCkNCj4gKyAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAg IC8vIENoZWNrIGlmIHRoaXMgaXMgYSBxdWVyeSAoQklUMCBvZiBTdGF0dXMgPSAxKS4NCj4gKyAg ICAgICAgICAvLyBJZiBzbywgbWFzayBvZmYgdGhlIGJpdHMgd2Ugc3VwcG9ydCBhbmQgcmV0dXJu Lg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgaWYgKEFuZChTVFMwLCAxKSkNCj4gKyAg ICAgICAgICB7DQo+ICsgICAgICAgICAgICAgIEFuZChDQVAwLCAweEJGRiwgQ0FQMCkNCj4gKyAg ICAgICAgICAgICAgUmV0dXJuKCkNCj4gKyAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAv Lw0KPiArICAgICAgICAgIC8vIFN0b3JlIHJlc3VsdCBvZiBQREMuIChXZSBjbGVhciBvdXQgdGhl IE1TQiwgd2hpY2ggd2FzIGp1c3QNCj4gKyAgICAgICAgICAvLyB1c2VkIGFzIGEgcGxhY2Vob2xk ZXIgZm9yIHRoZSBjb21waWxlcjsgYW5kIHRoZW4gIk9SIiB0aGUNCj4gKyAgICAgICAgICAvLyB2 YWx1ZSBpbiBjYXNlIHdlIGdldCBtdWx0aXBsZSBjYWxscywgZWFjaCBvZiB3aGljaCBvbmx5DQo+ ICsgICAgICAgICAgLy8gcmVwb3J0cyBwYXJ0aWFsIHN1cHBvcnQuKQ0KPiArICAgICAgICAgIC8v DQo+ICsgICAgICAgICAgT3IoQW5kKFBEQzAsIDB4N0ZGRkZGRkYpLCBDQVAwLCBQREMwKQ0KPiAr DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBDaGVjayBJRiB0aGUgSVNUIFNTRFRz IHNob3VsZCBiZSBsb2FkZWQuDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyAgIENG R0RbMF0gPSBHVjMgQ2FwYWJsZS9FbmFibGVkDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAg ICBJZihBbmQoQ0ZHRCwweDAxKSkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgIC8v DQo+ICsgICAgICAgICAgICAgIC8vIExvYWQgdGhlIElTVCBTU0RUcyBpZjoNCj4gKyAgICAgICAg ICAgICAgLy8gICAoMSkgQ01QIGNhcGFibGUgYW5kIGVuYWJsZWQuDQo+ICsgICAgICAgICAgICAg IC8vICAgKDIpIERyaXZlciBzdXBwb3J0cyBQLVN0YXRlcyBpbiBNUCBjb25maWd1cmF0aW9ucw0K PiArICAgICAgICAgICAgICAvLyAgICgzKSBEcml2ZXIgc3VwcG9ydHMgZGlyZWN0IEhXIFAtU3Rh dGUgY29udHJvbA0KPiArICAgICAgICAgICAgICAvLyAgICg0KSBTU0RUIGlzIG5vdCBhbHJlYWR5 IGxvYWRlZA0KPiArICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAvLyAgIENGR0Rb MjRdID0gVHdvIG9yIG1vcmUgY29yZXMgZW5hYmxlZA0KPiArICAgICAgICAgICAgICAvLyAgIFBE Q3hbM10gID0gT1Mgc3VwcG9ydHMgQzEgYW5kIFAtc3RhdGVzIGluIE1QIHN5c3RlbXMNCj4gKyAg ICAgICAgICAgICAgLy8gICBQREN4WzBdICA9IE9TIHN1cHBvcnRzIGRpcmVjdCBhY2Nlc3Mgb2Yg dGhlIHBlcmYgTVNSDQo+ICsgICAgICAgICAgICAgIC8vICAgU0RUTFswXSAgPSBDUFUwIElTVCBT U0RUIExvYWRlZA0KPiArICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICBJZihMQW5k KExBbmQoQW5kKENGR0QsMHgwMTAwMDAwMCksTEVxdWFsKEFuZChQREMwLCAweDAwMDkpLA0KPiAw eDAwMDkpKSxMTm90KEFuZChTRFRMLDB4MDEpKSkpDQo+ICsgICAgICAgICAgICAgIHsNCj4gKyAg ICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgICAgICAvLyBGbGFnIHRoZSBJU1Qg U1NEVCBhcyBsb2FkZWQgZm9yIENQVTANCj4gKyAgICAgICAgICAgICAgICAgIC8vDQo+ICsgICAg ICAgICAgICAgICAgICBPcihTRFRMLCAweDAxLCBTRFRMKQ0KPiArDQo+ICsNCj4gT3BlcmF0aW9u UmVnaW9uKElTVDAsU3lzdGVtTWVtb3J5LERlUmVmT2YoSW5kZXgoU1NEVCwxKSksRGVSZWZPZihJ bg0KPiBkZXgoU1NEVCwyKSkpDQo+ICsgICAgICAgICAgICAgICAgICBMb2FkKElTVDAsIEhJMCkg ICAgLy8gRHluYW1pY2FsbHkgbG9hZCB0aGUgQ1BVMElTVCBTU0RUDQo+ICsgICAgICAgICAgICAg IH0NCj4gKyAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8v IENoZWNrIElGIHRoZSBDU1QgU1NEVHMgc2hvdWxkIGJlIGxvYWRlZC4NCj4gKyAgICAgICAgICAv Lw0KPiArICAgICAgICAgIC8vICAgQ0ZHRFsxMSw3LDIsMV0gPSBDNiwgQzQsIEMxRSwgQzEgQ2Fw YWJsZS9FbmFibGVkDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBJZihBbmQoQ0ZHRCww eDgyKSkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAg ICAgIC8vIExvYWQgdGhlIENTVCBTU0RUcyBpZjoNCj4gKyAgICAgICAgICAgICAgLy8gICAoMSkg Q01QIGNhcGFibGUvZW5hYmxlZA0KPiArICAgICAgICAgICAgICAvLyAgICgyKSBEcml2ZXIgc3Vw cG9ydHMgbXVsdGktcHJvY2Vzc29yIGNvbmZpZ3VyYXRpb25zDQo+ICsgICAgICAgICAgICAgIC8v ICAgKDMpIENQVTAgQ1NUIElTRFQgaXMgbm90IGFscmVhZHkgbG9hZGVkDQo+ICsgICAgICAgICAg ICAgIC8vDQo+ICsgICAgICAgICAgICAgIC8vICAgQ0ZHRFsyNF0gPSBUd28gb3IgbW9yZSBjb3Jl cyBlbmFibGVkDQo+ICsgICAgICAgICAgICAgIC8vICAgUERDeFszXSAgPSBPUyBzdXBwb3J0cyBD MSBhbmQgUC1zdGF0ZXMgaW4gTVAgc3lzdGVtcw0KPiArICAgICAgICAgICAgICAvLyAgIFBEQ3hb NF0gID0gT1Mgc3VwcG9ydHMgaW5kLiBDMi9DMyBpbiBNUCBzeXN0ZW1zDQo+ICsgICAgICAgICAg ICAgIC8vICAgU0RUTFsxXSAgPSBDUFUwIENTVCBTU0RUIExvYWRlZA0KPiArICAgICAgICAgICAg ICAvLw0KPiArDQo+IElmKExBbmQoTEFuZChBbmQoQ0ZHRCwweDAxMDAwMDAwKSxBbmQoUERDMCww eDAwMTgpKSxMTm90KEFuZChTRFRMLDB4DQo+IDAyKSkpKQ0KPiArICAgICAgICAgICAgICB7DQo+ ICsgICAgICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAgICAgLy8gRmxhZyB0aGUg Q1NUIFNTRFQgYXMgbG9hZGVkIGZvciBDUFUwDQo+ICsgICAgICAgICAgICAgICAgICAvLw0KPiAr ICAgICAgICAgICAgICAgICAgT3IoU0RUTCwgMHgwMiwgU0RUTCkNCj4gKw0KPiArDQo+IE9wZXJh dGlvblJlZ2lvbihDU1QwLFN5c3RlbU1lbW9yeSxEZVJlZk9mKEluZGV4KFNTRFQsNykpLERlUmVm T2YoSW4NCj4gZGV4KFNTRFQsOCkpKQ0KPiArICAgICAgICAgICAgICAgICAgTG9hZChDU1QwLCBI QzApICAgIC8vIER5bmFtaWNhbGx5IGxvYWQgdGhlIENQVTBDU1QgU1NEVA0KPiArICAgICAgICAg ICAgICB9DQo+ICsgICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAgUmV0dXJuICgpDQo+ICsg ICAgICB9DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIFNjb3BlKFxfUFIuQ1BVMSkNCj4gKyAgew0K PiArICAgICAgLy8NCj4gKyAgICAgIC8vIERlZmluZSBoYW5kbGVzIGZvciBvcHJlZ2lvbnMgKHVz ZWQgYnkgbG9hZC4pDQo+ICsgICAgICAvLw0KPiArICAgICAgTmFtZShISTEsMCkgICAgICAgIC8v IEhhbmRsZSB0byBBUElTVA0KPiArICAgICAgTmFtZShIQzEsMCkgICAgICAgIC8vIEhhbmRsZSB0 byBBUENTVA0KPiArDQo+ICsgICAgICBNZXRob2QoX1BEQywxKQ0KPiArICAgICAgew0KPiArICAg ICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gUmVmZXIgdG8gXF9QUi5DUFUwLl9QREMgZm9yIGRl c2NyaXB0aW9uLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgU3RvcmUoXF9QUi5DUFUw LkNQREMoQXJnMCksIExvY2FsMCkNCj4gKyAgICAgICAgICBHQ0FQKExvY2FsMCkNCj4gKyAgICAg ICAgICAvL1JldHVybiAoTG9jYWwwKQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBNZXRob2Qo X09TQywgNCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIFJl ZmVyIHRvIFxfUFIuQ1BVMC5fT1NDIGZvciBkZXNjcmlwdGlvbi4NCj4gKyAgICAgICAgICAvLw0K PiArICAgICAgICAgIFN0b3JlKFxfUFIuQ1BVMC5DT1NDKEFyZzAsIEFyZzEsIEFyZzIsIEFyZzMp LCBMb2NhbDApDQo+ICsgICAgICAgICAgR0NBUChMb2NhbDApDQo+ICsgICAgICAgICAgUmV0dXJu IChMb2NhbDApDQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBHZXQg dGhlIGNhcGFiaWxpdHkgaW5mb3JtYXRpb24gYW5kIGxvYWQgYXBwcm9wcmlhdGUgdGFibGVzIGFz IG5lZWRlZC4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBNZXRob2QoR0NBUCwgMSkNCj4gKyAgICAg IHsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIFBvaW50IHRvIFN0YXR1cyBEV09S RCBpbiB0aGUgQXJnMCBidWZmZXIgKFNUQVRVUykNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQoQXJnMCwgMCwgU1RTMSkNCj4gKyAgICAgICAgICAvLw0KPiAr ICAgICAgICAgIC8vIFBvaW50IHRvIENhcHMgRFdPUkRzIG9mIHRoZSBBcmcwIGJ1ZmZlciAoQ0FQ QUJJTElUSUVTKQ0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgQ3JlYXRlRHdvcmRGaWVs ZChBcmcwLCA0LCBDQVAxKQ0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gSWYgdGhl IFVVSUQgd2FzIHVucmVjb2duaXplZCBvciB0aGUgX09TQyByZXZpc2lvbiB3YXMNCj4gdW5zdXBw b3J0ZWQsDQo+ICsgICAgICAgICAgLy8gcmV0dXJuIHdpdGhvdXQgdXBkYXRpbmcgY2FwYWJpbGl0 aWVzLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgSWYoTE9yKExFcXVhbChTVFMxLDB4 NiksTEVxdWFsKFNUUzEsMHhBKSkpDQo+ICsgICAgICAgICAgew0KPiArICAgICAgICAgICAgICBS ZXR1cm4oKQ0KPiArICAgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAg ICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIHF1ZXJ5IChCSVQwIG9mIFN0YXR1cyA9IDEpLg0KPiAr ICAgICAgICAgIC8vIElmIHNvLCBtYXNrIG9mZiB0aGUgYml0cyB3ZSBzdXBwb3J0IGFuZCByZXR1 cm4uDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBpZiAoQW5kKFNUUzEsIDEpKQ0KPiAr ICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgQW5kKENBUDEsIDB4QkZGLCBDQVAxKQ0KPiAr ICAgICAgICAgICAgICBSZXR1cm4oKQ0KPiArICAgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAg IC8vDQo+ICsgICAgICAgICAgLy8gU3RvcmUgcmVzdWx0IG9mIFBEQy4gKFdlIGNsZWFyIG91dCB0 aGUgTVNCLCB3aGljaCB3YXMganVzdA0KPiArICAgICAgICAgIC8vIHVzZWQgYXMgYSBwbGFjZWhv bGRlciBmb3IgdGhlIGNvbXBpbGVyOyBhbmQgdGhlbiAiT1IiIHRoZQ0KPiArICAgICAgICAgIC8v IHZhbHVlIGluIGNhc2Ugd2UgZ2V0IG11bHRpcGxlIGNhbGxzLCBlYWNoIG9mIHdoaWNoIG9ubHkN Cj4gKyAgICAgICAgICAvLyByZXBvcnRzIHBhcnRpYWwgc3VwcG9ydC4pDQo+ICsgICAgICAgICAg Ly8NCj4gKyAgICAgICAgICBPcihBbmQoUERDMSwgMHg3RkZGRkZGRiksIENBUDEsIFBEQzEpDQo+ ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIEF0dGVtcHQgdG8gZHluYW1pY2Fs bHkgbG9hZCB0aGUgSVNUIFNTRFRzIGlmOg0KPiArICAgICAgICAgIC8vICAgKDEpIERyaXZlciBz dXBwb3J0cyBQLVN0YXRlcyBpbiBNUCBjb25maWd1cmF0aW9ucw0KPiArICAgICAgICAgIC8vICAg KDIpIERyaXZlciBzdXBwb3J0cyBkaXJlY3QgSFcgUC1TdGF0ZSBjb250cm9sDQo+ICsgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICAvLyAgIFBEQ3hbM10gID0gT1Mgc3VwcG9ydHMgQzEgYW5kIFAt c3RhdGVzIGluIE1QIHN5c3RlbXMNCj4gKyAgICAgICAgICAvLyAgIFBEQ3hbMF0gID0gT1Mgc3Vw cG9ydHMgZGlyZWN0IGFjY2VzcyBvZiB0aGUgcGVyZiBNU1INCj4gKyAgICAgICAgICAvLw0KPiAr ICAgICAgICAgIElmKExFcXVhbChBbmQoUERDMCwgMHgwMDA5KSwgMHgwMDA5KSkNCj4gKyAgICAg ICAgICB7DQo+ICsgICAgICAgICAgICAgIEFQUFQoKQ0KPiArICAgICAgICAgIH0NCj4gKw0KPiAr ICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gTG9hZCB0aGUgQ1NUIFNTRFRzIGlmOg0KPiAr ICAgICAgICAgIC8vICAgKDEpIERyaXZlciBzdXBwb3J0cyBtdWx0aS1wcm9jZXNzb3IgY29uZmln dXJhdGlvbnMNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vICAgUERDeFszXSAgPSBP UyBzdXBwb3J0cyBDMSBhbmQgUC1zdGF0ZXMgaW4gTVAgc3lzdGVtcw0KPiArICAgICAgICAgIC8v ICAgUERDeFs0XSAgPSBPUyBzdXBwb3J0cyBpbmQuIEMyL0MzIGluIE1QIHN5c3RlbXMNCj4gKyAg ICAgICAgICAvLw0KPiArICAgICAgICAgIElmKEFuZChQREMwLDB4MDAxOCkpDQo+ICsgICAgICAg ICAgew0KPiArICAgICAgICAgICAgICBBUENUKCkNCj4gKyAgICAgICAgICB9DQo+ICsNCj4gKyAg ICAgICAgICBSZXR1cm4oKQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAg Ly8gRHluYW1pY2FsbHkgbG9hZCB0aGUgQ1NUIFNTRFRzIGlmOg0KPiArICAgICAgLy8gICAoMSkg Qy1TdGF0ZXMgYXJlIGVuYWJsZWQNCj4gKyAgICAgIC8vICAgKDIpIFNTRFQgaXMgbm90IGFscmVh ZHkgbG9hZGVkDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gICBDRkdEWzExLDcsMiwxXSA9IEM2 LCBDNCwgQzFFLCBDMSBDYXBhYmxlL0VuYWJsZWQNCj4gKyAgICAgIC8vICAgU0RUTFs1XSAgID0g QVAgQ1NUIFNTRFQgTG9hZGVkDQo+ICsgICAgICAvLw0KPiArICAgICAgTWV0aG9kKEFQQ1QsMCkN Cj4gKyAgICAgIHsNCj4gKyAgICAgICAgICBJZihMQW5kKEFuZChDRkdELDB4ODIpLExOb3QoQW5k KFNEVEwsMHgyMCkpKSkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgIC8vDQo+ICsg ICAgICAgICAgICAgIC8vIEZsYWcgdGhlIENTVCBTU0RUIGFzIGxvYWRlZCBmb3IgdGhlIEFQJ3MN Cj4gKyAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgT3IoU0RUTCwgMHgyMCwgU0RU TCkNCj4gKyAgICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgLy8gRHluYW1pY2FsbHkg bG9hZCB0aGUgQVBDU1QgU1NEVA0KPiArICAgICAgICAgICAgICAvLw0KPiArDQo+IE9wZXJhdGlv blJlZ2lvbihDU1QxLFN5c3RlbU1lbW9yeSxEZVJlZk9mKEluZGV4KFNTRFQsMTApKSxEZVJlZk9m KEkNCj4gbmRleChTU0RULDExKSkpDQo+ICsgICAgICAgICAgICAgIExvYWQoQ1NUMSwgSEMxKQ0K PiArICAgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8v IER5bmFtaWNhbGx5IGxvYWQgdGhlIElTVCBTU0RUcyBpZjoNCj4gKyAgICAgIC8vICAgKDEpIElm IEdWMyBjYXBhYmxlIGFuZCBlbmFibGVkDQo+ICsgICAgICAvLyAgICgyKSBTU0RUIGlzIG5vdCBh bHJlYWR5IGxvYWRlZA0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vICAgQ0ZHRFswXSA9IEdWMyBD YXBhYmxlL0VuYWJsZWQNCj4gKyAgICAgIC8vICAgU0RUTFs0XSA9IEFQIElTVCBTU0RUIExvYWRl ZA0KPiArICAgICAgLy8NCj4gKyAgICAgIE1ldGhvZChBUFBULDApDQo+ICsgICAgICB7DQo+ICsg ICAgICAgICAgSWYoTEFuZChBbmQoQ0ZHRCwweDAxKSxMTm90KEFuZChTRFRMLDB4MTApKSkpDQo+ ICsgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAvLyBG bGFnIHRoZSBJU1QgU1NEVCBhcyBsb2FkZWQgZm9yIENQVTANCj4gKyAgICAgICAgICAgICAgLy8N Cj4gKyAgICAgICAgICAgICAgT3IoU0RUTCwgMHgxMCwgU0RUTCkNCj4gKw0KPiArDQo+IE9wZXJh dGlvblJlZ2lvbihJU1QxLFN5c3RlbU1lbW9yeSxEZVJlZk9mKEluZGV4KFNTRFQsNCkpLERlUmVm T2YoSW4NCj4gZGV4KFNTRFQsNSkpKQ0KPiArICAgICAgICAgICAgICBMb2FkKElTVDEsIEhJMSkg ICAgLy8gRHluYW1pY2FsbHkgbG9hZCB0aGUgQ1BVMUlTVCBTU0RUDQo+ICsgICAgICAgICAgfQ0K PiArICAgICAgfQ0KPiArICB9ICAgIC8vIEVuZCBDUFUxDQo+ICsNCj4gKyAgU2NvcGUoXF9QUi5D UFUyKQ0KPiArICB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRGVmaW5lIGhhbmRsZXMgZm9y IG9wcmVnaW9ucyAodXNlZCBieSBsb2FkLikNCj4gKyAgICAgIC8vDQo+ICsgICAgICBOYW1lKEhJ MSwwKSAgICAgICAgLy8gSGFuZGxlIHRvIEFQSVNUDQo+ICsgICAgICBOYW1lKEhDMSwwKSAgICAg ICAgLy8gSGFuZGxlIHRvIEFQQ1NUDQo+ICsNCj4gKyAgICAgIE1ldGhvZChfUERDLDEpDQo+ICsg ICAgICB7DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBSZWZlciB0byBcX1BSLkNQ VTAuX1BEQyBmb3IgZGVzY3JpcHRpb24uDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBT dG9yZShcX1BSLkNQVTAuQ1BEQyhBcmcwKSwgTG9jYWwwKQ0KPiArICAgICAgICAgIEdDQVAoTG9j YWwwKQ0KPiArICAgICAgICAgIC8vUmV0dXJuIChMb2NhbDApDQo+ICsgICAgICB9DQo+ICsNCj4g KyAgICAgIE1ldGhvZChfT1NDLCA0KQ0KPiArICAgICAgew0KPiArICAgICAgICAgIC8vDQo+ICsg ICAgICAgICAgLy8gUmVmZXIgdG8gXF9QUi5DUFUwLl9PU0MgZm9yIGRlc2NyaXB0aW9uLg0KPiAr ICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgU3RvcmUoXF9QUi5DUFUwLkNPU0MoQXJnMCwgQXJn MSwgQXJnMiwgQXJnMyksIExvY2FsMCkNCj4gKyAgICAgICAgICBHQ0FQKExvY2FsMCkNCj4gKyAg ICAgICAgICBSZXR1cm4gKExvY2FsMCkNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgLy8NCj4g KyAgICAgIC8vIEdldCB0aGUgY2FwYWJpbGl0eSBpbmZvcm1hdGlvbiBhbmQgbG9hZCBhcHByb3By aWF0ZSB0YWJsZXMgYXMgbmVlZGVkLg0KPiArICAgICAgLy8NCj4gKyAgICAgIE1ldGhvZChHQ0FQ LCAxKQ0KPiArICAgICAgew0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gUG9pbnQg dG8gU3RhdHVzIERXT1JEIGluIHRoZSBBcmcwIGJ1ZmZlciAoU1RBVFVTKQ0KPiArICAgICAgICAg IC8vDQo+ICsgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChBcmcwLCAwLCBTVFMxKQ0KPiArICAg ICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gUG9pbnQgdG8gQ2FwcyBEV09SRHMgb2YgdGhlIEFy ZzAgYnVmZmVyIChDQVBBQklMSVRJRVMpDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBD cmVhdGVEd29yZEZpZWxkKEFyZzAsIDQsIENBUDEpDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAg ICAgICAvLyBJZiB0aGUgVVVJRCB3YXMgdW5yZWNvZ25pemVkIG9yIHRoZSBfT1NDIHJldmlzaW9u IHdhcw0KPiB1bnN1cHBvcnRlZCwNCj4gKyAgICAgICAgICAvLyByZXR1cm4gd2l0aG91dCB1cGRh dGluZyBjYXBhYmlsaXRpZXMuDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBJZihMT3Io TEVxdWFsKFNUUzEsMHg2KSxMRXF1YWwoU1RTMSwweEEpKSkNCj4gKyAgICAgICAgICB7DQo+ICsg ICAgICAgICAgICAgIFJldHVybigpDQo+ICsgICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAg Ly8NCj4gKyAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGlzIGEgcXVlcnkgKEJJVDAgb2YgU3Rh dHVzID0gMSkuDQo+ICsgICAgICAgICAgLy8gSWYgc28sIG1hc2sgb2ZmIHRoZSBiaXRzIHdlIHN1 cHBvcnQgYW5kIHJldHVybi4NCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIGlmIChBbmQo U1RTMSwgMSkpDQo+ICsgICAgICAgICAgew0KPiArICAgICAgICAgICAgICBBbmQoQ0FQMSwgMHhC RkYsIENBUDEpDQo+ICsgICAgICAgICAgICAgIFJldHVybigpDQo+ICsgICAgICAgICAgfQ0KPiAr DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBTdG9yZSByZXN1bHQgb2YgUERDLiAo V2UgY2xlYXIgb3V0IHRoZSBNU0IsIHdoaWNoIHdhcyBqdXN0DQo+ICsgICAgICAgICAgLy8gdXNl ZCBhcyBhIHBsYWNlaG9sZGVyIGZvciB0aGUgY29tcGlsZXI7IGFuZCB0aGVuICJPUiIgdGhlDQo+ ICsgICAgICAgICAgLy8gdmFsdWUgaW4gY2FzZSB3ZSBnZXQgbXVsdGlwbGUgY2FsbHMsIGVhY2gg b2Ygd2hpY2ggb25seQ0KPiArICAgICAgICAgIC8vIHJlcG9ydHMgcGFydGlhbCBzdXBwb3J0LikN Cj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIE9yKEFuZChQREMxLCAweDdGRkZGRkZGKSwg Q0FQMSwgUERDMSkNCj4gKw0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gQXR0ZW1w dCB0byBkeW5hbWljYWxseSBsb2FkIHRoZSBJU1QgU1NEVHMgaWY6DQo+ICsgICAgICAgICAgLy8g ICAoMSkgRHJpdmVyIHN1cHBvcnRzIFAtU3RhdGVzIGluIE1QIGNvbmZpZ3VyYXRpb25zDQo+ICsg ICAgICAgICAgLy8gICAoMikgRHJpdmVyIHN1cHBvcnRzIGRpcmVjdCBIVyBQLVN0YXRlIGNvbnRy b2wNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vICAgUERDeFszXSAgPSBPUyBzdXBw b3J0cyBDMSBhbmQgUC1zdGF0ZXMgaW4gTVAgc3lzdGVtcw0KPiArICAgICAgICAgIC8vICAgUERD eFswXSAgPSBPUyBzdXBwb3J0cyBkaXJlY3QgYWNjZXNzIG9mIHRoZSBwZXJmIE1TUg0KPiArICAg ICAgICAgIC8vDQo+ICsgICAgICAgICAgSWYoTEVxdWFsKEFuZChQREMwLCAweDAwMDkpLCAweDAw MDkpKQ0KPiArICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgQVBQVCgpDQo+ICsgICAgICAg ICAgfQ0KPiArDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBMb2FkIHRoZSBDU1Qg U1NEVHMgaWY6DQo+ICsgICAgICAgICAgLy8gICAoMSkgRHJpdmVyIHN1cHBvcnRzIG11bHRpLXBy b2Nlc3NvciBjb25maWd1cmF0aW9ucw0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8g ICBQREN4WzNdICA9IE9TIHN1cHBvcnRzIEMxIGFuZCBQLXN0YXRlcyBpbiBNUCBzeXN0ZW1zDQo+ ICsgICAgICAgICAgLy8gICBQREN4WzRdICA9IE9TIHN1cHBvcnRzIGluZC4gQzIvQzMgaW4gTVAg c3lzdGVtcw0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgSWYoQW5kKFBEQzAsMHgwMDE4 KSkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgIEFQQ1QoKQ0KPiArICAgICAgICAg IH0NCj4gKw0KPiArICAgICAgICAgIFJldHVybigpDQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAg IC8vDQo+ICsgICAgICAvLyBEeW5hbWljYWxseSBsb2FkIHRoZSBDU1QgU1NEVHMgaWY6DQo+ICsg ICAgICAvLyAgICgxKSBDLVN0YXRlcyBhcmUgZW5hYmxlZA0KPiArICAgICAgLy8gICAoMikgU1NE VCBpcyBub3QgYWxyZWFkeSBsb2FkZWQNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyAgIENGR0Rb MTEsNywyLDFdID0gQzYsIEM0LCBDMUUsIEMxIENhcGFibGUvRW5hYmxlZA0KPiArICAgICAgLy8g ICBTRFRMWzVdICAgPSBBUCBDU1QgU1NEVCBMb2FkZWQNCj4gKyAgICAgIC8vDQo+ICsgICAgICBN ZXRob2QoQVBDVCwwKQ0KPiArICAgICAgew0KPiArICAgICAgICAgIElmKExBbmQoQW5kKENGR0Qs MHg4MiksTE5vdChBbmQoU0RUTCwweDIwKSkpKQ0KPiArICAgICAgICAgIHsNCj4gKyAgICAgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgLy8gRmxhZyB0aGUgQ1NUIFNTRFQgYXMgbG9hZGVk IGZvciB0aGUgQVAncw0KPiArICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICBPcihT RFRMLCAweDIwLCBTRFRMKQ0KPiArICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAv LyBEeW5hbWljYWxseSBsb2FkIHRoZSBBUENTVCBTU0RUDQo+ICsgICAgICAgICAgICAgIC8vDQo+ ICsNCj4gT3BlcmF0aW9uUmVnaW9uKENTVDEsU3lzdGVtTWVtb3J5LERlUmVmT2YoSW5kZXgoU1NE VCwxMCkpLERlUmVmT2YoSQ0KPiBuZGV4KFNTRFQsMTEpKSkNCj4gKyAgICAgICAgICAgICAgTG9h ZChDU1QxLCBIQzEpDQo+ICsgICAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICAv Lw0KPiArICAgICAgLy8gRHluYW1pY2FsbHkgbG9hZCB0aGUgSVNUIFNTRFRzIGlmOg0KPiArICAg ICAgLy8gICAoMSkgSWYgR1YzIGNhcGFibGUgYW5kIGVuYWJsZWQNCj4gKyAgICAgIC8vICAgKDIp IFNTRFQgaXMgbm90IGFscmVhZHkgbG9hZGVkDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gICBD RkdEWzBdID0gR1YzIENhcGFibGUvRW5hYmxlZA0KPiArICAgICAgLy8gICBTRFRMWzRdID0gQVAg SVNUIFNTRFQgTG9hZGVkDQo+ICsgICAgICAvLw0KPiArICAgICAgTWV0aG9kKEFQUFQsMCkNCj4g KyAgICAgIHsNCj4gKyAgICAgICAgICBJZihMQW5kKEFuZChDRkdELDB4MDEpLExOb3QoQW5kKFNE VEwsMHgxMCkpKSkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAgIC8vDQo+ICsgICAg ICAgICAgICAgIC8vIEZsYWcgdGhlIElTVCBTU0RUIGFzIGxvYWRlZCBmb3IgQ1BVMA0KPiArICAg ICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICBPcihTRFRMLCAweDEwLCBTRFRMKQ0KPiAr DQo+ICsNCj4gT3BlcmF0aW9uUmVnaW9uKElTVDEsU3lzdGVtTWVtb3J5LERlUmVmT2YoSW5kZXgo U1NEVCw0KSksRGVSZWZPZihJbg0KPiBkZXgoU1NEVCw1KSkpDQo+ICsgICAgICAgICAgICAgIExv YWQoSVNUMSwgSEkxKSAgICAvLyBEeW5hbWljYWxseSBsb2FkIHRoZSBDUFUxSVNUIFNTRFQNCj4g KyAgICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsgIH0gICAgLy8gRW5kIENQVTENCj4gKw0KPiAr ICBTY29wZShcX1BSLkNQVTMpDQo+ICsgIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBEZWZp bmUgaGFuZGxlcyBmb3Igb3ByZWdpb25zICh1c2VkIGJ5IGxvYWQuKQ0KPiArICAgICAgLy8NCj4g KyAgICAgIE5hbWUoSEkxLDApICAgICAgICAvLyBIYW5kbGUgdG8gQVBJU1QNCj4gKyAgICAgIE5h bWUoSEMxLDApICAgICAgICAvLyBIYW5kbGUgdG8gQVBDU1QNCj4gKw0KPiArICAgICAgTWV0aG9k KF9QREMsMSkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIFJl ZmVyIHRvIFxfUFIuQ1BVMC5fUERDIGZvciBkZXNjcmlwdGlvbi4NCj4gKyAgICAgICAgICAvLw0K PiArICAgICAgICAgIFN0b3JlKFxfUFIuQ1BVMC5DUERDKEFyZzApLCBMb2NhbDApDQo+ICsgICAg ICAgICAgR0NBUChMb2NhbDApDQo+ICsgICAgICAgICAgLy9SZXR1cm4gKExvY2FsMCkNCj4gKyAg ICAgIH0NCj4gKw0KPiArICAgICAgTWV0aG9kKF9PU0MsIDQpDQo+ICsgICAgICB7DQo+ICsgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBSZWZlciB0byBcX1BSLkNQVTAuX09TQyBmb3IgZGVz Y3JpcHRpb24uDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBTdG9yZShcX1BSLkNQVTAu Q09TQyhBcmcwLCBBcmcxLCBBcmcyLCBBcmczKSwgTG9jYWwwKQ0KPiArICAgICAgICAgIEdDQVAo TG9jYWwwKQ0KPiArICAgICAgICAgIFJldHVybiAoTG9jYWwwKQ0KPiArICAgICAgfQ0KPiArDQo+ ICsgICAgICAvLw0KPiArICAgICAgLy8gR2V0IHRoZSBjYXBhYmlsaXR5IGluZm9ybWF0aW9uIGFu ZCBsb2FkIGFwcHJvcHJpYXRlIHRhYmxlcyBhcyBuZWVkZWQuDQo+ICsgICAgICAvLw0KPiArICAg ICAgTWV0aG9kKEdDQVAsIDEpDQo+ICsgICAgICB7DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAg ICAgICAvLyBQb2ludCB0byBTdGF0dXMgRFdPUkQgaW4gdGhlIEFyZzAgYnVmZmVyIChTVEFUVVMp DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEFyZzAsIDAs IFNUUzEpDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBQb2ludCB0byBDYXBzIERX T1JEcyBvZiB0aGUgQXJnMCBidWZmZXIgKENBUEFCSUxJVElFUykNCj4gKyAgICAgICAgICAvLw0K PiArICAgICAgICAgIENyZWF0ZUR3b3JkRmllbGQoQXJnMCwgNCwgQ0FQMSkNCj4gKyAgICAgICAg ICAvLw0KPiArICAgICAgICAgIC8vIElmIHRoZSBVVUlEIHdhcyB1bnJlY29nbml6ZWQgb3IgdGhl IF9PU0MgcmV2aXNpb24gd2FzDQo+IHVuc3VwcG9ydGVkLA0KPiArICAgICAgICAgIC8vIHJldHVy biB3aXRob3V0IHVwZGF0aW5nIGNhcGFiaWxpdGllcy4NCj4gKyAgICAgICAgICAvLw0KPiArICAg ICAgICAgIElmKExPcihMRXF1YWwoU1RTMSwweDYpLExFcXVhbChTVFMxLDB4QSkpKQ0KPiArICAg ICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgUmV0dXJuKCkNCj4gKyAgICAgICAgICB9DQo+ICsN Cj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBxdWVy eSAoQklUMCBvZiBTdGF0dXMgPSAxKS4NCj4gKyAgICAgICAgICAvLyBJZiBzbywgbWFzayBvZmYg dGhlIGJpdHMgd2Ugc3VwcG9ydCBhbmQgcmV0dXJuLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAg ICAgICAgaWYgKEFuZChTVFMxLCAxKSkNCj4gKyAgICAgICAgICB7DQo+ICsgICAgICAgICAgICAg IEFuZChDQVAxLCAweEJGRiwgQ0FQMSkNCj4gKyAgICAgICAgICAgICAgUmV0dXJuKCkNCj4gKyAg ICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIFN0b3JlIHJl c3VsdCBvZiBQREMuIChXZSBjbGVhciBvdXQgdGhlIE1TQiwgd2hpY2ggd2FzIGp1c3QNCj4gKyAg ICAgICAgICAvLyB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgZm9yIHRoZSBjb21waWxlcjsgYW5kIHRo ZW4gIk9SIiB0aGUNCj4gKyAgICAgICAgICAvLyB2YWx1ZSBpbiBjYXNlIHdlIGdldCBtdWx0aXBs ZSBjYWxscywgZWFjaCBvZiB3aGljaCBvbmx5DQo+ICsgICAgICAgICAgLy8gcmVwb3J0cyBwYXJ0 aWFsIHN1cHBvcnQuKQ0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgT3IoQW5kKFBEQzEs IDB4N0ZGRkZGRkYpLCBDQVAxLCBQREMxKQ0KPiArDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAg ICAgICAvLyBBdHRlbXB0IHRvIGR5bmFtaWNhbGx5IGxvYWQgdGhlIElTVCBTU0RUcyBpZjoNCj4g KyAgICAgICAgICAvLyAgICgxKSBEcml2ZXIgc3VwcG9ydHMgUC1TdGF0ZXMgaW4gTVAgY29uZmln dXJhdGlvbnMNCj4gKyAgICAgICAgICAvLyAgICgyKSBEcml2ZXIgc3VwcG9ydHMgZGlyZWN0IEhX IFAtU3RhdGUgY29udHJvbA0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gICBQREN4 WzNdICA9IE9TIHN1cHBvcnRzIEMxIGFuZCBQLXN0YXRlcyBpbiBNUCBzeXN0ZW1zDQo+ICsgICAg ICAgICAgLy8gICBQREN4WzBdICA9IE9TIHN1cHBvcnRzIGRpcmVjdCBhY2Nlc3Mgb2YgdGhlIHBl cmYgTVNSDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBJZihMRXF1YWwoQW5kKFBEQzAs IDB4MDAwOSksIDB4MDAwOSkpDQo+ICsgICAgICAgICAgew0KPiArICAgICAgICAgICAgICBBUFBU KCkNCj4gKyAgICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8v IExvYWQgdGhlIENTVCBTU0RUcyBpZjoNCj4gKyAgICAgICAgICAvLyAgICgxKSBEcml2ZXIgc3Vw cG9ydHMgbXVsdGktcHJvY2Vzc29yIGNvbmZpZ3VyYXRpb25zDQo+ICsgICAgICAgICAgLy8NCj4g KyAgICAgICAgICAvLyAgIFBEQ3hbM10gID0gT1Mgc3VwcG9ydHMgQzEgYW5kIFAtc3RhdGVzIGlu IE1QIHN5c3RlbXMNCj4gKyAgICAgICAgICAvLyAgIFBEQ3hbNF0gID0gT1Mgc3VwcG9ydHMgaW5k LiBDMi9DMyBpbiBNUCBzeXN0ZW1zDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBJZihB bmQoUERDMCwweDAwMTgpKQ0KPiArICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgQVBDVCgp DQo+ICsgICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgICAgUmV0dXJuKCkNCj4gKyAgICAgIH0N Cj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIER5bmFtaWNhbGx5IGxvYWQgdGhlIENTVCBT U0RUcyBpZjoNCj4gKyAgICAgIC8vICAgKDEpIEMtU3RhdGVzIGFyZSBlbmFibGVkDQo+ICsgICAg ICAvLyAgICgyKSBTU0RUIGlzIG5vdCBhbHJlYWR5IGxvYWRlZA0KPiArICAgICAgLy8NCj4gKyAg ICAgIC8vICAgQ0ZHRFsxMSw3LDIsMV0gPSBDNiwgQzQsIEMxRSwgQzEgQ2FwYWJsZS9FbmFibGVk DQo+ICsgICAgICAvLyAgIFNEVExbNV0gICA9IEFQIENTVCBTU0RUIExvYWRlZA0KPiArICAgICAg Ly8NCj4gKyAgICAgIE1ldGhvZChBUENULDApDQo+ICsgICAgICB7DQo+ICsgICAgICAgICAgSWYo TEFuZChBbmQoQ0ZHRCwweDgyKSxMTm90KEFuZChTRFRMLDB4MjApKSkpDQo+ICsgICAgICAgICAg ew0KPiArICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAvLyBGbGFnIHRoZSBDU1Qg U1NEVCBhcyBsb2FkZWQgZm9yIHRoZSBBUCdzDQo+ICsgICAgICAgICAgICAgIC8vDQo+ICsgICAg ICAgICAgICAgIE9yKFNEVEwsIDB4MjAsIFNEVEwpDQo+ICsgICAgICAgICAgICAgIC8vDQo+ICsg ICAgICAgICAgICAgIC8vIER5bmFtaWNhbGx5IGxvYWQgdGhlIEFQQ1NUIFNTRFQNCj4gKyAgICAg ICAgICAgICAgLy8NCj4gKw0KPiBPcGVyYXRpb25SZWdpb24oQ1NUMSxTeXN0ZW1NZW1vcnksRGVS ZWZPZihJbmRleChTU0RULDEwKSksRGVSZWZPZihJDQo+IG5kZXgoU1NEVCwxMSkpKQ0KPiArICAg ICAgICAgICAgICBMb2FkKENTVDEsIEhDMSkNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICB9DQo+ ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBEeW5hbWljYWxseSBsb2FkIHRoZSBJU1QgU1NE VHMgaWY6DQo+ICsgICAgICAvLyAgICgxKSBJZiBHVjMgY2FwYWJsZSBhbmQgZW5hYmxlZA0KPiAr ICAgICAgLy8gICAoMikgU1NEVCBpcyBub3QgYWxyZWFkeSBsb2FkZWQNCj4gKyAgICAgIC8vDQo+ ICsgICAgICAvLyAgIENGR0RbMF0gPSBHVjMgQ2FwYWJsZS9FbmFibGVkDQo+ICsgICAgICAvLyAg IFNEVExbNF0gPSBBUCBJU1QgU1NEVCBMb2FkZWQNCj4gKyAgICAgIC8vDQo+ICsgICAgICBNZXRo b2QoQVBQVCwwKQ0KPiArICAgICAgew0KPiArICAgICAgICAgIElmKExBbmQoQW5kKENGR0QsMHgw MSksTE5vdChBbmQoU0RUTCwweDEwKSkpKQ0KPiArICAgICAgICAgIHsNCj4gKyAgICAgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICAgICAgLy8gRmxhZyB0aGUgSVNUIFNTRFQgYXMgbG9hZGVkIGZv ciBDUFUwDQo+ICsgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgIE9yKFNEVEwsIDB4 MTAsIFNEVEwpDQo+ICsNCj4gKw0KPiBPcGVyYXRpb25SZWdpb24oSVNUMSxTeXN0ZW1NZW1vcnks RGVSZWZPZihJbmRleChTU0RULDQpKSxEZVJlZk9mKEluDQo+IGRleChTU0RULDUpKSkNCj4gKyAg ICAgICAgICAgICAgTG9hZChJU1QxLCBISTEpICAgIC8vIER5bmFtaWNhbGx5IGxvYWQgdGhlIENQ VTFJU1QgU1NEVA0KPiArICAgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKyAgfSAgICAvLyBFbmQg Q1BVMw0KPiArfSAvLyBFbmQgb2YgRGVmaW5pdGlvbiBCbG9jaw0KPiArDQo+ICsNCj4gKw0KPiBk aWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUGxhdGZvcm1CYXNlQWRkcmVzc2VzLmgN Cj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05v cnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QbGF0Zm9ybUJhc2VBZGRyZXNzZXMuaA0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4xZDIzMGZkZWNkDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxs ZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUGxhdGZvcm1CYXNlQWRkcmVzc2Vz LmgNCj4gQEAgLTAsMCArMSw5MiBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykg MjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKw0KPiArDQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBQbGF0 Zm9ybUJhc2VBZGRyZXNzZXMuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArDQo+ICsNCj4g K1JldmlzaW9uIEhpc3RvcnkNCj4gKw0KPiArKysqLw0KPiArDQo+ICsNCj4gKyNpZm5kZWYgX1BM QVRGT1JNX0JBU0VfQUREUkVTU0VTX0gNCj4gKyNkZWZpbmUgX1BMQVRGT1JNX0JBU0VfQUREUkVT U0VTX0gNCj4gKw0KPiArLy8NCj4gKy8vIERlZmluZSBzb21lIGZpeGVkIHBsYXRmb3JtIGRldmlj ZSBsb2NhdGlvbiBpbmZvcm1hdGlvbg0KPiArLy8NCj4gKw0KPiArLy8NCj4gKy8vIERlZmluZSBw bGF0Zm9ybSBiYXNlDQo+ICsvLw0KPiArDQo+ICsvLw0KPiArLy8gU0lPDQo+ICsvLw0KPiArI2Rl ZmluZSBTSU9fQkFTRV9BRERSRVNTICAgICAgICAgICAgICAgICAgMHgwNjgwDQo+ICsjZGVmaW5l IFNJT19NT05JVE9SSU5HX0JBU0VfQUREUkVTUyAgICAgICAweDAyOTANCj4gKyNkZWZpbmUgU0lP X0JBU0VfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4RkZGMA0KPiArI2RlZmluZSBXSU5EQk9O RF9FQ0lSX0JBU0VfQUREUkVTUyAgICAgICAgMHgwODEwDQo+ICsjZGVmaW5lIFNJT19NQUlMQk9Y X0JBU0VfQUREUkVTUyAgICAgICAgICAweDAzNjAgICAgLy8gVXNlZCBieSBFQw0KPiBjb250cm9s bGVyDQo+ICsjZGVmaW5lIFNJT19FQ19DSEFOTkVMMiAgICAgICAgICAgICAgICAgICAweDYyICAg ICAgLy8gVXNlZCBieSBFQyBjb250cm9sbGVyIGZvcg0KPiBvZmZzZXQgMHg2MiBhbmQgMHg2Ng0K PiArDQo+ICsNCj4gKy8vDQo+ICsvLyBTb3V0aCBDbHVzdGVyDQo+ICsvLw0KPiArI2RlZmluZSBB Q1BJX0JBU0VfQUREUkVTUyAgICAgICAgICAgICAgICAgMHgwNDAwDQo+ICsjZGVmaW5lIEdQSU9f QkFTRV9BRERSRVNTICAgICAgICAgICAgICAgICAweDA1MDANCj4gKyNkZWZpbmUgU01CVVNfQlVT X0RFVl9GVU5DICAgICAgICAgICAgICAgIDB4MUYwMzAwDQo+ICsjZGVmaW5lIFNNQlVTX0JBU0Vf QUREUkVTUyAgICAgICAgICAgICAgICAweEVGQTAgICAgIC8vIFNNQnVzIElPIEJhc2UNCj4gQWRk cmVzcw0KPiArI2RlZmluZSBTUElfQkFTRV9BRERSRVNTICAgICAgICAgICAgICAgICAgMHhGRUQw MTAwMCAvLyBTUEkgTWVtb3J5IEJhc2UNCj4gQWRkcmVzcw0KPiArI2RlZmluZSBQTUNfQkFTRV9B RERSRVNTICAgICAgICAgICAgICAgICAgMHhGRUQwMzAwMCAvLyBQTUMgTWVtb3J5IEJhc2UNCj4g QWRkcmVzcw0KPiArI2RlZmluZSBTTUJNX0JBU0VfQUREUkVTUyAgICAgICAgICAgICAgICAgMHhG RUQwNDAwMCAvLyBTTUJ1cyBNZW1vcnkNCj4gQmFzZSBBZGRyZXNzDQo+ICsjZGVmaW5lIElPX0JB U0VfQUREUkVTUyAgICAgICAgICAgICAgICAgICAweEZFRDBDMDAwIC8vIElPIE1lbW9yeSBCYXNl DQo+IEFkZHJlc3MNCj4gKyNkZWZpbmUgSUxCX0JBU0VfQUREUkVTUyAgICAgICAgICAgICAgICAg IDB4RkVEMDgwMDAgLy8gSUxCIE1lbW9yeSBCYXNlDQo+IEFkZHJlc3MNCj4gKyNkZWZpbmUgSFBF VF9CQVNFX0FERFJFU1MgICAgICAgICAgICAgICAgIDB4RkVEMDAwMDAgLy8gSFBFVCBCYXNlIEFk ZHJlc3MNCj4gKyNkZWZpbmUgUkNCQV9CQVNFX0FERFJFU1MgICAgICAgICAgICAgICAgIDB4RkVE MUMwMDAgLy8gUm9vdCBDb21wbGV4IEJhc2UNCj4gQWRkcmVzcw0KPiArI2RlZmluZSBNUEhZX0JB U0VfQUREUkVTUyAgICAgICAgICAgICAgICAgMHhGRUYwMDAwMCAvLyBNUEhZIE1lbW9yeSBCYXNl DQo+IEFkZHJlc3MNCj4gKyNkZWZpbmUgUFVOSVRfQkFTRV9BRERSRVNTICAgICAgICAgICAgICAg IDB4RkVEMDUwMDAgLy8gUFVuaXQgTWVtb3J5IEJhc2UNCj4gQWRkcmVzcw0KPiArDQo+ICsvLw0K PiArLy8gR1BJTyBHUk9VUCBPRkZTRVQNCj4gKy8vDQo+ICsjZGVmaW5lIEdQSU9fU0NPUkVfT0ZG U0VUICAgICAgICAgICAgICAgICAweDAwMDANCj4gKyNkZWZpbmUgR1BJT19OQ09SRV9PRkZTRVQg ICAgICAgICAgICAgICAgIDB4MTAwMA0KPiArI2RlZmluZSBHUElPX1NTVVNfT0ZGU0VUICAgICAg ICAgICAgICAgICAgMHgyMDAwDQo+ICsNCj4gKy8vDQo+ICsvLyBNQ0gvQ1BVDQo+ICsvLw0KPiAr I2RlZmluZSBETUlfQkFTRV9BRERSRVNTICAgICAgICAgICAgICAgICAgMHhGRUQxODAwMCAvLyA0 Sywgc2ltaWxhciB0bw0KPiBJSU9fUkNCQSAvLyBtb2RpZnkgZnJvbSBiZWFybGFrZSAtLSBjY2hl dzEwDQo+ICsjZGVmaW5lIEVQX0JBU0VfQUREUkVTUyAgICAgICAgICAgICAgICAgICAweEZFRDE5 MDAwDQo+ICsjZGVmaW5lIE1DX01NSU9fQkFTRSAgICAgICAgICAgICAgICAgICAgICAweEZFRDE0 MDAwIC8vIEJhc2UgQWRkcmVzcyBmb3IgTU1JTw0KPiByZWdpc3RlcnMNCj4gKw0KPiArLy8NCj4g Ky8vIFRQTQ0KPiArLy8NCj4gKyNkZWZpbmUgVFBNX0JBU0VfQUREUkVTUyAgICAgICAgICAgICAg ICAgIDB4RkVENDAwMDAgIC8vIEJhc2UgYWRkcmVzcyBmb3IgVFBNDQo+ICsNCj4gKy8vDQo+ICsv LyBMb2NhbCBhbmQgSS9PIEFQSUMgYWRkcmVzc2VzLg0KPiArLy8NCj4gKyNkZWZpbmUgSU9fQVBJ Q19BRERSRVNTICAgICAgICAgICAgICAgICAgIDB4RkVDMDAwMDANCj4gKyNkZWZpbmUgSUlPX0lP QVBJQ19BRERSRVNTICAgICAgICAgICAgICAgIDB4RkVDOTAwMDANCj4gKyNkZWZpbmUgTE9DQUxf QVBJQ19BRERSRVNTICAgICAgICAgICAgICAgIDB4RkVFMDAwMDANCj4gKw0KPiArDQo+ICsjZW5k aWYNCj4gKw0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvQ2Fw c3VsZS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3 MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL0NhcHN1bGUuaA0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45ODQ4NTcwMWFmDQo+IC0tLSAvZGV2L251 bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL0NhcHN1bGUuaA0KPiBAQCAtMCww ICsxLDYwIEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiAr TW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgQ2Fwc3VsZS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiAr DQo+ICsgIENhcHN1bGUgUFBJIGRlZmluaXRpb25zLg0KPiArDQo+ICstLSovDQo+ICsvLw0KPiAr Ly8NCj4gKyNpZm5kZWYgX1BFSV9DQVBTVUxFX1BQSV9IXw0KPiArI2RlZmluZSBfUEVJX0NBUFNV TEVfUFBJX0hfDQo+ICsNCj4gKyNkZWZpbmUgUEVJX0NBUFNVTEVfUFBJX0dVSUQgXA0KPiArICB7 IFwNCj4gKyAgICAweDNhY2YzM2VlLCAweGQ4OTIsIDB4NDBmNCwgMHhhMiwgMHhmYywgMHgzOCwg MHg1NCwgMHhkMiwgMHhlMSwgMHgzMiwgMHgzZA0KPiBcDQo+ICsgIH0NCj4gKw0KPiArRUZJX0ZP UldBUkRfREVDTEFSQVRJT04gKFBFSV9DQVBTVUxFX1BQSSk7DQo+ICsNCj4gK3R5cGVkZWYNCj4g K0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKlBFSV9DQVBTVUxFX0NPQUxFU0NFKSAoDQo+ICsgIElO IEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4g T1VUIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAqKk1lbW9yeUJhc2UsDQo+ICsgIElOIE9V VCBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgKk1lbVNpemUNCj4gKyAgKTsNCj4gKw0KPiAr dHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqUEVJX0NBUFNVTEVfQ1JFQVRFX1NU QVRFKSAoDQo+ICsgIElOIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICpDYXBzdWxlQmFzZSwgLy8gcmV0dXJuZWQgZnJv bSBjb2FsZXNjZQ0KPiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENh cHN1bGVTaXplICAgICAgICAgICAgICAgICAgIC8vIHJldHVybmVkIGZyb20gY29hbGVzY2UNCj4g KyAgKTsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqUEVJX0NB UFNVTEVfQ0hFQ0tfQ0FQU1VMRV9VUERBVEUpICgNCj4gKyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAg ICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBf UEVJX0NBUFNVTEVfUFBJIHsNCj4gKyAgUEVJX0NBUFNVTEVfQ09BTEVTQ0UgICAgICAgICAgICAg IENvYWxlc2NlOw0KPiArICBQRUlfQ0FQU1VMRV9DSEVDS19DQVBTVUxFX1VQREFURSAgQ2hlY2tD YXBzdWxlVXBkYXRlOw0KPiArICBQRUlfQ0FQU1VMRV9DUkVBVEVfU1RBVEUgICAgICAgICAgQ3Jl YXRlU3RhdGU7DQo+ICt9IFBFSV9DQVBTVUxFX1BQSTsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlE IGdQZWlDYXBzdWxlUHBpR3VpZDsNCj4gKw0KPiArI2VuZGlmIC8vICNpZm5kZWYgX1BFSV9DQVBT VUxFX1BQSV9IXw0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1BsYXRm b3JtTWVtb3J5UmFuZ2UuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cv VmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BwaS9QbGF0Zm9ybU1lbW9y eVJhbmdlLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNzM3 OGUyYzljYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Bw aS9QbGF0Zm9ybU1lbW9yeVJhbmdlLmgNCj4gQEAgLTAsMCArMSwxNDQgQEANCj4gKy8qKysNCj4g Kw0KPiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiAr ICBQbGF0Zm9ybU1lbW9yeVJhbmdlLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUGxh dGZvcm0gTWVtb3J5IFJhbmdlIFBQSSBhcyBkZWZpbmVkIGluIEVGSSAyLjANCj4gKw0KPiArICBQ UEkgZm9yIHJlc2VydmluZyBzcGVjaWFsIHB1cnBvc2UgbWVtb3J5IHJhbmdlcy4NCj4gKw0KPiAr LS0qLw0KPiArLy8NCj4gKy8vDQo+ICsjaWZuZGVmIF9QRUlfUExBVEZPUk1fTUVNT1JZX1JBTkdF X0hfDQo+ICsjZGVmaW5lIF9QRUlfUExBVEZPUk1fTUVNT1JZX1JBTkdFX0hfDQo+ICsNCj4gKyNk ZWZpbmUgUEVJX1BMQVRGT1JNX01FTU9SWV9SQU5HRV9QUElfR1VJRCBcDQo+ICsgIHsgXA0KPiAr ICAgIDB4MzBlYjI5NzksIDB4YjBmNywgMHg0ZDYwLCAweGIyLCAweGRjLCAweDFhLCAweDJjLCAw eDk2LCAweGNlLCAweGIxLCAweGY0DQo+IFwNCj4gKyAgfQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCBfUEVJX1BMQVRGT1JNX01FTU9SWV9SQU5HRV9QUEkNCj4gUEVJX1BMQVRGT1JNX01FTU9SWV9S QU5HRV9QUEkgOw0KPiArDQo+ICsjZGVmaW5lIFBFSV9NRU1PUllfUkFOR0VfT1BUSU9OX1JPTSBV SU5UMzINCj4gKw0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9BTEwgICAgICAgMHhGRkZG RkZGRg0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9OT05FICAgICAgMHgwMDAwMDAwMA0K PiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9DMDAwMF8xNksgMHgwMDAwMDAwMQ0KPiArI2Rl ZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9DNDAwMF8xNksgMHgwMDAwMDAwMg0KPiArI2RlZmluZSBQ RUlfTVJfT1BUSU9OX1JPTV9DODAwMF8xNksgMHgwMDAwMDAwNA0KPiArI2RlZmluZSBQRUlfTVJf T1BUSU9OX1JPTV9DQzAwMF8xNksgMHgwMDAwMDAwOA0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9O X1JPTV9EMDAwMF8xNksgMHgwMDAwMDAxMA0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9E NDAwMF8xNksgMHgwMDAwMDAyMA0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9EODAwMF8x NksgMHgwMDAwMDA0MA0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9EQzAwMF8xNksgMHgw MDAwMDA4MA0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9FMDAwMF8xNksgMHgwMDAwMDEw MA0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9FNDAwMF8xNksgMHgwMDAwMDIwMA0KPiAr I2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9FODAwMF8xNksgMHgwMDAwMDQwMA0KPiArI2RlZmlu ZSBQRUlfTVJfT1BUSU9OX1JPTV9FQzAwMF8xNksgMHgwMDAwMDgwMA0KPiArI2RlZmluZSBQRUlf TVJfT1BUSU9OX1JPTV9GMDAwMF8xNksgMHgwMDAwMTAwMA0KPiArI2RlZmluZSBQRUlfTVJfT1BU SU9OX1JPTV9GNDAwMF8xNksgMHgwMDAwMjAwMA0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JP TV9GODAwMF8xNksgMHgwMDAwNDAwMA0KPiArI2RlZmluZSBQRUlfTVJfT1BUSU9OX1JPTV9GQzAw MF8xNksgMHgwMDAwODAwMA0KPiArDQo+ICsvLw0KPiArLy8gU01SQU0gTWVtb3J5IFJhbmdlDQo+ ICsvLw0KPiArI2RlZmluZSBQRUlfTUVNT1JZX1JBTkdFX1NNUkFNICAgICAgVUlOVDMyDQo+ICsj ZGVmaW5lIFBFSV9NUl9TTVJBTV9BTEwgICAgICAgICAgICAweEZGRkZGRkZGDQo+ICsjZGVmaW5l IFBFSV9NUl9TTVJBTV9OT05FICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFBFSV9N Ul9TTVJBTV9DQUNIRUFCTEVfTUFTSyAweDgwMDAwMDAwDQo+ICsjZGVmaW5lIFBFSV9NUl9TTVJB TV9TRUdUWVBFX01BU0sgICAweDAwRkYwMDAwDQo+ICsjZGVmaW5lIFBFSV9NUl9TTVJBTV9BQlNF R19NQVNLICAgICAweDAwMDEwMDAwDQo+ICsjZGVmaW5lIFBFSV9NUl9TTVJBTV9IU0VHX01BU0sg ICAgICAweDAwMDIwMDAwDQo+ICsjZGVmaW5lIFBFSV9NUl9TTVJBTV9UU0VHX01BU0sgICAgICAw eDAwMDQwMDAwDQo+ICsvLw0KPiArLy8gSWYgYWRkaW5nIGFkZGl0aW9uYWwgZW50cmllcywgU01S QU0gU2l6ZQ0KPiArLy8gaXMgYSBtdWx0aXBsZSBvZiAxMjhLQi4NCj4gKy8vDQo+ICsjZGVmaW5l IFBFSV9NUl9TTVJBTV9TSVpFX01BU0sgICAgICAgICAgMHgwMDAwRkZGRg0KPiArI2RlZmluZSBQ RUlfTVJfU01SQU1fU0laRV8xMjhLX01BU0sgICAgIDB4MDAwMDAwMDENCj4gKyNkZWZpbmUgUEVJ X01SX1NNUkFNX1NJWkVfMjU2S19NQVNLICAgICAweDAwMDAwMDAyDQo+ICsjZGVmaW5lIFBFSV9N Ul9TTVJBTV9TSVpFXzUxMktfTUFTSyAgICAgMHgwMDAwMDAwNA0KPiArI2RlZmluZSBQRUlfTVJf U01SQU1fU0laRV8xMDI0S19NQVNLICAgIDB4MDAwMDAwMDgNCj4gKyNkZWZpbmUgUEVJX01SX1NN UkFNX1NJWkVfMjA0OEtfTUFTSyAgICAweDAwMDAwMDEwDQo+ICsjZGVmaW5lIFBFSV9NUl9TTVJB TV9TSVpFXzQwOTZLX01BU0sgICAgMHgwMDAwMDAyMA0KPiArI2RlZmluZSBQRUlfTVJfU01SQU1f U0laRV84MTkyS19NQVNLICAgIDB4MDAwMDAwNDANCj4gKw0KPiArI2RlZmluZSBQRUlfTVJfU01S QU1fQUJTRUdfMTI4S19OT0NBQ0hFIDB4MDAwMTAwMDENCj4gKyNkZWZpbmUgUEVJX01SX1NNUkFN X0hTRUdfMTI4S19DQUNIRSAgICAweDgwMDIwMDAxDQo+ICsjZGVmaW5lIFBFSV9NUl9TTVJBTV9I U0VHXzEyOEtfTk9DQUNIRSAgMHgwMDAyMDAwMQ0KPiArI2RlZmluZSBQRUlfTVJfU01SQU1fVFNF R18xMjhLX0NBQ0hFICAgIDB4ODAwNDAwMDENCj4gKyNkZWZpbmUgUEVJX01SX1NNUkFNX1RTRUdf MTI4S19OT0NBQ0hFICAweDAwMDQwMDAxDQo+ICsjZGVmaW5lIFBFSV9NUl9TTVJBTV9UU0VHXzI1 NktfQ0FDSEUgICAgMHg4MDA0MDAwMg0KPiArI2RlZmluZSBQRUlfTVJfU01SQU1fVFNFR18yNTZL X05PQ0FDSEUgIDB4MDAwNDAwMDINCj4gKyNkZWZpbmUgUEVJX01SX1NNUkFNX1RTRUdfNTEyS19D QUNIRSAgICAweDgwMDQwMDA0DQo+ICsjZGVmaW5lIFBFSV9NUl9TTVJBTV9UU0VHXzUxMktfTk9D QUNIRSAgMHgwMDA0MDAwNA0KPiArI2RlZmluZSBQRUlfTVJfU01SQU1fVFNFR18xMDI0S19DQUNI RSAgIDB4ODAwNDAwMDgNCj4gKyNkZWZpbmUgUEVJX01SX1NNUkFNX1RTRUdfMTAyNEtfTk9DQUNI RSAweDAwMDQwMDA4DQo+ICsNCj4gKy8vDQo+ICsvLyBHcmFwaGljcyBNZW1vcnkgUmFuZ2UNCj4g Ky8vDQo+ICsjZGVmaW5lIFBFSV9NRU1PUllfUkFOR0VfR1JBUEhJQ1NfTUVNT1JZICBVSU5UMzIN Cj4gKyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV9BTEwgICAgICAgIDB4RkZGRkZGRkYN Cj4gKyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV9OT05FICAgICAgIDB4MDAwMDAwMDAN Cj4gKyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV9DQUNIRUFCTEUgIDB4ODAwMDAwMDAN Cj4gKy8vDQo+ICsvLyBJZiBhZGRpbmcgYWRkaXRpb25hbCBlbnRyaWVzLCBHcmFwaGljcyBNZW1v cnkgU2l6ZQ0KPiArLy8gaXMgYSBtdWx0aXBsZSBvZiA1MTJLQi4NCj4gKy8vDQo+ICsjZGVmaW5l IFBFSV9NUl9HUkFQSElDU19NRU1PUllfU0laRV9NQVNLICAgIDB4MDAwMEZGRkYNCj4gKyNkZWZp bmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV81MTJLX05PQ0FDSEUgMHgwMDAwMDAwMQ0KPiArI2Rl ZmluZSBQRUlfTVJfR1JBUEhJQ1NfTUVNT1JZXzUxMktfQ0FDSEUgICAweDgwMDAwMDAxDQo+ICsj ZGVmaW5lIFBFSV9NUl9HUkFQSElDU19NRU1PUllfMU1fTk9DQUNIRSAgIDB4MDAwMDAwMDINCj4g KyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV8xTV9DQUNIRSAgICAgMHg4MDAwMDAwMg0K PiArI2RlZmluZSBQRUlfTVJfR1JBUEhJQ1NfTUVNT1JZXzRNX05PQ0FDSEUgICAweDAwMDAwMDA4 DQo+ICsjZGVmaW5lIFBFSV9NUl9HUkFQSElDU19NRU1PUllfNE1fQ0FDSEUgICAgIDB4ODAwMDAw MDgNCj4gKyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV84TV9OT0NBQ0hFICAgMHgwMDAw MDAxMA0KPiArI2RlZmluZSBQRUlfTVJfR1JBUEhJQ1NfTUVNT1JZXzhNX0NBQ0hFICAgICAweDgw MDAwMDEwDQo+ICsjZGVmaW5lIFBFSV9NUl9HUkFQSElDU19NRU1PUllfMTZNX05PQ0FDSEUgIDB4 MDAwMDAwMjANCj4gKyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV8xNk1fQ0FDSEUgICAg MHg4MDAwMDAyMA0KPiArI2RlZmluZSBQRUlfTVJfR1JBUEhJQ1NfTUVNT1JZXzMyTV9OT0NBQ0hF ICAweDAwMDAwMDQwDQo+ICsjZGVmaW5lIFBFSV9NUl9HUkFQSElDU19NRU1PUllfMzJNX0NBQ0hF ICAgIDB4ODAwMDAwNDANCj4gKyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV80OE1fTk9D QUNIRSAgMHgwMDAwMDA2MA0KPiArI2RlZmluZSBQRUlfTVJfR1JBUEhJQ1NfTUVNT1JZXzQ4TV9D QUNIRSAgICAweDgwMDAwMDYwDQo+ICsjZGVmaW5lIFBFSV9NUl9HUkFQSElDU19NRU1PUllfNjRN X05PQ0FDSEUgIDB4MDAwMDAwODANCj4gKyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01FTU9SWV82 NE1fQ0FDSEUgICAgMHg4MDAwMDA4MA0KPiArI2RlZmluZSBQRUlfTVJfR1JBUEhJQ1NfTUVNT1JZ XzEyOE1fTk9DQUNIRSAweDAwMDAwMTAwDQo+ICsjZGVmaW5lIFBFSV9NUl9HUkFQSElDU19NRU1P UllfMTI4TV9DQUNIRSAgIDB4ODAwMDAxMDANCj4gKyNkZWZpbmUgUEVJX01SX0dSQVBISUNTX01F TU9SWV8yNTZNX05PQ0FDSEUgMHgwMDAwMDIwMA0KPiArI2RlZmluZSBQRUlfTVJfR1JBUEhJQ1Nf TUVNT1JZXzI1Nk1fQ0FDSEUgICAweDgwMDAwMjAwDQo+ICsvLw0KPiArLy8gUGNpIE1lbW9yeSBI b2xlDQo+ICsvLw0KPiArI2RlZmluZSBQRUlfTUVNT1JZX1JBTkdFX1BDSV9NRU1PUlkgICAgICAg VUlOVDMyDQo+ICsjZGVmaW5lIFBFSV9NUl9QQ0lfTUVNT1JZX1NJWkVfNTEyTV9NQVNLICAweDAw MDAwMDAxDQo+ICsNCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKlBFSV9D SE9PU0VfUkFOR0VTKSAoDQo+ICsgIElOICAgICAgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAg ICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBQRUlfUExBVEZPUk1fTUVNT1JZX1JB TkdFX1BQSSAgICAgICAgICAgICAgKiBUaGlzLA0KPiArICBJTiBPVVQgIFBFSV9NRU1PUllfUkFO R0VfT1BUSU9OX1JPTSAgICAgICAgICAgKiBPcHRpb25Sb21NYXNrLA0KPiArICBJTiBPVVQgIFBF SV9NRU1PUllfUkFOR0VfU01SQU0gICAgICAgICAgICAgICAgKiBTbXJhbU1hc2ssDQo+ICsgIElO IE9VVCAgUEVJX01FTU9SWV9SQU5HRV9HUkFQSElDU19NRU1PUlkgICAgICAqDQo+IEdyYXBoaWNz TWVtb3J5TWFzaywNCj4gKyAgSU4gT1VUICBQRUlfTUVNT1JZX1JBTkdFX1BDSV9NRU1PUlkgICAg ICAgICAgICogUGNpTWVtb3J5TWFzaw0KPiArICApOw0KPiArDQo+ICtzdHJ1Y3QgX1BFSV9QTEFU Rk9STV9NRU1PUllfUkFOR0VfUFBJIHsNCj4gKyAgUEVJX0NIT09TRV9SQU5HRVMgQ2hvb3NlUmFu Z2VzOw0KPiArfTsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdQZWlQbGF0Zm9ybU1lbW9yeVJh bmdlUHBpR3VpZDsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0lu dGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNs dWQNCj4gZS9QcGkvUGxhdGZvcm1NZW1vcnlTaXplLmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Q cGkvUGxhdGZvcm1NZW1vcnlTaXplLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uYjE5YTE3ODczMg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVy L0luY2x1ZA0KPiBlL1BwaS9QbGF0Zm9ybU1lbW9yeVNpemUuaA0KPiBAQCAtMCwwICsxLDQ2IEBA DQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsgIFBsYXRmb3JtTWVtb3J5U2l6ZS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ ICsgIFBsYXRmb3JtIE1lbW9yeSBTaXplIFBQSSBhcyBkZWZpbmVkIGluIFRpYW5vDQo+ICsNCj4g KyAgUFBJIGZvciBkZXNjcmliaW5nIHRoZSBtaW5pbXVtIHBsYXRmb3JtIG1lbW9yeSBzaXplIGlu IG9yZGVyIHRvDQo+IHN1Y2Nlc3NmdWxseQ0KPiArICBwYXNzIGNvbnRyb2wgaW50byBEWEUNCj4g Kw0KPiArLS0qLw0KPiArLy8NCj4gKy8vDQo+ICsjaWZuZGVmIF9QRUlfUExBVEZPUk1fTUVNT1JZ X1NJWkVfSF8NCj4gKyNkZWZpbmUgX1BFSV9QTEFURk9STV9NRU1PUllfU0laRV9IXw0KPiArDQo+ ICsjZGVmaW5lIFBFSV9QTEFURk9STV9NRU1PUllfU0laRV9QUElfR1VJRCBcDQo+ICsgIHsgXA0K PiArICAgIDB4OWE3ZWY0MWUsIDB4YzE0MCwgMHg0YmQxLCAweGI4LCAweDg0LCAweDFlLCAweDEx LCAweDI0LCAweGIsIDB4NGMsIDB4ZTYNCj4gXA0KPiArICB9DQo+ICsNCj4gK0VGSV9GT1JXQVJE X0RFQ0xBUkFUSU9OIChQRUlfUExBVEZPUk1fTUVNT1JZX1NJWkVfUFBJKTsNCj4gKw0KPiArdHlw ZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqUEVJX0dFVF9NSU5JTVVNX1BMQVRGT1JN X01FTU9SWV9TSVpFKSAoDQo+ICsgIElOICAgICAgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAg ICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gUEVJX1BMQVRGT1JNX01FTU9SWV9T SVpFX1BQSSAgICAgICAgICAgICAgICAqIFRoaXMsDQo+ICsgIElOIE9VVCAgVUlOVDY0ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKk1lbW9yeVNpemUNCj4gKyAgKTsNCj4gKw0KPiAr dHlwZWRlZiBzdHJ1Y3QgX1BFSV9QTEFURk9STV9NRU1PUllfU0laRV9QUEkgew0KPiArICBQRUlf R0VUX01JTklNVU1fUExBVEZPUk1fTUVNT1JZX1NJWkUNCj4gR2V0UGxhdGZvcm1NZW1vcnlTaXpl Ow0KPiArfSBQRUlfUExBVEZPUk1fTUVNT1JZX1NJWkVfUFBJOw0KPiArDQo+ICtleHRlcm4gRUZJ X0dVSUQgZ1BlaVBsYXRmb3JtTWVtb3J5U2l6ZVBwaUd1aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBk aWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1NtbUFjY2Vzcy5oDQo+IGIvU2ls aWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0 ZXIvSW5jbHVkDQo+IGUvUHBpL1NtbUFjY2Vzcy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLmRkYTNmOGNhYmUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4g Yi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRo Q2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvU21tQWNjZXNzLmgNCj4gQEAgLTAsMCArMSwxNjUgQEAN Cj4gKy8vDQo+ICsvLw0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAyMDA5ICAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsN Cj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFNtbUFjY2Vzcy5oDQo+ICsNCj4gK0Fic3RyYWN0 Og0KPiArDQo+ICsgIFNtbUFjY2VzcyBQUEkNCj4gKw0KPiArICBUaGlzIGNvZGUgYWJzdHJhY3Rz IHRoZSBQRUkgY29yZSB0byBwcm92aWRlIFNtbUFjY2VzcyBzZXJ2aWNlcy4NCj4gKw0KPiArLS0q Lw0KPiArDQo+ICsjaWZuZGVmIF9QRUlfU01NX0FDQ0VTU19QUElfSF8NCj4gKyNkZWZpbmUgX1BF SV9TTU1fQUNDRVNTX1BQSV9IXw0KPiArDQo+ICsjaWZkZWYgRUNQX0ZMQUcNCj4gKyNpbmNsdWRl ICJHdWlkL1NtcmFtTWVtb3J5UmVzZXJ2ZS9TbXJhbU1lbW9yeVJlc2VydmUuaCINCj4gKyNlbHNl DQo+ICsjaW5jbHVkZSAiR3VpZC9TbXJhbU1lbW9yeVJlc2VydmUuaCINCj4gKyNlbmRpZg0KPiAr DQo+ICsjZGVmaW5lIFBFSV9TTU1fQUNDRVNTX1BQSV9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAg MHgyNjhmMzNhOSwgMHhjY2NkLCAweDQ4YmUsIDB4ODgsIDB4MTcsIDB4ODYsIDB4NSwgMHgzYSwg MHhjMywgMHgyZSwgMHhkNiBcDQo+ICsgIH0NCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3QgX1BFSV9T TU1fQUNDRVNTX1BQSSBQRUlfU01NX0FDQ0VTU19QUEk7DQo+ICsNCj4gK3R5cGVkZWYNCj4gK0VG SV9TVEFUVVMNCj4gKyhFRklBUEkgKlBFSV9TTU1fT1BFTikgKA0KPiArICBJTiBFRklfUEVJX1NF UlZJQ0VTICAgICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIFBFSV9TTU1fQUND RVNTX1BQSSAgICAgICAgICAgICAgKlRoaXMsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgICAgRGVzY3JpcHRvckluZGV4DQo+ICsgICkNCj4gKy8qKysNCj4gKw0KPiArICBS b3V0aW5lIERlc2NyaXB0aW9uOg0KPiArICAgIFRoaXMgcm91dGluZSBhY2NlcHRzIGEgcmVxdWVz dCB0byAib3BlbiIgYSByZWdpb24gb2YgU01SQU0uICBUaGUNCj4gKyAgICByZWdpb24gY291bGQg YmUgbGVnYWN5IEFCU0VHLCBIU0VHLCBvciBUU0VHIG5lYXIgdG9wIG9mIHBoeXNpY2FsIG1lbW9y eS4NCj4gKyAgICBUaGUgdXNlIG9mICJvcGVuIiBtZWFucyB0aGF0IHRoZSBtZW1vcnkgaXMgdmlz aWJsZSBmcm9tIGFsbCBQRUlNDQo+ICsgICAgYW5kIFNNTSBhZ2VudHMuDQo+ICsNCj4gKyAgQXJn dW1lbnRzOg0KPiArICAgIFBlaVNlcnZpY2VzICAgICAgICAgICAtIEdlbmVyYWwgcHVycG9zZSBz ZXJ2aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkgUEVJTS4NCj4gKyAgICBUaGlzICAgICAgICAgICAg ICAgICAgLSBQb2ludGVyIHRvIHRoZSBTTU0gQWNjZXNzIEludGVyZmFjZS4NCj4gKyAgICBEZXNj cmlwdG9ySW5kZXggICAgICAgLSBSZWdpb24gb2YgU01SQU0gdG8gT3Blbi4NCj4gKw0KPiArICBS ZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNTICAgICAgICAgICAtIFRoZSByZWdpb24gd2FzIHN1 Y2Nlc3NmdWxseSBvcGVuZWQuDQo+ICsgICAgRUZJX0RFVklDRV9FUlJPUiAgICAgIC0gVGhlIHJl Z2lvbiBjb3VsZCBub3QgYmUgb3BlbmVkIGJlY2F1c2UgbG9ja2VkDQo+IGJ5DQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2hpcHNldC4NCj4gKyAgICBFRklfSU5WQUxJRF9QQVJBTUVU RVIgLSBUaGUgZGVzY3JpcHRvciBpbmRleCB3YXMgb3V0IG9mIGJvdW5kcy4NCj4gKy0tKi8NCj4g KzsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqUEVJX1NNTV9D TE9TRSkgKA0KPiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAgICAgICoqUGVpU2Vy dmljZXMsDQo+ICsgIElOIFBFSV9TTU1fQUNDRVNTX1BQSSAgICAgICAgICAgICAgKlRoaXMsDQo+ ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRvckluZGV4DQo+ ICsgICkNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiArICAgIFRo aXMgcm91dGluZSBhY2NlcHRzIGEgcmVxdWVzdCB0byAiY2xvc2UiIGEgcmVnaW9uIG9mIFNNUkFN LiAgVGhlDQo+ICsgICAgcmVnaW9uIGNvdWxkIGJlIGxlZ2FjeSBBQiBvciBUU0VHIG5lYXIgdG9w IG9mIHBoeXNpY2FsIG1lbW9yeS4NCj4gKyAgICBUaGUgdXNlIG9mICJjbG9zZSIgbWVhbnMgdGhh dCB0aGUgbWVtb3J5IGlzIG9ubHkgdmlzaWJsZSBmcm9tIFNNTQ0KPiBhZ2VudHMsDQo+ICsgICAg bm90IGZyb20gUEVJTS4NCj4gKw0KPiArICBBcmd1bWVudHM6DQo+ICsgICAgUGVpU2VydmljZXMg ICAgICAgICAgIC0gR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVyeSBQ RUlNLg0KPiArICAgIFRoaXMgICAgICAgICAgICAgICAgICAtIFBvaW50ZXIgdG8gdGhlIFNNTSBB Y2Nlc3MgSW50ZXJmYWNlLg0KPiArICAgIERlc2NyaXB0b3JJbmRleCAgICAgICAtIFJlZ2lvbiBv ZiBTTVJBTSB0byBDbG9zZS4NCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNT ICAgICAgICAgICAtIFRoZSByZWdpb24gd2FzIHN1Y2Nlc3NmdWxseSBjbG9zZWQuDQo+ICsgICAg RUZJX0RFVklDRV9FUlJPUiAgICAgIC0gVGhlIHJlZ2lvbiBjb3VsZCBub3QgYmUgY2xvc2VkIGJl Y2F1c2UgbG9ja2VkIGJ5DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwc2V0 Lg0KPiArICAgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAtIFRoZSBkZXNjcmlwdG9yIGluZGV4IHdh cyBvdXQgb2YgYm91bmRzLg0KPiArDQo+ICstLSovDQo+ICs7DQo+ICsNCj4gK3R5cGVkZWYNCj4g K0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKlBFSV9TTU1fTE9DSykgKA0KPiArICBJTiBFRklfUEVJ X1NFUlZJQ0VTICAgICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIFBFSV9TTU1f QUNDRVNTX1BQSSAgICAgICAgICAgICAgKlRoaXMsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgICAgRGVzY3JpcHRvckluZGV4DQo+ICsgICkNCj4gKy8qKysNCj4gKw0KPiAr ICBSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiArICAgIFRoaXMgcm91dGluZSBhY2NlcHRzIGEgcmVx dWVzdCB0byAibG9jayIgU01SQU0uICBUaGUNCj4gKyAgICByZWdpb24gY291bGQgYmUgbGVnYWN5 IEFCIG9yIFRTRUcgbmVhciB0b3Agb2YgcGh5c2ljYWwgbWVtb3J5Lg0KPiArICAgIFRoZSB1c2Ug b2YgImxvY2siIG1lYW5zIHRoYXQgdGhlIG1lbW9yeSBjYW4gbm8gbG9uZ2VyIGJlIG9wZW5lZA0K PiArICAgIHRvIFBFSU0uDQo+ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIFBlaVNlcnZpY2Vz ICAgICAgICAgICAtIEdlbmVyYWwgcHVycG9zZSBzZXJ2aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkg UEVJTS4NCj4gKyAgICBUaGlzICAgICAgICAgICAgICAgICAgLSBQb2ludGVyIHRvIHRoZSBTTU0g QWNjZXNzIEludGVyZmFjZS4NCj4gKyAgICBEZXNjcmlwdG9ySW5kZXggICAgICAgLSBSZWdpb24g b2YgU01SQU0gdG8gTG9jay4NCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNT ICAgICAgICAgICAtIFRoZSByZWdpb24gd2FzIHN1Y2Nlc3NmdWxseSBsb2NrZWQuDQo+ICsgICAg RUZJX0RFVklDRV9FUlJPUiAgICAgIC0gVGhlIHJlZ2lvbiBjb3VsZCBub3QgYmUgbG9ja2VkIGJl Y2F1c2UgYXQgbGVhc3QNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmUgcmFuZ2Ug aXMgc3RpbGwgb3Blbi4NCj4gKyAgICBFRklfSU5WQUxJRF9QQVJBTUVURVIgLSBUaGUgZGVzY3Jp cHRvciBpbmRleCB3YXMgb3V0IG9mIGJvdW5kcy4NCj4gKw0KPiArLS0qLw0KPiArOw0KPiArDQo+ ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpQRUlfU01NX0NBUEFCSUxJVElF UykgKA0KPiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAgICAgICoqUGVpU2Vydmlj ZXMsDQo+ICsgIElOIFBFSV9TTU1fQUNDRVNTX1BQSSAgICAgICAgICAgICAgKlRoaXMsDQo+ICsg IElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgKlNtcmFtTWFwU2l6ZSwNCj4gKyAg SU4gT1VUIEVGSV9TTVJBTV9ERVNDUklQVE9SICAgICAgICAqU21yYW1NYXANCj4gKyAgKQ0KPiAr LyorKw0KPiArDQo+ICsgIFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAgVGhpcyByb3V0aW5l IHNlcnZpY2VzIGEgdXNlciByZXF1ZXN0IHRvIGRpc2NvdmVyIHRoZSBTTVJBTQ0KPiArICAgIGNh cGFiaWxpdGllcyBvZiB0aGlzIHBsYXRmb3JtLiAgVGhpcyB3aWxsIHJlcG9ydCB0aGUgcG9zc2li bGUNCj4gKyAgICByYW5nZXMgdGhhdCBhcmUgcG9zc2libGUgZm9yIFNNUkFNIGFjY2VzcywgYmFz ZWQgdXBvbiB0aGUNCj4gKyAgICBtZW1vcnkgY29udHJvbGxlciBjYXBhYmlsaXRpZXMuDQo+ICsN Cj4gKyAgQXJndW1lbnRzOg0KPiArICAgIFBlaVNlcnZpY2VzICAgICAgICAgICAtIEdlbmVyYWwg cHVycG9zZSBzZXJ2aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkgUEVJTS4NCj4gKyAgICBUaGlzICAg ICAgICAgICAgICAgICAgLSBQb2ludGVyIHRvIHRoZSBTTVJBTSBBY2Nlc3MgSW50ZXJmYWNlLg0K PiArICAgIFNtcmFtTWFwU2l6ZSAgICAgICAgICAtIFBvaW50ZXIgdG8gdGhlIHZhcmlhYmxlIGNv bnRhaW5pbmcgc2l6ZSBvZiB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1 ZmZlciB0byBjb250YWluIHRoZSBkZXNjcmlwdGlvbiBpbmZvcm1hdGlvbi4NCj4gKyAgICBTbXJh bU1hcCAgICAgICAgICAgICAgLSBCdWZmZXIgY29udGFpbmluZyB0aGUgZGF0YSBkZXNjcmliaW5n IHRoZSBTbXJhbQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaW9uIGRlc2Ny aXB0b3JzLg0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9CVUZGRVJfVE9PX1NNQUxMICAtIFRo ZSB1c2VyIGRpZCBub3QgcHJvdmlkZSBhIHN1ZmZpY2llbnQgYnVmZmVyLg0KPiArICAgIEVGSV9T VUNDRVNTICAgICAgICAgICAtIFRoZSB1c2VyIHByb3ZpZGVkIGEgc3VmZmljaWVudGx5LXNpemVk IGJ1ZmZlci4NCj4gKy0tKi8NCj4gKzsNCj4gKw0KPiArc3RydWN0IF9QRUlfU01NX0FDQ0VTU19Q UEkgew0KPiArICBQRUlfU01NX09QRU4gICAgICAgICAgT3BlbjsNCj4gKyAgUEVJX1NNTV9DTE9T RSAgICAgICAgIENsb3NlOw0KPiArICBQRUlfU01NX0xPQ0sgICAgICAgICAgTG9jazsNCj4gKyAg UEVJX1NNTV9DQVBBQklMSVRJRVMgIEdldENhcGFiaWxpdGllczsNCj4gKyAgQk9PTEVBTiAgICAg ICAgICAgICAgIExvY2tTdGF0ZTsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgIE9wZW5TdGF0 ZTsNCj4gK307DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnUGVpU21tQWNjZXNzUHBpR3VpZDsN Cj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZp Y2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkv Vmx2TW1pb1BvbGljeS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9W YWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1Zsdk1taW9Qb2xpY3ku aA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4wZDM1OWU2MDYy DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1Zsdk1t aW9Qb2xpY3kuaA0KPiBAQCAtMCwwICsxLDM5IEBADQo+ICsNCj4gKy8qKysNCj4gKw0KPiArQ29w eXJpZ2h0IChjKSAgMjAxMCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgVmx2TW1pb1BvbGlj eS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEludGVyZmFjZSBkZWZpbml0aW9uIGRl dGFpbHMgYmV0d2VlbiBWYWxsZXlWaWV3IHBsYXRmb3JtIGRyaXZlcnMgZHVyaW5nIFBFSQ0KPiBw aGFzZS4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIF9WTFZfTU1JT19QT0xJQ1lfUFBJ X0hfDQo+ICsjZGVmaW5lIF9WTFZfTU1JT19QT0xJQ1lfUFBJX0hfDQo+ICsNCj4gKyNkZWZpbmUg VkxWX01NSU9fUE9MSUNZX1BQSV9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAgMHhFNzY3QkY3Riwg MHg0REI2LCAweDVCMzQsIDB4MTAsIDB4MTEsIDB4NEYsIDB4QkUsIDB4NEMsIDB4QTcsIDB4QUYs DQo+IDB4RDIgXA0KPiArICB9DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnVmx2TW1pb1BvbGlj eVBwaUd1aWQ7DQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIE1SQyBQbGF0Zm9ybSBQb2xpY2l5IFBQ SQ0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9WTFZfTU1JT19QT0xJQ1lfUFBJIHsNCj4gKyAg VUlOVDE2ICAgICAgICAgICAgICAgICBNbWlvU2l6ZTsNCj4gK30gVkxWX01NSU9fUE9MSUNZX1BQ STsNCj4gKw0KPiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArI2VuZGlmIC8vIF9WTFZfTU1JT19Q T0xJQ1lfUFBJX0hfDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvVmx2 UGVpSW5pdC5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1ZsdlBlaUluaXQuaA0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5mOWY4ZTgxNmY1DQo+IC0tLSAv ZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9W YWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1ZsdlBlaUluaXQuaA0K PiBAQCAtMCwwICsxLDM1IEBADQo+ICsNCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAg MTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiAr DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsN Cj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgVmx2UGVpSW5pdC5oDQo+ICsNCj4gK0Fi c3RyYWN0Og0KPiArDQo+ICsgIEludGVyZmFjZSBkZWZpbml0aW9uIGJldHdlZW4gVmFsbGV5Vmll dyBNUkMgYW5kIFZsdkluaXRQZWltIGRyaXZlci4uDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lm bmRlZiBfVkxWX1BFSV9JTklUX0hfDQo+ICsjZGVmaW5lIF9WTFZfUEVJX0lOSVRfSF8NCj4gKw0K PiArLy8NCj4gKy8vIERlZmluZSB0aGUgVkxWIFBFSSBJbml0IFBQSSBHVUlEDQo+ICsvLw0KPiAr I2RlZmluZSBWTFZfUEVJX0lOSVRfUFBJX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweDllYTg5 MTEsIDB4YmUwZCwgMHg0MjMwLCAweGEwLCAweDMsIDB4ZWQsIDB4YzYsIDB4OTMsIDB4YjQsIDB4 OGUsIDB4MTEgXA0KPiArICB9DQo+ICsNCj4gKy8vDQo+ICsvLyBFeHRlcm4gdGhlIEdVSUQgZm9y IFBQSSB1c2Vycy4NCj4gKy8vDQo+ICtleHRlcm4gRUZJX0dVSUQgICAgIGdWbHZQZWlJbml0UHBp R3VpZDsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4g ZS9QcGkvVmx2UG9saWN5LmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtn L1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvVmx2UG9saWN5LmgN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMDdlYmZlM2ZiMQ0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BwaS9WbHZQb2xp Y3kuaA0KPiBAQCAtMCwwICsxLDEwNiBAQA0KPiArDQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdo dCAoYykgIDIwMTAgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFZsdlBvbGljeS5oDQo+ICsN Cj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEludGVyZmFjZSBkZWZpbml0aW9uIGRldGFpbHMgYmV0 d2VlbiBWYWxsZXlWaWV3IE1SQyBhbmQgcGxhdGZvcm0gZHJpdmVycw0KPiBkdXJpbmcgUEVJIHBo YXNlLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX1ZMVl9QT0xJQ1lfUFBJX0hfDQo+ ICsjZGVmaW5lIF9WTFZfUE9MSUNZX1BQSV9IXw0KPiArDQo+ICsvLw0KPiArLy8gTVJDIFBvbGlj eSBwcm92aWRlZCBieSBwbGF0Zm9ybSBmb3IgUEVJIHBoYXNlIHs3RDg0QjJDMi0yMkExLTQzNzIt DQo+IEIxMkMtRUJCMjMyRDNBNkEzfQ0KPiArLy8NCj4gKyNkZWZpbmUgVkxWX1BPTElDWV9QUElf R1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4N0Q4NEIyQzIsIDB4MjJBMSwgMHg0MzcyLCAweEIx LCAweDJDLCAweEVCLCAweEIyLCAweDMyLCAweEQzLCAweEE2LA0KPiAweEEzIFwNCj4gKyAgfQ0K PiArDQo+ICsvLw0KPiArLy8gRXh0ZXJuIHRoZSBHVUlEIGZvciBwcm90b2NvbCB1c2Vycy4NCj4g Ky8vDQo+ICtleHRlcm4gRUZJX0dVSUQgZ1ZsdlBvbGljeVBwaUd1aWQ7DQo+ICsNCj4gKy8vDQo+ ICsvLyBQUEkgcmV2aXNpb24gbnVtYmVyDQo+ICsvLyBBbnkgYmFja3dhcmRzIGNvbXBhdGlibGUg Y2hhbmdlcyB0byB0aGlzIFBQSSB3aWxsIHJlc3VsdCBpbiBhbiB1cGRhdGUgaW4NCj4gdGhlIHJl dmlzaW9uIG51bWJlcg0KPiArLy8gTWFqb3IgY2hhbmdlcyB3aWxsIHJlcXVpcmUgcHVibGljYXRp b24gb2YgYSBuZXcgUFBJDQo+ICsvLw0KPiArI2RlZmluZSBNUkNfUExBVEZPUk1fUE9MSUNZX1BQ SV9SRVZJU0lPTiAgMQ0KPiArDQo+ICsjaWZuZGVmIE1BWF9TT0NLRVRTDQo+ICsjZGVmaW5lIE1B WF9TT0NLRVRTIDQNCj4gKyNlbmRpZg0KPiArDQo+ICsjZGVmaW5lIFMzX1RJTUlOR19EQVRBX0xF TiAgICAgICAgICA5DQo+ICsjZGVmaW5lIFMzX1JFQURfVFJBSU5JTkdfREFUQV9MRU4gICAxNg0K PiArI2RlZmluZSBTM19XUklURV9UUkFJTklOR19EQVRBX0xFTiAgMTINCj4gKw0KPiArI2lmbmRl ZiBTM19SRVNUT1JFX0RBVEFfTEVODQo+ICsjZGVmaW5lIFMzX1JFU1RPUkVfREFUQV9MRU4gKFMz X1RJTUlOR19EQVRBX0xFTiArDQo+IFMzX1JFQURfVFJBSU5JTkdfREFUQV9MRU4gKyBTM19XUklU RV9UUkFJTklOR19EQVRBX0xFTikNCj4gKyNlbmRpZiAvLyBTM19SRVNUT1JFX0RBVEFfTEVODQo+ ICsjcHJhZ21hIHBhY2soMSkNCj4gKy8vDQo+ICsvLyBNUkMgUGxhdGZvcm0gRGF0YSBTdHJ1Y3R1 cmUNCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgU3BkQWRkcmVzc1Rh YmxlW01BWF9TT0NLRVRTXTsNCj4gKyAgVUlOVDggICBUU29uRGltbVNtYnVzQWRkcmVzc1tNQVhf U09DS0VUU107DQo+ICsNCj4gKyAgVUlOVDE2ICBTbWJ1c0JhcjsNCj4gKyAgVUlOVDMyICBJY2hS Y2JhOw0KPiArICBVSU5UMzIgIFdkYkJhc2VBZGRyZXNzOyAvLyBXcml0ZSBEYXRhIEJ1ZmZlciBh cmVhIChXQyBjYWNoaW5nIG1vZGUpDQo+ICsgIFVJTlQzMiAgV2RiUmVnaW9uU2l6ZTsNCj4gKyAg VUlOVDMyICBTbUJ1c0FkZHJlc3M7DQo+ICsgIFVJTlQ4ICAgVXNlckJkOw0KPiArICBVSU5UOCAg IFBsYXRmb3JtVHlwZTsNCj4gKyAgVUlOVDggICBGYXN0Qm9vdDsNCj4gKyAgVUlOVDggICBEeW5T UjsNCj4gK30gVkxWX1BMQVRGT1JNX0RBVEE7DQo+ICsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qg ew0KPiArICBVSU5UMTYgIE1taW9TaXplOw0KPiArICBVSU5UMTYgIEd0dFNpemU7DQo+ICsgIFVJ TlQ4ICAgSWdkRHZtdDUwUHJlQWxsb2M7DQo+ICsgIFVJTlQ4ICAgUHJpbWFyeURpc3BsYXk7DQo+ ICsgIFVJTlQ4ICAgUEFWUE1vZGU7DQo+ICsgIFVJTlQ4ICAgQXBlcnR1cmVTaXplOw0KPiArICBV SU5UOCAgIEludGVybmFsR3JhcGhpY3M7DQo+ICsgIFVJTlQ4ICAgSWdkVHVyYm9FbjsNCj4gK30g R1RfQ09ORklHVVJBVElPTjsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAg IEVjY1N1cHBvcnQ7DQo+ICsgIFVJTlQxNiAgRGRyRnJlcUxpbWl0Ow0KPiArICBVSU5UOCAgIE1h eFRvbHVkOw0KPiArfSBNRU1PUllfQ09ORklHVVJBVElPTjsNCj4gKw0KPiArDQo+ICsvLw0KPiAr Ly8gTVJDIFBsYXRmb3JtIFBvbGljaXkgUFBJDQo+ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3QgX1ZM Vl9QT0xJQ1lfUFBJIHsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgIFJldmlzaW9uOw0KPiAr ICBWTFZfUExBVEZPUk1fREFUQSAgICAgIFBsYXRmb3JtRGF0YTsNCj4gKyAgR1RfQ09ORklHVVJB VElPTiAgICAgIEd0Q29uZmlnOw0KPiArICBNRU1PUllfQ09ORklHVVJBVElPTiAgTWVtQ29uZmln Ow0KPiArICBWT0lEICAgICAgICAgICAgICAgICAgKlMzRGF0YVB0cjsgLy8gd2FzIGNhbGxlZCBN UkNfUEFSQU1TX1NBVkVfUkVTVE9SRQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgSVNQRW47 ICAgICAgICAgICAgLy9JU1AgKElVTklUKSBEZXZpY2UgRW5hYmxlZA0KPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgSVNQUGNpRGV2Q29uZmlnOyAgLy9JU1AgKElVTklUKSBEZXZpY2UgQ29uZmln OiAwLT5CMC9EMi9GMA0KPiBmb3IgV2luZG93IE9TLCAxLT5CMEQzL0YwIGZvciBMaW51eCBPUw0K PiArfSBWTFZfUE9MSUNZX1BQSTsNCj4gKw0KPiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArI2Vu ZGlmIC8vIF9WTFZfUE9MSUNZX1BQSV9IXw0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVk DQo+IGUvUHJvdG9jb2wvSWdkT3BSZWdpb24uaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3Rv Y29sL0lnZE9wUmVnaW9uLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uNWNmMTViZTNjNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1 ZA0KPiBlL1Byb3RvY29sL0lnZE9wUmVnaW9uLmgNCj4gQEAgLTAsMCArMSwyMTMgQEANCj4gKw0K PiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4g Kw0KPiArICBJZ2RPcFJlZ2lvbi5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIHRoZSBJR0QgT3BSZWdpb24gSW1wbGVtZW50YXRpb24uICBUaGUgSUdE IE9wUmVnaW9uIGlzDQo+ICsgIGFuIGludGVyZmFjZSBiZXR3ZWVuIHN5c3RlbSBCSU9TLCBBU0wg Y29kZSwgYW5kIEdyYXBoaWNzIGRyaXZlcnMuDQo+ICsNCj4gKyAgU3VwcG9ydGluZyBTcGVjaWZp Y3Rpb246IElHRCBPcFJlZ2lvbi9Tb2Z0d2FyZSBTQ0kgU1BFQw0KPiArDQo+ICsgIE5vdGU6ICBE YXRhIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiB0aGlzIHByb3RvY29sIGFyZSBwYWNrZWQgbm90IG5h dHVyYWxseQ0KPiArICAgIGFsaWduZWQuDQo+ICsNCj4gKyAgR1VJRCBmb3JtczoNCj4gKyAgICB7 Q0RDNUREREYtRTc5RC00MWVjLUE5QjAtNjU2NTQ5MERCOUQzfQ0KPiArICAgICgweGNkYzVkZGRm LCAweGU3OWQsIDB4NDFlYywgMHhhOSwgMHhiMCwgMHg2NSwgMHg2NSwgMHg0OSwgMHhkLCAweGI5 LA0KPiAweGQzKTsNCj4gKw0KPiArICBBY3JvbnltczoNCj4gKyAgICBOVlM6ICAgICAgICBBQ1BJ IE5vbiBWb2xhdGlsZSBTdG9yYWdlDQo+ICsgICAgT3BSZWdpb246ICAgQUNQSSBPcGVyYXRpb25h bCBSZWdpb24NCj4gKyAgICBWQlQ6ICAgICAgICBWaWRlbyBCSU9TIFRhYmxlIChPRU0gY3VzdG9t aXphYmxlIGRhdGEpDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfSUdEX09QUkVHSU9O X1BST1RPQ09MX0hfDQo+ICsjZGVmaW5lIF9JR0RfT1BSRUdJT05fUFJPVE9DT0xfSF8NCj4gKw0K PiArLy8NCj4gKy8vIE9wUmVnaW9uIC8gU29mdHdhcmUgU0NJIHByb3RvY29sIEdVSUQNCj4gKy8v DQo+ICsjZGVmaW5lIElHRF9PUFJFR0lPTl9QUk9UT0NPTF9HVUlEIFwNCj4gKyAgeyBcDQo+ICsg ICAgMHhjZGM1ZGRkZiwgMHhlNzlkLCAweDQxZWMsIDB4YTksIDB4YjAsIDB4NjUsIDB4NjUsIDB4 NDksIDB4ZCwgMHhiOSwgMHhkMw0KPiBcDQo+ICsgIH0NCj4gKw0KPiArLy8NCj4gKy8vIEV4dGVy biB0aGUgR1VJRCBmb3IgcHJvdG9jb2wgdXNlcnMuDQo+ICsvLw0KPiArZXh0ZXJuIEVGSV9HVUlE IGdJZ2RPcFJlZ2lvblByb3RvY29sR3VpZDsNCj4gKw0KPiArLy8NCj4gKy8vIEZvcndhcmQgcmVm ZXJlbmNlIGZvciBwdXJlIEFOU0kgY29tcGF0YWJpbGl0eQ0KPiArLy8NCj4gK3R5cGVkZWYgc3Ry dWN0IF9JR0RfT1BSRUdJT05fUFJPVE9DT0wgSUdEX09QUkVHSU9OX1BST1RPQ09MOw0KPiArDQo+ ICsvLw0KPiArLy8gUHJvdG9jb2wgZGF0YSBkZWZpbml0aW9ucw0KPiArLy8NCj4gKw0KPiArLy8N Cj4gKy8vIE9wUmVnaW9uIHN0cnVjdHVyZXM6DQo+ICsvLyBTdWItc3RydWN0dXJlcyBkZWZpbmUg dGhlIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgT3BSZWdpb24gZm9sbG93ZWQgYnkNCj4gdGhlDQo+ ICsvLyBtYWluIHN0cnVjdHVyZSByZXByZXNlbnRpbmcgdGhlIGVudGlyZSBPcFJlZ2lvbi4NCj4g Ky8vDQo+ICsvLyBOb3RlOiBUaGVzZSBzdHJ1Y3R1cmVzIGFyZSBwYWNrZWQgdG8gMSBieXRlIG9m ZnNldHMgYmVjYXVzZSB0aGUgZXhhY3QNCj4gKy8vIGRhdGEgbG9jYXRpb24gaXMgcmVxdXJlZCBi eSB0aGUgc3VwcG9ydGluZyBkZXNpZ24gc3BlY2lmaWNhdGlvbiBkdWUgdG8NCj4gKy8vIHRoZSBm YWN0IHRoYXQgdGhlIGRhdGEgaXMgdXNlZCBieSBBU0wgYW5kIEdyYXBoaWNzIGRyaXZlciBjb2Rl IGNvbXBpbGVkDQo+ICsvLyBzZXBhcmF0bHkuDQo+ICsvLw0KPiArDQo+ICsvLw0KPiArLy8gT3BS ZWdpb24gaGVhZGVyIChtYWlsYm94IDApIHN0cnVjdHVyZSBhbmQgI2RlZmluZXMuDQo+ICsvLw0K PiArI3ByYWdtYSBwYWNrICgxKQ0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBDSEFSOCAgIFNJ R05bMHgxMF07IC8vIDAgICAgICBPcFJlZ2lvbiBzaWduYXR1cmUNCj4gKyAgVUlOVDMyICBTSVpF OyAgICAgICAvLyAweDEwICAgT3BSZWdpb24gc2l6ZQ0KPiArICBVSU5UMzIgIE9WRVI7ICAgICAg IC8vIDB4MTQgICBPcFJlZ2lvbiBzdHJ1Y3R1cmUgdmVyc2lvbg0KPiArICBVSU5UOCAgIFNWRVJb MHgyMF07IC8vIDB4MTggICBTeXN0ZW0gQklPUyBidWlsZCB2ZXJzaW9uDQo+ICsgIFVJTlQ4ICAg VlZFUlsweDEwXTsgLy8gMHgzOCAgIFZpZGVvIEJJT1MgYnVpbGQgdmVyc2lvbg0KPiArICBVSU5U OCAgIEdWRVJbMHgxMF07IC8vIDB4NDggICBHcmFwaGljIGRyaXZlciBidWlsZCB2ZXJzaW9uDQo+ ICsgIFVJTlQzMiAgTUJPWDsgICAgICAgLy8gMHg1OCAgIE1haWxib3hlcyBzdXBwb3J0ZWQNCj4g KyAgVUlOVDMyICBETU9EOyAgICAgICAvLyAweDVDICAgRHJpdmVyIE1vZGVsDQo+ICsgIFVJTlQz MiAgUENPTjsgICAgICAgLy8gMHg2MCAgIFBsYXRmb3JtIENvbmZpZ3VyYXRpb24gSW5mbw0KPiAr ICBDSEFSOCAgIEdPUFZbMHgyMF07IC8vIDBYNjQgICBHT1AgYnVpbGQgdmVyc2lvbg0KPiArICBV SU5UOCAgIFJTVlsweDdDXTsgIC8vICAgICAgICBSZXNlcnZlZA0KPiArfSBPUFJFR0lPTl9IRUFE RVI7DQo+ICsjcHJhZ21hIHBhY2sgKCkNCj4gKw0KPiArLy8NCj4gKy8vIE9wUmVnaW9uIG1haWxi b3ggMSAocHVibGljIEFDUEkgTWV0aG9kcykuDQo+ICsvLw0KPiArI3ByYWdtYSBwYWNrICgxKQ0K PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgIERSRFk7ICAgICAvLyAwICAgIERyaXZl ciByZWFkaW5lc3MNCj4gKyAgVUlOVDMyICBDU1RTOyAgICAgLy8gNCAgICBTdGF0dXMNCj4gKyAg VUlOVDMyICBDRVZUOyAgICAgLy8gOCAgICBDdXJyZW50IGV2ZW50DQo+ICsgIFVJTlQ4ICAgUk0x MVsweDE0XTsgLy8gMTIgICBSZXNlcnZlZA0KPiArICBVSU5UMzIgIERJREw7ICAgICAgIC8vIDMy ICAgU3VwcG9ydGVkIGRpc3BsYXkgZGV2aWNlcyBsaXN0DQo+ICsgIFVJTlQzMiAgRERMMjsgICAg ICAgLy8gIDggRGV2aWNlcy4NCj4gKyAgVUlOVDMyICBEREwzOw0KPiArICBVSU5UMzIgIERETDQ7 DQo+ICsgIFVJTlQzMiAgRERMNTsNCj4gKyAgVUlOVDMyICBEREw2Ow0KPiArICBVSU5UMzIgIERE TDc7DQo+ICsgIFVJTlQzMiAgRERMODsNCj4gKyAgVUlOVDMyICBDUERMOyAgICAgICAvLyA2NCAg IEN1cnJlbnRseSBwcmVzZW50IGRpc3BsYXkgZGV2aWNlcyBsaXN0DQo+ICsgIFVJTlQzMiAgQ1BM MjsgICAgICAgLy8gIDggRGV2aWNlcy4NCj4gKyAgVUlOVDMyICBDUEwzOw0KPiArICBVSU5UMzIg IENQTDQ7DQo+ICsgIFVJTlQzMiAgQ1BMNTsNCj4gKyAgVUlOVDMyICBDUEw2Ow0KPiArICBVSU5U MzIgIENQTDc7DQo+ICsgIFVJTlQzMiAgQ1BMODsNCj4gKyAgVUlOVDMyICBDQURMOyAgICAgICAv LyA5NiAgIEN1cnJlbnRseSBhY3RpdmUgZGlzcGxheSBkZXZpY2VzIGxpc3QNCj4gKyAgVUlOVDMy ICBDQUwyOyAgICAgICAvLyAgOCBEZXZpY2VzLg0KPiArICBVSU5UMzIgIENBTDM7DQo+ICsgIFVJ TlQzMiAgQ0FMNDsNCj4gKyAgVUlOVDMyICBDQUw1Ow0KPiArICBVSU5UMzIgIENBTDY7DQo+ICsg IFVJTlQzMiAgQ0FMNzsNCj4gKyAgVUlOVDMyICBDQUw4Ow0KPiArICBVSU5UMzIgIE5BREw7ICAg ICAgIC8vIDEyOCAgTmV4dCBhY3RpdmUgZGV2aWNlIGxpc3QNCj4gKyAgVUlOVDMyICBOREwyOyAg ICAgICAvLyAgIDggRGV2aWNlcy4NCj4gKyAgVUlOVDMyICBOREwzOw0KPiArICBVSU5UMzIgIE5E TDQ7DQo+ICsgIFVJTlQzMiAgTkRMNTsNCj4gKyAgVUlOVDMyICBOREw2Ow0KPiArICBVSU5UMzIg IE5ETDc7DQo+ICsgIFVJTlQzMiAgTkRMODsNCj4gKyAgVUlOVDMyICBBU0xQOyAgICAgLy8gMTYw ICBBU0wgc2xlZXAgdGltZW91dA0KPiArICBVSU5UMzIgIFRJRFg7ICAgICAvLyAxNjQgIFRvZ2ds ZSB0YWJsZSBpbmRleA0KPiArICBVSU5UMzIgIENIUEQ7ICAgICAvLyAxNjggIEN1cnJlbnQgaG90 IHBsdWcgZW5hYmxlIGluZGljYXRvcg0KPiArICBVSU5UMzIgIENMSUQ7ICAgICAvLyAxNzIgIEN1 cnJlbnQgbGlkIHN0YXRlIGluZGljYXRvcg0KPiArICBVSU5UMzIgIENEQ0s7ICAgICAvLyAxNzYg IEN1cnJlbnQgZG9ja2luZyBzdGF0ZSBpbmRpY2F0b3INCj4gKyAgVUlOVDMyICBTWFNXOyAgICAg Ly8gMTgwICBEaXNwbGF5IFN3aXRjaCBub3RpZmljYXRpb24gb24gU3ggU3RhdGUgcmVzdW1lDQo+ ICsgIFVJTlQzMiAgRVZUUzsgICAgIC8vIDE4NCAgRXZlbnRzIHN1cHBvcnRlZCBieSBBU0wNCj4g KyAgVUlOVDMyICBDTk9UOyAgICAgLy8gMTg4ICBDdXJyZW50IE9TIE5vdGlmaWNhdGlvbg0KPiAr ICBVSU5UMzIgIE5SRFk7ICAgICAvLyAxOTIgIFJlYXNvbnMgZm9yIERSRFkgPSAwDQo+ICsgIFVJ TlQ4ICAgUk0xMlsweDNDXTsgLy8gMTk2ICBSZXNlcnZlZA0KPiArfSBPUFJFR0lPTl9NQk9YMTsN Cj4gKyNwcmFnbWEgcGFjayAoKQ0KPiArDQo+ICsvLw0KPiArLy8gT3BSZWdpb24gbWFpbGJveCAy IChTb2Z0d2FyZSBTQ0kgSW50ZXJmYWNlKS4NCj4gKy8vDQo+ICsjcHJhZ21hIHBhY2sgKDEpDQo+ ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAgU0NJQzsgICAgICAgLy8gMCAgICBTb2Z0 d2FyZSBTQ0kgZnVuY3Rpb24gbnVtYmVyIHBhcmFtZXRlcnMNCj4gKyAgVUlOVDMyICBQQVJNOyAg ICAgICAvLyA0ICAgIFNvZnR3YXJlIFNDSSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMNCj4gKyAgVUlO VDMyICBEU0xQOyAgICAgICAvLyA4ICAgIERyaXZlciBzbGVlcCB0aW1lb3V0DQo+ICsgIFVJTlQ4 ICAgUk0yMVsweEY0XTsgLy8gMTIgICBSZXNlcnZlZA0KPiArfSBPUFJFR0lPTl9NQk9YMjsNCj4g KyNwcmFnbWEgcGFjayAoKQ0KPiArDQo+ICsvLw0KPiArLy8gT3BSZWdpb24gbWFpbGJveCAzIChQ b3dlciBDb25zZXJ2YXRpb24pLg0KPiArLy8NCj4gKyNwcmFnbWEgcGFjayAoMSkNCj4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gKyAgVUlOVDMyICBBUkRZOyAgICAgICAvLyAwICAgIERyaXZlciByZWFk aW5lc3MNCj4gKyAgVUlOVDMyICBBU0xDOyAgICAgICAvLyA0ICAgIEFTTEUgaW50ZXJydXB0IGNv bW1hbmQgLyBzdGF0dXMNCj4gKyAgVUlOVDMyICBUQ0hFOyAgICAgICAvLyA4ICAgIFRlY2hub2xv Z3kgZW5hYmxlZCBpbmRpY2F0b3INCj4gKyAgVUlOVDMyICBBTFNJOyAgICAgICAvLyAxMiAgIEN1 cnJlbnQgQUxTIGlsbHVtaW5hbmNlIHJlYWRpbmcNCj4gKyAgVUlOVDMyICBCQ0xQOyAgICAgICAv LyAxNiAgIEJhY2tsaWdodCBicml0bmVzcyB0byBzZXQNCj4gKyAgVUlOVDMyICBQRklUOyAgICAg ICAvLyAyMCAgIFBhbmVsIGZpdHRpbmcgQ3VycmVudCBTdGF0ZSBvciBSZXF1ZXN0DQo+ICsgIFVJ TlQzMiAgQ0JMVjsgICAgICAgLy8gMjQgICBCcmlnaHRuZXNzIEN1cnJlbnQgU3RhdGUNCj4gKyAg VUlOVDE2ICBCQ0xNWzB4MTRdOyAvLyAyOCAgIEJhY2tsaWdodCBCcmlnaHRuZXNzIExldmVsIER1 dHkgQ3ljbGUgTWFwcGluZw0KPiBUYWJsZQ0KPiArICBVSU5UMzIgIENQRk07ICAgICAgIC8vIDY4 ICAgUGFuZWwgRml0dGluZyBDdXJyZW50IE1vZGUNCj4gKyAgVUlOVDMyICBFUEZNOyAgICAgICAv LyA3MiAgIEVuYWJsZWQgUGFuZWwgRml0dGluZyBNb2RlDQo+ICsgIFVJTlQ4ICAgUExVVFsweDRB XTsgLy8gNzYgICBQYW5lbCBMb29rIFVwIFRhYmxlDQo+ICsgIFVJTlQzMiAgUEZNQjsgICAgICAg Ly8gMTUwICBQV00gRnJlcXVlbmN5IGFuZCBNaW5pbXVtIEJyaWdodG5lc3MNCj4gKyAgVUlOVDMy ICBDQ0RWOyAgICAgICAvLyAxNTQgIENvbG9yIENvcnJlY3Rpb24gRGVmYXVsdCBWYWx1ZXMNCj4g KyAgVUlOVDMyICBQQ0ZUOyAgICAgICAvLyAxNTggIFBvd2VyIENvbnNlcnZhdGlvbiBGZWF0dXJl cw0KPiArICBVSU5UOCAgIFJNMzFbMHg1RV07IC8vIDE2MiAgUmVzZXJ2ZWQNCj4gK30gT1BSRUdJ T05fTUJPWDM7DQo+ICsjcHJhZ21hIHBhY2sgKCkNCj4gKw0KPiArLy8NCj4gKy8vIE9wUmVnaW9u IG1haWxib3ggNCAoVkJUKS4NCj4gKy8vDQo+ICsjcHJhZ21hIHBhY2sgKDEpDQo+ICt0eXBlZGVm IHN0cnVjdCB7DQo+ICsgIFVJTlQ4IEdWRDFbMHgxODAwXTsgLy8gNksgUmVzZXJ2ZWQNCj4gK30g T1BSRUdJT05fVkJUOw0KPiArI3ByYWdtYSBwYWNrICgpDQo+ICsNCj4gKyNwcmFnbWEgcGFjayAo MSkNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggRURJRE9WUkRbMHg0MDBdOyAvLyA2 SyBFZGlkIG92ZXJyaWRpbmcgZGF0YQ0KPiArfSBPUFJFR0lPTl9NQk9YNTsNCj4gKyNwcmFnbWEg cGFjayAoKQ0KPiArLy8NCj4gKy8vIEVudGlyZSBPcFJlZ2lvbg0KPiArLy8NCj4gKyNwcmFnbWEg cGFjayAoMSkNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgT1BSRUdJT05fSEVBREVSICBIZWFk ZXI7IC8vIE9wUmVnaW9uIGhlYWRlcg0KPiArICBPUFJFR0lPTl9NQk9YMSAgIE1Cb3gxOyAgLy8g TWFpbGJveCAxOiBQdWJsaWMgQUNQSSBNZXRob2RzDQo+ICsgIE9QUkVHSU9OX01CT1gyICAgTUJv eDI7ICAvLyBNYWlsYm94IDI6IFNvZnR3YXJlIFNDSSBJbnRlZmFjZQ0KPiArICBPUFJFR0lPTl9N Qk9YMyAgIE1Cb3gzOyAgLy8gTWFpbGJveCAzOiBQb3dlciBDb25zZXJ2YXRpb24NCj4gKyAgT1BS RUdJT05fVkJUICAgICAgICBWQlQ7ICAgIC8vIFZCVDogVmlkZW8gQklPUyBUYWJsZSAoT0VNIGN1 c3RvbWl6YWJsZQ0KPiBkYXRhKQ0KPiArICBPUFJFR0lPTl9NQk9YNSAgIE1Cb3g1Ow0KPiArfSBJ R0RfT1BSRUdJT05fU1RSVUM7DQo+ICsjcHJhZ21hIHBhY2sgKCkNCj4gKw0KPiArLy8NCj4gKy8v IFByb3RvY29sIGRhdGEgc3RydWN0dXJlIGRlZmluaXRpb24NCj4gKy8vDQo+ICtzdHJ1Y3QgX0lH RF9PUFJFR0lPTl9QUk9UT0NPTCB7DQo+ICsgIElHRF9PUFJFR0lPTl9TVFJVQyAgICAqT3BSZWdp b247DQo+ICt9Ow0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1 ZA0KPiBlL1Byb3RvY29sL01lbUluZm8uaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJl ZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29s L01lbUluZm8uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5m NWE1MWUwM2IwDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYy RGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUv UHJvdG9jb2wvTWVtSW5mby5oDQo+IEBAIC0wLDAgKzEsODMgQEANCj4gKw0KPiArLyorKw0KPiAr DQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNZW1J bmZvLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhpcyBwcm90b2NvbCBwcm92aWRl cyB0aGUgbWVtb3J5IGluZm9ybWF0aW9uIGRhdGEsIHN1Y2ggYXMNCj4gKyAgdG90YWwgcGh5c2lj YWwgbWVtb3J5IHNpemUsIG1lbW9yeSBmcmVxdWVuY3ksIG1lbW9yeSBzaXplDQo+ICsgIG9mIGVh Y2ggZGltbSBhbmQgcmFuay4NCj4gKw0KPiArICBUaGlzIHByb3RvY29sIGlzIEVGSSBjb21wYXRp YmxlLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX01FTV9JTkZPX1BST1RPQ09MX0hf DQo+ICsjZGVmaW5lIF9NRU1fSU5GT19QUk9UT0NPTF9IXw0KPiArDQo+ICsvLw0KPiArLy8gRGVm aW5lIHRoZSAgcHJvdG9jb2wgR1VJRA0KPiArLy8NCj4gKyNkZWZpbmUgTUVNX0lORk9fUFJPVE9D T0xfR1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4NmYyMGY3YzgsIDB4ZTVlZiwgMHg0ZjIxLCAw eDhkLCAweDE5LCAweGVkLCAweGM1LCAweGYwLCAweGM0LCAweDk2LCAweGFlIFwNCj4gKyAgfQ0K PiArDQo+ICsvLw0KPiArLy8gRXh0ZXJuIHRoZSBHVUlEIGZvciBwcm90b2NvbCB1c2Vycy4NCj4g Ky8vDQo+ICtleHRlcm4gRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgZ01lbUluZm9Qcm90b2Nv bEd1aWQ7DQo+ICsNCj4gKy8vDQo+ICsvLyBGb3J3YXJkIHJlZmVyZW5jZSBmb3IgQU5TSSBDIGNv bXBhdGliaWxpdHkNCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCBfTUVNX0lORk9fUFJPVE9DT0wg TUVNX0lORk9fUFJPVE9DT0w7DQo+ICsNCj4gKy8vDQo+ICsvLyBQcm90b2NvbCBkZWZpbml0aW9u cw0KPiArLy8NCj4gKw0KPiArI2RlZmluZSBDSF9OVU0gICAgMg0KPiArI2RlZmluZSBESU1NX05V TSAgMQ0KPiArI2RlZmluZSBSQU5LX05VTSAgMg0KPiArDQo+ICsjcHJhZ21hIHBhY2soMSkNCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDMyICBtZW1TaXplOw0KPiArICBVSU5UOCAgIGRk ckZyZXE7DQo+ICsgIFVJTlQ4ICAgZGRyVHlwZTsNCj4gKyAgQk9PTEVBTiBFY2NTdXBwb3J0Ow0K PiArICBVSU5UMTYgIGRpbW1TaXplW0NIX05VTSAqIERJTU1fTlVNXTsNCj4gKyAgVUlOVDggICBy ZXNlcnZlZDsNCj4gKyAgVUlOVDE2ICAgcmVzZXJ2ZWQyOw0KPiArfSBNRU1PUllfSU5GT19EQVRB Ow0KPiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArLyorKw0KPiArRGF0YSBkZWZpbml0aW9uOg0K PiArDQo+ICsgIG1lbVNpemUgICAgICAgICBUb3RhbCBwaHlzaWNhbCBtZW1vcnkgc2l6ZQ0KPiAr ICBkZHJGcmVxICAgICAgICAgRERSIEZyZXF1ZW5jeQ0KPiArICBFY2NTdXBwb3J0ICAgICAgRUND IFN1cHBvcnQNCj4gKyAgZGltbVNpemUgICAgICAgIERpbW0gU2l6ZQ0KPiArICBEaW1tRXhpc3Qg ICAgICAgRGltbSBQcmVzZW50IG9yIG5vdA0KPiArICBSYW5rSW5EaW1tICAgICAgTm8uIG9mIHJh bmtzIGluIGEgZGltbQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKy8vDQo+ICsvLyBQcm90b2NvbCBk ZWZpbml0aW9uDQo+ICsvLw0KPiArc3RydWN0IF9NRU1fSU5GT19QUk9UT0NPTCB7DQo+ICsgIE1F TU9SWV9JTkZPX0RBVEEgIE1lbUluZm9EYXRhOw0KPiArfTsNCj4gKw0KPiArI2VuZGlmDQo+IGRp ZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZp ZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9QbGF0Zm9ybUdvcFBvbGlj eS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvUGxhdGZvcm1Hb3BQb2xpY3kuaA0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5hODYyZTUwNWJjDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvUGxh dGZvcm1Hb3BQb2xpY3kuaA0KPiBAQCAtMCwwICsxLDY3IEBADQo+ICsvKisrDQo+ICsNCj4gK0Nv cHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArLyoqIEBmaWxlDQo+ICsqKi8NCj4g Kw0KPiArI2lmbmRlZiBfUExBVEZPUk1fR09QX1BPTElDWV9QUk9UT0NPTF9IXw0KPiArI2RlZmlu ZSBfUExBVEZPUk1fR09QX1BPTElDWV9QUk9UT0NPTF9IXw0KPiArDQo+ICsjZGVmaW5lIEVGSV9Q TEFURk9STV9HT1BfUE9MSUNZX1BST1RPQ09MX0dVSUQgXA0KPiArICB7IDB4ZWMyZTkzMWIsIDB4 MzI4MSwgMHg0OGE1LCAweDgxLCAweDcsIDB4ZGYsIDB4OGEsIDB4OGIsIDB4ZWQsIDB4M2MsIDB4 NWQgfQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9CTVBfSU1BR0VfR1VJRCBcDQo+ICsgIHsgMHg4NzhB QzJDQywgMHg1MzQzLCAweDQ2RjIsIDB4QjUsIDB4NjMsIDB4NTEsIDB4RjgsIDB4OUQsIDB4QUYs IDB4NTYsDQo+IDB4QkEgfQ0KPiArDQo+ICsjZGVmaW5lIFBMQVRGT1JNX0dPUF9QT0xJQ1lfUFJP VE9DT0xfUkVWSVNJT05fMDEgMHgwMQ0KPiArI2RlZmluZSBQTEFURk9STV9HT1BfUE9MSUNZX1BS T1RPQ09MX1JFVklTSU9OXzAyIHgwMjIyDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ ICt0eXBlZGVmIGVudW0gew0KPiArICBMaWRDbG9zZWQsDQo+ICsgIExpZE9wZW4sDQo+ICsgIExp ZFN0YXR1c01heA0KPiArfSBMSURfU1RBVFVTOw0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiAr ICBEb2NrZWQsDQo+ICsgIFVuRG9ja2VkLA0KPiArICBEb2NrU3RhdHVzTWF4DQo+ICt9IERPQ0tf U1RBVFVTOw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpHRVRf UExBVEZPUk1fTElEX1NUQVRVUykgKA0KPiArICBPVVQgTElEX1NUQVRVUyAqQ3VycmVudExpZFN0 YXR1cw0KPiArICApOw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJ ICpHRVRfVkJUX0RBVEEpICgNCj4gKyAgT1VUIEVGSV9QSFlTSUNBTF9BRERSRVNTICpWYnRBZGRy ZXNzLA0KPiArICBPVVQgVUlOVDMyICpWYnRTaXplDQo+ICsgICk7DQo+ICsNCj4gKyNwcmFnbWEg cGFjaygpDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IF9QTEFURk9STV9HT1BfUE9MSUNZX1BST1RP Q09MIHsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZpc2lvbjsN Cj4gKyAgR0VUX1BMQVRGT1JNX0xJRF9TVEFUVVMgICAgICAgICAgICBHZXRQbGF0Zm9ybUxpZFN0 YXR1czsNCj4gKyAgR0VUX1ZCVF9EQVRBICAgICAgICAgICAgICAgICAgICAgICBHZXRWYnREYXRh Ow0KPiArfSBQTEFURk9STV9HT1BfUE9MSUNZX1BST1RPQ09MOw0KPiArDQo+ICsvLw0KPiArLy8g RXh0ZXJuIHRoZSBHVUlEIGZvciBwcm90b2NvbCB1c2Vycy4NCj4gKy8vDQo+ICtleHRlcm4gRUZJ X0dVSUQgIGdQbGF0Zm9ybUdPUFBvbGljeUd1aWQ7DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCAg Z0JtcEltYWdlR3VpZDsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29u L0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9J bmNsdWQNCj4gZS9Qcm90b2NvbC9WbHZQbGF0Zm9ybVBvbGljeS5oDQo+IGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVk DQo+IGUvUHJvdG9jb2wvVmx2UGxhdGZvcm1Qb2xpY3kuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45Mzc1NmM1ZGVhDQo+IC0tLSAvZGV2L251bGwNCj4gKysr DQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9O b3J0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvVmx2UGxhdGZvcm1Qb2xpY3kuaA0KPiBA QCAtMCwwICsxLDEwNSBAQA0KPiArDQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5 OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0K PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFZsdlBsYXRmb3JtUG9saWN5LmgNCj4gKw0K PiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgSW50ZXJmYWNlIGRlZmluaXRpb24gZGV0YWlscyBiZXR3 ZWVuIE1DSCBhbmQgcGxhdGZvcm0gZHJpdmVycyBkdXJpbmcgRFhFDQo+IHBoYXNlLg0KPiArDQo+ ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX1ZMVl9QTEFURk9STV9QT0xJQ1lfSF8NCj4gKyNkZWZp bmUgX1ZMVl9QTEFURk9STV9QT0xJQ1lfSF8NCj4gKw0KPiArLy8NCj4gKy8vIFZMViBQb2xpY3kg cHJvdmlkZWQgYnkgcGxhdGZvcm0gZm9yIERYRSBwaGFzZSB7NUJBQjg4QkEtRTBFMi00Njc0LQ0K PiBCNkFELUI4MTJGNjg4MUNENn0NCj4gKy8vDQo+ICsjZGVmaW5lIERYRV9WTFZfUExBVEZPUk1f UE9MSUNZX0dVSUQgXA0KPiArICB7MHg1YmFiODhiYSwgMHhlMGUyLCAweDQ2NzQsIDB4YjYsIDB4 YWQsIDB4YjgsIDB4MTIsIDB4ZjYsIDB4ODgsIDB4MWMsDQo+IDB4ZDZ9DQo+ICsNCj4gKy8vDQo+ ICsvLyBFeHRlcm4gdGhlIEdVSUQgZm9yIHByb3RvY29sIHVzZXJzLg0KPiArLy8NCj4gK2V4dGVy biBFRklfR1VJRCBnRHhlVmx2UGxhdGZvcm1Qb2xpY3lHdWlkOw0KPiArDQo+ICsvLw0KPiArLy8g UHJvdG9jb2wgcmV2aXNpb24gbnVtYmVyDQo+ICsvLyBBbnkgYmFja3dhcmRzIGNvbXBhdGlibGUg Y2hhbmdlcyB0byB0aGlzIHByb3RvY29sIHdpbGwgcmVzdWx0IGluIGFuDQo+IHVwZGF0ZSBpbiB0 aGUgcmV2aXNpb24gbnVtYmVyDQo+ICsvLyBNYWpvciBjaGFuZ2VzIHdpbGwgcmVxdWlyZSBwdWJs aWNhdGlvbiBvZiBhIG5ldyBwcm90b2NvbA0KPiArLy8NCj4gKyNkZWZpbmUgRFhFX1ZMVl9QTEFU Rk9STV9QT0xJQ1lfUFJPVE9DT0xfUkVWSVNJT04gMA0KPiArDQo+ICsNCj4gK3R5cGVkZWYgc3Ry dWN0IHsNCj4gKyAgVUlOVDggIFBGSVRTdGF0dXM7DQo+ICsgIFVJTlQ4ICBJZ2RUaGVyYW1sU3Vw cG9ydDsNCj4gKyAgVUlOVDggIEFMU0VuYWJsZWQ7DQo+ICsgIFVJTlQ4ICBMaWRTdGF0dXM7DQo+ ICt9IElHRF9QQU5FTF9GRUFUVVJFUzsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBV SU5UOCAgIFJlc2VydmVkMDA7DQo+ICsgIFVJTlQ4ICAgUmVzZXJ2ZWQwMTsNCj4gKyAgVUlOVDE2 ICBSZXNlcnZlZDAyOw0KPiArICBVSU5UMTYgIFJlc2VydmVkMDM7DQo+ICsgIFVJTlQxNiAgUmVz ZXJ2ZWQwNDsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDA1Ow0KPiArICBVSU5UMTYgIFJlc2VydmVk MDY7DQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQwNzsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDA4Ow0K PiArICBVSU5UMTYgIFJlc2VydmVkMDk7DQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQwQTsNCj4gKyAg VUlOVDE2ICBSZXNlcnZlZDBCOw0KPiArICBVSU5UMTYgIFJlc2VydmVkMEM7DQo+ICsgIFVJTlQx NiAgUmVzZXJ2ZWQwRDsNCj4gKyAgVUlOVDggICBSZXNlcnZlZDBFOw0KPiArICBVSU5UOCAgIFJl c2VydmVkMEY7DQo+ICsgIFVJTlQzMiAgUmVzZXJ2ZWQxMDsNCj4gKyAgVUlOVDMyICBSZXNlcnZl ZDExOw0KPiArICBVSU5UMzIgIFJlc2VydmVkMTI7DQo+ICsgIFVJTlQzMiAgUmVzZXJ2ZWQxMzsN Cj4gKyAgVUlOVDMyICBSZXNlcnZlZDE0Ow0KPiArICBVSU5UOCAgIFJlc2VydmVkMTU7DQo+ICsg IFVJTlQ4ICAgUmVzZXJ2ZWQxNjsNCj4gK30gRFBURl9TRVRUSU5HUzsNCj4gKw0KPiArLy8NCj4g Ky8vIE1DSCBEWEUgUGxhdGZvcm0gUG9saWNpeQ0KPiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArLy8NCj4gKw0KPiArI2RlZmluZSBOT19BVURJ TyAgIDANCj4gKyNkZWZpbmUgSERfQVVESU8gICAxDQo+ICsjZGVmaW5lIExQRV9BVURJTyAgMg0K PiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfRFhFX1ZMVl9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0wg ew0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBSZXZpc2lvbjsNCj4gKyAgSUdEX1BBTkVM X0ZFQVRVUkVTICAgICAgSWdkUGFuZWxGZWF0dXJlczsNCj4gKyAgRFBURl9TRVRUSU5HUyAgICAg ICAgICAgUmVzZXJ2ZWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIEdyYXBoaWNSZXNl cnZlMDA7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIEdyYXBoaWNzUGVyZkFuYWx5emVy czsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgUHdtUmVzZXJ2ZWQwMDsNCj4gKyAgVUlO VDggICAgICAgICAgICAgICAgICAgUHdtUmVzZXJ2ZWQwMTsNCj4gKyAgVUlOVDggICAgICAgICAg ICAgICAgICAgUG1TdXBwb3J0Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBHcmFwaGlj UmVzZXJ2ZTAxOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBHZnhQYXVzZTsNCj4gKyAg VUlOVDggICAgICAgICAgICAgICAgICAgR3JhcGhpY3NGcmVxUmVxOw0KPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgICBHcmFwaGljUmVzZXJ2ZTAzOw0KPiArICBVSU5UOCAgICAgICAgICAgICAg ICAgICBHcmFwaGljUmVzZXJ2ZTAyOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBHcmFw aGljUmVzZXJ2ZTA0Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBQYXZwTW9kZTsNCj4g KyAgVUlOVDggICAgICAgICAgICAgICAgICAgR3JhcGhpY1Jlc2VydmUwNTsNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgVWxDbG9ja0dhdGluZzsNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgSWRsZVJlc2VydmU7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIEF1ZGlvVHlw ZVN1cHBvcnQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIEdyYXBoaWNSZXNlcnZlMDY7 DQo+ICt9IERYRV9WTFZfUExBVEZPUk1fUE9MSUNZX1BST1RPQ09MOw0KPiArDQo+ICsjZW5kaWYN Cj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFs bGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZA0KPiBlL1ZhbGxleXZpZXcuaA0KPiBiL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVz dGVyL0luY2x1ZA0KPiBlL1ZhbGxleXZpZXcuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi41ODllMzBiMWE4DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIv U2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENs dXN0ZXIvSW5jbHVkDQo+IGUvVmFsbGV5dmlldy5oDQo+IEBAIC0wLDAgKzEsNTUgQEANCj4gKw0K PiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1l Og0KPiArDQo+ICsgIFZhbGxleXZpZXcuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBU aGlzIGhlYWRlciBmaWxlIHByb3ZpZGVzIGNvbW1vbiBkZWZpbml0aW9ucyBqdXN0IGZvciBWYWxs ZXl2aWV3LVNPQyB1c2luZw0KPiB0byBhdm9pZCBpbmNsdWRpbmcgZXh0cmEgbW9kdWxlJ3MgZmls ZS4NCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfTUNfSF9JTkNMVURFRF8NCj4gKyNkZWZpbmUg X01DX0hfSU5DTFVERURfDQo+ICsvKg0KPiArPCBFeHRlbmRlZCBDb25maWd1cmF0aW9uIEJhc2Ug QWRkcmVzcy4qLw0KPiArI2RlZmluZSBFQ19CQVNFICAgICAgICAgICAgIDB4RTAwMDAwMDANCj4g Kw0KPiArLy8NCj4gKy8vIERFVklDRSAwIChNZW1yb3kgQ29udHJvbGxlciBIdWIpDQo+ICsvLw0K PiArI2RlZmluZSBNQ19CVVMgICAgICAgICAgMHgwMA0KPiArI2RlZmluZSBNQ19ERVYgICAgICAg ICAgMHgwMA0KPiArI2RlZmluZSBNQ19ERVYyICAgICAgICAgMHgwMg0KPiArI2RlZmluZSBNQ19G VU4gICAgICAgICAgMHgwMA0KPiArLy8gTkMgREVWIDAgVmVuZG9yIGFuZCBEZXZpY2UgSURzDQo+ ICsjZGVmaW5lIE1DX1ZJRCAgICAgICAgICAweDgwODYNCj4gKyNkZWZpbmUgTUNfRElEX09GRlNF VCAgIDB4MiAgICAgICAgIC8vRGV2aWNlIElkZW50aWZpY2F0aW9uDQo+ICsjZGVmaW5lIE1DX0dH Q19PRkZTRVQgICAweDUwICAgICAgICAvL0dNQ0ggR3JhcGhpY3MgQ29udHJvbCBSZWdpc3Rlcg0K PiArDQo+ICsvLw0KPiArLy8gRGV2aWNlIDIgUmVnaXN0ZXIgRXF1YXRlcw0KPiArLy8NCj4gKyNk ZWZpbmUgSUdEX0JVUyAgICAgICAgICAgICAweDAwDQo+ICsjZGVmaW5lIElHRF9ERVYgICAgICAg ICAgICAgMHgwMg0KPiArI2RlZmluZSBJR0RfRlVOXzAgICAgICAgICAgIDB4MDANCj4gKyNkZWZp bmUgSUdEX0ZVTl8xICAgICAgICAgICAweDAxDQo+ICsjZGVmaW5lIElHRF9ERVZfRlVOICAgICAg ICAgKElHRF9ERVYgPDwgMykNCj4gKyNkZWZpbmUgSUdEX0JVU19ERVZfRlVOICAgICAoTUNfQlVT IDw8IDgpICsgSUdEX0RFVl9GVU4NCj4gKyNkZWZpbmUgSUdEX1ZJRCAgICAgICAgICAgICAweDgw ODYNCj4gKyNkZWZpbmUgSUdEX0RJRCAgICAgICAgICAgICAweEEwMDENCj4gKyNkZWZpbmUgSUdE X01HR0NfT0ZGU0VUICAgICAweDAwNTAgICAgICAvL0dNQ0ggR3JhcGhpY3MgQ29udHJvbCBSZWdp c3Rlcg0KPiAweDUwDQo+ICsjZGVmaW5lIElHRF9CU01fT0ZGU0VUICAgICAgMHgwMDVDICAgICAg Ly9CYXNlIG9mIFN0b2xlbiBNZW1vcnkNCj4gKyNkZWZpbmUgSUdEX1NXU0NJX09GRlNFVCAgICAw eDAwRTAgICAgICAvL1NvZnR3YXJlIFNDSSAweEUwIDINCj4gKyNkZWZpbmUgSUdEX0FTTEVfT0ZG U0VUICAgICAweDAwRTQgICAgICAvL1N5c3RlbSBEaXNwbGF5IEV2ZW50IFJlZ2lzdGVyDQo+IDB4 RTQgNA0KPiArI2RlZmluZSBJR0RfQVNMU19PRkZTRVQgICAgIDB4MDBGQyAgICAgIC8vIEFTTCBT dG9yYWdlDQo+ICsjZGVmaW5lIElHRF9ESURfUVMgICAgICAgICAgMHgwQkUyICAgICAgLy9SQ092 ZXJyaWRlIC1hOiBGaXggdGhlIERJRCBlcnJvcg0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdp dA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2Mv Tm9ydGhDbHVzdGVyL0luY2x1ZA0KPiBlL1ZsdkFjY2Vzcy5oDQo+IGIvU2lsaWNvbi9JbnRlbC9W bHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Ob3J0aENsdXN0ZXIvSW5jbHVkDQo+ IGUvVmx2QWNjZXNzLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MC4uZDQ3MTkyMWVkYw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwv Vmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZA0K PiBlL1ZsdkFjY2Vzcy5oDQo+IEBAIC0wLDAgKzEsMjU0IEBADQo+ICsNCj4gKy8qKysNCj4gKw0K PiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICB2 bHZBY2Nlc3MuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBNYWNyb3MgdG8gc2ltcGxp ZnkgYW5kIGFic3RyYWN0IHRoZSBpbnRlcmZhY2UgdG8gUENJIGNvbmZpZ3VyYXRpb24uDQo+ICsN Cj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfVkxWQUNDRVNTX0hfSU5DTFVERURfDQo+ICsjZGVm aW5lIF9WTFZBQ0NFU1NfSF9JTkNMVURFRF8NCj4gKw0KPiArI2luY2x1ZGUgIlZhbGxleXZpZXcu aCINCj4gKyNpbmNsdWRlICJWbHZDb21tb25EZWZpbml0aW9ucy5oIg0KPiArI2luY2x1ZGUgPExp YnJhcnkvSW9MaWIuaD4NCj4gKw0KPiArLy8NCj4gKy8vIE1lbW9yeSBNYXBwZWQgSU8gYWNjZXNz IG1hY3JvcyB1c2VkIGJ5IE1TRyBCVVMgTElCUkFSWQ0KPiArLy8NCj4gKyNkZWZpbmUgTW1pb0Fk ZHJlc3MoIEJhc2VBZGRyLCBSZWdpc3RlciApIFwNCj4gKyAgKCAoVUlOVE4pQmFzZUFkZHIgKyBc DQo+ICsgICAgKFVJTlROKShSZWdpc3RlcikgXA0KPiArICApDQo+ICsNCj4gKw0KPiArLy8NCj4g Ky8vIFVJTlQzMg0KPiArLy8NCj4gKw0KPiArI2RlZmluZSBNbWlvMzJQdHIoIEJhc2VBZGRyLCBS ZWdpc3RlciApIFwNCj4gKyAgKCAodm9sYXRpbGUgVUlOVDMyICopTW1pb0FkZHJlc3MoIEJhc2VB ZGRyLCBSZWdpc3RlciApICkNCj4gKw0KPiArI2RlZmluZSBNbWlvMzIoIEJhc2VBZGRyLCBSZWdp c3RlciApIFwNCj4gKyAgKk1taW8zMlB0ciggQmFzZUFkZHIsIFJlZ2lzdGVyICkNCj4gKw0KPiAr I2RlZmluZSBNbWlvMzJPciggQmFzZUFkZHIsIFJlZ2lzdGVyLCBPckRhdGEgKSBcDQo+ICsgIE1t aW8zMiggQmFzZUFkZHIsIFJlZ2lzdGVyICkgPSBcDQo+ICsgICAgKFVJTlQzMikgKCBcDQo+ICsg ICAgICBNbWlvMzIoIEJhc2VBZGRyLCBSZWdpc3RlciApIHwgXA0KPiArICAgICAgKFVJTlQzMiko T3JEYXRhKSBcDQo+ICsgICAgKQ0KPiArDQo+ICsjZGVmaW5lIE1taW8zMkFuZCggQmFzZUFkZHIs IFJlZ2lzdGVyLCBBbmREYXRhICkgXA0KPiArICBNbWlvMzIoIEJhc2VBZGRyLCBSZWdpc3RlciAp ID0gXA0KPiArICAgIChVSU5UMzIpICggXA0KPiArICAgICAgTW1pbzMyKCBCYXNlQWRkciwgUmVn aXN0ZXIgKSAmIFwNCj4gKyAgICAgIChVSU5UMzIpKEFuZERhdGEpIFwNCj4gKyAgICApDQo+ICsN Cj4gKyNkZWZpbmUgTW1pbzMyQW5kVGhlbk9yKCBCYXNlQWRkciwgUmVnaXN0ZXIsIEFuZERhdGEs IE9yRGF0YSApIFwNCj4gKyAgTW1pbzMyKCBCYXNlQWRkciwgUmVnaXN0ZXIgKSA9IFwNCj4gKyAg ICAoVUlOVDMyKSAoIFwNCj4gKyAgICAgICggTW1pbzMyKCBCYXNlQWRkciwgUmVnaXN0ZXIgKSAm IFwNCj4gKyAgICAgICAgICAoVUlOVDMyKShBbmREYXRhKSBcDQo+ICsgICAgICApIHwgXA0KPiAr ICAgICAgKFVJTlQzMikoT3JEYXRhKSBcDQo+ICsgICAgKQ0KPiArDQo+ICsvLw0KPiArLy8gVUlO VDE2DQo+ICsvLw0KPiArDQo+ICsjZGVmaW5lIE1taW8xNlB0ciggQmFzZUFkZHIsIFJlZ2lzdGVy ICkgXA0KPiArICAoICh2b2xhdGlsZSBVSU5UMTYgKilNbWlvQWRkcmVzcyggQmFzZUFkZHIsIFJl Z2lzdGVyICkgKQ0KPiArDQo+ICsjZGVmaW5lIE1taW8xNiggQmFzZUFkZHIsIFJlZ2lzdGVyICkg XA0KPiArICAqTW1pbzE2UHRyKCBCYXNlQWRkciwgUmVnaXN0ZXIgKQ0KPiArDQo+ICsjZGVmaW5l IE1taW8xNk9yKCBCYXNlQWRkciwgUmVnaXN0ZXIsIE9yRGF0YSApIFwNCj4gKyAgTW1pbzE2KCBC YXNlQWRkciwgUmVnaXN0ZXIgKSA9IFwNCj4gKyAgICAoVUlOVDE2KSAoIFwNCj4gKyAgICAgIE1t aW8xNiggQmFzZUFkZHIsIFJlZ2lzdGVyICkgfCBcDQo+ICsgICAgICAoVUlOVDE2KShPckRhdGEp IFwNCj4gKyAgICApDQo+ICsNCj4gKyNkZWZpbmUgTW1pbzE2QW5kKCBCYXNlQWRkciwgUmVnaXN0 ZXIsIEFuZERhdGEgKSBcDQo+ICsgIE1taW8xNiggQmFzZUFkZHIsIFJlZ2lzdGVyICkgPSBcDQo+ ICsgICAgKFVJTlQxNikgKCBcDQo+ICsgICAgICBNbWlvMTYoIEJhc2VBZGRyLCBSZWdpc3RlciAp ICYgXA0KPiArICAgICAgKFVJTlQxNikoQW5kRGF0YSkgXA0KPiArICAgICkNCj4gKw0KPiArI2Rl ZmluZSBNbWlvMTZBbmRUaGVuT3IoIEJhc2VBZGRyLCBSZWdpc3RlciwgQW5kRGF0YSwgT3JEYXRh ICkgXA0KPiArICBNbWlvMTYoIEJhc2VBZGRyLCBSZWdpc3RlciApID0gXA0KPiArICAgIChVSU5U MTYpICggXA0KPiArICAgICAgKCBNbWlvMTYoIEJhc2VBZGRyLCBSZWdpc3RlciApICYgXA0KPiAr ICAgICAgICAgIChVSU5UMTYpKEFuZERhdGEpIFwNCj4gKyAgICAgICkgfCBcDQo+ICsgICAgICAo VUlOVDE2KShPckRhdGEpIFwNCj4gKyAgICApDQo+ICsNCj4gKy8vDQo+ICsvLyBVSU5UOA0KPiAr Ly8NCj4gKw0KPiArI2RlZmluZSBNbWlvOFB0ciggQmFzZUFkZHIsIFJlZ2lzdGVyICkgXA0KPiAr ICAoICh2b2xhdGlsZSBVSU5UOCAqKU1taW9BZGRyZXNzKCBCYXNlQWRkciwgUmVnaXN0ZXIgKSAp DQo+ICsNCj4gKyNkZWZpbmUgTW1pbzgoIEJhc2VBZGRyLCBSZWdpc3RlciApIFwNCj4gKyAgKk1t aW84UHRyKCBCYXNlQWRkciwgUmVnaXN0ZXIgKQ0KPiArDQo+ICsjZGVmaW5lIE1taW84T3IoIEJh c2VBZGRyLCBSZWdpc3RlciwgT3JEYXRhICkgXA0KPiArICBNbWlvOCggQmFzZUFkZHIsIFJlZ2lz dGVyICkgPSBcDQo+ICsgICAgKFVJTlQ4KSAoIFwNCj4gKyAgICAgIE1taW84KCBCYXNlQWRkciwg UmVnaXN0ZXIgKSB8IFwNCj4gKyAgICAgIChVSU5UOCkoT3JEYXRhKSBcDQo+ICsgICAgKQ0KPiAr DQo+ICsjZGVmaW5lIE1taW84QW5kKCBCYXNlQWRkciwgUmVnaXN0ZXIsIEFuZERhdGEgKSBcDQo+ ICsgIE1taW84KCBCYXNlQWRkciwgUmVnaXN0ZXIgKSA9IFwNCj4gKyAgICAoVUlOVDgpICggXA0K PiArICAgICAgTW1pbzgoIEJhc2VBZGRyLCBSZWdpc3RlciApICYgXA0KPiArICAgICAgKFVJTlQ4 KShBbmREYXRhKSBcDQo+ICsgICAgKQ0KPiArDQo+ICsjZGVmaW5lIE1taW84QW5kVGhlbk9yKCBC YXNlQWRkciwgUmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0YSApIFwNCj4gKyAgTW1pbzgoIEJhc2VB ZGRyLCBSZWdpc3RlciApID0gXA0KPiArICAgIChVSU5UOCkgKCBcDQo+ICsgICAgICAoIE1taW84 KCBCYXNlQWRkciwgUmVnaXN0ZXIgKSAmIFwNCj4gKyAgICAgICAgICAoVUlOVDgpKEFuZERhdGEp IFwNCj4gKyAgICAgICAgKSB8IFwNCj4gKyAgICAgIChVSU5UOCkoT3JEYXRhKSBcDQo+ICsgICAg KQ0KPiArDQo+ICsvLw0KPiArLy8gTVNHIEJVUyBBUEkNCj4gKy8vDQo+ICsNCj4gKyNkZWZpbmUg TVNHX0JVU19FTkFCTEVEICAgICAweDAwMDAwMEYwDQo+ICsjZGVmaW5lIE1TR0JVU19NQVNLSEkg ICAgICAgMHhGRkZGRkYwMA0KPiArI2RlZmluZSBNU0dCVVNfTUFTS0xPICAgICAgIDB4MDAwMDAw RkYNCj4gKw0KPiArI2RlZmluZSBNRVNTQUdFX0JZVEVfRU4gICAgICAgICAgQklUNA0KPiArI2Rl ZmluZSBNRVNTQUdFX1dPUkRfRU4gICAgICAgICAgQklUNCB8IEJJVDUNCj4gKyNkZWZpbmUgTUVT U0FHRV9EV09SRF9FTiAgICAgICAgIEJJVDQgfCBCSVQ1IHwgQklUNiB8IEJJVDcNCj4gKw0KPiAr I2RlZmluZSBTSURFQkFORF9PUENPREUgICAgICAgICAgMHg3OA0KPiArI2RlZmluZSBNRU1SRUFE X09QQ09ERSAgICAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBNRU1XUklURV9PUENPREUg ICAgICAgICAgMHgwMTAwMDAwMA0KPiArDQo+ICsNCj4gKw0KPiArLyoqKioqKioqKioqKioqKioq KioqKioqKioqKi8NCj4gKy8vDQo+ICsvLyBNZW1vcnkgbWFwcGVkIFBDSSBJTw0KPiArLy8NCj4g Kw0KPiArI2RlZmluZSBQY2lDZmdQdHIoQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciAp XA0KPiArICAgIChVSU5UTikoQnVzIDw8IDIwKSArIFwNCj4gKyAgICAoVUlOVE4pKERldmljZSA8 PCAxNSkgKyBcDQo+ICsgICAgKFVJTlROKShGdW5jdGlvbiA8PCAxMikgKyBcDQo+ICsgICAgKFVJ TlROKShSZWdpc3RlcikNCj4gKw0KPiArI2RlZmluZSBQY2lDZmczMlJlYWRfQ0Y4Q0ZDKEIsRCxG LFIpIFwNCj4gKw0KPiAoVUlOVDMyKShJb091dDMyKDB4Q0Y4LCgweDgwMDAwMDAwfChCPDwxNil8 KEQ8PDExKXwoRjw8OCl8KFIpKSksSW9JbjMyKA0KPiAweENGQykpDQo+ICsNCj4gKyNkZWZpbmUg UGNpQ2ZnMzJXcml0ZV9DRjhDRkMoQixELEYsUixEYXRhKSBcDQo+ICsNCj4gKElvT3V0MzIoMHhD RjgsKDB4ODAwMDAwMDB8KEI8PDE2KXwoRDw8MTEpfChGPDw4KXwoUikpKSxJb091dDMyKDB4Q0ZD LA0KPiBEYXRhKSkNCj4gKw0KPiArI2RlZmluZSBQY2lDZmczMk9yX0NGOENGQyhCLEQsRixSLE8p IFwNCj4gKyAgUGNpQ2ZnMzJXcml0ZV9DRjhDRkMoQixELEYsUiwgXA0KPiArICAgIChQY2lDZmcz MlJlYWRfQ0Y4Q0ZDKEIsRCxGLFIpIHwgKE8pKSkNCj4gKw0KPiArI2RlZmluZSBQY2lDZmczMkFu ZF9DRjhDRkMoQixELEYsUixBKSBcDQo+ICsgIFBjaUNmZzMyV3JpdGVfQ0Y4Q0ZDKEIsRCxGLFIs IFwNCj4gKyAgICAoUGNpQ2ZnMzJSZWFkX0NGOENGQyhCLEQsRixSKSAmIChBKSkpDQo+ICsNCj4g KyNkZWZpbmUgUGNpQ2ZnMzJBbmRUaGVuT3JfQ0Y4Q0ZDKEIsRCxGLFIsQSxPKSBcDQo+ICsgIFBj aUNmZzMyV3JpdGVfQ0Y4Q0ZDKEIsRCxGLFIsIFwNCj4gKyAgICAoUGNpQ2ZnMzJSZWFkX0NGOENG QyhCLEQsRixSKSAmIChBKSkgfCAoTykpDQo+ICsNCj4gKy8vDQo+ICsvLyBEZXZpY2UgMCwgRnVu Y3Rpb24gMA0KPiArLy8NCj4gKyNkZWZpbmUgTWNEMFBjaUNmZzY0KFJlZ2lzdGVyKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1tUGNpNjQgICAgICAgICAgICgwLCBNQ19CVVMsDQo+IDAs IDAsIFJlZ2lzdGVyKQ0KPiArI2RlZmluZSBNY0QwUGNpQ2ZnNjRPcihSZWdpc3RlciwgT3JEYXRh KSAgICAgICAgICAgICAgICAgICAgTW1QY2k2NE9yICAgICAgICAgKDAsDQo+IE1DX0JVUywgMCwg MCwgUmVnaXN0ZXIsIE9yRGF0YSkNCj4gKyNkZWZpbmUgTWNEMFBjaUNmZzY0QW5kKFJlZ2lzdGVy LCBBbmREYXRhKSAgICAgICAgICAgICAgICAgIE1tUGNpNjRBbmQgICAgICAgICgwLA0KPiBNQ19C VVMsIDAsIDAsIFJlZ2lzdGVyLCBBbmREYXRhKQ0KPiArI2RlZmluZSBNY0QwUGNpQ2ZnNjRBbmRU aGVuT3IoUmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0YSkNCj4gTW1QY2k2NEFuZFRoZW5PciAgKDAs IE1DX0JVUywgMCwgMCwgUmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0YSkNCj4gKw0KPiArI2RlZmlu ZSBNY0QwUGNpQ2ZnMzIoUmVnaXN0ZXIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW1Q Y2kzMiAgICAgICAgICAgKDAsIE1DX0JVUywNCj4gMCwgMCwgUmVnaXN0ZXIpDQo+ICsjZGVmaW5l IE1jRDBQY2lDZmczMk9yKFJlZ2lzdGVyLCBPckRhdGEpICAgICAgICAgICAgICAgICAgICBNbVBj aTMyT3IgICAgICAgICAoMCwNCj4gTUNfQlVTLCAwLCAwLCBSZWdpc3RlciwgT3JEYXRhKQ0KPiAr I2RlZmluZSBNY0QwUGNpQ2ZnMzJBbmQoUmVnaXN0ZXIsIEFuZERhdGEpICAgICAgICAgICAgICAg ICAgTW1QY2kzMkFuZCAgICAgICAgKDAsDQo+IE1DX0JVUywgMCwgMCwgUmVnaXN0ZXIsIEFuZERh dGEpDQo+ICsjZGVmaW5lIE1jRDBQY2lDZmczMkFuZFRoZW5PcihSZWdpc3RlciwgQW5kRGF0YSwg T3JEYXRhKQ0KPiBNbVBjaTMyQW5kVGhlbk9yICAoMCwgTUNfQlVTLCAwLCAwLCBSZWdpc3Rlciwg QW5kRGF0YSwgT3JEYXRhKQ0KPiArDQo+ICsjZGVmaW5lIE1jRDBQY2lDZmcxNihSZWdpc3Rlcikg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNbVBjaTE2ICAgICAgICAgICAoMCwgTUNfQlVT LA0KPiAwLCAwLCBSZWdpc3RlcikNCj4gKyNkZWZpbmUgTWNEMFBjaUNmZzE2T3IoUmVnaXN0ZXIs IE9yRGF0YSkgICAgICAgICAgICAgICAgICAgIE1tUGNpMTZPciAgICAgICAgICgwLA0KPiBNQ19C VVMsIDAsIDAsIFJlZ2lzdGVyLCBPckRhdGEpDQo+ICsjZGVmaW5lIE1jRDBQY2lDZmcxNkFuZChS ZWdpc3RlciwgQW5kRGF0YSkgICAgICAgICAgICAgICAgICBNbVBjaTE2QW5kICAgICAgICAoMCwN Cj4gTUNfQlVTLCAwLCAwLCBSZWdpc3RlciwgQW5kRGF0YSkNCj4gKyNkZWZpbmUgTWNEMFBjaUNm ZzE2QW5kVGhlbk9yKFJlZ2lzdGVyLCBBbmREYXRhLCBPckRhdGEpDQo+IE1tUGNpMTZBbmRUaGVu T3IgICgwLCBNQ19CVVMsIDAsIDAsIFJlZ2lzdGVyLCBBbmREYXRhLCBPckRhdGEpDQo+ICsNCj4g KyNkZWZpbmUgTWNEMFBjaUNmZzgoUmVnaXN0ZXIpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE1tUGNpOCAgICAgICAgICAgICgwLCBNQ19CVVMsIDAsDQo+IDAsIFJlZ2lzdGVyKQ0KPiAr I2RlZmluZSBNY0QwUGNpQ2ZnOE9yKFJlZ2lzdGVyLCBPckRhdGEpICAgICAgICAgICAgICAgICAg ICAgTW1QY2k4T3IgICAgICAgICAgKDAsDQo+IE1DX0JVUywgMCwgMCwgUmVnaXN0ZXIsIE9yRGF0 YSkNCj4gKyNkZWZpbmUgTWNEMFBjaUNmZzhBbmQoUmVnaXN0ZXIsIEFuZERhdGEpICAgICAgICAg ICAgICAgICAgIE1tUGNpOEFuZCAgICAgICAgICgwLA0KPiBNQ19CVVMsIDAsIDAsIFJlZ2lzdGVy LCBBbmREYXRhKQ0KPiArI2RlZmluZSBNY0QwUGNpQ2ZnOEFuZFRoZW5PciggUmVnaXN0ZXIsIEFu ZERhdGEsIE9yRGF0YSApDQo+IE1tUGNpOEFuZFRoZW5PciAgICgwLCBNQ19CVVMsIDAsIDAsIFJl Z2lzdGVyLCBBbmREYXRhLCBPckRhdGEpDQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIERldmljZSAy LCBGdW5jdGlvbiAwDQo+ICsvLw0KPiArI2RlZmluZSBNY0QyUGNpQ2ZnNjQoUmVnaXN0ZXIpICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTW1QY2k2NCAgICAgICAgICAgKDAsIE1DX0JVUywN Cj4gMiwgMCwgUmVnaXN0ZXIpDQo+ICsjZGVmaW5lIE1jRDJQY2lDZmc2NE9yKFJlZ2lzdGVyLCBP ckRhdGEpICAgICAgICAgICAgICAgICAgICBNbVBjaTY0T3IgICAgICAgICAoMCwNCj4gTUNfQlVT LCAyLCAwLCBSZWdpc3RlciwgT3JEYXRhKQ0KPiArI2RlZmluZSBNY0QyUGNpQ2ZnNjRBbmQoUmVn aXN0ZXIsIEFuZERhdGEpICAgICAgICAgICAgICAgICAgTW1QY2k2NEFuZCAgICAgICAgKDAsDQo+ IE1DX0JVUywgMiwgMCwgUmVnaXN0ZXIsIEFuZERhdGEpDQo+ICsjZGVmaW5lIE1jRDJQY2lDZmc2 NEFuZFRoZW5PcihSZWdpc3RlciwgQW5kRGF0YSwgT3JEYXRhKQ0KPiBNbVBjaTY0QW5kVGhlbk9y ICAoMCwgTUNfQlVTLCAyLCAwLCBSZWdpc3RlciwgQW5kRGF0YSwgT3JEYXRhKQ0KPiArDQo+ICsj ZGVmaW5lIE1jRDJQY2lDZmczMihSZWdpc3RlcikgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNbVBjaTMyICAgICAgICAgICAoMCwgTUNfQlVTLA0KPiAyLCAwLCBSZWdpc3RlcikNCj4gKyNk ZWZpbmUgTWNEMlBjaUNmZzMyT3IoUmVnaXN0ZXIsIE9yRGF0YSkgICAgICAgICAgICAgICAgICAg IE1tUGNpMzJPciAgICAgICAgICgwLA0KPiBNQ19CVVMsIDIsIDAsIFJlZ2lzdGVyLCBPckRhdGEp DQo+ICsjZGVmaW5lIE1jRDJQY2lDZmczMkFuZChSZWdpc3RlciwgQW5kRGF0YSkgICAgICAgICAg ICAgICAgICBNbVBjaTMyQW5kICAgICAgICAoMCwNCj4gTUNfQlVTLCAyLCAwLCBSZWdpc3Rlciwg QW5kRGF0YSkNCj4gKyNkZWZpbmUgTWNEMlBjaUNmZzMyQW5kVGhlbk9yKFJlZ2lzdGVyLCBBbmRE YXRhLCBPckRhdGEpDQo+IE1tUGNpMzJBbmRUaGVuT3IgICgwLCBNQ19CVVMsIDIsIDAsIFJlZ2lz dGVyLCBBbmREYXRhLCBPckRhdGEpDQo+ICsNCj4gKyNkZWZpbmUgTWNEMlBjaUNmZzE2KFJlZ2lz dGVyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1tUGNpMTYgICAgICAgICAgICgwLCBN Q19CVVMsDQo+IDIsIDAsIFJlZ2lzdGVyKQ0KPiArI2RlZmluZSBNY0QyUGNpQ2ZnMTZPcihSZWdp c3RlciwgT3JEYXRhKSAgICAgICAgICAgICAgICAgICAgTW1QY2kxNk9yICAgICAgICAgKDAsDQo+ IE1DX0JVUywgMiwgMCwgUmVnaXN0ZXIsIE9yRGF0YSkNCj4gKyNkZWZpbmUgTWNEMlBjaUNmZzE2 QW5kKFJlZ2lzdGVyLCBBbmREYXRhKSAgICAgICAgICAgICAgICAgIE1tUGNpMTZBbmQgICAgICAg ICgwLA0KPiBNQ19CVVMsIDIsIDAsIFJlZ2lzdGVyLCBBbmREYXRhKQ0KPiArI2RlZmluZSBNY0Qy UGNpQ2ZnMTZBbmRUaGVuT3IoUmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0YSkNCj4gTW1QY2kxNkFu ZFRoZW5PciAgKDAsIE1DX0JVUywgMiwgMCwgUmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0YSkNCj4g Kw0KPiArI2RlZmluZSBNY0QyUGNpQ2ZnOChSZWdpc3RlcikgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTW1QY2k4ICAgICAgICAgICAgKDAsIE1DX0JVUywgMiwNCj4gMCwgUmVnaXN0ZXIp DQo+ICsjZGVmaW5lIE1jRDJQY2lDZmc4T3IoUmVnaXN0ZXIsIE9yRGF0YSkgICAgICAgICAgICAg ICAgICAgICBNbVBjaThPciAgICAgICAgICAoMCwNCj4gTUNfQlVTLCAyLCAwLCBSZWdpc3Rlciwg T3JEYXRhKQ0KPiArI2RlZmluZSBNY0QyUGNpQ2ZnOEFuZChSZWdpc3RlciwgQW5kRGF0YSkgICAg ICAgICAgICAgICAgICAgTW1QY2k4QW5kICAgICAgICAgKDAsDQo+IE1DX0JVUywgMiwgMCwgUmVn aXN0ZXIsIEFuZERhdGEpDQo+ICsNCj4gKy8vDQo+ICsvLyBJTw0KPiArLy8NCj4gKw0KPiArI2lm bmRlZiBJb0luOA0KPiArDQo+ICsjZGVmaW5lIElvSW44KFBvcnQpIFwNCj4gKyAgSW9SZWFkOChQ b3J0KQ0KPiArDQo+ICsjZGVmaW5lIElvSW4xNihQb3J0KSBcDQo+ICsgIElvUmVhZDE2KFBvcnQp DQo+ICsNCj4gKyNkZWZpbmUgSW9JbjMyKFBvcnQpIFwNCj4gKyAgSW9SZWFkMzIoUG9ydCkNCj4g Kw0KPiArI2RlZmluZSBJb091dDgoUG9ydCwgRGF0YSkgXA0KPiArICBJb1dyaXRlOChQb3J0LCBE YXRhKQ0KPiArDQo+ICsjZGVmaW5lIElvT3V0MTYoUG9ydCwgRGF0YSkgXA0KPiArICBJb1dyaXRl MTYoUG9ydCwgRGF0YSkNCj4gKw0KPiArI2RlZmluZSBJb091dDMyKFBvcnQsIERhdGEpIFwNCj4g KyAgSW9Xcml0ZTMyKFBvcnQsIERhdGEpDQo+ICsNCj4gKyNlbmRpZg0KPiArDQo+ICsjZW5kaWYN Cj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFs bGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZA0KPiBlL1ZsdkNvbW1vbkRlZmluaXRpb25z LmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29j L05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9WbHZDb21tb25EZWZpbml0aW9ucy5oDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjRhNTIxMTU0ZDkNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zh bGxleVZpZXcyU29jL05vcnRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9WbHZDb21tb25EZWZpbml0aW9u cy5oDQo+IEBAIC0wLDAgKzEsMjUyIEBADQo+ICsNCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0 IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBWbHZDb21tb25EZWZp bml0aW9ucy5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIE1hY3JvcyB0byBzaW1wbGlm eSBhbmQgYWJzdHJhY3QgdGhlIGludGVyZmFjZSB0byBQQ0kgY29uZmlndXJhdGlvbi4NCj4gKw0K PiArLS0qLw0KPiArDQo+ICsvLy8NCj4gKy8vLyBQQ0kgQ09ORklHVVJBVElPTiBNQVAgUkVHSVNU RVIgT0ZGU0VUUw0KPiArLy8vDQo+ICsjaWZuZGVmIFBDSV9WSUQNCj4gKyNkZWZpbmUgUENJX1ZJ RCAgICAgICAgICAgICAweDAwMDAgIC8vLzwgVmVuZG9yIElEIFJlZ2lzdGVyDQo+ICsjZGVmaW5l IFBDSV9ESUQgICAgICAgICAgICAgMHgwMDAyICAvLy88IERldmljZSBJRCBSZWdpc3Rlcg0KPiAr I2RlZmluZSBQQ0lfQ01EICAgICAgICAgICAgIDB4MDAwNCAgLy8vPCBQQ0kgQ29tbWFuZCBSZWdp c3Rlcg0KPiArI2RlZmluZSBQQ0lfU1RTICAgICAgICAgICAgIDB4MDAwNiAgLy8vPCBQQ0kgU3Rh dHVzIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9SSUQgICAgICAgICAgICAgMHgwMDA4ICAvLy88 IFJldmlzaW9uIElEIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9JRlQgICAgICAgICAgICAgMHgw MDA5ICAvLy88IEludGVyZmFjZSBUeXBlDQo+ICsjZGVmaW5lIFBDSV9TQ0MgICAgICAgICAgICAg MHgwMDBBICAvLy88IFN1YiBDbGFzcyBDb2RlIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9CQ0Mg ICAgICAgICAgICAgMHgwMDBCICAvLy88IEJhc2UgQ2xhc3MgQ29kZSBSZWdpc3Rlcg0KPiArI2Rl ZmluZSBQQ0lfQ0xTICAgICAgICAgICAgIDB4MDAwQyAgLy8vPCBDYWNoZSBMaW5lIFNpemUNCj4g KyNkZWZpbmUgUENJX1BNTFQgICAgICAgICAgICAweDAwMEQgIC8vLzwgUHJpbWFyeSBNYXN0ZXIg TGF0ZW5jeSBUaW1lcg0KPiArI2RlZmluZSBQQ0lfSERSICAgICAgICAgICAgIDB4MDAwRSAgLy8v PCBIZWFkZXIgVHlwZSBSZWdpc3Rlcg0KPiArI2RlZmluZSBQQ0lfQklTVCAgICAgICAgICAgIDB4 MDAwRiAgLy8vPCBCdWlsdCBpbiBTZWxmIFRlc3QgUmVnaXN0ZXINCj4gKyNkZWZpbmUgUENJX0JB UjAgICAgICAgICAgICAweDAwMTAgIC8vLzwgQmFzZSBBZGRyZXNzIFJlZ2lzdGVyIDANCj4gKyNk ZWZpbmUgUENJX0JBUjEgICAgICAgICAgICAweDAwMTQgIC8vLzwgQmFzZSBBZGRyZXNzIFJlZ2lz dGVyIDENCj4gKyNkZWZpbmUgUENJX0JBUjIgICAgICAgICAgICAweDAwMTggIC8vLzwgQmFzZSBB ZGRyZXNzIFJlZ2lzdGVyIDINCj4gKyNkZWZpbmUgUENJX1BCVVMgICAgICAgICAgICAweDAwMTgg IC8vLzwgUHJpbWFyeSBCdXMgTnVtYmVyIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9TQlVTICAg ICAgICAgICAgMHgwMDE5ICAvLy88IFNlY29uZGFyeSBCdXMgTnVtYmVyIFJlZ2lzdGVyDQo+ICsj ZGVmaW5lIFBDSV9TVUJVUyAgICAgICAgICAgMHgwMDFBICAvLy88IFN1Ym9yZGluYXRlIEJ1cyBO dW1iZXIgUmVnaXN0ZXINCj4gKyNkZWZpbmUgUENJX1NNTFQgICAgICAgICAgICAweDAwMUIgIC8v LzwgU2Vjb25kYXJ5IE1hc3RlciBMYXRlbmN5IFRpbWVyDQo+ICsjZGVmaW5lIFBDSV9CQVIzICAg ICAgICAgICAgMHgwMDFDICAvLy88IEJhc2UgQWRkcmVzcyBSZWdpc3RlciAzDQo+ICsjZGVmaW5l IFBDSV9JT0JBU0UgICAgICAgICAgMHgwMDFDICAvLy88IEkvTyBiYXNlIFJlZ2lzdGVyDQo+ICsj ZGVmaW5lIFBDSV9JT0xJTUlUICAgICAgICAgMHgwMDFEICAvLy88IEkvTyBMaW1pdCBSZWdpc3Rl cg0KPiArI2RlZmluZSBQQ0lfU0VDU1RBVFVTICAgICAgIDB4MDAxRSAgLy8vPCBTZWNvbmRhcnkg U3RhdHVzIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9CQVI0ICAgICAgICAgICAgMHgwMDIwICAv Ly88IEJhc2UgQWRkcmVzcyBSZWdpc3RlciA0DQo+ICsjZGVmaW5lIFBDSV9NRU1CQVNFICAgICAg ICAgMHgwMDIwICAvLy88IE1lbW9yeSBCYXNlIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9NRU1M SU1JVCAgICAgICAgMHgwMDIyICAvLy88IE1lbW9yeSBMaW1pdCBSZWdpc3Rlcg0KPiArI2RlZmlu ZSBQQ0lfQkFSNSAgICAgICAgICAgIDB4MDAyNCAgLy8vPCBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIg NQ0KPiArI2RlZmluZSBQQ0lfUFJFX01FTUJBU0UgICAgIDB4MDAyNCAgLy8vPCBQcmVmZXRjaGFi bGUgbWVtb3J5IEJhc2UNCj4gcmVnaXN0ZXINCj4gKyNkZWZpbmUgUENJX1BSRV9NRU1MSU1JVCAg ICAweDAwMjYgIC8vLzwgUHJlZmV0Y2hhYmxlIG1lbW9yeSBMaW1pdA0KPiByZWdpc3Rlcg0KPiAr I2RlZmluZSBQQ0lfUFJFX01FTUJBU0VfVSAgIDB4MDAyOCAgLy8vPCBQcmVmZXRjaGFibGUgbWVt b3J5IGJhc2UNCj4gdXBwZXIgMzIgYml0cw0KPiArI2RlZmluZSBQQ0lfUFJFX01FTUxJTUlUX1Ug IDB4MDAyQyAgLy8vPCBQcmVmZXRjaGFibGUgbWVtb3J5IGxpbWl0DQo+IHVwcGVyIDMyIGJpdHMN Cj4gKyNkZWZpbmUgUENJX1NWSUQgICAgICAgICAgICAweDAwMkMgIC8vLzwgU3Vic3lzdGVtIFZl bmRvciBJRA0KPiArI2RlZmluZSBQQ0lfU0lEICAgICAgICAgICAgIDB4MDAyRSAgLy8vPCBTdWJz eXN0ZW0gSUQNCj4gKyNkZWZpbmUgUENJX0lPQkFTRV9VICAgICAgICAweDAwMzAgIC8vLzwgSS9P IGJhc2UgVXBwZXIgUmVnaXN0ZXINCj4gKyNkZWZpbmUgUENJX0lPTElNSVRfVSAgICAgICAweDAw MzIgIC8vLzwgSS9PIExpbWl0IFVwcGVyIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9DQVBQICAg ICAgICAgICAgMHgwMDM0ICAvLy88IENhcGFiaWxpdGllcyBQb2ludGVyDQo+ICsjZGVmaW5lIFBD SV9FUk9NICAgICAgICAgICAgMHgwMDM4ICAvLy88IEV4cGFuc2lvbiBST00gQmFzZSBBZGRyZXNz DQo+ICsjZGVmaW5lIFBDSV9JTlRMSU5FICAgICAgICAgMHgwMDNDICAvLy88IEludGVycnVwdCBM aW5lIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9JTlRQSU4gICAgICAgICAgMHgwMDNEICAvLy88 IEludGVycnVwdCBQaW4gUmVnaXN0ZXINCj4gKyNkZWZpbmUgUENJX01BWEdOVCAgICAgICAgICAw eDAwM0UgIC8vLzwgTWF4IEdyYW50IFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBDSV9CUklER0VfQ05U TCAgICAgMHgwMDNFICAvLy88IEJyaWRnZSBDb250cm9sIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFBD SV9NQVhMQVQgICAgICAgICAgMHgwMDNGICAvLy88IE1heCBMYXRlbmN5IFJlZ2lzdGVyDQo+ICsj ZW5kaWYNCj4gKy8vDQo+ICsvLyBCaXQgRGlmaW5pdGlvbnMNCj4gKy8vDQo+ICsjaWZuZGVmIEJJ VDANCj4gKyNkZWZpbmUgQklUMCAgICAgICAgICAgICAgICAgICAgIDB4MDAwMQ0KPiArI2RlZmlu ZSBCSVQxICAgICAgICAgICAgICAgICAgICAgMHgwMDAyDQo+ICsjZGVmaW5lIEJJVDIgICAgICAg ICAgICAgICAgICAgICAweDAwMDQNCj4gKyNkZWZpbmUgQklUMyAgICAgICAgICAgICAgICAgICAg IDB4MDAwOA0KPiArI2RlZmluZSBCSVQ0ICAgICAgICAgICAgICAgICAgICAgMHgwMDEwDQo+ICsj ZGVmaW5lIEJJVDUgICAgICAgICAgICAgICAgICAgICAweDAwMjANCj4gKyNkZWZpbmUgQklUNiAg ICAgICAgICAgICAgICAgICAgIDB4MDA0MA0KPiArI2RlZmluZSBCSVQ3ICAgICAgICAgICAgICAg ICAgICAgMHgwMDgwDQo+ICsjZGVmaW5lIEJJVDggICAgICAgICAgICAgICAgICAgICAweDAxMDAN Cj4gKyNkZWZpbmUgQklUOSAgICAgICAgICAgICAgICAgICAgIDB4MDIwMA0KPiArI2RlZmluZSBC SVQxMCAgICAgICAgICAgICAgICAgICAgMHgwNDAwDQo+ICsjZGVmaW5lIEJJVDExICAgICAgICAg ICAgICAgICAgICAweDA4MDANCj4gKyNkZWZpbmUgQklUMTIgICAgICAgICAgICAgICAgICAgIDB4 MTAwMA0KPiArI2RlZmluZSBCSVQxMyAgICAgICAgICAgICAgICAgICAgMHgyMDAwDQo+ICsjZGVm aW5lIEJJVDE0ICAgICAgICAgICAgICAgICAgICAweDQwMDANCj4gKyNkZWZpbmUgQklUMTUgICAg ICAgICAgICAgICAgICAgIDB4ODAwMA0KPiArI2RlZmluZSBCSVQxNiAgICAgICAgICAgICAgICAg ICAgMHgwMDAxMDAwMA0KPiArI2RlZmluZSBCSVQxNyAgICAgICAgICAgICAgICAgICAgMHgwMDAy MDAwMA0KPiArI2RlZmluZSBCSVQxOCAgICAgICAgICAgICAgICAgICAgMHgwMDA0MDAwMA0KPiAr I2RlZmluZSBCSVQxOSAgICAgICAgICAgICAgICAgICAgMHgwMDA4MDAwMA0KPiArI2RlZmluZSBC SVQyMCAgICAgICAgICAgICAgICAgICAgMHgwMDEwMDAwMA0KPiArI2RlZmluZSBCSVQyMSAgICAg ICAgICAgICAgICAgICAgMHgwMDIwMDAwMA0KPiArI2RlZmluZSBCSVQyMiAgICAgICAgICAgICAg ICAgICAgMHgwMDQwMDAwMA0KPiArI2RlZmluZSBCSVQyMyAgICAgICAgICAgICAgICAgICAgMHgw MDgwMDAwMA0KPiArI2RlZmluZSBCSVQyNCAgICAgICAgICAgICAgICAgICAgMHgwMTAwMDAwMA0K PiArI2RlZmluZSBCSVQyNSAgICAgICAgICAgICAgICAgICAgMHgwMjAwMDAwMA0KPiArI2RlZmlu ZSBCSVQyNiAgICAgICAgICAgICAgICAgICAgMHgwNDAwMDAwMA0KPiArI2RlZmluZSBCSVQyNyAg ICAgICAgICAgICAgICAgICAgMHgwODAwMDAwMA0KPiArI2RlZmluZSBCSVQyOCAgICAgICAgICAg ICAgICAgICAgMHgxMDAwMDAwMA0KPiArI2RlZmluZSBCSVQyOSAgICAgICAgICAgICAgICAgICAg MHgyMDAwMDAwMA0KPiArI2RlZmluZSBCSVQzMCAgICAgICAgICAgICAgICAgICAgMHg0MDAwMDAw MA0KPiArI2RlZmluZSBCSVQzMSAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMA0KPiArI2Vu ZGlmDQo+ICsNCj4gKyNpZm5kZWYgX1BDSUFDQ0VTU19IX0lOQ0xVREVEXw0KPiArI2RlZmluZSBf UENJQUNDRVNTX0hfSU5DTFVERURfDQo+ICsjaWZuZGVmIFBDSV9FWFBSRVNTX0JBU0VfQUREUkVT Uw0KPiArICNkZWZpbmUgUENJX0VYUFJFU1NfQkFTRV9BRERSRVNTIDB4RTAwMDAwMDANCj4gKyNl bmRpZg0KPiArDQo+ICsjaWZuZGVmIE1tUGNpQWRkcmVzcw0KPiArI2RlZmluZSBNbVBjaUFkZHJl c3MoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIgKSBcDQo+ICsgICgg KFVJTlROKVBDSV9FWFBSRVNTX0JBU0VfQUREUkVTUyArIFwNCj4gKyAgICAoVUlOVE4pKEJ1cyA8 PCAyMCkgKyBcDQo+ICsgICAgKFVJTlROKShEZXZpY2UgPDwgMTUpICsgXA0KPiArICAgIChVSU5U TikoRnVuY3Rpb24gPDwgMTIpICsgXA0KPiArICAgIChVSU5UTikoUmVnaXN0ZXIpIFwNCj4gKyAg KQ0KPiArI2VuZGlmDQo+ICsNCj4gKy8vDQo+ICsvLyBVSU5UNjQNCj4gKy8vDQo+ICsjZGVmaW5l IE1tUGNpNjRQdHIoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIgKSBc DQo+ICsgICggKHZvbGF0aWxlIFVJTlQ2NCAqKU1tUGNpQWRkcmVzcyggU2VnbWVudCwgQnVzLCBE ZXZpY2UsIEZ1bmN0aW9uLA0KPiBSZWdpc3RlciApICkNCj4gKw0KPiArI2RlZmluZSBNbVBjaTY0 KCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkgXA0KPiArICAqTW1Q Y2k2NFB0ciggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciApDQo+ICsN Cj4gKyNkZWZpbmUgTW1QY2k2NE9yKCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJl Z2lzdGVyLCBPckRhdGEgKSBcDQo+ICsgIE1tUGNpNjQoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBG dW5jdGlvbiwgUmVnaXN0ZXIgKSA9IFwNCj4gKyAgICAoVUlOVDY0KSAoIFwNCj4gKyAgICAgIE1t UGNpNjQoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIgKSB8IFwNCj4g KyAgICAgIChVSU5UNjQpKE9yRGF0YSkgXA0KPiArICAgICkNCj4gKw0KPiArI2RlZmluZSBNbVBj aTY0QW5kKCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyLCBBbmREYXRh ICkNCj4gXA0KPiArICBNbVBjaTY0KCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJl Z2lzdGVyICkgPSBcDQo+ICsgICAgKFVJTlQ2NCkgKCBcDQo+ICsgICAgICBNbVBjaTY0KCBTZWdt ZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkgJiBcDQo+ICsgICAgICAoVUlO VDY0KShBbmREYXRhKSBcDQo+ICsgICAgKQ0KPiArDQo+ICsjZGVmaW5lIE1tUGNpNjRBbmRUaGVu T3IoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIsDQo+IEFuZERhdGEs IE9yRGF0YSApIFwNCj4gKyAgTW1QY2k2NCggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9u LCBSZWdpc3RlciApID0gXA0KPiArICAgIChVSU5UNjQpICggXA0KPiArICAgICAgKCBNbVBjaTY0 KCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkgJiBcDQo+ICsgICAg ICAgICAgKFVJTlQ2NCkoQW5kRGF0YSkgXA0KPiArICAgICAgKSB8IFwNCj4gKyAgICAgIChVSU5U NjQpKE9yRGF0YSkgXA0KPiArICAgICkNCj4gKw0KPiArLy8NCj4gKy8vIFVJTlQzMg0KPiArLy8N Cj4gKw0KPiArI2RlZmluZSBNbVBjaTMyUHRyKCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rp b24sIFJlZ2lzdGVyICkgXA0KPiArICAoICh2b2xhdGlsZSBVSU5UMzIgKikgTW1QY2lBZGRyZXNz KCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sDQo+IFJlZ2lzdGVyICkgKQ0KPiArDQo+ ICsjZGVmaW5lIE1tUGNpMzIoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0 ZXIgKSBcDQo+ICsgICpNbVBjaTMyUHRyKCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24s IFJlZ2lzdGVyICkNCj4gKw0KPiArI2RlZmluZSBNbVBjaTMyT3IoIFNlZ21lbnQsIEJ1cywgRGV2 aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIsIE9yRGF0YSApIFwNCj4gKyAgTW1QY2kzMiggU2VnbWVu dCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciApID0gXA0KPiArICAgIChVSU5UMzIp ICggXA0KPiArICAgICAgTW1QY2kzMiggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBS ZWdpc3RlciApIHwgXA0KPiArICAgICAgKFVJTlQzMikoT3JEYXRhKSBcDQo+ICsgICAgKQ0KPiAr DQo+ICsjZGVmaW5lIE1tUGNpMzJBbmQoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwg UmVnaXN0ZXIsIEFuZERhdGEgKQ0KPiBcDQo+ICsgIE1tUGNpMzIoIFNlZ21lbnQsIEJ1cywgRGV2 aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIgKSA9IFwNCj4gKyAgICAoVUlOVDMyKSAoIFwNCj4gKyAg ICAgIE1tUGNpMzIoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIgKSAm IFwNCj4gKyAgICAgIChVSU5UMzIpKEFuZERhdGEpIFwNCj4gKyAgICApDQo+ICsNCj4gKyNkZWZp bmUgTW1QY2kzMkFuZFRoZW5PciggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdp c3RlciwNCj4gQW5kRGF0YSwgT3JEYXRhICkgXA0KPiArICBNbVBjaTMyKCBTZWdtZW50LCBCdXMs IERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkgPSBcDQo+ICsgICAgKFVJTlQzMikgKCBcDQo+ ICsgICAgICAoIE1tUGNpMzIoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0 ZXIgKSAmIFwNCj4gKyAgICAgICAgICAoVUlOVDMyKShBbmREYXRhKSBcDQo+ICsgICAgICApIHwg XA0KPiArICAgICAgKFVJTlQzMikoT3JEYXRhKSBcDQo+ICsgICAgKQ0KPiArDQo+ICsvLw0KPiAr Ly8gVUlOVDE2DQo+ICsvLw0KPiArDQo+ICsjZGVmaW5lIE1tUGNpMTZQdHIoIFNlZ21lbnQsIEJ1 cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIgKSBcDQo+ICsgICggKHZvbGF0aWxlIFVJTlQx NiAqKU1tUGNpQWRkcmVzcyggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLA0KPiBSZWdp c3RlciApICkNCj4gKw0KPiArI2RlZmluZSBNbVBjaTE2KCBTZWdtZW50LCBCdXMsIERldmljZSwg RnVuY3Rpb24sIFJlZ2lzdGVyICkgXA0KPiArICAqTW1QY2kxNlB0ciggU2VnbWVudCwgQnVzLCBE ZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciApDQo+ICsNCj4gKyNkZWZpbmUgTW1QY2kxNk9yKCBT ZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyLCBPckRhdGEgKSBcDQo+ICsg IE1tUGNpMTYoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIgKSA9IFwN Cj4gKyAgICAoVUlOVDE2KSAoIFwNCj4gKyAgICAgIE1tUGNpMTYoIFNlZ21lbnQsIEJ1cywgRGV2 aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIgKSB8IFwNCj4gKyAgICAgIChVSU5UMTYpKE9yRGF0YSkg XA0KPiArICAgICkNCj4gKw0KPiArI2RlZmluZSBNbVBjaTE2QW5kKCBTZWdtZW50LCBCdXMsIERl dmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyLCBBbmREYXRhICkNCj4gXA0KPiArICBNbVBjaTE2KCBT ZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkgPSBcDQo+ICsgICAgKFVJ TlQxNikgKCBcDQo+ICsgICAgICBNbVBjaTE2KCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rp b24sIFJlZ2lzdGVyICkgJiBcDQo+ICsgICAgICAoVUlOVDE2KShBbmREYXRhKSBcDQo+ICsgICAg KQ0KPiArDQo+ICsjZGVmaW5lIE1tUGNpMTZBbmRUaGVuT3IoIFNlZ21lbnQsIEJ1cywgRGV2aWNl LCBGdW5jdGlvbiwgUmVnaXN0ZXIsDQo+IEFuZERhdGEsIE9yRGF0YSApIFwNCj4gKyAgTW1QY2kx NiggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciApID0gXA0KPiArICAg IChVSU5UMTYpICggXA0KPiArICAgICAgKCBNbVBjaTE2KCBTZWdtZW50LCBCdXMsIERldmljZSwg RnVuY3Rpb24sIFJlZ2lzdGVyICkgJiBcDQo+ICsgICAgICAgICAgKFVJTlQxNikoQW5kRGF0YSkg XA0KPiArICAgICAgKSB8IFwNCj4gKyAgICAgIChVSU5UMTYpKE9yRGF0YSkgXA0KPiArICAgICkN Cj4gKw0KPiArLy8NCj4gKy8vIFVJTlQ4DQo+ICsvLw0KPiArDQo+ICsjZGVmaW5lIE1tUGNpOFB0 ciggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciApIFwNCj4gKyAgKCAo dm9sYXRpbGUgVUlOVDggKilNbVBjaUFkZHJlc3MoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5j dGlvbiwNCj4gUmVnaXN0ZXIgKSApDQo+ICsNCj4gKyNkZWZpbmUgTW1QY2k4KCBTZWdtZW50LCBC dXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkgXA0KPiArICAqTW1QY2k4UHRyKCBTZWdt ZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkNCj4gKw0KPiArI2RlZmluZSBN bVBjaThPciggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciwgT3JEYXRh ICkgXA0KPiArICBNbVBjaTgoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0 ZXIgKSA9IFwNCj4gKyAgICAoVUlOVDgpICggXA0KPiArICAgICAgTW1QY2k4KCBTZWdtZW50LCBC dXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkgfCBcDQo+ICsgICAgICAoVUlOVDgpKE9y RGF0YSkgXA0KPiArICAgICkNCj4gKw0KPiArI2RlZmluZSBNbVBjaThBbmQoIFNlZ21lbnQsIEJ1 cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIsIEFuZERhdGEgKSBcDQo+ICsgIE1tUGNpOCgg U2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciApID0gXA0KPiArICAgIChV SU5UOCkgKCBcDQo+ICsgICAgICBNbVBjaTgoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlv biwgUmVnaXN0ZXIgKSAmIFwNCj4gKyAgICAgIChVSU5UOCkoQW5kRGF0YSkgXA0KPiArICAgICkN Cj4gKw0KPiArI2RlZmluZSBNbVBjaThBbmRUaGVuT3IoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBG dW5jdGlvbiwgUmVnaXN0ZXIsDQo+IEFuZERhdGEsIE9yRGF0YSApIFwNCj4gKyAgTW1QY2k4KCBT ZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyICkgPSBcDQo+ICsgICAgKFVJ TlQ4KSAoIFwNCj4gKyAgICAgICggTW1QY2k4KCBTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rp b24sIFJlZ2lzdGVyICkgJiBcDQo+ICsgICAgICAgICAgKFVJTlQ4KShBbmREYXRhKSBcDQo+ICsg ICAgICAgICkgfCBcDQo+ICsgICAgICAoVUlOVDgpKE9yRGF0YSkgXA0KPiArICAgICkNCj4gKw0K PiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZD b2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9HdWlkL1BjaElu aXRWYXIuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5Vmll dzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL0d1aWQvUGNoSW5pdFZhci5oDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmFhNWRlNWY0ZmQNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zh bGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9HdWlkL1BjaEluaXRWYXIuaA0K PiBAQCAtMCwwICsxLDQ4IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxMSAg LSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsg IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0K PiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBQY2hJbml0VmFyLmgNCj4gKw0KPiArQWJz dHJhY3Q6DQo+ICsNCj4gKyAgVGhpcyBmaWxlIGRlZmluZXMgdmFyaWFibGUgc2hhcmVkIGJldHdl ZW4gUENIIEluaXQgRFhFIGRyaXZlciBhbmQgUENIDQo+ICsgIEluaXQgUzMgUmVzdW1lIFBFSU0u DQo+ICsNCj4gKy0tKi8NCj4gKyNpZm5kZWYgX1BDSF9JTklUX1ZBUl9IXw0KPiArI2RlZmluZSBf UENIX0lOSVRfVkFSX0hfDQo+ICsNCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9QY2hQbGF0Zm9ybVBv bGljeS5oPg0KPiArLy8NCj4gKy8vIERlZmluZSB0aGUgUENIIEluaXQgVmFyIEdVSUQNCj4gKy8v DQo+ICsjZGVmaW5lIFBDSF9JTklUX1ZBUklBQkxFX0dVSUQgezB4ZTZjMmY3MGEsIDB4YjYwNCwg MHg0ODc3LHsweDg1LA0KPiAweGJhLCAweGRlLCAweGVjLCAweDg5LCAweGUxLCAweDE3LCAweGVi fX0NCj4gKy8vDQo+ICsvLyBFeHRlcm4gdGhlIEdVSUQgZm9yIFBQSSB1c2Vycy4NCj4gKy8vDQo+ ICtleHRlcm4gRUZJX0dVSUQgZ1BjaEluaXRWYXJpYWJsZUd1aWQ7DQo+ICsNCj4gKyNkZWZpbmUg UENIX0lOSVRfVkFSSUFCTEVfTkFNRSAgTCJQY2hJbml0Ig0KPiArDQo+ICsvLw0KPiArLy8gRGVm aW5lIHRoZSBQY2ggSW5pdCBWYXJpYWJsZSBzdHJ1Y3R1cmUNCj4gKy8vDQo+ICt0eXBlZGVmIHN0 cnVjdCB7DQo+ICsgIFVJTlQzMiAgU3RvcmVQb3NpdGlvbjsNCj4gKyAgVUlOVDMyICBFeGVjdXRl UG9zaXRpb247DQo+ICt9IFBDSF9TM19QQVJBTUVURVJfSEVBREVSOw0KPiArDQo+ICsjcHJhZ21h IHBhY2soMSkNCj4gK3R5cGVkZWYgc3RydWN0IF9QQ0hfSU5JVF9WQVJJQUJMRSB7DQo+ICsgIFBD SF9TM19QQVJBTUVURVJfSEVBREVSICpQY2hTM1BhcmFtZXRlcjsNCj4gK30gUENIX0lOSVRfVkFS SUFCTEU7DQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0K PiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZA0KPiBlL0d1aWQvU2F0YUNvbnRyb2xsZXJHdWlkLmgNCj4gYi9TaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rl ci9JbmNsdWQNCj4gZS9HdWlkL1NhdGFDb250cm9sbGVyR3VpZC5oDQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjQyNjQzZWM3NzANCj4gLS0tIC9kZXYvbnVsbA0K PiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcy U29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9HdWlkL1NhdGFDb250cm9sbGVyR3VpZC5oDQo+ IEBAIC0wLDAgKzEsMzQgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMjAwOSAg LSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsg IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0K PiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBTYXRhQ29udHJvbGxlckd1aWQuaA0KPiAr DQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBHVUlEIGZvciB1c2UgaW4gZGVzY3JpYmluZyBTYXRh Q29udHJvbGxlcg0KPiArDQo+ICstLSovDQo+ICsjaWZuZGVmIF9TRVJJQUxfQVRBX0NPTlRST0xM RVJfR1VJRF9IXw0KPiArI2RlZmluZSBfU0VSSUFMX0FUQV9DT05UUk9MTEVSX0dVSURfSF8NCj4g Kw0KPiArI2lmZGVmIEVDUF9GTEFHDQo+ICsjZGVmaW5lIFBDSF9TQVRBX0NPTlRST0xMRVJfRFJJ VkVSX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweGJiOTI5ZGE5LCAweDY4ZjcsIDB4NDAzNSwg MHhiMiwgMHgyYywgMHhhMywgMHhiYiwgMHgzZiwgMHgyMywgMHhkYSwgMHg1NQ0KPiBcDQo+ICsg IH0NCj4gKyNlbHNlDQo+ICsjZGVmaW5lIFBDSF9TQVRBX0NPTlRST0xMRVJfRFJJVkVSX0dVSUQg XA0KPiArICB7XA0KPiArICAgIDB4YmI5MjlkYTksIDB4NjhmNywgMHg0MDM1LCAweGIyLCAweDJj LCAweGEzLCAweGJiLCAweDNmLCAweDIzLCAweGRhLCAweDU1DQo+IFx9DQo+ICsNCj4gKyNlbmRp Zg0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ1NhdGFDb250cm9sbGVyRHJpdmVyR3VpZDsNCj4g KyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvR3VpZC9TbWJ1c0Fy cE1hcC5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3 MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvR3VpZC9TbWJ1c0FycE1hcC5oDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjk4YzJmMzg0NDMNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zh bGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9HdWlkL1NtYnVzQXJwTWFwLmgN Cj4gQEAgLTAsMCArMSwzMCBAQA0KPiArLy8NCj4gKy8vDQo+ICsvKisrDQo+ICsNCj4gK0NvcHly aWdodCAoYykgIDIwMDkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiArDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgU21idXNBcnBN YXAuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBHVUlEIGZvciB1c2UgaW4gZGVzY3Jp YmluZyBTTUJ1cyBkZXZpY2VzIHRoYXQgd2VyZSBBUlBlZCBkdXJpbmcgUEVJLg0KPiArDQo+ICst LSovDQo+ICsjaWZuZGVmIF9FRklfU01CVVNfQVJQX01BUF9HVUlEX0hfDQo+ICsjZGVmaW5lIF9F RklfU01CVVNfQVJQX01BUF9HVUlEX0hfDQo+ICsNCj4gKyNkZWZpbmUgRUZJX1NNQlVTX0FSUF9N QVBfR1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4NzA3YmU4M2UsIDB4MGJmNiwgMHg0MGE1LCAw eGJlLCAweDY0LCAweDM0LCAweGMwLCAweDNhLCAweGEwLCAweGI4LA0KPiAweGUyIFwNCj4gKyAg fQ0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVNtYnVzQXJwTWFwR3VpZDsNCj4gKw0KPiAr I2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2Rl UGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9HdWlkL1ZsdjJWYXJp YWJsZS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3 MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvR3VpZC9WbHYyVmFyaWFibGUuaA0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jNjdhZTEyOWExDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9W YWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvR3VpZC9WbHYyVmFyaWFibGUu aA0KPiBAQCAtMCwwICsxLDI4IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5 OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0K PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgVmx2MlZhcmlhYmxlLmgNCj4gKw0K PiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgR1VJRCB1c2VkIHRvIGRlZmluZSBWYWxsZXlWaWV3MiB2 YXJpYWJsZS4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIF9WTFYyX1ZBUklBQkxFX0dV SURfSF8NCj4gKyNkZWZpbmUgX1ZMVjJfVkFSSUFCTEVfR1VJRF9IXw0KPiArDQo+ICsjZGVmaW5l IEVGSV9WTFYyX1ZBUklBQkxFIFwNCj4gKyAgeyBcDQo+ICsgICAgMHgxMGJhNmJiZSwgMHhhOTdl LCAweDQxYzMsIHsweDlhLCAweDA3LCAweDYwLCAweDdhLCAweGQ5LCAweGJkLCAweDYwLA0KPiAw eGU1IH0gXA0KPiArICB9DQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVZsdjJWYXJpYWJsZUd1aWQ7 DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2 aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvSW5k dXN0cnlTdGFuZGFyZC9DZUF0YS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvSW5kdXN0cnlTdGFu ZGFyZC9DZUF0YS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LjhjZmJkNzRmN2INCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4g ZS9JbmR1c3RyeVN0YW5kYXJkL0NlQXRhLmgNCj4gQEAgLTAsMCArMSwxMjYgQEANCj4gKy8qKysN Cj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsNCj4gKy8qKysN Cj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgQ0VBVEEuaA0KPiArDQo+ICtBYnN0cmFj dDoNCj4gKw0KPiArICBIZWFkZXIgZmlsZSBmb3IgY2hpcHNldCBDRS1BVCBzcGVjLg0KPiArDQo+ ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX0NFX0FUQV9IDQo+ICsjZGVmaW5lIF9DRV9BVEFfSA0K PiArDQo+ICsjcHJhZ21hIHBhY2soMSkNCj4gKw0KPiArDQo+ICsjZGVmaW5lICBEQVRBX1VOSVRf U0laRSAgICAgICA1MTINCj4gKw0KPiArDQo+ICsjZGVmaW5lICBDTUQ2MCAgICAgICAgICAgICAg ICA2MA0KPiArI2RlZmluZSAgQ01ENjEgICAgICAgICAgICAgICAgNjENCj4gKw0KPiArDQo+ICsj ZGVmaW5lIFJXX01VTFRJUExFX1JFR0lTVEVSICBDTUQ2MA0KPiArI2RlZmluZSBSV19NVUxUSVBM RV9CTE9DSyAgICAgQ01ENjENCj4gKw0KPiArDQo+ICsjZGVmaW5lIENFX0FUQV9TSUdfQ0UgICAg ICAgICAweENFDQo+ICsjZGVmaW5lIENFX0FUQV9TSUdfQUEgICAgICAgICAweEFBDQo+ICsNCj4g Kw0KPiArI2RlZmluZSBSZWdfRmVhdHVyZXNfRXhwICAgICAgMDENCj4gKyNkZWZpbmUgUmVnX1Nl Y3RvckNvdW50X0V4cCAgIDAyDQo+ICsjZGVmaW5lIFJlZ19MQkFMb3dfRXhwICAgICAgICAwMw0K PiArI2RlZmluZSBSZWdfTEJBTWlkX0V4cCAgICAgICAgMDQNCj4gKyNkZWZpbmUgUmVnX0xCQUhp Z2hfRXhwICAgICAgIDA1DQo+ICsjZGVmaW5lIFJlZ19Db250cm9sICAgICAgICAgICAwNg0KPiAr I2RlZmluZSBSZWdfRmVhdHVyZXNfRXJyb3IgICAgMDkNCj4gKyNkZWZpbmUgUmVnX1NlY3RvckNv dW50ICAgICAgIDEwDQo+ICsjZGVmaW5lIFJlZ19MQkFMb3cgICAgICAgICAgICAxMQ0KPiArI2Rl ZmluZSBSZWdfTEJBTWlkICAgICAgICAgICAgMTINCj4gKyNkZWZpbmUgUmVnX0xCQUhpZ2ggICAg ICAgICAgIDEzDQo+ICsjZGVmaW5lIFJlZ19EZXZpY2VfSGVhZCAgICAgICAxNA0KPiArI2RlZmlu ZSBSZWdfQ29tbWFuZF9TdGF0dXMgICAgMTUNCj4gKw0KPiArI2RlZmluZSBSZWdfc2NyVGVtcEMg ICAgICAgICAgMHg4MA0KPiArI2RlZmluZSBSZWdfc2NyVGVtcE1heFAgICAgICAgMHg4NA0KPiAr I2RlZmluZSBSZWdfc2NyVGVtcE1pblAgICAgICAgMHg4OA0KPiArI2RlZmluZSBSZWdfc2NyU3Rh dHVzICAgICAgICAgMHg4Qw0KPiArI2RlZmluZSBSZWdfc2NyUmVhbGxvY3NBICAgICAgMHg5MA0K PiArI2RlZmluZSBSZWdfc2NyRVJldHJhY3RzQSAgICAgMHg5NA0KPiArI2RlZmluZSBSZWdfc2Ny Q2FwYWJpbGl0aWVzICAgMHg5OA0KPiArI2RlZmluZSBSZWdfc2NyQ29udHJvbCAgICAgICAgMHhD MA0KPiArDQo+ICsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgUmVzZXJ2 ZWQwOw0KPiArICBVSU5UOCAgRmVhdHVyZXNfRXhwOw0KPiArICBVSU5UOCAgU2VjdG9yQ291bnRf RXhwOw0KPiArICBVSU5UOCAgTEJBTG93X0V4cDsNCj4gKyAgVUlOVDggIExCQU1pZF9FeHA7DQo+ ICsgIFVJTlQ4ICBMQkFIaWdoX0V4cDsNCj4gKyAgVUlOVDggIENvbnRyb2w7DQo+ICsgIFVJTlQ4 ICBSZXNlcnZlZDFbMl07DQo+ICsgIFVJTlQ4ICBGZWF0dXJlc19FcnJvcjsNCj4gKyAgVUlOVDgg IFNlY3RvckNvdW50Ow0KPiArICBVSU5UOCAgTEJBTG93Ow0KPiArICBVSU5UOCAgTEJBTWlkOw0K PiArICBVSU5UOCAgTEJBSGlnaDsNCj4gKyAgVUlOVDggIERldmljZV9IZWFkOw0KPiArICBVSU5U OCAgQ29tbWFuZF9TdGF0dXM7DQo+ICt9IFRBU0tfRklMRTsNCj4gKw0KPiArDQo+ICsvLw0KPiAr Ly9SZWR1Y2VkIEFUQSBjb21tYW5kIHNldA0KPiArLy8NCj4gKyNkZWZpbmUgSURFTlRJRllfREVW SUNFICAgICAgIDB4RUMNCj4gKyNkZWZpbmUgUkVBRF9ETUFfRVhUICAgICAgICAgIDB4MjUNCj4g KyNkZWZpbmUgV1JJVEVfRE1BX0VYVCAgICAgICAgIDB4MzUNCj4gKyNkZWZpbmUgU1RBTkRCWV9J TU1FRElBVEUgICAgIDB4RTANCj4gKyNkZWZpbmUgRkxVU0hfQ0FDSEVfRVhUICAgICAgIDB4RUEN Cj4gKw0KPiArDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDE2ICBSZXNlcnZl ZDBbMTBdOw0KPiArICBVSU5UMTYgIFNlcmlhbE51bWJlclsxMF07DQo+ICsgIFVJTlQxNiAgUmVz ZXJ2ZWQxWzNdOw0KPiArICBVSU5UMTYgIEZpcm13YXJlUmV2aXNpb25bNF07DQo+ICsgIFVJTlQx NiAgTW9kZWxOdW1iZXJbMjBdOw0KPiArICBVSU5UMTYgIFJlc2VydmVkMlszM107DQo+ICsgIFVJ TlQxNiAgTWFqb3JWZXJzaW9uOw0KPiArICBVSU5UMTYgIFJlc2VydmVkM1sxOV07DQo+ICsgIFVJ TlQxNiAgTWF4aW11bUxCQVs0XTsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDRbMl07DQo+ICsgIFVJ TlQxNiAgU2VjdG9yc2l6ZTsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDU7DQo+ICsgIFVJTlQxNiAg RGV2aWNlR1VJRFs0XTsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDZbOTRdOw0KPiArICBVSU5UMTYg IEZlYXR1cmVzOw0KPiArICBVSU5UMTYgIE1heFdyaXRlc1BlckFkZHJlc3M7DQo+ICsgIFVJTlQx NiAgUmVzZXJ2ZWQ3WzQ3XTsNCj4gKyAgVUlOVDE2ICBJbnRlZ3JpdHlXb3JkOw0KPiArfSBJREVO VElGWV9ERVZJQ0VfREFUQTsNCj4gKw0KPiArDQo+ICsNCj4gKw0KPiArDQo+ICsjcHJhZ21hIHBh Y2soKQ0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBl L0luZHVzdHJ5U3RhbmRhcmQvTW1jLmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZD b2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9JbmR1c3RyeVN0 YW5kYXJkL01tYy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LmZkMjcwNmViODkNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4g ZS9JbmR1c3RyeVN0YW5kYXJkL01tYy5oDQo+IEBAIC0wLDAgKzEsMzQ5IEBADQo+ICsvKisrDQo+ ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArDQo+ICsvKisrDQo+ ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1NQy5oDQo+ICsNCj4gK0Fic3RyYWN0Og0K PiArDQo+ICsgIEhlYWRlciBmaWxlIGZvciBJbmR1c3RyeSBNTUMgNC4yIHNwZWMuDQo+ICsNCj4g Ky0tKi8NCj4gKw0KPiArI2lmbmRlZiBfTU1DX0gNCj4gKyNkZWZpbmUgX01NQ19IDQo+ICsNCj4g KyNwcmFnbWEgcGFjaygxKQ0KPiArLy8NCj4gKy8vQ29tbWFuZCBkZWZpbml0aW9uDQo+ICsvLw0K PiArDQo+ICsjZGVmaW5lICBDTUQwICAgICAgICAgICAgICAwDQo+ICsjZGVmaW5lICBDTUQxICAg ICAgICAgICAgICAxDQo+ICsjZGVmaW5lICBDTUQyICAgICAgICAgICAgICAyDQo+ICsjZGVmaW5l ICBDTUQzICAgICAgICAgICAgICAzDQo+ICsjZGVmaW5lICBDTUQ0ICAgICAgICAgICAgICA0DQo+ ICsjZGVmaW5lICBDTUQ2ICAgICAgICAgICAgICA2DQo+ICsjZGVmaW5lICBDTUQ3ICAgICAgICAg ICAgICA3DQo+ICsjZGVmaW5lICBDTUQ4ICAgICAgICAgICAgICA4DQo+ICsjZGVmaW5lICBDTUQ5 ICAgICAgICAgICAgICA5DQo+ICsjZGVmaW5lICBDTUQxMCAgICAgICAgICAgICAxMA0KPiArI2Rl ZmluZSAgQ01EMTEgICAgICAgICAgICAgMTENCj4gKyNkZWZpbmUgIENNRDEyICAgICAgICAgICAg IDEyDQo+ICsjZGVmaW5lICBDTUQxMyAgICAgICAgICAgICAxMw0KPiArI2RlZmluZSAgQ01EMTQg ICAgICAgICAgICAgMTQNCj4gKyNkZWZpbmUgIENNRDE1ICAgICAgICAgICAgIDE1DQo+ICsjZGVm aW5lICBDTUQxNiAgICAgICAgICAgICAxNg0KPiArI2RlZmluZSAgQ01EMTcgICAgICAgICAgICAg MTcNCj4gKyNkZWZpbmUgIENNRDE4ICAgICAgICAgICAgIDE4DQo+ICsjZGVmaW5lICBDTUQxOSAg ICAgICAgICAgICAxOQ0KPiArI2RlZmluZSAgQ01EMjAgICAgICAgICAgICAgMjANCj4gKyNkZWZp bmUgIENNRDIzICAgICAgICAgICAgIDIzDQo+ICsjZGVmaW5lICBDTUQyNCAgICAgICAgICAgICAy NA0KPiArI2RlZmluZSAgQ01EMjUgICAgICAgICAgICAgMjUNCj4gKyNkZWZpbmUgIENNRDI2ICAg ICAgICAgICAgIDI2DQo+ICsjZGVmaW5lICBDTUQyNyAgICAgICAgICAgICAyNw0KPiArI2RlZmlu ZSAgQ01EMjggICAgICAgICAgICAgMjgNCj4gKyNkZWZpbmUgIENNRDI5ICAgICAgICAgICAgIDI5 DQo+ICsjZGVmaW5lICBDTUQzMCAgICAgICAgICAgICAzMA0KPiArI2RlZmluZSAgQ01EMzUgICAg ICAgICAgICAgMzUNCj4gKyNkZWZpbmUgIENNRDM2ICAgICAgICAgICAgIDM2DQo+ICsjZGVmaW5l ICBDTUQzOCAgICAgICAgICAgICAzOA0KPiArI2RlZmluZSAgQ01EMzkgICAgICAgICAgICAgMzkN Cj4gKyNkZWZpbmUgIENNRDQwICAgICAgICAgICAgIDQwDQo+ICsjZGVmaW5lICBDTUQ0MiAgICAg ICAgICAgICA0Mg0KPiArI2RlZmluZSAgQ01ENTUgICAgICAgICAgICAgNTUNCj4gKyNkZWZpbmUg IENNRDU2ICAgICAgICAgICAgIDU2DQo+ICsNCj4gKw0KPiArDQo+ICsjZGVmaW5lICBHT19JRExF X1NUQVRFICAgICAgICAgICBDTUQwDQo+ICsjZGVmaW5lICBTRU5EX09QX0NPTkQgICAgICAgICAg ICBDTUQxDQo+ICsjZGVmaW5lICBBTExfU0VORF9DSUQgICAgICAgICAgICBDTUQyDQo+ICsjZGVm aW5lICBTRVRfUkVMQVRJVkVfQUREUiAgICAgICBDTUQzDQo+ICsjZGVmaW5lICBTRVRfRFNSICAg ICAgICAgICAgICAgICBDTUQ0DQo+ICsjZGVmaW5lICBTV0lUQ0ggICAgICAgICAgICAgICAgICBD TUQ2DQo+ICsjZGVmaW5lICBTRUxFQ1RfREVTRUxFQ1RfQ0FSRCAgICBDTUQ3DQo+ICsjZGVmaW5l ICBTRU5EX0VYVF9DU0QgICAgICAgICAgICBDTUQ4DQo+ICsjZGVmaW5lICBTRU5EX0NTRCAgICAg ICAgICAgICAgICBDTUQ5DQo+ICsjZGVmaW5lICBTRU5EX0NJRCAgICAgICAgICAgICAgICBDTUQx MA0KPiArI2RlZmluZSAgUkVBRF9EQVRfVU5USUxfU1RPUCAgICAgQ01EMTENCj4gKyNkZWZpbmUg IFNUT1BfVFJBTlNNSVNTSU9OICAgICAgIENNRDEyDQo+ICsjZGVmaW5lICBTRU5EX1NUQVRVUyAg ICAgICAgICAgICBDTUQxMw0KPiArI2RlZmluZSAgQlVTVEVTVF9SICAgICAgICAgICAgICAgQ01E MTQNCj4gKyNkZWZpbmUgIEdPX0lOQUNUSVZFX1NUQVRFICAgICAgIENNRDE1DQo+ICsjZGVmaW5l ICBTRVRfQkxPQ0tMRU4gICAgICAgICAgICBDTUQxNg0KPiArI2RlZmluZSAgUkVBRF9TSU5HTEVf QkxPQ0sgICAgICAgQ01EMTcNCj4gKyNkZWZpbmUgIFJFQURfTVVMVElQTEVfQkxPQ0sgICAgIENN RDE4DQo+ICsjZGVmaW5lICBCVVNURVNUX1cgICAgICAgICAgICAgICBDTUQxOQ0KPiArI2RlZmlu ZSAgV1JJVEVfREFUX1VOVElMX1NUT1AgICAgQ01EMjANCj4gKyNkZWZpbmUgIFNFVF9CTE9DS19D T1VOVCAgICAgICAgIENNRDIzDQo+ICsjZGVmaW5lICBXUklURV9CTE9DSyAgICAgICAgICAgICBD TUQyNA0KPiArI2RlZmluZSAgV1JJVEVfTVVMVElQTEVfQkxPQ0sgICAgQ01EMjUNCj4gKyNkZWZp bmUgIFBST0dSQU1fQ0lEICAgICAgICAgICAgIENNRDI2DQo+ICsjZGVmaW5lICBQUk9HUkFNX0NT RCAgICAgICAgICAgICBDTUQyNw0KPiArI2RlZmluZSAgU0VUX1dSSVRFX1BST1QgICAgICAgICAg Q01EMjgNCj4gKyNkZWZpbmUgIENMUl9XUklURV9QUk9UICAgICAgICAgIENNRDI5DQo+ICsjZGVm aW5lICBTRU5EX1dSSVRFX1BST1QgICAgICAgICBDTUQzMA0KPiArI2RlZmluZSAgRVJBU0VfR1JP VVBfU1RBUlQgICAgICAgQ01EMzUNCj4gKyNkZWZpbmUgIEVSQVNFX0dST1VQX0VORCAgICAgICAg IENNRDM2DQo+ICsjZGVmaW5lICBFUkFTRSAgICAgICAgICAgICAgICAgICBDTUQzOA0KPiArI2Rl ZmluZSAgRkFTVF9JTyAgICAgICAgICAgICAgICAgQ01EMzkNCj4gKyNkZWZpbmUgIEdPX0lSUV9T VEFURSAgICAgICAgICAgIENNRDQwDQo+ICsjZGVmaW5lICBMT0NLX1VOTE9DSyAgICAgICAgICAg ICBDTUQ0Mg0KPiArI2RlZmluZSAgQVBQX0NNRCAgICAgICAgICAgICAgICAgQ01ENTUNCj4gKyNk ZWZpbmUgIEdFTl9DTUQgICAgICAgICAgICAgICAgIENNRDU2DQo+ICsNCj4gKyNkZWZpbmUgQl9Q RVJNX1dQX0RJUyAgICAgICAgICAgIDB4MTANCj4gKyNkZWZpbmUgQl9QV1JfV1BfRU4gICAgICAg ICAgICAgIDB4MDENCj4gKyNkZWZpbmUgVVNfUEVSTV9XUF9ESVMgICAgICAgICAgIDB4MTANCj4g KyNkZWZpbmUgVVNfUFdSX1dQX0VOICAgICAgICAgICAgIDB4MDENCj4gKw0KPiArI2RlZmluZSBG UkVRVUVOQ1lfT0QgICAgICAgICAgICAoNDAwICogMTAwMCkNCj4gKyNkZWZpbmUgRlJFUVVFTkNZ X01NQ19QUCAgICAgICAgKDI2ICogMTAwMCAqIDEwMDApDQo+ICsjZGVmaW5lIEZSRVFVRU5DWV9N TUNfUFBfSElHSCAgICg1MiAqIDEwMDAgKiAxMDAwKQ0KPiArDQo+ICsjZGVmaW5lIERFRkFVTFRf RFNSX1ZBTFVFICAgICAgICAweDQwNA0KPiArDQo+ICsvLw0KPiArLy9SZWdpc3RlcnMgZGVmaW5p dGlvbg0KPiArLy8NCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgIFJlc2Vy dmVkMDogICA3OyAgLy8gMA0KPiArICBVSU5UMzIgIFYxNzBfVjE5NTogICAxOyAgLy8gMS43MFYg LSAxLjk1Vg0KPiArICBVSU5UMzIgIFYyMDBfVjI2MDogICA3OyAgLy8gMi4wMFYgLSAyLjYwVg0K PiArICBVSU5UMzIgIFYyNzBfVjM2MDogICA5OyAgLy8gMi43MFYgLSAzLjYwVg0KPiArICBVSU5U MzIgIFJlc2VydmVkMTogICA1OyAgLy8gMA0KPiArICBVSU5UMzIgIEFjY2Vzc01vZGU6ICAyOyAg Ly8gMDBiIChieXRlIG1vZGUpLCAxMGIgKHNlY3RvciBtb2RlKQ0KPiArICBVSU5UMzIgIEJ1c3k6 ICAgICAgICAxOyAgLy8gVGhpcyBiaXQgaXMgc2V0IHRvIExPVyBpZiB0aGUgY2FyZCBoYXMgbm90 IGZpbmlzaGVkIHRoZQ0KPiBwb3dlciB1cCByb3V0aW5lDQo+ICt9IE9DUjsNCj4gKw0KPiArDQo+ ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgTm90VXNlZDogICAgIDE7IC8vICAxDQo+ ICsgIFVJTlQ4ICAgQ1JDOiAgICAgICAgIDc7IC8vICBDUkM3IGNoZWNrc3VtDQo+ICsgIFVJTlQ4 ICAgTURUOyAgICAgICAgICAgIC8vICBNYW51ZmFjdHVyaW5nIGRhdGUNCj4gKyAgVUlOVDMyICBQ U047ICAgICAgICAgICAgLy8gIFByb2R1Y3Qgc2VyaWFsIG51bWJlcg0KPiArICBVSU5UOCAgIFBS VjsgICAgICAgICAgICAvLyAgUHJvZHVjdCByZXZpc2lvbg0KPiArICBVSU5UOCAgIFBOTVs2XTsg ICAgICAgICAvLyAgUHJvZHVjdCBuYW1lDQo+ICsgIFVJTlQxNiAgT0lEOyAgICAgICAgICAgIC8v ICBPRU0vQXBwbGljYXRpb24gSUQNCj4gKyAgVUlOVDggICBNSUQ7ICAgICAgICAgICAgLy8gIE1h bnVmYWN0dXJlciBJRA0KPiArfSBDSUQ7DQo+ICsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0K PiArICBVSU5UOCAgIE5vdFVzZWQ6ICAgICAgICAgICAgMTsgLy8gIDEgWzA6MF0NCj4gKyAgVUlO VDggICBDUkM6ICAgICAgICAgICAgICAgIDc7IC8vICBDUkMgWzc6MV0NCj4gKyAgVUlOVDggICBF Q0M6ICAgICAgICAgICAgICAgIDI7IC8vICBFQ0MgY29kZSBbOTo4XQ0KPiArICBVSU5UOCAgIEZJ TEVfRk9STUFUOiAgICAgICAgMjsgLy8gIEZpbGUgZm9ybWF0IFsxMToxMF0NCj4gKyAgVUlOVDgg ICBUTVBfV1JJVEVfUFJPVEVDVDogIDE7IC8vICBUZW1wb3Jhcnkgd3JpdGUgcHJvdGVjdGlvbiBb MTI6MTJdDQo+ICsgIFVJTlQ4ICAgUEVSTV9XUklURV9QUk9URUNUOiAxOyAvLyAgUGVybWFuZW50 IHdyaXRlIHByb3RlY3Rpb24gWzEzOjEzXQ0KPiArICBVSU5UOCAgIENPUFk6ICAgICAgICAgICAg ICAgMTsgLy8gIENvcHkgZmxhZyAoT1RQKSBbMTQ6MTRdDQo+ICsgIFVJTlQ4ICAgRklMRV9GT1JN QVRfR1JQOiAgICAxOyAvLyAgRmlsZSBmb3JtYXQgZ3JvdXAgWzE1OjE1XQ0KPiArICBVSU5UMTYg IENPTlRFTlRfUFJPVF9BUFA6ICAgMTsgLy8gIENvbnRlbnQgcHJvdGVjdGlvbiBhcHBsaWNhdGlv biBbMTY6MTZdDQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQwOiAgICAgICAgICA0OyAvLyAgMCBbMjA6 MTddDQo+ICsgIFVJTlQxNiAgV1JJVEVfQkxfUEFSVElBTDogICAxOyAvLyAgUGFydGlhbCBibG9j a3MgZm9yIHdyaXRlIGFsbG93ZWQgWzIxOjIxXQ0KPiArICBVSU5UMTYgIFdSSVRFX0JMX0xFTjog ICAgICAgNDsgLy8gIE1heC4gd3JpdGUgZGF0YSBibG9jayBsZW5ndGggWzI1OjIyXQ0KPiArICBV SU5UMTYgIFIyV19GQUNUT1I6ICAgICAgICAgMzsgLy8gIFdyaXRlIHNwZWVkIGZhY3RvciBbMjg6 MjZdDQo+ICsgIFVJTlQxNiAgREVGQVVMVF9FQ0M6ICAgICAgICAyOyAvLyAgTWFudWZhY3R1cmVy IGRlZmF1bHQgRUNDIFszMDoyOV0NCj4gKyAgVUlOVDE2ICBXUF9HUlBfRU5BQkxFOiAgICAgIDE7 IC8vICBXcml0ZSBwcm90ZWN0IGdyb3VwIGVuYWJsZSBbMzE6MzFdDQo+ICsgIFVJTlQzMiAgV1Bf R1JQX1NJWkU6ICAgICAgICA1OyAvLyAgV3JpdGUgcHJvdGVjdCBncm91cCBzaXplIFszNjozMl0N Cj4gKyAgVUlOVDMyICBFUkFTRV9HUlBfTVVMVDogICAgIDU7IC8vICBFcmFzZSBncm91cCBzaXpl IG11bHRpcGxpZXIgWzQxOjM3XQ0KPiArICBVSU5UMzIgIEVSQVNFX0dSUF9TSVpFOiAgICAgNTsg Ly8gIEVyYXNlIGdyb3VwIHNpemUgWzQ2OjQyXQ0KPiArICBVSU5UMzIgIENfU0laRV9NVUxUOiAg ICAgICAgMzsgLy8gIERldmljZSBzaXplIG11bHRpcGxpZXIgWzQ5OjQ3XQ0KPiArICBVSU5UMzIg IFZERF9XX0NVUlJfTUFYOiAgICAgMzsgLy8gIE1heC4gd3JpdGUgY3VycmVudCBAIFZERCBtYXgN Cj4gWzUyOjUwXQ0KPiArICBVSU5UMzIgIFZERF9XX0NVUlJfTUlOOiAgICAgMzsgLy8gIE1heC4g d3JpdGUgY3VycmVudCBAIFZERCBtaW4gWzU1OjUzXQ0KPiArICBVSU5UMzIgIFZERF9SX0NVUlJf TUFYOiAgICAgMzsgLy8gIE1heC4gcmVhZCBjdXJyZW50IEAgVkREIG1heCBbNTg6NTZdDQo+ICsg IFVJTlQzMiAgVkREX1JfQ1VSUl9NSU46ICAgICAzOyAvLyAgTWF4LiByZWFkIGN1cnJlbnQgQCBW REQgbWluIFs2MTo1OV0NCj4gKyAgVUlOVDMyICBDX1NJWkVMb3cyOiAgICAgICAgIDI7Ly8gIERl dmljZSBzaXplIFs3Mzo2Ml0NCj4gKyAgVUlOVDMyICBDX1NJWkVIaWdoMTA6ICAgICAgIDEwOy8v ICBEZXZpY2Ugc2l6ZSBbNzM6NjJdDQo+ICsgIFVJTlQzMiAgUmVzZXJ2ZWQxOiAgICAgICAgICAy OyAvLyAgMCBbNzU6NzRdDQo+ICsgIFVJTlQzMiAgRFNSX0lNUDogICAgICAgICAgICAxOyAvLyAg RFNSIGltcGxlbWVudGVkIFs3Njo3Nl0NCj4gKyAgVUlOVDMyICBSRUFEX0JMS19NSVNBTElHTjog IDE7IC8vICBSZWFkIGJsb2NrIG1pc2FsaWdubWVudCBbNzc6NzddDQo+ICsgIFVJTlQzMiAgV1JJ VEVfQkxLX01JU0FMSUdOOiAxOyAvLyAgV3JpdGUgYmxvY2sgbWlzYWxpZ25tZW50IFs3ODo3OF0N Cj4gKyAgVUlOVDMyICBSRUFEX0JMX1BBUlRJQUw6ICAgIDE7IC8vICBQYXJ0aWFsIGJsb2NrcyBm b3IgcmVhZCBhbGxvd2VkIFs3OTo3OV0NCj4gKyAgVUlOVDMyICBSRUFEX0JMX0xFTjogICAgICAg IDQ7IC8vICBNYXguIHJlYWQgZGF0YSBibG9jayBsZW5ndGggWzgzOjgwXQ0KPiArICBVSU5UMzIg IENDQzogICAgICAgICAgICAgICAgMTI7Ly8gIENhcmQgY29tbWFuZCBjbGFzc2VzIFs5NTo4NF0N Cj4gKyAgVUlOVDggICBUUkFOX1NQRUVEICAgICAgICAgIDsgLy8gIE1heC4gYnVzIGNsb2NrIGZy ZXF1ZW5jeSBbMTAzOjk2XQ0KPiArICBVSU5UOCAgIE5TQUMgICAgICAgICAgICAgICAgOyAvLyAg RGF0YSByZWFkIGFjY2Vzcy10aW1lIDIgaW4gQ0xLIGN5Y2xlcyAoTlNBQyoxMDApDQo+IFsxMTE6 MTA0XQ0KPiArICBVSU5UOCAgIFRBQUMgICAgICAgICAgICAgICAgOyAvLyAgRGF0YSByZWFkIGFj Y2Vzcy10aW1lIDEgWzExOToxMTJdDQo+ICsgIFVJTlQ4ICAgUmVzZXJ2ZWQyOiAgICAgICAgICAy OyAvLyAgMCBbMTIxOjEyMF0NCj4gKyAgVUlOVDggICBTUEVDX1ZFUlM6ICAgICAgICAgIDQ7IC8v ICBTeXN0ZW0gc3BlY2lmaWNhdGlvbiB2ZXJzaW9uIFsxMjU6MTIyXQ0KPiArICBVSU5UOCAgIENT RF9TVFJVQ1RVUkU6ICAgICAgMjsgLy8gIENTRCBzdHJ1Y3R1cmUgWzEyNzoxMjZdDQo+ICt9IENT RDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgUmVzZXJ2ZWQxMzNfMFsx MzRdOyAgICAgLy8gWzEzMzowXSAwDQo+ICsgIFVJTlQ4ICBTRUNfQkFEX0JMT0NLX01HTU5UOyAg ICAvLyBbMTM0XSBCYWQgQmxvY2sgTWFuYWdlbWVudA0KPiBtb2RlDQo+ICsgIFVJTlQ4ICBSZXNl cnZlZDEzNTsgICAgICAgICAgICAvLyBbMTM1XSAwDQo+ICsgIFVJTlQ4ICBFTkhfU1RBUlRfQURE Uls0XTsgICAgICAvLyBbMTM5OjEzNl0gRW5oYW5jZWQgVXNlciBEYXRhIFN0YXJ0DQo+IEFkZHJl c3MNCj4gKyAgVUlOVDggIEVOSF9TSVpFX01VTFRbM107ICAgICAgIC8vIFsxNDI6MTQwXSBFbmhh bmNlZCBVc2VyIERhdGEgU3RhcnQgU2l6ZQ0KPiArICBVSU5UOCAgR1BfU0laRV9NVUxUXzFbM107 ICAgICAgLy8gWzE0NToxNDNdIEdQUDEgU2l6ZQ0KPiArICBVSU5UOCAgR1BfU0laRV9NVUxUXzJb M107ICAgICAgLy8gWzE0ODoxNDZdIEdQUDIgU2l6ZQ0KPiArICBVSU5UOCAgR1BfU0laRV9NVUxU XzNbM107ICAgICAgLy8gWzE1MToxNDldIEdQUDMgU2l6ZQ0KPiArICBVSU5UOCAgR1BfU0laRV9N VUxUXzRbM107ICAgICAgLy8gWzE1NDoxNTJdIEdQUDQgU2l6ZQ0KPiArICBVSU5UOCAgUEFSVElU SU9OX1NFVFRJTkdfQ09NUExFVEVEOyAvLyBbMTU1XSBQYXJ0aXRpb25pbmcgU2V0dGluZw0KPiAr ICBVSU5UOCAgUEFSVElUSU9OU19BVFRSSUJVVEVTOyAgLy8gWzE1Nl0gUGFydGl0aW9ucyBhdHRy aWJ1dGVzDQo+ICsgIFVJTlQ4ICBNQVhfRU5IX1NJWkVfTVVMVFszXTsgICAvLyBbMTU5OjE1N10g R1BQNCBTdGFydCBTaXplDQo+ICsgIFVJTlQ4ICBQQVJUSVRJT05JTkdfU1VQUE9SVDsgICAvLyBb MTYwXSBQYXJ0aXRpb25pbmcgU3VwcG9ydA0KPiArICBVSU5UOCAgSFBJX01HTVQ7ICAgICAgICAg ICAgICAgLy8gWzE2MV0gSFBJIG1hbmFnZW1lbnQNCj4gKyAgVUlOVDggIFJTVF9uX0ZVTkNUSU9O OyAgICAgICAgIC8vIFsxNjJdIEgvVyByZXNldCBmdW5jdGlvbg0KPiArICBVSU5UOCAgQktPUFNf RU47ICAgICAgICAgICAgICAgLy8gWzE2M10gRW5hYmxlIGJhY2tncm91bmQgb3BlcmF0aW9ucw0K PiBoYW5kc2hha2UNCj4gKyAgVUlOVDggIEJLT1BTX1NUQVJUOyAgICAgICAgICAgIC8vIFsxNjRd IE1hbnVhbGx5IHN0YXJ0IGJhY2tncm91bmQgb3BlcmF0aW9ucw0KPiArICBVSU5UOCAgUmVzZXJ2 ZWQxNjU7ICAgICAgICAgICAgLy8gWzE2NV0gMA0KPiArICBVSU5UOCAgV1JfUkVMX1BBUkFNOyAg ICAgICAgICAgLy8gWzE2Nl0gV3JpdGUgcmVsaWFiaWxpdHkgcGFyYW1ldGVyIHJlZ2lzdGVyDQo+ ICsgIFVJTlQ4ICBXUl9SRUxfU0VUOyAgICAgICAgICAgICAvLyBbMTY3XSBXcml0ZSByZWxpYWJp bGl0eSBzZXR0aW5nIHJlZ2lzdGVyDQo+ICsgIFVJTlQ4ICBSUE1CX1NJWkVfTVVMVDsgICAgICAg ICAvLyBbMTY4XSBSUE1CIFNpemUNCj4gKyAgVUlOVDggIEZXX0NPTkZJRzsgICAgICAgICAgICAg IC8vIFsxNjldIEZXIGNvbmZpZ3VyYXRpb24NCj4gKyAgVUlOVDggIFJlc2VydmVkMTcwOyAgICAg ICAgICAgIC8vIFsxNzBdIDANCj4gKyAgVUlOVDggIFVTRVJfV1A7ICAgICAgICAgICAgICAgIC8v IFsxNzFdIFVzZXIgYXJlYSB3cml0ZSBwcm90ZWN0aW9uDQo+ICsgIFVJTlQ4ICBSZXNlcnZlZDE3 MjsgICAgICAgICAgICAvLyBbMTcyXSAwDQo+ICsgIFVJTlQ4ICBCT09UX1dQOyAgICAgICAgICAg ICAgICAvLyBbMTczXSBCb290IGFyZWEgd3JpdGUgcHJvdGVjdGlvbg0KPiArICBVSU5UOCAgUmVz ZXJ2ZWQxNzQ7ICAgICAgICAgICAgLy8gWzE3NF0gMA0KPiArICBVSU5UOCAgRVJBU0VfR1JPVVBf REVGOyAgICAgICAgLy8gWzE3NV0gSGlnaCBkZW5zaXR5IGVyYXNlIGdyb3VwDQo+IGRlZmluaXRp b24NCj4gKyAgVUlOVDggIFJlc2VydmVkMTc2OyAgICAgICAgICAgIC8vIFsxNzZdIDANCj4gKyAg VUlOVDggIEJPT1RfQlVTX1dJRFRIOyAgICAgICAgIC8vIFsxNzddIEJvb3QgYnVzIHdpZHRoDQo+ ICsgIFVJTlQ4ICBCT09UX0NPTkZJR19QUk9UOyAgICAgICAvLyBbMTc4XSBCb290IGNvbmZpZyBw cm90ZWN0aW9uDQo+ICsgIFVJTlQ4ICBQQVJUSVRJT05fQ09ORklHOyAgICAgICAvLyBbMTc5XSBQ YXJ0aXRpb24gY29uZmlnDQo+ICsgIFVJTlQ4ICBSZXNlcnZlZDE4MDsgICAgICAgICAgICAvLyBb MTgwXSAwDQo+ICsgIFVJTlQ4ICBFUkFTRURfTUVNX0NPTlQ7ICAgICAgICAvLyBbMTgxXSBFcmFz ZWQgTWVtb3J5IENvbnRlbnQNCj4gKyAgVUlOVDggIFJlc2VydmVkMTgyOyAgICAgICAgICAgIC8v IFsxODJdIDANCj4gKyAgVUlOVDggIEJVU19XSURUSDsgICAgICAgICAgICAgIC8vIFsxODNdIEJ1 cyBXaWR0aCBNb2RlDQo+ICsgIFVJTlQ4ICBSZXNlcnZlZDE4NDsgICAgICAgICAgICAvLyBbMTg0 XSAwDQo+ICsgIFVJTlQ4ICBIU19USU1JTkc7ICAgICAgICAgICAgICAvLyBbMTg1XSBIaWdoIFNw ZWVkIEludGVyZmFjZSBUaW1pbmcNCj4gKyAgVUlOVDggIFJlc2VydmVkMTg2OyAgICAgICAgICAg IC8vIFsxODZdIDANCj4gKyAgVUlOVDggIFBPV0VSX0NMQVNTOyAgICAgICAgICAgIC8vIFsxODdd IFBvd2VyIENsYXNzDQo+ICsgIFVJTlQ4ICBSZXNlcnZlZDE4ODsgICAgICAgICAgICAvLyBbMTg4 XSAwDQo+ICsgIFVJTlQ4ICBDTURfU0VUX1JFVjsgICAgICAgICAgICAvLyBbMTg5XSBDb21tYW5k IFNldCBSZXZpc2lvbg0KPiArICBVSU5UOCAgUmVzZXJ2ZWQxOTA7ICAgICAgICAgICAgLy8gWzE5 MF0gMA0KPiArICBVSU5UOCAgQ01EX1NFVDsgICAgICAgICAgICAgICAgLy8gWzE5MV0gQ29tbWFu ZCBTZXQNCj4gKyAgVUlOVDggIEVYVF9DU0RfUkVWOyAgICAgICAgICAgIC8vIFsxOTJdIEV4dGVu ZGVkIENTRCBSZXZpc2lvbg0KPiArICBVSU5UOCAgUmVzZXJ2ZWQxOTM7ICAgICAgICAgICAgLy8g WzE5M10gMA0KPiArICBVSU5UOCAgQ1NEX1NUUlVDVFVSRTsgICAgICAgICAgLy8gWzE5NF0gQ1NE IFN0cnVjdHVyZSBWZXJzaW9uDQo+ICsgIFVJTlQ4ICBSZXNlcnZlZDE5NTsgICAgICAgICAgICAv LyBbMTk1XSAwDQo+ICsgIFVJTlQ4ICBDQVJEX1RZUEU7ICAgICAgICAgICAgICAvLyBbMTk2XSBD YXJkIFR5cGUNCj4gKyAgVUlOVDggIFJlc2VydmVkMTk3OyAgICAgICAgICAgIC8vIFsxOTddIDAN Cj4gKyAgVUlOVDggIE9VVF9PRl9JTlRFUlJVUFRfVElNRTsgIC8vIFsxOThdIE91dC1vZi1pbnRl cnJ1cHQgYnVzeSB0aW1pbmcNCj4gKyAgVUlOVDggIFBBUlRJVElPTl9TV0lUQ0hfVElNRTsgIC8v IFsxOTldIFBhcnRpdGlvbiBzd2l0Y2hpbmcgdGltaW5nDQo+ICsgIFVJTlQ4ICBQV1JfQ0xfNTJf MTk1OyAgICAgICAgICAvLyBbMjAwXSBQb3dlciBDbGFzcyBmb3IgNTJNSHogQCAxLjk1Vg0KPiAr ICBVSU5UOCAgUFdSX0NMXzI2XzE5NTsgICAgICAgICAgLy8gWzIwMV0gUG93ZXIgQ2xhc3MgZm9y IDI2TUh6IEAgMS45NVYNCj4gKyAgVUlOVDggIFBXUl9DTF81Ml8zNjA7ICAgICAgICAgIC8vIFsy MDJdIFBvd2VyIENsYXNzIGZvciA1Mk1IeiBAIDMuNlYNCj4gKyAgVUlOVDggIFBXUl9DTF8yNl8z NjA7ICAgICAgICAgIC8vIFsyMDNdIFBvd2VyIENsYXNzIGZvciAyNk1IeiBAIDMuNlYNCj4gKyAg VUlOVDggIFJlc2VydmVkMjA0OyAgICAgICAgICAgIC8vIFsyMDRdIDANCj4gKyAgVUlOVDggIE1J Tl9QRVJGX1JfNF8yNjsgICAgICAgIC8vIFsyMDVdIE1pbmltdW0gUmVhZCBQZXJmb3JtYW5jZSBm b3INCj4gNGJpdCBAMjZNSHoNCj4gKyAgVUlOVDggIE1JTl9QRVJGX1dfNF8yNjsgICAgICAgIC8v IFsyMDZdIE1pbmltdW0gV3JpdGUgUGVyZm9ybWFuY2UgZm9yDQo+IDRiaXQgQDI2TUh6DQo+ICsg IFVJTlQ4ICBNSU5fUEVSRl9SXzhfMjZfNF81MjsgICAvLyBbMjA3XSBNaW5pbXVtIFJlYWQgUGVy Zm9ybWFuY2UNCj4gZm9yIDhiaXQgQDI2TUh6LzRiaXQgQDUyTUh6DQo+ICsgIFVJTlQ4ICBNSU5f UEVSRl9XXzhfMjZfNF81MjsgICAvLyBbMjA4XSBNaW5pbXVtIFdyaXRlIFBlcmZvcm1hbmNlDQo+ IGZvciA4Yml0IEAyNk1Iei80Yml0IEA1Mk1Ieg0KPiArICBVSU5UOCAgTUlOX1BFUkZfUl84XzUy OyAgICAgICAgLy8gWzIwOV0gTWluaW11bSBSZWFkIFBlcmZvcm1hbmNlIGZvcg0KPiA4Yml0IEA1 Mk1Ieg0KPiArICBVSU5UOCAgTUlOX1BFUkZfV184XzUyOyAgICAgICAgLy8gWzIxMF0gTWluaW11 bSBXcml0ZSBQZXJmb3JtYW5jZSBmb3INCj4gOGJpdCBANTJNSHoNCj4gKyAgVUlOVDggIFJlc2Vy dmVkMjExOyAgICAgICAgICAgIC8vIFsyMTFdIDANCj4gKyAgVUlOVDggIFNFQ19DT1VOVFs0XTsg ICAgICAgICAgIC8vIFsyMTU6MjEyXSBTZWN0b3IgQ291bnQNCj4gKyAgVUlOVDggIFJlc2VydmVk MjE2OyAgICAgICAgICAgIC8vIFsyMTZdIDANCj4gKyAgVUlOVDggIFNfQV9USU1FT1VUOyAgICAg ICAgICAgIC8vIFsyMTddIFNsZWVwL2F3YWtlIHRpbWVvdXQNCj4gKyAgVUlOVDggIFJlc2VydmVk MjE4OyAgICAgICAgICAgIC8vIFsyMThdIDANCj4gKyAgVUlOVDggIFNfQ19WQ0NROyAgICAgICAg ICAgICAgIC8vIFsyMTldIFNsZWVwIGN1cnJlbnQgKFZDQ1EpDQo+ICsgIFVJTlQ4ICBTX0NfVkND OyAgICAgICAgICAgICAgICAvLyBbMjIwXSBTbGVlcCBjdXJyZW50IChWQ0MpDQo+ICsgIFVJTlQ4 ICBIQ19XUF9HUlBfU0laRTsgICAgICAgICAvLyBbMjIxXSBIaWdoLWNhcGFjaXR5IHdyaXRlIHBy b3RlY3QgZ3JvdXANCj4gc2l6ZQ0KPiArICBVSU5UOCAgUkVMX1dSX1NFQ19DOyAgICAgICAgICAg Ly8gWzIyMl0gUmVsaWFibGUgd3JpdGUgc2VjdG9yIGNvdW50DQo+ICsgIFVJTlQ4ICBFUkFTRV9U SU1FT1VUX01VTFQ7ICAgICAvLyBbMjIzXSBIaWdoLWNhcGFjaXR5IGVyYXNlIHRpbWVvdXQNCj4g KyAgVUlOVDggIEhDX0VSQVNFX0dSUF9TSVpFOyAgICAgIC8vIFsyMjRdIEhpZ2gtY2FwYWNpdHkg ZXJhc2UgdW5pdCBzaXplDQo+ICsgIFVJTlQ4ICBBQ0NfU0laRTsgICAgICAgICAgICAgICAvLyBb MjI1XSBBY2Nlc3Mgc2l6ZQ0KPiArICBVSU5UOCAgQk9PVF9TSVpFX01VTFRJOyAgICAgICAgLy8g WzIyNl0gQm9vdCBwYXJ0aXRpb24gc2l6ZQ0KPiArICBVSU5UOCAgUmVzZXJ2ZWQyMjc7ICAgICAg ICAgICAgLy8gWzIyN10gMA0KPiArICBVSU5UOCAgQk9PVF9JTkZPOyAgICAgICAgICAgICAgLy8g WzIyOF0gQm9vdCBpbmZvcm1hdGlvbg0KPiArICBVSU5UOCAgU0VDX1RSSU1fTVVMVDsgICAgICAg ICAgLy8gWzIyOV0gU2VjdXJlIFRSSU0gTXVsdGlwbGllcg0KPiArICBVSU5UOCAgU0VDX0VSQVNF X01VTFQ7ICAgICAgICAgLy8gWzIzMF0gU2VjdXJlIEVyYXNlIE11bHRpcGxpZXINCj4gKyAgVUlO VDggIFNFQ19GRUFUVVJFX1NVUFBPUlQ7ICAgIC8vIFsyMzFdIFNlY3VyZSBGZWF0dXJlIHN1cHBv cnQNCj4gKyAgVUlOVDggIFRSSU1fTVVMVDsgICAgICAgICAgICAgIC8vIFsyMzJdIFRSSU0gTXVs dGlwbGllcg0KPiArICBVSU5UOCAgUmVzZXJ2ZWQyMzM7ICAgICAgICAgICAgLy8gWzIzM10gMA0K PiArICBVSU5UOCAgTUlOX1BFUkZfRERSX1JfOF81MjsgICAgLy8gWzIzNF0gTWluIFJlYWQgUGVy Zm9ybWFuY2UgZm9yIDgtYml0DQo+IEAgNTJNSHoNCj4gKyAgVUlOVDggIE1JTl9QRVJGX0REUl9X XzhfNTI7ICAgIC8vIFsyMzVdIE1pbiBXcml0ZSBQZXJmb3JtYW5jZSBmb3IgOC0NCj4gYml0IEAg NTJNSHoNCj4gKyAgVUlOVDggIFJlc2VydmVkMjM3XzIzNlsyXTsgICAgIC8vIFsyMzc6MjM2XSAw DQo+ICsgIFVJTlQ4ICBQV1JfQ0xfRERSXzUyXzE5NTsgICAgICAvLyBbMjM4XSBQb3dlciBjbGFz cyBmb3IgNTJNSHosIEREUiBhdA0KPiAxLjk1Vg0KPiArICBVSU5UOCAgUFdSX0NMX0REUl81Ml8z NjA7ICAgICAgLy8gWzIzOV0gUG93ZXIgY2xhc3MgZm9yIDUyTUh6LCBERFIgYXQNCj4gMy42Vg0K PiArICBVSU5UOCAgUmVzZXJ2ZWQyNDA7ICAgICAgICAgICAgLy8gWzI0MF0gMA0KPiArICBVSU5U OCAgSU5JX1RJTUVPVVRfQVA7ICAgICAgICAgLy8gWzI0MV0gMXN0IGluaXRpYWxpemF0aW9uIHRp bWUgYWZ0ZXINCj4gcGFydGl0aW9uaW5nDQo+ICsgIFVJTlQ4ICBDT1JSRUNUTFlfUFJHX1NFQ1RP UlNfTlVNWzRdOyAvLyBbMjQ1OjI0Ml0gTnVtYmVyIG9mDQo+IGNvcnJlY3RseSBwcm9ncmFtbWVk IHNlY3RvcnMNCj4gKyAgVUlOVDggIEJLT1BTX1NUQVRVUzsgICAgICAgICAgIC8vIFsyNDZdIEJh Y2tncm91bmQgb3BlcmF0aW9ucyBzdGF0dXMNCj4gKyAgVUlOVDggIFJlc2VydmVkNTAxXzI0N1sy NTVdOyAgIC8vIFs1MDE6MjQ3XSAwDQo+ICsgIFVJTlQ4ICBCS09QU19TVVBQT1JUOyAgICAgICAg ICAvLyBbNTAyXSBCYWNrZ3JvdW5kIG9wZXJhdGlvbnMgc3VwcG9ydA0KPiArICBVSU5UOCAgSFBJ X0ZFQVRVUkVTOyAgICAgICAgICAgLy8gWzUwM10gSFBJIGZlYXR1cmVzDQo+ICsgIFVJTlQ4ICBT X0NNRF9TRVQ7ICAgICAgICAgICAgICAvLyBbNTA0XSBTZWN0b3IgQ291bnQNCj4gKyAgVUlOVDgg IFJlc2VydmVkNTExXzUwNVs3XTsgICAgIC8vIFs1MTE6NTA1XSBTZWN0b3IgQ291bnQNCj4gK30g RVhUX0NTRDsNCj4gKw0KPiArDQo+ICsvLw0KPiArLy9DYXJkIFN0YXR1cyBkZWZpbml0aW9uDQo+ ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgIFJlc2VydmVkMDogICAgICAg ICAgIDI7IC8vUmVzZXJ2ZWQgZm9yIE1hbnVmYWN0dXJlciBUZXN0IE1vZGUNCj4gKyAgVUlOVDMy ICBSZXNlcnZlZDE6ICAgICAgICAgICAyOyAvL1Jlc2VydmVkIGZvciBBcHBsaWNhdGlvbiBTcGVj aWZpYyBjb21tYW5kcw0KPiArICBVSU5UMzIgIFJlc2VydmVkMjogICAgICAgICAgIDE7IC8vDQo+ ICsgIFVJTlQzMiAgU0FQUF9DTUQ6ICAgICAgICAgICAgMTsgLy8NCj4gKyAgVUlOVDMyICBSZXNl cnZlZDM6ICAgICAgICAgICAxOyAvL1Jlc2VydmVkDQo+ICsgIFVJTlQzMiAgU1dJVENIX0VSUk9S OiAgICAgICAgMTsgLy8NCj4gKyAgVUlOVDMyICBSRUFEWV9GT1JfREFUQTogICAgICAxOyAvLw0K PiArICBVSU5UMzIgIENVUlJFTlRfU1RBVEU6ICAgICAgIDQ7IC8vDQo+ICsgIFVJTlQzMiAgRVJB U0VfUkVTRVQ6ICAgICAgICAgMTsgLy8NCj4gKyAgVUlOVDMyICBSZXNlcnZlZDQ6ICAgICAgICAg ICAxOyAvL1Jlc2VydmVkDQo+ICsgIFVJTlQzMiAgV1BfRVJBU0VfU0tJUDogICAgICAgMTsgLy8N Cj4gKyAgVUlOVDMyICBDSURfQ1NEX09WRVJXUklURTogICAxOyAvLw0KPiArICBVSU5UMzIgIE9W RVJSVU46ICAgICAgICAgICAgIDE7IC8vDQo+ICsgIFVJTlQzMiAgVU5ERVJSVU46ICAgICAgICAg ICAgMTsgLy8NCj4gKyAgVUlOVDMyICBFUlJPUjogICAgICAgICAgICAgICAxOyAvLw0KPiArICBV SU5UMzIgIENDX0VSUk9SOiAgICAgICAgICAgIDE7IC8vDQo+ICsgIFVJTlQzMiAgQ0FSRF9FQ0Nf RkFJTEVEOiAgICAgMTsgLy8NCj4gKyAgVUlOVDMyICBJTExFR0FMX0NPTU1BTkQ6ICAgICAxOyAv Lw0KPiArICBVSU5UMzIgIENPTV9DUkNfRVJST1I6ICAgICAgIDE7IC8vDQo+ICsgIFVJTlQzMiAg TE9DS19VTkxPQ0tfRkFJTEVEOiAgMTsgLy8NCj4gKyAgVUlOVDMyICBDQVJEX0lTX0xPQ0tFRDog ICAgICAxOyAvLw0KPiArICBVSU5UMzIgIFdQX1ZJT0xBVElPTjogICAgICAgIDE7IC8vDQo+ICsg IFVJTlQzMiAgRVJBU0VfUEFSQU06ICAgICAgICAgMTsgLy8NCj4gKyAgVUlOVDMyICBFUkFTRV9T RVFfRVJST1I6ICAgICAxOyAvLw0KPiArICBVSU5UMzIgIEJMT0NLX0xFTl9FUlJPUjogICAgIDE7 IC8vDQo+ICsgIFVJTlQzMiAgQUREUkVTU19NSVNBTElHTjogICAgMTsgLy8NCj4gKyAgVUlOVDMy ICBBRERSRVNTX09VVF9PRl9SQU5HRToxOyAvLw0KPiArfSBDQVJEX1NUQVRVUzsNCj4gKw0KPiAr dHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgIENtZFNldDogICAgICAgICAgICAgIDM7DQo+ ICsgIFVJTlQzMiAgUmVzZXJ2ZWQwOiAgICAgICAgICAgNTsNCj4gKyAgVUlOVDMyICBWYWx1ZTog ICAgICAgICAgICAgICA4Ow0KPiArICBVSU5UMzIgIEluZGV4OiAgICAgICAgICAgICAgIDg7DQo+ ICsgIFVJTlQzMiAgQWNjZXNzOiAgICAgICAgICAgICAgMjsNCj4gKyAgVUlOVDMyICBSZXNlcnZl ZDE6ICAgICAgICAgICA2Ow0KPiArfSBTV0lUQ0hfQVJHVU1FTlQ7DQo+ICsNCj4gKyNkZWZpbmUg Q29tbWFuZFNldF9Nb2RlICAgICAgICAgIDANCj4gKyNkZWZpbmUgU2V0Qml0c19Nb2RlICAgICAg ICAgICAgIDENCj4gKyNkZWZpbmUgQ2xlYXJCaXRzX01vZGUgICAgICAgICAgIDINCj4gKyNkZWZp bmUgV3JpdGVCeXRlX01vZGUgICAgICAgICAgIDMNCj4gKw0KPiArDQo+ICsjZGVmaW5lICBJZGxl X1NUQVRFICAgICAgICAgICAgICAwDQo+ICsjZGVmaW5lICBSZWFkeV9TVEFURSAgICAgICAgICAg ICAxDQo+ICsjZGVmaW5lICBJZGVudF9TVEFURSAgICAgICAgICAgICAyDQo+ICsjZGVmaW5lICBT dGJ5X1NUQVRFICAgICAgICAgICAgICAzDQo+ICsjZGVmaW5lICBUcmFuX1NUQVRFICAgICAgICAg ICAgICA0DQo+ICsjZGVmaW5lICBEYXRhX1NUQVRFICAgICAgICAgICAgICA1DQo+ICsjZGVmaW5l ICBSY3ZfU1RBVEUgICAgICAgICAgICAgICA2DQo+ICsjZGVmaW5lICBQcmdfU1RBVEUgICAgICAg ICAgICAgICA3DQo+ICsjZGVmaW5lICBEaXNfU1RBVEUgICAgICAgICAgICAgICA4DQo+ICsjZGVm aW5lICBCdHN0X1NUQVRFICAgICAgICAgICAgICA5DQo+ICsNCj4gKw0KPiArDQo+ICsjcHJhZ21h IHBhY2soKQ0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9J bmR1c3RyeVN0YW5kYXJkL1NkQ2FyZC5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvSW5kdXN0cnlT dGFuZGFyZC9TZENhcmQuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi42MmJkNmUwODIzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVk DQo+IGUvSW5kdXN0cnlTdGFuZGFyZC9TZENhcmQuaA0KPiBAQCAtMCwwICsxLDE1NyBAQA0KPiAr LyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0KPiAr LyorKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgU0RDYXJkLmgNCj4gKw0KPiArQWJzdHJh Y3Q6DQo+ICsNCj4gKyAgSGVhZGVyIGZpbGUgZm9yIEluZHVzdHJ5IFNEIENhcmQgMi4wIHNwZWMu DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfU0RfQ0FSRF9IDQo+ICsjZGVmaW5lIF9T RF9DQVJEX0gNCj4gKw0KPiArI2luY2x1ZGUgIk1tYy5oIg0KPiArDQo+ICsjcHJhZ21hIHBhY2so MSkNCj4gKw0KPiArI2RlZmluZSBDSEVDS19QQVRURVJOICAgICAweEFBDQo+ICsNCj4gKyNkZWZp bmUgQUNNRDYgICAgICAgICAgICAgNg0KPiArI2RlZmluZSBBQ01EMTMgICAgICAgICAgICAxMw0K PiArI2RlZmluZSBBQ01EMjMgICAgICAgICAgICAyMw0KPiArI2RlZmluZSBBQ01ENDEgICAgICAg ICAgICA0MQ0KPiArI2RlZmluZSBBQ01ENDIgICAgICAgICAgICA0Mg0KPiArI2RlZmluZSBBQ01E NTEgICAgICAgICAgICA1MQ0KPiArDQo+ICsNCj4gKyNkZWZpbmUgU1dJVENIX0ZVTkMgICAgICAg ICAgICAgIENNRDYNCj4gKyNkZWZpbmUgU0VORF9JRl9DT05EICAgICAgICAgICAgIENNRDgNCj4g Kw0KPiArDQo+ICsjZGVmaW5lIFNFVF9CVVNfV0lEVEggICAgICAgICAgICBBQ01ENg0KPiArI2Rl ZmluZSBTRF9TVEFUVVMgICAgICAgICAgICAgICAgQUNNRDEzDQo+ICsjZGVmaW5lIFNFVF9XUl9C TEtfRVJBU0VfQ09VTlQgICBBQ01EMjMNCj4gKyNkZWZpbmUgU0RfU0VORF9PUF9DT05EICAgICAg ICAgIEFDTUQ0MQ0KPiArI2RlZmluZSBTRVRfQ0xSX0NBUkRfREVURUNUICAgICAgQUNNRDQyDQo+ ICsjZGVmaW5lIFNFTkRfU0NSICAgICAgICAgICAgICAgICBBQ01ENTENCj4gKw0KPiArDQo+ICsN Cj4gKyNkZWZpbmUgU0RfQlVTX1dJRFRIXzEgICAgICAgICAgICAgIDANCj4gKyNkZWZpbmUgU0Rf QlVTX1dJRFRIXzQgICAgICAgICAgICAgIDINCj4gKw0KPiArDQo+ICsNCj4gKyNkZWZpbmUgRlJF UVVFTkNZX1NEX1BQICAgICAgICAoMjUgKiAxMDAwICogMTAwMCkNCj4gKyNkZWZpbmUgRlJFUVVF TkNZX1NEX1BQX0hJR0ggICAoNTAgKiAxMDAwICogMTAwMCkNCj4gKw0KPiArDQo+ICsjZGVmaW5l IFNEX1NQRUNfMTAgICAgICAgICAgICAgICAgICAwDQo+ICsjZGVmaW5lIFNEX1NQRUNfMTEgICAg ICAgICAgICAgICAgICAxDQo+ICsjZGVmaW5lIFNEX1NQRUNfMjAgICAgICAgICAgICAgICAgICAy DQo+ICsNCj4gKw0KPiArI2RlZmluZSBWT0xUQUdFXzI3XzM2ICAgICAgICAgICAgICAgMHgxDQo+ ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICBOb3RVc2VkOiAgICAgICAgICAg IDE7IC8vICAxIFswOjBdDQo+ICsgIFVJTlQ4ICAgQ1JDOiAgICAgICAgICAgICAgICA3OyAvLyAg Q1JDIFs3OjFdDQo+ICsgIFVJTlQ4ICAgRUNDOiAgICAgICAgICAgICAgICAyOyAvLyAgRUNDIGNv ZGUgWzk6OF0NCj4gKyAgVUlOVDggICBGSUxFX0ZPUk1BVDogICAgICAgIDI7IC8vICBGaWxlIGZv cm1hdCBbMTE6MTBdDQo+ICsgIFVJTlQ4ICAgVE1QX1dSSVRFX1BST1RFQ1Q6ICAxOyAvLyAgVGVt cG9yYXJ5IHdyaXRlIHByb3RlY3Rpb24gWzEyOjEyXQ0KPiArICBVSU5UOCAgIFBFUk1fV1JJVEVf UFJPVEVDVDogMTsgLy8gIFBlcm1hbmVudCB3cml0ZSBwcm90ZWN0aW9uIFsxMzoxM10NCj4gKyAg VUlOVDggICBDT1BZOiAgICAgICAgICAgICAgIDE7IC8vICBDb3B5IGZsYWcgKE9UUCkgWzE0OjE0 XQ0KPiArICBVSU5UOCAgIEZJTEVfRk9STUFUX0dSUDogICAgMTsgLy8gIEZpbGUgZm9ybWF0IGdy b3VwIFsxNToxNV0NCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDA6ICAgICAgICAgIDU7IC8vICAwIFsy MDoxNl0NCj4gKyAgVUlOVDE2ICBXUklURV9CTF9QQVJUSUFMOiAgIDE7IC8vICBQYXJ0aWFsIGJs b2NrcyBmb3Igd3JpdGUgYWxsb3dlZCBbMjE6MjFdDQo+ICsgIFVJTlQxNiAgV1JJVEVfQkxfTEVO OiAgICAgICA0OyAvLyAgTWF4LiB3cml0ZSBkYXRhIGJsb2NrIGxlbmd0aCBbMjU6MjJdDQo+ICsg IFVJTlQxNiAgUjJXX0ZBQ1RPUjogICAgICAgICAzOyAvLyAgV3JpdGUgc3BlZWQgZmFjdG9yIFsy ODoyNl0NCj4gKyAgVUlOVDE2ICBERUZBVUxUX0VDQzogICAgICAgIDI7IC8vICBNYW51ZmFjdHVy ZXIgZGVmYXVsdCBFQ0MgWzMwOjI5XQ0KPiArICBVSU5UMTYgIFdQX0dSUF9FTkFCTEU6ICAgICAg MTsgLy8gIFdyaXRlIHByb3RlY3QgZ3JvdXAgZW5hYmxlIFszMTozMV0NCj4gKyAgVUlOVDE2ICBX UF9HUlBfU0laRTogICAgICAgIDc7IC8vICBXcml0ZSBwcm90ZWN0IGdyb3VwIHNpemUgWzM4OjMy XQ0KPiArICBVSU5UMTYgIFNFQ1RPUl9TSVpFOiAgICAgICAgNzsgLy8gIEVyYXNlIHNlY3RvciBz aXplIFs0NTozOV0NCj4gKyAgVUlOVDE2ICBFUkFTRV9CTEtfRU46ICAgICAgIDE7IC8vICBFcmFz ZSBzaW5nbGUgYmxvY2sgZW5hYmxlIFs0Njo0Nl0NCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDE6ICAg ICAgICAgIDE7IC8vICAwIFs0Nzo0N10NCj4gKw0KPiArICBVSU5UMzIgIENfU0laRTogICAgICAg ICAgICAgMjI7IC8vICBEZXZpY2Ugc2l6ZSBbNjk6NDhdDQo+ICsgIFVJTlQzMiAgUmVzZXJ2ZWQy OiAgICAgICAgICA2OyAgLy8gIDAgWzc1OjcwXQ0KPiArICBVSU5UMzIgIERTUl9JTVA6ICAgICAg ICAgICAgMTsgIC8vICBEU1IgaW1wbGVtZW50ZWQgWzc2Ojc2XQ0KPiArICBVSU5UMzIgIFJFQURf QkxLX01JU0FMSUdOOiAgMTsgIC8vICBSZWFkIGJsb2NrIG1pc2FsaWdubWVudCBbNzc6NzddDQo+ ICsgIFVJTlQzMiAgV1JJVEVfQkxLX01JU0FMSUdOOiAxOyAgLy8gIFdyaXRlIGJsb2NrIG1pc2Fs aWdubWVudCBbNzg6NzhdDQo+ICsgIFVJTlQzMiAgUkVBRF9CTF9QQVJUSUFMOiAgICAxOyAgLy8g IFBhcnRpYWwgYmxvY2tzIGZvciByZWFkIGFsbG93ZWQgWzc5Ojc5XQ0KPiArDQo+ICsgIFVJTlQx NiAgUkVBRF9CTF9MRU46ICAgICAgICA0OyAgLy8gIE1heC4gcmVhZCBkYXRhIGJsb2NrIGxlbmd0 aCBbODM6ODBdDQo+ICsgIFVJTlQxNiAgQ0NDOiAgICAgICAgICAgICAgICAxMjsgLy8gIENhcmQg Y29tbWFuZCBjbGFzc2VzIFs5NTo4NF0NCj4gKyAgVUlOVDggICBUUkFOX1NQRUVEICAgICAgICAg IDsgICAvLyAgTWF4LiBidXMgY2xvY2sgZnJlcXVlbmN5IFsxMDM6OTZdDQo+ICsgIFVJTlQ4ICAg TlNBQyAgICAgICAgICAgICAgICA7ICAgLy8gIERhdGEgcmVhZCBhY2Nlc3MtdGltZSAyIGluIENM SyBjeWNsZXMgKE5TQUMqMTAwKQ0KPiBbMTExOjEwNF0NCj4gKyAgVUlOVDggICBUQUFDICAgICAg ICAgICAgICAgIDsgICAvLyAgRGF0YSByZWFkIGFjY2Vzcy10aW1lIDEgWzExOToxMTJdDQo+ICsg IFVJTlQ4ICAgUmVzZXJ2ZWQzOiAgICAgICAgICA2OyAgLy8gIDAgWzEyNToxMjBdDQo+ICsgIFVJ TlQ4ICAgQ1NEX1NUUlVDVFVSRTogICAgICAyOyAgLy8gIENTRCBzdHJ1Y3R1cmUgWzEyNzoxMjZd DQo+ICt9IENTRF9TRFYyOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAg UmVzZXJ2ZWQwOw0KPiArICBVSU5UMzIgIFJlc2VydmVkMTogICAgICAgICAgICAgICAxNjsNCj4g KyAgVUlOVDMyICBTRF9CVVNfV0lEVEg6ICAgICAgICAgICAgNDsNCj4gKyAgVUlOVDMyICBTRF9T RUNVUklUWTogICAgICAgICAgICAgMzsNCj4gKyAgVUlOVDMyICBEQVRBX1NUQVRfQUZURVJfRVJB U0U6ICAgMTsNCj4gKyAgVUlOVDMyICBTRF9TUEVDOiAgICAgICAgICAgICAgICAgNDsNCj4gKyAg VUlOVDMyICBTQ1JfU1RSVUNUOiAgICAgICAgICAgICAgNDsNCj4gK30gU0NSOw0KPiArDQo+ICsN Cj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICBSZXNlcnZlZDBbNTBdOw0KPiArICBV SU5UOCAgIEVSQVNFX09GRlNFVDogICAgICAgICAgICAgICAyOw0KPiArICBVSU5UOCAgIEVSQVNF X1RJTUVPVVQ6ICAgICAgICAgICAgICA2Ow0KPiArICBVSU5UMTYgIEVSQVNFX1NJWkU7DQo+ICsg IFVJTlQ4ICAgUmVzZXJ2ZWQxOiAgICAgICAgICAgICAgICAgIDQ7DQo+ICsgIFVJTlQ4ICAgQVVf U0laRTogICAgICAgICAgICAgICAgICAgIDQ7DQo+ICsgIFVJTlQ4ICAgUEVSRk9STUFOQ0VfTU9W RTsNCj4gKyAgVUlOVDggICBTUEVFRF9DTEFTUzsNCj4gKyAgVUlOVDMyICBTSVpFX09GX1BST1RF Q1RFRF9BUkVBOw0KPiArICBVSU5UMzIgIFNEX0NBUkRfVFlQRTogICAgICAgICAgICAgIDE2Ow0K PiArICBVSU5UMzIgIFJlc2VydmVkMjogICAgICAgICAgICAgICAgIDEzOw0KPiArICBVSU5UMzIg IFNFQ1VSRURfTU9ERTogICAgICAgICAgICAgICAxOw0KPiArICBVSU5UMzIgIERBVF9CVVNfV0lE VEg6ICAgICAgICAgICAgICAyOw0KPiArfSBTRF9TVEFUVVNfUkVHOw0KPiArDQo+ICsNCj4gKw0K PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgIFJlc2VydmVkMFszNF07DQo+ICsgIFVJ TlQxNiAgR3JvdXAxQnVzeVN0YXR1czsNCj4gKyAgVUlOVDE2ICBHcm91cDJCdXN5U3RhdHVzOw0K PiArICBVSU5UMTYgIEdyb3VwM0J1c3lTdGF0dXM7DQo+ICsgIFVJTlQxNiAgR3JvdXA0QnVzeVN0 YXR1czsNCj4gKyAgVUlOVDE2ICBHcm91cDVCdXN5U3RhdHVzOw0KPiArICBVSU5UMTYgIEdyb3Vw NkJ1c3lTdGF0dXM7DQo+ICsgIFVJTlQ4ICAgRGF0YVN0cnVjdHVyZVZlcnNpb247DQo+ICsgIFVJ TlQ4ICAgR3JvdXAyMVN0YXR1czsNCj4gKyAgVUlOVDggICBHcm91cDQzU3RhdHVzOw0KPiArICBV SU5UOCAgIEdyb3VwNjVTdGF0dXM7DQo+ICsgIFVJTlQxNiAgR3JvdXAxRnVuY3Rpb247DQo+ICsg IFVJTlQxNiAgR3JvdXAyRnVuY3Rpb247DQo+ICsgIFVJTlQxNiAgR3JvdXAzRnVuY3Rpb247DQo+ ICsgIFVJTlQxNiAgR3JvdXA0RnVuY3Rpb247DQo+ICsgIFVJTlQxNiAgR3JvdXA1RnVuY3Rpb247 DQo+ICsgIFVJTlQxNiAgR3JvdXA2RnVuY3Rpb247DQo+ICsgIFVJTlQxNiAgTWF4Q3VycmVudDsN Cj4gK30gU1dJVENIX1NUQVRVUzsNCj4gKw0KPiArDQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArI2Vu ZGlmDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL0xpYnJhcnkvSTJD TGliLmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcy U29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9MaWJyYXJ5L0kyQ0xpYi5oDQo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjdkZjVmZjJmZWYNCj4gLS0tIC9kZXYv bnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxl eVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9MaWJyYXJ5L0kyQ0xpYi5oDQo+IEBA IC0wLDAgKzEsMTY5IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0g MjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g Kw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgSTJDUmVncy5oDQo+ICsNCj4gK0Fic3RyYWN0 Og0KPiArDQo+ICsgIFJlZ2lzdGVyIERlZmluaXRpb25zIGZvciBJMkMgRHJpdmVyL1BFSU0uDQo+ ICsNCj4gKy0tKi8NCj4gKyNpbmNsdWRlIDxVZWZpLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9J b0xpYi5oPg0KPiArDQo+ICsjaWZuZGVmIEkyQ19SRUdTX0EwX0gNCj4gKyNkZWZpbmUgSTJDX1JF R1NfQTBfSA0KPiArDQo+ICsvLw0KPiArLy8gRklGTyB3cml0ZSB3b3JrYXJvdW5kIHZhbHVlLg0K PiArLy8NCj4gKyNkZWZpbmUgRklGT19XUklURV9ERUxBWSAgICAyDQo+ICsNCj4gKy8vDQo+ICsv LyBNTUlPIFJlZ2lzdGVyIERlZmluaXRpb25zDQo+ICsvLw0KPiArI2RlZmluZSAgICBSX0lDX0NP TiAgICAgICAgICAgICAgICAgICAgICAgICAgKCAweDAwKSAvLyBJMkMgQ29udHJvbA0KPiArI2Rl ZmluZSAgICAgQl9JQ19SRVNUQVJUX0VOICAgICAgICAgICAgICAgICAgQklUNQ0KPiArI2RlZmlu ZSAgICAgQl9JQ19TTEFWRV9ESVNBQkxFICAgICAgICAgICAgICAgQklUNg0KPiArI2RlZmluZSAg ICAgVl9TUEVFRF9TVEFOREFSRCAgICAgICAgICAgICAgICAgMHgwMg0KPiArI2RlZmluZSAgICAg Vl9TUEVFRF9GQVNUICAgICAgICAgICAgICAgICAgICAgMHgwNA0KPiArI2RlZmluZSAgICAgVl9T UEVFRF9ISUdIICAgICAgICAgICAgICAgICAgICAgMHgwNg0KPiArI2RlZmluZSAgICAgQl9NQVNU RVJfTU9ERSAgICAgICAgICAgICAgICAgICAgQklUMA0KPiArDQo+ICsjZGVmaW5lICAgIFJfSUNf VEFSICAgICAgICAgICAgICAgICAgICAgICAgICAoIDB4MDQpIC8vIEkyQyBUYXJnZXQgQWRkcmVz cw0KPiArI2RlZmluZSAgICAgSUNfVEFSXzEwQklUQUREUl9NQVNURVIgICAgICAgICAgIEJJVDEy DQo+ICsNCj4gKyNkZWZpbmUgICAgUl9JQ19TQVIgICAgICAgICAgICAgICAgICAgICAgICAgICgg MHgwOCkgLy8gSTJDIFNsYXZlIEFkZHJlc3MNCj4gKyNkZWZpbmUgICAgUl9JQ19IU19NQUREUiAg ICAgICAgICAgICAgICAgICAgICggMHgwQykgLy8gSTJDIEhTIE1hc3Rlck1vZGUgQ29kZQ0KPiBB ZGRyZXNzDQo+ICsjZGVmaW5lICAgIFJfSUNfREFUQV9DTUQgICAgICAgICAgICAgICAgICAgICAo IDB4MTApIC8vIEkyQyBSeC9UeCBEYXRhIEJ1ZmZlciBhbmQNCj4gQ29tbWFuZA0KPiArDQo+ICsj ZGVmaW5lICAgIEJfUkVBRF9DTUQgICAgICAgICAgICAgICAgICAgICAgICAgQklUOCAgICAvLyAx ID0gcmVhZCwgMCA9IHdyaXRlDQo+ICsjZGVmaW5lICAgIEJfQ01EX1NUT1AgICAgICAgICAgICAg ICAgICAgICAgICAgQklUOSAgICAvLyAxID0gU1RPUA0KPiArI2RlZmluZSAgICBCX0NNRF9SRVNU QVJUICAgICAgICAgICAgICAgICAgICAgIEJJVDEwICAgLy8gMSA9IElDX1JFU1RBUlRfRU4NCj4g Kw0KPiArI2RlZmluZSAgICBWX1dSSVRFX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgKCAweEZG KQ0KPiArDQo+ICsjZGVmaW5lICAgIFJfSUNfU1NfU0NMX0hDTlQgICAgICAgICAgICAgICAgICAo IDB4MTQpIC8vIFN0YW5kYXJkIFNwZWVkIEkyQyBDbG9jaw0KPiBTQ0wgSGlnaCBDb3VudA0KPiAr I2RlZmluZSAgICBSX0lDX1NTX1NDTF9MQ05UICAgICAgICAgICAgICAgICAgKCAweDE4KSAvLyBT dGFuZGFyZCBTcGVlZCBJMkMgQ2xvY2sNCj4gU0NMIExvdyBDb3VudA0KPiArI2RlZmluZSAgICBS X0lDX0ZTX1NDTF9IQ05UICAgICAgICAgICAgICAgICAgKCAweDFDKSAvLyBGdWxsIFNwZWVkIEky QyBDbG9jayBTQ0wNCj4gSGlnaCBDb3VudA0KPiArI2RlZmluZSAgICBSX0lDX0ZTX1NDTF9MQ05U ICAgICAgICAgICAgICAgICAgKCAweDIwKSAvLyBGdWxsIFNwZWVkIEkyQyBDbG9jayBTQ0wNCj4g TG93IENvdW50DQo+ICsjZGVmaW5lICAgIFJfSUNfSFNfU0NMX0hDTlQgICAgICAgICAgICAgICAg ICAoIDB4MjQpIC8vIEhpZ2ggU3BlZWQgSTJDIENsb2NrIFNDTA0KPiBIaWdoIENvdW50DQo+ICsj ZGVmaW5lICAgIFJfSUNfSFNfU0NMX0xDTlQgICAgICAgICAgICAgICAgICAoIDB4MjgpIC8vIEhp Z2ggU3BlZWQgSTJDIENsb2NrIFNDTA0KPiBMb3cgQ291bnQNCj4gKyNkZWZpbmUgICAgUl9JQ19J TlRSX1NUQVQgICAgICAgICAgICAgICAgICAgICggMHgyQykgLy8gSTJDIEluZXRycnVwdCBTdGF0 dXMNCj4gKyNkZWZpbmUgICAgUl9JQ19JTlRSX01BU0sgICAgICAgICAgICAgICAgICAgICggMHgz MCkgLy8gSTJDIEludGVycnVwdCBNYXNrDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9HRU5fQ0FM TCAgICAgICAgICAgICAgICAgQklUMTEgIC8vIEdlbmVyYWwgY2FsbCByZWNlaXZlZA0KPiArI2Rl ZmluZSAgICAgSTJDX0lOVFJfU1RBUlRfREVUICAgICAgICAgICAgICAgIEJJVDEwDQo+ICsjZGVm aW5lICAgICBJMkNfSU5UUl9TVE9QX0RFVCAgICAgICAgICAgICAgICAgQklUOQ0KPiArI2RlZmlu ZSAgICAgSTJDX0lOVFJfQUNUSVZJVFkgICAgICAgICAgICAgICAgIEJJVDgNCj4gKyNkZWZpbmUg ICAgIEkyQ19JTlRSX1RYX0FCUlQgICAgICAgICAgICAgICAgICBCSVQ2ICAgLy8gU2V0IG9uIE5B Q0sNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1RYX0VNUFRZICAgICAgICAgICAgICAgICBCSVQ0 DQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9UWF9PVkVSICAgICAgICAgICAgICAgICAgQklUMw0K PiArI2RlZmluZSAgICAgSTJDX0lOVFJfUlhfRlVMTCAgICAgICAgICAgICAgICAgIEJJVDIgICAv LyBEYXRhIGJ5dGVzIGluIFJYIEZJRk8gb3Zlcg0KPiB0aHJlc2hvbGQNCj4gKyNkZWZpbmUgICAg IEkyQ19JTlRSX1JYX09WRVIgICAgICAgICAgICAgICAgICBCSVQxDQo+ICsjZGVmaW5lICAgICBJ MkNfSU5UUl9SWF9VTkRFUiAgICAgICAgICAgICAgICAgQklUMA0KPiArI2RlZmluZSAgICBSX0lD X1JBV19JTlRSX1NUQVQgICAgICAgICAgICAgICAgKCAweDM0KSAvLyBJMkMgUmF3IEludGVycnVw dCBTdGF0dXMNCj4gKyNkZWZpbmUgICAgUl9JQ19SWF9UTCAgICAgICAgICAgICAgICAgICAgICAg ICggMHgzOCkgLy8gSTJDIFJlY2VpdmUgRklGTyBUaHJlc2hvbGQNCj4gKyNkZWZpbmUgICAgUl9J Q19UWF9UTCAgICAgICAgICAgICAgICAgICAgICAgICggMHgzQykgLy8gSTJDIFRyYW5zbWl0IEZJ Rk8gVGhyZXNob2xkDQo+ICsjZGVmaW5lICAgIFJfSUNfQ0xSX0lOVFIgICAgICAgICAgICAgICAg ICAgICAoIDB4NDApIC8vIENsZWFyIENvbWJpbmVkIGFuZCBJbmRpdmlkdWFsDQo+IEludGVycnVw dHMNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJfUlhfVU5ERVIgICAgICAgICAgICAgICAgICggMHg0 NCkgLy8gQ2xlYXIgUlhfVU5ERVINCj4gSW50ZXJydXB0DQo+ICsjZGVmaW5lICAgIFJfSUNfQ0xS X1JYX09WRVIgICAgICAgICAgICAgICAgICAoIDB4NDgpIC8vIENsZWFyIFJYX09WRVJpbnRlcnJ1 cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJfVFhfT1ZFUiAgICAgICAgICAgICAgICAgICggMHg0 QykgLy8gQ2xlYXIgVFhfT1ZFUiBpbnRlcnJ1cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJfUkRf UkVRICAgICAgICAgICAgICAgICAgICggMHg1MCkgLy8gQ2xlYXIgUkRfUkVRIGludGVycnVwdA0K PiArI2RlZmluZSAgICBSX0lDX0NMUl9UWF9BQlJUICAgICAgICAgICAgICAgICAgKCAweDU0KSAv LyBDbGVhciBUWF9BQlJUIGludGVycnVwdA0KPiArI2RlZmluZSAgICBSX0lDX0NMUl9SWF9ET05F ICAgICAgICAgICAgICAgICAgKCAweDU4KSAvLyBDbGVhciBSWF9ET05FIGludGVycnVwdA0KPiAr I2RlZmluZSAgICBSX0lDX0NMUl9BQ1RJVklUWSAgICAgICAgICAgICAgICAgKCAweDVDKSAvLyBD bGVhciBBQ1RJVklUWSBpbnRlcnJ1cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJfU1RPUF9ERVQg ICAgICAgICAgICAgICAgICggMHg2MCkgLy8gQ2xlYXIgU1RPUF9ERVQgaW50ZXJydXB0DQo+ICsj ZGVmaW5lICAgIFJfSUNfQ0xSX1NUQVJUX0RFVCAgICAgICAgICAgICAgICAoIDB4NjQpIC8vIENs ZWFyIFNUQVJUX0RFVA0KPiBpbnRlcnJ1cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJfR0VOX0NB TEwgICAgICAgICAgICAgICAgICggMHg2OCkgLy8gQ2xlYXIgR0VOX0NBTEwgaW50ZXJydXB0DQo+ ICsjZGVmaW5lICAgIFJfSUNfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAoIDB4NkMpIC8v IEkyQyBFbmFibGUNCj4gKyNkZWZpbmUgICAgUl9JQ19TVEFUVVMgICAgICAgICAgICAgICAgICAg ICAgICggMHg3MCkgLy8gSTJDIFN0YXR1cw0KPiArDQo+ICsjZGVmaW5lICAgIFJfSUNfU0RBX0hP TEQgICAgICAgICAgICAgICAgICAgICAoIDB4N0MpIC8vIEkyQw0KPiBJQ19ERUZBVUxUX1NEQV9I T0xELy8xNmJpdHMNCj4gKw0KPiArI2RlZmluZSAgICAgU1RBVF9NU1RfQUNUSVZJVFkgICAgICAg ICAgICAgICAgIEJJVDUgICAvLyBNYXN0ZXIgRlNNIEFjdGl2aXR5IFN0YXR1cy4NCj4gKyNkZWZp bmUgICAgIFNUQVRfUkZGICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQ0ICAgLy8gUlggRklG TyBpcyBjb21wbGV0ZWx5IGZ1bGwNCj4gKyNkZWZpbmUgICAgIFNUQVRfUkZORSAgICAgICAgICAg ICAgICAgICAgICAgICBCSVQzICAgLy8gUlggRklGTyBpcyBub3QgZW1wdHkNCj4gKyNkZWZpbmUg ICAgIFNUQVRfVEZFICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQyICAgLy8gVFggRklGTyBp cyBjb21wbGV0ZWx5IGVtcHR5DQo+ICsjZGVmaW5lICAgICBTVEFUX1RGTkYgICAgICAgICAgICAg ICAgICAgICAgICAgQklUMSAgIC8vIFRYIEZJRk8gaXMgbm90IGZ1bGwNCj4gKw0KPiArI2RlZmlu ZSAgICBSX0lDX1RYRkxSICAgICAgICAgICAgICAgICAgICAgICAgKCAweDc0KSAvLyBUcmFuc21p dCBGSUZPIExldmVsIFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAgIFJfSUNfUlhGTFIgICAgICAgICAg ICAgICAgICAgICAgICAoIDB4NzgpIC8vIFJlY2VpdmUgRklGTyBMZXZlbCBSZWdpc3Rlcg0KPiAr I2RlZmluZSAgICBSX0lDX1RYX0FCUlRfU09VUkNFICAgICAgICAgICAgICAgKCAweDgwKSAvLyBJ MkMgVHJhbnNtaXQgQWJvcnQNCj4gU3RhdHVzIFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAgIFJfSUNf U0xWX0RBVEFfTkFDS19PTkxZICAgICAgICAgICAoIDB4ODQpIC8vIEdlbmVyYXRlDQo+IFNMVl9E QVRBX05BQ0sgUmVnaXN0ZXINCj4gKyNkZWZpbmUgICAgUl9JQ19ETUFfQ1IgICAgICAgICAgICAg ICAgICAgICAgICggMHg4OCkgLy8gRE1BIENvbnRyb2wgUmVnaXN0ZXINCj4gKyNkZWZpbmUgICAg Ul9JQ19ETUFfVERMUiAgICAgICAgICAgICAgICAgICAgICggMHg4QykgLy8gRE1BIFRyYW5zbWl0 IERhdGEgTGV2ZWwNCj4gKyNkZWZpbmUgICAgUl9JQ19ETUFfUkRMUiAgICAgICAgICAgICAgICAg ICAgICggMHg5MCkgLy8gRE1BIFJlY2VpdmUgRGF0YSBMZXZlbA0KPiArI2RlZmluZSAgICBSX0lD X1NEQV9TRVRVUCAgICAgICAgICAgICAgICAgICAgKCAweDk0KSAvLyBJMkMgU0RBIFNldHVwIFJl Z2lzdGVyDQo+ICsjZGVmaW5lICAgIFJfSUNfQUNLX0dFTkVSQUxfQ0FMTCAgICAgICAgICAgICAo IDB4OTgpIC8vIEkyQyBBQ0sgR2VuZXJhbCBDYWxsDQo+IFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAg IFJfSUNfRU5BQkxFX1NUQVRVUyAgICAgICAgICAgICAgICAoIDB4OUMpIC8vIEkyQyBFbmFibGUg U3RhdHVzDQo+IFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAgIFJfSUNfQ09NUF9QQVJBTSAgICAgICAg ICAgICAgICAgICAoIDB4RjQpIC8vIENvbXBvbmVudCBQYXJhbWV0ZXINCj4gUmVnaXN0ZXINCj4g KyNkZWZpbmUgICAgUl9JQ19DT01QX1ZFUlNJT04gICAgICAgICAgICAgICAgICggMHhGOCkgLy8g Q29tcG9uZW50IFZlcnNpb24gSUQNCj4gKyNkZWZpbmUgICAgUl9JQ19DT01QX1RZUEUgICAgICAg ICAgICAgICAgICAgICggMHhGQykgLy8gQ29tcG9uZW50IFR5cGUNCj4gKw0KPiArI2RlZmluZSAg ICBSX0lDX0NMS19HQVRFICAgICAgICAgICAgICAgICAgICAgKCAweEMwKSAvLyBDbG9jayBHYXRl DQo+ICsNCj4gKyNkZWZpbmUgICAgSTJDX1NTX1NDTF9IQ05UX1ZBTFVFXzEwME0gICAgICAgIDB4 MUREDQo+ICsjZGVmaW5lICAgIEkyQ19TU19TQ0xfTENOVF9WQUxVRV8xMDBNICAgICAgICAweDFF NA0KPiArI2RlZmluZSAgICBJMkNfRlNfU0NMX0hDTlRfVkFMVUVfMTAwTSAgICAgICAgMHg1NA0K PiArI2RlZmluZSAgICBJMkNfRlNfU0NMX0xDTlRfVkFMVUVfMTAwTSAgICAgICAgMHg5YQ0KPiAr I2RlZmluZSAgICBJMkNfSFNfU0NMX0hDTlRfVkFMVUVfMTAwTSAgICAgICAgMHg3DQo+ICsjZGVm aW5lICAgIEkyQ19IU19TQ0xfTENOVF9WQUxVRV8xMDBNICAgICAgICAweEUNCj4gKw0KPiArI2Rl ZmluZSAgICAgSUNfVEFSXzEwQklUQUREUl9NQVNURVIgICAgICAgICAgIEJJVDEyDQo+ICsjZGVm aW5lICAgICBGSUZPX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgMzINCj4gKyNkZWZpbmUg ICAgIFJfSUNfSU5UUl9TVEFUICAgICAgICAgICAgICAgICAgICAoIDB4MkMpIC8vIEkyYyBJbmV0 cnJ1cHQgU3RhdHVzDQo+ICsjZGVmaW5lICAgICBSX0lDX0lOVFJfTUFTSyAgICAgICAgICAgICAg ICAgICAgKCAweDMwKSAvLyBJMmMgSW50ZXJydXB0IE1hc2sNCj4gKyNkZWZpbmUgICAgIEkyQ19J TlRSX0dFTl9DQUxMICAgICAgICAgICAgICAgICBCSVQxMSAgLy8gR2VuZXJhbCBjYWxsIHJlY2Vp dmVkDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9TVEFSVF9ERVQgICAgICAgICAgICAgICAgQklU MTANCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1NUT1BfREVUICAgICAgICAgICAgICAgICBCSVQ5 DQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9BQ1RJVklUWSAgICAgICAgICAgICAgICAgQklUOA0K PiArI2RlZmluZSAgICAgSTJDX0lOVFJfVFhfQUJSVCAgICAgICAgICAgICAgICAgIEJJVDYgICAv LyBTZXQgb24gTkFDSw0KPiArI2RlZmluZSAgICAgSTJDX0lOVFJfVFhfRU1QVFkgICAgICAgICAg ICAgICAgIEJJVDQNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1RYX09WRVIgICAgICAgICAgICAg ICAgICBCSVQzDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9SWF9GVUxMICAgICAgICAgICAgICAg ICAgQklUMiAgIC8vIERhdGEgYnl0ZXMgaW4gUlggRklGTyBvdmVyDQo+IHRocmVzaG9sZA0KPiAr I2RlZmluZSAgICAgSTJDX0lOVFJfUlhfT1ZFUiAgICAgICAgICAgICAgICAgIEJJVDENCj4gKyNk ZWZpbmUgICAgIEkyQ19JTlRSX1JYX1VOREVSICAgICAgICAgICAgICAgICBCSVQwDQo+ICsNCj4g K0VGSV9TVEFUVVMgUHJvZ3JhbVBjaUxwc3NJMkMgKA0KPiArICBJTiAgVUlOVDggQnVzTm8NCj4g KyAgKTsNCj4gK0VGSV9TVEFUVVMgQnl0ZVJlYWRJMkNfQmFzaWMoDQo+ICsgIElOICBVSU5UOCBC dXNObywNCj4gKyAgSU4gIFVJTlQ4IFNsYXZlQWRkcmVzcywNCj4gKyAgSU4gIFVJTlROIFJlYWRC eXRlcywNCj4gKyAgT1VUIFVJTlQ4ICpSZWFkQnVmZmVyLA0KPiArICBJTiAgVUlOVDggU3RhcnQs DQo+ICsgIElOICBVSU5UOCBFbmQNCj4gKyAgKTsNCj4gK0VGSV9TVEFUVVMgQnl0ZVdyaXRlSTJD X0Jhc2ljKA0KPiArICBJTiAgVUlOVDggQnVzTm8sDQo+ICsgIElOICBVSU5UOCBTbGF2ZUFkZHJl c3MsDQo+ICsgIElOICBVSU5UTiBXcml0ZUJ5dGVzLA0KPiArICBJTiAgVUlOVDggKldyaXRlQnVm ZmVyLA0KPiArICBJTiAgVUlOVDggU3RhcnQsDQo+ICsgIElOICBVSU5UOCBFbmQNCj4gKyAgKTsN Cj4gKw0KPiArRUZJX1NUQVRVUyBCeXRlUmVhZEkyQygNCj4gKyAgSU4gIFVJTlQ4IEJ1c05vLA0K PiArICBJTiAgVUlOVDggU2xhdmVBZGRyZXNzLA0KPiArICBJTiAgVUlOVDggT2Zmc2V0LA0KPiAr ICBJTiAgVUlOVE4gUmVhZEJ5dGVzLA0KPiArICBPVVQgVUlOVDggKlJlYWRCdWZmZXINCj4gKyAg KTsNCj4gK0VGSV9TVEFUVVMgQnl0ZVdyaXRlSTJDKA0KPiArICBJTiAgVUlOVDggQnVzTm8sDQo+ ICsgIElOICBVSU5UOCBTbGF2ZUFkZHJlc3MsDQo+ICsgIElOICBVSU5UOCBPZmZzZXQsDQo+ICsg IElOICBVSU5UTiBXcml0ZUJ5dGVzLA0KPiArICBJTiAgVUlOVDggKldyaXRlQnVmZmVyDQo+ICsg ICk7DQo+ICsNCj4gKyNlbmRpZiAgLy8gSTJDX1JFR1NfQTBfSA0KPiBkaWZmIC0tZ2l0DQo+IGEv U2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENs dXN0ZXIvSW5jbHVkDQo+IGUvTGlicmFyeS9QY2hQbGF0Zm9ybUxpYi5oDQo+IGIvU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5j bHVkDQo+IGUvTGlicmFyeS9QY2hQbGF0Zm9ybUxpYi5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLmY2NTkzMzI0YTkNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1Nv dXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9MaWJyYXJ5L1BjaFBsYXRmb3JtTGliLmgNCj4gQEAgLTAs MCArMSwxMTUgQEANCj4gKy8qKg0KPiArKiovDQo+ICsvKioNCj4gKw0KPiArQ29weXJpZ2h0IChj KSAyMDEyICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+ICsgIEBmaWxlDQo+ICsgIFBjaFBsYXRmb3JtTGliLmgNCj4gKw0KPiArICBAYnJp ZWYNCj4gKyAgSGVhZGVyIGZpbGUgZm9yIFBjaFBsYXRmb3JtIExpYi4NCj4gKw0KPiArKiovDQo+ ICsjaWZuZGVmIF9QQ0hfUExBVEZPUk1fTElCX0hfDQo+ICsjZGVmaW5lIF9QQ0hfUExBVEZPUk1f TElCX0hfDQo+ICsNCj4gKy8vLw0KPiArLy8vIFRpbWVvdXQgdmFsdWUgdXNlZCB3aGVuIFNlbmRp bmcgLyBSZWNlaXZpbmcgbWVzc2FnZXMuDQo+ICsvLy8gTk9URTogdGhpcyBtdXN0IGNvdmVyIHRo ZSBsb25nZXN0IHBvc3NpYmxlIHdhaXQgdGltZQ0KPiArLy8vIGJldHdlZW4gbWVzc2FnZSBiZWlu ZyBzZW50IGFuZCByZXNwb25zZSBiZWluZyBhdmFpbGFibGUuDQo+ICsvLy8gZS5nLiBWaXJ0dWFs IGZ1bmN0aW9uIHJlYWRpbmVzcyBtaWdodCB0YWtlIHNvbWUgdGltZS4NCj4gKy8vLw0KPiArVk9J RA0KPiArRUZJQVBJDQo+ICtQY2hQbVRpbWVyU3RhbGwgKA0KPiArICBJTiAgVUlOVE4gICBNaWNy b3NlY29uZHMNCj4gKyAgKQ0KPiArLyoqDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIERlbGF5IGZv ciBhdCBsZWFzdCB0aGUgcmVxdWVzdCBudW1iZXIgb2YgbWljcm9zZWNvbmRzLg0KPiArICBUaGlz IGZ1bmN0aW9uIHdvdWxkIGJlIGNhbGxlZCBieSBydW50aW1lIGRyaXZlciwgcGxlYXNlIGRvIG5v dCB1c2UgYW55DQo+IE1NSU8gbWFyY28gaGVyZS4NCj4gKw0KPiArICBAcGFyYW1baW5dIE1pY3Jv c2Vjb25kcyAgICAgICAgIE51bWJlciBvZiBtaWNyb3NlY29uZHMgdG8gZGVsYXkuDQo+ICsNCj4g KyAgQHJldHZhbCBOT05FDQo+ICsNCj4gKyoqLw0KPiArOw0KPiArDQo+ICtCT09MRUFODQo+ICtF RklBUEkNCj4gK1BjaElzU3BpRGVzY3JpcHRvck1vZGUgKA0KPiArICBJTiAgVUlOVE4gICBTcGlC YXNlDQo+ICsgICkNCj4gKy8qKg0KPiArDQo+ICsgIEBicmllZg0KPiArICBDaGVjayB3aGV0aGVy IFNQSSBpcyBpbiBkZXNjcmlwdG9yIG1vZGUNCj4gKw0KPiArICBAcGFyYW1baW5dIFNwaUJhc2Ug ICAgICAgICAgICAgIFRoZSBQQ0ggU3BpIEJhc2UgQWRkcmVzcw0KPiArDQo+ICsgIEByZXR2YWwg VFJVRSAgICAgICAgICAgICAgICAgICAgU1BJIGlzIGluIGRlc2NyaXB0b3IgbW9kZQ0KPiArICBA cmV0dmFsIEZBTFNFICAgICAgICAgICAgICAgICAgIFNQSSBpcyBub3QgaW4gZGVzY3JpcHRvciBt b2RlDQo+ICsNCj4gKyoqLw0KPiArOw0KPiArDQo+ICtQQ0hfU1RFUFBJTkcNCj4gK0VGSUFQSQ0K PiArUGNoU3RlcHBpbmcgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gKy8qKg0KPiArDQo+ICsgIEBi cmllZg0KPiArICBSZXR1cm4gUGNoIHN0ZXBwaW5nIHR5cGUNCj4gKw0KPiArICBAcGFyYW1baW5d IE5vbmUNCj4gKw0KPiArICBAcmV0dmFsIFBDSF9TVEVQUElORyAgICAgICAgICAgIFBjaCBzdGVw cGluZyB0eXBlDQo+ICsNCj4gKyoqLw0KPiArOw0KPiArDQo+ICtCT09MRUFODQo+ICtJc1BjaFN1 cHBvcnRlZCAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArLyoqDQo+ICsNCj4gKyAgQGJyaWVmDQo+ ICsgIERldGVybWluZSBpZiBQQ0ggaXMgc3VwcG9ydGVkDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBO b25lDQo+ICsNCj4gKyAgQHJldHZhbCBUUlVFICAgICAgICAgICAgICAgICAgICBQQ0ggaXMgc3Vw cG9ydGVkDQo+ICsgIEByZXR2YWwgRkFMU0UgICAgICAgICAgICAgICAgICAgUENIIGlzIG5vdCBz dXBwb3J0ZWQNCj4gKw0KPiArKiovDQo+ICs7DQo+ICsNCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiAr UGNoQWx0ZXJuYXRlQWNjZXNzTW9kZSAoDQo+ICsgIElOICBVSU5UTiAgICAgICAgIElsYkJhc2Us DQo+ICsgIElOICBCT09MRUFOICAgICAgIEFtZUN0cmwNCj4gKyAgKQ0KPiArLyoqDQo+ICsNCj4g KyAgVGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIHRvIGVuYWJsZS9kaXNhYmxlIEFsdGVybmF0 ZSBBY2Nlc3MgTW9kZQ0KPiArDQo+ICsgIEBwYXJhbVtpbl0gSWxiQmFzZSAgICAgICAgICAgICAg VGhlIFBDSCBJTEIgQmFzZSBBZGRyZXNzDQo+ICsgIEBwYXJhbVtpbl0gQW1lQ3RybCAgICAgICAg ICAgICAgSWYgVFJVRSwgZW5hYmxlIEFsdGVybmF0ZSBBY2Nlc3MgTW9kZS4NCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBGQUxTRSwgZGlzYWJsZSBBbHRlcm5hdGUgQWNj ZXNzIE1vZGUuDQo+ICsNCj4gKyAgQHJldHZhbCBOT05FDQo+ICsNCj4gKyoqLw0KPiArOw0KPiAr DQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJl ZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaEFjY2Vz cy5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUGNoQWNjZXNzLmgNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZDc5ODhjNTViZQ0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJT b2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaEFjY2Vzcy5oDQo+IEBAIC0wLDAgKzEsNDcx IEBADQo+ICsvKioNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gKyAgQGZpbGUN Cj4gKyAgUGNoQWNjZXNzLmgNCj4gKw0KPiArICBAYnJpZWYNCj4gKyAgTWFjcm9zIHRoYXQgc2lt cGxpZnkgYWNjZXNzaW5nIFBDSCBkZXZpY2VzJ3MgUENJIHJlZ2lzdGVycy4NCj4gKw0KPiArICAq KiBOT1RFICoqIHRoZXNlIG1hY3JvcyBhc3N1bWUgdGhlIFBDSCBkZXZpY2UgaXMgb24gQlVTIDAN Cj4gKw0KPiArKiovDQo+ICsjaWZuZGVmIF9QQ0hfQUNDRVNTX0hfDQo+ICsjZGVmaW5lIF9QQ0hf QUNDRVNTX0hfDQo+ICsNCj4gKyNpbmNsdWRlICJQY2hSZWdzLmgiDQo+ICsjaW5jbHVkZSAiUGNo Q29tbW9uRGVmaW5pdGlvbnMuaCINCj4gKw0KPiArI2lmbmRlZiBTVEFMTF9PTkVfTUlDUk9fU0VD T05EDQo+ICsjZGVmaW5lIFNUQUxMX09ORV9NSUNST19TRUNPTkQgMQ0KPiArI2VuZGlmDQo+ICsj aWZuZGVmIFNUQUxMX09ORV9TRUNPTkQNCj4gKyNkZWZpbmUgU1RBTExfT05FX1NFQ09ORCAxMDAw MDAwDQo+ICsjZW5kaWYNCj4gKw0KPiArLy8vDQo+ICsvLy8gTWVtb3J5IE1hcHBlZCBQQ0kgQWNj ZXNzIG1hY3Jvcw0KPiArLy8vDQo+ICsvLy8NCj4gKy8vLyBQQ0kgRGV2aWNlIE1NIEJhc2UNCj4g Ky8vLw0KPiArI2lmbmRlZiBNbVBjaUFkZHJlc3MNCj4gKyNkZWZpbmUgTW1QY2lBZGRyZXNzKFNl Z21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIpIFwNCj4gKyAgKChVSU5UTikg UGF0Y2hQY2RHZXQ2NCAoUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzKSArIFwNCj4gKyAgIChVSU5U TikgKEJ1cyA8PCAyMCkgKyBcDQo+ICsgICAoVUlOVE4pIChEZXZpY2UgPDwgMTUpICsgXA0KPiAr ICAgKFVJTlROKSAoRnVuY3Rpb24gPDwgMTIpICsgXA0KPiArICAgKFVJTlROKSAoUmVnaXN0ZXIp IFwNCj4gKyAgKQ0KPiArI2VuZGlmDQo+ICsvLy8NCj4gKy8vLyBQY2ggQ29udHJvbGxlciBQQ0kg YWNjZXNzIG1hY3Jvcw0KPiArLy8vDQo+ICsjZGVmaW5lIFBDSF9SQ1JCX0JBU0UgKCBcDQo+ICsg IE1taW9SZWFkMzIgKE1tUGNpQWRkcmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVN QkVSX1BDSCwgXA0KPiArICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBDLCBcDQo+ICsgIFBDSV9G VU5DVElPTl9OVU1CRVJfUENIX0xQQyksIFwNCj4gKyAgUl9QQ0hfTFBDX1JDQkEpKSAmIEJfUENI X0xQQ19SQ0JBX0JBUiBcDQo+ICsgICkNCj4gKw0KPiArLy8vDQo+ICsvLy8gRGV2aWNlIDB4MWIs IEZ1bmN0aW9uIDANCj4gKy8vLw0KPiArI2RlZmluZSBQY2hBemFsaWFQY2lDZmczMihSZWdpc3Rl cikgXA0KPiArICBNbWlvUmVhZDMyICggXA0KPiArICBNbVBjaUFkZHJlc3MgKDAsIFwNCj4gKyAg REVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklDRV9OVU1CRVJfUENI X0FaQUxJQSwgXA0KPiArICAwLCBcDQo+ICsgIFJlZ2lzdGVyKSBcDQo+ICsgICkNCj4gKw0KPiAr I2RlZmluZSBQY2hBemFsaWFQY2lDZmczMk9yKFJlZ2lzdGVyLCBPckRhdGEpIFwNCj4gKyAgTW1p b09yMzIgKCBcDQo+ICsgIE1tUGNpQWRkcmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNf TlVNQkVSX1BDSCwgXA0KPiArICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfQVpBTElBLCBcDQo+ICsg IDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ICsgIE9yRGF0YSBcDQo+ICsgICkNCj4gKw0KPiAr I2RlZmluZSBQY2hBemFsaWFQY2lDZmczMkFuZChSZWdpc3RlciwgQW5kRGF0YSkgXA0KPiArICBN bWlvQW5kMzIgKCBcDQo+ICsgIE1tUGNpQWRkcmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9C VVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfQVpBTElBLCBcDQo+ ICsgIDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ICsgIEFuZERhdGEgXA0KPiArICApDQo+ICsN Cj4gKyNkZWZpbmUgUGNoQXphbGlhUGNpQ2ZnMzJBbmRUaGVuT3IoUmVnaXN0ZXIsIEFuZERhdGEs IE9yRGF0YSkgXA0KPiArICBNbWlvQW5kVGhlbk9yMzIgKCBcDQo+ICsgIE1tUGNpQWRkcmVzcyAo MCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lfREVWSUNF X05VTUJFUl9QQ0hfQVpBTElBLCBcDQo+ICsgIDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ICsg IE9yRGF0YSBcDQo+ICsgICkNCj4gKw0KPiArI2RlZmluZSBQY2hBemFsaWFQY2lDZmcxNihSZWdp c3RlcikgXA0KPiArICBNbWlvUmVhZDE2ICggXA0KPiArICBNbVBjaUFkZHJlc3MgKDAsIFwNCj4g KyAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklDRV9OVU1CRVJf UENIX0FaQUxJQSwgXA0KPiArICAwLCBcDQo+ICsgIFJlZ2lzdGVyKSBcDQo+ICsgICkNCj4gKw0K PiArI2RlZmluZSBQY2hBemFsaWFQY2lDZmcxNk9yKFJlZ2lzdGVyLCBPckRhdGEpIFwNCj4gKyAg TW1pb09yMTYgKCBcDQo+ICsgIE1tUGNpQWRkcmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9C VVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfQVpBTElBLCBcDQo+ ICsgIDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ICsgIE9yRGF0YSBcDQo+ICsgICkNCj4gKw0K PiArI2RlZmluZSBQY2hBemFsaWFQY2lDZmcxNkFuZChSZWdpc3RlciwgQW5kRGF0YSkgXA0KPiAr ICBNbWlvQW5kMTYgKCBcDQo+ICsgIE1tUGNpQWRkcmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BD SV9CVVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfQVpBTElBLCBc DQo+ICsgIDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ICsgIEFuZERhdGEgXA0KPiArICApDQo+ ICsNCj4gKyNkZWZpbmUgUGNoQXphbGlhUGNpQ2ZnMTZBbmRUaGVuT3IoUmVnaXN0ZXIsIEFuZERh dGEsIE9yRGF0YSkgXA0KPiArICBNbWlvQW5kVGhlbk9yMTYgKCBcDQo+ICsgIE1tUGNpQWRkcmVz cyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lfREVW SUNFX05VTUJFUl9QQ0hfQVpBTElBLCBcDQo+ICsgIDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ ICsgIEFuZERhdGEsIFwNCj4gKyAgT3JEYXRhIFwNCj4gKyAgKQ0KPiArDQo+ICsjZGVmaW5lIFBj aEF6YWxpYVBjaUNmZzgoUmVnaXN0ZXIpICBNbWlvUmVhZDggKE1tUGNpQWRkcmVzcyAoMCwNCj4g REVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9BWkFMSUEs IDAsDQo+IFJlZ2lzdGVyKSkNCj4gKw0KPiArI2RlZmluZSBQY2hBemFsaWFQY2lDZmc4T3IoUmVn aXN0ZXIsIE9yRGF0YSkgXA0KPiArICBNbWlvT3I4ICggXA0KPiArICBNbVBjaUFkZHJlc3MgKDAs IFwNCj4gKyAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklDRV9O VU1CRVJfUENIX0FaQUxJQSwgXA0KPiArICAwLCBcDQo+ICsgIFJlZ2lzdGVyKSwgXA0KPiArICBP ckRhdGEgXA0KPiArICApDQo+ICsNCj4gKyNkZWZpbmUgUGNoQXphbGlhUGNpQ2ZnOEFuZChSZWdp c3RlciwgQW5kRGF0YSkgXA0KPiArICBNbWlvQW5kOCAoIFwNCj4gKyAgTW1QY2lBZGRyZXNzICgw LCBcDQo+ICsgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILCBcDQo+ICsgIFBDSV9ERVZJQ0Vf TlVNQkVSX1BDSF9BWkFMSUEsIFwNCj4gKyAgMCwgXA0KPiArICBSZWdpc3RlciksIFwNCj4gKyAg QW5kRGF0YSBcDQo+ICsgICkNCj4gKw0KPiArI2RlZmluZSBQY2hBemFsaWFQY2lDZmc4QW5kVGhl bk9yKFJlZ2lzdGVyLCBBbmREYXRhLCBPckRhdGEpIFwNCj4gKyAgTW1pb0FuZFRoZW5PcjggKCBc DQo+ICsgIE1tUGNpQWRkcmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BD SCwgXA0KPiArICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfQVpBTElBLCBcDQo+ICsgIDAsIFwNCj4g KyAgUmVnaXN0ZXIpLCBcDQo+ICsgIEFuZERhdGEsIFwNCj4gKyAgT3JEYXRhIFwNCj4gKyAgKQ0K PiArDQo+ICsvLy8NCj4gKy8vLyBEZXZpY2UgMHgxZiwgRnVuY3Rpb24gMA0KPiArLy8vDQo+ICsj ZGVmaW5lIFBjaExwY1BjaUNmZzMyKFJlZ2lzdGVyKSAgTW1pb1JlYWQzMiAoTW1QY2lBZGRyZXNz ICgwLA0KPiBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgUENJX0RFVklDRV9OVU1CRVJfUENI X0xQQywgMCwNCj4gUmVnaXN0ZXIpKQ0KPiArDQo+ICsjZGVmaW5lIFBjaExwY01taW9PcjMyIChS ZWdpc3RlciwgT3JEYXRhKSBcDQo+ICsgIE1taW9PcjMyICggXA0KPiArICBNbVBjaUFkZHJlc3Mg KDAsIFwNCj4gKyAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklD RV9OVU1CRVJfUENIX0xQQywgXA0KPiArICAwLCBcDQo+ICsgIFJlZ2lzdGVyKSwgXA0KPiArICBP ckRhdGEgXA0KPiArICApDQo+ICsNCj4gKyNkZWZpbmUgUGNoTHBjUGNpQ2ZnMzJBbmQoUmVnaXN0 ZXIsIEFuZERhdGEpIFwNCj4gKyAgTW1pb0FuZDMyICggXA0KPiArICBNbVBjaUFkZHJlc3MgKDAs IFwNCj4gKyAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklDRV9O VU1CRVJfUENIX0xQQywgXA0KPiArICAwLCBcDQo+ICsgIFJlZ2lzdGVyKSwgXA0KPiArICBBbmRE YXRhIFwNCj4gKyAgKQ0KPiArDQo+ICsjZGVmaW5lIFBjaExwY1BjaUNmZzMyQW5kVGhlbk9yKFJl Z2lzdGVyLCBBbmREYXRhLCBPckRhdGEpIFwNCj4gKyAgTW1pb0FuZFRoZW5PcjMyICggXA0KPiAr ICBNbVBjaUFkZHJlc3MgKDAsIFwNCj4gKyAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwN Cj4gKyAgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQywgXA0KPiArICAwLCBcDQo+ICsgIFJlZ2lz dGVyKSwgXA0KPiArICBBbmREYXRhLCBcDQo+ICsgIE9yRGF0YSBcDQo+ICsgICkNCj4gKw0KPiAr I2RlZmluZSBQY2hMcGNQY2lDZmcxNihSZWdpc3RlcikgIE1taW9SZWFkMTYgKE1tUGNpQWRkcmVz cyAoMCwNCj4gREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFBDSV9ERVZJQ0VfTlVNQkVSX1BD SF9MUEMsIDAsDQo+IFJlZ2lzdGVyKSkNCj4gKw0KPiArI2RlZmluZSBQY2hMcGNQY2lDZmcxNk9y KFJlZ2lzdGVyLCBPckRhdGEpIFwNCj4gKyAgTW1pb09yMTYgKCBcDQo+ICsgIE1tUGNpQWRkcmVz cyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lfREVW SUNFX05VTUJFUl9QQ0hfTFBDLCBcDQo+ICsgIDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ICsg IE9yRGF0YSBcDQo+ICsgICkNCj4gKw0KPiArI2RlZmluZSBQY2hMcGNQY2lDZmcxNkFuZChSZWdp c3RlciwgQW5kRGF0YSkgXA0KPiArICBNbWlvQW5kVGhlbk9yMTYgKCBcDQo+ICsgIE1tUGNpQWRk cmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lf REVWSUNFX05VTUJFUl9QQ0hfTFBDLCBcDQo+ICsgIDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ ICsgIEFuZERhdGEgXA0KPiArICApDQo+ICsNCj4gKyNkZWZpbmUgUGNoTHBjUGNpQ2ZnMTZBbmRU aGVuT3IoUmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0YSkgXA0KPiArICBNbWlvQW5kVGhlbk9yMTYg KCBcDQo+ICsgIE1tUGNpQWRkcmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVS X1BDSCwgXA0KPiArICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBDLCBcDQo+ICsgIDAsIFwNCj4g KyAgUmVnaXN0ZXIpLCBcDQo+ICsgIEFuZERhdGEsIFwNCj4gKyAgT3JEYXRhIFwNCj4gKyAgKQ0K PiArDQo+ICsjZGVmaW5lIFBjaExwY1BjaUNmZzgoUmVnaXN0ZXIpIE1taW9SZWFkOCAoTW1QY2lB ZGRyZXNzICgwLA0KPiBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgUENJX0RFVklDRV9OVU1C RVJfUENIX0xQQywgMCwNCj4gUmVnaXN0ZXIpKQ0KPiArDQo+ICsjZGVmaW5lIFBjaExwY1BjaUNm ZzhPcihSZWdpc3RlciwgT3JEYXRhKSBcDQo+ICsgIE1taW9PcjggKCBcDQo+ICsgIE1tUGNpQWRk cmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lf REVWSUNFX05VTUJFUl9QQ0hfTFBDLCBcDQo+ICsgIDAsIFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ ICsgIE9yRGF0YSBcDQo+ICsgICkNCj4gKw0KPiArI2RlZmluZSBQY2hMcGNQY2lDZmc4QW5kKFJl Z2lzdGVyLCBBbmREYXRhKSBcDQo+ICsgIE1taW9BbmQ4ICggXA0KPiArICBNbVBjaUFkZHJlc3Mg KDAsIFwNCj4gKyAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklD RV9OVU1CRVJfUENIX0xQQywgXA0KPiArICAwLCBcDQo+ICsgIFJlZ2lzdGVyKSwgXA0KPiArICBB bmREYXRhIFwNCj4gKyAgKQ0KPiArDQo+ICsjZGVmaW5lIFBjaExwY1BjaUNmZzhBbmRUaGVuT3Io UmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0YSkgXA0KPiArICBNbWlvQW5kVGhlbk9yOCAoIFwNCj4g KyAgTW1QY2lBZGRyZXNzICgwLCBcDQo+ICsgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILCBc DQo+ICsgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsIFwNCj4gKyAgMCwgXA0KPiArICBSZWdp c3RlciksIFwNCj4gKyAgQW5kRGF0YSwgXA0KPiArICBPckRhdGEgXA0KPiArICApDQo+ICsNCj4g Kw0KPiArLy8vDQo+ICsvLy8gU0FUQSBkZXZpY2UgMHgxMywgRnVuY3Rpb24gMA0KPiArLy8vDQo+ ICsjZGVmaW5lIFBjaFNhdGFQY2lDZmczMihSZWdpc3RlcikgTW1pb1JlYWQzMiAoTW1QY2lBZGRy ZXNzICgwLA0KPiBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgUENJX0RFVklDRV9OVU1CRVJf UENIX1NBVEEsDQo+IFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1NBVEEsIFJlZ2lzdGVyKSkNCj4g Kw0KPiArI2RlZmluZSBQY2hTYXRhUGNpQ2ZnMzJPcihSZWdpc3RlciwgT3JEYXRhKSBcDQo+ICsg IE1taW9PcjMyICggXA0KPiArICBNbVBjaUFkZHJlc3MgKDAsIFwNCj4gKyAgREVGQVVMVF9QQ0lf QlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklDRV9OVU1CRVJfUENIX1NBVEEsIFwNCj4g KyAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfU0FUQSwgXA0KPiArICBSZWdpc3RlciksIFwNCj4g KyAgT3JEYXRhIFwNCj4gKyAgKQ0KPiArDQo+ICsjZGVmaW5lIFBjaFNhdGFQY2lDZmczMkFuZChS ZWdpc3RlciwgQW5kRGF0YSkgXA0KPiArICBNbWlvQW5kMzIgKCBcDQo+ICsgIE1tUGNpQWRkcmVz cyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgXA0KPiArICBQQ0lfREVW SUNFX05VTUJFUl9QQ0hfU0FUQSwgXA0KPiArICBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9TQVRB LCBcDQo+ICsgIFJlZ2lzdGVyKSwgXA0KPiArICBBbmREYXRhIFwNCj4gKyAgKQ0KPiArDQo+ICsj ZGVmaW5lIFBjaFNhdGFQY2lDZmczMkFuZFRoZW5PcihSZWdpc3RlciwgQW5kRGF0YSwgT3JEYXRh KSBcDQo+ICsgIE1taW9BbmRUaGVuT3IzMiAoIFwNCj4gKyAgTW1QY2lBZGRyZXNzICgwLCBcDQo+ ICsgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILCBcDQo+ICsgIFBDSV9ERVZJQ0VfTlVNQkVS X1BDSF9TQVRBLCBcDQo+ICsgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1NBVEEsIFwNCj4gKyAg UmVnaXN0ZXIpLCBcDQo+ICsgIEFuZERhdGEsIFwNCj4gKyAgT3JEYXRhIFwNCj4gKyAgKQ0KPiAr DQo+ICsjZGVmaW5lIFBjaFNhdGFQY2lDZmcxNihSZWdpc3RlcikgTW1pb1JlYWQxNiAoTW1QY2lB ZGRyZXNzICgwLA0KPiBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgUENJX0RFVklDRV9OVU1C RVJfUENIX1NBVEEsDQo+IFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1NBVEEsIFJlZ2lzdGVyKSkN Cj4gKw0KPiArI2RlZmluZSBQY2hTYXRhUGNpQ2ZnMTZPcihSZWdpc3RlciwgT3JEYXRhKSBcDQo+ ICsgIE1taW9PcjE2ICggXA0KPiArICBNbVBjaUFkZHJlc3MgKDAsIFwNCj4gKyAgREVGQVVMVF9Q Q0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklDRV9OVU1CRVJfUENIX1NBVEEsIFwN Cj4gKyAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfU0FUQSwgXA0KPiArICBSZWdpc3RlciksIFwN Cj4gKyAgT3JEYXRhIFwNCj4gKyAgKQ0KPiArDQo+ICsjZGVmaW5lIFBjaFNhdGFQY2lDZmcxNkFu ZChSZWdpc3RlciwgQW5kRGF0YSkgXA0KPiArICBNbWlvQW5kVGhlbk9yMTYgKCBcDQo+ICsgIE1t UGNpQWRkcmVzcyAoMCwgXA0KPiArICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgXA0KPiAr ICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfU0FUQSwgXA0KPiArICBQQ0lfRlVOQ1RJT05fTlVNQkVS X1BDSF9TQVRBLCBcDQo+ICsgIFJlZ2lzdGVyKSwgXA0KPiArICBBbmREYXRhIFwNCj4gKyAgKQ0K PiArDQo+ICsjZGVmaW5lIFBjaFNhdGFQY2lDZmcxNkFuZFRoZW5PcihSZWdpc3RlciwgQW5kRGF0 YSwgT3JEYXRhKSBcDQo+ICsgIE1taW9BbmRUaGVuT3IxNiAoIFwNCj4gKyAgTW1QY2lBZGRyZXNz ICgwLCBcDQo+ICsgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILCBcDQo+ICsgIFBDSV9ERVZJ Q0VfTlVNQkVSX1BDSF9TQVRBLCBcDQo+ICsgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1NBVEEs IFwNCj4gKyAgUmVnaXN0ZXIpLCBcDQo+ICsgIEFuZERhdGEsIFwNCj4gKyAgT3JEYXRhIFwNCj4g KyAgKQ0KPiArDQo+ICsjZGVmaW5lIFBjaFNhdGFQY2lDZmc4KFJlZ2lzdGVyKSAgTW1pb1JlYWQ4 IChNbVBjaUFkZHJlc3MgKDAsDQo+IERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILCBQQ0lfREVW SUNFX05VTUJFUl9QQ0hfU0FUQSwNCj4gUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfU0FUQSwgUmVn aXN0ZXIpKQ0KPiArDQo+ICsjZGVmaW5lIFBjaFNhdGFQY2lDZmc4T3IoUmVnaXN0ZXIsIE9yRGF0 YSkgXA0KPiArICBNbWlvT3I4ICggXA0KPiArICBNbVBjaUFkZHJlc3MgKDAsIFwNCj4gKyAgREVG QVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklDRV9OVU1CRVJfUENIX1NB VEEsIFwNCj4gKyAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfU0FUQSwgXA0KPiArICBSZWdpc3Rl ciksIFwNCj4gKyAgT3JEYXRhIFwNCj4gKyAgKQ0KPiArDQo+ICsjZGVmaW5lIFBjaFNhdGFQY2lD Zmc4QW5kKFJlZ2lzdGVyLCBBbmREYXRhKSBcDQo+ICsgIE1taW9BbmQ4ICggXA0KPiArICBNbVBj aUFkZHJlc3MgKDAsIFwNCj4gKyAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAg UENJX0RFVklDRV9OVU1CRVJfUENIX1NBVEEsIFwNCj4gKyAgUENJX0ZVTkNUSU9OX05VTUJFUl9Q Q0hfU0FUQSwgXA0KPiArICBSZWdpc3RlciksIFwNCj4gKyAgQW5kRGF0YSBcDQo+ICsgICkNCj4g Kw0KPiArI2RlZmluZSBQY2hTYXRhUGNpQ2ZnOEFuZFRoZW5PcihSZWdpc3RlciwgQW5kRGF0YSwg T3JEYXRhKSBcDQo+ICsgIE1taW9BbmRUaGVuT3I4ICggXA0KPiArICBNbVBjaUFkZHJlc3MgKDAs IFwNCj4gKyAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFwNCj4gKyAgUENJX0RFVklDRV9O VU1CRVJfUENIX1NBVEEsIFwNCj4gKyAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfU0FUQSwgXA0K PiArICBSZWdpc3RlciksIFwNCj4gKyAgQW5kRGF0YSwgXA0KPiArICBPckRhdGEgXA0KPiArICAp DQo+ICsNCj4gKw0KPiArLy8vDQo+ICsvLy8gUm9vdCBDb21wbGV4IFJlZ2lzdGVyIEJsb2NrDQo+ ICsvLy8NCj4gKyNkZWZpbmUgUGNoTW1SY3JiMzIoUmVnaXN0ZXIpICAgICAgICAgICAgICAgICAg ICAgICAgICAgTW1pb1JlYWQzMg0KPiAoUENIX1JDUkJfQkFTRSArIFJlZ2lzdGVyKQ0KPiArDQo+ ICsjZGVmaW5lIFBjaE1tUmNyYjMyT3IoUmVnaXN0ZXIsIE9yRGF0YSkgICAgICAgICAgICAgICAg IE1taW9PcjMyDQo+IChQQ0hfUkNSQl9CQVNFICsgUmVnaXN0ZXIsIE9yRGF0YSkNCj4gKw0KPiAr I2RlZmluZSBQY2hNbVJjcmIzMkFuZChSZWdpc3RlciwgQW5kRGF0YSkgICAgICAgICAgICAgICBN bWlvQW5kMzINCj4gKFBDSF9SQ1JCX0JBU0UgKyBSZWdpc3RlciwgQW5kRGF0YSkNCj4gKw0KPiAr I2RlZmluZSBQY2hNbVJjcmIzMkFuZFRoZW5PcihSZWdpc3RlciwgQW5kRGF0YSwgT3JEYXRhKQ0K PiBNbWlvQW5kVGhlbk9yMzIgKFBDSF9SQ1JCX0JBU0UgKyBSZWdpc3RlciwgQW5kRGF0YSwgT3JE YXRhKQ0KPiArDQo+ICsjZGVmaW5lIFBjaE1tUmNyYjE2KFJlZ2lzdGVyKSAgICAgICAgICAgICAg ICAgICAgICAgICAgIE1taW9SZWFkMTYNCj4gKFBDSF9SQ1JCX0JBU0UgKyBSZWdpc3RlcikNCj4g Kw0KPiArI2RlZmluZSBQY2hNbVJjcmIxNk9yKFJlZ2lzdGVyLCBPckRhdGEpICAgICAgICAgICAg ICAgICBNbWlvT3IxNg0KPiAoUENIX1JDUkJfQkFTRSArIFJlZ2lzdGVyLCBPckRhdGEpDQo+ICsN Cj4gKyNkZWZpbmUgUGNoTW1SY3JiMTZBbmQoUmVnaXN0ZXIsIEFuZERhdGEpICAgICAgICAgICAg ICAgTW1pb0FuZDE2DQo+IChQQ0hfUkNSQl9CQVNFICsgUmVnaXN0ZXIsIEFuZERhdGEpDQo+ICsN Cj4gKyNkZWZpbmUgUGNoTW1SY3JiMTZBbmRUaGVuT3IoUmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0 YSkNCj4gTW1pb0FuZFRoZW5PcjE2IChQQ0hfUkNSQl9CQVNFICsgUmVnaXN0ZXIsIEFuZERhdGEs IE9yRGF0YSkNCj4gKw0KPiArI2RlZmluZSBQY2hNbVJjcmI4KFJlZ2lzdGVyKSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBNbWlvUmVhZDggKFBDSF9SQ1JCX0JBU0UNCj4gKyBSZWdpc3RlcikN Cj4gKw0KPiArI2RlZmluZSBQY2hNbVJjcmI4T3IoUmVnaXN0ZXIsIE9yRGF0YSkgICAgICAgICAg ICAgICAgICBNbWlvT3I4DQo+IChQQ0hfUkNSQl9CQVNFICsgUmVnaXN0ZXIsIE9yRGF0YSkNCj4g Kw0KPiArI2RlZmluZSBQY2hNbVJjcmI4QW5kKFJlZ2lzdGVyLCBBbmREYXRhKSAgICAgICAgICAg ICAgICBNbWlvQW5kOA0KPiAoUENIX1JDUkJfQkFTRSArIFJlZ2lzdGVyLCBBbmREYXRhKQ0KPiAr DQo+ICsjZGVmaW5lIFBjaE1tUmNyYjhBbmRUaGVuT3IoUmVnaXN0ZXIsIEFuZERhdGEsIE9yRGF0 YSkNCj4gTW1pb0FuZFRoZW5PcjggKFBDSF9SQ1JCX0JBU0UgKyBSZWdpc3RlciwgQW5kRGF0YSwg T3JEYXRhKQ0KPiArDQo+ICsNCj4gKy8vLw0KPiArLy8vIE1lc3NhZ2UgQnVzDQo+ICsvLy8NCj4g Kw0KPiArLy8vDQo+ICsvLy8gTWVzc2FnZSBCdXMgUmVnaXN0ZXJzDQo+ICsvLy8NCj4gKyNkZWZp bmUgTUNfTUNSICAgICAgICAgICAgMHgwMDAwMDBEMCAvLyBDdW5pdCBNZXNzYWdlIENvbnRyb2wg UmVnaXN0ZXINCj4gKyNkZWZpbmUgTUNfTURSICAgICAgICAgICAgMHgwMDAwMDBENCAvLyBDdW5p dCBNZXNzYWdlIERhdGEgUmVnaXN0ZXINCj4gKyNkZWZpbmUgTUNfTUNSWCAgICAgICAgICAgMHgw MDAwMDBEOCAvLyBDdW5pdCBNZXNzYWdlIENvbnRyb2wgUmVnaXN0ZXINCj4gRXh0ZW5zaW9uDQo+ ICsNCj4gKy8vLw0KPiArLy8vIE1lc3NhZ2UgQnVzIEFQSQ0KPiArLy8vDQo+ICsjZGVmaW5lIE1T R19CVVNfRU5BQkxFRCAgIDB4MDAwMDAwRjANCj4gKyNkZWZpbmUgTVNHQlVTX01BU0tISSAgICAg MHhGRkZGRkYwMA0KPiArI2RlZmluZSBNU0dCVVNfTUFTS0xPICAgICAweDAwMDAwMEZGDQo+ICsj ZGVmaW5lIE1FU1NBR0VfRFdPUkRfRU4gIEJJVDQgfCBCSVQ1IHwgQklUNiB8IEJJVDcNCj4gKw0K PiArI2RlZmluZSBQY2hNc2dCdXNSZWFkMzIoUG9ydElkLCBSZWdpc3RlciwgRGJ1ZmYsIFJlYWRP cENvZGUsDQo+IFdyaXRlT3BDb2RlKSBcDQo+ICt7IFwNCj4gKyAgTW1pb1dyaXRlMzIgKChVSU5U TikgKFBhdGNoUGNkR2V0NjQgKFBjZFBjaUV4cHJlc3NCYXNlQWRkcmVzcykgKw0KPiBNQ19NQ1JY KSwgKFVJTlQzMikgKFJlZ2lzdGVyICYgTVNHQlVTX01BU0tISSkpOyBcDQo+ICsgIE1taW9Xcml0 ZTMyICgoVUlOVE4pIChQYXRjaFBjZEdldDY0IChQY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MpICsN Cj4gTUNfTUNSICksIChVSU5UMzIpICgoUmVhZE9wQ29kZSA8PCAyNCkgfCAoUG9ydElkIDw8IDE2 KSB8ICgoUmVnaXN0ZXIgJg0KPiBNU0dCVVNfTUFTS0xPKSA8PCA4KSB8IE1FU1NBR0VfRFdPUkRf RU4pKTsgXA0KPiArICAoRGJ1ZmYpID0gTW1pb1JlYWQzMiAoKFVJTlROKSAoUGF0Y2hQY2RHZXQ2 NA0KPiAoUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzKSArIE1DX01EUikpOyBcDQo+ICt9DQo+ICsN Cj4gKyNkZWZpbmUgUGNoTXNnQnVzQW5kMzIoUG9ydElkLCBSZWdpc3RlciwgRGJ1ZmYsIEFuZERh dGEsIFJlYWRPcENvZGUsDQo+IFdyaXRlT3BDb2RlKSBcDQo+ICt7IFwNCj4gKyAgTW1pb1dyaXRl MzIgKChVSU5UTikgKFBhdGNoUGNkR2V0NjQgKFBjZFBjaUV4cHJlc3NCYXNlQWRkcmVzcykgKw0K PiBNQ19NQ1JYKSwgKFVJTlQzMikgKFJlZ2lzdGVyICYgTVNHQlVTX01BU0tISSkpOyBcDQo+ICsg IE1taW9Xcml0ZTMyICgoVUlOVE4pIChQYXRjaFBjZEdldDY0IChQY2RQY2lFeHByZXNzQmFzZUFk ZHJlc3MpICsNCj4gTUNfTUNSICksIChVSU5UMzIpICgoUmVhZE9wQ29kZSA8PCAyNCkgfCAoUG9y dElkIDw8IDE2KSB8ICgoUmVnaXN0ZXIgJg0KPiBNU0dCVVNfTUFTS0xPKSA8PCA4KSB8IE1FU1NB R0VfRFdPUkRfRU4pKTsgXA0KPiArICAoRGJ1ZmYpID0gTW1pb1JlYWQzMiAoKFVJTlROKSAoUGF0 Y2hQY2RHZXQ2NA0KPiAoUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzKSArIE1DX01EUikpOyBcDQo+ ICsgIE1taW9Xcml0ZTMyICgoVUlOVE4pIChQYXRjaFBjZEdldDY0IChQY2RQY2lFeHByZXNzQmFz ZUFkZHJlc3MpICsNCj4gTUNfTUNSWCksIChVSU5UMzIpIChSZWdpc3RlciAmIE1TR0JVU19NQVNL SEkpKTsgXA0KPiArICBNbWlvV3JpdGUzMiAoKFVJTlROKSAoUGF0Y2hQY2RHZXQ2NCAoUGNkUGNp RXhwcmVzc0Jhc2VBZGRyZXNzKSArDQo+IE1DX01EUiApLCAoVUlOVDMyKSAoRGJ1ZmYgJiBBbmRE YXRhKSk7IFwNCj4gKyAgTW1pb1dyaXRlMzIgKChVSU5UTikgKFBhdGNoUGNkR2V0NjQgKFBjZFBj aUV4cHJlc3NCYXNlQWRkcmVzcykgKw0KPiBNQ19NQ1IgKSwgKFVJTlQzMikgKChXcml0ZU9wQ29k ZSA8PCAyNCkgfCAoUG9ydElkIDw8IDE2KSB8ICgoUmVnaXN0ZXIgJg0KPiBNU0dCVVNfTUFTS0xP KSA8PCA4KSB8IE1FU1NBR0VfRFdPUkRfRU4pKTsgXA0KPiArfQ0KPiArDQo+ICsjZGVmaW5lIFBj aE1zZ0J1c09yMzIoUG9ydElkLCBSZWdpc3RlciwgRGJ1ZmYsIE9yRGF0YSwgUmVhZE9wQ29kZSwN Cj4gV3JpdGVPcENvZGUpIFwNCj4gK3sgXA0KPiArICBNbWlvV3JpdGUzMiAoKFVJTlROKSAoUGF0 Y2hQY2RHZXQ2NCAoUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzKSArDQo+IE1DX01DUlgpLCAoVUlO VDMyKSAoUmVnaXN0ZXIgJiBNU0dCVVNfTUFTS0hJKSk7IFwNCj4gKyAgTW1pb1dyaXRlMzIgKChV SU5UTikgKFBhdGNoUGNkR2V0NjQgKFBjZFBjaUV4cHJlc3NCYXNlQWRkcmVzcykgKw0KPiBNQ19N Q1IgKSwgKFVJTlQzMikgKChSZWFkT3BDb2RlIDw8IDI0KSB8IChQb3J0SWQgPDwgMTYpIHwgKChS ZWdpc3RlciAmDQo+IE1TR0JVU19NQVNLTE8pIDw8IDgpIHwgTUVTU0FHRV9EV09SRF9FTikpOyBc DQo+ICsgIChEYnVmZikgPSBNbWlvUmVhZDMyICgoVUlOVE4pIChQYXRjaFBjZEdldDY0DQo+IChQ Y2RQY2lFeHByZXNzQmFzZUFkZHJlc3MpICsgTUNfTURSKSk7IFwNCj4gKyAgTW1pb1dyaXRlMzIg KChVSU5UTikgKFBhdGNoUGNkR2V0NjQgKFBjZFBjaUV4cHJlc3NCYXNlQWRkcmVzcykgKw0KPiBN Q19NQ1JYKSwgKFVJTlQzMikgKFJlZ2lzdGVyICYgTVNHQlVTX01BU0tISSkpOyBcDQo+ICsgIE1t aW9Xcml0ZTMyICgoVUlOVE4pIChQYXRjaFBjZEdldDY0IChQY2RQY2lFeHByZXNzQmFzZUFkZHJl c3MpICsNCj4gTUNfTURSICksIChVSU5UMzIpIChEYnVmZiB8IE9yRGF0YSkpOyBcDQo+ICsgIE1t aW9Xcml0ZTMyICgoVUlOVE4pIChQYXRjaFBjZEdldDY0IChQY2RQY2lFeHByZXNzQmFzZUFkZHJl c3MpICsNCj4gTUNfTUNSICksIChVSU5UMzIpICgoV3JpdGVPcENvZGUgPDwgMjQpIHwgKFBvcnRJ ZCA8PCAxNikgfCAoKFJlZ2lzdGVyICYNCj4gTVNHQlVTX01BU0tMTykgPDwgOCkgfCBNRVNTQUdF X0RXT1JEX0VOKSk7IFwNCj4gK30NCj4gKw0KPiArI2RlZmluZSBQY2hNc2dCdXNBbmRUaGVuT3Iz MihQb3J0SWQsIFJlZ2lzdGVyLCBEYnVmZiwgQW5kRGF0YSwgT3JEYXRhLA0KPiBSZWFkT3BDb2Rl LCBXcml0ZU9wQ29kZSkgXA0KPiAreyBcDQo+ICsgIE1taW9Xcml0ZTMyICgoVUlOVE4pIChQYXRj aFBjZEdldDY0IChQY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MpICsNCj4gTUNfTUNSWCksIChVSU5U MzIpIChSZWdpc3RlciAmIE1TR0JVU19NQVNLSEkpKTsgXA0KPiArICBNbWlvV3JpdGUzMiAoKFVJ TlROKSAoUGF0Y2hQY2RHZXQ2NCAoUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzKSArDQo+IE1DX01D UiApLCAoVUlOVDMyKSAoKFJlYWRPcENvZGUgPDwgMjQpIHwgKFBvcnRJZCA8PCAxNikgfCAoKFJl Z2lzdGVyICYNCj4gTVNHQlVTX01BU0tMTykgPDwgOCkgfCBNRVNTQUdFX0RXT1JEX0VOKSk7IFwN Cj4gKyAgKERidWZmKSA9IE1taW9SZWFkMzIgKChVSU5UTikgKFBhdGNoUGNkR2V0NjQNCj4gKFBj ZFBjaUV4cHJlc3NCYXNlQWRkcmVzcykgKyBNQ19NRFIpKTsgXA0KPiArICBNbWlvV3JpdGUzMiAo KFVJTlROKSAoUGF0Y2hQY2RHZXQ2NCAoUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzKSArDQo+IE1D X01DUlgpLCAoVUlOVDMyKSAoUmVnaXN0ZXIgJiBNU0dCVVNfTUFTS0hJKSk7IFwNCj4gKyAgTW1p b1dyaXRlMzIgKChVSU5UTikgKFBhdGNoUGNkR2V0NjQgKFBjZFBjaUV4cHJlc3NCYXNlQWRkcmVz cykgKw0KPiBNQ19NRFIgKSwgKFVJTlQzMikgKChEYnVmZiAmIEFuZERhdGEpIHwgT3JEYXRhKSk7 IFwNCj4gKyAgTW1pb1dyaXRlMzIgKChVSU5UTikgKFBhdGNoUGNkR2V0NjQgKFBjZFBjaUV4cHJl c3NCYXNlQWRkcmVzcykgKw0KPiBNQ19NQ1IgKSwgKFVJTlQzMikgKChXcml0ZU9wQ29kZSA8PCAy NCkgfCAoUG9ydElkIDw8IDE2KSB8ICgoUmVnaXN0ZXIgJg0KPiBNU0dCVVNfTUFTS0xPKSA8PCA4 KSB8IE1FU1NBR0VfRFdPUkRfRU4pKTsgXA0KPiArfQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBf UENIX01TR19CVVNfVEFCTEVfU1RSVUNUIHsNCj4gKyAgVUlOVDMyICAgICAgUG9ydElkOw0KPiAr ICBVSU5UMzIgICAgICBBZGRyZXNzOw0KPiArICBVSU5UMzIgICAgICBBbmRNYXNrOw0KPiArICBV SU5UMzIgICAgICBPck1hc2s7DQo+ICsgIFVJTlQzMiAgICAgIFJlYWRPcENvZGU7DQo+ICsgIFVJ TlQzMiAgICAgIFdyaXRlT3BDb2RlOw0KPiArfSBQQ0hfTVNHX0JVU19UQUJMRV9TVFJVQ1RfVEFC TEVfU1RSVUNUOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1 ZA0KPiBlL1BjaENvbW1vbkRlZmluaXRpb25zLmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZp Y2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QY2hD b21tb25EZWZpbml0aW9ucy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLmMxMmYwZDIxOTUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0lu dGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNs dWQNCj4gZS9QY2hDb21tb25EZWZpbml0aW9ucy5oDQo+IEBAIC0wLDAgKzEsMjEwIEBADQo+ICsv KisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4g Kw0KPiArICBQY2hDb21tb25EZWZpbml0aW9ucy5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ ICsgIFRoaXMgaGVhZGVyIGZpbGUgcHJvdmlkZXMgY29tbW9uIGRlZmluaXRpb25zIGZvciBQQ0gN Cj4gKw0KPiArLS0qLw0KPiArI2lmbmRlZiBfUENIX0NPTU1PTl9ERUZJTklUSU9OU19IXw0KPiAr I2RlZmluZSBfUENIX0NPTU1PTl9ERUZJTklUSU9OU19IXw0KPiArDQo+ICsvLw0KPiArLy8gIE1N SU8gYWNjZXNzIG1hY3Jvcw0KPiArLy8NCj4gKyNkZWZpbmUgUGNoTW1pb0FkZHJlc3MoQmFzZUFk ZHIsIFJlZ2lzdGVyKSAgKChVSU5UTikgQmFzZUFkZHIgKw0KPiAoVUlOVE4pIChSZWdpc3Rlcikp DQo+ICsNCj4gKy8vDQo+ICsvLyAzMiBiaXQgTU1JTyBhY2Nlc3MNCj4gKy8vDQo+ICsjZGVmaW5l IFBjaE1taW8zMlB0cihCYXNlQWRkciwgUmVnaXN0ZXIpICAoKHZvbGF0aWxlIFVJTlQzMiAqKQ0K PiBQY2hNbWlvQWRkcmVzcyAoQmFzZUFkZHIsIFJlZ2lzdGVyKSkNCj4gKw0KPiArI2RlZmluZSBQ Y2hNbWlvMzIoQmFzZUFkZHIsIFJlZ2lzdGVyKSAgICAgKlBjaE1taW8zMlB0ciAoQmFzZUFkZHIs DQo+IFJlZ2lzdGVyKQ0KPiArDQo+ICsjZGVmaW5lIFBjaE1taW8zMk9yKEJhc2VBZGRyLCBSZWdp c3RlciwgT3JEYXRhKSBcDQo+ICsgIFBjaE1taW8zMiAoQmFzZUFkZHIsIFJlZ2lzdGVyKSA9IChV SU5UMzIpIFwNCj4gKyAgICAoUGNoTW1pbzMyIChCYXNlQWRkciwgUmVnaXN0ZXIpIHwgKFVJTlQz MikgKE9yRGF0YSkpDQo+ICsNCj4gKyNkZWZpbmUgUGNoTW1pbzMyQW5kKEJhc2VBZGRyLCBSZWdp c3RlciwgQW5kRGF0YSkgXA0KPiArICBQY2hNbWlvMzIgKEJhc2VBZGRyLCBSZWdpc3RlcikgPSAo VUlOVDMyKSBcDQo+ICsgICAgKFBjaE1taW8zMiAoQmFzZUFkZHIsIFJlZ2lzdGVyKSAmIChVSU5U MzIpIChBbmREYXRhKSkNCj4gKw0KPiArI2RlZmluZSBQY2hNbWlvMzJBbmRUaGVuT3IoQmFzZUFk ZHIsIFJlZ2lzdGVyLCBBbmREYXRhLCBPckRhdGEpIFwNCj4gKyAgUGNoTW1pbzMyIChCYXNlQWRk ciwgUmVnaXN0ZXIpID0gKFVJTlQzMikgXA0KPiArICAgICgoUGNoTW1pbzMyIChCYXNlQWRkciwg UmVnaXN0ZXIpICYgKFVJTlQzMikgKEFuZERhdGEpKSB8IChVSU5UMzIpDQo+IChPckRhdGEpKQ0K PiArDQo+ICsvLw0KPiArLy8gMTYgYml0IE1NSU8gYWNjZXNzDQo+ICsvLw0KPiArI2RlZmluZSBQ Y2hNbWlvMTZQdHIoQmFzZUFkZHIsIFJlZ2lzdGVyKSAgKCh2b2xhdGlsZSBVSU5UMTYgKikNCj4g UGNoTW1pb0FkZHJlc3MgKEJhc2VBZGRyLCBSZWdpc3RlcikpDQo+ICsNCj4gKyNkZWZpbmUgUGNo TW1pbzE2KEJhc2VBZGRyLCBSZWdpc3RlcikgICAgICpQY2hNbWlvMTZQdHIgKEJhc2VBZGRyLA0K PiBSZWdpc3RlcikNCj4gKw0KPiArI2RlZmluZSBQY2hNbWlvMTZPcihCYXNlQWRkciwgUmVnaXN0 ZXIsIE9yRGF0YSkgXA0KPiArICBQY2hNbWlvMTYgKEJhc2VBZGRyLCBSZWdpc3RlcikgPSAoVUlO VDE2KSBcDQo+ICsgICAgKFBjaE1taW8xNiAoQmFzZUFkZHIsIFJlZ2lzdGVyKSB8IChVSU5UMTYp IChPckRhdGEpKQ0KPiArDQo+ICsjZGVmaW5lIFBjaE1taW8xNkFuZChCYXNlQWRkciwgUmVnaXN0 ZXIsIEFuZERhdGEpIFwNCj4gKyAgUGNoTW1pbzE2IChCYXNlQWRkciwgUmVnaXN0ZXIpID0gKFVJ TlQxNikgXA0KPiArICAgIChQY2hNbWlvMTYgKEJhc2VBZGRyLCBSZWdpc3RlcikgJiAoVUlOVDE2 KSAoQW5kRGF0YSkpDQo+ICsNCj4gKyNkZWZpbmUgUGNoTW1pbzE2QW5kVGhlbk9yKEJhc2VBZGRy LCBSZWdpc3RlciwgQW5kRGF0YSwgT3JEYXRhKSBcDQo+ICsgIFBjaE1taW8xNiAoQmFzZUFkZHIs IFJlZ2lzdGVyKSA9IChVSU5UMTYpIFwNCj4gKyAgICAoKFBjaE1taW8xNiAoQmFzZUFkZHIsIFJl Z2lzdGVyKSAmIChVSU5UMTYpIChBbmREYXRhKSkgfCAoVUlOVDE2KQ0KPiAoT3JEYXRhKSkNCj4g Kw0KPiArLy8NCj4gKy8vIDggYml0IE1NSU8gYWNjZXNzDQo+ICsvLw0KPiArI2RlZmluZSBQY2hN bWlvOFB0cihCYXNlQWRkciwgUmVnaXN0ZXIpICgodm9sYXRpbGUgVUlOVDggKikNCj4gUGNoTW1p b0FkZHJlc3MgKEJhc2VBZGRyLCBSZWdpc3RlcikpDQo+ICsNCj4gKyNkZWZpbmUgUGNoTW1pbzgo QmFzZUFkZHIsIFJlZ2lzdGVyKSAgICAqUGNoTW1pbzhQdHIgKEJhc2VBZGRyLA0KPiBSZWdpc3Rl cikNCj4gKw0KPiArI2RlZmluZSBQY2hNbWlvOE9yKEJhc2VBZGRyLCBSZWdpc3RlciwgT3JEYXRh KSBcDQo+ICsgIFBjaE1taW84IChCYXNlQWRkciwgUmVnaXN0ZXIpID0gKFVJTlQ4KSBcDQo+ICsg ICAgKFBjaE1taW84IChCYXNlQWRkciwgUmVnaXN0ZXIpIHwgKFVJTlQ4KSAoT3JEYXRhKSkNCj4g Kw0KPiArI2RlZmluZSBQY2hNbWlvOEFuZChCYXNlQWRkciwgUmVnaXN0ZXIsIEFuZERhdGEpIFwN Cj4gKyAgUGNoTW1pbzggKEJhc2VBZGRyLCBSZWdpc3RlcikgPSAoVUlOVDgpIFwNCj4gKyAgICAo UGNoTW1pbzggKEJhc2VBZGRyLCBSZWdpc3RlcikgJiAoVUlOVDgpIChBbmREYXRhKSkNCj4gKw0K PiArI2RlZmluZSBQY2hNbWlvOEFuZFRoZW5PcihCYXNlQWRkciwgUmVnaXN0ZXIsIEFuZERhdGEs IE9yRGF0YSkgXA0KPiArICBQY2hNbWlvOCAoQmFzZUFkZHIsIFJlZ2lzdGVyKSA9IChVSU5UOCkg XA0KPiArICAgICgoUGNoTW1pbzggKEJhc2VBZGRyLCBSZWdpc3RlcikgJiAoVUlOVDgpIChBbmRE YXRhKSkgfCAoVUlOVDgpDQo+IChPckRhdGEpKQ0KPiArDQo+ICsvLw0KPiArLy8gTWVtb3J5IE1h cHBlZCBQQ0kgQWNjZXNzIG1hY3Jvcw0KPiArLy8NCj4gKyNkZWZpbmUgUENIX1BDSV9FWFBSRVNT X0JBU0VfQUREUkVTUyAgMHhFMDAwMDAwMA0KPiArLy8NCj4gKy8vIFBDSSBEZXZpY2UgTU0gQmFz ZQ0KPiArLy8NCj4gKyNkZWZpbmUgUGNoUGNpRGV2aWNlTW1CYXNlKEJ1cywgRGV2aWNlLCBGdW5j dGlvbikgXA0KPiArICAgICggXA0KPiArICAgICAgKFVJTlROKSBQQ0hfUENJX0VYUFJFU1NfQkFT RV9BRERSRVNTICsgKFVJTlROKSAoQnVzIDw8IDIwKSArDQo+IChVSU5UTikgKERldmljZSA8PCAx NSkgKyAoVUlOVE4pIFwNCj4gKyAgICAgICAgKEZ1bmN0aW9uIDw8IDEyKSBcDQo+ICsgICAgKQ0K PiArDQo+ICsvLw0KPiArLy8gUENJIERldmljZSBNTSBBZGRyZXNzDQo+ICsvLw0KPiArI2RlZmlu ZSBQY2hQY2lEZXZpY2VNbUFkZHJlc3MoU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBS ZWdpc3RlcikNCj4gXA0KPiArICAgICggXA0KPiArICAgICAgKFVJTlROKSBQQ0hfUENJX0VYUFJF U1NfQkFTRV9BRERSRVNTICsgKFVJTlROKSAoQnVzIDw8IDIwKSArDQo+IChVSU5UTikgKERldmlj ZSA8PCAxNSkgKyAoVUlOVE4pIFwNCj4gKyAgICAgICAgKEZ1bmN0aW9uIDw8IDEyKSArIChVSU5U TikgKFJlZ2lzdGVyKSBcDQo+ICsgICAgKQ0KPiArDQo+ICsvLw0KPiArLy8gMzIgYml0IFBDSSBh Y2Nlc3MNCj4gKy8vDQo+ICsjZGVmaW5lIFBjaE1tUGNpMzJQdHIoU2VnbWVudCwgQnVzLCBEZXZp Y2UsIEZ1bmN0aW9uLCBSZWdpc3RlcikgXA0KPiArICAgICgodm9sYXRpbGUgVUlOVDMyICopIFBj aFBjaURldmljZU1tQWRkcmVzcyAoU2VnbWVudCwgQnVzLCBEZXZpY2UsDQo+IEZ1bmN0aW9uLCBS ZWdpc3RlcikpDQo+ICsNCj4gKyNkZWZpbmUgUGNoTW1QY2kzMihTZWdtZW50LCBCdXMsIERldmlj ZSwgRnVuY3Rpb24sIFJlZ2lzdGVyKQ0KPiAqUGNoTW1QY2kzMlB0ciAoU2VnbWVudCwgQnVzLCBE ZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlcikNCj4gKw0KPiArI2RlZmluZSBQY2hNbVBjaTMyT3Io U2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciwgT3JEYXRhKSBcDQo+ICsg IFBjaE1tUGNpMzIgKCBcDQo+ICsgIFNlZ21lbnQsIFwNCj4gKyAgQnVzLCBcDQo+ICsgIERldmlj ZSwgXA0KPiArICBGdW5jdGlvbiwgXA0KPiArICBSZWdpc3RlciBcDQo+ICsgICkgPSAoVUlOVDMy KSAoUGNoTW1QY2kzMiAoU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3Rlcikg fA0KPiAoVUlOVDMyKSAoT3JEYXRhKSkNCj4gKw0KPiArI2RlZmluZSBQY2hNbVBjaTMyQW5kKFNl Z21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIsDQo+IEFuZERhdGEpIFwNCj4g KyAgUGNoTW1QY2kzMiAoIFwNCj4gKyAgU2VnbWVudCwgXA0KPiArICBCdXMsIFwNCj4gKyAgRGV2 aWNlLCBcDQo+ICsgIEZ1bmN0aW9uLCBcDQo+ICsgIFJlZ2lzdGVyIFwNCj4gKyAgKSA9IChVSU5U MzIpIChQY2hNbVBjaTMyIChTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVy KSAmDQo+IChVSU5UMzIpIChBbmREYXRhKSkNCj4gKw0KPiArI2RlZmluZSBQY2hNbVBjaTMyQW5k VGhlbk9yKFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIsDQo+IEFuZERh dGEsIE9yRGF0YSkgXA0KPiArICBQY2hNbVBjaTMyICggXA0KPiArICBTZWdtZW50LCBcDQo+ICsg IEJ1cywgXA0KPiArICBEZXZpY2UsIFwNCj4gKyAgRnVuY3Rpb24sIFwNCj4gKyAgUmVnaXN0ZXIg XA0KPiArICApID0gKFVJTlQzMikgKChQY2hNbVBjaTMyIChTZWdtZW50LCBCdXMsIERldmljZSwg RnVuY3Rpb24sIFJlZ2lzdGVyKSAmDQo+IChVSU5UMzIpIChBbmREYXRhKSkgfCAoVUlOVDMyKSAo T3JEYXRhKSkNCj4gKw0KPiArLy8NCj4gKy8vIDE2IGJpdCBQQ0kgYWNjZXNzDQo+ICsvLw0KPiAr I2RlZmluZSBQY2hNbVBjaTE2UHRyKFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVn aXN0ZXIpIFwNCj4gKyAgICAoKHZvbGF0aWxlIFVJTlQxNiAqKSBQY2hQY2lEZXZpY2VNbUFkZHJl c3MgKFNlZ21lbnQsIEJ1cywgRGV2aWNlLA0KPiBGdW5jdGlvbiwgUmVnaXN0ZXIpKQ0KPiArDQo+ ICsjZGVmaW5lIFBjaE1tUGNpMTYoU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdp c3RlcikNCj4gKlBjaE1tUGNpMTZQdHIgKFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwg UmVnaXN0ZXIpDQo+ICsNCj4gKyNkZWZpbmUgUGNoTW1QY2kxNk9yKFNlZ21lbnQsIEJ1cywgRGV2 aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIsIE9yRGF0YSkgXA0KPiArICBQY2hNbVBjaTE2ICggXA0K PiArICBTZWdtZW50LCBcDQo+ICsgIEJ1cywgXA0KPiArICBEZXZpY2UsIFwNCj4gKyAgRnVuY3Rp b24sIFwNCj4gKyAgUmVnaXN0ZXIgXA0KPiArICApID0gKFVJTlQxNikgKFBjaE1tUGNpMTYgKFNl Z21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIpIHwNCj4gKFVJTlQxNikgKE9y RGF0YSkpDQo+ICsNCj4gKyNkZWZpbmUgUGNoTW1QY2kxNkFuZChTZWdtZW50LCBCdXMsIERldmlj ZSwgRnVuY3Rpb24sIFJlZ2lzdGVyLA0KPiBBbmREYXRhKSBcDQo+ICsgIFBjaE1tUGNpMTYgKCBc DQo+ICsgIFNlZ21lbnQsIFwNCj4gKyAgQnVzLCBcDQo+ICsgIERldmljZSwgXA0KPiArICBGdW5j dGlvbiwgXA0KPiArICBSZWdpc3RlciBcDQo+ICsgICkgPSAoVUlOVDE2KSAoUGNoTW1QY2kxNiAo U2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlcikgJg0KPiAoVUlOVDE2KSAo QW5kRGF0YSkpDQo+ICsNCj4gKyNkZWZpbmUgUGNoTW1QY2kxNkFuZFRoZW5PcihTZWdtZW50LCBC dXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyLA0KPiBBbmREYXRhLCBPckRhdGEpIFwNCj4g KyAgUGNoTW1QY2kxNiAoIFwNCj4gKyAgU2VnbWVudCwgXA0KPiArICBCdXMsIFwNCj4gKyAgRGV2 aWNlLCBcDQo+ICsgIEZ1bmN0aW9uLCBcDQo+ICsgIFJlZ2lzdGVyIFwNCj4gKyAgKSA9IChVSU5U MTYpICgoUGNoTW1QY2kxNiAoU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3Rl cikgJg0KPiAoVUlOVDE2KSAoQW5kRGF0YSkpIHwgKFVJTlQxNikgKE9yRGF0YSkpDQo+ICsNCj4g Ky8vDQo+ICsvLyA4IGJpdCBQQ0kgYWNjZXNzDQo+ICsvLw0KPiArI2RlZmluZSBQY2hNbVBjaThQ dHIoU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlcikgXA0KPiArICAgICgo dm9sYXRpbGUgVUlOVDggKikgUGNoUGNpRGV2aWNlTW1BZGRyZXNzIChTZWdtZW50LCBCdXMsIERl dmljZSwNCj4gRnVuY3Rpb24sIFJlZ2lzdGVyKSkNCj4gKw0KPiArI2RlZmluZSBQY2hNbVBjaTgo U2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlcikNCj4gKlBjaE1tUGNpOFB0 ciAoU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlcikNCj4gKw0KPiArI2Rl ZmluZSBQY2hNbVBjaThPcihTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVy LCBPckRhdGEpIFwNCj4gKyAgUGNoTW1QY2k4ICggXA0KPiArICBTZWdtZW50LCBcDQo+ICsgIEJ1 cywgXA0KPiArICBEZXZpY2UsIFwNCj4gKyAgRnVuY3Rpb24sIFwNCj4gKyAgUmVnaXN0ZXIgXA0K PiArICApID0gKFVJTlQ4KSAoUGNoTW1QY2k4IChTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rp b24sIFJlZ2lzdGVyKSB8DQo+IChVSU5UOCkgKE9yRGF0YSkpDQo+ICsNCj4gKyNkZWZpbmUgUGNo TW1QY2k4QW5kKFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIsIEFuZERh dGEpDQo+IFwNCj4gKyAgUGNoTW1QY2k4ICggXA0KPiArICBTZWdtZW50LCBcDQo+ICsgIEJ1cywg XA0KPiArICBEZXZpY2UsIFwNCj4gKyAgRnVuY3Rpb24sIFwNCj4gKyAgUmVnaXN0ZXIgXA0KPiAr ICApID0gKFVJTlQ4KSAoUGNoTW1QY2k4IChTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24s IFJlZ2lzdGVyKSAmDQo+IChVSU5UOCkgKEFuZERhdGEpKQ0KPiArDQo+ICsjZGVmaW5lIFBjaE1t UGNpOEFuZFRoZW5PcihTZWdtZW50LCBCdXMsIERldmljZSwgRnVuY3Rpb24sIFJlZ2lzdGVyLA0K PiBBbmREYXRhLCBPckRhdGEpIFwNCj4gKyAgUGNoTW1QY2k4ICggXA0KPiArICBTZWdtZW50LCBc DQo+ICsgIEJ1cywgXA0KPiArICBEZXZpY2UsIFwNCj4gKyAgRnVuY3Rpb24sIFwNCj4gKyAgUmVn aXN0ZXIgXA0KPiArICApID0gKFVJTlQ4KSAoKFBjaE1tUGNpOCAoU2VnbWVudCwgQnVzLCBEZXZp Y2UsIEZ1bmN0aW9uLCBSZWdpc3RlcikgJg0KPiAoVUlOVDgpIChBbmREYXRhKSkgfCAoVUlOVDgp IChPckRhdGEpKQ0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1 ZA0KPiBlL1BjaFJlZ3MuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cv VmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaFJlZ3MuaA0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zMzE0YjlkY2Y3DQo+IC0tLSAv ZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9W YWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUGNoUmVncy5oDQo+IEBAIC0w LDAgKzEsMjA1IEBADQo+ICsvKioNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDExICAtIDIwMTQs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4g KyAgQGZpbGUNCj4gKyAgUGNoUmVncy5oDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFJlZ2lzdGVy IG5hbWVzIGZvciBWTFYgU0MuDQo+ICsNCj4gKyAgQ29udmVudGlvbnM6DQo+ICsNCj4gKyAgLSBQ cmVmaXhlczoNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiUl8iIGFyZSByZWdp c3RlcnMNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiQl8iIGFyZSBiaXRzIHdp dGhpbiByZWdpc3RlcnMNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiVl8iIGFy ZSBtZWFuaW5nZnVsIHZhbHVlcyBvZiBiaXRzIHdpdGhpbiB0aGUNCj4gcmVnaXN0ZXJzDQo+ICsg ICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIlNfIiBhcmUgcmVnaXN0ZXIgc2l6ZXMNCj4g KyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiTl8iIGFyZSB0aGUgYml0IHBvc2l0aW9u DQo+ICsgIC0gSW4gZ2VuZXJhbCwgUENIIHJlZ2lzdGVycyBhcmUgZGVub3RlZCBieSAiX1BDSF8i IGluIHJlZ2lzdGVyIG5hbWVzDQo+ICsgIC0gUmVnaXN0ZXJzIC8gYml0cyB0aGF0IGFyZSBkaWZm ZXJlbnQgYmV0d2VlbiBQQ0ggZ2VuZXJhdGlvbnMgYXJlIGRlbm90ZWQNCj4gYnkNCj4gKyAgICAi X1BDSF88Z2VuZXJhdGlvbl9uYW1lPl8iIGluIHJlZ2lzdGVyL2JpdCBuYW1lcy4gZS5nLiwgIl9Q Q0hfVkxWXyINCj4gKyAgLSBSZWdpc3RlcnMgLyBiaXRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3 ZWVuIFNLVXMgYXJlIGRlbm90ZWQgYnkNCj4gIl88U0tVX25hbWU+Ig0KPiArICAgIGF0IHRoZSBl bmQgb2YgdGhlIHJlZ2lzdGVyL2JpdCBuYW1lcw0KPiArICAtIFJlZ2lzdGVycyAvIGJpdHMgb2Yg bmV3IGRldmljZXMgaW50cm9kdWNlZCBpbiBhIFBDSCBnZW5lcmF0aW9uIHdpbGwgYmUganVzdA0K PiBuYW1lZA0KPiArICAgIGFzICJfUENIXyIgd2l0aG91dCA8Z2VuZXJhdGlvbl9uYW1lPiBpbnNl cnRlZC4NCj4gKw0KPiArKiovDQo+ICsjaWZuZGVmIF9QQ0hfUkVHU19IXw0KPiArI2RlZmluZSBf UENIX1JFR1NfSF8NCj4gKw0KPiArLy8vDQo+ICsvLy8gQml0IERlZmluaXRpb25zLiBCVUdCVUc6 IGRyaXZlIHRoZXNlIGRlZmluaXRpb25zIHRvIGNvZGUgYmFzZS4gU2hvdWxkDQo+IG5vdCBuZWVk DQo+ICsvLy8gdG8gYmUgcGFydCBvZiBjaGlwc2V0IG1vZHVsZXMNCj4gKy8vLw0KPiArI2lmbmRl ZiBCSVQwDQo+ICsjZGVmaW5lIEJJVDAgIDB4MDAwMQ0KPiArI2RlZmluZSBCSVQxICAweDAwMDIN Cj4gKyNkZWZpbmUgQklUMiAgMHgwMDA0DQo+ICsjZGVmaW5lIEJJVDMgIDB4MDAwOA0KPiArI2Rl ZmluZSBCSVQ0ICAweDAwMTANCj4gKyNkZWZpbmUgQklUNSAgMHgwMDIwDQo+ICsjZGVmaW5lIEJJ VDYgIDB4MDA0MA0KPiArI2RlZmluZSBCSVQ3ICAweDAwODANCj4gKyNkZWZpbmUgQklUOCAgMHgw MTAwDQo+ICsjZGVmaW5lIEJJVDkgIDB4MDIwMA0KPiArI2RlZmluZSBCSVQxMCAweDA0MDANCj4g KyNkZWZpbmUgQklUMTEgMHgwODAwDQo+ICsjZGVmaW5lIEJJVDEyIDB4MTAwMA0KPiArI2RlZmlu ZSBCSVQxMyAweDIwMDANCj4gKyNkZWZpbmUgQklUMTQgMHg0MDAwDQo+ICsjZGVmaW5lIEJJVDE1 IDB4ODAwMA0KPiArI2RlZmluZSBCSVQxNiAweDAwMDEwMDAwDQo+ICsjZGVmaW5lIEJJVDE3IDB4 MDAwMjAwMDANCj4gKyNkZWZpbmUgQklUMTggMHgwMDA0MDAwMA0KPiArI2RlZmluZSBCSVQxOSAw eDAwMDgwMDAwDQo+ICsjZGVmaW5lIEJJVDIwIDB4MDAxMDAwMDANCj4gKyNkZWZpbmUgQklUMjEg MHgwMDIwMDAwMA0KPiArI2RlZmluZSBCSVQyMiAweDAwNDAwMDAwDQo+ICsjZGVmaW5lIEJJVDIz IDB4MDA4MDAwMDANCj4gKyNkZWZpbmUgQklUMjQgMHgwMTAwMDAwMA0KPiArI2RlZmluZSBCSVQy NSAweDAyMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDI2IDB4MDQwMDAwMDANCj4gKyNkZWZpbmUgQklU MjcgMHgwODAwMDAwMA0KPiArI2RlZmluZSBCSVQyOCAweDEwMDAwMDAwDQo+ICsjZGVmaW5lIEJJ VDI5IDB4MjAwMDAwMDANCj4gKyNkZWZpbmUgQklUMzAgMHg0MDAwMDAwMA0KPiArI2RlZmluZSBC SVQzMSAweDgwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDMyIDB4MTAwMDAwMDAwDQo+ICsjZGVmaW5l IEJJVDMzIDB4MjAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDM0IDB4NDAwMDAwMDAwDQo+ICsjZGVm aW5lIEJJVDM1IDB4ODAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDM2IDB4MTAwMDAwMDAwMA0KPiAr I2RlZmluZSBCSVQzNyAweDIwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUMzggMHg0MDAwMDAwMDAw DQo+ICsjZGVmaW5lIEJJVDM5IDB4ODAwMDAwMDAwMA0KPiArI2RlZmluZSBCSVQ0MCAweDEwMDAw MDAwMDAwDQo+ICsjZGVmaW5lIEJJVDQxIDB4MjAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUNDIg MHg0MDAwMDAwMDAwMA0KPiArI2RlZmluZSBCSVQ0MyAweDgwMDAwMDAwMDAwDQo+ICsjZGVmaW5l IEJJVDQ0IDB4MTAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDQ1IDB4MjAwMDAwMDAwMDAwDQo+ ICsjZGVmaW5lIEJJVDQ2IDB4NDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDQ3IDB4ODAwMDAw MDAwMDAwDQo+ICsjZGVmaW5lIEJJVDQ4IDB4MTAwMDAwMDAwMDAwMA0KPiArI2RlZmluZSBCSVQ0 OSAweDIwMDAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUNTAgMHg0MDAwMDAwMDAwMDAwDQo+ICsj ZGVmaW5lIEJJVDUxIDB4ODAwMDAwMDAwMDAwMA0KPiArI2RlZmluZSBCSVQ1MiAweDEwMDAwMDAw MDAwMDAwDQo+ICsjZGVmaW5lIEJJVDUzIDB4MjAwMDAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklU NTQgMHg0MDAwMDAwMDAwMDAwMA0KPiArI2RlZmluZSBCSVQ1NSAweDgwMDAwMDAwMDAwMDAwDQo+ ICsjZGVmaW5lIEJJVDU2IDB4MTAwMDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDU3IDB4MjAw MDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDU4IDB4NDAwMDAwMDAwMDAwMDAwDQo+ICsjZGVm aW5lIEJJVDU5IDB4ODAwMDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDYwIDB4MTAwMDAwMDAw MDAwMDAwMA0KPiArI2RlZmluZSBCSVQ2MSAweDIwMDAwMDAwMDAwMDAwMDANCj4gKyNkZWZpbmUg QklUNjIgMHg0MDAwMDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDYzIDB4ODAwMDAwMDAwMDAw MDAwMA0KPiArI2VuZGlmDQo+ICsvLy8NCj4gKy8vLyBUaGUgZGVmYXVsdCBQQ0ggUENJIGJ1cyBu dW1iZXINCj4gKy8vLw0KPiArI2RlZmluZSBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCAgMA0K PiArDQo+ICsvLy8NCj4gKy8vLyBEZWZhdWx0IFZlbmRvciBJRCBhbmQgU3Vic3lzdGVtIElEDQo+ ICsvLy8NCj4gKyNkZWZpbmUgVl9QQ0hfSU5URUxfVkVORE9SX0lEICAgMHg4MDg2DQo+ICsjZGVm aW5lIFZfUENIX0RFRkFVTFRfU0lEICAgICAgIDB4NzI3MA0KPiArI2RlZmluZSBWX1BDSF9ERUZB VUxUX1NWSURfU0lEICAoVl9QQ0hfSU5URUxfVkVORE9SX0lEICsNCj4gKFZfUENIX0RFRkFVTFRf U0lEIDw8IDE2KSkNCj4gKw0KPiArLy8vDQo+ICsvLy8gSW5jbHVkZSBkZXZpY2UgcmVnaXN0ZXIg ZGVmaW5pdGlvbnMNCj4gKy8vLw0KPiArI2luY2x1ZGUgIlBjaFJlZ3MvUGNoUmVnc0hkYS5oIg0K PiArI2luY2x1ZGUgIlBjaFJlZ3MvUGNoUmVnc0xwc3MuaCINCj4gKyNpbmNsdWRlICJQY2hSZWdz L1BjaFJlZ3NQY2llLmgiDQo+ICsjaW5jbHVkZSAiUGNoUmVncy9QY2hSZWdzUGN1LmgiDQo+ICsj aW5jbHVkZSAiUGNoUmVncy9QY2hSZWdzUmNyYi5oIg0KPiArI2luY2x1ZGUgIlBjaFJlZ3MvUGNo UmVnc1NhdGEuaCINCj4gKyNpbmNsdWRlICJQY2hSZWdzL1BjaFJlZ3NTY2MuaCINCj4gKyNpbmNs dWRlICJQY2hSZWdzL1BjaFJlZ3NTbWJ1cy5oIg0KPiArI2luY2x1ZGUgIlBjaFJlZ3MvUGNoUmVn c1NwaS5oIg0KPiArI2luY2x1ZGUgIlBjaFJlZ3MvUGNoUmVnc1VzYi5oIg0KPiArLy8jaW5jbHVk ZSAiUGNoUmVncy9QY2hSZWdzTHBlLmgiDQo+ICsNCj4gKy8vLw0KPiArLy8vIERldmljZSBJRFMg dGhhdCBhcmUgUENIIFNlcnZlciBzcGVjaWZpYw0KPiArLy8vDQo+ICsjZGVmaW5lIElTX1BDSF9E RVZJQ0VfSUQoRGV2aWNlSWQpIFwNCj4gKyAgICAoIFwNCj4gKyAgICAgIChEZXZpY2VJZCA9PSBW X1BDSF9MUENfREVWSUNFX0lEXzApIHx8IFwNCj4gKyAgICAgIChEZXZpY2VJZCA9PSBWX1BDSF9M UENfREVWSUNFX0lEXzEpIHx8IFwNCj4gKyAgICAgIChEZXZpY2VJZCA9PSBWX1BDSF9MUENfREVW SUNFX0lEXzIpIHx8IFwNCj4gKyAgICAgIChEZXZpY2VJZCA9PSBWX1BDSF9MUENfREVWSUNFX0lE XzMpIFwNCj4gKyAgICApDQo+ICsNCj4gKyNkZWZpbmUgSVNfUENIX1ZMVl9MUENfREVWSUNFX0lE KERldmljZUlkKSBcDQo+ICsgICAgKCBcDQo+ICsgICAgICBJU19QQ0hfREVWSUNFX0lEIChEZXZp Y2VJZCkgXA0KPiArICAgICkNCj4gKw0KPiArI2RlZmluZSBJU19QQ0hfVkxWX1NBVEFfREVWSUNF X0lEKERldmljZUlkKSBcDQo+ICsgICAgKCBcDQo+ICsgICAgICBJU19QQ0hfVkxWX1NBVEFfQUhD SV9ERVZJQ0VfSUQgKERldmljZUlkKSB8fCBcDQo+ICsgICAgICBJU19QQ0hfVkxWX1NBVEFfTU9E RV9ERVZJQ0VfSUQgKERldmljZUlkKSB8fCBcDQo+ICsgICAgICBJU19QQ0hfVkxWX1NBVEFfUkFJ RF9ERVZJQ0VfSUQgKERldmljZUlkKSBcDQo+ICsgICAgKQ0KPiArDQo+ICsjZGVmaW5lIElTX1BD SF9WTFZfU0FUQV9BSENJX0RFVklDRV9JRChEZXZpY2VJZCkgXA0KPiArICAgICggXA0KPiArICAg ICAgKERldmljZUlkID09IFZfUENIX1NBVEFfREVWSUNFX0lEX0RfQUhDSSkgfHwgXA0KPiArICAg ICAgKERldmljZUlkID09IFZfUENIX1NBVEFfREVWSUNFX0lEX01fQUhDSSkgXA0KPiArICAgICkN Cj4gKw0KPiArI2RlZmluZSBJU19QQ0hfVkxWX1NBVEFfUkFJRF9ERVZJQ0VfSUQoRGV2aWNlSWQp IFwNCj4gKyAgICAoIFwNCj4gKyAgICAgIChEZXZpY2VJZCA9PSBWX1BDSF9TQVRBX0RFVklDRV9J RF9EX1JBSUQpIHx8IFwNCj4gKyAgICAgIChEZXZpY2VJZCA9PSBWX1BDSF9TQVRBX0RFVklDRV9J RF9NX1JBSUQpIFwNCj4gKyAgICApDQo+ICsNCj4gKyNkZWZpbmUgSVNfUENIX1ZMVl9TQVRBX01P REVfREVWSUNFX0lEKERldmljZUlkKSBcDQo+ICsgICAgKCBcDQo+ICsgICAgICAoRGV2aWNlSWQg PT0gVl9QQ0hfU0FUQV9ERVZJQ0VfSURfRF9JREUpIHx8IFwNCj4gKyAgICAgIChEZXZpY2VJZCA9 PSBWX1BDSF9TQVRBX0RFVklDRV9JRF9NX0lERSkgXA0KPiArICAgICkNCj4gKyNkZWZpbmUgSVNf UENIX1ZMVl9VU0JfREVWSUNFX0lEKERldmljZUlkKSBcDQo+ICsgICAgKCBcDQo+ICsgICAgICAo RGV2aWNlSWQgPT0gVl9QQ0hfVVNCX0RFVklDRV9JRF8wKSB8fCBcDQo+ICsgICAgICAoRGV2aWNl SWQgPT0gVl9QQ0hfVVNCX0RFVklDRV9JRF8xKSBcDQo+ICsgICAgKQ0KPiArI2RlZmluZSBJU19Q Q0hfVkxWX1BDSUVfREVWSUNFX0lEKERldmljZUlkKSBcDQo+ICsgICAgKCBcDQo+ICsgICAgICAo RGV2aWNlSWQgPT0gVl9QQ0hfUENJRV9ERVZJQ0VfSURfMCkgfHwgXA0KPiArICAgICAgKERldmlj ZUlkID09IFZfUENIX1BDSUVfREVWSUNFX0lEXzEpIHx8IFwNCj4gKyAgICAgIChEZXZpY2VJZCA9 PSBWX1BDSF9QQ0lFX0RFVklDRV9JRF8yKSB8fCBcDQo+ICsgICAgICAoRGV2aWNlSWQgPT0gVl9Q Q0hfUENJRV9ERVZJQ0VfSURfMykgfHwgXA0KPiArICAgICAgKERldmljZUlkID09IFZfUENIX1BD SUVfREVWSUNFX0lEXzQpIHx8IFwNCj4gKyAgICAgIChEZXZpY2VJZCA9PSBWX1BDSF9QQ0lFX0RF VklDRV9JRF81KSB8fCBcDQo+ICsgICAgICAoRGV2aWNlSWQgPT0gVl9QQ0hfUENJRV9ERVZJQ0Vf SURfNikgfHwgXA0KPiArICAgICAgKERldmljZUlkID09IFZfUENIX1BDSUVfREVWSUNFX0lEXzcp IFwNCj4gKyAgICApDQo+ICsNCj4gKy8vLw0KPiArLy8vIEFueSBkZXZpY2UgSUQgdGhhdCBpcyBW YWxsZXl2aWV3IFNDDQo+ICsvLy8NCj4gKyNkZWZpbmUgSVNfUENIX1ZMVl9ERVZJQ0VfSUQoRGV2 aWNlSWQpIFwNCj4gKyAgICAoIFwNCj4gKyAgICAgIElTX1BDSF9WTFZfTFBDX0RFVklDRV9JRCAo RGV2aWNlSWQpIHx8IFwNCj4gKyAgICAgIElTX1BDSF9WTFZfU0FUQV9ERVZJQ0VfSUQgKERldmlj ZUlkKSB8fCBcDQo+ICsgICAgICBJU19QQ0hfVkxWX1VTQl9ERVZJQ0VfSUQgKERldmljZUlkKSB8 fCBcDQo+ICsgICAgICBJU19QQ0hfVkxWX1BDSUVfREVWSUNFX0lEIChEZXZpY2VJZCkgfHwgXA0K PiArICAgICAgKERldmljZUlkKSA9PSBWX1BDSF9TTUJVU19ERVZJQ0VfSUQgfHwgXA0KPiArICAg ICAgKERldmljZUlkKSA9PSBWX1BDSF9IREFfREVWSUNFX0lEXzAgfHwgXA0KPiArICAgICAgKERl dmljZUlkKSA9PSBWX1BDSF9IREFfREVWSUNFX0lEXzEgXA0KPiArICAgICkNCj4gKw0KPiArI2Rl ZmluZSBJU19TVVBQT1JURURfREVWSUNFX0lEKERldmljZUlkKSAgSVNfUENIX1ZMVl9ERVZJQ0Vf SUQNCj4gKERldmljZUlkKQ0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVy L0luY2x1ZA0KPiBlL1BjaFJlZ3MvUGNoUmVnc0hkYS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYy RGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUv UGNoUmVncy9QY2hSZWdzSGRhLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMC4uYjI1YTc5YTRkMQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24v SW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0lu Y2x1ZA0KPiBlL1BjaFJlZ3MvUGNoUmVnc0hkYS5oDQo+IEBAIC0wLDAgKzEsNTAgQEANCj4gKy8q Kg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTIgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiArICBAZmlsZQ0KPiArICBQY2hS ZWdzSGRhLmgNCj4gKw0KPiArICBAYnJpZWYNCj4gKyAgUmVnaXN0ZXIgbmFtZXMgZm9yIFBDSCBI aWdoIERlZmluaXRpb24gQXVkaW8gZGV2aWNlLg0KPiArDQo+ICsgIENvbnZlbnRpb25zOg0KPiAr DQo+ICsgIC0gUHJlZml4ZXM6DQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIlJf IiBhcmUgcmVnaXN0ZXJzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIkJfIiBh cmUgYml0cyB3aXRoaW4gcmVnaXN0ZXJzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdp dGggIlZfIiBhcmUgbWVhbmluZ2Z1bCB2YWx1ZXMgb2YgYml0cyB3aXRoaW4gdGhlDQo+IHJlZ2lz dGVycw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJTXyIgYXJlIHJlZ2lzdGVy IHNpemVzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIk5fIiBhcmUgdGhlIGJp dCBwb3NpdGlvbg0KPiArICAtIEluIGdlbmVyYWwsIFBDSCByZWdpc3RlcnMgYXJlIGRlbm90ZWQg YnkgIl9QQ0hfIiBpbiByZWdpc3RlciBuYW1lcw0KPiArICAtIFJlZ2lzdGVycyAvIGJpdHMgdGhh dCBhcmUgZGlmZmVyZW50IGJldHdlZW4gUENIIGdlbmVyYXRpb25zIGFyZSBkZW5vdGVkDQo+IGJ5 DQo+ICsgICAgIl9QQ0hfPGdlbmVyYXRpb25fbmFtZT5fIiBpbiByZWdpc3Rlci9iaXQgbmFtZXMu IGUuZy4sICJfUENIX1ZMVl8iDQo+ICsgIC0gUmVnaXN0ZXJzIC8gYml0cyB0aGF0IGFyZSBkaWZm ZXJlbnQgYmV0d2VlbiBTS1VzIGFyZSBkZW5vdGVkIGJ5DQo+ICJfPFNLVV9uYW1lPiINCj4gKyAg ICBhdCB0aGUgZW5kIG9mIHRoZSByZWdpc3Rlci9iaXQgbmFtZXMNCj4gKyAgLSBSZWdpc3RlcnMg LyBiaXRzIG9mIG5ldyBkZXZpY2VzIGludHJvZHVjZWQgaW4gYSBQQ0ggZ2VuZXJhdGlvbiB3aWxs IGJlIGp1c3QNCj4gbmFtZWQNCj4gKyAgICBhcyAiX1BDSF8iIHdpdGhvdXQgPGdlbmVyYXRpb25f bmFtZT4gaW5zZXJ0ZWQuDQo+ICsNCj4gKyoqLw0KPiArI2lmbmRlZiBfUENIX1JFR1NfSERBX0hf DQo+ICsjZGVmaW5lIF9QQ0hfUkVHU19IREFfSF8NCj4gKw0KPiArLy8vDQo+ICsvLy8gQXphbGlh IENvbnRyb2xsZXIgUmVnaXN0ZXJzIChEMjc6RjApDQo+ICsvLy8NCj4gKyNkZWZpbmUgUENJX0RF VklDRV9OVU1CRVJfUENIX0FaQUxJQSAgICAgICAyNw0KPiArI2RlZmluZSBQQ0lfRlVOQ1RJT05f TlVNQkVSX1BDSF9BWkFMSUEgICAgIDANCj4gKw0KPiArI2RlZmluZSBSX1BDSF9IREFfUENTICAg ICAgICAgICAgICAgICAgICAgIDB4NTQgIC8vIFBvd2VyIE1hbmFnZW1lbnQgQ29udHJvbA0KPiBh bmQgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0hEQV9QQ1NfREFUQSAgICAgICAgICAgICAgICAg MHhGRjAwMDAwMCAvLyBEYXRhLCBkb2VzIG5vdA0KPiBhcHBseQ0KPiArI2RlZmluZSBCX1BDSF9I REFfUENTX0NDRSAgICAgICAgICAgICAgICAgIEJJVDIzIC8vIEJ1cyBQb3dlciBDb250cm9sIEVu YWJsZSwNCj4gZG9lcyBub3QgYXBwbHkNCj4gKyNkZWZpbmUgQl9QQ0hfSERBX1BDU19QTUVTICAg ICAgICAgICAgICAgICBCSVQxNSAvLyBQTUUgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0hEQV9Q Q1NfUE1FRSAgICAgICAgICAgICAgICAgQklUOCAgLy8gUE1FIEVuYWJsZQ0KPiArI2RlZmluZSBC X1BDSF9IREFfUENTX1BTICAgICAgICAgICAgICAgICAgIChCSVQxIHwgQklUMCkgLy8gUG93ZXIg U3RhdGUgLSBEMC9EMw0KPiBIb3QNCj4gKyNkZWZpbmUgVl9QQ0hfSERBX1BDU19QUzAgICAgICAg ICAgICAgICAgICAweDAwDQo+ICsjZGVmaW5lIFZfUENIX0hEQV9QQ1NfUFMzICAgICAgICAgICAg ICAgICAgMHgwMw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1 ZA0KPiBlL1BjaFJlZ3MvUGNoUmVnc0xwc3MuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaFJl Z3MvUGNoUmVnc0xwc3MuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi5hNWQwZDQ5Y2RiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVk DQo+IGUvUGNoUmVncy9QY2hSZWdzTHBzcy5oDQo+IEBAIC0wLDAgKzEsNDg2IEBADQo+ICsvKisr DQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0K PiArICBQY2hSZWdzTHBzcy5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFJlZ2lzdGVy IG5hbWVzIGZvciBWTFYgTG93IElucHV0IE91dHB1dCAoTFBTUykgbW9kdWxlLg0KPiArDQo+ICsg IENvbnZlbnRpb25zOg0KPiArDQo+ICsgIC0gUHJlZml4ZXM6DQo+ICsgICAgRGVmaW5pdGlvbnMg YmVnaW5uaW5nIHdpdGggIlJfIiBhcmUgcmVnaXN0ZXJzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVn aW5uaW5nIHdpdGggIkJfIiBhcmUgYml0cyB3aXRoaW4gcmVnaXN0ZXJzDQo+ICsgICAgRGVmaW5p dGlvbnMgYmVnaW5uaW5nIHdpdGggIlZfIiBhcmUgbWVhbmluZ2Z1bCB2YWx1ZXMgb2YgYml0cyB3 aXRoaW4gdGhlDQo+IHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRo ICJTXyIgYXJlIHJlZ2lzdGVyIHNpemVzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdp dGggIk5fIiBhcmUgdGhlIGJpdCBwb3NpdGlvbg0KPiArICAtIEluIGdlbmVyYWwsIFBDSCByZWdp c3RlcnMgYXJlIGRlbm90ZWQgYnkgIl9QQ0hfIiBpbiByZWdpc3RlciBuYW1lcw0KPiArICAtIFJl Z2lzdGVycyAvIGJpdHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4gUENIIGdlbmVyYXRpb25z IGFyZSBkZW5vdGVkDQo+IGJ5DQo+ICsgICAgIl9QQ0hfPGdlbmVyYXRpb25fbmFtZT5fIiBpbiBy ZWdpc3Rlci9iaXQgbmFtZXMuIGUuZy4sICJfUENIX1ZMVl8iDQo+ICsgIC0gUmVnaXN0ZXJzIC8g Yml0cyB0aGF0IGFyZSBkaWZmZXJlbnQgYmV0d2VlbiBTS1VzIGFyZSBkZW5vdGVkIGJ5DQo+ICJf PFNLVV9uYW1lPiINCj4gKyAgICBhdCB0aGUgZW5kIG9mIHRoZSByZWdpc3Rlci9iaXQgbmFtZXMN Cj4gKyAgLSBSZWdpc3RlcnMgLyBiaXRzIG9mIG5ldyBkZXZpY2VzIGludHJvZHVjZWQgaW4gYSBQ Q0ggZ2VuZXJhdGlvbiB3aWxsIGJlIGp1c3QNCj4gbmFtZWQNCj4gKyAgICBhcyAiX1BDSF8iIHdp dGhvdXQgPGdlbmVyYXRpb25fbmFtZT4gaW5zZXJ0ZWQuDQo+ICsNCj4gKy0tKi8NCj4gKyNpZm5k ZWYgX1BDSF9SRUdTX0xQU1NfSF8NCj4gKyNkZWZpbmUgX1BDSF9SRUdTX0xQU1NfSF8NCj4gKw0K PiArDQo+ICsvLw0KPiArLy8gTG93IFBvd2VyIElucHV0IE91dHB1dCAoTFBTUykgTW9kdWxlIFJl Z2lzdGVycw0KPiArLy8NCj4gKw0KPiArLy8NCj4gKy8vIExQU1MgRE1BQyBNb2R1bGVzDQo+ICsv LyBQQ0kgQ29uZmlnIFNwYWNlIFJlZ2lzdGVycw0KPiArLy8NCj4gKyNkZWZpbmUgUENJX0RFVklD RV9OVU1CRVJfUENIX0xQU1NfRE1BQzAgICAgICAgICAgMzANCj4gKyNkZWZpbmUgUENJX0RFVklD RV9OVU1CRVJfUENIX0xQU1NfRE1BQzEgICAgICAgICAgMjQNCj4gKyNkZWZpbmUgUENJX0ZVTkNU SU9OX05VTUJFUl9QQ0hfTFBTU19ETUFDICAgICAgICAgMA0KPiArDQo+ICsjZGVmaW5lIFJfUENI X0xQU1NfRE1BQ19ERVZWRU5ESUQgICAgICAgICAgICAgICAgIDB4MDAgIC8vIERldmljZSBJRCAm DQo+IFZlbmRvciBJRA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfREVWVkVORElEX0RJRCAg ICAgICAgICAgICAweEZGRkYwMDAwIC8vIERldmljZQ0KPiBJRA0KPiArI2RlZmluZSBCX1BDSF9M UFNTX0RNQUNfREVWVkVORElEX1ZJRCAgICAgICAgICAgICAweDAwMDBGRkZGIC8vIFZlbmRvcg0K PiBJRA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfRE1BQ19TVFNDTUQgICAgICAgICAgICAg ICAgICAgIDB4MDQgIC8vIFN0YXR1cyAmIENvbW1hbmQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19E TUFDX1NUU0NNRF9STUEgICAgICAgICAgICAgICAgQklUMjkgLy8gUk1BDQo+ICsjZGVmaW5lIEJf UENIX0xQU1NfRE1BQ19TVFNDTURfUkNBICAgICAgICAgICAgICAgIEJJVDI4IC8vIFJDQQ0KPiAr I2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfU1RTQ01EX0NBUExJU1QgICAgICAgICAgICBCSVQyMCAv LyBDYXBhYmlsaXR5IExpc3QNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX1NUU0NNRF9JTlRS U1RTICAgICAgICAgICAgQklUMTkgLy8gSW50ZXJydXB0DQo+IFN0YXR1cw0KPiArI2RlZmluZSBC X1BDSF9MUFNTX0RNQUNfU1RTQ01EX0lOVFJESVMgICAgICAgICAgICBCSVQxMCAvLyBJbnRlcnJ1 cHQNCj4gRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfU1RTQ01EX1NFUlJFTiAg ICAgICAgICAgICBCSVQ4ICAvLyBTRVJSIyBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19E TUFDX1NUU0NNRF9CTUUgICAgICAgICAgICAgICAgQklUMiAgLy8gQnVzIE1hc3Rlcg0KPiBFbmFi bGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX1NUU0NNRF9NU0UgICAgICAgICAgICAgICAg QklUMSAgLy8gTWVtb3J5IFNwYWNlDQo+IEVuYWJsZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQ U1NfRE1BQ19SRVZDQyAgICAgICAgICAgICAgICAgICAgIDB4MDggIC8vIFJldmlzaW9uIElEICYg Q2xhc3MNCj4gQ29kZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfUkVWQ0NfQ0MgICAgICAg ICAgICAgICAgICAweEZGRkZGRjAwIC8vIENsYXNzIENvZGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBT U19ETUFDX1JFVkNDX1JJRCAgICAgICAgICAgICAgICAgMHgwMDAwMDBGRiAvLyBSZXZpc2lvbiBJ RA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfRE1BQ19DTEhCICAgICAgICAgICAgICAgICAg ICAgIDB4MEMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0NMSEJfTVVMRk5ERVYgICAgICAg ICAgICAgQklUMjMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0NMSEJfSFQgICAgICAgICAg ICAgICAgICAgMHgwMDdGMDAwMCAvLyBIZWFkZXIgVHlwZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNT X0RNQUNfQ0xIQl9MVCAgICAgICAgICAgICAgICAgICAweDAwMDBGRjAwIC8vIExhdGVuY3kNCj4g VGltZXINCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0NMSEJfQ0xTICAgICAgICAgICAgICAg ICAgMHgwMDAwMDBGRiAvLyBDYWNoZSBMaW5lDQo+IFNpemUNCj4gKw0KPiArI2RlZmluZSBSX1BD SF9MUFNTX0RNQUNfQkFSICAgICAgICAgICAgICAgICAgICAgICAweDEwICAvLyBCQVINCj4gKyNk ZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0JBUl9CQSAgICAgICAgICAgICAgICAgICAgMHhGRkZGQzAw MCAvLyBCYXNlDQo+IEFkZHJlc3MNCj4gKyNkZWZpbmUgVl9QQ0hfTFBTU19ETUFDX0JBUl9TSVpF ICAgICAgICAgICAgICAgICAgMHg0MDAwDQo+ICsjZGVmaW5lIE5fUENIX0xQU1NfRE1BQ19CQVJf QUxJR05NRU5UICAgICAgICAgICAgIDE0DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfRE1BQ19CQVJf U0kgICAgICAgICAgICAgICAgICAgIDB4MDAwMDBGRjAgLy8gU2l6ZSBJbmRpY2F0b3INCj4gKyNk ZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0JBUl9QRiAgICAgICAgICAgICAgICAgICAgQklUMyAgLy8g UHJlZmV0Y2hhYmxlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfRE1BQ19CQVJfVFlQRSAgICAgICAg ICAgICAgICAgIChCSVQyIHwgQklUMSkgLy8gVHlwZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RN QUNfQkFSX01TICAgICAgICAgICAgICAgICAgICBCSVQwICAvLyBNZXNzYWdlIFNwYWNlDQo+ICsN Cj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19ETUFDX0JBUjEgICAgICAgICAgICAgICAgICAgICAgMHgx NCAgLy8gQkFSIDENCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0JBUjFfQkEgICAgICAgICAg ICAgICAgICAgMHhGRkZGRjAwMCAvLyBCYXNlDQo+IEFkZHJlc3MNCj4gKyNkZWZpbmUgQl9QQ0hf TFBTU19ETUFDX0JBUjFfU0kgICAgICAgICAgICAgICAgICAgMHgwMDAwMEZGMCAvLyBTaXplIElu ZGljYXRvcg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfQkFSMV9QRiAgICAgICAgICAgICAg ICAgICBCSVQzICAvLyBQcmVmZXRjaGFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0JB UjFfVFlQRSAgICAgICAgICAgICAgICAgKEJJVDIgfCBCSVQxKSAvLyBUeXBlDQo+ICsjZGVmaW5l IEJfUENIX0xQU1NfRE1BQ19CQVIxX01TICAgICAgICAgICAgICAgICAgIEJJVDAgIC8vIE1lc3Nh Z2UgU3BhY2UNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX0RNQUNfU1NJRCAgICAgICAgICAg ICAgICAgICAgICAweDJDICAvLyBTdWIgU3lzdGVtIElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1Nf RE1BQ19TU0lEX1NJRCAgICAgICAgICAgICAgICAgIDB4RkZGRjAwMDAgLy8gU3ViIFN5c3RlbQ0K PiBJRA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfU1NJRF9TVklEICAgICAgICAgICAgICAg ICAweDAwMDBGRkZGIC8vIFN1YiBTeXN0ZW0NCj4gVmVuZG9yIElEDQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfTFBTU19ETUFDX0VSQkFSICAgICAgICAgICAgICAgICAgICAgMHgzMCAgLy8gRXhwYW5z aW9uIFJPTSBCQVINCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0VSQkFSX0JBICAgICAgICAg ICAgICAgICAgMHhGRkZGRkZGRiAvLyBFeHBhbnNpb24NCj4gUk9NIEJhc2UgQWRkcmVzcw0KPiAr DQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfRE1BQ19DQVBQVFIgICAgICAgICAgICAgICAgICAgIDB4 MzQgIC8vIENhcGFiaWxpdHkgUG9pbnRlcg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfQ0FQ UFRSX0NQUFdSICAgICAgICAgICAgICAweEZGICAvLyBDYXBhYmlsaXR5DQo+IFBvaW50ZXIgUG93 ZXINCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX0RNQUNfSU5UUiAgICAgICAgICAgICAgICAg ICAgICAweDNDICAvLyBJbnRlcnJ1cHQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19ETUFDX0lOVFJf TUwgICAgICAgICAgICAgICAgICAgMHhGRjAwMDAwMCAvLyBNYXggTGF0ZW5jeQ0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX0RNQUNfSU5UUl9NRyAgICAgICAgICAgICAgICAgICAweDAwRkYwMDAwDQo+ ICsjZGVmaW5lIEJfUENIX0xQU1NfRE1BQ19JTlRSX0lQICAgICAgICAgICAgICAgICAgIDB4MDAw MDBGMDAgLy8gSW50ZXJydXB0IFBpbg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfSU5UUl9J TCAgICAgICAgICAgICAgICAgICAweDAwMDAwMEZGIC8vIEludGVycnVwdCBMaW5lDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfTFBTU19ETUFDX1BDQVBJRCAgICAgICAgICAgICAgICAgICAgMHg4MCAg Ly8gUG93ZXIgQ2FwYWJpbGl0eSBJRA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfUENBUElE X1BTICAgICAgICAgICAgICAgICAweEY4MDAwMDAwIC8vIFBNRQ0KPiBTdXBwb3J0DQo+ICsjZGVm aW5lIEJfUENIX0xQU1NfRE1BQ19QQ0FQSURfVlMgICAgICAgICAgICAgICAgIDB4MDAwNzAwMDAg Ly8gVmVyc2lvbg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfUENBUElEX05DICAgICAgICAg ICAgICAgICAweDAwMDBGRjAwIC8vIE5leHQNCj4gQ2FwYWJpbGl0eQ0KPiArI2RlZmluZSBCX1BD SF9MUFNTX0RNQUNfUENBUElEX1BDICAgICAgICAgICAgICAgICAweDAwMDAwMEZGIC8vIFBvd2Vy DQo+IENhcGFiaWxpdHkNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX0RNQUNfUENTICAgICAg ICAgICAgICAgICAgICAgICAweDg0ICAvLyBQTUUgQ29udHJvbCBTdGF0dXMNCj4gKyNkZWZpbmUg Ql9QQ0hfTFBTU19ETUFDX1BDU19QTUVTVFMgICAgICAgICAgICAgICAgQklUMTUgLy8gUE1FIFN0 YXR1cw0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0RNQUNfUENTX1BNRUVOICAgICAgICAgICAgICAg ICBCSVQ4ICAvLyBQTUUgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfRE1BQ19QQ1NfTlNT ICAgICAgICAgICAgICAgICAgIEJJVDMgIC8vIE5vIFNvZnQgUmVzZXQNCj4gKyNkZWZpbmUgQl9Q Q0hfTFBTU19ETUFDX1BDU19QUyAgICAgICAgICAgICAgICAgICAgKEJJVDEgfCBCSVQwKSAvLyBQ b3dlciBTdGF0ZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfRE1BQ19NQU5JRCAgICAgICAg ICAgICAgICAgICAgIDB4RjggIC8vIE1hbnVmYWN0dXJlciBJRA0KPiArI2RlZmluZSBCX1BDSF9M UFNTX0RNQUNfTUFOSURfTUFOSUQgICAgICAgICAgICAgICAweEZGRkZGRkZGIC8vDQo+IE1hbnVm YWN0dXJlciBJRA0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBMUFNTIEkyQyBNb2R1bGUNCj4gKy8v IFBDSSBDb25maWcgU3BhY2UgUmVnaXN0ZXJzDQo+ICsvLw0KPiArI2RlZmluZSBQQ0lfREVWSUNF X05VTUJFUl9QQ0hfTFBTU19JMkMgICAgICAgICAgICAyNA0KPiArI2RlZmluZSBQQ0lfRlVOQ1RJ T05fTlVNQkVSX1BDSF9MUFNTX0kyQzAgICAgICAgICAxDQo+ICsjZGVmaW5lIFBDSV9GVU5DVElP Tl9OVU1CRVJfUENIX0xQU1NfSTJDMSAgICAgICAgIDINCj4gKyNkZWZpbmUgUENJX0ZVTkNUSU9O X05VTUJFUl9QQ0hfTFBTU19JMkMyICAgICAgICAgMw0KPiArI2RlZmluZSBQQ0lfRlVOQ1RJT05f TlVNQkVSX1BDSF9MUFNTX0kyQzMgICAgICAgICA0DQo+ICsjZGVmaW5lIFBDSV9GVU5DVElPTl9O VU1CRVJfUENIX0xQU1NfSTJDNCAgICAgICAgIDUNCj4gKyNkZWZpbmUgUENJX0ZVTkNUSU9OX05V TUJFUl9QQ0hfTFBTU19JMkM1ICAgICAgICAgNg0KPiArI2RlZmluZSBQQ0lfRlVOQ1RJT05fTlVN QkVSX1BDSF9MUFNTX0kyQzYgICAgICAgICA3DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19J MkNfREVWVkVORElEICAgICAgICAgICAgICAgICAgMHgwMCAgLy8gRGV2aWNlIElEICYgVmVuZG9y DQo+IElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX0RFVlZFTkRJRF9ESUQgICAgICAgICAg ICAgIDB4RkZGRjAwMDAgLy8gRGV2aWNlIElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX0RF VlZFTkRJRF9WSUQgICAgICAgICAgICAgIDB4MDAwMEZGRkYgLy8gVmVuZG9yIElEDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfTFBTU19JMkNfU1RTQ01EICAgICAgICAgICAgICAgICAgICAgMHgwNCAg Ly8gU3RhdHVzICYgQ29tbWFuZA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19TVFNDTURfUk1B ICAgICAgICAgICAgICAgICBCSVQyOSAvLyBSTUENCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNf U1RTQ01EX1JDQSAgICAgICAgICAgICAgICAgQklUMjggLy8gUkNBDQo+ICsjZGVmaW5lIEJfUENI X0xQU1NfSTJDX1NUU0NNRF9DQVBMSVNUICAgICAgICAgICAgIEJJVDIwIC8vIENhcGFiaWxpdHkg TGlzdA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19TVFNDTURfSU5UUlNUUyAgICAgICAgICAg ICBCSVQxOSAvLyBJbnRlcnJ1cHQgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX1NU U0NNRF9JTlRSRElTICAgICAgICAgICAgIEJJVDEwIC8vIEludGVycnVwdA0KPiBEaXNhYmxlDQo+ ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX1NUU0NNRF9TRVJSRU4gICAgICAgICAgICAgIEJJVDgg IC8vIFNFUlIjIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19TVFNDTURfQk1FICAg ICAgICAgICAgICAgICBCSVQyICAvLyBCdXMgTWFzdGVyIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BD SF9MUFNTX0kyQ19TVFNDTURfTVNFICAgICAgICAgICAgICAgICBCSVQxICAvLyBNZW1vcnkgU3Bh Y2UNCj4gRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19JMkNfUkVWQ0MgICAgICAg ICAgICAgICAgICAgICAgMHgwOCAgLy8gUmV2aXNpb24gSUQgJiBDbGFzcw0KPiBDb2RlDQo+ICsj ZGVmaW5lIEJfUENIX0xQU1NfSTJDX1JFVkNDX0NDICAgICAgICAgICAgICAgICAgIDB4RkZGRkZG MDAgLy8gQ2xhc3MgQ29kZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19SRVZDQ19SSUQgICAg ICAgICAgICAgICAgICAweDAwMDAwMEZGIC8vIFJldmlzaW9uIElEDQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfTFBTU19JMkNfQ0xIQiAgICAgICAgICAgICAgICAgICAgICAgMHgwQw0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX0kyQ19DTEhCX01VTEZOREVWICAgICAgICAgICAgICBCSVQyMw0KPiArI2Rl ZmluZSBCX1BDSF9MUFNTX0kyQ19DTEhCX0hUICAgICAgICAgICAgICAgICAgICAweDAwN0YwMDAw IC8vIEhlYWRlciBUeXBlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX0NMSEJfTFQgICAgICAg ICAgICAgICAgICAgIDB4MDAwMEZGMDAgLy8gTGF0ZW5jeSBUaW1lcg0KPiArI2RlZmluZSBCX1BD SF9MUFNTX0kyQ19DTEhCX0NMUyAgICAgICAgICAgICAgICAgICAweDAwMDAwMEZGIC8vIENhY2hl IExpbmUgU2l6ZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfSTJDX0JBUiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MTAgIC8vIEJBUg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19CQVJf QkEgICAgICAgICAgICAgICAgICAgICAweEZGRkZGMDAwIC8vIEJhc2UgQWRkcmVzcw0KPiArI2Rl ZmluZSBWX1BDSF9MUFNTX0kyQ19CQVJfU0laRSAgICAgICAgICAgICAgICAgICAweDEwMDANCj4g KyNkZWZpbmUgTl9QQ0hfTFBTU19JMkNfQkFSX0FMSUdOTUVOVCAgICAgICAgICAgICAgMTINCj4g KyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNfQkFSX1NJICAgICAgICAgICAgICAgICAgICAgMHgwMDAw MEZGMCAvLyBTaXplIEluZGljYXRvcg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19CQVJfUEYg ICAgICAgICAgICAgICAgICAgICBCSVQzICAvLyBQcmVmZXRjaGFibGUNCj4gKyNkZWZpbmUgQl9Q Q0hfTFBTU19JMkNfQkFSX1RZUEUgICAgICAgICAgICAgICAgICAgKEJJVDIgfCBCSVQxKSAvLyBU eXBlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX0JBUl9NUyAgICAgICAgICAgICAgICAgICAg IEJJVDAgIC8vIE1lc3NhZ2UgU3BhY2UNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX0kyQ19C QVIxICAgICAgICAgICAgICAgICAgICAgICAweDE0ICAvLyBCQVIgMQ0KPiArI2RlZmluZSBCX1BD SF9MUFNTX0kyQ19CQVIxX0JBICAgICAgICAgICAgICAgICAgICAweEZGRkZGMDAwIC8vIEJhc2Ug QWRkcmVzcw0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19CQVIxX1NJICAgICAgICAgICAgICAg ICAgICAweDAwMDAwRkYwIC8vIFNpemUgSW5kaWNhdG9yDQo+ICsjZGVmaW5lIEJfUENIX0xQU1Nf STJDX0JBUjFfUEYgICAgICAgICAgICAgICAgICAgIEJJVDMgIC8vIFByZWZldGNoYWJsZQ0KPiAr I2RlZmluZSBCX1BDSF9MUFNTX0kyQ19CQVIxX1RZUEUgICAgICAgICAgICAgICAgICAoQklUMiB8 IEJJVDEpIC8vIFR5cGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNfQkFSMV9NUyAgICAgICAg ICAgICAgICAgICAgQklUMCAgLy8gTWVzc2FnZSBTcGFjZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENI X0xQU1NfSTJDX1NTSUQgICAgICAgICAgICAgICAgICAgICAgIDB4MkMgIC8vIFN1YiBTeXN0ZW0g SUQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNfU1NJRF9TSUQgICAgICAgICAgICAgICAgICAg MHhGRkZGMDAwMCAvLyBTdWIgU3lzdGVtIElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX1NT SURfU1ZJRCAgICAgICAgICAgICAgICAgIDB4MDAwMEZGRkYgLy8gU3ViIFN5c3RlbQ0KPiBWZW5k b3IgSUQNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX0kyQ19FUkJBUiAgICAgICAgICAgICAg ICAgICAgICAweDMwICAvLyBFeHBhbnNpb24gUk9NIEJBUg0KPiArI2RlZmluZSBCX1BDSF9MUFNT X0kyQ19FUkJBUl9CQSAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGIC8vIEV4cGFuc2lvbg0K PiBST00gQmFzZSBBZGRyZXNzDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19JMkNfQ0FQUFRS ICAgICAgICAgICAgICAgICAgICAgMHgzNCAgLy8gQ2FwYWJpbGl0eSBQb2ludGVyDQo+ICsjZGVm aW5lIEJfUENIX0xQU1NfSTJDX0NBUFBUUl9DUFBXUiAgICAgICAgICAgICAgIDB4RkYgIC8vIENh cGFiaWxpdHkNCj4gUG9pbnRlciBQb3dlcg0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfSTJD X0lOVFIgICAgICAgICAgICAgICAgICAgICAgIDB4M0MgIC8vIEludGVycnVwdA0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX0kyQ19JTlRSX01MICAgICAgICAgICAgICAgICAgICAweEZGMDAwMDAwIC8v IE1heCBMYXRlbmN5DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX0lOVFJfTUcgICAgICAgICAg ICAgICAgICAgIDB4MDBGRjAwMDANCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNfSU5UUl9JUCAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMEYwMCAvLyBJbnRlcnJ1cHQgUGluDQo+ICsjZGVmaW5l IEJfUENIX0xQU1NfSTJDX0lOVFJfSUwgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRkYgLy8g SW50ZXJydXB0IExpbmUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX0kyQ19QQ0FQSUQgICAg ICAgICAgICAgICAgICAgICAweDgwICAvLyBQb3dlciBDYXBhYmlsaXR5IElEDQo+ICsjZGVmaW5l IEJfUENIX0xQU1NfSTJDX1BDQVBJRF9QUyAgICAgICAgICAgICAgICAgIDB4RjgwMDAwMDAgLy8g UE1FIFN1cHBvcnQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNfUENBUElEX1ZTICAgICAgICAg ICAgICAgICAgMHgwMDA3MDAwMCAvLyBWZXJzaW9uDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJD X1BDQVBJRF9OQyAgICAgICAgICAgICAgICAgIDB4MDAwMEZGMDAgLy8gTmV4dA0KPiBDYXBhYmls aXR5DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX1BDQVBJRF9QQyAgICAgICAgICAgICAgICAg IDB4MDAwMDAwRkYgLy8gUG93ZXINCj4gQ2FwYWJpbGl0eQ0KPiArDQo+ICsjZGVmaW5lIFJfUENI X0xQU1NfSTJDX1BDUyAgICAgICAgICAgICAgICAgICAgICAgIDB4ODQgIC8vIFBNRSBDb250cm9s IFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19QQ1NfUE1FU1RTICAgICAgICAgICAg ICAgICBCSVQxNSAvLyBQTUUgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX1BDU19Q TUVFTiAgICAgICAgICAgICAgICAgIEJJVDggIC8vIFBNRSBFbmFibGUNCj4gKyNkZWZpbmUgQl9Q Q0hfTFBTU19JMkNfUENTX05TUyAgICAgICAgICAgICAgICAgICAgQklUMyAgLy8gTm8gU29mdCBS ZXNldA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19QQ1NfUFMgICAgICAgICAgICAgICAgICAg ICAoQklUMSB8IEJJVDApIC8vIFBvd2VyIFN0YXRlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBT U19JMkNfTUFOSUQgICAgICAgICAgICAgICAgICAgICAgMHhGOCAgLy8gTWFudWZhY3R1cmVyIElE DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX01BTklEX01BTklEICAgICAgICAgICAgICAgIDB4 RkZGRkZGRkYgLy8NCj4gTWFudWZhY3R1cmVyIElEDQo+ICsNCj4gKy8vDQo+ICsvLyBMUFNTIEky QyBNb2R1bGUNCj4gKy8vIE1lbW9yeSBTcGFjZSBSZWdpc3RlcnMNCj4gKy8vDQo+ICsjZGVmaW5l IFJfUENIX0xQU1NfSTJDX01FTV9SRVNFVFMgICAgICAgICAgICAgICAgIDB4ODA0IC8vIFNvZnR3 YXJlIFJlc2V0DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX01FTV9SRVNFVFNfRlVOQyAgICAg ICAgICAgIEJJVDEgIC8vIEZ1bmN0aW9uIENsb2NrDQo+IERvbWFpbiBSZXNldA0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX0kyQ19NRU1fUkVTRVRTX0FQQiAgICAgICAgICAgICBCSVQwICAvLyBBUEIg RG9tYWluDQo+IFJlc2V0DQo+ICsNCj4gKy8vDQo+ICsvLyBMUFNTIFBXTSBNb2R1bGVzDQo+ICsv LyBQQ0kgQ29uZmlnIFNwYWNlIFJlZ2lzdGVycw0KPiArLy8NCj4gKyNkZWZpbmUgUENJX0RFVklD RV9OVU1CRVJfUENIX0xQU1NfUFdNICAgICAgICAgICAgMzANCj4gKyNkZWZpbmUgUENJX0ZVTkNU SU9OX05VTUJFUl9QQ0hfTFBTU19QV00wICAgICAgICAgMQ0KPiArI2RlZmluZSBQQ0lfRlVOQ1RJ T05fTlVNQkVSX1BDSF9MUFNTX1BXTTEgICAgICAgICAyDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hf TFBTU19QV01fREVWVkVORElEICAgICAgICAgICAgICAgICAgMHgwMCAgLy8gRGV2aWNlIElEICYN Cj4gVmVuZG9yIElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX0RFVlZFTkRJRF9ESUQgICAg ICAgICAgICAgIDB4RkZGRjAwMDAgLy8gRGV2aWNlDQo+IElEDQo+ICsjZGVmaW5lIEJfUENIX0xQ U1NfUFdNX0RFVlZFTkRJRF9WSUQgICAgICAgICAgICAgIDB4MDAwMEZGRkYgLy8gVmVuZG9yDQo+ IElEDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19QV01fU1RTQ01EICAgICAgICAgICAgICAg ICAgICAgMHgwNCAgLy8gU3RhdHVzICYgQ29tbWFuZA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BX TV9TVFNDTURfUk1BICAgICAgICAgICAgICAgICBCSVQyOSAvLyBSTUENCj4gKyNkZWZpbmUgQl9Q Q0hfTFBTU19QV01fU1RTQ01EX1JDQSAgICAgICAgICAgICAgICAgQklUMjggLy8gUkNBDQo+ICsj ZGVmaW5lIEJfUENIX0xQU1NfUFdNX1NUU0NNRF9DQVBMSVNUICAgICAgICAgICAgIEJJVDIwIC8v IENhcGFiaWxpdHkgTGlzdA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9TVFNDTURfSU5UUlNU UyAgICAgICAgICAgICBCSVQxOSAvLyBJbnRlcnJ1cHQNCj4gU3RhdHVzDQo+ICsjZGVmaW5lIEJf UENIX0xQU1NfUFdNX1NUU0NNRF9JTlRSRElTICAgICAgICAgICAgIEJJVDEwIC8vIEludGVycnVw dA0KPiBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX1NUU0NNRF9TRVJSRU4gICAg ICAgICAgICAgIEJJVDggIC8vIFNFUlIjIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BX TV9TVFNDTURfQk1FICAgICAgICAgICAgICAgICBCSVQyICAvLyBCdXMgTWFzdGVyDQo+IEVuYWJs ZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9TVFNDTURfTVNFICAgICAgICAgICAgICAgICBC SVQxICAvLyBNZW1vcnkgU3BhY2UNCj4gRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBT U19QV01fUkVWQ0MgICAgICAgICAgICAgICAgICAgICAgMHgwOCAgLy8gUmV2aXNpb24gSUQgJiBD bGFzcw0KPiBDb2RlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX1JFVkNDX0NDICAgICAgICAg ICAgICAgICAgIDB4RkZGRkZGMDAgLy8gQ2xhc3MgQ29kZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNT X1BXTV9SRVZDQ19SSUQgICAgICAgICAgICAgICAgICAweDAwMDAwMEZGIC8vIFJldmlzaW9uIElE DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19QV01fQ0xIQiAgICAgICAgICAgICAgICAgICAg ICAgMHgwQw0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9DTEhCX01VTEZOREVWICAgICAgICAg ICAgICBCSVQyMw0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9DTEhCX0hUICAgICAgICAgICAg ICAgICAgICAweDAwN0YwMDAwIC8vIEhlYWRlciBUeXBlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1Nf UFdNX0NMSEJfTFQgICAgICAgICAgICAgICAgICAgIDB4MDAwMEZGMDAgLy8gTGF0ZW5jeQ0KPiBU aW1lcg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9DTEhCX0NMUyAgICAgICAgICAgICAgICAg ICAweDAwMDAwMEZGIC8vIENhY2hlIExpbmUNCj4gU2l6ZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENI X0xQU1NfUFdNX0JBUiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAgIC8vIEJBUg0KPiArI2Rl ZmluZSBCX1BDSF9MUFNTX1BXTV9CQVJfQkEgICAgICAgICAgICAgICAgICAgICAweEZGRkZGMDAw IC8vIEJhc2UgQWRkcmVzcw0KPiArI2RlZmluZSBWX1BDSF9MUFNTX1BXTV9CQVJfU0laRSAgICAg ICAgICAgICAgICAgICAweDEwMDANCj4gKyNkZWZpbmUgTl9QQ0hfTFBTU19QV01fQkFSX0FMSUdO TUVOVCAgICAgICAgICAgICAgMTINCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19QV01fQkFSX1NJICAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMEZGMCAvLyBTaXplIEluZGljYXRvcg0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX1BXTV9CQVJfUEYgICAgICAgICAgICAgICAgICAgICBCSVQzICAvLyBQcmVm ZXRjaGFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19QV01fQkFSX1RZUEUgICAgICAgICAgICAg ICAgICAgKEJJVDIgfCBCSVQxKSAvLyBUeXBlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX0JB Ul9NUyAgICAgICAgICAgICAgICAgICAgIEJJVDAgIC8vIE1lc3NhZ2UgU3BhY2UNCj4gKw0KPiAr I2RlZmluZSBSX1BDSF9MUFNTX1BXTV9CQVIxICAgICAgICAgICAgICAgICAgICAgICAweDE0ICAv LyBCQVIgMQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9CQVIxX0JBICAgICAgICAgICAgICAg ICAgICAweEZGRkZGMDAwIC8vIEJhc2UNCj4gQWRkcmVzcw0KPiArI2RlZmluZSBCX1BDSF9MUFNT X1BXTV9CQVIxX1NJICAgICAgICAgICAgICAgICAgICAweDAwMDAwRkYwIC8vIFNpemUgSW5kaWNh dG9yDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX0JBUjFfUEYgICAgICAgICAgICAgICAgICAg IEJJVDMgIC8vIFByZWZldGNoYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9CQVIxX1RZ UEUgICAgICAgICAgICAgICAgICAoQklUMiB8IEJJVDEpIC8vIFR5cGUNCj4gKyNkZWZpbmUgQl9Q Q0hfTFBTU19QV01fQkFSMV9NUyAgICAgICAgICAgICAgICAgICAgQklUMCAgLy8gTWVzc2FnZSBT cGFjZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfUFdNX1NTSUQgICAgICAgICAgICAgICAg ICAgICAgIDB4MkMgIC8vIFN1YiBTeXN0ZW0gSUQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19QV01f U1NJRF9TSUQgICAgICAgICAgICAgICAgICAgMHhGRkZGMDAwMCAvLyBTdWIgU3lzdGVtDQo+IElE DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX1NTSURfU1ZJRCAgICAgICAgICAgICAgICAgIDB4 MDAwMEZGRkYgLy8gU3ViIFN5c3RlbQ0KPiBWZW5kb3IgSUQNCj4gKw0KPiArI2RlZmluZSBSX1BD SF9MUFNTX1BXTV9FUkJBUiAgICAgICAgICAgICAgICAgICAgICAweDMwICAvLyBFeHBhbnNpb24g Uk9NIEJBUg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9FUkJBUl9CQSAgICAgICAgICAgICAg ICAgICAweEZGRkZGRkZGIC8vIEV4cGFuc2lvbg0KPiBST00gQmFzZSBBZGRyZXNzDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfTFBTU19QV01fQ0FQUFRSICAgICAgICAgICAgICAgICAgICAgMHgzNCAg Ly8gQ2FwYWJpbGl0eSBQb2ludGVyDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX0NBUFBUUl9D UFBXUiAgICAgICAgICAgICAgIDB4RkYgIC8vIENhcGFiaWxpdHkNCj4gUG9pbnRlciBQb3dlcg0K PiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfUFdNX0lOVFIgICAgICAgICAgICAgICAgICAgICAg IDB4M0MgIC8vIEludGVycnVwdA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9JTlRSX01MICAg ICAgICAgICAgICAgICAgICAweEZGMDAwMDAwIC8vIE1heCBMYXRlbmN5DQo+ICsjZGVmaW5lIEJf UENIX0xQU1NfUFdNX0lOVFJfTUcgICAgICAgICAgICAgICAgICAgIDB4MDBGRjAwMDANCj4gKyNk ZWZpbmUgQl9QQ0hfTFBTU19QV01fSU5UUl9JUCAgICAgICAgICAgICAgICAgICAgMHgwMDAwMEYw MCAvLyBJbnRlcnJ1cHQgUGluDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX0lOVFJfSUwgICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwRkYgLy8gSW50ZXJydXB0IExpbmUNCj4gKw0KPiArI2Rl ZmluZSBSX1BDSF9MUFNTX1BXTV9QQ0FQSUQgICAgICAgICAgICAgICAgICAgICAweDgwICAvLyBQ b3dlciBDYXBhYmlsaXR5IElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX1BDQVBJRF9QUyAg ICAgICAgICAgICAgICAgIDB4RjgwMDAwMDAgLy8gUE1FDQo+IFN1cHBvcnQNCj4gKyNkZWZpbmUg Ql9QQ0hfTFBTU19QV01fUENBUElEX1ZTICAgICAgICAgICAgICAgICAgMHgwMDA3MDAwMCAvLyBW ZXJzaW9uDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX1BDQVBJRF9OQyAgICAgICAgICAgICAg ICAgIDB4MDAwMEZGMDAgLy8gTmV4dA0KPiBDYXBhYmlsaXR5DQo+ICsjZGVmaW5lIEJfUENIX0xQ U1NfUFdNX1BDQVBJRF9QQyAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRkYgLy8gUG93ZXINCj4g Q2FwYWJpbGl0eQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfUFdNX1BDUyAgICAgICAgICAg ICAgICAgICAgICAgIDB4ODQgIC8vIFBNRSBDb250cm9sIFN0YXR1cw0KPiArI2RlZmluZSBCX1BD SF9MUFNTX1BXTV9QQ1NfUE1FU1RTICAgICAgICAgICAgICAgICBCSVQxNSAvLyBQTUUgU3RhdHVz DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfUFdNX1BDU19QTUVFTiAgICAgICAgICAgICAgICAgIEJJ VDggIC8vIFBNRSBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19QV01fUENTX05TUyAgICAg ICAgICAgICAgICAgICAgQklUMyAgLy8gTm8gU29mdCBSZXNldA0KPiArI2RlZmluZSBCX1BDSF9M UFNTX1BXTV9QQ1NfUFMgICAgICAgICAgICAgICAgICAgICAoQklUMSB8IEJJVDApIC8vIFBvd2Vy IFN0YXRlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19QV01fTUFOSUQgICAgICAgICAgICAg ICAgICAgICAgMHhGOCAgLy8gTWFudWZhY3R1cmVyIElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1Nf UFdNX01BTklEX01BTklEICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYgLy8NCj4gTWFudWZhY3R1 cmVyIElEDQo+ICsNCj4gKy8vDQo+ICsvLyBMUFNTIFBXTSBNb2R1bGUNCj4gKy8vIE1lbW9yeSBT cGFjZSBSZWdpc3RlcnMNCj4gKy8vDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfUFdNX01FTV9SRVNF VFMgICAgICAgICAgICAgICAgIDB4ODA0IC8vIFNvZnR3YXJlIFJlc2V0DQo+ICsjZGVmaW5lIEJf UENIX0xQU1NfUFdNX01FTV9SRVNFVFNfRlVOQyAgICAgICAgICAgIEJJVDEgIC8vIEZ1bmN0aW9u DQo+IENsb2NrIERvbWFpbiBSZXNldA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1BXTV9NRU1fUkVT RVRTX0FQQiAgICAgICAgICAgICBCSVQwICAvLyBBUEIgRG9tYWluDQo+IFJlc2V0DQo+ICsNCj4g Ky8vDQo+ICsvLyBMUFNTIEhTVUFSVCBNb2R1bGVzDQo+ICsvLyBQQ0kgQ29uZmlnIFNwYWNlIFJl Z2lzdGVycw0KPiArLy8NCj4gKyNkZWZpbmUgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQU1NfSFNV QVJUICAgICAgICAgMzANCj4gKyNkZWZpbmUgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBTU19I U1VBUlQwICAgICAgMw0KPiArI2RlZmluZSBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9MUFNTX0hT VUFSVDEgICAgICA0DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19IU1VBUlRfREVWVkVORElE ICAgICAgICAgICAgICAgMHgwMCAgLy8gRGV2aWNlIElEICYNCj4gVmVuZG9yIElEDQo+ICsjZGVm aW5lIEJfUENIX0xQU1NfSFNVQVJUX0RFVlZFTkRJRF9ESUQgICAgICAgICAgIDB4RkZGRjAwMDAg Ly8gRGV2aWNlDQo+IElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX0RFVlZFTkRJRF9W SUQgICAgICAgICAgIDB4MDAwMEZGRkYgLy8NCj4gVmVuZG9yIElEDQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfTFBTU19IU1VBUlRfU1RTQ01EICAgICAgICAgICAgICAgICAgMHgwNCAgLy8gU3RhdHVz ICYNCj4gQ29tbWFuZA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9TVFNDTURfUk1BICAg ICAgICAgICAgICBCSVQyOSAvLyBSTUENCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRfU1RT Q01EX1JDQSAgICAgICAgICAgICAgQklUMjggLy8gUkNBDQo+ICsjZGVmaW5lIEJfUENIX0xQU1Nf SFNVQVJUX1NUU0NNRF9DQVBMSVNUICAgICAgICAgIEJJVDIwIC8vIENhcGFiaWxpdHkNCj4gTGlz dA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9TVFNDTURfSU5UUlNUUyAgICAgICAgICBC SVQxOSAvLyBJbnRlcnJ1cHQNCj4gU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJU X1NUU0NNRF9JTlRSRElTICAgICAgICAgIEJJVDEwIC8vIEludGVycnVwdA0KPiBEaXNhYmxlDQo+ ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX1NUU0NNRF9TRVJSRU4gICAgICAgICAgIEJJVDgg IC8vIFNFUlIjIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9TVFNDTURfQk1F ICAgICAgICAgICAgICBCSVQyICAvLyBCdXMgTWFzdGVyDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBC X1BDSF9MUFNTX0hTVUFSVF9TVFNDTURfTVNFICAgICAgICAgICAgICBCSVQxICAvLyBNZW1vcnkg U3BhY2UNCj4gRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19IU1VBUlRfUkVWQ0Mg ICAgICAgICAgICAgICAgICAgMHgwOCAgLy8gUmV2aXNpb24gSUQgJiBDbGFzcw0KPiBDb2RlDQo+ ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX1JFVkNDX0NDICAgICAgICAgICAgICAgIDB4RkZG RkZGMDAgLy8gQ2xhc3MgQ29kZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9SRVZDQ19S SUQgICAgICAgICAgICAgICAweDAwMDAwMEZGIC8vIFJldmlzaW9uDQo+IElEDQo+ICsNCj4gKyNk ZWZpbmUgUl9QQ0hfTFBTU19IU1VBUlRfQ0xIQiAgICAgICAgICAgICAgICAgICAgMHgwQw0KPiAr I2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9DTEhCX01VTEZOREVWICAgICAgICAgICBCSVQyMw0K PiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9DTEhCX0hUICAgICAgICAgICAgICAgICAweDAw N0YwMDAwIC8vIEhlYWRlcg0KPiBUeXBlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX0NM SEJfTFQgICAgICAgICAgICAgICAgIDB4MDAwMEZGMDAgLy8gTGF0ZW5jeQ0KPiBUaW1lcg0KPiAr I2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9DTEhCX0NMUyAgICAgICAgICAgICAgICAweDAwMDAw MEZGIC8vIENhY2hlIExpbmUNCj4gU2l6ZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfSFNV QVJUX0JBUiAgICAgICAgICAgICAgICAgICAgIDB4MTAgIC8vIEJBUg0KPiArI2RlZmluZSBCX1BD SF9MUFNTX0hTVUFSVF9CQVJfQkEgICAgICAgICAgICAgICAgICAweEZGRkZGMDAwIC8vIEJhc2UN Cj4gQWRkcmVzcw0KPiArI2RlZmluZSBWX1BDSF9MUFNTX0hTVUFSVF9CQVJfU0laRSAgICAgICAg ICAgICAgICAweDEwMDANCj4gKyNkZWZpbmUgTl9QQ0hfTFBTU19IU1VBUlRfQkFSX0FMSUdOTUVO VCAgICAgICAgICAgMTINCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRfQkFSX1NJICAgICAg ICAgICAgICAgICAgMHgwMDAwMEZGMCAvLyBTaXplIEluZGljYXRvcg0KPiArI2RlZmluZSBCX1BD SF9MUFNTX0hTVUFSVF9CQVJfUEYgICAgICAgICAgICAgICAgICBCSVQzICAvLyBQcmVmZXRjaGFi bGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRfQkFSX1RZUEUgICAgICAgICAgICAgICAg KEJJVDIgfCBCSVQxKSAvLyBUeXBlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX0JBUl9N UyAgICAgICAgICAgICAgICAgIEJJVDAgIC8vIE1lc3NhZ2UgU3BhY2UNCj4gKw0KPiArI2RlZmlu ZSBSX1BDSF9MUFNTX0hTVUFSVF9CQVIxICAgICAgICAgICAgICAgICAgICAweDE0ICAvLyBCQVIg MQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9CQVIxX0JBICAgICAgICAgICAgICAgICAw eEZGRkZGMDAwIC8vIEJhc2UNCj4gQWRkcmVzcw0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFS VF9CQVIxX1NJICAgICAgICAgICAgICAgICAweDAwMDAwRkYwIC8vIFNpemUNCj4gSW5kaWNhdG9y DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX0JBUjFfUEYgICAgICAgICAgICAgICAgIEJJ VDMgIC8vIFByZWZldGNoYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9CQVIxX1RZ UEUgICAgICAgICAgICAgICAoQklUMiB8IEJJVDEpIC8vIFR5cGUNCj4gKyNkZWZpbmUgQl9QQ0hf TFBTU19IU1VBUlRfQkFSMV9NUyAgICAgICAgICAgICAgICAgQklUMCAgLy8gTWVzc2FnZSBTcGFj ZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfSFNVQVJUX1NTSUQgICAgICAgICAgICAgICAg ICAgIDB4MkMgIC8vIFN1YiBTeXN0ZW0gSUQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRf U1NJRF9TSUQgICAgICAgICAgICAgICAgMHhGRkZGMDAwMCAvLyBTdWIgU3lzdGVtDQo+IElEDQo+ ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX1NTSURfU1ZJRCAgICAgICAgICAgICAgIDB4MDAw MEZGRkYgLy8gU3ViIFN5c3RlbQ0KPiBWZW5kb3IgSUQNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9M UFNTX0hTVUFSVF9FUkJBUiAgICAgICAgICAgICAgICAgICAweDMwICAvLyBFeHBhbnNpb24gUk9N DQo+IEJBUg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9FUkJBUl9CQSAgICAgICAgICAg ICAgICAweEZGRkZGRkZGIC8vIEV4cGFuc2lvbg0KPiBST00gQmFzZSBBZGRyZXNzDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfTFBTU19IU1VBUlRfQ0FQUFRSICAgICAgICAgICAgICAgICAgMHgzNCAg Ly8gQ2FwYWJpbGl0eSBQb2ludGVyDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX0NBUFBU Ul9DUFBXUiAgICAgICAgICAgIDB4RkYgIC8vIENhcGFiaWxpdHkNCj4gUG9pbnRlciBQb3dlcg0K PiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfSFNVQVJUX0lOVFIgICAgICAgICAgICAgICAgICAg IDB4M0MgIC8vIEludGVycnVwdA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9JTlRSX01M ICAgICAgICAgICAgICAgICAweEZGMDAwMDAwIC8vIE1heA0KPiBMYXRlbmN5DQo+ICsjZGVmaW5l IEJfUENIX0xQU1NfSFNVQVJUX0lOVFJfTUcgICAgICAgICAgICAgICAgIDB4MDBGRjAwMDANCj4g KyNkZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRfSU5UUl9JUCAgICAgICAgICAgICAgICAgMHgwMDAw MEYwMCAvLyBJbnRlcnJ1cHQgUGluDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX0lOVFJf SUwgICAgICAgICAgICAgICAgIDB4MDAwMDAwRkYgLy8gSW50ZXJydXB0DQo+IExpbmUNCj4gKw0K PiArI2RlZmluZSBSX1BDSF9MUFNTX0hTVUFSVF9QQ0FQSUQgICAgICAgICAgICAgICAgICAweDgw ICAvLyBQb3dlciBDYXBhYmlsaXR5IElEDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX1BD QVBJRF9QUyAgICAgICAgICAgICAgIDB4RjgwMDAwMDAgLy8gUE1FDQo+IFN1cHBvcnQNCj4gKyNk ZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRfUENBUElEX1ZTICAgICAgICAgICAgICAgMHgwMDA3MDAw MCAvLyBWZXJzaW9uDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX1BDQVBJRF9OQyAgICAg ICAgICAgICAgIDB4MDAwMEZGMDAgLy8gTmV4dA0KPiBDYXBhYmlsaXR5DQo+ICsjZGVmaW5lIEJf UENIX0xQU1NfSFNVQVJUX1BDQVBJRF9QQyAgICAgICAgICAgICAgIDB4MDAwMDAwRkYgLy8gUG93 ZXINCj4gQ2FwYWJpbGl0eQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfSFNVQVJUX1BDUyAg ICAgICAgICAgICAgICAgICAgIDB4ODQgIC8vIFBNRSBDb250cm9sIFN0YXR1cw0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX0hTVUFSVF9QQ1NfUE1FU1RTICAgICAgICAgICAgICBCSVQxNSAvLyBQTUUg U3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJUX1BDU19QTUVFTiAgICAgICAgICAg ICAgIEJJVDggIC8vIFBNRSBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRfUENT X05TUyAgICAgICAgICAgICAgICAgQklUMyAgLy8gTm8gU29mdCBSZXNldA0KPiArI2RlZmluZSBC X1BDSF9MUFNTX0hTVUFSVF9QQ1NfUFMgICAgICAgICAgICAgICAgICAoQklUMSB8IEJJVDApIC8v IFBvd2VyIFN0YXRlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19IU1VBUlRfTUFOSUQgICAg ICAgICAgICAgICAgICAgMHhGOCAgLy8gTWFudWZhY3R1cmVyIElEDQo+ICsjZGVmaW5lIEJfUENI X0xQU1NfSFNVQVJUX01BTklEX01BTklEICAgICAgICAgICAgIDB4RkZGRkZGRkYgLy8NCj4gTWFu dWZhY3R1cmVyIElEDQo+ICsNCj4gKy8vDQo+ICsvLyBMUFNTIEhTVUFSVCBNb2R1bGUNCj4gKy8v IE1lbW9yeSBTcGFjZSBSZWdpc3RlcnMNCj4gKy8vDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfSFNV QVJUX01FTV9QQ1AgICAgICAgICAgICAgICAgIDB4ODAwIC8vIFByaXZhdGUgQ2xvY2sNCj4gUGFy YW1ldGVycw0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0hTVUFSVF9NRU1fUENQX0NMS1VQREFURSAg ICAgICBCSVQzMSAvLyBDbG9jaw0KPiBEaXZpZGVyIFVwZGF0ZQ0KPiArI2RlZmluZSBCX1BDSF9M UFNTX0hTVUFSVF9NRU1fUENQX05WQUwgICAgICAgICAgICAweDdGRkYwMDAwIC8vIE4NCj4gdmFs dWUgZm9yIHRoZSBNIG92ZXIgTiBkaXZpZGVyDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSFNVQVJU X01FTV9QQ1BfTVZBTCAgICAgICAgICAgIDB4MDAwMEZGRkUgLy8gTQ0KPiB2YWx1ZSBmb3IgdGhl IE0gb3ZlciBOIGRpdmlkZXINCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRfTUVNX1BDUF9D TEtFTiAgICAgICAgICAgQklUMCAgLy8gQ2xvY2sgRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9Q Q0hfTFBTU19IU1VBUlRfTUVNX1JFU0VUUyAgICAgICAgICAgICAgMHg4MDQgLy8gU29mdHdhcmUN Cj4gUmVzZXQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19IU1VBUlRfTUVNX1JFU0VUU19GVU5DICAg ICAgICAgQklUMSAgLy8gRnVuY3Rpb24NCj4gQ2xvY2sgRG9tYWluIFJlc2V0DQo+ICsjZGVmaW5l IEJfUENIX0xQU1NfSFNVQVJUX01FTV9SRVNFVFNfQVBCICAgICAgICAgIEJJVDAgIC8vIEFQQg0K PiBEb21haW4gUmVzZXQNCj4gKw0KPiArLy8NCj4gKy8vIExQU1MgU1BJIE1vZHVsZQ0KPiArLy8g UENJIENvbmZpZyBTcGFjZSBSZWdpc3RlcnMNCj4gKy8vDQo+ICsjZGVmaW5lIFBDSV9ERVZJQ0Vf TlVNQkVSX1BDSF9MUFNTX1NQSSAgICAgICAgICAgIDMwDQo+ICsjZGVmaW5lIFBDSV9GVU5DVElP Tl9OVU1CRVJfUENIX0xQU1NfU1BJICAgICAgICAgIDUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9M UFNTX1NQSV9ERVZWRU5ESUQgICAgICAgICAgICAgICAgICAweDAwICAvLyBEZXZpY2UgSUQgJiBW ZW5kb3INCj4gSUQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfREVWVkVORElEX0RJRCAgICAg ICAgICAgICAgMHhGRkZGMDAwMCAvLyBEZXZpY2UgSUQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19T UElfREVWVkVORElEX1ZJRCAgICAgICAgICAgICAgMHgwMDAwRkZGRiAvLyBWZW5kb3IgSUQNCj4g Kw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX1NQSV9TVFNDTUQgICAgICAgICAgICAgICAgICAgICAw eDA0ICAvLyBTdGF0dXMgJiBDb21tYW5kDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX1NUU0NN RF9STUEgICAgICAgICAgICAgICAgIEJJVDI5IC8vIFJNQQ0KPiArI2RlZmluZSBCX1BDSF9MUFNT X1NQSV9TVFNDTURfUkNBICAgICAgICAgICAgICAgICBCSVQyOCAvLyBSQ0ENCj4gKyNkZWZpbmUg Ql9QQ0hfTFBTU19TUElfU1RTQ01EX0NBUExJU1QgICAgICAgICAgICAgQklUMjAgLy8gQ2FwYWJp bGl0eSBMaXN0DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX1NUU0NNRF9JTlRSU1RTICAgICAg ICAgICAgIEJJVDE5IC8vIEludGVycnVwdCBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19T UElfU1RTQ01EX0lOVFJESVMgICAgICAgICAgICAgQklUMTAgLy8gSW50ZXJydXB0DQo+IERpc2Fi bGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfU1RTQ01EX1NFUlJFTiAgICAgICAgICAgICAg QklUOCAgLy8gU0VSUiMgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX1NUU0NNRF9C TUUgICAgICAgICAgICAgICAgIEJJVDIgIC8vIEJ1cyBNYXN0ZXIgRW5hYmxlDQo+ICsjZGVmaW5l IEJfUENIX0xQU1NfU1BJX1NUU0NNRF9NU0UgICAgICAgICAgICAgICAgIEJJVDEgIC8vIE1lbW9y eSBTcGFjZQ0KPiBFbmFibGUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX1NQSV9SRVZDQyAg ICAgICAgICAgICAgICAgICAgICAweDA4ICAvLyBSZXZpc2lvbiBJRCAmIENsYXNzDQo+IENvZGUN Cj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfUkVWQ0NfQ0MgICAgICAgICAgICAgICAgICAgMHhG RkZGRkYwMCAvLyBDbGFzcyBDb2RlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX1JFVkNDX1JJ RCAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRkYgLy8gUmV2aXNpb24gSUQNCj4gKw0KPiArI2Rl ZmluZSBSX1BDSF9MUFNTX1NQSV9DTEhCICAgICAgICAgICAgICAgICAgICAgICAweDBDDQo+ICsj ZGVmaW5lIEJfUENIX0xQU1NfU1BJX0NMSEJfTVVMRk5ERVYgICAgICAgICAgICAgIEJJVDIzDQo+ ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX0NMSEJfSFQgICAgICAgICAgICAgICAgICAgIDB4MDA3 RjAwMDAgLy8gSGVhZGVyIFR5cGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfQ0xIQl9MVCAg ICAgICAgICAgICAgICAgICAgMHgwMDAwRkYwMCAvLyBMYXRlbmN5IFRpbWVyDQo+ICsjZGVmaW5l IEJfUENIX0xQU1NfU1BJX0NMSEJfQ0xTICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRkYgLy8g Q2FjaGUgTGluZSBTaXplDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19TUElfQkFSICAgICAg ICAgICAgICAgICAgICAgICAgMHgxMCAgLy8gQkFSDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJ X0JBUl9CQSAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkYwMDAgLy8gQmFzZSBBZGRyZXNzDQo+ ICsjZGVmaW5lIFZfUENIX0xQU1NfU1BJX0JBUl9TSVpFICAgICAgICAgICAgICAgICAgIDB4MTAw MA0KPiArI2RlZmluZSBOX1BDSF9MUFNTX1NQSV9CQVJfQUxJR05NRU5UICAgICAgICAgICAgICAx Mg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1NQSV9CQVJfU0kgICAgICAgICAgICAgICAgICAgICAw eDAwMDAwRkYwIC8vIFNpemUgSW5kaWNhdG9yDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX0JB Ul9QRiAgICAgICAgICAgICAgICAgICAgIEJJVDMgIC8vIFByZWZldGNoYWJsZQ0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX1NQSV9CQVJfVFlQRSAgICAgICAgICAgICAgICAgICAoQklUMiB8IEJJVDEp IC8vIFR5cGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfQkFSX01TICAgICAgICAgICAgICAg ICAgICAgQklUMCAgLy8gTWVzc2FnZSBTcGFjZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1Nf U1BJX0JBUjEgICAgICAgICAgICAgICAgICAgICAgIDB4MTQgIC8vIEJBUiAxDQo+ICsjZGVmaW5l IEJfUENIX0xQU1NfU1BJX0JBUjFfQkEgICAgICAgICAgICAgICAgICAgIDB4RkZGRkYwMDAgLy8g QmFzZSBBZGRyZXNzDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX0JBUjFfU0kgICAgICAgICAg ICAgICAgICAgIDB4MDAwMDBGRjAgLy8gU2l6ZSBJbmRpY2F0b3INCj4gKyNkZWZpbmUgQl9QQ0hf TFBTU19TUElfQkFSMV9QRiAgICAgICAgICAgICAgICAgICAgQklUMyAgLy8gUHJlZmV0Y2hhYmxl DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX0JBUjFfVFlQRSAgICAgICAgICAgICAgICAgIChC SVQyIHwgQklUMSkgLy8gVHlwZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1NQSV9CQVIxX01TICAg ICAgICAgICAgICAgICAgICBCSVQwICAvLyBNZXNzYWdlIFNwYWNlDQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfTFBTU19TUElfU1NJRCAgICAgICAgICAgICAgICAgICAgICAgMHgyQyAgLy8gU3ViIFN5 c3RlbSBJRA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1NQSV9TU0lEX1NJRCAgICAgICAgICAgICAg ICAgICAweEZGRkYwMDAwIC8vIFN1YiBTeXN0ZW0gSUQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19T UElfU1NJRF9TVklEICAgICAgICAgICAgICAgICAgMHgwMDAwRkZGRiAvLyBTdWIgU3lzdGVtDQo+ IFZlbmRvciBJRA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfU1BJX0VSQkFSICAgICAgICAg ICAgICAgICAgICAgIDB4MzAgIC8vIEV4cGFuc2lvbiBST00gQkFSDQo+ICsjZGVmaW5lIEJfUENI X0xQU1NfU1BJX0VSQkFSX0JBICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYgLy8gRXhwYW5z aW9uDQo+IFJPTSBCYXNlIEFkZHJlc3MNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX1NQSV9D QVBQVFIgICAgICAgICAgICAgICAgICAgICAweDM0ICAvLyBDYXBhYmlsaXR5IFBvaW50ZXINCj4g KyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfQ0FQUFRSX0NQUFdSICAgICAgICAgICAgICAgMHhGRiAg Ly8gQ2FwYWJpbGl0eQ0KPiBQb2ludGVyIFBvd2VyDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBT U19TUElfSU5UUiAgICAgICAgICAgICAgICAgICAgICAgMHgzQyAgLy8gSW50ZXJydXB0DQo+ICsj ZGVmaW5lIEJfUENIX0xQU1NfU1BJX0lOVFJfTUwgICAgICAgICAgICAgICAgICAgIDB4RkYwMDAw MDAgLy8gTWF4IExhdGVuY3kNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfSU5UUl9NRyAgICAg ICAgICAgICAgICAgICAgMHgwMEZGMDAwMA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1NQSV9JTlRS X0lQICAgICAgICAgICAgICAgICAgICAweDAwMDAwRjAwIC8vIEludGVycnVwdCBQaW4NCj4gKyNk ZWZpbmUgQl9QQ0hfTFBTU19TUElfSU5UUl9JTCAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBG RiAvLyBJbnRlcnJ1cHQgTGluZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQU1NfU1BJX1BDQVBJ RCAgICAgICAgICAgICAgICAgICAgIDB4ODAgIC8vIFBvd2VyIENhcGFiaWxpdHkgSUQNCj4gKyNk ZWZpbmUgQl9QQ0hfTFBTU19TUElfUENBUElEX1BTICAgICAgICAgICAgICAgICAgMHhGODAwMDAw MCAvLyBQTUUgU3VwcG9ydA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1NQSV9QQ0FQSURfVlMgICAg ICAgICAgICAgICAgICAweDAwMDcwMDAwIC8vIFZlcnNpb24NCj4gKyNkZWZpbmUgQl9QQ0hfTFBT U19TUElfUENBUElEX05DICAgICAgICAgICAgICAgICAgMHgwMDAwRkYwMCAvLyBOZXh0DQo+IENh cGFiaWxpdHkNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfUENBUElEX1BDICAgICAgICAgICAg ICAgICAgMHgwMDAwMDBGRiAvLyBQb3dlcg0KPiBDYXBhYmlsaXR5DQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfTFBTU19TUElfUENTICAgICAgICAgICAgICAgICAgICAgICAgMHg4NCAgLy8gUE1FIENv bnRyb2wgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX1BDU19QTUVTVFMgICAgICAg ICAgICAgICAgIEJJVDE1IC8vIFBNRSBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElf UENTX1BNRUVOICAgICAgICAgICAgICAgICAgQklUOCAgLy8gUE1FIEVuYWJsZQ0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX1NQSV9QQ1NfTlNTICAgICAgICAgICAgICAgICAgICBCSVQzICAvLyBObyBT b2Z0IFJlc2V0DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX1BDU19QUyAgICAgICAgICAgICAg ICAgICAgIChCSVQxIHwgQklUMCkgLy8gUG93ZXIgU3RhdGUNCj4gKw0KPiArI2RlZmluZSBSX1BD SF9MUFNTX1NQSV9NQU5JRCAgICAgICAgICAgICAgICAgICAgICAweEY4ICAvLyBNYW51ZmFjdHVy ZXIgSUQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfTUFOSURfTUFOSUQgICAgICAgICAgICAg ICAgMHhGRkZGRkZGRiAvLw0KPiBNYW51ZmFjdHVyZXIgSUQNCj4gKw0KPiArLy8NCj4gKy8vIExQ U1MgU1BJIE1vZHVsZQ0KPiArLy8gTWVtb3J5IFNwYWNlIFJlZ2lzdGVycw0KPiArLy8NCj4gKyNk ZWZpbmUgUl9QQ0hfTFBTU19TUElfTUVNX1BDUCAgICAgICAgICAgICAgICAgICAgMHg0MDAgLy8g UHJpdmF0ZSBDbG9jaw0KPiBQYXJhbWV0ZXJzDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX01F TV9QQ1BfQ0xLVVBEQVRFICAgICAgICAgIEJJVDMxIC8vIENsb2NrDQo+IERpdmlkZXIgVXBkYXRl DQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfU1BJX01FTV9QQ1BfTlZBTCAgICAgICAgICAgICAgIDB4 N0ZGRjAwMDAgLy8gTiB2YWx1ZQ0KPiBmb3IgdGhlIE0gb3ZlciBOIGRpdmlkZXINCj4gKyNkZWZp bmUgQl9QQ0hfTFBTU19TUElfTUVNX1BDUF9NVkFMICAgICAgICAgICAgICAgMHgwMDAwRkZGRSAv LyBNIHZhbHVlDQo+IGZvciB0aGUgTSBvdmVyIE4gZGl2aWRlcg0KPiArI2RlZmluZSBCX1BDSF9M UFNTX1NQSV9NRU1fUENQX0NMS0VOICAgICAgICAgICAgICBCSVQwICAvLyBDbG9jayBFbmFibGUN Cj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUFNTX1NQSV9NRU1fUkVTRVRTICAgICAgICAgICAgICAg ICAweDQwNCAvLyBTb2Z0d2FyZSBSZXNldA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX1NQSV9NRU1f UkVTRVRTX0ZVTkMgICAgICAgICAgICBCSVQxICAvLyBGdW5jdGlvbiBDbG9jaw0KPiBEb21haW4g UmVzZXQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19TUElfTUVNX1JFU0VUU19BUEIgICAgICAgICAg ICAgQklUMCAgLy8gQVBCIERvbWFpbg0KPiBSZXNldA0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAt LWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJT b2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaFJlZ3MvUGNoUmVnc1BjaWUuaA0KPiBiL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVz dGVyL0luY2x1ZA0KPiBlL1BjaFJlZ3MvUGNoUmVnc1BjaWUuaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44YjFhZTQwM2M5DQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUGNoUmVncy9QY2hSZWdzUGNpZS5oDQo+IEBAIC0w LDAgKzEsODMgQEANCj4gKy8qKg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTIgIC0gMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiAr ICBAZmlsZQ0KPiArICBQY2hSZWdzUGNpZS5oDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFJlZ2lz dGVyIG5hbWVzIGZvciBWTFYgUENJLUUgcm9vdCBwb3J0IGRldmljZXMNCj4gKw0KPiArICBDb252 ZW50aW9uczoNCj4gKw0KPiArICAtIFByZWZpeGVzOg0KPiArICAgIERlZmluaXRpb25zIGJlZ2lu bmluZyB3aXRoICJSXyIgYXJlIHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmlu ZyB3aXRoICJCXyIgYXJlIGJpdHMgd2l0aGluIHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRpb25z IGJlZ2lubmluZyB3aXRoICJWXyIgYXJlIG1lYW5pbmdmdWwgdmFsdWVzIG9mIGJpdHMgd2l0aGlu IHRoZQ0KPiByZWdpc3RlcnMNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiU18i IGFyZSByZWdpc3RlciBzaXplcw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJO XyIgYXJlIHRoZSBiaXQgcG9zaXRpb24NCj4gKyAgLSBJbiBnZW5lcmFsLCBQQ0ggcmVnaXN0ZXJz IGFyZSBkZW5vdGVkIGJ5ICJfUENIXyIgaW4gcmVnaXN0ZXIgbmFtZXMNCj4gKyAgLSBSZWdpc3Rl cnMgLyBiaXRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFBDSCBnZW5lcmF0aW9ucyBhcmUg ZGVub3RlZA0KPiBieQ0KPiArICAgICJfUENIXzxnZW5lcmF0aW9uX25hbWU+XyIgaW4gcmVnaXN0 ZXIvYml0IG5hbWVzLiBlLmcuLCAiX1BDSF9WTFZfIg0KPiArICAtIFJlZ2lzdGVycyAvIGJpdHMg dGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4gU0tVcyBhcmUgZGVub3RlZCBieQ0KPiAiXzxTS1Vf bmFtZT4iDQo+ICsgICAgYXQgdGhlIGVuZCBvZiB0aGUgcmVnaXN0ZXIvYml0IG5hbWVzDQo+ICsg IC0gUmVnaXN0ZXJzIC8gYml0cyBvZiBuZXcgZGV2aWNlcyBpbnRyb2R1Y2VkIGluIGEgUENIIGdl bmVyYXRpb24gd2lsbCBiZSBqdXN0DQo+IG5hbWVkDQo+ICsgICAgYXMgIl9QQ0hfIiB3aXRob3V0 IDxnZW5lcmF0aW9uX25hbWU+IGluc2VydGVkLg0KPiArDQo+ICstLSovDQo+ICsjaWZuZGVmIF9Q Q0hfUkVHU19QQ0lFX0hfDQo+ICsjZGVmaW5lIF9QQ0hfUkVHU19QQ0lFX0hfDQo+ICsNCj4gKyNk ZWZpbmUgUENIX1BDSUVfTUFYX1JPT1RfUE9SVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAg NA0KPiArDQo+ICsvLy8NCj4gKy8vLyBWTFYgUENJIEV4cHJlc3MgUm9vdCBQb3J0cyAoRDI4OkYw fkYzKQ0KPiArLy8vDQo+ICsjZGVmaW5lIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9QQ0lFX1JPT1Rf UE9SVFMgICAgICAgICAgICAgIDI4DQo+ICsjZGVmaW5lIFBDSV9GVU5DVElPTl9OVU1CRVJfUENI X1BDSUVfUk9PVF9QT1JUXzEgICAgICAgICAgIDANCj4gKyNkZWZpbmUgUENJX0ZVTkNUSU9OX05V TUJFUl9QQ0hfUENJRV9ST09UX1BPUlRfMiAgICAgICAgICAgMQ0KPiArI2RlZmluZSBQQ0lfRlVO Q1RJT05fTlVNQkVSX1BDSF9QQ0lFX1JPT1RfUE9SVF8zICAgICAgICAgICAyDQo+ICsjZGVmaW5l IFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1BDSUVfUk9PVF9QT1JUXzQgICAgICAgICAgIDMNCj4g Kw0KPiArI2RlZmluZSBSX1BDSF9QQ0lFX0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwICAvLyBJZGVudGlmaWVycw0KPiArI2RlZmluZSBCX1BDSF9QQ0lFX0lEX0RJ RCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYwMDAwIC8vIERldmljZSBJ RA0KPiArI2RlZmluZSBWX1BDSF9QQ0lFX0RFVklDRV9JRF8wICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDBGNDggIC8vIFBDSUUgUm9vdCBQb3J0DQo+ICMxDQo+ICsjZGVmaW5lIFZfUENI X1BDSUVfREVWSUNFX0lEXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEY0QSAgLy8g UENJRSBSb290IFBvcnQNCj4gIzINCj4gKyNkZWZpbmUgVl9QQ0hfUENJRV9ERVZJQ0VfSURfMiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRjRDICAvLyBQQ0lFIFJvb3QgUG9ydA0KPiAj Mw0KPiArI2RlZmluZSBWX1BDSF9QQ0lFX0RFVklDRV9JRF8zICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDBGNEUgIC8vIFBDSUUgUm9vdCBQb3J0DQo+ICM0DQo+ICsjZGVmaW5lIEJfUENI X1BDSUVfSURfVklEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMEZGRkYg Ly8gVmVuZG9yIElEDQo+ICsjZGVmaW5lIFZfUENIX1BDSUVfVkVORE9SX0lEDQo+IFZfUENIX0lO VEVMX1ZFTkRPUl9JRA0KPiArDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUENJRV9CTlVNX1NMVCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxOCAgLy8gQnVzIE51bWJlcnM7DQo+IFNl Y29uZGFyeSBMYXRlbmN5IFRpbWVyDQo+ICsjZGVmaW5lIEJfUENIX1BDSUVfQk5VTV9TTFRfU0xU ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYwMDAwMDAgLy8NCj4gU2Vjb25kYXJ5IExh dGVuY3kgVGltZXINCj4gKyNkZWZpbmUgQl9QQ0hfUENJRV9CTlVNX1NMVF9TQkJOICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMEZGMDAwMCAvLw0KPiBTdWJvcmRpbmF0ZSBCdXMgTnVtYmVy DQo+ICsjZGVmaW5lIEJfUENIX1BDSUVfQk5VTV9TTFRfU0NCTiAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAwMEZGMDAgLy8NCj4gU2Vjb25kYXJ5IEJ1cyBOdW1iZXINCj4gKyNkZWZpbmUg Ql9QQ0hfUENJRV9CTlVNX1NMVF9QQk4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDBGRiAvLyBQcmltYXJ5DQo+IEJ1cyBOdW1iZXINCj4gKyNkZWZpbmUgUl9QQ0hfUENJRV9DQVBQ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzNCAgLy8gQ2FwYWJpbGl0aWVz IExpc3QNCj4gUG9pbnRlcg0KPiArI2RlZmluZSBCX1BDSF9QQ0lFX0NBUFAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEZGICAvLyBDYXBhYmlsaXRpZXMgUG9pbnRlcg0KPiAr DQo+ICsjZGVmaW5lIFJfUENIX1BDSUVfU0xDVExfU0xTVFMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4NTggIC8vIFNsb3QgQ29udHJvbDsgU2xvdA0KPiBTdGF0dXMNCj4gKyNkZWZpbmUg U19QQ0hfUENJRV9TTENUTF9TTFNUUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNA0KPiAr I2RlZmluZSBCX1BDSF9QQ0lFX1NMQ1RMX1NMU1RTX0RMTFNDICAgICAgICAgICAgICAgICAgICAg ICBCSVQyNCAvLyBEYXRhIExpbmsNCj4gTGF5ZXIgU3RhdGUgQ2hhbmdlZA0KPiArI2RlZmluZSBC X1BDSF9QQ0lFX1NMQ1RMX1NMU1RTX1BEUyAgICAgICAgICAgICAgICAgICAgICAgICBCSVQyMiAv LyBQcmVzZW5jZQ0KPiBEZXRlY3QgU3RhdGUNCj4gKyNkZWZpbmUgQl9QQ0hfUENJRV9TTENUTF9T TFNUU19NUyAgICAgICAgICAgICAgICAgICAgICAgICAgQklUMjEgLy8gTVJMIFNlbnNvcg0KPiBT dGF0ZQ0KPiArI2RlZmluZSBCX1BDSF9QQ0lFX1NMQ1RMX1NMU1RTX1BEQyAgICAgICAgICAgICAg ICAgICAgICAgICBCSVQxOSAvLyBQcmVzZW5jZQ0KPiBEZXRlY3QgQ2hhbmdlZA0KPiArI2RlZmlu ZSBCX1BDSF9QQ0lFX1NMQ1RMX1NMU1RTX01TQyAgICAgICAgICAgICAgICAgICAgICAgICBCSVQx OCAvLyBNUkwgU2Vuc29yDQo+IENoYW5nZWQNCj4gKyNkZWZpbmUgQl9QQ0hfUENJRV9TTENUTF9T TFNUU19QRkQgICAgICAgICAgICAgICAgICAgICAgICAgQklUMTcgLy8gUG93ZXIgRmF1bHQNCj4g RGV0ZWN0ZWQNCj4gKyNkZWZpbmUgQl9QQ0hfUENJRV9TTENUTF9TTFNUU19ETExTQ0UgICAgICAg ICAgICAgICAgICAgICAgQklUMTIgLy8gRGF0YSBMaW5rDQo+IExheWVyIFN0YXRlIENoYW5nZWQg RW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BDSUVfU0xDVExfU0xTVFNfUENDICAgICAgICAgICAg ICAgICAgICAgICAgIEJJVDEwIC8vIFBvd2VyDQo+IENvbnRyb2xsZXIgQ29udHJvbA0KPiArI2Rl ZmluZSBCX1BDSF9QQ0lFX1NMQ1RMX1NMU1RTX0hQRSAgICAgICAgICAgICAgICAgICAgICAgICBC SVQ1ICAvLyBIb3QgUGx1Zw0KPiBJbnRlcnJ1cHQgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BD SUVfU0xDVExfU0xTVFNfQ0NFICAgICAgICAgICAgICAgICAgICAgICAgIEJJVDQgIC8vIENvbW1h bmQNCj4gQ29tcGxldGVkIEludGVycnVwdCBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUENJRV9T TENUTF9TTFNUU19QREUgICAgICAgICAgICAgICAgICAgICAgICAgQklUMyAgLy8gUHJlc2VuY2UN Cj4gRGV0ZWN0IENoYW5nZWQgRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUENJRV9TVklE ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg5NCAgLy8gU3Vic3lzdGVtIFZl bmRvciBJRHMNCj4gKyNkZWZpbmUgU19QQ0hfUENJRV9TVklEICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgNA0KPiArI2RlZmluZSBCX1BDSF9QQ0lFX1NWSURfU0lEICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYwMDAwIC8vIFN1YnN5c3RlbQ0KPiBJZGVudGlm aWVyDQo+ICsjZGVmaW5lIEJfUENIX1BDSUVfU1ZJRF9TVklEICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAwMEZGRkYgLy8gU3Vic3lzdGVtDQo+IFZlbmRvciBJZGVudGlmaWVyDQo+ ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUGNoUmVn cy9QY2hSZWdzUGN1LmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zh bGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QY2hSZWdzL1BjaFJlZ3NQY3Uu aA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40NTZjMDMzYmM2 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUGNoUmVncy9Q Y2hSZWdzUGN1LmgNCj4gQEAgLTAsMCArMSwxMjAxIEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHly aWdodCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBQY2hSZWdzUGN1 LmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUmVnaXN0ZXIgbmFtZXMgZm9yIFZMViBQ Q1UgZGV2aWNlLg0KPiArDQo+ICsgIENvbnZlbnRpb25zOg0KPiArDQo+ICsgIC0gUHJlZml4ZXM6 DQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIlJfIiBhcmUgcmVnaXN0ZXJzDQo+ ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIkJfIiBhcmUgYml0cyB3aXRoaW4gcmVn aXN0ZXJzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIlZfIiBhcmUgbWVhbmlu Z2Z1bCB2YWx1ZXMgb2YgYml0cyB3aXRoaW4gdGhlDQo+IHJlZ2lzdGVycw0KPiArICAgIERlZmlu aXRpb25zIGJlZ2lubmluZyB3aXRoICJTXyIgYXJlIHJlZ2lzdGVyIHNpemVzDQo+ICsgICAgRGVm aW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIk5fIiBhcmUgdGhlIGJpdCBwb3NpdGlvbg0KPiArICAt IEluIGdlbmVyYWwsIFBDSCByZWdpc3RlcnMgYXJlIGRlbm90ZWQgYnkgIl9QQ0hfIiBpbiByZWdp c3RlciBuYW1lcw0KPiArICAtIFJlZ2lzdGVycyAvIGJpdHMgdGhhdCBhcmUgZGlmZmVyZW50IGJl dHdlZW4gUENIIGdlbmVyYXRpb25zIGFyZSBkZW5vdGVkDQo+IGJ5DQo+ICsgICAgIl9QQ0hfPGdl bmVyYXRpb25fbmFtZT5fIiBpbiByZWdpc3Rlci9iaXQgbmFtZXMuIGUuZy4sICJfUENIX1ZMVl8i DQo+ICsgIC0gUmVnaXN0ZXJzIC8gYml0cyB0aGF0IGFyZSBkaWZmZXJlbnQgYmV0d2VlbiBTS1Vz IGFyZSBkZW5vdGVkIGJ5DQo+ICJfPFNLVV9uYW1lPiINCj4gKyAgICBhdCB0aGUgZW5kIG9mIHRo ZSByZWdpc3Rlci9iaXQgbmFtZXMNCj4gKyAgLSBSZWdpc3RlcnMgLyBiaXRzIG9mIG5ldyBkZXZp Y2VzIGludHJvZHVjZWQgaW4gYSBQQ0ggZ2VuZXJhdGlvbiB3aWxsIGJlIGp1c3QNCj4gbmFtZWQN Cj4gKyAgICBhcyAiX1BDSF8iIHdpdGhvdXQgPGdlbmVyYXRpb25fbmFtZT4gaW5zZXJ0ZWQuDQo+ ICsNCj4gKy0tKi8NCj4gKyNpZm5kZWYgX1BDSF9SRUdTX0xQQ19IXw0KPiArI2RlZmluZSBfUENI X1JFR1NfTFBDX0hfDQo+ICsNCj4gKy8vDQo+ICsvLyBWTFYgUENVIFJlZ2lzdGVycyAoRDMxOkYw KQ0KPiArLy8NCj4gKyNkZWZpbmUgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQyAgICAgICAgICAg ICAgICAgMzENCj4gKyNkZWZpbmUgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBDICAgICAgICAg ICAgICAgMA0KPiArDQo+ICsvLyBTaWxpY29uIFN0ZXBwaW5ncw0KPiArdHlwZWRlZiBlbnVtIHsN Cj4gKyAgUGNoQTAgICAgICAgICA9IDAsDQo+ICsgIFBjaEExICAgICAgICAgPSAxLA0KPiArICBQ Y2hCMCAgICAgICAgID0gMiwNCj4gKyAgUGNoQjEgICAgICAgICA9IDMsDQo+ICsgIFBjaEIyICAg ICAgICAgPSA0LA0KPiArICBQY2hCMyAgICAgICAgID0gNSwNCj4gKyAgUGNoQzAgICAgICAgICA9 IDYsDQo+ICsgIFBjaEQwICAgICAgICAgPSA3LA0KPiArICBQY2hTdGVwcGluZ01heA0KPiArfSBQ Q0hfU1RFUFBJTkc7DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBDX1JFR19JRCAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCAgLy8gSWRlbnRpZmllcnMgUmVnaXN0ZXINCj4gKyNkZWZpbmUg Ql9QQ0hfTFBDX0RFVklDRV9JRCAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGMDAwMCAvLyBE ZXZpY2UNCj4gSWRlbnRpZmljYXRpb24NCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1ZFTkRPUl9JRCAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwRkZGRiAvLyBWZW5kb3INCj4gSWRlbnRpZmljYXRp b24NCj4gKyNkZWZpbmUgVl9QQ0hfTFBDX1ZFTkRPUl9JRCAgICAgICAgICAgICAgICAgICAgICAg Vl9QQ0hfSU5URUxfVkVORE9SX0lEIC8vDQo+IFZlbmRvciBJRCBmb3IgSW50ZWwNCj4gKy8vDQo+ ICsvLyBHZW5lcmFsIFZMViBQQ1UgRGV2aWNlIElEDQo+ICsvLw0KPiArI2RlZmluZSBWX1BDSF9M UENfREVWSUNFX0lEXzAgICAgICAgICAgICAgICAgICAgICAweDBGMUMNCj4gKyNkZWZpbmUgVl9Q Q0hfTFBDX0RFVklDRV9JRF8xICAgICAgICAgICAgICAgICAgICAgMHgwRjFEDQo+ICsjZGVmaW5l IFZfUENIX0xQQ19ERVZJQ0VfSURfMiAgICAgICAgICAgICAgICAgICAgIDB4MEYxRQ0KPiArI2Rl ZmluZSBWX1BDSF9MUENfREVWSUNFX0lEXzMgICAgICAgICAgICAgICAgICAgICAweDBGMUYNCj4g Kw0KPiArI2RlZmluZSBSX1BDSF9MUENfQ09NTUFORCAgICAgICAgICAgICAgICAgICAgICAgICAw eDA0ICAvLyBDb21tYW5kDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19DT01NQU5EX0lEICAgICAgICAg ICAgICAgICAgICAgIEJJVDEwIC8vIEludGVycnVwdCBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENI X0xQQ19DT01NQU5EX0ZCRSAgICAgICAgICAgICAgICAgICAgIEJJVDkgIC8vIEZhc3QgQmFjayB0 byBCYWNrDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfQ09NTUFORF9TRVJSX0VOICAg ICAgICAgICAgICAgICBCSVQ4ICAvLyBTRVJSIyBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBD X0NPTU1BTkRfV0NDICAgICAgICAgICAgICAgICAgICAgQklUNyAgLy8gV2FpdCBDeWNsZSBDb250 cm9sDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19DT01NQU5EX1BFUiAgICAgICAgICAgICAgICAgICAg IEJJVDYgIC8vIFBhcml0eSBFcnJvcg0KPiBSZXNwb25zZSBFbmFibGUNCj4gKyNkZWZpbmUgQl9Q Q0hfTFBDX0NPTU1BTkRfVlBTICAgICAgICAgICAgICAgICAgICAgQklUNSAgLy8gVkdBIFBhbGV0 dGUgU25vb3ANCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0NPTU1BTkRfTVdJRSAgICAgICAgICAgICAg ICAgICAgQklUNCAgLy8gTWVtb3J5IFdyaXRlDQo+IGFuZCBJbnZhbGlkYXRlIEVuYWJsZQ0KPiAr I2RlZmluZSBCX1BDSF9MUENfQ09NTUFORF9TQ0UgICAgICAgICAgICAgICAgICAgICBCSVQzICAv LyBTcGVjaWFsIEN5Y2xlDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfQ09NTUFORF9C TUUgICAgICAgICAgICAgICAgICAgICBCSVQyICAvLyBCdXMgTWFzdGVyIEVuYWJsZQ0KPiArI2Rl ZmluZSBCX1BDSF9MUENfQ09NTUFORF9NU0UgICAgICAgICAgICAgICAgICAgICBCSVQxICAvLyBN ZW1vcnkgU3BhY2UNCj4gRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19DT01NQU5EX0lPU0Ug ICAgICAgICAgICAgICAgICAgIEJJVDAgIC8vIEkvTyBTcGFjZSBFbmFibGUNCj4gKw0KPiArI2Rl ZmluZSBSX1BDSF9MUENfREVWX1NUUyAgICAgICAgICAgICAgICAgICAgICAgICAweDA2ICAvLyBT dGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0RFVl9TVFNfRFBFICAgICAgICAgICAgICAgICAg ICAgQklUMTUgLy8gRGV0ZWN0ZWQgUGFyaXR5IEVycm9yDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19E RVZfU1RTX1NTRSAgICAgICAgICAgICAgICAgICAgIEJJVDE0IC8vIFNpZ25hbGVkIFN5c3RlbSBF cnJvcg0KPiArI2RlZmluZSBCX1BDSF9MUENfREVWX1NUU19STUEgICAgICAgICAgICAgICAgICAg ICBCSVQxMyAvLyBSZWNlaXZlZCBNYXN0ZXINCj4gQWJvcnQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBD X0RFVl9TVFNfUlRBICAgICAgICAgICAgICAgICAgICAgQklUMTIgLy8gUmVjZWl2ZWQgVGFyZ2V0 DQo+IEFib3J0DQo+ICsjZGVmaW5lIEJfUENIX0xQQ19ERVZfU1RTX1NUQSAgICAgICAgICAgICAg ICAgICAgIEJJVDExIC8vIFNpZ25hbGVkIFRhcmdldCBBYm9ydA0KPiArI2RlZmluZSBCX1BDSF9M UENfREVWX1NUU19ERVZUX1NUUyAgICAgICAgICAgICAgICAoQklUMTAgfCBCSVQ5KSAvLyBERVZT RUwjDQo+IFRpbWluZyBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0RFVl9TVFNfTURQRUQg ICAgICAgICAgICAgICAgICAgQklUOCAgLy8gRGF0YSBQYXJpdHkgRXJyb3INCj4gKyNkZWZpbmUg Ql9QQ0hfTFBDX0RFVl9TVFNfRkIyQiAgICAgICAgICAgICAgICAgICAgQklUNyAgLy8gRmFzdCBC YWNrIHRvIEJhY2sNCj4gQ2FwYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfREVWX1NUU182Nk1I Wl9DQVAgICAgICAgICAgICAgICBCSVQ1ICAvLyA2NiBNSHogY2FwYWJsZQ0KPiArI2RlZmluZSBC X1BDSF9MUENfREVWX1NUU19DQVBfTElTVCAgICAgICAgICAgICAgICBCSVQ0ICAvLyBDYXBhYmls aXRpZXMgTGlzdA0KPiArI2RlZmluZSBCX1BDSF9MUENfREVWX1NUU19JTlRfU1RTICAgICAgICAg ICAgICAgICBCSVQzICAvLyBJbnRlcnJ1cHQgU3RhdHVzDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hf TFBDX1JJRF9DQyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCAgLy8gUmV2aXNpb24gSUQg JiBDbGFzcyBDb2RlDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19SSURfQ0NfQkNDICAgICAgICAgICAg ICAgICAgICAgIDB4RkYwMDAwMDAgLy8gQmFzZSBDbGFzcyBDb2RlDQo+ICsjZGVmaW5lIEJfUENI X0xQQ19SSURfQ0NfU0NDICAgICAgICAgICAgICAgICAgICAgIDB4MDBGRjAwMDAgLy8gU3ViLUNs YXNzIENvZGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1JJRF9DQ19QSSAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDAwRkYwMCAvLyBQcm9ncmFtbWluZw0KPiBJbnRlcmZhY2UNCj4gKyNkZWZpbmUg Ql9QQ0hfTFBDX1JJRF9DQ19SSUQgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBGRiAvLyBS ZXZpc2lvbiBJRA0KPiArDQo+ICsvLyBTaWxpY29uIFN0ZXBwaW5ncw0KPiArDQo+ICsjZGVmaW5l IFZfUENIX0xQQ19SSURfMCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEgIC8vIEEwIFN0 ZXBwaW5nICgxNyB4IDE3KQ0KPiArI2RlZmluZSBWX1BDSF9MUENfUklEXzEgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAyICAvLyBBMCBTdGVwcGluZyAoMjUgeCAyNykNCj4gKyNkZWZpbmUg Vl9QQ0hfTFBDX1JJRF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMyAgLy8gQTEgU3Rl cHBpbmcgKDE3IHggMTcpDQo+ICsjZGVmaW5lIFZfUENIX0xQQ19SSURfMyAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDQgIC8vIEExIFN0ZXBwaW5nICgyNSB4IDI3KQ0KPiArI2RlZmluZSBW X1BDSF9MUENfUklEXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA1ICAvLyBCMCBTdGVw cGluZyAoMTcgeCAxNykNCj4gKyNkZWZpbmUgVl9QQ0hfTFBDX1JJRF81ICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwNiAgLy8gQjAgU3RlcHBpbmcgKDI1IHggMjcpDQo+ICsjZGVmaW5lIFZf UENIX0xQQ19SSURfNiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8vIEIxIFN0ZXBw aW5nICgxNyB4IDE3KQ0KPiArI2RlZmluZSBWX1BDSF9MUENfUklEXzcgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDA4ICAvLyBCMSBTdGVwcGluZyAoMjUgeCAyNykNCj4gKyNkZWZpbmUgVl9Q Q0hfTFBDX1JJRF84ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOSAgLy8gQjIgU3RlcHBp bmcgKDE3IHggMTcpDQo+ICsjZGVmaW5lIFZfUENIX0xQQ19SSURfOSAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MEEgIC8vIEIyIFN0ZXBwaW5nICgyNSB4IDI3KQ0KPiArI2RlZmluZSBWX1BD SF9MUENfUklEX0EgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBCICAvLyBCMyBTdGVwcGlu ZyAoMTcgeCAxNykNCj4gKyNkZWZpbmUgVl9QQ0hfTFBDX1JJRF9CICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwQyAgLy8gQjMgU3RlcHBpbmcgKDI1IHggMjcpDQo+ICsjZGVmaW5lIFZfUENI X0xQQ19SSURfQyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEQgIC8vIEMwIFN0ZXBwaW5n ICgxNyB4IDE3KQ0KPiArI2RlZmluZSBWX1BDSF9MUENfUklEX0QgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDBFICAvLyBDMCBTdGVwcGluZyAoMjUgeCAyNykNCj4gKyNkZWZpbmUgVl9QQ0hf TFBDX1JJRF9FICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMCAgLy8gRDAgU3RlcHBpbmcg KDE3IHggMTcpDQo+ICsjZGVmaW5lIFZfUENIX0xQQ19SSURfRiAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MTEgIC8vIEQwIFN0ZXBwaW5nICgyNSB4IDI3KQ0KPiArDQo+ICsjZGVmaW5lIFJf UENIX0xQQ19NTFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEQgIC8vIE1hc3RlciBM YXRlbmN5IFRpbWVyDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19NTFRfTUxDICAgICAgICAgICAgICAg ICAgICAgICAgIDB4RjggIC8vIE1hc3RlciBMYXRlbmN5IENvdW50DQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfTFBDX0hFQURUWVAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwRSAgLy8gSGVhZGVy IFR5cGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0hFQURUWVBfTUZEICAgICAgICAgICAgICAgICAg ICAgQklUNyAgLy8gTXVsdGktZnVuY3Rpb24NCj4gRGV2aWNlDQo+ICsjZGVmaW5lIEJfUENIX0xQ Q19IRUFEVFlQX0hUICAgICAgICAgICAgICAgICAgICAgIDB4N0YgIC8vIEhlYWRlciBUeXBlDQo+ ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBDX1NTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgyQyAgLy8gU3Vic3lzdGVtIElEICYgVmVuZG9yIElEDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19T U19TU0lEICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRjAwMDAgLy8gU3Vic3lzdGVtIElE DQo+ICsjZGVmaW5lIEJfUENIX0xQQ19TU19TU1ZJRCAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAwMEZGRkYgLy8gU3Vic3lzdGVtDQo+IFZlbmRvciBJRA0KPiArDQo+ICsjZGVmaW5lIFJfUENI X0xQQ19DQVBfTElTVCAgICAgICAgICAgICAgICAgICAgICAgIDB4MzQgIC8vIENhcGFiaWxpdHkg TGlzdA0KPiArI2RlZmluZSBCX1BDSF9MUENfQ0FQX0xJU1RfQ1AgICAgICAgICAgICAgICAgICAg ICAweEZGICAvLyBDYXBhYmlsaXR5IFBvaW50ZXINCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUENf QUNQSV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAweDQwIC8vIEFCQVNFLCAxNmJpdA0KPiAr I2RlZmluZSBCX1BDSF9MUENfQUNQSV9CQVNFX0JBUiAgICAgICAgICAgICAgICAgICAweDAwMDBG RjgwIC8vIEJhc2UgQWRkcmVzcywNCj4gMTI4IEJ5dGVzDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19B Q1BJX0JBU0VfRU4gICAgICAgICAgICAgICAgICAgIEJJVDEgLy8gRW5hYmxlIEJpdA0KPiArI2Rl ZmluZSBCX1BDSF9MUENfQUNQSV9CQVNFX01FTUkgICAgICAgICAgICAgICAgICBCSVQwIC8vIE1l bW9yeSBTcGFjZQ0KPiBJbmRpY2F0aW9uDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBDX1BNQ19C QVNFICAgICAgICAgICAgICAgICAgICAgICAgMHg0NCAgLy8gUEJBU0UsIDMyYml0LCA1MTIgQnl0 ZXMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1BNQ19CQVNFX0JBUiAgICAgICAgICAgICAgICAgICAg MHhGRkZGRkUwMCAvLyBCYXNlIEFkZHJlc3MNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1BNQ19CQVNF X1BSRUYgICAgICAgICAgICAgICAgICAgQklUMyAgLy8gUHJlZmV0Y2hhYmxlDQo+ICsjZGVmaW5l IEJfUENIX0xQQ19QTUNfQkFTRV9BRERSTkcgICAgICAgICAgICAgICAgIEJJVDIgIC8vIEFkZHJl c3MgUmFuZ2UNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1BNQ19CQVNFX0VOICAgICAgICAgICAgICAg ICAgICAgQklUMSAgLy8gRW5hYmxlIEJpdA0KPiArI2RlZmluZSBCX1BDSF9MUENfUE1DX0JBU0Vf TUVNSSAgICAgICAgICAgICAgICAgICBCSVQwICAvLyBNZW1vcnkgU3BhY2UNCj4gSW5kaWNhdGlv bg0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQQ19HUElPX0JBU0UgICAgICAgICAgICAgICAgICAg ICAgIDB4NDggIC8vIEdCQVNFLCAxNmJpdA0KPiArI2RlZmluZSBCX1BDSF9MUENfR1BJT19CQVNF X0JBUiAgICAgICAgICAgICAgICAgICAweEZGMDAgLy8gQmFzZSBBZGRyZXNzLCAyNTYNCj4gQnl0 ZXMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0dQSU9fQkFTRV9FTiAgICAgICAgICAgICAgICAgICAg QklUMSAgLy8gRW5hYmxlIEJpdA0KPiArI2RlZmluZSBCX1BDSF9MUENfR1BJT19CQVNFX01FTUkg ICAgICAgICAgICAgICAgICBCSVQwICAvLyBNZW1vcnkgU3BhY2UNCj4gSW5kaWNhdGlvbg0KPiAr DQo+ICsjZGVmaW5lIFJfUENIX0xQQ19JT19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIDB4 NEMgIC8vIElPQkFTRSwgMzJiaXQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0lPX0JBU0VfQkFSICAg ICAgICAgICAgICAgICAgICAgMHhGRkZGQzAwMCAvLyBCYXNlIEFkZHJlc3MsDQo+IDE2IEtpbG9C eXRlcw0KPiArI2RlZmluZSBCX1BDSF9MUENfSU9fQkFTRV9QUkVGICAgICAgICAgICAgICAgICAg ICBCSVQzICAvLyBQcmVmZXRjaGFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0lPX0JBU0VfQURE Uk5HICAgICAgICAgICAgICAgICAgQklUMiAgLy8gQWRkcmVzcyBSYW5nZQ0KPiArI2RlZmluZSBC X1BDSF9MUENfSU9fQkFTRV9FTiAgICAgICAgICAgICAgICAgICAgICBCSVQxICAvLyBFbmFibGUg Qml0DQo+ICsjZGVmaW5lIEJfUENIX0xQQ19JT19CQVNFX01FTUkgICAgICAgICAgICAgICAgICAg IEJJVDAgIC8vIE1lbW9yeSBTcGFjZQ0KPiBJbmRpY2F0aW9uDQo+ICsNCj4gKyNkZWZpbmUgUl9Q Q0hfTFBDX0lMQl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgMHg1MCAgLy8gSUJBU0UsIDMy Yml0DQo+ICsjZGVmaW5lIEJfUENIX0xQQ19JTEJfQkFTRV9CQVIgICAgICAgICAgICAgICAgICAg IDB4RkZGRkZFMDAgLy8gQmFzZSBBZGRyZXNzLA0KPiA1MTIgYnl0ZXMNCj4gKyNkZWZpbmUgQl9Q Q0hfTFBDX0lMQl9CQVNFX1BSRUYgICAgICAgICAgICAgICAgICAgQklUMyAgLy8gUHJlZmV0Y2hh YmxlDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19JTEJfQkFTRV9BRERSTkcgICAgICAgICAgICAgICAg IEJJVDIgIC8vIEFkZHJlc3MgUmFuZ2UNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0lMQl9CQVNFX0VO ICAgICAgICAgICAgICAgICAgICAgQklUMSAgLy8gRW5hYmxlIEJpdA0KPiArI2RlZmluZSBCX1BD SF9MUENfSUxCX0JBU0VfTUVNSSAgICAgICAgICAgICAgICAgICBCSVQwICAvLyBNZW1vcnkgU3Bh Y2UNCj4gSW5kaWNhdGlvbg0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQQ19TUElfQkFTRSAgICAg ICAgICAgICAgICAgICAgICAgIDB4NTQgIC8vIFNCQVNFLCAzMmJpdA0KPiArI2RlZmluZSBCX1BD SF9MUENfU1BJX0JBU0VfQkFSICAgICAgICAgICAgICAgICAgICAweEZGRkZGRTAwIC8vIEJhc2Ug QWRkcmVzcywNCj4gNTEyIGJ5dGVzDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19TUElfQkFTRV9QUkVG ICAgICAgICAgICAgICAgICAgIEJJVDMgIC8vIFByZWZldGNoYWJsZQ0KPiArI2RlZmluZSBCX1BD SF9MUENfU1BJX0JBU0VfQUREUk5HICAgICAgICAgICAgICAgICBCSVQyICAvLyBBZGRyZXNzIFJh bmdlDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19TUElfQkFTRV9FTiAgICAgICAgICAgICAgICAgICAg IEJJVDEgIC8vIEVuYWJsZSBCaXQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1NQSV9CQVNFX01FTUkg ICAgICAgICAgICAgICAgICAgQklUMCAgLy8gTWVtb3J5IFNwYWNlDQo+IEluZGljYXRvcg0KPiAr DQo+ICsjZGVmaW5lIFJfUENIX0xQQ19NUEhZX0JBU0UgICAgICAgICAgICAgICAgICAgICAgIDB4 NTggLy8gTVBCQVNFLCAzMmJpdA0KPiArI2RlZmluZSBCX1BDSF9MUENfTVBIWV9CQVNFX0JBUiAg ICAgICAgICAgICAgICAgICAweEZGRjAwMDAwIC8vIEJhc2UNCj4gQWRkcmVzcywgMSBNZWdhQnl0 ZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfTVBIWV9CQVNFX1BSRUYgICAgICAgICAgICAgICAgICBC SVQzICAvLyBQcmVmZXRjaGFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX01QSFlfQkFTRV9BRERS TkcgICAgICAgICAgICAgICAgQklUMiAgLy8gQWRkcmVzcyBSYW5nZQ0KPiArI2RlZmluZSBCX1BD SF9MUENfTVBIWV9CQVNFX0VOICAgICAgICAgICAgICAgICAgICBCSVQxICAvLyBFbmFibGUgQml0 DQo+ICsjZGVmaW5lIEJfUENIX0xQQ19NUEhZX0JBU0VfTUVNSSAgICAgICAgICAgICAgICAgIEJJ VDAgIC8vIE1lbW9yeSBTcGFjZQ0KPiBJbmRpY2F0b3INCj4gKw0KPiArI2RlZmluZSBSX1BDSF9M UENfUFVOSVRfQkFTRSAgICAgICAgICAgICAgICAgICAgICAweDVDICAvLyBQVUJBU0UsIDMyYml0 DQo+ICsjZGVmaW5lIEJfUENIX0xQQ19QVU5JVF9CQVNFX0JBUiAgICAgICAgICAgICAgICAgIDB4 RkZGRkY4MDAgLy8gQmFzZQ0KPiBBZGRyZXNzLCAySyBieXRlcw0KPiArI2RlZmluZSBCX1BDSF9M UENfUFVOSVRfQkFTRV9QUkVGICAgICAgICAgICAgICAgICBCSVQzICAvLyBQcmVmZXRjaGFibGUN Cj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1BVTklUX0JBU0VfQUREUk5HICAgICAgICAgICAgICAgQklU MiAgLy8gQWRkcmVzcyBSYW5nZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfUFVOSVRfQkFTRV9FTiAg ICAgICAgICAgICAgICAgICBCSVQxICAvLyBFbmFibGUgQml0DQo+ICsjZGVmaW5lIEJfUENIX0xQ Q19QVU5JVF9CQVNFX01FTUkgICAgICAgICAgICAgICAgIEJJVDAgIC8vIE1lbW9yeSBTcGFjZQ0K PiBJbmRpY2F0b3INCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUENfVUFSVF9DVFJMICAgICAgICAg ICAgICAgICAgICAgICAweDgwICAvLyBVQVJUIENvbnRyb2wNCj4gKyNkZWZpbmUgQl9QQ0hfTFBD X1VBUlRfQ1RSTF9DT00xX0VOICAgICAgICAgICAgICAgQklUMCAgLy8gQ09NMSBFbmFibGUNCj4g Kw0KPiArI2RlZmluZSBSX1BDSF9MUENfRldIX0JJT1NfREVDICAgICAgICAgICAgICAgICAgICAw eEQ4ICAvLyBCSU9TIERlY29kZSBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0ZXSF9CSU9T X0RFQ19FRjggICAgICAgICAgICAgICAgQklUMTUgLy8gRjgtRkYgRW5hYmxlDQo+ICsjZGVmaW5l IEJfUENIX0xQQ19GV0hfQklPU19ERUNfRUYwICAgICAgICAgICAgICAgIEJJVDE0IC8vIEYwLUY4 IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfRldIX0JJT1NfREVDX0VFOCAgICAgICAgICAg ICAgICBCSVQxMyAvLyBFOC1FRiBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0ZXSF9CSU9T X0RFQ19FRTAgICAgICAgICAgICAgICAgQklUMTIgLy8gRTAtRTggRW5hYmxlDQo+ICsjZGVmaW5l IEJfUENIX0xQQ19GV0hfQklPU19ERUNfRUQ4ICAgICAgICAgICAgICAgIEJJVDExIC8vIEQ4LURG IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfRldIX0JJT1NfREVDX0VEMCAgICAgICAgICAg ICAgICBCSVQxMCAvLyBEMC1EOCBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX0ZXSF9CSU9T X0RFQ19FQzggICAgICAgICAgICAgICAgQklUOSAgLy8gQzgtQ0YgRW5hYmxlDQo+ICsjZGVmaW5l IEJfUENIX0xQQ19GV0hfQklPU19ERUNfRUMwICAgICAgICAgICAgICAgIEJJVDggIC8vIEMwLUM4 IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfRldIX0JJT1NfREVDX0xGRSAgICAgICAgICAg ICAgICBCSVQ3ICAvLyBMZWdhY3kgRiBTZWdtZW50DQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BD SF9MUENfRldIX0JJT1NfREVDX0xFRSAgICAgICAgICAgICAgICBCSVQ2ICAvLyBMZWdhY3kgRSBT ZWdtZW50DQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfRldIX0JJT1NfREVDX0U3MCAg ICAgICAgICAgICAgICBCSVQzICAvLyA3MC03RiBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBD X0ZXSF9CSU9TX0RFQ19FNjAgICAgICAgICAgICAgICAgQklUMiAgLy8gNjAtNkYgRW5hYmxlDQo+ ICsjZGVmaW5lIEJfUENIX0xQQ19GV0hfQklPU19ERUNfRTUwICAgICAgICAgICAgICAgIEJJVDEg IC8vIDUwLTVGIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfRldIX0JJT1NfREVDX0U0MCAg ICAgICAgICAgICAgICBCSVQwICAvLyA0MC00RiBFbmFibGUNCj4gKw0KPiArI2RlZmluZSBSX1BD SF9MUENfRkRDQVAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEUwICAvLyBGZWF0dXJlIERl dGVjdGlvbg0KPiBDYXBhYmlsaXR5IElEDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19GRENBUF9ORVhU ICAgICAgICAgICAgICAgICAgICAgIDB4RkYwMCAvLyBOZXh0IENhcGFiaWxpdHkNCj4gKyNkZWZp bmUgQl9QQ0hfTFBDX0ZEQ0FQX0NBUElEICAgICAgICAgICAgICAgICAgICAgMHgwMEZGIC8vIENh cGFiaWxpdHkgSUQNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUENfRkRMRU4gICAgICAgICAgICAg ICAgICAgICAgICAgICAweEUyICAvLyBGZWF0dXJlIERldGVjdGlvbg0KPiBDYXBhYmlsaXR5IExl bmd0aA0KPiArI2RlZmluZSBCX1BDSF9MUENfRkRMRU5fQ0FQTEVOICAgICAgICAgICAgICAgICAg ICAweEZGICAvLyBDYXBhYmlsaXR5IExlbmd0aA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQQ19G RFZFUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RTMgIC8vIEZlYXR1cmUgRGV0ZWN0aW9u DQo+IENhcGFiaWxpdHkgVmVyc2lvbg0KPiArI2RlZmluZSBCX1BDSF9MUENfRkRWRVJfVlNDSUQg ICAgICAgICAgICAgICAgICAgICAweEYwICAvLyBWZW5kb3IgU3BlY2lmaWMNCj4gQ2FwYWJpbGl0 eSBJRA0KPiArI2RlZmluZSBCX1BDSF9MUENfRkRWRVJfQ0FQVkVSICAgICAgICAgICAgICAgICAg ICAweDBGICAvLyBDYXBhYmlsaXR5IFZlcnNpb24NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUENf RlZFQ1RJRFggICAgICAgICAgICAgICAgICAgICAgICAweEU0ICAvLyBGZWF0dXJlIFZlY3RvciBJ bmRleA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQQ19GVkVDVEQgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RTggIC8vIEZlYXR1cmUgVmVjdG9yIERhdGENCj4gKw0KPiArI2RlZmluZSBSX1BD SF9MUENfUkNCQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEYwICAvLyBSQ0JBLCAzMmJp dA0KPiArI2RlZmluZSBCX1BDSF9MUENfUkNCQV9CQVIgICAgICAgICAgICAgICAgICAgICAgICAw eEZGRkZGQzAwIC8vIEJhc2UgQWRkcmVzcywgMQ0KPiBLaWxvQnl0ZQ0KPiArI2RlZmluZSBCX1BD SF9MUENfUkNCQV9FTiAgICAgICAgICAgICAgICAgICAgICAgICBCSVQwICAvLyBFbmFibGUgQml0 DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBDX1VMVF9PQlMgICAgICAgICAgICAgICAgICAgICAg ICAgMHhGNCAgLy8gVUxUIE9ic2VydmFiaWxpdHkNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1VMVF9P QlNfV05VTSAgICAgICAgICAgICAgICAgICAgMHgzRkYwMDAgLy8gUmVzZXJ2ZWQNCj4gV2FmZXIg TnVtYmVyDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19VTFRfT0JTX1hMT0MgICAgICAgICAgICAgICAg ICAgIDB4RkMwIC8vIFJlc2VydmVkIFggTG9jDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19VTFRfT0JT X1lMT0MgICAgICAgICAgICAgICAgICAgIDB4M0YgIC8vIFJlc2VydmVkIFkgTG9jDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfTFBDX01BTl9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGOCAg Ly8gTWFudWZhY3R1cmVyIElEDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19NQU5fSURfRFBJRCAgICAg ICAgICAgICAgICAgICAgIDB4RjAwMDAwMCAvLyBEb3QgUG9ydGlvbiBvZg0KPiBQcm9jZXNzIElE DQo+ICsjZGVmaW5lIEJfUENIX0xQQ19NQU5fSURfTVNJRCAgICAgICAgICAgICAgICAgICAgIDB4 RkYwMDAwIC8vIE1hbnVmYWN0dXJpbmcNCj4gU3RlcHBpbmcgSWRlbnRpZmllcg0KPiArI2RlZmlu ZSBCX1BDSF9MUENfTUFOX0lEX01JRCAgICAgICAgICAgICAgICAgICAgICAweEZGMDAgLy8gTWFu dWZhY3R1cmluZw0KPiBJZGVudGlmaWVyDQo+ICsjZGVmaW5lIEJfUENIX0xQQ19NQU5fSURfUFBJ RCAgICAgICAgICAgICAgICAgICAgIDB4RkYgIC8vIFByb2Nlc3MgUG9ydGlvbiBvZg0KPiBQcm9j ZXNzIElEDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBDX0NHQyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHhGQyAgLy8gQ2xvY2sgR2F0aW5nIENvbnRyb2wNCj4gKyNkZWZpbmUgQl9QQ0hf TFBDX0NHQ19TQkxDRyAgICAgICAgICAgICAgICAgICAgICAgQklUOSAgLy8gSU9TRi1TQiBMb2Nh bCBDbG9jaw0KPiBHYXRpbmcgRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfQ0dDX1NCVENH ICAgICAgICAgICAgICAgICAgICAgICBCSVQ4ICAvLyBJT1NGLVNCIFRydW5rIENsb2NrDQo+IEdh dGluZyAoUmVxdWVzdCkgRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfQ0dDX1BSSUxDRyAg ICAgICAgICAgICAgICAgICAgICBCSVQxICAvLyBJT1NGLVBSSSBMb2NhbCBDbG9jaw0KPiBHYXRp bmcgRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUENfQ0dDX1BSSVRDRyAgICAgICAgICAgICAg ICAgICAgICBCSVQwICAvLyBJT1NGLVBSSSBUcnVuayBDbG9jaw0KPiBHYXRpbmcgKFJlcXVlc3Qp IERpc2FibGUNCj4gKw0KPiArLy8NCj4gKy8vIGlMQiBNZW1vcnkgU3BhY2UgUmVnaXN0ZXJzIChJ QkFTRSkNCj4gKy8vDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9BQ1BJX0NOVCAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAgIC8vIEFDUEkgQ29udHJvbA0KPiArI2RlZmluZSBCX1BDSF9JTEJfQUNQ SV9DTlRfU0NJX0lSUV9TRUwgICAgICAgICAgICAoQklUMiB8IEJJVDEgfCBCSVQwKSAvLyBTQ0kN Cj4gSVJRIFNlbGVjdA0KPiArI2RlZmluZSBWX1BDSF9JTEJfQUNQSV9DTlRfU0NJX0lSUV85ICAg ICAgICAgICAgICAwICAgICAvLyBJUlE5DQo+ICsjZGVmaW5lIFZfUENIX0lMQl9BQ1BJX0NOVF9T Q0lfSVJRXzEwICAgICAgICAgICAgIEJJVDAgIC8vIElSUTEwDQo+ICsjZGVmaW5lIFZfUENIX0lM Ql9BQ1BJX0NOVF9TQ0lfSVJRXzExICAgICAgICAgICAgIEJJVDEgIC8vIElSUTExDQo+ICsjZGVm aW5lIFZfUENIX0lMQl9BQ1BJX0NOVF9TQ0lfSVJRXzIwICAgICAgICAgICAgIEJJVDIgIC8vIElS UTIwIChPbmx5IGlmDQo+IEFQSUMgZW5hYmxlZCkNCj4gKyNkZWZpbmUgVl9QQ0hfSUxCX0FDUElf Q05UX1NDSV9JUlFfMjEgICAgICAgICAgICAgKEJJVDIgfCBCSVQwKSAvLyBJUlEyMQ0KPiAoT25s eSBpZiBBUElDIGVuYWJsZWQpDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9BQ1BJX0NOVF9TQ0lfSVJR XzIyICAgICAgICAgICAgIChCSVQyIHwgQklUMSkgLy8gSVJRMjINCj4gKE9ubHkgaWYgQVBJQyBl bmFibGVkKQ0KPiArI2RlZmluZSBWX1BDSF9JTEJfQUNQSV9DTlRfU0NJX0lSUV8yMyAgICAgICAg ICAgICAoQklUMiB8IEJJVDEgfCBCSVQwKSAvLw0KPiBJUlEyMyAoT25seSBpZiBBUElDIGVuYWJs ZWQpDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX01DICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwNCAgLy8gTWlzY2VsbGFuZW91cyBDb250cm9sDQo+ICsjZGVmaW5lIEJfUENIX0lM Ql9NQ19EUlRDICAgICAgICAgICAgICAgICAgICAgICAgIEJJVDMgIC8vIERpc2FibGUgUlRDDQo+ ICsjZGVmaW5lIEJfUENIX0lMQl9NQ19EODI1OSAgICAgICAgICAgICAgICAgICAgICAgIEJJVDIg IC8vIERpc2FibGUgODI1OQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfTUNfRDgyNTQgICAgICAgICAg ICAgICAgICAgICAgICBCSVQxICAvLyBEaXNhYmxlIDgyNTQNCj4gKyNkZWZpbmUgQl9QQ0hfSUxC X01DX0FNRSAgICAgICAgICAgICAgICAgICAgICAgICAgQklUMCAgLy8gQWx0ZXJuYXRlIEFjY2Vz cyBNb2RlDQo+IEVuYWJsZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9QSVJRQV9ST1VUICAg ICAgICAgICAgICAgICAgICAgIDB4MDggIC8vIFBJUlFBIFJvdXRpbmcgQ29udHJvbA0KPiArI2Rl ZmluZSBSX1BDSF9JTEJfUElSUUJfUk9VVCAgICAgICAgICAgICAgICAgICAgICAweDA5ICAvLyBQ SVJRQiBSb3V0aW5nIENvbnRyb2wNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX1BJUlFDX1JPVVQgICAg ICAgICAgICAgICAgICAgICAgMHgwQSAgLy8gUElSUUMgUm91dGluZyBDb250cm9sDQo+ICsjZGVm aW5lIFJfUENIX0lMQl9QSVJRRF9ST1VUICAgICAgICAgICAgICAgICAgICAgIDB4MEIgIC8vIFBJ UlFEIFJvdXRpbmcgQ29udHJvbA0KPiArI2RlZmluZSBSX1BDSF9JTEJfUElSUUVfUk9VVCAgICAg ICAgICAgICAgICAgICAgICAweDBDICAvLyBQSVJRRSBSb3V0aW5nIENvbnRyb2wNCj4gKyNkZWZp bmUgUl9QQ0hfSUxCX1BJUlFGX1JPVVQgICAgICAgICAgICAgICAgICAgICAgMHgwRCAgLy8gUElS UUYgUm91dGluZyBDb250cm9sDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9QSVJRR19ST1VUICAgICAg ICAgICAgICAgICAgICAgIDB4MEUgIC8vIFBJUlFHIFJvdXRpbmcgQ29udHJvbA0KPiArI2RlZmlu ZSBSX1BDSF9JTEJfUElSUUhfUk9VVCAgICAgICAgICAgICAgICAgICAgICAweDBGICAvLyBQSVJR SCBSb3V0aW5nIENvbnRyb2wNCj4gKy8vDQo+ICsvLyBCaXQgdmFsdWVzIGFyZSB0aGUgc2FtZSBm b3IgUl9QQ0hfSUxCX1BJUlFBX1JPVVQgdG8NCj4gUl9QQ0hfSUxCX1BJUlFIX1JPVVQNCj4gKy8v DQo+ICsjZGVmaW5lIEJfUENIX0lMQl9QSVJRWF9ST1VUX0lSUUVOICAgICAgICAgICAgICAgIEJJ VDcgIC8vIEludGVycnVwdCBSb3V0aW5nDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9JTEJf UElSUVhfUk9VVCAgICAgICAgICAgICAgICAgICAgICAweDBGICAvLyBJUlEgUm91dGluZw0KPiAr I2RlZmluZSBWX1BDSF9JTEJfUElSUVhfUk9VVF9JUlFfMyAgICAgICAgICAgICAgICAweDAzICAv LyBSb3V0ZSB0byBJUlEzDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9QSVJRWF9ST1VUX0lSUV80ICAg ICAgICAgICAgICAgIDB4MDQgIC8vIFJvdXRlIHRvIElSUTQNCj4gKyNkZWZpbmUgVl9QQ0hfSUxC X1BJUlFYX1JPVVRfSVJRXzUgICAgICAgICAgICAgICAgMHgwNSAgLy8gUm91dGUgdG8gSVJRNQ0K PiArI2RlZmluZSBWX1BDSF9JTEJfUElSUVhfUk9VVF9JUlFfNiAgICAgICAgICAgICAgICAweDA2 ICAvLyBSb3V0ZSB0byBJUlE2DQo+ICsjZGVmaW5lIFZfUENIX0lMQl9QSVJRWF9ST1VUX0lSUV83 ICAgICAgICAgICAgICAgIDB4MDcgIC8vIFJvdXRlIHRvIElSUTcNCj4gKyNkZWZpbmUgVl9QQ0hf SUxCX1BJUlFYX1JPVVRfSVJRXzkgICAgICAgICAgICAgICAgMHgwOSAgLy8gUm91dGUgdG8gSVJR OQ0KPiArI2RlZmluZSBWX1BDSF9JTEJfUElSUVhfUk9VVF9JUlFfMTAgICAgICAgICAgICAgICAw eDBBICAvLyBSb3V0ZSB0byBJUlExMA0KPiArI2RlZmluZSBWX1BDSF9JTEJfUElSUVhfUk9VVF9J UlFfMTEgICAgICAgICAgICAgICAweDBCICAvLyBSb3V0ZSB0byBJUlExMQ0KPiArI2RlZmluZSBW X1BDSF9JTEJfUElSUVhfUk9VVF9JUlFfMTIgICAgICAgICAgICAgICAweDBDICAvLyBSb3V0ZSB0 byBJUlExMg0KPiArI2RlZmluZSBWX1BDSF9JTEJfUElSUVhfUk9VVF9JUlFfMTQgICAgICAgICAg ICAgICAweDBFICAvLyBSb3V0ZSB0byBJUlExNA0KPiArI2RlZmluZSBWX1BDSF9JTEJfUElSUVhf Uk9VVF9JUlFfMTUgICAgICAgICAgICAgICAweDBGICAvLyBSb3V0ZSB0byBJUlExNQ0KPiArDQo+ ICsjZGVmaW5lIFJfUENIX0lMQl9TRVJJUlFfQ05UICAgICAgICAgICAgICAgICAgICAgIDB4MTAg IC8vIFNlcmlhbCBJUlEgQ29udHJvbA0KPiArI2RlZmluZSBCX1BDSF9JTEJfU0VSSVJRX0NOVF9T SVJRTUQgICAgICAgICAgICAgICBCSVQ3ICAvLyBNb2RlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hf SUxCX1VMS01DICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNCAgLy8gVVNCIExlZ2FjeSBL ZXlib2FyZCAvDQo+IE1vdXNlIENvbnRyb2wNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX1VMS01DX1RS QVBCWTY0VyAgICAgICAgICAgICAgICAgQklUMTEgLy8gU01JIENhdXNlZCBieQ0KPiBQb3J0IDY0 IFdyaXRlDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9VTEtNQ19UUkFQQlk2NFIgICAgICAgICAgICAg ICAgIEJJVDEwIC8vIFNNSSBDYXVzZWQgYnkNCj4gUG9ydCA2NCBSZWFkDQo+ICsjZGVmaW5lIEJf UENIX0lMQl9VTEtNQ19UUkFQQlk2MFcgICAgICAgICAgICAgICAgIEJJVDkgIC8vIFNNSSBDYXVz ZWQgYnkNCj4gUG9ydCA2MCBXcml0ZQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfVUxLTUNfVFJBUEJZ NjBSICAgICAgICAgICAgICAgICBCSVQ4ICAvLyBTTUkgQ2F1c2VkIGJ5DQo+IFBvcnQgNjAgUmVh ZA0KPiArI2RlZmluZSBCX1BDSF9JTEJfVUxLTUNfNjRXRU4gICAgICAgICAgICAgICAgICAgICBC SVQzICAvLyBTTUkgb24gUG9ydCA2NA0KPiBXcml0ZXMgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENI X0lMQl9VTEtNQ182NFJFTiAgICAgICAgICAgICAgICAgICAgIEJJVDIgIC8vIFNNSSBvbiBQb3J0 IDY0IFJlYWRzDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfVUxLTUNfNjBXRU4gICAg ICAgICAgICAgICAgICAgICBCSVQxICAvLyBTTUkgb24gUG9ydCA2MA0KPiBXcml0ZXMgRW5hYmxl DQo+ICsjZGVmaW5lIEJfUENIX0lMQl9VTEtNQ182MFJFTiAgICAgICAgICAgICAgICAgICAgIEJJ VDAgIC8vIFNNSSBvbiBQb3J0IDYwIFJlYWRzDQo+IEVuYWJsZQ0KPiArDQo+ICsjZGVmaW5lIFJf UENIX0lMQl9GV0hfQklPU19TRUwgICAgICAgICAgICAgICAgICAgIDB4MTggIC8vIEZXSCBJRCBT ZWxlY3QNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0ZXSF9CSU9TX1NFTF9GOCAgICAgICAgICAgICAg ICAgMHhGMDAwMDAwMCAvLyBGOC1GRiBJRA0KPiBTZWxlY3QNCj4gKyNkZWZpbmUgQl9QQ0hfSUxC X0ZXSF9CSU9TX1NFTF9GMCAgICAgICAgICAgICAgICAgMHgwRjAwMDAwMCAvLyBGMC1GNyBJRA0K PiBTZWxlY3QNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0ZXSF9CSU9TX1NFTF9FOCAgICAgICAgICAg ICAgICAgMHgwMEYwMDAwMCAvLyBFOC1FRiBJRA0KPiBTZWxlY3QNCj4gKyNkZWZpbmUgQl9QQ0hf SUxCX0ZXSF9CSU9TX1NFTF9FMCAgICAgICAgICAgICAgICAgMHgwMDBGMDAwMCAvLyBFMC1FNyBJ RA0KPiBTZWxlY3QNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0ZXSF9CSU9TX1NFTF9EOCAgICAgICAg ICAgICAgICAgMHgwMDAwRjAwMCAvLyBEOC1ERiBJRA0KPiBTZWxlY3QNCj4gKyNkZWZpbmUgQl9Q Q0hfSUxCX0ZXSF9CSU9TX1NFTF9EMCAgICAgICAgICAgICAgICAgMHgwMDAwMEYwMCAvLyBEMC1E NyBJRA0KPiBTZWxlY3QNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0ZXSF9CSU9TX1NFTF9DOCAgICAg ICAgICAgICAgICAgMHgwMDAwMDBGMCAvLyBDOC1DRiBJRA0KPiBTZWxlY3QNCj4gKyNkZWZpbmUg Ql9QQ0hfSUxCX0ZXSF9CSU9TX1NFTF9DMCAgICAgICAgICAgICAgICAgMHgwMDAwMDAwRiAvLyBD MC1DNyBJRA0KPiBTZWxlY3QNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9JTEJfQklPU19DTlRMICAg ICAgICAgICAgICAgICAgICAgICAweDFDICAvLyBCSU9TIENvbnRyb2wNCj4gKyNkZWZpbmUgU19Q Q0hfSUxCX0JJT1NfQ05UTCAgICAgICAgICAgICAgICAgICAgICAgNA0KPiArI2RlZmluZSBCX1BD SF9JTEJfQklPU19DTlRMX1BGRSAgICAgICAgICAgICAgICAgICBCSVQ4ICAvLyBQcmVmZXRjaCBF bmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0JJT1NfQ05UTF9MRSAgICAgICAgICAgICAgICAg ICAgQklUMSAgLy8gTG9jayBFbmFibGUNCj4gKyNkZWZpbmUgTl9QQ0hfSUxCX0JJT1NfQ05UTF9M RSAgICAgICAgICAgICAgICAgICAgMQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfQklPU19DTlRMX1dQ ICAgICAgICAgICAgICAgICAgICBCSVQwICAvLyBXcml0ZSBQcm90ZWN0DQo+ICsNCj4gKyNkZWZp bmUgUl9QQ0hfSUxCX0QwSVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMCAgLy8gRGV2 aWNlIDAgSW50ZXJydXB0IFJvdXRlDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9EMUlSICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MjIgIC8vIERldmljZSAxIEludGVycnVwdCBSb3V0ZQ0KPiAr I2RlZmluZSBSX1BDSF9JTEJfRDJJUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDI0ICAv LyBEZXZpY2UgMiBJbnRlcnJ1cHQgUm91dGUNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX0QzSVIgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgyNiAgLy8gRGV2aWNlIDMgSW50ZXJydXB0IFJvdXRl DQo+ICsjZGVmaW5lIFJfUENIX0lMQl9ENElSICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MjggIC8vIERldmljZSA0IEludGVycnVwdCBSb3V0ZQ0KPiArI2RlZmluZSBSX1BDSF9JTEJfRDVJ UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDJBICAvLyBEZXZpY2UgNSBJbnRlcnJ1cHQg Um91dGUNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX0Q2SVIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgyQyAgLy8gRGV2aWNlIDYgSW50ZXJydXB0IFJvdXRlDQo+ICsjZGVmaW5lIFJfUENIX0lM Ql9EN0lSICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MkUgIC8vIERldmljZSA3IEludGVy cnVwdCBSb3V0ZQ0KPiArI2RlZmluZSBSX1BDSF9JTEJfRDhJUiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDMwICAvLyBEZXZpY2UgOCBJbnRlcnJ1cHQgUm91dGUNCj4gKyNkZWZpbmUgUl9Q Q0hfSUxCX0Q5SVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMiAgLy8gRGV2aWNlIDkg SW50ZXJydXB0IFJvdXRlDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9EMTBJUiAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MzQgIC8vIERldmljZSAxMCBJbnRlcnJ1cHQgUm91dGUNCj4gKyNkZWZp bmUgUl9QQ0hfSUxCX0QxMUlSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzNiAgLy8gRGV2 aWNlIDExIEludGVycnVwdCBSb3V0ZQ0KPiArI2RlZmluZSBSX1BDSF9JTEJfRDEySVIgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDM4ICAvLyBEZXZpY2UgMTIgSW50ZXJydXB0IFJvdXRlDQo+ ICsjZGVmaW5lIFJfUENIX0lMQl9EMTNJUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0Eg IC8vIERldmljZSAxMyBJbnRlcnJ1cHQgUm91dGUNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX0QxNElS ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzQyAgLy8gRGV2aWNlIDE0IEludGVycnVwdCBS b3V0ZQ0KPiArI2RlZmluZSBSX1BDSF9JTEJfRDE1SVIgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDNFICAvLyBEZXZpY2UgMTUgSW50ZXJydXB0IFJvdXRlDQo+ICsjZGVmaW5lIFJfUENIX0lM Ql9EMTZJUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAgIC8vIERldmljZSAxNiBJbnRl cnJ1cHQgUm91dGUNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX0QxN0lSICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHg0MiAgLy8gRGV2aWNlIDE3IEludGVycnVwdCBSb3V0ZQ0KPiArI2RlZmluZSBS X1BDSF9JTEJfRDE4SVIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ0ICAvLyBEZXZpY2Ug MTggSW50ZXJydXB0IFJvdXRlDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9EMTlJUiAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4NDYgIC8vIERldmljZSAxOSBJbnRlcnJ1cHQgUm91dGUNCj4gKyNk ZWZpbmUgUl9QQ0hfSUxCX0QyMElSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0OCAgLy8g RGV2aWNlIDIwIEludGVycnVwdCBSb3V0ZQ0KPiArI2RlZmluZSBSX1BDSF9JTEJfRDIxSVIgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDRBICAvLyBEZXZpY2UgMjEgSW50ZXJydXB0IFJvdXRl DQo+ICsjZGVmaW5lIFJfUENIX0lMQl9EMjJJUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 NEMgIC8vIERldmljZSAyMiBJbnRlcnJ1cHQgUm91dGUNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX0Qy M0lSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0RSAgLy8gRGV2aWNlIDIzIEludGVycnVw dCBSb3V0ZQ0KPiArI2RlZmluZSBSX1BDSF9JTEJfRDI0SVIgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDUwICAvLyBEZXZpY2UgMjQgSW50ZXJydXB0IFJvdXRlDQo+ICsjZGVmaW5lIFJfUENI X0lMQl9EMjVJUiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTIgIC8vIERldmljZSAyNSBJ bnRlcnJ1cHQgUm91dGUNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX0QyNklSICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHg1NCAgLy8gRGV2aWNlIDI2IEludGVycnVwdCBSb3V0ZQ0KPiArI2RlZmlu ZSBSX1BDSF9JTEJfRDI3SVIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDU2ICAvLyBEZXZp Y2UgMjcgSW50ZXJydXB0IFJvdXRlDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9EMjhJUiAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NTggIC8vIERldmljZSAyOCBJbnRlcnJ1cHQgUm91dGUNCj4g KyNkZWZpbmUgUl9QQ0hfSUxCX0QyOUlSICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1QSAg Ly8gRGV2aWNlIDI5IEludGVycnVwdCBSb3V0ZQ0KPiArI2RlZmluZSBSX1BDSF9JTEJfRDMwSVIg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDVDICAvLyBEZXZpY2UgMzAgSW50ZXJydXB0IFJv dXRlDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9EMzFJUiAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4NUUgIC8vIERldmljZSAzMSBJbnRlcnJ1cHQgUm91dGUNCj4gKw0KPiArI2RlZmluZSBCX1BD SF9JTEJfRFhYSVJfSURSX01BU0sgICAgICAgICAgICAgICAgICAoQklUMTQgfCBCSVQxMyB8IEJJ VDEyKSAvLw0KPiBJTlREIE1hc2sNCj4gKyNkZWZpbmUgVl9QQ0hfSUxCX0RYWElSX0lEUl9QSVJR QSAgICAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgLy8gSU5URA0KPiBNYXBw aW5nIHRvIElSUSBBDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9EWFhJUl9JRFJfUElSUUIgICAgICAg ICAgICAgICAgIEJJVDEyICAgICAgICAgICAgICAgICAgIC8vIElOVEQNCj4gTWFwcGluZyB0byBJ UlEgQg0KPiArI2RlZmluZSBWX1BDSF9JTEJfRFhYSVJfSURSX1BJUlFDICAgICAgICAgICAgICAg ICBCSVQxMyAgICAgICAgICAgICAgICAgICAvLyBJTlREDQo+IE1hcHBpbmcgdG8gSVJRIEMNCj4g KyNkZWZpbmUgVl9QQ0hfSUxCX0RYWElSX0lEUl9QSVJRRCAgICAgICAgICAgICAgICAgKEJJVDEz IHwgQklUMTIpICAgICAgICAgLy8gSU5URA0KPiBNYXBwaW5nIHRvIElSUSBEDQo+ICsjZGVmaW5l IFZfUENIX0lMQl9EWFhJUl9JRFJfUElSUUUgICAgICAgICAgICAgICAgIEJJVDE0ICAgICAgICAg ICAgICAgICAgIC8vIElOVEQNCj4gTWFwcGluZyB0byBJUlEgRQ0KPiArI2RlZmluZSBWX1BDSF9J TEJfRFhYSVJfSURSX1BJUlFGICAgICAgICAgICAgICAgICAoQklUMTQgfCBCSVQxMikgICAgICAg ICAvLyBJTlREDQo+IE1hcHBpbmcgdG8gSVJRIEYNCj4gKyNkZWZpbmUgVl9QQ0hfSUxCX0RYWElS X0lEUl9QSVJRRyAgICAgICAgICAgICAgICAgKEJJVDE0IHwgQklUMTMpICAgICAgICAgLy8gSU5U RA0KPiBNYXBwaW5nIHRvIElSUSBHDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9EWFhJUl9JRFJfUElS UUggICAgICAgICAgICAgICAgIChCSVQxNCB8IEJJVDEzIHwgQklUMTIpIC8vDQo+IElOVEQgTWFw cGluZyB0byBJUlEgSA0KPiArDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9EWFhJUl9JQ1JfTUFTSyAg ICAgICAgICAgICAgICAgIChCSVQxMCB8IEJJVDkgfCBCSVQ4KSAvLyBJTlRDDQo+IE1hc2sNCj4g KyNkZWZpbmUgVl9QQ0hfSUxCX0RYWElSX0lDUl9QSVJRQSAgICAgICAgICAgICAgICAgMCAgICAg ICAgICAgICAgICAgICAgIC8vIElOVEMgTWFwcGluZw0KPiB0byBJUlEgQQ0KPiArI2RlZmluZSBW X1BDSF9JTEJfRFhYSVJfSUNSX1BJUlFCICAgICAgICAgICAgICAgICBCSVQ4ICAgICAgICAgICAg ICAgICAgLy8gSU5UQw0KPiBNYXBwaW5nIHRvIElSUSBCDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9E WFhJUl9JQ1JfUElSUUMgICAgICAgICAgICAgICAgIEJJVDkgICAgICAgICAgICAgICAgICAvLyBJ TlRDDQo+IE1hcHBpbmcgdG8gSVJRIEMNCj4gKyNkZWZpbmUgVl9QQ0hfSUxCX0RYWElSX0lDUl9Q SVJRRCAgICAgICAgICAgICAgICAgKEJJVDkgfCBCSVQ4KSAgICAgICAgIC8vIElOVEMNCj4gTWFw cGluZyB0byBJUlEgRA0KPiArI2RlZmluZSBWX1BDSF9JTEJfRFhYSVJfSUNSX1BJUlFFICAgICAg ICAgICAgICAgICBCSVQxMCAgICAgICAgICAgICAgICAgLy8gSU5UQw0KPiBNYXBwaW5nIHRvIElS USBFDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9EWFhJUl9JQ1JfUElSUUYgICAgICAgICAgICAgICAg IChCSVQxMCB8IEJJVDgpICAgICAgICAvLyBJTlRDDQo+IE1hcHBpbmcgdG8gSVJRIEYNCj4gKyNk ZWZpbmUgVl9QQ0hfSUxCX0RYWElSX0lDUl9QSVJRRyAgICAgICAgICAgICAgICAgKEJJVDEwIHwg QklUOSkgICAgICAgIC8vIElOVEMNCj4gTWFwcGluZyB0byBJUlEgRw0KPiArI2RlZmluZSBWX1BD SF9JTEJfRFhYSVJfSUNSX1BJUlFIICAgICAgICAgICAgICAgICAoQklUMTAgfCBCSVQ5IHwgQklU OCkgLy8gSU5UQw0KPiBNYXBwaW5nIHRvIElSUSBIDQo+ICsNCj4gKyNkZWZpbmUgQl9QQ0hfSUxC X0RYWElSX0lCUl9NQVNLICAgICAgICAgICAgICAgICAgKEJJVDYgfCBCSVQ1IHwgQklUNCkgLy8g SU5UQg0KPiBNYXNrDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9EWFhJUl9JQlJfUElSUUEgICAgICAg ICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgIC8vIElOVEIgTWFwcGluZw0KPiB0byBJUlEg QQ0KPiArI2RlZmluZSBWX1BDSF9JTEJfRFhYSVJfSUJSX1BJUlFCICAgICAgICAgICAgICAgICBC SVQ0ICAgICAgICAgICAgICAgICAvLyBJTlRCDQo+IE1hcHBpbmcgdG8gSVJRIEINCj4gKyNkZWZp bmUgVl9QQ0hfSUxCX0RYWElSX0lCUl9QSVJRQyAgICAgICAgICAgICAgICAgQklUNSAgICAgICAg ICAgICAgICAgLy8gSU5UQg0KPiBNYXBwaW5nIHRvIElSUSBDDQo+ICsjZGVmaW5lIFZfUENIX0lM Ql9EWFhJUl9JQlJfUElSUUQgICAgICAgICAgICAgICAgIChCSVQ1IHwgQklUNCkgICAgICAgIC8v IElOVEINCj4gTWFwcGluZyB0byBJUlEgRA0KPiArI2RlZmluZSBWX1BDSF9JTEJfRFhYSVJfSUJS X1BJUlFFICAgICAgICAgICAgICAgICBCSVQ2ICAgICAgICAgICAgICAgICAvLyBJTlRCDQo+IE1h cHBpbmcgdG8gSVJRIEUNCj4gKyNkZWZpbmUgVl9QQ0hfSUxCX0RYWElSX0lCUl9QSVJRRiAgICAg ICAgICAgICAgICAgKEJJVDYgfCBCSVQ0KSAgICAgICAgLy8gSU5UQg0KPiBNYXBwaW5nIHRvIElS USBGDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9EWFhJUl9JQlJfUElSUUcgICAgICAgICAgICAgICAg IChCSVQ2IHwgQklUNSkgICAgICAgIC8vIElOVEINCj4gTWFwcGluZyB0byBJUlEgRw0KPiArI2Rl ZmluZSBWX1BDSF9JTEJfRFhYSVJfSUJSX1BJUlFIICAgICAgICAgICAgICAgICAoQklUNiB8IEJJ VDUgfCBCSVQ0KSAvLyBJTlRCDQo+IE1hcHBpbmcgdG8gSVJRIEgNCj4gKw0KPiArI2RlZmluZSBC X1BDSF9JTEJfRFhYSVJfSUFSX01BU0sgICAgICAgICAgICAgICAgICAoQklUMiB8IEJJVDEgfCBC SVQwKSAvLyBJTlRBDQo+IE1hc2sNCj4gKyNkZWZpbmUgVl9QQ0hfSUxCX0RYWElSX0lBUl9QSVJR QSAgICAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgLy8gSU5UQSBNYXBwaW5nDQo+ IHRvIElSUSBBDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9EWFhJUl9JQVJfUElSUUIgICAgICAgICAg ICAgICAgIEJJVDAgICAgICAgICAgICAgICAgIC8vIElOVEENCj4gTWFwcGluZyB0byBJUlEgQg0K PiArI2RlZmluZSBWX1BDSF9JTEJfRFhYSVJfSUFSX1BJUlFDICAgICAgICAgICAgICAgICBCSVQx ICAgICAgICAgICAgICAgICAvLyBJTlRBDQo+IE1hcHBpbmcgdG8gSVJRIEMNCj4gKyNkZWZpbmUg Vl9QQ0hfSUxCX0RYWElSX0lBUl9QSVJRRCAgICAgICAgICAgICAgICAgKEJJVDEgfCBCSVQwKSAg ICAgICAgLy8gSU5UQQ0KPiBNYXBwaW5nIHRvIElSUSBEDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9E WFhJUl9JQVJfUElSUUUgICAgICAgICAgICAgICAgIEJJVDIgICAgICAgICAgICAgICAgIC8vIElO VEENCj4gTWFwcGluZyB0byBJUlEgRQ0KPiArI2RlZmluZSBWX1BDSF9JTEJfRFhYSVJfSUFSX1BJ UlFGICAgICAgICAgICAgICAgICAoQklUMiB8IEJJVDApICAgICAgICAvLyBJTlRBDQo+IE1hcHBp bmcgdG8gSVJRIEYNCj4gKyNkZWZpbmUgVl9QQ0hfSUxCX0RYWElSX0lBUl9QSVJRRyAgICAgICAg ICAgICAgICAgKEJJVDIgfCBCSVQxKSAgICAgICAgLy8gSU5UQQ0KPiBNYXBwaW5nIHRvIElSUSBH DQo+ICsjZGVmaW5lIFZfUENIX0lMQl9EWFhJUl9JQVJfUElSUUggICAgICAgICAgICAgICAgIChC SVQyIHwgQklUMSB8IEJJVDApIC8vIElOVEENCj4gTWFwcGluZyB0byBJUlEgSA0KPiArDQo+ICsj ZGVmaW5lIFJfUENIX0lMQl9PSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjAgIC8v IE90aGVyIEludGVycnVwdCBDb250cm9sbGVyDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9PSUNfU0lS UUVOICAgICAgICAgICAgICAgICAgICAgIEJJVDEyIC8vIFNlcmlhbCBJUlEgRW5hYmxlDQo+ICsj ZGVmaW5lIEJfUENIX0lMQl9PSUNfQUVOICAgICAgICAgICAgICAgICAgICAgICAgIEJJVDggIC8v IEFQSUMgRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfSUxCX1JUQ19DT05GICAgICAgICAg ICAgICAgICAgICAgICAgMHg2NCAgLy8gUlRDIENvbnRyb2wNCj4gKyNkZWZpbmUgQl9QQ0hfSUxC X1JUQ19DT05GX1VDTU9TX0xPQ0sgICAgICAgICAgICAgQklUMSAgLy8gVXBwZXIgMTI4DQo+IEJ5 dGUgTG9jaw0KPiArI2RlZmluZSBCX1BDSF9JTEJfUlRDX0NPTkZfTENNT1NfTE9DSyAgICAgICAg ICAgICBCSVQwICAvLyBMb3dlciAxMjgNCj4gQnl0ZSBMb2NrDQo+ICsNCj4gKyNkZWZpbmUgUl9Q Q0hfSUxCX1JUTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2OCAgLy8gUlRDIFRlc3Qg TW9kZQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfUlRNX1JUTTEgICAgICAgICAgICAgICAgICAgICAg ICAoQklUMiB8IEJJVDEgfCBCSVQwKQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9CQ1MgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4NkMgIC8vIEJJT1MgQ29udHJvbCBTdGF0dXMNCj4g KyNkZWZpbmUgQl9QQ0hfSUxCX0JDU19TTUlXUEVOICAgICAgICAgICAgICAgICAgICAgQklUMSAg Ly8gU01JIFdQRCBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0JDU19TTUlXUFNUICAgICAg ICAgICAgICAgICAgICAgQklUMCAgLy8gU01JIFdQRCBTdGF0dXMNCj4gKw0KPiArI2RlZmluZSBS X1BDSF9JTEJfTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDcwICAvLyBMRQ0KPiAr I2RlZmluZSBCX1BDSF9JTEJfTEVfSVJRMTJDICAgICAgICAgICAgICAgICAgICAgICBCSVQxICAv LyBJUlExMiBDYXVzZQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfTEVfSVJRMUMgICAgICAgICAgICAg ICAgICAgICAgICBCSVQwICAvLyBJUlExIENhdXNlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfSUxC X1JUQ0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3NCAgLy8gUlRDIEhJUCBDb25maWd1 cmF0aW9uDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9SVENDX1JUQ0I0ICAgICAgICAgICAgICAgICAg ICAgIEJJVDYgIC8vIFJUQyBCaWFzIFJlc2lzdG9yIDQsDQo+IEFkZHMgNDgwIEtvaG0NCj4gKyNk ZWZpbmUgQl9QQ0hfSUxCX1JUQ0NfUlRDQjMgICAgICAgICAgICAgICAgICAgICAgQklUNSAgLy8g UlRDIEJpYXMgUmVzaXN0b3IgMywNCj4gQWRkcyAyNDAgS29obQ0KPiArI2RlZmluZSBCX1BDSF9J TEJfUlRDQ19SVENCMiAgICAgICAgICAgICAgICAgICAgICBCSVQ0ICAvLyBSVEMgQmlhcyBSZXNp c3RvciAyLA0KPiBBZGRzIDEyMCBLb2htDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9SVENDX1JUQ0Ix ICAgICAgICAgICAgICAgICAgICAgIEJJVDMgIC8vIFJUQyBCaWFzIFJlc2lzdG9yIDEsDQo+IEFk ZHMgNjAgS29obQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfUlRDQ19SVENCMCAgICAgICAgICAgICAg ICAgICAgICBCSVQyICAvLyBSVEMgQmlhcyBSZXNpc3RvciAwLA0KPiBBZGRzIDMwIEtvaG0NCj4g KyNkZWZpbmUgQl9QQ0hfSUxCX1JUQ0NfRFNXRU4gICAgICAgICAgICAgICAgICAgICAgQklUMSAg Ly8gRGVlcCBTbGVlcCBXZWxsDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfUlRDQ19G RU4gICAgICAgICAgICAgICAgICAgICAgICBCSVQwICAvLyBFbmFibGUgdGhlIEZhc3QgT3NjaWxs YXRvcg0KPiBCeXBhc3MgTW9kZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9ERUYwICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4NzggIC8vIERlZmVhdHVyZSBSZWdpc3RlciAwDQo+ICsj ZGVmaW5lIEJfUENIX0lMQl9ERUYwX1NIUlRTWU5DICAgICAgICAgICAgICAgICAgIEJJVDIyIC8v IFNob3J0IFN5bmMgQWJvcnQNCj4gRGVmZWF0dXJlDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9ERUYw X1NERCAgICAgICAgICAgICAgICAgICAgICAgIEJJVDIxIC8vIFN1YiBEZWNvZGUgRGlzYWJsZQ0K PiArDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9ERUYxICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4N0MgIC8vIERlZmVhdHVyZSBSZWdpc3RlciAxDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9ERUYx X1RQTVBGICAgICAgICAgICAgICAgICAgICAgIEJJVDEwIC8vDQo+IHVzYjJsZWdfY2hrbmJpdF9U UE1fUEYNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0RFRjFfSFBFVERFRiAgICAgICAgICAgICAgICAg ICAgQklUOCAgLy8gdXNiMmxlZ19jaGtuYml0X2hwZXQNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0RF RjFfRUNXUyAgICAgICAgICAgICAgICAgICAgICAgQklUNiAgLy8gODI1NCBFYXJseSBDVyBTZWxl Y3QNCj4gKyNkZWZpbmUgQl9QQ0hfSUxCX0RFRjFfRk9GICAgICAgICAgICAgICAgICAgICAgICAg QklUNSAgLy8gODI1NCBGcmVlemUgb24gZmlyc3Qgb24NCj4gMXN0IHJkIHdyMTENCj4gKyNkZWZp bmUgQl9QQ0hfSUxCX0RFRjFfRk9BUiAgICAgICAgICAgICAgICAgICAgICAgQklUNCAgLy8gODI1 NA0KPiBGcmVlemVfT25fQW55UmVhZA0KPiArI2RlZmluZSBCX1BDSF9JTEJfREVGMV9MTU9PICAg ICAgICAgICAgICAgICAgICAgICBCSVQzICAvLyA4MjU5DQo+IEwyTDBfTWF0Y2hfT25fT0NXMg0K PiArI2RlZmluZSBCX1BDSF9JTEJfREVGMV9ERlAgICAgICAgICAgICAgICAgICAgICAgICBCSVQy ICAvLyA4MjU5DQo+IERpc2FibGVfRnJlZXplX1ByaW9yaXR5DQo+ICsjZGVmaW5lIEJfUENIX0lM Ql9ERUYxX0VFVEkgICAgICAgICAgICAgICAgICAgICAgIEJJVDEgIC8vIDgyNTkNCj4gRXh0ZW5k X0VkZ2VUcmlnX0lSUQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfREVGMV9EU0FFT0kgICAgICAgICAg ICAgICAgICAgICBCSVQwICAvLyA4MjU5DQo+IERpc2FibGVfU2xhdmVfQUVPSQ0KPiArDQo+ICsj ZGVmaW5lIFJfUENIX0lMQl9HTk1JICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAgIC8v IE5NSSBSZWdpc3Rlcg0KPiArI2RlZmluZSBTX1BDSF9JTEJfR05NSSAgICAgICAgICAgICAgICAg ICAgICAgICAgICA0DQo+ICsjZGVmaW5lIEJfUENIX0lMQl9HTk1JX05NSTJTTUlFTiAgICAgICAg ICAgICAgICAgIEJJVDYgIC8vIE5NSSB0byBTTUkgRW5hYmxlDQo+ICsjZGVmaW5lIE5fUENIX0lM Ql9HTk1JX05NSTJTTUlFTiAgICAgICAgICAgICAgICAgIDYNCj4gKyNkZWZpbmUgQl9QQ0hfSUxC X0dOTUlfTk1JMlNNSVNUICAgICAgICAgICAgICAgICAgQklUNSAgLy8gTk1JIHRvIFNNSSBTdGF0 dXMNCj4gKyNkZWZpbmUgTl9QQ0hfSUxCX0dOTUlfTk1JMlNNSVNUICAgICAgICAgICAgICAgICAg NQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfR05NSV9OTUlOICAgICAgICAgICAgICAgICAgICAgICBC SVQ0ICAvLyBOTUkgTk9XDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9HTk1JX05NSU5TICAgICAgICAg ICAgICAgICAgICAgIEJJVDMgIC8vIE5NSSBOT1cgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0lM Ql9HTk1JX0dOTUlFRCAgICAgICAgICAgICAgICAgICAgIEJJVDIgIC8vIEdQSU8gTk1JIEVkZ2UN Cj4gRGV0ZWN0aW9uDQo+ICsjZGVmaW5lIEJfUENIX0lMQl9HTk1JX0dOTUlFICAgICAgICAgICAg ICAgICAgICAgIEJJVDEgIC8vIEdQSU8gTk1JIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9JTEJf R05NSV9HTk1JUyAgICAgICAgICAgICAgICAgICAgICBCSVQwICAvLyBHUElPIE5NSSBTdGF0dXMN Cj4gKw0KPiArI2RlZmluZSBSX1BDSF9JTEJfTFBDQyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDg0ICAvLyBMUEMgQ29udHJvbA0KPiArI2RlZmluZSBCX1BDSF9JTEJfTFBDQ19MUENDTEtf U0xDICAgICAgICAgICAgICAgICBCSVQ4ICAvLyBpTFBDQ0xLIE11eCBTZWxlY3QNCj4gKyNkZWZp bmUgQl9QQ0hfSUxCX0xQQ0NfTFBDQ0xLX0ZPUkNFX09GRiAgICAgICAgICAgQklUMw0KPiArI2Rl ZmluZSBCX1BDSF9JTEJfTFBDQ19DTEtSVU5fRU4gICAgICAgICAgICAgICAgICBCSVQyICAvLyBM UEMgQ0xLUlVODQo+IFByb3RvY29sIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9JTEJfTFBDQ19M UENDTEsxRU4gICAgICAgICAgICAgICAgICBCSVQxICAvLyBDbG9jayAxIEVuYWJsZQ0KPiArI2Rl ZmluZSBCX1BDSF9JTEJfTFBDQ19MUENDTEswRU4gICAgICAgICAgICAgICAgICBCSVQwICAvLyBD bG9jayAwIEVuYWJsZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0lMQl9JUlFFICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4ODggIC8vIElSUSBFbmFibGUgQ29udHJvbA0KPiArI2RlZmluZSBC X1BDSF9JTEJfSVJRRV9JUlE0VE83RU4gICAgICAgICAgICAgICAgICAoQklUNyB8IEJJVDYgfCBC SVQ1IHwgQklUNCkgLy8NCj4gSVJRNCAtIElSUTcgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX0lM Ql9JUlFFX1VBUlRJUlFFTl9JUlEzICAgICAgICAgICAgIEJJVDMgIC8vIFVBUlQgSVJRMw0KPiBF bmFibGUNCj4gKw0KPiArLy8NCj4gKy8vIEFDUEkgYW5kIExlZ2FjeSBJL08gUmVnaXN0ZXJzIChB QkFTRSkNCj4gKy8vDQo+ICsjZGVmaW5lIFJfUENIX0FDUElfUE0xX1NUUyAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAgIC8vIFBvd2VyIE1hbmFnZW1lbnQgMQ0KPiBTdGF0dXMNCj4gKyNkZWZp bmUgU19QQ0hfQUNQSV9QTTFfU1RTICAgICAgICAgICAgICAgICAgICAgICAgMg0KPiArI2RlZmlu ZSBCX1BDSF9BQ1BJX1BNMV9TVFNfV0FLICAgICAgICAgICAgICAgICAgICBCSVQxNSAvLyBXYWtl IFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX1BNMV9TVFNfV0FLX1BDSUUwICAgICAgICAg ICAgICBCSVQxNCAvLyBQQ0kgRXhwcmVzcyAwDQo+IFdha2UgU3RhdHVzDQo+ICsjZGVmaW5lIEJf UENIX0FDUElfUE0xX1NUU19VU0JfQ0xLTEVTUyAgICAgICAgICAgIEJJVDEzIC8vIFVTQiBDbG9j a2xlc3MNCj4gU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0FDUElfUE0xX1NUU19QUkJUTk9SICAg ICAgICAgICAgICAgIEJJVDExIC8vIFBvd2VyIEJ1dHRvbg0KPiBPdmVycmlkZSBTdGF0dXMNCj4g KyNkZWZpbmUgQl9QQ0hfQUNQSV9QTTFfU1RTX1JUQyAgICAgICAgICAgICAgICAgICAgQklUMTAg Ly8gUlRDIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX1BNMV9TVFNfUFdSQlROICAgICAg ICAgICAgICAgICBCSVQ4ICAvLyBQb3dlciBCdXR0b24NCj4gU3RhdHVzDQo+ICsjZGVmaW5lIEJf UENIX0FDUElfUE0xX1NUU19HQkwgICAgICAgICAgICAgICAgICAgIEJJVDUgIC8vIEdsb2JhbCBT dGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfQUNQSV9QTTFfU1RTX1dBS19QQ0lFMyAgICAgICAgICAg ICAgQklUNCAgLy8gUENJIEV4cHJlc3MgMw0KPiBXYWtlIFN0YXR1cw0KPiArI2RlZmluZSBCX1BD SF9BQ1BJX1BNMV9TVFNfV0FLX1BDSUUyICAgICAgICAgICAgICBCSVQzICAvLyBQQ0kgRXhwcmVz cyAyDQo+IFdha2UgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0FDUElfUE0xX1NUU19XQUtfUENJ RTEgICAgICAgICAgICAgIEJJVDIgIC8vIFBDSSBFeHByZXNzIDENCj4gV2FrZSBTdGF0dXMNCj4g KyNkZWZpbmUgQl9QQ0hfQUNQSV9QTTFfU1RTX1RNUk9GICAgICAgICAgICAgICAgICAgQklUMCAg Ly8gVGltZXIgT3ZlcmZsb3cNCj4gU3RhdHVzDQo+ICsjZGVmaW5lIE5fUENIX0FDUElfUE0xX1NU U19XQUsgICAgICAgICAgICAgICAgICAgIDE1DQo+ICsjZGVmaW5lIE5fUENIX0FDUElfUE0xX1NU U19QUkJUTk9SICAgICAgICAgICAgICAgIDExDQo+ICsjZGVmaW5lIE5fUENIX0FDUElfUE0xX1NU U19SVEMgICAgICAgICAgICAgICAgICAgIDEwDQo+ICsjZGVmaW5lIE5fUENIX0FDUElfUE0xX1NU U19QV1JCVE4gICAgICAgICAgICAgICAgIDgNCj4gKyNkZWZpbmUgTl9QQ0hfQUNQSV9QTTFfU1RT X0dCTCAgICAgICAgICAgICAgICAgICAgNQ0KPiArI2RlZmluZSBOX1BDSF9BQ1BJX1BNMV9TVFNf VE1ST0YgICAgICAgICAgICAgICAgICAwDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfQUNQSV9QTTFf RU4gICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiAgLy8gUG93ZXIgTWFuYWdlbWVudCAxDQo+ IEVuYWJsZXMNCj4gKyNkZWZpbmUgU19QQ0hfQUNQSV9QTTFfRU4gICAgICAgICAgICAgICAgICAg ICAgICAgMg0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX1BNMV9XQUtfRElTX1BDSUUwICAgICAgICAg ICAgICBCSVQxNCAvLyBQQ0kgRXhwcmVzcyAwDQo+IERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hf QUNQSV9QTTFfRU5fVVNCX0NMS0xFU1MgICAgICAgICAgICAgQklUMTMgLy8gVVNCIENsb2NrbGVz cw0KPiBFbmFibGUgQml0DQo+ICsjZGVmaW5lIEJfUENIX0FDUElfUE0xX0VOX1JUQyAgICAgICAg ICAgICAgICAgICAgIEJJVDEwIC8vIFJUQyBBbGFybSBFbmFibGUgQml0DQo+ICsjZGVmaW5lIEJf UENIX0FDUElfUE0xX0VOX1BXUkJUTiAgICAgICAgICAgICAgICAgIEJJVDggIC8vIFBvd2VyIEJ1 dHRvbg0KPiBFbmFibGUgQml0DQo+ICsjZGVmaW5lIEJfUENIX0FDUElfUE0xX0VOX0dCTCAgICAg ICAgICAgICAgICAgICAgIEJJVDUgIC8vIEdsb2JhbCBFbmFibGUgQml0DQo+ICsjZGVmaW5lIEJf UENIX0FDUElfUE0xX1dBS19ESVNfUENJRTMgICAgICAgICAgICAgIEJJVDQgIC8vIFBDSSBFeHBy ZXNzIDMNCj4gRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX1BNMV9XQUtfRElTX1BDSUUy ICAgICAgICAgICAgICBCSVQzICAvLyBQQ0kgRXhwcmVzcyAyDQo+IERpc2FibGUNCj4gKyNkZWZp bmUgQl9QQ0hfQUNQSV9QTTFfV0FLX0RJU19QQ0lFMSAgICAgICAgICAgICAgQklUMiAgLy8gUENJ IEV4cHJlc3MgMQ0KPiBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX0FDUElfUE0xX0VOX1RNUk9G ICAgICAgICAgICAgICAgICAgIEJJVDAgIC8vIFRpbWVyIE92ZXJmbG93DQo+IEludGVycnVwdCBF bmFibGUgQml0DQo+ICsjZGVmaW5lIE5fUENIX0FDUElfUE0xX0VOX1JUQyAgICAgICAgICAgICAg ICAgICAgIDEwDQo+ICsjZGVmaW5lIE5fUENIX0FDUElfUE0xX0VOX1BXUkJUTiAgICAgICAgICAg ICAgICAgIDgNCj4gKyNkZWZpbmUgTl9QQ0hfQUNQSV9QTTFfRU5fR0JMICAgICAgICAgICAgICAg ICAgICAgNQ0KPiArI2RlZmluZSBOX1BDSF9BQ1BJX1BNMV9FTl9UTVJPRiAgICAgICAgICAgICAg ICAgICAwDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfQUNQSV9QTTFfQ05UICAgICAgICAgICAgICAg ICAgICAgICAgMHgwNCAgLy8gUG93ZXIgTWFuYWdlbWVudCAxDQo+IENvbnRyb2wNCj4gKyNkZWZp bmUgU19QQ0hfQUNQSV9QTTFfQ05UICAgICAgICAgICAgICAgICAgICAgICAgNA0KPiArI2RlZmlu ZSBCX1BDSF9BQ1BJX1BNMV9DTlRfU0xQX0VOICAgICAgICAgICAgICAgICBCSVQxMyAvLyBTbGVl cCBlbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfQUNQSV9QTTFfQ05UX1NMUF9UWVAgICAgICAgICAg ICAgICAgKEJJVDEyIHwgQklUMTEgfCBCSVQxMCkgLy8NCj4gU2xlZXAgVHlwZQ0KPiArI2RlZmlu ZSBWX1BDSF9BQ1BJX1BNMV9DTlRfUzAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwIC8v IE9OIChTMCkNCj4gKyNkZWZpbmUgVl9QQ0hfQUNQSV9QTTFfQ05UX1MxICAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMDQwMCAvLyBQdXRzIENQVSBpbiBTMQ0KPiBzdGF0ZSAoUzEpDQo+ICsjZGVm aW5lIFZfUENIX0FDUElfUE0xX0NOVF9TMyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDE0MDAg Ly8gU3VzcGVuZC10by0NCj4gUkFNIChTMykNCj4gKyNkZWZpbmUgVl9QQ0hfQUNQSV9QTTFfQ05U X1M0ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTgwMCAvLyBTdXNwZW5kLXRvLQ0KPiBEaXNr IChTNCkNCj4gKyNkZWZpbmUgVl9QQ0hfQUNQSV9QTTFfQ05UX1M1ICAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMUMwMCAvLyBTb2Z0IE9mZiAoUzUpDQo+ICsjZGVmaW5lIEJfUENIX0FDUElfUE0x X0NOVF9HQkxfUkxTICAgICAgICAgICAgICAgIEJJVDINCj4gKyNkZWZpbmUgQl9QQ0hfQUNQSV9Q TTFfQ05UX0JNX1JMRCAgICAgICAgICAgICAgICAgQklUMSAgLy8gVHJlYXRlZCBhcw0KPiBTY3Jh dGNocGFkIEJpdA0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX1BNMV9DTlRfU0NJX0VOICAgICAgICAg ICAgICAgICBCSVQwICAvLyBTQ0kgRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfQUNQSV9Q TTFfVE1SICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCAgLy8gUG93ZXIgTWFuYWdlbWVudCAx DQo+IFRpbWVyDQo+ICsjZGVmaW5lIEJfUENIX0FDUElfUE0xX1RNUl9WQUwgICAgICAgICAgICAg ICAgICAgIDB4RkZGRkZGIC8vIFRoZSB0aW1lciB2YWx1ZQ0KPiBtYXNrDQo+ICsjZGVmaW5lIFZf UENIX0FDUElfUE0xX1RNUl9NQVhfVkFMICAgICAgICAgICAgICAgIDB4MTAwMDAwMCAvLyBUaGUg dGltZXINCj4gaXMgMjQgYml0IG92ZXJmbG93DQo+ICsjZGVmaW5lIFZfUENIX0FDUElfUE0xX1RN Ul9GUkVRVUVOQ1kgICAgICAgICAgICAgIDM1Nzk1NDUgLy8gVGltZXINCj4gRnJlcXVlbmN5DQo+ ICsjZGVmaW5lIFZfUENIX0FDUElfUE0xX1RNUl9OVU1fQklUUyAgICAgICAgICAgICAgIDI0ICAg IC8vIFByb2dyYW1tZWQgdG8NCj4gMjQgbm90IDMyDQo+ICsjZGVmaW5lIFZfUENIX0FDUElfUE0x X1RNUl9NQVhfQklUUyAgICAgICAgICAgICAgIDMyDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfQUNQ SV9HUEUwYV9TVFMgICAgICAgICAgICAgICAgICAgICAgMHgyMCAgLy8gR2VuZXJhbCBQdXJwb3Nl IEV2ZW50DQo+IDBhIFN0YXR1cw0KPiArI2RlZmluZSBTX1BDSF9BQ1BJX0dQRTBhX1NUUyAgICAg ICAgICAgICAgICAgICAgICA0DQo+ICsjZGVmaW5lIEJfUENIX0FDUElfR1BFMGFfU1RTX0NPUkVf R1BJTyAgICAgICAgICAgIDB4RkYwMDAwMDAgLy8gQ09SRQ0KPiBHUElPIFN0YXR1cw0KPiArI2Rl ZmluZSBCX1BDSF9BQ1BJX0dQRTBhX1NUU19TVVNfR1BJTyAgICAgICAgICAgICAweDAwRkYwMDAw IC8vIFNVUw0KPiBHUElPIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX0dQRTBhX1NUU19Q TUVfQjAgICAgICAgICAgICAgICBCSVQxMyAvLyBQb3dlcg0KPiBNYW5hZ2VtZW50IEV2ZW50IEJ1 cyAwIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX0dQRTBhX1NUU19CQVRMT1cgICAgICAg ICAgICAgICBCSVQxMCAvLyBCYXR0ZXJ5IExvdw0KPiBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hf QUNQSV9HUEUwYV9TVFNfUENJX0VYUCAgICAgICAgICAgICAgQklUOSAgLy8gUENJIEV4cHJlc3MN Cj4gU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0FDUElfR1BFMGFfU1RTX0dVTklUX1NDSSAgICAg ICAgICAgIEJJVDUgIC8vIEdVTklUIFNDSQ0KPiBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfQUNQ SV9HUEUwYV9TVFNfUFVOSVRfU0NJICAgICAgICAgICAgQklUNCAgLy8gUFVOSVQgU0NJDQo+IFN0 YXR1cw0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX0dQRTBhX1NUU19TV0dQRSAgICAgICAgICAgICAg ICBCSVQyICAvLyBTb2Z0d2FyZSBHUEUNCj4gU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX0FDUElf R1BFMGFfU1RTX0hPVF9QTFVHICAgICAgICAgICAgIEJJVDEgIC8vIEhvdCBQbHVnIFN0YXR1cw0K PiArI2RlZmluZSBOX1BDSF9BQ1BJX0dQRTBhX1NUU19QTUVfQjAgICAgICAgICAgICAgICAxMw0K PiArI2RlZmluZSBOX1BDSF9BQ1BJX0dQRTBhX1NUU19CQVRMT1cgICAgICAgICAgICAgICAxMA0K PiArI2RlZmluZSBOX1BDSF9BQ1BJX0dQRTBhX1NUU19QQ0lfRVhQICAgICAgICAgICAgICA5DQo+ ICsjZGVmaW5lIE5fUENIX0FDUElfR1BFMGFfU1RTX0dVTklUX1NDSSAgICAgICAgICAgIDUNCj4g KyNkZWZpbmUgTl9QQ0hfQUNQSV9HUEUwYV9TVFNfUFVOSVRfU0NJICAgICAgICAgICAgNA0KPiAr I2RlZmluZSBOX1BDSF9BQ1BJX0dQRTBhX1NUU19TV0dQRSAgICAgICAgICAgICAgICAyDQo+ICsj ZGVmaW5lIE5fUENIX0FDUElfR1BFMGFfU1RTX0hPVF9QTFVHICAgICAgICAgICAgIDENCj4gKw0K PiArI2RlZmluZSBSX1BDSF9BQ1BJX0dQRTBhX0VOICAgICAgICAgICAgICAgICAgICAgICAweDI4 ICAvLyBHZW5lcmFsIFB1cnBvc2UgRXZlbnQNCj4gMGEgRW5hYmxlcw0KPiArI2RlZmluZSBTX1BD SF9BQ1BJX0dQRTBhX0VOICAgICAgICAgICAgICAgICAgICAgICA0DQo+ICsjZGVmaW5lIEJfUENI X0FDUElfR1BFMGFfRU5fQ09SRV9HUElPICAgICAgICAgICAgIDB4RkYwMDAwMDAgLy8gQ09SRQ0K PiBHUElPIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX0dQRTBhX0VOX1NVU19HUElPICAg ICAgICAgICAgICAweDAwRkYwMDAwIC8vIFNVUyBHUElPDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBC X1BDSF9BQ1BJX0dQRTBhX0VOX1BNRV9CMCAgICAgICAgICAgICAgICBCSVQxMyAvLyBQb3dlcg0K PiBNYW5hZ2VtZW50IEV2ZW50IEJ1cyAwIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX0dQ RTBhX0VOX0JBVExPVyAgICAgICAgICAgICAgICBCSVQxMCAvLyBCYXR0ZXJ5IExvdw0KPiBFbmFi bGUNCj4gKyNkZWZpbmUgQl9QQ0hfQUNQSV9HUEUwYV9FTl9QQ0lfRVhQICAgICAgICAgICAgICAg QklUOSAgLy8gUENJIEV4cHJlc3MNCj4gRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX0FDUElfR1BF MGFfRU5fU1dHUEUgICAgICAgICAgICAgICAgIEJJVDIgIC8vIFNvZnR3YXJlIEdQRQ0KPiBFbmFi bGUNCj4gKyNkZWZpbmUgQl9QQ0hfQUNQSV9HUEUwYV9FTl9IT1RfUExVRyAgICAgICAgICAgICAg QklUMSAgLy8gSG90IFBsdWcgRW5hYmxlDQo+ICsjZGVmaW5lIE5fUENIX0FDUElfR1BFMGFfRU5f UE1FX0IwICAgICAgICAgICAgICAgIDEzDQo+ICsjZGVmaW5lIE5fUENIX0FDUElfR1BFMGFfRU5f QkFUTE9XICAgICAgICAgICAgICAgIDEwDQo+ICsjZGVmaW5lIE5fUENIX0FDUElfR1BFMGFfRU5f UENJX0VYUCAgICAgICAgICAgICAgIDkNCj4gKyNkZWZpbmUgTl9QQ0hfQUNQSV9HUEUwYV9FTl9T V0dQRSAgICAgICAgICAgICAgICAgMg0KPiArI2RlZmluZSBOX1BDSF9BQ1BJX0dQRTBhX0VOX0hP VF9QTFVHICAgICAgICAgICAgICAxDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU01JX0VOICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgzMCAgLy8gU01JIENvbnRyb2wgYW5kIEVuYWJsZQ0K PiArI2RlZmluZSBTX1BDSF9TTUlfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0DQo+ ICsjZGVmaW5lIEJfUENIX1NNSV9FTl9MRUdBQ1lfVVNCMyAgICAgICAgICAgICAgICAgIEJJVDMx IC8vIExlZ2FjeSBVU0IgMw0KPiBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX0VOX0lOVEVM X1VTQjIgICAgICAgICAgICAgICAgICAgQklUMTggLy8gSW50ZWwgVVNCIDIgRW5hYmxlDQo+ICsj ZGVmaW5lIEJfUENIX1NNSV9FTl9MRUdBQ1lfVVNCMiAgICAgICAgICAgICAgICAgIEJJVDE3IC8v IExlZ2FjeSBVU0IgMg0KPiBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX0VOX1BFUklPRElD ICAgICAgICAgICAgICAgICAgICAgQklUMTQgLy8gUGVyaW9kaWMgRW5hYmxlDQo+ICsjZGVmaW5l IEJfUENIX1NNSV9FTl9UQ08gICAgICAgICAgICAgICAgICAgICAgICAgIEJJVDEzIC8vIFRDTyBF bmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX0VOX0JJT1NfUkxTICAgICAgICAgICAgICAgICAg ICAgQklUNyAgLy8gQklPUyBSTFMNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX0VOX1NXU01JX1RNUiAg ICAgICAgICAgICAgICAgICAgQklUNiAgLy8gU29mdHdhcmUgU01JDQo+IFRpbWVyIEVuYWJsZQ0K PiArI2RlZmluZSBCX1BDSF9TTUlfRU5fQVBNQyAgICAgICAgICAgICAgICAgICAgICAgICBCSVQ1 ICAvLyBBUE1DIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9TTUlfRU5fT05fU0xQX0VOICAgICAg ICAgICAgICAgICAgICBCSVQ0ICAvLyBTTUkgT24gU2xlZXANCj4gRW5hYmxlDQo+ICsjZGVmaW5l IEJfUENIX1NNSV9FTl9CSU9TICAgICAgICAgICAgICAgICAgICAgICAgIEJJVDIgIC8vIEJJT1Mg RW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1NNSV9FTl9FT1MgICAgICAgICAgICAgICAgICAgICAg ICAgIEJJVDEgIC8vIEVuZCBvZiBTTUkNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX0VOX0dCTF9TTUkg ICAgICAgICAgICAgICAgICAgICAgQklUMCAgLy8gR2xvYmFsIFNNSSBFbmFibGUNCj4gKyNkZWZp bmUgTl9QQ0hfU01JX0VOX0xFR0FDWV9VU0IzICAgICAgICAgICAgICAgICAgMzENCj4gKyNkZWZp bmUgTl9QQ0hfU01JX0VOX0dQSU9fVU5MT0NLICAgICAgICAgICAgICAgICAgMjcNCj4gKyNkZWZp bmUgTl9QQ0hfU01JX0VOX0lOVEVMX1VTQjIgICAgICAgICAgICAgICAgICAgMTgNCj4gKyNkZWZp bmUgTl9QQ0hfU01JX0VOX0xFR0FDWV9VU0IyICAgICAgICAgICAgICAgICAgMTcNCj4gKyNkZWZp bmUgTl9QQ0hfU01JX0VOX1BFUklPRElDICAgICAgICAgICAgICAgICAgICAgMTQNCj4gKyNkZWZp bmUgTl9QQ0hfU01JX0VOX1RDTyAgICAgICAgICAgICAgICAgICAgICAgICAgMTMNCj4gKyNkZWZp bmUgTl9QQ0hfU01JX0VOX0JJT1NfUkxTICAgICAgICAgICAgICAgICAgICAgNw0KPiArI2RlZmlu ZSBOX1BDSF9TTUlfRU5fU1dTTUlfVE1SICAgICAgICAgICAgICAgICAgICA2DQo+ICsjZGVmaW5l IE5fUENIX1NNSV9FTl9BUE1DICAgICAgICAgICAgICAgICAgICAgICAgIDUNCj4gKyNkZWZpbmUg Tl9QQ0hfU01JX0VOX09OX1NMUF9FTiAgICAgICAgICAgICAgICAgICAgNA0KPiArI2RlZmluZSBO X1BDSF9TTUlfRU5fQklPUyAgICAgICAgICAgICAgICAgICAgICAgICAyDQo+ICsjZGVmaW5lIE5f UENIX1NNSV9FTl9FT1MgICAgICAgICAgICAgICAgICAgICAgICAgIDENCj4gKyNkZWZpbmUgTl9Q Q0hfU01JX0VOX0dCTF9TTUkgICAgICAgICAgICAgICAgICAgICAgMA0KPiArDQo+ICsjZGVmaW5l IFJfUENIX1NNSV9TVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzQgIC8vIFNNSSBT dGF0dXMgUmVnaXN0ZXINCj4gKyNkZWZpbmUgU19QQ0hfU01JX1NUUyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgNA0KPiArI2RlZmluZSBCX1BDSF9TTUlfU1RTX0xFR0FDWV9VU0IzICAgICAg ICAgICAgICAgICBCSVQzMSAvLyBMZWdhY3kgVVNCIDMNCj4gU3RhdHVzDQo+ICsjZGVmaW5lIEJf UENIX1NNSV9TVFNfR1VOSVRfU01JICAgICAgICAgICAgICAgICAgIEJJVDI5IC8vIEdVTklUIFNN SSBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX1NUU19QVU5JVF9TTUkgICAgICAgICAgICAg ICAgICAgQklUMjggLy8gUFVOSVQgU01JIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9TTUlfU1RT X1NQSSAgICAgICAgICAgICAgICAgICAgICAgICBCSVQyNiAvLyBTUEkgU01JIFN0YXR1cw0KPiAr I2RlZmluZSBCX1BDSF9TTUlfU1RTX1BDSV9FWFAgICAgICAgICAgICAgICAgICAgICBCSVQyMCAv LyBQQ0kgRXhwcmVzcyBTTUkNCj4gU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX1NNSV9TVFNfSU5U RUxfVVNCMiAgICAgICAgICAgICAgICAgIEJJVDE4IC8vIEludGVsIFVTQiAyIFN0YXR1cw0KPiAr I2RlZmluZSBCX1BDSF9TTUlfU1RTX0xFR0FDWV9VU0IyICAgICAgICAgICAgICAgICBCSVQxNyAv LyBMZWdhY3kgVVNCIDINCj4gU3RhdHVzDQo+ICsjZGVmaW5lIE5fUENIX1NNSV9TVFNfVENPICAg ICAgICAgICAgICAgICAgICAgICAgIDEzDQo+ICsjZGVmaW5lIEJfUENIX1NNSV9TVFNfU01CVVMg ICAgICAgICAgICAgICAgICAgICAgIEJJVDE2IC8vIFNNQlVTIFNNSSBTdGF0dXMNCj4gKyNkZWZp bmUgQl9QQ0hfU01JX1NUU19JTEIgICAgICAgICAgICAgICAgICAgICAgICAgQklUMTUgLy8gSUxC IFNNSSBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX1NUU19QRVJJT0RJQyAgICAgICAgICAg ICAgICAgICAgQklUMTQgLy8gUGVyaW9kaWMgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX1NNSV9T VFNfVENPICAgICAgICAgICAgICAgICAgICAgICAgIEJJVDEzIC8vIFRDTyBTdGF0dXMNCj4gKyNk ZWZpbmUgQl9QQ0hfU01JX1NUU19HUEUwICAgICAgICAgICAgICAgICAgICAgICAgQklUOSAgLy8g R1BFMCBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX1NUU19QTTFfU1RTX1JFRyAgICAgICAg ICAgICAgICAgQklUOCAgLy8gUE0xIFN0YXR1cw0KPiBSZWdpc3Rlcg0KPiArI2RlZmluZSBCX1BD SF9TTUlfU1RTX1NXU01JX1RNUiAgICAgICAgICAgICAgICAgICBCSVQ2ICAvLyBTb2Z0d2FyZSBT TUkNCj4gVGltZXIgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX1NNSV9TVFNfQVBNICAgICAgICAg ICAgICAgICAgICAgICAgIEJJVDUgIC8vIEFQTSBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU01J X1NUU19PTl9TTFBfRU4gICAgICAgICAgICAgICAgICAgQklUNCAgLy8gU01JIE9uIFNsZWVwDQo+ IEVuYWJsZSBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU01JX1NUU19CSU9TICAgICAgICAgICAg ICAgICAgICAgICAgQklUMiAgLy8gQklPUyBTdGF0dXMNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19MRUdBQ1lfVVNCMyAgICAgICAgICAgICAgICAgMzENCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19TUEkgICAgICAgICAgICAgICAgICAgICAgICAgMjYNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19QQ0lfRVhQICAgICAgICAgICAgICAgICAgICAgMjANCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19JTlRFTF9VU0IyICAgICAgICAgICAgICAgICAgMTgNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19MRUdBQ1lfVVNCMiAgICAgICAgICAgICAgICAgMTcNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19TTUJVUyAgICAgICAgICAgICAgICAgICAgICAgMTYNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19JTEIgICAgICAgICAgICAgICAgICAgICAgICAgMTUNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19QRVJJT0RJQyAgICAgICAgICAgICAgICAgICAgMTQNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19UQ08gICAgICAgICAgICAgICAgICAgICAgICAgMTMNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NU U19HUEUwICAgICAgICAgICAgICAgICAgICAgICAgOQ0KPiArI2RlZmluZSBOX1BDSF9TTUlfU1RT X1BNMV9TVFNfUkVHICAgICAgICAgICAgICAgICA4DQo+ICsjZGVmaW5lIE5fUENIX1NNSV9TVFNf U1dTTUlfVE1SICAgICAgICAgICAgICAgICAgIDYNCj4gKyNkZWZpbmUgTl9QQ0hfU01JX1NUU19B UE0gICAgICAgICAgICAgICAgICAgICAgICAgNQ0KPiArI2RlZmluZSBOX1BDSF9TTUlfU1RTX09O X1NMUF9FTiAgICAgICAgICAgICAgICAgICA0DQo+ICsjZGVmaW5lIE5fUENIX1NNSV9TVFNfQklP UyAgICAgICAgICAgICAgICAgICAgICAgIDINCj4gKw0KPiArI2RlZmluZSBSX1BDSF9BTFRfR1Bf U01JX0VOICAgICAgICAgICAgICAgICAgICAgICAweDM4ICAvLyBBbHRlcm5hdGUgR1BJIFNNSQ0K PiBFbmFibGUNCj4gKyNkZWZpbmUgU19QQ0hfQUxUX0dQX1NNSV9FTiAgICAgICAgICAgICAgICAg ICAgICAgMg0KPiArI2RlZmluZSBCX1BDSF9BTFRfR1BfU01JX0VOX0NPUkVfR1BJTyAgICAgICAg ICAgICAweEZGMDAgLy8gU1VTIEdQSU8NCj4gU01JIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9B TFRfR1BfU01JX0VOX1NVU19HUElPICAgICAgICAgICAgICAweDAwRkYgLy8gQ09SRSBHUElPDQo+ IFNNSSBFbmFibGUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9BTFRfR1BfU01JX1NUUyAgICAgICAg ICAgICAgICAgICAgICAweDNBICAvLyBBbHRlcm5hdGUgR1BJIFNNSQ0KPiBTdGF0dXMNCj4gKyNk ZWZpbmUgU19QQ0hfQUxUX0dQX1NNSV9TVFMgICAgICAgICAgICAgICAgICAgICAgMg0KPiArI2Rl ZmluZSBCX1BDSF9BTFRfR1BfU01JX1NUU19DT1JFX0dQSU8gICAgICAgICAgICAweEZGMDAgLy8g U1VTIEdQSU8NCj4gU01JIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9BTFRfR1BfU01JX1NUU19T VVNfR1BJTyAgICAgICAgICAgICAweDAwRkYgLy8gQ09SRSBHUElPDQo+IFNNSSBTdGF0dXMNCj4g Kw0KPiArI2RlZmluZSBSX1BDSF9VUFJXQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDNDICAvLyBVU0IgUGVyLVBvcnQgUmVnaXN0ZXJzDQo+IFdyaXRlIENvbnRyb2wNCj4gKyNkZWZp bmUgU19QQ0hfVVBSV0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMg0KPiArI2RlZmlu ZSBCX1BDSF9VUFJXQ19XUl9FTl9TTUlfU1RTICAgICAgICAgICAgICAgICBCSVQ4IC8vIFdyaXRl IEVuYWJsZQ0KPiBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfVVBSV0NfV1JfRU4gICAgICAgICAg ICAgICAgICAgICAgICAgQklUMSAvLyBVU0IgUGVyLVBvcnQgUmVnaXN0ZXJzDQo+IFdyaXRlIEVu YWJsZQ0KPiArI2RlZmluZSBCX1BDSF9VUFJXQ19XUl9FTl9TTUlfRU4gICAgICAgICAgICAgICAg ICBCSVQwIC8vIFdyaXRlIEVuYWJsZSBTTUkNCj4gRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9Q Q0hfQUNQSV9HUEVfQ05UTCAgICAgICAgICAgICAgICAgICAgICAgMHg0MCAgLy8gR2VuZXJhbCBQ dXJwb3NlIEV2ZW50DQo+IENvbnRyb2wNCj4gKyNkZWZpbmUgQl9QQ0hfQUNQSV9HUEVfQ05UTF9T V0dQRV9DVFJMICAgICAgICAgICAgQklUMTcgLy8gU29mdHdhcmUgR1BFDQo+IENvbnRyb2wNCj4g KyNkZWZpbmUgQl9QQ0hfQUNQSV9HUEVfQ05UTF9QQ0lFM19TQ0lfRU4gICAgICAgICAgQklUMw0K PiArI2RlZmluZSBCX1BDSF9BQ1BJX0dQRV9DTlRMX1BDSUUyX1NDSV9FTiAgICAgICAgICBCSVQy DQo+ICsjZGVmaW5lIEJfUENIX0FDUElfR1BFX0NOVExfUENJRTFfU0NJX0VOICAgICAgICAgIEJJ VDENCj4gKyNkZWZpbmUgQl9QQ0hfQUNQSV9HUEVfQ05UTF9QQ0lFMF9TQ0lfRU4gICAgICAgICAg QklUMA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0FDUElfUE0yX0NOVCAgICAgICAgICAgICAgICAg ICAgICAgIDB4NTAgIC8vIFBNMmEgQ29udHJvbCBCbG9jaw0KPiArI2RlZmluZSBCX1BDSF9BQ1BJ X1BNMl9DTlRfQVJCX0RJUyAgICAgICAgICAgICAgICBCSVQwICAvLyBTY3JhdGNocGFkIEJpdA0K PiArDQo+ICsjZGVmaW5lIFJfUENIX1RDT19STEQgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4NjAgIC8vIFRDTyBSZWxvYWQNCj4gKyNkZWZpbmUgQl9QQ0hfVENPX1JMRF9WQUwgICAgICAg ICAgICAgICAgICAgICAgICAgMHgzRkYgLy8gVENPIFRpbWVyIENvdW50IFZhbHVlDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfVENPX1NUUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NCAg Ly8gVENPIFRpbWVyIFN0YXR1cw0KPiArI2RlZmluZSBTX1BDSF9UQ09fU1RTICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA0DQo+ICsjZGVmaW5lIEJfUENIX1RDT19TVFNfU0VDT05EX1RPICAg ICAgICAgICAgICAgICAgIEJJVDE3IC8vIFNlY29uZCBUaW1lb3V0DQo+IFN0YXR1cw0KPiArI2Rl ZmluZSBCX1BDSF9UQ09fU1RTX1RJTUVPVVQgICAgICAgICAgICAgICAgICAgICBCSVQzICAvLyBU aW1lb3V0DQo+ICsjZGVmaW5lIE5fUENIX1RDT19TVFNfVElNRU9VVCAgICAgICAgICAgICAgICAg ICAgIDMNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9UQ09fQ05UICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDY4ICAvLyBUQ08gQ29udHJvbA0KPiArI2RlZmluZSBTX1BDSF9UQ09fQ05UICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAyDQo+ICsjZGVmaW5lIEJfUENIX1RDT19DTlRfT1Nf UE9MSUNZICAgICAgICAgICAgICAgICAgIChCSVQyMSB8IEJJVDIwKSAvLyBPUyBQb2xpY3kNCj4g KyNkZWZpbmUgQl9QQ0hfVENPX0NOVF9MT0NLICAgICAgICAgICAgICAgICAgICAgICAgQklUMTIg Ly8gVENPIEVuYWJsZSBMb2NrDQo+ICsjZGVmaW5lIEJfUENIX1RDT19DTlRfVE1SX0hMVCAgICAg ICAgICAgICAgICAgICAgIEJJVDExIC8vIFRDTyBUaW1lciBIYWx0DQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfVENPX1RNUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MCAgLy8gVENPIFRp bWVyDQo+ICsjZGVmaW5lIEJfUENIX1RDT19UTVJfVENPX1RSTEQgICAgICAgICAgICAgICAgICAg IDB4M0ZGMDAwMA0KPiArDQo+ICsvLw0KPiArLy8gUE1DIE1lbW9yeSBTcGFjZSBSZWdpc3RlcnMg KFBCQVNFKQ0KPiArLy8NCj4gKyNkZWZpbmUgUl9QQ0hfUE1DX1BSU1RTICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMCAgLy8gUG93ZXIgYW5kIFJlc2V0IFN0YXR1cw0KPiArI2RlZmluZSBC X1BDSF9QTUNfUFJTVFNfUFJPRElEICAgICAgICAgICAgICAgICAgICAweEZGMDAwMDAwIC8vIFBv d2VyDQo+IE1hbmFnZW1lbnQgQ29udHJvbGxlciBQcm9kdWN0IElEDQo+ICsjZGVmaW5lIEJfUENI X1BNQ19QUlNUU19SRVZJRCAgICAgICAgICAgICAgICAgICAgIDB4MDBGRjAwMDAgLy8gUG93ZXIN Cj4gTWFuYWdlbWVudCBDb250cm9sbGVyIFJldmlzaW9uIElEDQo+ICsjZGVmaW5lIEJfUENIX1BN Q19QUlNUU19QTV9XRF9UTVIgICAgICAgICAgICAgICAgIEJJVDE1IC8vIFBNQw0KPiBXYXRjaGRv ZyBUaW1lciBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1BSU1RTX0NPREVfQ09QSUVEX1NU UyAgICAgICAgICAgQklUMTEgLy8gUGF0Y2gNCj4gQ29waWVkIE92ZXIgU3RhdHVzDQo+ICsjZGVm aW5lIEJfUENIX1BNQ19QUlNUU19DT0RFX0xPQURfVE8gICAgICAgICAgICAgIEJJVDkgIC8vIFBh dGNoIExvYWQNCj4gVGltZW91dCBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1BSU1RTX09Q X1NUUyAgICAgICAgICAgICAgICAgICAgQklUOCAgLy8gUE1DIE9wZXJhdGlvbmFsDQo+IFN0YXR1 cw0KPiArI2RlZmluZSBCX1BDSF9QTUNfUFJTVFNfU0VDX0dCTFJTVF9TVFMgICAgICAgICAgICBC SVQ3ICAvLyBTRUMgR2xvYmFsDQo+IFJlc2V0IFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9QTUNf UFJTVFNfU0VDX1dEX1RNUl9TVFMgICAgICAgICAgICBCSVQ2ICAvLyBTRUMNCj4gV2F0Y2hkb2cg VGltZXIgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QUlNUU19XT0xfT1ZSX1dLX1NUUyAg ICAgICAgICAgIEJJVDUgIC8vIFdha2UgT24NCj4gTEFOIE92ZXJyaWRlIFdha2UgU3RhdHVzDQo+ ICsjZGVmaW5lIEJfUENIX1BNQ19QUlNUU19IT1NUX1dBS0VfU1RTICAgICAgICAgICAgIEJJVDQg IC8vIFBNQyBIb3N0DQo+IFdha2UgU3RhdHVzDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUE1DX1BN X0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCAgLy8gUG93ZXIgTWFuYWdlbWVudA0K PiBDb25maWd1cmF0aW9uDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QTV9DRkdfU1BTICAgICAgICAg ICAgICAgICAgICAgIEJJVDUgIC8vIFNodXRkb3duIFBvbGljeQ0KPiBTZWxlY3QNCj4gKyNkZWZp bmUgQl9QQ0hfUE1DX1BNX0NGR19OT19SRUJPT1QgICAgICAgICAgICAgICAgQklUNCAgLy8gTm8g UmVib290DQo+IFN0cmFwDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QTV9DRkdfU1hfRU5UX1RPX0VO ICAgICAgICAgICAgIEJJVDMgIC8vIFMxIC8gMyAvIDQgLyA1DQo+IEVudHJ5IFRpbWVvdXQgRW5h YmxlDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QTV9DRkdfVElNSU5HX1Q1ODEgICAgICAgICAgICAg IChCSVQxIHwgQklUMCkgLy8gVGltaW5nDQo+IHQ1ODENCj4gKw0KPiArI2RlZmluZSBSX1BDSF9Q TUNfUE1fU1RTICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDICAvLyBQb3dlciBNYW5hZ2Vt ZW50DQo+IFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9QTUNfUE1fU1RTX1BNQ19NU0dfRlVMTCAg ICAgICAgICAgICBCSVQyNCAvLyBQTUMNCj4gTWVzc2FnZSBGdWxsIFN0YXR1cw0KPiArI2RlZmlu ZSBCX1BDSF9QTUNfUE1fU1RTX1BNQ19NU0dfNF9GVUxMICAgICAgICAgICBCSVQyMyAvLyBQTUMg NA0KPiBNZXNzYWdlIEZ1bGwgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QTV9TVFNfUE1D X01TR18zX0ZVTEwgICAgICAgICAgIEJJVDIyIC8vIFBNQyAzDQo+IE1lc3NhZ2UgRnVsbCBTdGF0 dXMNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1BNX1NUU19QTUNfTVNHXzJfRlVMTCAgICAgICAgICAg QklUMjEgLy8gUE1DIDINCj4gTWVzc2FnZSBGdWxsIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9Q TUNfUE1fU1RTX1BNQ19NU0dfMV9GVUxMICAgICAgICAgICBCSVQyMCAvLyBQTUMgMQ0KPiBNZXNz YWdlIEZ1bGwgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QTV9TVFNfQ09ERV9SRVEgICAg ICAgICAgICAgICAgIEJJVDggIC8vIFBhdGNoIFJlcXVlc3QNCj4gU3RhdHVzDQo+ICsjZGVmaW5l IEJfUENIX1BNQ19QTV9TVFNfSFBSX0VOVF9UTyAgICAgICAgICAgICAgIEJJVDIgIC8vIEhvc3Qg cGFydGl0aW9uDQo+IFJlc2V0IEVudHJ5IFRpbWVvdXQgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENI X1BNQ19QTV9TVFNfU1hfRU5UX1RPICAgICAgICAgICAgICAgIEJJVDEgIC8vIFMzIC8gNCAvIDUg RW50cnkNCj4gVGltZW91dCBTdGF0dXMNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNfTVRQTUMg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwICAvLyBNZXNzYWdlIHRvIFBNQw0KPiArDQo+ ICsjZGVmaW5lIFJfUENIX1BNQ19HRU5fUE1DT05fMSAgICAgICAgICAgICAgICAgICAgIDB4MjAg IC8vIEdlbmVyYWwgUE0NCj4gQ29uZmlndXJhdGlvbiAxDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19H RU5fUE1DT05fVUFSVF9FTiAgICAgICAgICAgICAgIEJJVDI0IC8vIFVBUlQgRGVidWcNCj4gUG9y dCBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0dFTl9QTUNPTl9EUkFNX0lOSVQgICAgICAg ICAgICAgQklUMjMgLy8gRFJBTQ0KPiBJbml0aWFsaXphdGlvbiBTY3JhdGNocGFkIEJpdA0KPiAr I2RlZmluZSBCX1BDSF9QTUNfR0VOX1BNQ09OX01FTV9TUiAgICAgICAgICAgICAgICBCSVQyMSAv LyBNZW1vcnkNCj4gUGxhY2VkIGluIFNlbGYtUmVmcmVzaA0KPiArI2RlZmluZSBCX1BDSF9QTUNf R0VOX1BNQ09OX1NSUyAgICAgICAgICAgICAgICAgICBCSVQyMCAvLyBTeXN0ZW0gUmVzZXQNCj4g U3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HRU5fUE1DT05fQ1RTICAgICAgICAgICAgICAg ICAgIEJJVDE5IC8vIENQVSBUaGVybWFsDQo+IFRyaXAgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENI X1BNQ19HRU5fUE1DT05fTUlOX1NMUF9TNCAgICAgICAgICAgIEJJVDE4IC8vIE1pbmltdW0NCj4g U0xQX1M0IyBBc3NlcnRpb24gV2lkdGggVmlvbGF0aW9uIFN0YXR1cw0KPiArI2RlZmluZSBCX1BD SF9QTUNfR0VOX1BNQ09OX1BXUk9LX0ZMUiAgICAgICAgICAgICBCSVQxNiAvLyBQV1JPSw0KPiBG YWlsdXJlDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HRU5fUE1DT05fUE1FX0IwX1M1X0RJUyAgICAg ICAgIEJJVDE1IC8vIFBNRSBCMA0KPiBTNSBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19H RU5fUE1DT05fU1VTX1BXUl9GTFIgICAgICAgICAgIEJJVDE0IC8vIFNVUyBXZWxsDQo+IFBvd2Vy IEZhaWx1cmUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0dFTl9QTUNPTl9XT0xfRU5BQkxFX09WRVJS SURFICAgQklUMTMgLy8NCj4gV09MIEVuYWJsZSBPdmVycmlkZQ0KPiArI2RlZmluZSBCX1BDSF9Q TUNfR0VOX1BNQ09OX0RJU0FCTEVfU1hfU1RSRVRDSCAgICBCSVQxMiAvLw0KPiBEaXNhYmxlIFNM UF9YIFNjcmV0Y2hpbmcgQWZ0ZXIgU1VTIFdlbGwgUG93ZXIgVXANCj4gKyNkZWZpbmUgQl9QQ0hf UE1DX0dFTl9QTUNPTl9TTFBfUzNfTUFXICAgICAgICAgICAgKEJJVDExIHwgQklUMTApIC8vDQo+ IFNMUF9TMyMgTWluaW11bSBBc3NlcnRpb24gV2lkdGgNCj4gKyNkZWZpbmUgVl9QQ0hfUE1DX0dF Tl9QTUNPTl9TTFBfUzNfTUFXXzYwVVMgICAgICAgMHgwMDAgLy8gNjANCj4gbWljcm8gc2Vjb25k cw0KPiArI2RlZmluZSBWX1BDSF9QTUNfR0VOX1BNQ09OX1NMUF9TM19NQVdfMU1TICAgICAgICAw eDQwMCAvLyAxIG1pbGxpDQo+IHNlY29uZA0KPiArI2RlZmluZSBWX1BDSF9QTUNfR0VOX1BNQ09O X1NMUF9TM19NQVdfNTBNUyAgICAgICAweDgwMCAvLyA1MA0KPiBtaWxsaSBzZWNvbmRzDQo+ICsj ZGVmaW5lIFZfUENIX1BNQ19HRU5fUE1DT05fU0xQX1MzX01BV18yUyAgICAgICAgIDB4QzAwIC8v IDINCj4gc2Vjb25kcw0KPiArI2RlZmluZSBCX1BDSF9QTUNfR0VOX1BNQ09OX0dFTl9SU1RfU1RT ICAgICAgICAgICBCSVQ5ICAvLyBHZW5lcmFsDQo+IFJlc2V0IFN0YXR1cw0KPiArI2RlZmluZSBC X1BDSF9QTUNfR0VOX1BNQ09OX1JUQ19SRVNFUlZFRCAgICAgICAgICBCSVQ4ICAvLyBSVEMNCj4g UmVzZXJ2ZWQNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0dFTl9QTUNPTl9TV1NNSV9SVFNMICAgICAg ICAgICAgKEJJVDcgfCBCSVQ2KSAgLy8NCj4gU1dTTUkgUmF0ZSBTZWxlY3QNCj4gKyNkZWZpbmUg Vl9QQ0hfUE1DX0dFTl9QTUNPTl9TV1NNSV9SVFNMXzY0TVMgICAgICAgMHhDMCAgLy8gNjRtcw0K PiArLy0gNG1zDQo+ICsjZGVmaW5lIFZfUENIX1BNQ19HRU5fUE1DT05fU1dTTUlfUlRTTF8zMk1T ICAgICAgIDB4ODAgIC8vIDMybXMNCj4gKy8tIDRtcw0KPiArI2RlZmluZSBWX1BDSF9QTUNfR0VO X1BNQ09OX1NXU01JX1JUU0xfMTZNUyAgICAgICAweDQwICAvLyAxNm1zDQo+ICsvLSA0bXMNCj4g KyNkZWZpbmUgVl9QQ0hfUE1DX0dFTl9QTUNPTl9TV1NNSV9SVFNMXzFfNU1TICAgICAgMHgwMCAg Ly8NCj4gMS41bXMgKy8tIDAuNm1zDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HRU5fUE1DT05fU0xQ X1M0X01BVyAgICAgICAgICAgIChCSVQ1IHwgQklUNCkgLy8NCj4gU0xQX1M0IyBNaW5pbXVtIEFz c2VydGlvbiBXaWR0aA0KPiArI2RlZmluZSBWX1BDSF9QTUNfR0VOX1BNQ09OX1NMUF9TNF9NQVdf MVMgICAgICAgICAweDMwICAvLyAxDQo+IHNlY29uZA0KPiArI2RlZmluZSBWX1BDSF9QTUNfR0VO X1BNQ09OX1NMUF9TNF9NQVdfMlMgICAgICAgICAweDIwICAvLyAyDQo+IHNlY29uZHMNCj4gKyNk ZWZpbmUgVl9QQ0hfUE1DX0dFTl9QTUNPTl9TTFBfUzRfTUFXXzNTICAgICAgICAgMHgxMCAgLy8g Mw0KPiBzZWNvbmRzDQo+ICsjZGVmaW5lIFZfUENIX1BNQ19HRU5fUE1DT05fU0xQX1M0X01BV180 UyAgICAgICAgIDB4MDAgIC8vIDQNCj4gc2Vjb25kcw0KPiArI2RlZmluZSBCX1BDSF9QTUNfR0VO X1BNQ09OX1NMUF9TNF9BU0UgICAgICAgICAgICBCSVQzICAvLyBTTFBfUzQjDQo+IEFzc2VydGlv biBTY3JldGNoIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfR0VOX1BNQ09OX1JUQ19QV1Jf U1RTICAgICAgICAgICBCSVQyICAvLyBSVEMNCj4gUG93ZXIgU3RhdHVzDQo+ICsjZGVmaW5lIEJf UENIX1BNQ19HRU5fUE1DT05fQUZURVJHM19FTiAgICAgICAgICAgIEJJVDAgIC8vIEFmdGVyIEcz DQo+IFN0YXRlIEVuYWJsZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1BNQ19HRU5fUE1DT05fMiAg ICAgICAgICAgICAgICAgICAgIDB4MjQgIC8vIEdlbmVyYWwgUE0NCj4gQ29uZmlndXJhdGlvbiAy DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HRU5fUE1DT05fTE9DS19TNF9TVFJFVF9MRCAgICAgIEJJ VDE4IC8vIFNMUF9TMw0KPiAvIFNMUF9TNCBTdHJldGNoaW5nIFBvbGljeSBMb2NrLURvd24NCj4g KyNkZWZpbmUgQl9QQ0hfUE1DX0dFTl9QTUNPTl9CSU9TX1BDSV9FWFBfRU4gICAgICAgQklUMTAg Ly8gQklPUw0KPiBQQ0kgRXhwcmVzcyBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0dFTl9Q TUNPTl9QV1JCVE5fTFZMICAgICAgICAgICAgQklUOSAgLy8gUG93ZXINCj4gQnV0dG9uIExldmVs DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HRU5fUE1DT05fU01JX0xPQ0sgICAgICAgICAgICAgIEJJ VDQgIC8vIFNNSSBMb2NrDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HRU5fUE1DT05fUEVSX1NNSV9T RUwgICAgICAgICAgIChCSVQxIHwgQklUMCkgLy8NCj4gUGVyaW9kIFNNSSBTZWxlY3QNCj4gKyNk ZWZpbmUgVl9QQ0hfUE1DX0dFTl9QTUNPTl9QRVJfU01JXzY0UyAgICAgICAgICAgMHgwMDAwIC8v IDY0DQo+IHNlY29uZHMNCj4gKyNkZWZpbmUgVl9QQ0hfUE1DX0dFTl9QTUNPTl9QRVJfU01JXzMy UyAgICAgICAgICAgMHgwMDAxIC8vIDMyDQo+IHNlY29uZHMNCj4gKyNkZWZpbmUgVl9QQ0hfUE1D X0dFTl9QTUNPTl9QRVJfU01JXzE2UyAgICAgICAgICAgMHgwMDAyIC8vIDE2DQo+IHNlY29uZHMN Cj4gKyNkZWZpbmUgVl9QQ0hfUE1DX0dFTl9QTUNPTl9QRVJfU01JXzhTICAgICAgICAgICAgMHgw MDAzIC8vICA4DQo+IHNlY29uZHMNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNfTUZQTUMgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDI4ICAvLyBNZXNzYWdlIGZyb20gUE1DDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfUE1DX1NFQ19TVFMgICAgICAgICAgICAgICAgICAgICAgICAgMHgyQyAg Ly8gU0VDIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9QTUNfU0VDX1NUU19TRUMgICAgICAgICAg ICAgICAgICAgICAoQklUMyB8IEJJVDIgfCBCSVQxIHwgQklUMCkgLy8NCj4gU0VDIEV4Y2x1c2lv biBDYXVzZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1BNQ19DUklEICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MzAgIC8vIENvbmZpZ3VyZWQgUmV2aXNpb24gSUQNCj4gKyNkZWZpbmUgQl9Q Q0hfUE1DX0NSSURfUklEX1NFTCAgICAgICAgICAgICAgICAgICAgKEJJVDEgfCBCSVQwKSAvLyBS ZXZpc2lvbiBJRA0KPiBTZWxlY3QNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNfRlVOQ19ESVMg ICAgICAgICAgICAgICAgICAgICAgICAweDM0ICAvLyBGdW5jdGlvbiBEaXNhYmxlDQo+IFJlZ2lz dGVyDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9GVU5DNyAgICAgICAgICAg IEJJVDMxIC8vIExQU1MyIEkyQyAjNw0KPiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfTFBT UzJfRlVOQzYgICAgICAgICAgICBCSVQzMCAvLyBMUFNTMiBJMkMgIzYNCj4gKyNkZWZpbmUgQl9Q Q0hfUE1DX0ZVTkNfRElTX0xQU1MyX0ZVTkM1ICAgICAgICAgICAgQklUMjkgLy8gTFBTUzIgSTJD ICM1DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9GVU5DNCAgICAgICAgICAg IEJJVDI4IC8vIExQU1MyIEkyQyAjNA0KPiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfTFBT UzJfRlVOQzMgICAgICAgICAgICBCSVQyNyAvLyBMUFNTMiBJMkMgIzMNCj4gKyNkZWZpbmUgQl9Q Q0hfUE1DX0ZVTkNfRElTX0xQU1MyX0ZVTkMyICAgICAgICAgICAgQklUMjYgLy8gTFBTUzIgSTJD ICMyDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9GVU5DMSAgICAgICAgICAg IEJJVDI1IC8vIExQU1MyIEkyQyAjMQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfTFBT UzJfRlVOQzAgICAgICAgICAgICBCSVQyNCAvLyBMUFNTMiBETUENCj4gRGlzYWJsZQ0KPiArI2Rl ZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfUENJX0VYX0ZVTkMzICAgICAgICAgICBCSVQyMyAvLyBQ Q0kgRXhwcmVzcw0KPiBGdW5jdGlvbiAzIERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZV TkNfRElTX1BDSV9FWF9GVU5DMiAgICAgICAgICAgQklUMjIgLy8gUENJIEV4cHJlc3MNCj4gRnVu Y3Rpb24gMiBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19GVU5DX0RJU19QQ0lfRVhfRlVO QzEgICAgICAgICAgIEJJVDIxIC8vIFBDSSBFeHByZXNzDQo+IEZ1bmN0aW9uIDEgRGlzYWJsZQ0K PiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfUENJX0VYX0ZVTkMwICAgICAgICAgICBCSVQy MCAvLyBQQ0kgRXhwcmVzcw0KPiBGdW5jdGlvbiAwIERpc2FibGUNCj4gKyNkZWZpbmUgTl9QQ0hf UE1DX0ZVTkNfRElTX1BDSV9FWF9GVU5DMCAgICAgICAgICAgMjANCj4gKyNkZWZpbmUgQl9QQ0hf UE1DX0ZVTkNfRElTX1NFQyAgICAgICAgICAgICAgICAgICAgQklUMTkgLy8gU0VDIERpc2FibGUN Cj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX1VTQiAgICAgICAgICAgICAgICAgICAgQklU MTggLy8gVVNCIERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX1NBVEEgICAg ICAgICAgICAgICAgICAgQklUMTcgLy8gU0FUQSBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BN Q19GVU5DX0RJU19VU0ggICAgICAgICAgICAgICAgICAgIEJJVDE1IC8vIFVTSCAoVVNCMykNCj4g RGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfT1RHICAgICAgICAgICAgICAg ICAgICBCSVQxNCAvLyBVU0IgT1RHIERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNf RElTX0xQRSAgICAgICAgICAgICAgICAgICAgQklUMTMgLy8gTFBFIERpc2FibGUNCj4gKyNkZWZp bmUgQl9QQ0hfUE1DX0ZVTkNfRElTX0FaQUxJQSAgICAgICAgICAgICAgICAgQklUMTIgLy8gQXph bGlhIERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX01JUEkgICAgICAgICAg ICAgICAgICAgQklUMTEgLy8gTUlQSS1IU0kgRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9QTUNf RlVOQ19ESVNfU0RJTzQgICAgICAgICAgICAgICAgICBCSVQxMSAvLyBTQ0MgU0RJTyAjNA0KPiAo RGV2aWNlIDIzLCBlTU1DNC41KSBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19GVU5DX0RJ U19TRElPMyAgICAgICAgICAgICAgICAgIEJJVDEwIC8vIFNDQyBTRElPICMzDQo+IChEZXZpY2Ug MTgsIFNEIENhcmQpIERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX1NESU8y ICAgICAgICAgICAgICAgICAgQklUOSAgLy8gU0NDIFNESU8gIzINCj4gKERldmljZSAxNywgU0RJ TykgRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfU0RJTzEgICAgICAgICAg ICAgICAgICBCSVQ4ICAvLyBTQ0MgU0RJTyAjMQ0KPiAoRGV2aWNlIDE2LCBlTU1DKSBEaXNhYmxl DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMV9GVU5DNyAgICAgICAgICAgIEJJ VDcgIC8vIExQU1MxIFNwYXJlDQo+ICMyIERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZV TkNfRElTX0xQU1MxX0ZVTkM2ICAgICAgICAgICAgQklUNiAgLy8gTFBTUzEgU3BhcmUNCj4gIzEg RGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfTFBTUzFfRlVOQzUgICAgICAg ICAgICBCSVQ1ICAvLyBMUFNTMSBTUEkNCj4gRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9QTUNf RlVOQ19ESVNfTFBTUzFfRlVOQzQgICAgICAgICAgICBCSVQ0ICAvLyBMUFNTMSBIUy0NCj4gVUFS VCAjMiBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMV9GVU5DMyAg ICAgICAgICAgIEJJVDMgIC8vIExQU1MxIEhTLQ0KPiBVQVJUICMxIERpc2FibGUNCj4gKyNkZWZp bmUgQl9QQ0hfUE1DX0ZVTkNfRElTX0xQU1MxX0ZVTkMyICAgICAgICAgICAgQklUMiAgLy8gTFBT UzEgUFdNDQo+ICMyIERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX0xQU1Mx X0ZVTkMxICAgICAgICAgICAgQklUMSAgLy8gTFBTUzEgUFdNDQo+ICMxIERpc2FibGUNCj4gKyNk ZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX0xQU1MxX0ZVTkMwICAgICAgICAgICAgQklUMCAgLy8g TFBTUzEgRE1BDQo+IERpc2FibGUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNfRlVOQ19ESVMy ICAgICAgICAgICAgICAgICAgICAgICAweDM4ICAvLyBGdW5jdGlvbiBEaXNhYmxlIDINCj4gUmVn aXN0ZXINCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTMl9VU0hfU1NfUEhZICAgICAgICAg ICAgQklUMiAgLy8gVVNIIFN1cGVyDQo+IFNwZWVkIFBIWSBEaXNhYmxlDQo+ICsjZGVmaW5lIEJf UENIX1BNQ19GVU5DX0RJUzJfT1RHX1NTX1BIWSAgICAgICAgICAgIEJJVDEgIC8vIE9URyBTdXBl cg0KPiBTcGVlZCBQSFkgRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVMyX1NN QlVTICAgICAgICAgICAgICAgICBCSVQwICAvLyBTTUJ1cyBEaXNhYmxlDQo+ICsNCj4gKyNkZWZp bmUgUl9QQ0hfUE1DX1BNSVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0OCAgLy8gRXh0 ZW5kZWQgVGVzdCBNb2RlDQo+IFJlZ2lzdGVyIChFVFIpDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19Q TUlSX0NGOUxPQ0sgICAgICAgICAgICAgICAgICAgIEJJVDMxIC8vIENGOWggTG9ja2Rvd24NCj4g KyNkZWZpbmUgQl9QQ0hfUE1DX1BNSVJfTFRSX0RFRiAgICAgICAgICAgICAgICAgICAgQklUMjIg Ly8gTFRSIERlZmF1bHQNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1BNSVJfSUdOT1JFX0hQRVQgICAg ICAgICAgICAgICAgQklUMjEgLy8gSWdub3JlIEhQRVQNCj4gRGlzYWJsZSBDaGVjayBCZWZvcmUg R29pbmcgdG8gUzBpMg0KPiArI2RlZmluZSBCX1BDSF9QTUNfUE1JUl9DRjlHUiAgICAgICAgICAg ICAgICAgICAgICBCSVQyMCAvLyBDRjloIEdsb2JhbCBSZXNldA0KPiArDQo+ICsjZGVmaW5lIFJf UENIX1BNQ19WTFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTAgIC8vIFZvbHRhZ2Ug RGV0ZWN0IFJlZ2lzdGVyDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19WTFRfRlVTRVMgICAgICAgICAg ICAgICAgICAgICAgIDB4RkYgIC8vIFZvbHRhZ2UgRGV0ZWN0IEZ1c2VzDQo+ICsNCj4gKyNkZWZp bmUgUl9QQ0hfUE1DX0dQSV9ST1VUICAgICAgICAgICAgICAgICAgICAgICAgMHg1OCAgLy8gR1BJ IFJvdXQNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0dQSV9ST1VUXzAgICAgICAgICAgICAgICAgICAg ICAgKEJJVDEgfCBCSVQwKQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfR1BJX1JPVVRfMSAgICAgICAg ICAgICAgICAgICAgICAoQklUMyB8IEJJVDIpDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HUElfUk9V VF8yICAgICAgICAgICAgICAgICAgICAgIChCSVQ1IHwgQklUNCkNCj4gKyNkZWZpbmUgQl9QQ0hf UE1DX0dQSV9ST1VUXzMgICAgICAgICAgICAgICAgICAgICAgKEJJVDcgfCBCSVQ2KQ0KPiArI2Rl ZmluZSBCX1BDSF9QTUNfR1BJX1JPVVRfNCAgICAgICAgICAgICAgICAgICAgICAoQklUOSB8IEJJ VDgpDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HUElfUk9VVF81ICAgICAgICAgICAgICAgICAgICAg IChCSVQxMSB8IEJJVDEwKQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfR1BJX1JPVVRfNiAgICAgICAg ICAgICAgICAgICAgICAoQklUMTMgfCBCSVQxMikNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0dQSV9S T1VUXzcgICAgICAgICAgICAgICAgICAgICAgKEJJVDE1IHwgQklUMTQpDQo+ICsjZGVmaW5lIEJf UENIX1BNQ19HUElfUk9VVF84ICAgICAgICAgICAgICAgICAgICAgIChCSVQxNyB8IEJJVDE2KQ0K PiArI2RlZmluZSBCX1BDSF9QTUNfR1BJX1JPVVRfOSAgICAgICAgICAgICAgICAgICAgICAoQklU MTkgfCBCSVQxOCkNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0dQSV9ST1VUXzEwICAgICAgICAgICAg ICAgICAgICAgKEJJVDIxIHwgQklUMjApDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HUElfUk9VVF8x MSAgICAgICAgICAgICAgICAgICAgIChCSVQyMyB8IEJJVDIyKQ0KPiArI2RlZmluZSBCX1BDSF9Q TUNfR1BJX1JPVVRfMTIgICAgICAgICAgICAgICAgICAgICAoQklUMjUgfCBCSVQyNCkNCj4gKyNk ZWZpbmUgQl9QQ0hfUE1DX0dQSV9ST1VUXzEzICAgICAgICAgICAgICAgICAgICAgKEJJVDI3IHwg QklUMjYpDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19HUElfUk9VVF8xNCAgICAgICAgICAgICAgICAg ICAgIChCSVQyOSB8IEJJVDI4KQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfR1BJX1JPVVRfMTUgICAg ICAgICAgICAgICAgICAgICAoQklUMzEgfCBCSVQzMCkNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9Q TUNfUENDMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYwICAvLyBQbGF0Zm9ybSBDbG9j ayBDb250cm9sIDANCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1BDQzBfQ0xLX0ZSRVEgICAgICAgICAg ICAgICAgICAgQklUMiAgLy8gQ2xvY2sgRnJlcXVlbmN5DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19Q Q0MwX0NMS19DVEwgICAgICAgICAgICAgICAgICAgIChCSVQxIHwgQklUMCkgLy8gQ2xvY2sgR2F0 aW5nDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUE1DX1BDQzEgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHg2NCAgLy8gUGxhdGZvcm0gQ2xvY2sgQ29udHJvbCAxDQo+ICsjZGVmaW5lIEJfUENI X1BNQ19QQ0MxX0NMS19GUkVRICAgICAgICAgICAgICAgICAgIEJJVDIgIC8vIENsb2NrIEZyZXF1 ZW5jeQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfUENDMV9DTEtfQ1RMICAgICAgICAgICAgICAgICAg ICAoQklUMSB8IEJJVDApIC8vIENsb2NrIEdhdGluZw0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1BN Q19QQ0MyICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjggIC8vIFBsYXRmb3JtIENsb2Nr IENvbnRyb2wgMg0KPiArI2RlZmluZSBCX1BDSF9QTUNfUENDMl9DTEtfRlJFUSAgICAgICAgICAg ICAgICAgICBCSVQyICAvLyBDbG9jayBGcmVxdWVuY3kNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1BD QzJfQ0xLX0NUTCAgICAgICAgICAgICAgICAgICAgKEJJVDEgfCBCSVQwKSAvLyBDbG9jayBHYXRp bmcNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNfUENDMyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDZDICAvLyBQbGF0Zm9ybSBDbG9jayBDb250cm9sIDMNCj4gKyNkZWZpbmUgQl9QQ0hf UE1DX1BDQzNfQ0xLX0ZSRVEgICAgICAgICAgICAgICAgICAgQklUMiAgLy8gQ2xvY2sgRnJlcXVl bmN5DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QQ0MzX0NMS19DVEwgICAgICAgICAgICAgICAgICAg IChCSVQxIHwgQklUMCkgLy8gQ2xvY2sgR2F0aW5nDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUE1D X1BDQzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MCAgLy8gUGxhdGZvcm0gQ2xvY2sg Q29udHJvbCA0DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QQ0M0X0NMS19GUkVRICAgICAgICAgICAg ICAgICAgIEJJVDIgIC8vIENsb2NrIEZyZXF1ZW5jeQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfUEND NF9DTEtfQ1RMICAgICAgICAgICAgICAgICAgICAoQklUMSB8IEJJVDApIC8vIENsb2NrIEdhdGlu Zw0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1BNQ19QQ0M1ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4NzQgIC8vIFBsYXRmb3JtIENsb2NrIENvbnRyb2wgNQ0KPiArI2RlZmluZSBCX1BDSF9Q TUNfUENDNV9DTEtfRlJFUSAgICAgICAgICAgICAgICAgICBCSVQyICAvLyBDbG9jayBGcmVxdWVu Y3kNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1BDQzVfQ0xLX0NUTCAgICAgICAgICAgICAgICAgICAg KEJJVDEgfCBCSVQwKSAvLyBDbG9jayBHYXRpbmcNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNf UzBJUl9UTVIgICAgICAgICAgICAgICAgICAgICAgICAweDgwICAvLyBTMEkgUmVhZHkgUmVzaWRl bmN5DQo+IFRpbWVyDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19TMElSX1RNUl9SVElNRSAgICAgICAg ICAgICAgICAgIDB4RkZGRkZGRkYgLy8gVGltZSBTcGVudA0KPiBpbiBTMEkgUmVhZHkgU3RhdGUN Cj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNfUzBJMV9UTVIgICAgICAgICAgICAgICAgICAgICAg ICAweDg0ICAvLyBTMEkxIFJlYWR5IFJlc2lkZW5jeQ0KPiBUaW1lcg0KPiArI2RlZmluZSBCX1BD SF9QTUNfUzBJMV9UTVJfUlRJTUUgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGIC8vIFRpbWUg U3BlbnQNCj4gaW4gUzBJMSBSZWFkeSBTdGF0ZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1BNQ19T MEkyX1RNUiAgICAgICAgICAgICAgICAgICAgICAgIDB4ODggIC8vIFMwSTIgUmVhZHkgUmVzaWRl bmN5DQo+IFRpbWVyDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19TMEkyX1RNUl9SVElNRSAgICAgICAg ICAgICAgICAgIDB4RkZGRkZGRkYgLy8gVGltZSBTcGVudA0KPiBpbiBTMEkyIFJlYWR5IFN0YXRl DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUE1DX1MwSTNfVE1SICAgICAgICAgICAgICAgICAgICAg ICAgMHg4QyAgLy8gUzBJMyBSZWFkeSBSZXNpZGVuY3kNCj4gVGltZXINCj4gKyNkZWZpbmUgQl9Q Q0hfUE1DX1MwSTNfVE1SX1JUSU1FICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiAvLyBUaW1l IFNwZW50DQo+IGluIFMwSTMgUmVhZHkgU3RhdGUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNf UzBfVE1SICAgICAgICAgICAgICAgICAgICAgICAgICAweDkwICAvLyBTMCBSZXNpZGVuY3kgVGlt ZXINCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1MwX1RNUl9SVElNRSAgICAgICAgICAgICAgICAgICAg MHhGRkZGRkZGRiAvLyBUaW1lIFNwZW50DQo+IGluIFMwIFN0YXRlDQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfUE1DX1BTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg5OCAgLy8gUG93ZXIg SXNsYW5kIFBvd2VyIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9QTUNfUFNTX1BHX1NUUyAgICAg ICAgICAgICAgICAgICAgICAweDNGRkZGIC8vIFBvd2VyIEdhdGUgU3RhdHVzDQo+IG9mIEFsbCBQ b3dlciBJc2xhbmRzDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QU1NfUEdfU1RTX1VTQl9TVVMgICAg ICAgICAgICAgIEJJVDE3IC8vIFVTQiBTVVMNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX1BTU19QR19T VFNfVVNCICAgICAgICAgICAgICAgICAgQklUMTYgLy8gVVNCDQo+ICsjZGVmaW5lIEJfUENIX1BN Q19QU1NfUEdfU1RTX09UR19WQ0NBQ0xLICAgICAgICAgIEJJVDE1IC8vIE9URw0KPiBWQ0NBQ0xL DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QU1NfUEdfU1RTX09URyBWQ0NBICAgICAgICAgICAgIEJJ VDE0IC8vIE9URyBWQ0NBDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QU1NfUEdfU1RTX09UR19WQ0NT ICAgICAgICAgICAgIEJJVDEzIC8vIE9URyBWQ0NTDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QU1Nf UEdfU1RTX09UR19DVEwgICAgICAgICAgICAgIEJJVDEyIC8vIE9URyBDb250cm9sDQo+ICsjZGVm aW5lIEJfUENIX1BNQ19QU1NfUEdfU1RTX1VTSF9WQ0NBICAgICAgICAgICAgIEJJVDExIC8vIFVT SCBWQ0NBDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QU1NfUEdfU1RTX1VTSF9WQ0NTICAgICAgICAg ICAgIEJJVDEwIC8vIFVTSCBWQ0NTDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QU1NfUEdfU1RTX1VT SF9TVVMgICAgICAgICAgICAgIEJJVDkgIC8vIFVTSCBTVVMNCj4gKyNkZWZpbmUgQl9QQ0hfUE1D X1BTU19QR19TVFNfVVNIX0NUTCAgICAgICAgICAgICAgQklUOCAgLy8gVVNIIENvbnRyb2wNCj4g KyNkZWZpbmUgQl9QQ0hfUE1DX1BTU19QR19TVFNfREZYICAgICAgICAgICAgICAgICAgQklUNyAg Ly8gREZYDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19QU1NfUEdfU1RTX0xQRSAgICAgICAgICAgICAg ICAgIEJJVDYgIC8vIExQRSBBdWRpbw0KPiArI2RlZmluZSBCX1BDSF9QTUNfUFNTX1BHX1NUU19M UFNTICAgICAgICAgICAgICAgICBCSVQ1ICAvLyBMUFNTDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19Q U1NfUEdfU1RTX1BDSUUgICAgICAgICAgICAgICAgIEJJVDQgIC8vIFBDSWUNCj4gKyNkZWZpbmUg Ql9QQ0hfUE1DX1BTU19QR19TVFNfSERBICAgICAgICAgICAgICAgICAgQklUMiAgLy8gSERBDQo+ ICsjZGVmaW5lIEJfUENIX1BNQ19QU1NfUEdfU1RTX1NBVEEgICAgICAgICAgICAgICAgIEJJVDEg IC8vIFNBVEENCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QTUNfRDNfU1RTXzAgICAgICAgICAgICAg ICAgICAgICAgICAweEEwICAvLyBEMyBTdGF0dXMgMA0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNf U1RTXzBfTFBTUzFGNyAgICAgICAgICAgICAgICBCSVQzMSAvLyBMUFNTIDEgRnVuY3Rpb24gNw0K PiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RTXzBfTFBTUzFGNiAgICAgICAgICAgICAgICBCSVQz MCAvLyBMUFNTIDEgRnVuY3Rpb24gNg0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RTXzBfTFBT UzFGNSAgICAgICAgICAgICAgICBCSVQyOSAvLyBMUFNTIDEgRnVuY3Rpb24gNQ0KPiArI2RlZmlu ZSBCX1BDSF9QTUNfRDNfU1RTXzBfTFBTUzFGNCAgICAgICAgICAgICAgICBCSVQyOCAvLyBMUFNT IDEgRnVuY3Rpb24gNA0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RTXzBfTFBTUzFGMyAgICAg ICAgICAgICAgICBCSVQyNyAvLyBMUFNTIDEgRnVuY3Rpb24gMw0KPiArI2RlZmluZSBCX1BDSF9Q TUNfRDNfU1RTXzBfTFBTUzFGMiAgICAgICAgICAgICAgICBCSVQyNiAvLyBMUFNTIDEgRnVuY3Rp b24gMg0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RTXzBfTFBTUzFGMSAgICAgICAgICAgICAg ICBCSVQyNSAvLyBMUFNTIDEgRnVuY3Rpb24gMQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RT XzBfTFBTUzFGMCAgICAgICAgICAgICAgICBCSVQyNCAvLyBMUFNTIDEgRnVuY3Rpb24gMA0KPiAr I2RlZmluZSBCX1BDSF9QTUNfRDNfU1RTXzBfUENJRUYzICAgICAgICAgICAgICAgICBCSVQyMyAv LyBQQ0llIEZ1bmN0aW9uIDMNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0QzX1NUU18wX1BDSUVGMiAg ICAgICAgICAgICAgICAgQklUMjIgLy8gUENJZSBGdW5jdGlvbiAyDQo+ICsjZGVmaW5lIEJfUENI X1BNQ19EM19TVFNfMF9QQ0lFRjEgICAgICAgICAgICAgICAgIEJJVDIxIC8vIFBDSWUgRnVuY3Rp b24gMQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RTXzBfUENJRUYwICAgICAgICAgICAgICAg ICBCSVQyMCAvLyBQQ0llIEZ1bmN0aW9uIDANCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0QzX1NUU18w X1VTQiAgICAgICAgICAgICAgICAgICAgQklUMTggLy8gVVNCDQo+ICsjZGVmaW5lIEJfUENIX1BN Q19EM19TVFNfMF9TQVRBICAgICAgICAgICAgICAgICAgIEJJVDE3IC8vIFNBVEENCj4gKyNkZWZp bmUgQl9QQ0hfUE1DX0QzX1NUU18wX1VTSCAgICAgICAgICAgICAgICAgICAgQklUMTUgLy8gVVNI DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVFNfMF9PVEcgICAgICAgICAgICAgICAgICAgIEJJ VDE0IC8vIE9URw0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RTXzBfTFBFICAgICAgICAgICAg ICAgICAgICBCSVQxMyAvLyBMUEUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0QzX1NUU18wX0hEQSAg ICAgICAgICAgICAgICAgICAgQklUMTIgLy8gSERBDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19T VFNfMF9NSVBJICAgICAgICAgICAgICAgICAgIEJJVDExIC8vIE1JUEktSFNJDQo+ICsjZGVmaW5l IEJfUENIX1BNQ19EM19TVFNfMF9TQ0NGMiAgICAgICAgICAgICAgICAgIEJJVDEwIC8vIFNDQyBG dW5jdGlvbiAyDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVFNfMF9TQ0NGMSAgICAgICAgICAg ICAgICAgIEJJVDkgIC8vIFNDQyBGdW5jdGlvbiAxDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19T VFNfMF9TQ0NGMCAgICAgICAgICAgICAgICAgIEJJVDggIC8vIFNDQyBGdW5jdGlvbiAwDQo+ICsj ZGVmaW5lIEJfUENIX1BNQ19EM19TVFNfMF9MUFNTMEY3ICAgICAgICAgICAgICAgIEJJVDcgIC8v IExQU1MgMCBGdW5jdGlvbiA3DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVFNfMF9MUFNTMEY2 ICAgICAgICAgICAgICAgIEJJVDYgIC8vIExQU1MgMCBGdW5jdGlvbiA2DQo+ICsjZGVmaW5lIEJf UENIX1BNQ19EM19TVFNfMF9MUFNTMEY1ICAgICAgICAgICAgICAgIEJJVDUgIC8vIExQU1MgMCBG dW5jdGlvbiA1DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVFNfMF9MUFNTMEY0ICAgICAgICAg ICAgICAgIEJJVDQgIC8vIExQU1MgMCBGdW5jdGlvbiA0DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19E M19TVFNfMF9MUFNTMEYzICAgICAgICAgICAgICAgIEJJVDMgIC8vIExQU1MgMCBGdW5jdGlvbiAz DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVFNfMF9MUFNTMEYyICAgICAgICAgICAgICAgIEJJ VDIgIC8vIExQU1MgMCBGdW5jdGlvbiAyDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVFNfMF9M UFNTMEYxICAgICAgICAgICAgICAgIEJJVDEgIC8vIExQU1MgMCBGdW5jdGlvbiAxDQo+ICsjZGVm aW5lIEJfUENIX1BNQ19EM19TVFNfMF9MUFNTMEYwICAgICAgICAgICAgICAgIEJJVDAgIC8vIExQ U1MgMCBGdW5jdGlvbiAwDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUE1DX0QzX1NUU18xICAgICAg ICAgICAgICAgICAgICAgICAgMHhBNCAgLy8gRDMgU3RhdHVzIDENCj4gKyNkZWZpbmUgQl9QQ0hf UE1DX0QzX1NUU18xX0RGWCAgICAgICAgICAgICAgICAgICAgQklUMyAgLy8gREZYDQo+ICsjZGVm aW5lIEJfUENIX1BNQ19EM19TVFNfMV9PVEdfU1MgICAgICAgICAgICAgICAgIEJJVDIgIC8vIE9U RyBTUw0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RTXzFfVVNIX1NTICAgICAgICAgICAgICAg ICBCSVQxICAvLyBVU0ggU1MNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0QzX1NUU18xX1NNQiAgICAg ICAgICAgICAgICAgICAgQklUMCAgLy8gU01CdXMNCj4gKyNkZWZpbmUgUl9QQ0hfUE1DX0QzX1NU REJZX1NUU18wICAgICAgICAgICAgICAgICAgMHhBOCAgLy8gRDMgU3RhbmRieSBTdGF0dXMNCj4g MA0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzBfTFBTUzFGNyAgICAgICAgICBC SVQzMSAvLyBMUFNTIDENCj4gRnVuY3Rpb24gNw0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1RE QllfU1RTXzBfTFBTUzFGNiAgICAgICAgICBCSVQzMCAvLyBMUFNTIDENCj4gRnVuY3Rpb24gNg0K PiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzBfTFBTUzFGNSAgICAgICAgICBCSVQy OSAvLyBMUFNTIDENCj4gRnVuY3Rpb24gNQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllf U1RTXzBfTFBTUzFGNCAgICAgICAgICBCSVQyOCAvLyBMUFNTIDENCj4gRnVuY3Rpb24gNA0KPiAr I2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzBfTFBTUzFGMyAgICAgICAgICBCSVQyNyAv LyBMUFNTIDENCj4gRnVuY3Rpb24gMw0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RT XzBfTFBTUzFGMiAgICAgICAgICBCSVQyNiAvLyBMUFNTIDENCj4gRnVuY3Rpb24gMg0KPiArI2Rl ZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzBfTFBTUzFGMSAgICAgICAgICBCSVQyNSAvLyBM UFNTIDENCj4gRnVuY3Rpb24gMQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzBf TFBTUzFGMCAgICAgICAgICBCSVQyNCAvLyBMUFNTIDENCj4gRnVuY3Rpb24gMA0KPiArI2RlZmlu ZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzBfUENJRUYzICAgICAgICAgICBCSVQyMyAvLyBQQ0ll IEZ1bmN0aW9uDQo+IDMNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0QzX1NUREJZX1NUU18wX1BDSUVG MiAgICAgICAgICAgQklUMjIgLy8gUENJZSBGdW5jdGlvbg0KPiAyDQo+ICsjZGVmaW5lIEJfUENI X1BNQ19EM19TVERCWV9TVFNfMF9QQ0lFRjEgICAgICAgICAgIEJJVDIxIC8vIFBDSWUgRnVuY3Rp b24NCj4gMQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzBfUENJRUYwICAgICAg ICAgICBCSVQyMCAvLyBQQ0llIEZ1bmN0aW9uDQo+IDANCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0Qz X1NUREJZX1NUU18wX1VTQiAgICAgICAgICAgICAgQklUMTggLy8gVVNCDQo+ICsjZGVmaW5lIEJf UENIX1BNQ19EM19TVERCWV9TVFNfMF9TQVRBICAgICAgICAgICAgIEJJVDE3IC8vIFNBVEENCj4g KyNkZWZpbmUgQl9QQ0hfUE1DX0QzX1NUREJZX1NUU18wX1VTSCAgICAgICAgICAgICAgQklUMTUg Ly8gVVNIDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNfMF9PVEcgICAgICAgICAg ICAgIEJJVDE0IC8vIE9URw0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzBfTFBF ICAgICAgICAgICAgICBCSVQxMyAvLyBMUEUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0QzX1NUREJZ X1NUU18wX0hEQSAgICAgICAgICAgICAgQklUMTIgLy8gSERBDQo+ICsjZGVmaW5lIEJfUENIX1BN Q19EM19TVERCWV9TVFNfMF9NSVBJICAgICAgICAgICAgIEJJVDExIC8vIE1JUEktSFNJDQo+ICsj ZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNfMF9TQ0NGMiAgICAgICAgICAgIEJJVDEwIC8v IFNDQyBGdW5jdGlvbg0KPiAyDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNfMF9T Q0NGMSAgICAgICAgICAgIEJJVDkgIC8vIFNDQyBGdW5jdGlvbiAxDQo+ICsjZGVmaW5lIEJfUENI X1BNQ19EM19TVERCWV9TVFNfMF9TQ0NGMCAgICAgICAgICAgIEJJVDggIC8vIFNDQyBGdW5jdGlv biAwDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNfMF9MUFNTMEY3ICAgICAgICAg IEJJVDcgIC8vIExQU1MgMA0KPiBGdW5jdGlvbiA3DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19T VERCWV9TVFNfMF9MUFNTMEY2ICAgICAgICAgIEJJVDYgIC8vIExQU1MgMA0KPiBGdW5jdGlvbiA2 DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNfMF9MUFNTMEY1ICAgICAgICAgIEJJ VDUgIC8vIExQU1MgMA0KPiBGdW5jdGlvbiA1DQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVERC WV9TVFNfMF9MUFNTMEY0ICAgICAgICAgIEJJVDQgIC8vIExQU1MgMA0KPiBGdW5jdGlvbiA0DQo+ ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNfMF9MUFNTMEYzICAgICAgICAgIEJJVDMg IC8vIExQU1MgMA0KPiBGdW5jdGlvbiAzDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9T VFNfMF9MUFNTMEYyICAgICAgICAgIEJJVDIgIC8vIExQU1MgMA0KPiBGdW5jdGlvbiAyDQo+ICsj ZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNfMF9MUFNTMEYxICAgICAgICAgIEJJVDEgIC8v IExQU1MgMA0KPiBGdW5jdGlvbiAxDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNf MF9MUFNTMEYwICAgICAgICAgIEJJVDAgIC8vIExQU1MgMA0KPiBGdW5jdGlvbiAwDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfUE1DX0QzX1NUREJZX1NUU18xICAgICAgICAgICAgICAgICAgMHhBQyAg Ly8gRDMgU3RhbmRieSBTdGF0dXMNCj4gMQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllf U1RTXzFfREZYICAgICAgICAgICAgICBCSVQzICAvLyBERlgNCj4gKyNkZWZpbmUgQl9QQ0hfUE1D X0QzX1NUREJZX1NUU18xX09UR19TUyAgICAgICAgICAgQklUMiAgLy8gT1RHIFNTDQo+ICsjZGVm aW5lIEJfUENIX1BNQ19EM19TVERCWV9TVFNfMV9VU0hfU1MgICAgICAgICAgIEJJVDEgIC8vIFVT SCBTUw0KPiArI2RlZmluZSBCX1BDSF9QTUNfRDNfU1REQllfU1RTXzFfU01CICAgICAgICAgICAg ICBCSVQwICAvLyBTTUJ1cw0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1BNQ19NVFBNQzEgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4QjAgIC8vIE1lc3NhZ2UgdG8gUE1DIDENCj4gKw0KPiArI2Rl ZmluZSBSX1BDSF9QTUNfTVRQTUMyICAgICAgICAgICAgICAgICAgICAgICAgICAweEI0ICAvLyBN ZXNzYWdlIHRvIFBNQyAyDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUE1DX01UUE1DMyAgICAgICAg ICAgICAgICAgICAgICAgICAgMHhCOCAgLy8gTWVzc2FnZSB0byBQTUMgMw0KPiArDQo+ICsjZGVm aW5lIFJfUENIX1BNQ19NVFBNQzQgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QkMgIC8vIE1l c3NhZ2UgdG8gUE1DIDQNCj4gKw0KPiArLy8NCj4gKy8vIElPIE1lbW9yeSBTcGFjZSBSZWdpc3Rl cnMgKElPQkFTRSkNCj4gKy8vDQo+ICsjZGVmaW5lIFJfUENIX0NGSU9fUEFEX0NPTkYwICAgICAg ICAgICAgICAgICAgICAgIDB4MDAgIC8vIENGSU8gUEFEX0NPTkYwDQo+ICsjZGVmaW5lIFJfUENI X0NGSU9fUEFEX0NPTkYxICAgICAgICAgICAgICAgICAgICAgIDB4MDQgIC8vIENGSU8gUEFEX0NP TkYxDQo+ICsjZGVmaW5lIFJfUENIX0NGSU9fUEFEX1ZBTCAgICAgICAgICAgICAgICAgICAgICAg IDB4MDggIC8vIENGSU8gUEFEX1ZBTA0KPiArI2RlZmluZSBSX1BDSF9DRklPX1BBRF9ERlQgICAg ICAgICAgICAgICAgICAgICAgICAweDBDICAvLyBDRklPIFBBRF9DRlQNCj4gKw0KPiArLy8NCj4g Ky8vIEdQSU8gUmVnaXN0ZXIgT2Zmc2V0cyBmcm9tIEdCQVNFDQo+ICsvLw0KPiArI2RlZmluZSBS X1BDSF9HUElPX1NDX1VTRV9TRUwgICAgICAgICAgICAgICAgICAgICAweDAwICAvLyBHUElPIFNv dXRoIFVzYWdlDQo+IFNlbGVjdCBbMzE6MF0NCj4gKyNkZWZpbmUgUl9QQ0hfR1BJT19TQ19JT19T RUwgICAgICAgICAgICAgICAgICAgICAgMHgwNCAgLy8gR1BJTyBTb3V0aCBJbnB1dCAvDQo+IE91 dHB1dCBTZWxlY3QgWzMxOjBdDQo+ICsjZGVmaW5lIFJfUENIX0dQSU9fU0NfTFZMICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDggIC8vIEdQSU8gU291dGggTGV2ZWwgZm9yDQo+IElucHV0IG9y IE91dHB1dCBbMzE6MF0NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NDX1RQRSAgICAgICAg ICAgICAgICAgICAgICAgICAweDBDICAvLyBHUElPIFNvdXRoIFRyaWdnZXINCj4gUG9zaXRpdmUg RWRnZSBFbmFibGUgWzMxOjBdDQo+ICsjZGVmaW5lIFJfUENIX0dQSU9fU0NfVE5FICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MTAgIC8vIEdQSU8gU291dGggVHJpZ2dlcg0KPiBOZWdhdGl2ZSBF ZGdlIEVuYWJsZSBbMzE6MF0NCj4gKyNkZWZpbmUgUl9QQ0hfR1BJT19TQ19UUyAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgxNCAgLy8gR1BJTyBTb3V0aCBUcmlnZ2VyIFN0YXR1cw0KPiBbMzE6 MF0NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NDX1VTRV9TRUwyICAgICAgICAgICAgICAg ICAgICAweDIwICAvLyBHUElPIFNvdXRoIFVzYWdlDQo+IFNlbGVjdCAyIFs2MzozMl0NCj4gKyNk ZWZpbmUgUl9QQ0hfR1BJT19TQ19JT19TRUwyICAgICAgICAgICAgICAgICAgICAgMHgyNCAgLy8g R1BJTyBTb3V0aCBJbnB1dCAvDQo+IE91dHB1dCBTZWxlY3QgMiBbNjM6MzJdDQo+ICsjZGVmaW5l IFJfUENIX0dQSU9fU0NfTFZMMiAgICAgICAgICAgICAgICAgICAgICAgIDB4MjggIC8vIEdQSU8g U291dGggTGV2ZWwgZm9yDQo+IElucHV0IG9yIE91dHB1dCAyIFs2MzozMl0NCj4gKw0KPiArI2Rl ZmluZSBSX1BDSF9HUElPX1NDX1RQRTIgICAgICAgICAgICAgICAgICAgICAgICAweDJDICAvLyBH UElPIFNvdXRoIFRyaWdnZXINCj4gUG9zaXRpdmUgRWRnZSBFbmFibGUgMiBbNjM6MzJdDQo+ICsj ZGVmaW5lIFJfUENIX0dQSU9fU0NfVE5FMiAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAgIC8v IEdQSU8gU291dGggVHJpZ2dlcg0KPiBOZWdhdGl2ZSBFZGdlIEVuYWJsZSAyIFs2MzozMl0NCj4g KyNkZWZpbmUgUl9QQ0hfR1BJT19TQ19UUzIgICAgICAgICAgICAgICAgICAgICAgICAgMHgzNCAg Ly8gR1BJTyBTb3V0aCBUcmlnZ2VyDQo+IFN0YXR1cyAyIFs2MzozMl0NCj4gKw0KPiArI2RlZmlu ZSBSX1BDSF9HUElPX1NDX1VTRV9TRUwzICAgICAgICAgICAgICAgICAgICAweDQwICAvLyBHUElP IFNvdXRoIFVzYWdlDQo+IFNlbGVjdCAzIFs5NTo2NF0NCj4gKyNkZWZpbmUgUl9QQ0hfR1BJT19T Q19JT19TRUwzICAgICAgICAgICAgICAgICAgICAgMHg0NCAgLy8gR1BJTyBTb3V0aCBJbnB1dCAv DQo+IE91dHB1dCBTZWxlY3QgMyBbOTU6NjRdDQo+ICsjZGVmaW5lIFJfUENIX0dQSU9fU0NfTFZM MyAgICAgICAgICAgICAgICAgICAgICAgIDB4NDggIC8vIEdQSU8gU291dGggTGV2ZWwgZm9yDQo+ IElucHV0IG9yIE91dHB1dCAzIFs5NTo2NF0NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9HUElPX1ND X1RQRTMgICAgICAgICAgICAgICAgICAgICAgICAweDRDICAvLyBHUElPIFNvdXRoIFRyaWdnZXIN Cj4gUG9zaXRpdmUgRWRnZSBFbmFibGUgMyBbOTU6NjRdDQo+ICsjZGVmaW5lIFJfUENIX0dQSU9f U0NfVE5FMyAgICAgICAgICAgICAgICAgICAgICAgIDB4NTAgIC8vIEdQSU8gU291dGggVHJpZ2dl cg0KPiBOZWdhdGl2ZSBFZGdlIEVuYWJsZSAzIFs5NTo2NF0NCj4gKyNkZWZpbmUgUl9QQ0hfR1BJ T19TQ19UUzMgICAgICAgICAgICAgICAgICAgICAgICAgMHg1NCAgLy8gR1BJTyBTb3V0aCBUcmln Z2VyDQo+IFN0YXR1cyAzIFs5NTo2NF0NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NDX1VT RV9TRUw0ICAgICAgICAgICAgICAgICAgICAweDYwICAvLyBHUElPIFNvdXRoIFVzYWdlDQo+IFNl bGVjdCA0IFsxMjc6OTZdDQo+ICsjZGVmaW5lIFJfUENIX0dQSU9fU0NfSU9fU0VMNCAgICAgICAg ICAgICAgICAgICAgIDB4NjQgIC8vIEdQSU8gU291dGggSW5wdXQgLw0KPiBPdXRwdXQgU2VsZWN0 IDQgWzEyNzo5Nl0NCj4gKyNkZWZpbmUgUl9QQ0hfR1BJT19TQ19MVkw0ICAgICAgICAgICAgICAg ICAgICAgICAgMHg2OCAgLy8gR1BJTyBTb3V0aCBMZXZlbCBmb3INCj4gSW5wdXQgb3IgT3V0cHV0 IDQgWzEyNzo5Nl0NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NDX1RQRTQgICAgICAgICAg ICAgICAgICAgICAgICAweDZDICAvLyBHUElPIFNvdXRoIFRyaWdnZXINCj4gUG9zaXRpdmUgRWRn ZSBFbmFibGUgNCBbMTI3Ojk2XQ0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NDX1RORTQgICAgICAg ICAgICAgICAgICAgICAgICAweDcwICAvLyBHUElPIFNvdXRoIFRyaWdnZXINCj4gTmVnYXRpdmUg RWRnZSBFbmFibGUgNCBbMTI3Ojk2XQ0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NDX1RTNCAgICAg ICAgICAgICAgICAgICAgICAgICAweDc0ICAvLyBHUElPIFNvdXRoIFRyaWdnZXINCj4gU3RhdHVz IDQgWzEyNzo5Nl0NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NVU19VU0VfU0VMICAgICAg ICAgICAgICAgICAgICAweDgwICAvLyBHUElPIFN1c3BlbmQgVXNlDQo+IFNlbGVjdCBbMzE6MF0N Cj4gKyNkZWZpbmUgUl9QQ0hfR1BJT19TVVNfSU9fU0VMICAgICAgICAgICAgICAgICAgICAgMHg4 NCAgLy8gR1BJTyBTdXNwZW5kIElucHV0IC8NCj4gT3V0cHV0IFNlbGVjdCBbMzE6MF0NCj4gKyNk ZWZpbmUgUl9QQ0hfR1BJT19TVVNfTFZMICAgICAgICAgICAgICAgICAgICAgICAgMHg4OCAgLy8g R1BJTyBTdXNwZW5kIExldmVsIGZvcg0KPiBJbnB1dCBvciBPdXRwdXQgWzMxOjBdDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfR1BJT19TVVNfVFBFICAgICAgICAgICAgICAgICAgICAgICAgMHg4QyAg Ly8gR1BJTyBTdXNwZW5kIFRyaWdnZXINCj4gUG9zaXRpdmUgRWRnZSBFbmFibGUgWzMxOjBdDQo+ ICsjZGVmaW5lIFJfUENIX0dQSU9fU1VTX1RORSAgICAgICAgICAgICAgICAgICAgICAgIDB4OTAg IC8vIEdQSU8gU3VzcGVuZCBUcmlnZ2VyDQo+IE5lZ2F0aXZlIEVkZ2UgRW5hYmxlIFszMTowXQ0K PiArI2RlZmluZSBSX1BDSF9HUElPX1NVU19UUyAgICAgICAgICAgICAgICAgICAgICAgICAweDk0 ICAvLyBHUElPIFN1c3BlbmQgVHJpZ2dlcg0KPiBTdGF0dXMgWzMxOjBdDQo+ICsNCj4gKyNkZWZp bmUgUl9QQ0hfR1BJT19TVVNfV0FLRV9FTiAgICAgICAgICAgICAgICAgICAgMHg5OCAgLy8gR1BJ TyBTdXNwZW5kDQo+IFdha2UgRW5hYmxlIFszMTowXQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0dQ SU9fU1VTX1VTRV9TRUwyICAgICAgICAgICAgICAgICAgIDB4MTAwIC8vIEdQSU8gU3VzcGVuZCBV c2UNCj4gU2VsZWN0IDIgWzQyOjMyXQ0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NVU19JT19TRUwy ICAgICAgICAgICAgICAgICAgICAweDEwNCAvLyBHUElPIFN1c3BlbmQgSW5wdXQNCj4gLyBPdXRw dXQgU2VsZWN0IDIgWzQyOjMyXQ0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NVU19MVkwyICAgICAg ICAgICAgICAgICAgICAgICAweDEwOCAvLyBHUElPIFN1c3BlbmQgTGV2ZWwNCj4gZm9yIElucHV0 IG9yIE91dHB1dCAyIFs0MjozMl0NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NVU19UUEUy ICAgICAgICAgICAgICAgICAgICAgICAweDEwQyAvLyBHUElPIFN1c3BlbmQgVHJpZ2dlcg0KPiBQ b3NpdGl2ZSBFZGdlIEVuYWJsZSBbNDI6MzJdDQo+ICsjZGVmaW5lIFJfUENIX0dQSU9fU1VTX1RO RTIgICAgICAgICAgICAgICAgICAgICAgIDB4MTEwIC8vIEdQSU8gU3VzcGVuZCBUcmlnZ2VyDQo+ IE5lZ2F0aXZlIEVkZ2UgRW5hYmxlIFs0MjozMl0NCj4gKyNkZWZpbmUgUl9QQ0hfR1BJT19TVVNf VFMyICAgICAgICAgICAgICAgICAgICAgICAgMHgxMTQgLy8gR1BJTyBTdXNwZW5kIFRyaWdnZXIN Cj4gU3RhdHVzIFs0MjozMl0NCj4gKw0KPiArI2RlZmluZSBSX1BDSF9HUElPX1NVU19XQUtFX0VO MiAgICAgICAgICAgICAgICAgICAweDExOCAvLyBHUElPIFN1c3BlbmQNCj4gV2FrZSBFbmFibGUg MiBbNDI6MzJdDQo+ICsNCj4gKy8vDQo+ICsvLyBGaXhlZCBJTyBTcGFjZQ0KPiArLy8NCj4gKw0K PiArLy8NCj4gKy8vIFByb2Nlc3NvciBJbnRlcmZhY2UgUmVnaXN0ZXJzDQo+ICsvLw0KPiArI2Rl ZmluZSBSX1BDSF9OTUlfU0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDYxICAvLyBO TUkgU3RhdHVzIGFuZCBDb250cm9sDQo+ICsjZGVmaW5lIEJfUENIX05NSV9TQ19TRVJSX05NSV9T VFMgICAgICAgICAgICAgICAgIEJJVDcgIC8vIFNFUlIjIE5NSSBTdGF0dXMNCj4gKyNkZWZpbmUg Ql9QQ0hfTk1JX1NDX0lPQ0hLX05NSV9TVFMgICAgICAgICAgICAgICAgQklUNiAgLy8gSU9DSEsg Tk1JDQo+IFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9OTUlfU0NfVE1SMl9PVVRfU1RTICAgICAg ICAgICAgICAgICBCSVQ1ICAvLyBUaW1lciBDb3VudGVyIDINCj4gU3RhdHVzDQo+ICsjZGVmaW5l IEJfUENIX05NSV9TQ19SRUZfVE9HR0xFICAgICAgICAgICAgICAgICAgIEJJVDQgIC8vIFJlZnJl c2ggQ3ljbGUNCj4gdG9nZ2xlIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9OTUlfU0NfSU9DSEtf Tk1JX0VOICAgICAgICAgICAgICAgICBCSVQzICAvLyBJT0NISyBOTUkNCj4gRW5hYmxlDQo+ICsj ZGVmaW5lIEJfUENIX05NSV9TQ19QQ0lfU0VSUl9FTiAgICAgICAgICAgICAgICAgIEJJVDIgIC8v IFNFUlIjIE5NSSBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTk1JX1NDX1NQS1JfREFUX0VOICAg ICAgICAgICAgICAgICAgQklUMSAgLy8gU3BlYWtlciBEYXRhDQo+IEVuYWJsZQ0KPiArI2RlZmlu ZSBCX1BDSF9OTUlfU0NfVElNX0NOVDJfRU4gICAgICAgICAgICAgICAgICBCSVQwICAvLyBUaW1l ciBDb3VudGVyIDINCj4gRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTk1JX0VOICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHg3MCAgLy8gTk1JIEVuYWJsZSBhbmQgUmVhbCBUaW1l DQo+IENsb2NrIEluZGV4LCBDby1mdW5jdGlvbiB3aXRoIFJfUENIX1JUQ19JTkRFWA0KPiArI2Rl ZmluZSBCX1BDSF9OTUlfRU5fTk1JX0VOICAgICAgICAgICAgICAgICAgICAgICBCSVQ3ICAvLyBO TUkgRW5hYmxlLCBtdXN0DQo+IHByZXNlcnZlIHRoaXMgYml0IGZpcnN0IGJlZm9yZSB3cml0aW5n IHRvIElPIHBvcnQgMHg3MA0KPiArDQo+ICsvLw0KPiArLy8gUlRDIFJlZ2lzdGVycw0KPiArLy8N Cj4gKyNkZWZpbmUgUl9QQ0hfUlRDX0lOREVYICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3 MCAgLy8gTk1JIEVuYWJsZSBhbmQgUmVhbCBUaW1lDQo+IENsb2NrIEluZGV4LCBDby1mdW5jdGlv biB3aXRoIFJfUENIX05NSV9FTg0KPiArI2RlZmluZSBSX1BDSF9SVENfVEFSR0VUICAgICAgICAg ICAgICAgICAgICAgICAgICAweDcxICAvLyBSZWFsLVRpbWUgQ2xvY2sgVGFyZ2V0DQo+IFJlZ2lz dGVyDQo+ICsjZGVmaW5lIFJfUENIX1JUQ19FWFRfSU5ERVggICAgICAgICAgICAgICAgICAgICAg IDB4NzIgIC8vIEV4dGVuZGVkIFJBTSBJbmRleA0KPiBSZWdpc3Rlcg0KPiArI2RlZmluZSBSX1BD SF9SVENfRVhUX1RBUkdFVCAgICAgICAgICAgICAgICAgICAgICAweDczICAvLyBFeHRlbmRlZCBS QU0gVGFyZ2V0DQo+IFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFJfUENIX1JUQ19JTkRFWDIgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NzQgIC8vIFJlYWwtVGltZSBDbG9jayBJbmRleA0KPiBSZWdp c3Rlcg0KPiArI2RlZmluZSBSX1BDSF9SVENfVEFSR0VUMiAgICAgICAgICAgICAgICAgICAgICAg ICAweDc1ICAvLyBSZWFsLVRpbWUgQ2xvY2sgVGFyZ2V0DQo+IFJlZ2lzdGVyDQo+ICsjZGVmaW5l IFJfUENIX1JUQ19FWFRfSU5ERVgyICAgICAgICAgICAgICAgICAgICAgIDB4NzYgIC8vIEV4dGVu ZGVkIFJBTSBJbmRleA0KPiBSZWdpc3Rlcg0KPiArI2RlZmluZSBSX1BDSF9SVENfRVhUX1RBUkdF VDIgICAgICAgICAgICAgICAgICAgICAweDc3ICAvLyBFeHRlbmRlZCBSQU0gVGFyZ2V0DQo+IFJl Z2lzdGVyDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUlRDX1NFQ09ORFMgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMCAgLy8gU2Vjb25kcywgUmFuZ2UgMC4uNTkNCj4gKyNkZWZpbmUgUl9QQ0hf UlRDX1NFQ09ORFNBTEFSTSAgICAgICAgICAgICAgICAgICAgMHgwMSAgLy8gU2Vjb25kcyBBbGFy bSwNCj4gUmFuZ2UgMC4uNTkNCj4gKyNkZWZpbmUgUl9QQ0hfUlRDX01JTlVURVMgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMiAgLy8gTWludXRlcywgUmFuZ2UgMC4uNTkNCj4gKyNkZWZpbmUg Ul9QQ0hfUlRDX01JTlVURVNBTEFSTSAgICAgICAgICAgICAgICAgICAgMHgwMyAgLy8gTWludXRl cyBBbGFybSwNCj4gUmFuZ2UgMC4uNTkNCj4gKyNkZWZpbmUgUl9QQ0hfUlRDX0hPVVJTICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwNCAgLy8gSG91cnMsIFJhbmdlIDEuLjEyIG9yDQo+IDAu LjIzIEJpdCA3IGlzIEFNL1BNDQo+ICsjZGVmaW5lIFJfUENIX1JUQ19IT1VSU0FMQVJNICAgICAg ICAgICAgICAgICAgICAgIDB4MDUgIC8vIEhvdXJzIEFsYXJtLCBSYW5nZQ0KPiAxLi4xMiBvciAw Li4yMyBCaXQgNyBpcyBBTS9QTQ0KPiArI2RlZmluZSBSX1BDSF9SVENfREFZT0ZXRUVLICAgICAg ICAgICAgICAgICAgICAgICAweDA2ICAvLyBEYXkgb2YgV2VlaywgUmFuZ2UNCj4gMS4uNw0KPiAr I2RlZmluZSBSX1BDSF9SVENfREFZT0ZNT05USCAgICAgICAgICAgICAgICAgICAgICAweDA3ICAv LyBEYXkgb2YgTW9udGgsDQo+IFJhbmdlIDEuLjMxDQo+ICsjZGVmaW5lIFJfUENIX1JUQ19NT05U SCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDggIC8vIE1vbnRoLCBSYW5nZSAxLi4xMg0K PiArI2RlZmluZSBSX1BDSF9SVENfWUVBUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA5 ICAvLyBZZWFyLCBSYW5nZSAwLi45OQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1JUQ19SRUdJU1RF UkEgICAgICAgICAgICAgICAgICAgICAgIDB4MEEgIC8vIFJUQyBSZWdpc3RlciBBDQo+ICsjZGVm aW5lIEJfUENIX1JUQ19SRUdJU1RFUkFfVUlQICAgICAgICAgICAgICAgICAgIEJJVDcgIC8vIFVw ZGF0ZSBJbiBQcm9ncmVzcw0KPiArI2RlZmluZSBCX1BDSF9SVENfUkVHSVNURVJBX0RWICAgICAg ICAgICAgICAgICAgICAoQklUNiB8IEJJVDUgfCBCSVQ0KSAvLw0KPiBEaXZpc2lvbiBDaGFpbiBT ZWxlY3QNCj4gKyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9EVl9OT1JNX09QICAgICAgICAg ICAgMHgyMCAgLy8gTm9ybWFsDQo+IE9wZXJhdGlvbg0KPiArI2RlZmluZSBWX1BDSF9SVENfUkVH SVNURVJBX0RWX0JZUF81ICAgICAgICAgICAgICAweDMwICAvLyBCeXBhc3MgNSBTdGFnZXMNCj4g KFRlc3QgbW9kZSBvbmx5KQ0KPiArI2RlZmluZSBWX1BDSF9SVENfUkVHSVNURVJBX0RWX0JZUF8x MCAgICAgICAgICAgICAweDQwICAvLyBCeXBhc3MgMTANCj4gU3RhZ2VzIChUZXN0IG1vZGUgb25s eSkNCj4gKyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9EVl9CWVBfMTUgICAgICAgICAgICAg MHg1MCAgLy8gQnlwYXNzIDE1DQo+IFN0YWdlcyAoVGVzdCBtb2RlIG9ubHkpDQo+ICsjZGVmaW5l IFZfUENIX1JUQ19SRUdJU1RFUkFfRFZfRElWX1JTVDEgICAgICAgICAgIDB4NjAgIC8vIERpdmlk ZXIgUmVzZXQNCj4gKyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9EVl9ESVZfUlNUMiAgICAg ICAgICAgMHg3MCAgLy8gRGl2aWRlciBSZXNldA0KPiArI2RlZmluZSBCX1BDSF9SVENfUkVHSVNU RVJBX1JTICAgICAgICAgICAgICAgICAgICAoQklUMyB8IEJJVDIgfCBCSVQxIHwgQklUMCkgLy8N Cj4gUmF0ZSBTZWxlY3QNCj4gKyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9SU19JTlRfTlZf VEdMICAgICAgICAgMHgwMCAgLy8gSW50ZXJydXB0DQo+IE5ldmVyIFRvZ2dsZXMNCj4gKyNkZWZp bmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9SU18zUDkwNk1TMSAgICAgICAgICAgMHgwMSAgLy8gMy45 MDYyNSBtcw0KPiArI2RlZmluZSBWX1BDSF9SVENfUkVHSVNURVJBX1JTXzdQODEyTVMxICAgICAg ICAgICAweDAyICAvLyA3LjgxMjUgbXMNCj4gKyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9S U18xMjJQMFVTICAgICAgICAgICAgMHgwMyAgLy8gMTIyLjA3MCB1cw0KPiArI2RlZmluZSBWX1BD SF9SVENfUkVHSVNURVJBX1JTXzI0NFAxVVMgICAgICAgICAgICAweDA0ICAvLyAyNDQuMTQxIHVz DQo+ICsjZGVmaW5lIFZfUENIX1JUQ19SRUdJU1RFUkFfUlNfNDg4UDJVUyAgICAgICAgICAgIDB4 MDUgIC8vIDQ4OC4yODEgdXMNCj4gKyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9SU185NzZQ NVVTICAgICAgICAgICAgMHgwNiAgLy8gOTc2LjU2MjUgdXMNCj4gKyNkZWZpbmUgVl9QQ0hfUlRD X1JFR0lTVEVSQV9SU18xUDk1M01TICAgICAgICAgICAgMHgwNyAgLy8gMS45NTMxMjUgbXMNCj4g KyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9SU18zUDkwNk1TICAgICAgICAgICAgMHgwOCAg Ly8gMy45MDYyNSBtcw0KPiArI2RlZmluZSBWX1BDSF9SVENfUkVHSVNURVJBX1JTXzdQODEyTVMg ICAgICAgICAgICAweDA5ICAvLyA3LjgxMjUgbXMNCj4gKyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lT VEVSQV9SU18xNVA2Mk1TICAgICAgICAgICAgMHgwQSAgLy8gMTUuNjI1IG1zDQo+ICsjZGVmaW5l IFZfUENIX1JUQ19SRUdJU1RFUkFfUlNfMzFQMjVNUyAgICAgICAgICAgIDB4MEIgIC8vIDMxLjI1 IG1zDQo+ICsjZGVmaW5lIFZfUENIX1JUQ19SRUdJU1RFUkFfUlNfNjJQNU1TICAgICAgICAgICAg IDB4MEMgIC8vIDYyLjUgbXMNCj4gKyNkZWZpbmUgVl9QQ0hfUlRDX1JFR0lTVEVSQV9SU18xMjVN UyAgICAgICAgICAgICAgMHgwRCAgLy8gMTI1IG1zDQo+ICsjZGVmaW5lIFZfUENIX1JUQ19SRUdJ U1RFUkFfUlNfMjUwTVMgICAgICAgICAgICAgIDB4MEUgIC8vIDI1MCBtcw0KPiArI2RlZmluZSBW X1BDSF9SVENfUkVHSVNURVJBX1JTXzUwME1TICAgICAgICAgICAgICAweDBGICAvLyA1MDAgbXMN Cj4gKw0KPiArI2RlZmluZSBSX1BDSF9SVENfUkVHSVNURVJCICAgICAgICAgICAgICAgICAgICAg ICAweDBCICAvLyBSVEMgUmVnaXN0ZXIgQg0KPiArI2RlZmluZSBCX1BDSF9SVENfUkVHSVNURVJC X1NFVCAgICAgICAgICAgICAgICAgICBCSVQ3ICAvLyBVcGRhdGUgQ3ljbGUgSW5oaWJpdA0KPiAx OiBTdG9wIGF1dG8gdXBkYXRlLCBiZWdpbiBzZXQgdmFsdWU7IDA6IFVwZGF0ZSBjeWNsZSBvY2N1 cnMNCj4gKyNkZWZpbmUgQl9QQ0hfUlRDX1JFR0lTVEVSQl9QSUUgICAgICAgICAgICAgICAgICAg QklUNiAgLy8gUGVyaW9kaWMgSW50ZXJydXB0DQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9S VENfUkVHSVNURVJCX0FJRSAgICAgICAgICAgICAgICAgICBCSVQ1ICAvLyBBbGFybSBJbnRlcnJ1 cHQNCj4gRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1JUQ19SRUdJU1RFUkJfVUlFICAgICAgICAg ICAgICAgICAgIEJJVDQgIC8vIFVwZGF0ZS1lbmRlZA0KPiBJbnRlcnJ1cHQgRW5hYmxlDQo+ICsj ZGVmaW5lIEJfUENIX1JUQ19SRUdJU1RFUkJfU1FXRSAgICAgICAgICAgICAgICAgIEJJVDMgIC8v IFNxdWFyZSBXYXZlDQo+IEVuYWJsZSAoTm90IGltcGxlbWVudGVkKQ0KPiArI2RlZmluZSBCX1BD SF9SVENfUkVHSVNURVJCX0RNICAgICAgICAgICAgICAgICAgICBCSVQyICAvLyBEYXRhIE1vZGUg MTogQmluYXJ5Ow0KPiAwOkJDRA0KPiArI2RlZmluZSBCX1BDSF9SVENfUkVHSVNURVJCX0hGICAg ICAgICAgICAgICAgICAgICBCSVQxICAvLyBIb3VyIEZvcm1hdCAxOiAyNA0KPiBtb2RlOyAwOiAx MiBtb2RlLg0KPiArI2RlZmluZSBCX1BDSF9SVENfUkVHSVNURVJCX0RTRSAgICAgICAgICAgICAg ICAgICBCSVQwICAvLyBEYXlsaWdodCBTYXZpbmdzDQo+IEVuYWJsZSAoTm90IEltcGxlbWVudGVk KQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1JUQ19SRUdJU1RFUkMgICAgICAgICAgICAgICAgICAg ICAgIDB4MEMgIC8vIFJUQyBSZWdpc3RlciBDDQo+ICsjZGVmaW5lIEJfUENIX1JUQ19SRUdJU1RF UkNfSVJRRiAgICAgICAgICAgICAgICAgIEJJVDcgIC8vIEludGVycnVwdCBSZXF1ZXN0DQo+IEZs YWcNCj4gKyNkZWZpbmUgQl9QQ0hfUlRDX1JFR0lTVEVSQ19QRiAgICAgICAgICAgICAgICAgICAg QklUNiAgLy8gUGVyaW9kaWMgSW50ZXJydXB0IEZsYWcNCj4gKyNkZWZpbmUgQl9QQ0hfUlRDX1JF R0lTVEVSQ19BRiAgICAgICAgICAgICAgICAgICAgQklUNSAgLy8gQWxhcm0gRmxhZw0KPiArI2Rl ZmluZSBCX1BDSF9SVENfUkVHSVNURVJDX1VGICAgICAgICAgICAgICAgICAgICBCSVQ0ICAvLyBV cGRhdGUtZW5kZWQgRmxhZw0KPiArI2RlZmluZSBCX1BDSF9SVENfUkVHSVNURVJDX1JFU0VSVkVE ICAgICAgICAgICAgICAoQklUMyB8IEJJVDIgfCBCSVQxIHwgQklUMCkNCj4gKw0KPiArI2RlZmlu ZSBSX1BDSF9SVENfUkVHSVNURVJEICAgICAgICAgICAgICAgICAgICAgICAweDBEICAvLyBSVEMg UmVnaXN0ZXIgRA0KPiArI2RlZmluZSBCX1BDSF9SVENfUkVHSVNURVJEX1ZSVCAgICAgICAgICAg ICAgICAgICBCSVQ3ICAvLyBWYWxpZCBSQU0gYW5kIFRpbWUNCj4gQml0DQo+ICsjZGVmaW5lIEJf UENIX1JUQ19SRUdJU1RFUkRfUkVTRVJWRUQgICAgICAgICAgICAgIEJJVDYNCj4gKyNkZWZpbmUg Ql9QQ0hfUlRDX1JFR0lTVEVSRF9EQSAgICAgICAgICAgICAgICAgICAgMHgzRiAgLy8gRGF0ZSBB bGFybQ0KPiArDQo+ICsjZGVmaW5lIEJfUENIX1JUQ19DRU5UVVJZICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MzIgIC8vIENlbnR1cnkgRGF0YQ0KPiArDQo+ICsvLw0KPiArLy8gQVBNIFJlZ2lz dGVycw0KPiArLy8NCj4gKyNkZWZpbmUgUl9QQ0hfQVBNX0NOVCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHhCMiAgLy8gQWR2YW5jZWQgUG93ZXINCj4gTWFuYWdlbWVudCBDb250cm9sIFBv cnQNCj4gKyNkZWZpbmUgUl9QQ0hfQVBNX1NUUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHhCMyAgLy8gQWR2YW5jZWQgUG93ZXINCj4gTWFuYWdlbWVudCBTdGF0dXMgUG9ydA0KPiArDQo+ ICsvLw0KPiArLy8gSU5JVCBSZWdpc3Rlcg0KPiArLy8NCj4gKyNkZWZpbmUgUl9QQ0hfUE9SVDky ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg5Mg0KPiArI2RlZmluZSBCX1BDSF9QT1JU OTJfQUxUX0EyMF9HQVRFICAgICAgICAgICAgICAgICBCSVQxICAvLyBBbHRlcm5hdGUgQTIwDQo+ IEdhdGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE9SVDkyX0lOSVRfTk9XICAgICAgICAgICAgICAgICAg ICAgQklUMCAgLy8gSW5pdCBOb3cNCj4gKw0KPiArLy8NCj4gKy8vIFBDVSBVQVJUDQo+ICsvLw0K PiArI2RlZmluZSBSX1BDSF9DT00xX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNG OCAvLyBDT00xIElPIEJBU0UNCj4gKw0KPiArLy8NCj4gKy8vIFJlc2V0IENvbnRyb2wgUmVnaXN0 ZXINCj4gKy8vDQo+ICsjZGVmaW5lIFJfUENIX1JTVF9DTlQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4Q0Y5IC8vIFJlc2V0IENvbnRyb2wNCj4gKyNkZWZpbmUgQl9QQ0hfUlNUX0NOVF9G VUxMX1JTVCAgICAgICAgICAgICAgICAgICAgQklUMw0KPiArI2RlZmluZSBCX1BDSF9SU1RfQ05U X1JTVF9DUFUgICAgICAgICAgICAgICAgICAgICBCSVQyDQo+ICsjZGVmaW5lIEJfUENIX1JTVF9D TlRfU1lTX1JTVCAgICAgICAgICAgICAgICAgICAgIEJJVDENCj4gKyNkZWZpbmUgVl9QQ0hfUlNU X0NOVF9GVUxMUkVTRVQgICAgICAgICAgICAgICAgICAgMHgwRQ0KPiArI2RlZmluZSBWX1BDSF9S U1RfQ05UX0hBUkRSRVNFVCAgICAgICAgICAgICAgICAgICAweDA2DQo+ICsjZGVmaW5lIFZfUENI X1JTVF9DTlRfU09GVFJFU0VUICAgICAgICAgICAgICAgICAgIDB4MDQgIC8vIE5vdCBzdXBwb3J0 ZWQgYnkNCj4gVkxWDQo+ICsjZGVmaW5lIFZfUENIX1JTVF9DTlRfSEFSRFNUQVJUU1RBVEUgICAg ICAgICAgICAgIDB4MDINCj4gKyNkZWZpbmUgVl9QQ0hfUlNUX0NOVF9TT0ZUU1RBUlRTVEFURSAg ICAgICAgICAgICAgMHgwMA0KPiArDQo+ICsvLw0KPiArLy8gRml4ZWQgTWVtb3J5IFJlZ2lvbg0K PiArLy8NCj4gKw0KPiArLy8NCj4gKy8vIElPIEFQSUMgUmVnaXN0ZXJzDQo+ICsvLw0KPiArI2Rl ZmluZSBSX1BDSF9JT19BUElDX0lOREVYICAgICAgICAgICAgICAgICAgICAgICAweEZFQzAwMDAw IC8vIElPQVBJQyBJbmRleA0KPiBSZWdpc3RlciwgOGJpdA0KPiArI2RlZmluZSBSX1BDSF9JT19B UElDX1dJTkRPVyAgICAgICAgICAgICAgICAgICAgICAweEZFQzAwMDEwIC8vIElPQVBJQw0KPiBX aW5kb3cgUmVnaXN0ZXIsIDMyYml0DQo+ICsjZGVmaW5lIFJfUENIX0lPX0FQSUNfRU9JICAgICAg ICAgICAgICAgICAgICAgICAgIDB4RkVDMDAwNDAgLy8gSU9BUElDIEVPSQ0KPiBSZWdpc3Rlciwg OGJpdA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0lPX0FQSUNfSUQgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAgIC8vIElkZW50aWZpY2F0aW9uDQo+ICsjZGVmaW5lIEJfUENIX0lPX0FQSUNf SURfQUlEICAgICAgICAgICAgICAgICAgICAgIChCSVQyNyB8IEJJVDI2IHwgQklUMjUgfCBCSVQy NCkNCj4gLy8gQVBJQyBJZGVudGlmaWNhdGlvbg0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0lPX0FQ SUNfVlMgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEgIC8vIFZlcnNpb24NCj4gKyNkZWZp bmUgQl9QQ0hfSU9fQVBJQ19WU19NUkUgICAgICAgICAgICAgICAgICAgICAgMHhGRjAwMDAgLy8g TWF4aW11bQ0KPiBSZWRpcmVjdGlvbiBFbnRyaWVzDQo+ICsjZGVmaW5lIEJfUENIX0lPX0FQSUNf VlNfUFJRICAgICAgICAgICAgICAgICAgICAgIEJJVDE1IC8vIFBpbiBBc3NlcnRpb24gUmVnaXN0 ZXINCj4gU3VwcG9ydGVkDQo+ICsjZGVmaW5lIEJfUENIX0lPX0FQSUNfVlNfVlMgICAgICAgICAg ICAgICAgICAgICAgIDB4RkYgIC8vIFZlcnNpb24NCj4gKw0KPiArLy8NCj4gKy8vIEhQRVQgUmVn aXN0ZXJzDQo+ICsvLw0KPiArI2RlZmluZSBSX1BDSF9QQ0hfSFBFVCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweEZFRDAwMDAwIC8vIEhQRVQgQmFzZSBBZGRyZXNzDQo+ICsNCj4gKyNkZWZp bmUgUl9QQ0hfUENIX0hQRVRfR0NJRCAgICAgICAgICAgICAgICAgICAgICAgMHgwMCAgLy8gSFBF VCBHZW5lcmFsDQo+IENhcGFiaWxpdGllcyBhbmQgSUQsIDY0Yml0DQo+ICsjZGVmaW5lIEJfUENI X1BDSF9IUEVUX0dDSURfQ1RQICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYwMDAwMDAwMCAv Lw0KPiBDb3VudGVyIFRpY2sgUGVyaW9kDQo+ICsjZGVmaW5lIEJfUENIX1BDSF9IUEVUX0dDSURf VklEICAgICAgICAgICAgICAgICAgIDB4RkZGRjAwMDAgLy8gVmVuZG9yIElEDQo+ICsjZGVmaW5l IEJfUENIX1BDSF9IUEVUX0dDSURfTFJDICAgICAgICAgICAgICAgICAgIEJJVDE1IC8vIExlZ2Fj eSBSb3V0DQo+IENhcGFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUENIX0hQRVRfR0NJRF9DUyAgICAg ICAgICAgICAgICAgICAgQklUMTMgLy8gQ291bnRlciBTaXplDQo+ICsjZGVmaW5lIEJfUENIX1BD SF9IUEVUX0dDSURfTlQgICAgICAgICAgICAgICAgICAgIDB4MUYwMCAvLyBOdW1iZXIgb2YgVGlt ZXJzDQo+ICsjZGVmaW5lIEJfUENIX1BDSF9IUEVUX0dDSURfUklEICAgICAgICAgICAgICAgICAg IDB4RkYgIC8vIFJldmlzaW9uIElEDQo+ICsjZGVmaW5lIE5fUENIX0hQRVRfQUREUl9BU0VMICAg ICAgICAgICAgICAgICAgICAgIDEyDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfUENIX0hQRVRfR0NG RyAgICAgICAgICAgICAgICAgICAgICAgMHgxMCAgLy8gSFBFVCBHZW5lcmFsDQo+IENvbmZpZ3Vy YXRpb24NCj4gKyNkZWZpbmUgQl9QQ0hfUENIX0hQRVRfR0NGR19MUkUgICAgICAgICAgICAgICAg ICAgQklUMSAgLy8gTGVnYWN5IFJvdXQgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BDSF9IUEVU X0dDRkdfRU4gICAgICAgICAgICAgICAgICAgIEJJVDAgIC8vIE92ZXJhbGwgRW5hYmxlDQo+ICsN Cj4gKyNkZWZpbmUgUl9QQ0hfUENIX0hQRVRfR0lTICAgICAgICAgICAgICAgICAgICAgICAgMHgy MCAgLy8gSFBFVCBHZW5lcmFsIEludGVycnVwdA0KPiBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hf UENIX0hQRVRfR0lTX1QyICAgICAgICAgICAgICAgICAgICAgQklUMiAgLy8gVGltZXIgMiBTdGF0 dXMNCj4gKyNkZWZpbmUgQl9QQ0hfUENIX0hQRVRfR0lTX1QxICAgICAgICAgICAgICAgICAgICAg QklUMSAgLy8gVGltZXIgMSBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfUENIX0hQRVRfR0lTX1Qw ICAgICAgICAgICAgICAgICAgICAgQklUMCAgLy8gVGltZXIgMCBTdGF0dXMNCj4gKw0KPiArI2Rl ZmluZSBSX1BDSF9QQ0hfSFBFVF9NQ1YgICAgICAgICAgICAgICAgICAgICAgICAweEYwICAvLyBI UEVUIE1haW4gQ291bnRlcg0KPiBWYWx1ZSwgNjRiaXQNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9Q Q0hfSFBFVF9UMEMgICAgICAgICAgICAgICAgICAgICAgICAweDEwMCAvLyBIUEVUIFRpbWVyIDAg Q29uZmlnDQo+IGFuZCBDYXBhYmlsaXRpZXMNCj4gKyNkZWZpbmUgUl9QQ0hfUENIX0hQRVRfVDBD Vl9MICAgICAgICAgICAgICAgICAgICAgMHgxMDggLy8gSFBFVCBUaW1lciAwIExvd2VyDQo+IENv bXBhcmF0b3IgVmFsdWUNCj4gKyNkZWZpbmUgUl9QQ0hfUENIX0hQRVRfVDBDVl9IICAgICAgICAg ICAgICAgICAgICAgMHgxMEMgLy8gSFBFVCBUaW1lciAwIFVwcGVyDQo+IENvbXBhcmF0b3IgVmFs dWUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9QQ0hfSFBFVF9UMUMgICAgICAgICAgICAgICAgICAg ICAgICAweDEyMCAvLyBIUEVUIFRpbWVyIDEgQ29uZmlnDQo+IGFuZCBDYXBhYmlsaXRpZXMNCj4g KyNkZWZpbmUgUl9QQ0hfUENIX0hQRVRfVDFDViAgICAgICAgICAgICAgICAgICAgICAgMHgxMjgg Ly8gSFBFVCBUaW1lciAxDQo+IENvbXBhcmF0b3IgVmFsdWUNCj4gKw0KPiArI2RlZmluZSBSX1BD SF9QQ0hfSFBFVF9UMkMgICAgICAgICAgICAgICAgICAgICAgICAweDE0MCAvLyBIUEVUIFRpbWVy IDIgQ29uZmlnDQo+IGFuZCBDYXBhYmlsaXRpZXMNCj4gKyNkZWZpbmUgUl9QQ0hfUENIX0hQRVRf VDJDViAgICAgICAgICAgICAgICAgICAgICAgMHgxNDggLy8gSFBFVCBUaW1lciAyDQo+IENvbXBh cmF0b3IgVmFsdWUNCj4gKw0KPiArI2RlZmluZSBCX1BDSF9QQ0hfSFBFVF9UWENfSVJDICAgICAg ICAgICAgICAgICAgICAweEZGRkZGRkZGMDAwMDAwMDAgLy8NCj4gSW50ZXJydXB0IFJvdXQgQ2Fw YWJpbGl0eQ0KPiArI2RlZmluZSBCX1BDSF9QQ0hfSFBFVF9UWENfRklEICAgICAgICAgICAgICAg ICAgICBCSVQxNSAvLyBGU0IgSW50ZXJydXB0DQo+IERlbGl2ZXJ5DQo+ICsjZGVmaW5lIEJfUENI X1BDSF9IUEVUX1RYQ19GRSAgICAgICAgICAgICAgICAgICAgIEJJVDE0IC8vIEZTQiBFbmFibGUN Cj4gKyNkZWZpbmUgQl9QQ0hfUENIX0hQRVRfVFhDX0lSICAgICAgICAgICAgICAgICAgICAgMHgz RTAwIC8vIEludGVycnVwdCBSb3V0DQo+ICsjZGVmaW5lIEJfUENIX1BDSF9IUEVUX1RYQ19UMzJN ICAgICAgICAgICAgICAgICAgIEJJVDggIC8vIFRpbWVyIDMyLWJpdCBNb2RlDQo+ICsjZGVmaW5l IEJfUENIX1BDSF9IUEVUX1RYQ19UVlMgICAgICAgICAgICAgICAgICAgIEJJVDYgIC8vIFRpbWVy IFZhbHVlIFNldA0KPiArI2RlZmluZSBCX1BDSF9QQ0hfSFBFVF9UWENfVFMgICAgICAgICAgICAg ICAgICAgICBCSVQ1ICAvLyBUaW1lciBTaXplDQo+ICsjZGVmaW5lIEJfUENIX1BDSF9IUEVUX1RY Q19QSUMgICAgICAgICAgICAgICAgICAgIEJJVDQgIC8vIFBlcmlvZGljIEludGVycnVwdA0KPiBD YXBhYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BDSF9IUEVUX1RYQ19UWVAgICAgICAgICAgICAgICAg ICAgIEJJVDMgIC8vIFRpbWVyIFR5cGUNCj4gKyNkZWZpbmUgQl9QQ0hfUENIX0hQRVRfVFhDX0lF ICAgICAgICAgICAgICAgICAgICAgQklUMiAgLy8gSW50ZXJydXB0IEVuYWJsZQ0KPiArI2RlZmlu ZSBCX1BDSF9QQ0hfSFBFVF9UWENfSVQgICAgICAgICAgICAgICAgICAgICBCSVQxICAvLyBUaW1l ciBJbnRlcnJ1cHQgVHlwZQ0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVy L0luY2x1ZA0KPiBlL1BjaFJlZ3MvUGNoUmVnc1JjcmIuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBl L1BjaFJlZ3MvUGNoUmVnc1JjcmIuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi43Y2M1OTljZDZhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNv bi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIv SW5jbHVkDQo+IGUvUGNoUmVncy9QY2hSZWdzUmNyYi5oDQo+IEBAIC0wLDAgKzEsNDggQEANCj4g Ky8qKg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTIgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiArICBAZmlsZQ0KPiArICBQ Y2hSZWdzUmNyYi5oDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFJlZ2lzdGVyIG5hbWVzIGZvciBW TFYgQ2hpcHNldCBDb25maWd1cmF0aW9uIFJlZ2lzdGVycw0KPiArDQo+ICsgIENvbnZlbnRpb25z Og0KPiArDQo+ICsgIC0gUHJlZml4ZXM6DQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdp dGggIlJfIiBhcmUgcmVnaXN0ZXJzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGgg IkJfIiBhcmUgYml0cyB3aXRoaW4gcmVnaXN0ZXJzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5u aW5nIHdpdGggIlZfIiBhcmUgbWVhbmluZ2Z1bCB2YWx1ZXMgb2YgYml0cyB3aXRoaW4gdGhlDQo+ IHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJTXyIgYXJlIHJl Z2lzdGVyIHNpemVzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIk5fIiBhcmUg dGhlIGJpdCBwb3NpdGlvbg0KPiArICAtIEluIGdlbmVyYWwsIFBDSCByZWdpc3RlcnMgYXJlIGRl bm90ZWQgYnkgIl9QQ0hfIiBpbiByZWdpc3RlciBuYW1lcw0KPiArICAtIFJlZ2lzdGVycyAvIGJp dHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4gUENIIGdlbmVyYXRpb25zIGFyZSBkZW5vdGVk DQo+IGJ5DQo+ICsgICAgIl9QQ0hfPGdlbmVyYXRpb25fbmFtZT5fIiBpbiByZWdpc3Rlci9iaXQg bmFtZXMuIGUuZy4sICJfUENIX1ZMVl8iDQo+ICsgIC0gUmVnaXN0ZXJzIC8gYml0cyB0aGF0IGFy ZSBkaWZmZXJlbnQgYmV0d2VlbiBTS1VzIGFyZSBkZW5vdGVkIGJ5DQo+ICJfPFNLVV9uYW1lPiIN Cj4gKyAgICBhdCB0aGUgZW5kIG9mIHRoZSByZWdpc3Rlci9iaXQgbmFtZXMNCj4gKyAgLSBSZWdp c3RlcnMgLyBiaXRzIG9mIG5ldyBkZXZpY2VzIGludHJvZHVjZWQgaW4gYSBQQ0ggZ2VuZXJhdGlv biB3aWxsIGJlIGp1c3QNCj4gbmFtZWQNCj4gKyAgICBhcyAiX1BDSF8iIHdpdGhvdXQgPGdlbmVy YXRpb25fbmFtZT4gaW5zZXJ0ZWQuDQo+ICsNCj4gKyoqLw0KPiArI2lmbmRlZiBfUENIX1JFR1Nf UkNSQl9IXw0KPiArI2RlZmluZSBfUENIX1JFR1NfUkNSQl9IXw0KPiArDQo+ICsvLy8NCj4gKy8v LyBDaGlwc2V0IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXJzIChNZW1vcnkgc3BhY2UpDQo+ICsvLy8g UkNCQQ0KPiArLy8vDQo+ICsjZGVmaW5lIFJfUENIX1JDUkJfR0NTICAgICAgICAgICAgICAgICAg ICAweDAwICAvLyBHZW5lcmFsIENvbnRyb2wgYW5kIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9S Q1JCX0dDU19CQlNJWkUgICAgICAgICAgICAgKEJJVDMwIHwgQklUMjkpIC8vIEJvb3QgQmxvY2sg U2l6ZQ0KPiArI2RlZmluZSBCX1BDSF9SQ1JCX0dDU19CQlMgICAgICAgICAgICAgICAgKEJJVDEx IHwgQklUMTApIC8vIEJvb3QgQklPUyBTdHJhcHMNCj4gKyNkZWZpbmUgVl9QQ0hfUkNSQl9HQ1Nf QkJTX1NQSSAgICAgICAgICAgICgzIDw8IDEwKSAvLyBCb290IEJJT1Mgc3RyYXBwZWQNCj4gdG8g U1BJDQo+ICsjZGVmaW5lIFZfUENIX1JDUkJfR0NTX0JCU19MUEMgICAgICAgICAgICAoMCA8PCAx MCkgLy8gQm9vdCBCSU9TIHN0cmFwcGVkDQo+IHRvIExQQw0KPiArI2RlZmluZSBCX1BDSF9SQ1JC X0dDU19UUyAgICAgICAgICAgICAgICAgQklUMSAvLyBUb3AgU3dhcA0KPiArI2RlZmluZSBCX1BD SF9SQ1JCX0dDU19CSUxEICAgICAgICAgICAgICAgQklUMCAvLyBCSU9TIEludGVyZmFjZSBMb2Nr LURvd24NCj4gKw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1 ZA0KPiBlL1BjaFJlZ3MvUGNoUmVnc1NhdGEuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaFJl Z3MvUGNoUmVnc1NhdGEuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi5hMzI2ZTE3OGZlDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVk DQo+IGUvUGNoUmVncy9QY2hSZWdzU2F0YS5oDQo+IEBAIC0wLDAgKzEsMjQ1IEBADQo+ICsvKioN Cj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gKyAgQGZpbGUNCj4gKyAgUGNoUmVn c1NhdGEuaA0KPiArDQo+ICsgIEBicmllZg0KPiArICBSZWdpc3RlciBuYW1lcyBmb3IgVkxWIFNB VEEgY29udHJvbGxlcnMNCj4gKw0KPiArICBDb252ZW50aW9uczoNCj4gKw0KPiArICAtIFByZWZp eGVzOg0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJSXyIgYXJlIHJlZ2lzdGVy cw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJCXyIgYXJlIGJpdHMgd2l0aGlu IHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJWXyIgYXJlIG1l YW5pbmdmdWwgdmFsdWVzIG9mIGJpdHMgd2l0aGluIHRoZQ0KPiByZWdpc3RlcnMNCj4gKyAgICBE ZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiU18iIGFyZSByZWdpc3RlciBzaXplcw0KPiArICAg IERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJOXyIgYXJlIHRoZSBiaXQgcG9zaXRpb24NCj4g KyAgLSBJbiBnZW5lcmFsLCBQQ0ggcmVnaXN0ZXJzIGFyZSBkZW5vdGVkIGJ5ICJfUENIXyIgaW4g cmVnaXN0ZXIgbmFtZXMNCj4gKyAgLSBSZWdpc3RlcnMgLyBiaXRzIHRoYXQgYXJlIGRpZmZlcmVu dCBiZXR3ZWVuIFBDSCBnZW5lcmF0aW9ucyBhcmUgZGVub3RlZA0KPiBieQ0KPiArICAgICJfUENI XzxnZW5lcmF0aW9uX25hbWU+XyIgaW4gcmVnaXN0ZXIvYml0IG5hbWVzLiBlLmcuLCAiX1BDSF9W TFZfIg0KPiArICAtIFJlZ2lzdGVycyAvIGJpdHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4g U0tVcyBhcmUgZGVub3RlZCBieQ0KPiAiXzxTS1VfbmFtZT4iDQo+ICsgICAgYXQgdGhlIGVuZCBv ZiB0aGUgcmVnaXN0ZXIvYml0IG5hbWVzDQo+ICsgIC0gUmVnaXN0ZXJzIC8gYml0cyBvZiBuZXcg ZGV2aWNlcyBpbnRyb2R1Y2VkIGluIGEgUENIIGdlbmVyYXRpb24gd2lsbCBiZSBqdXN0DQo+IG5h bWVkDQo+ICsgICAgYXMgIl9QQ0hfIiB3aXRob3V0IDxnZW5lcmF0aW9uX25hbWU+IGluc2VydGVk Lg0KPiArDQo+ICsqKi8NCj4gKyNpZm5kZWYgX1BDSF9SRUdTX1NBVEFfSF8NCj4gKyNkZWZpbmUg X1BDSF9SRUdTX1NBVEFfSF8NCj4gKw0KPiArLy8vDQo+ICsvLy8gVkxWIFNBVEEgTWVzc2FnZSBC dXMNCj4gKy8vLw0KPiArI2RlZmluZSBQQ0hfU0FUQV9QSFlfUE9SVF9JRCAgICAgICAgICAgICAg ICAweEEzICAvLyBTQVRBIFBIWSBQb3J0IElEDQo+ICsjZGVmaW5lIFBDSF9TQVRBX1BIWV9NTUlP X1JFQURfT1BDT0RFICAgICAgIDB4MDAgIC8vIENVbml0IHRvIFNBVEENCj4gUEhZIE1NSU8gUmVh ZCBPcGNvZGUNCj4gKyNkZWZpbmUgUENIX1NBVEFfUEhZX01NSU9fV1JJVEVfT1BDT0RFICAgICAg MHgwMSAgLy8gQ1VuaXQgdG8gU0FUQQ0KPiBQSFkgTU1JTyBXcml0ZSBPcGNvZGUNCj4gKw0KPiAr Ly8vDQo+ICsvLy8gIFNBVEEgQ29udHJvbGxlciBSZWdpc3RlcnMgKEQxOTpGMCkNCj4gKy8vLw0K PiArI2RlZmluZSBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfU0FUQSAgICAgICAgICAxOQ0KPiArI2Rl ZmluZSBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9TQVRBICAgICAgICAwDQo+ICsNCj4gKyNkZWZp bmUgUl9QQ0hfU0FUQV9JRCAgICAgICAgICAgICAgICAgICAgICAgMHgwMCAgLy8gSWRlbnRpZmll cnMNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9JRF9ESUQgICAgICAgICAgICAgICAgICAgMHhGRkZG MDAwMCAvLyBEZXZpY2UgSUQNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9JRF9WSUQgICAgICAgICAg ICAgICAgICAgMHgwMDAwRkZGRiAvLyBWZW5kb3IgSUQNCj4gKyNkZWZpbmUgVl9QQ0hfU0FUQV9W RU5ET1JfSUQgICAgICAgICAgICAgICAgVl9QQ0hfSU5URUxfVkVORE9SX0lEDQo+ICsjZGVmaW5l IFZfUENIX1NBVEFfREVWSUNFX0lEX0RfSURFICAgICAgICAgIDB4MEYyMCAgLy8gRGVza3RvcCBJ REUgTW9kZQ0KPiAoUG9ydHMgMCBhbmQgMSkNCj4gKyNkZWZpbmUgVl9QQ0hfU0FUQV9ERVZJQ0Vf SURfRF9BSENJICAgICAgICAgMHgwRjIyICAvLyBEZXNrdG9wIEFIQ0kNCj4gTW9kZSAoUG9ydHMg MCBhbmQgMSkNCj4gKyNkZWZpbmUgVl9QQ0hfU0FUQV9ERVZJQ0VfSURfRF9SQUlEICAgICAgICAg MHgyODIyICAvLyBEZXNrdG9wIFJBSUQNCj4gMC8xLzUvMTAgTW9kZSwgYmFzZWQgb24gRDE5OkYw OjlDaFs3XQ0KPiArDQo+ICsjZGVmaW5lIFZfUENIX1NBVEFfREVWSUNFX0lEX01fSURFICAgICAg ICAgIDB4MEYyMSAgLy8gTW9iaWxlIElERSBNb2RlDQo+IChQb3J0cyAwIGFuZCAxKQ0KPiArI2Rl ZmluZSBWX1BDSF9TQVRBX0RFVklDRV9JRF9NX0FIQ0kgICAgICAgICAweDBGMjMgIC8vIE1vYmls ZSBBSENJDQo+IE1vZGUgKFBvcnRzIDAgYW5kIDEpDQo+ICsjZGVmaW5lIFZfUENIX1NBVEFfREVW SUNFX0lEX01fUkFJRCAgICAgICAgIDB4MjgyQSAgLy8gTW9iaWxlIFJBSUQNCj4gMC8xLzUvMTAg TW9kZSwgYmFzZWQgb24gRDE5OkYwOjlDaFs3XQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFf Q09NTUFORCAgICAgICAgICAgICAgICAgIDB4MDQgIC8vIENvbW1hbmQNCj4gKyNkZWZpbmUgQl9Q Q0hfU0FUQV9DT01NQU5EX0lOVF9ESVMgICAgICAgICAgQklUMTAgLy8gSW50ZXJydXB0IERpc2Fi bGUNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9DT01NQU5EX0ZCRSAgICAgICAgICAgICAgQklUOSAg Ly8gRmFzdCBCYWNrLXRvLWJhY2sNCj4gRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfQ09N TUFORF9TRVJSX0VOICAgICAgICAgIEJJVDggIC8vIFNFUlIjIEVuYWJsZQ0KPiArI2RlZmluZSBC X1BDSF9TQVRBX0NPTU1BTkRfV0NDICAgICAgICAgICAgICBCSVQ3ICAvLyBXYWl0IEN5Y2xlIEVu YWJsZQ0KPiArI2RlZmluZSBCX1BDSF9TQVRBX0NPTU1BTkRfUEVSICAgICAgICAgICAgICBCSVQ2 ICAvLyBQYXJpdHkgRXJyb3INCj4gUmVzcG9uc2UgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1NB VEFfQ09NTUFORF9WUFMgICAgICAgICAgICAgIEJJVDUgIC8vIFZHQSBQYWxldHRlDQo+IFNub29w aW5nIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9TQVRBX0NPTU1BTkRfUE1XRSAgICAgICAgICAg ICBCSVQ0ICAvLyBNZW1vcnkgV3JpdGUNCj4gYW5kIEludmFsaWRhdGUgRW5hYmxlDQo+ICsjZGVm aW5lIEJfUENIX1NBVEFfQ09NTUFORF9TQ0UgICAgICAgICAgICAgIEJJVDMgIC8vIFNwZWNpYWwg Q3ljbGUgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfQ09NTUFORF9CTUUgICAgICAgICAg ICAgIEJJVDIgIC8vIEJ1cyBNYXN0ZXIgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfQ09N TUFORF9NU0UgICAgICAgICAgICAgIEJJVDEgIC8vIE1lbW9yeSBTcGFjZQ0KPiBFbmFibGUNCj4g KyNkZWZpbmUgQl9QQ0hfU0FUQV9DT01NQU5EX0lPU0UgICAgICAgICAgICAgQklUMCAgLy8gSS9P IFNwYWNlIEVuYWJsZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfUENJU1RTICAgICAgICAg ICAgICAgICAgIDB4MDYgIC8vIERldmljZSBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9Q Q0lTVFNfRFBFICAgICAgICAgICAgICAgQklUMTUgLy8gRGV0ZWN0ZWQgUGFyaXR5IEVycm9yDQo+ ICsjZGVmaW5lIEJfUENIX1NBVEFfUENJU1RTX1NTRSAgICAgICAgICAgICAgIEJJVDE0IC8vIFNp Z25hbGVkIFN5c3RlbSBFcnJvcg0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BDSVNUU19STUEgICAg ICAgICAgICAgICBCSVQxMyAvLyBSZWNlaXZlZCBNYXN0ZXItQWJvcnQNCj4gU3RhdHVzDQo+ICsj ZGVmaW5lIEJfUENIX1NBVEFfUENJU1RTX1JUQSAgICAgICAgICAgICAgIEJJVDEyIC8vIFJlY2Vp dmVkIFRhcmdldC1BYm9ydA0KPiBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9QQ0lTVFNf U1RBICAgICAgICAgICAgICAgQklUMTEgLy8gU2lnbmFsZWQgVGFyZ2V0LUFib3J0DQo+IFN0YXR1 cw0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BDSVNUU19ERVZfU1RTX01BU0sgICAgICAoQklUMTAg fCBCSVQ5KSAvLyBERVZTRUwjDQo+IFRpbWluZyBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU0FU QV9QQ0lTVFNfRFBFRCAgICAgICAgICAgICAgQklUOCAgLy8gTWFzdGVyIERhdGEgUGFyaXR5IEVy cm9yDQo+IERldGVjdGVkDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfUENJU1RTX0NBUF9MSVNUICAg ICAgICAgIEJJVDQgIC8vIENhcGFiaWxpdGllcyBMaXN0DQo+ICsjZGVmaW5lIEJfUENIX1NBVEFf UENJU1RTX0lUTlMgICAgICAgICAgICAgIEJJVDMgIC8vIEludGVycnVwdCBTdGF0dXMNCj4gKw0K PiArI2RlZmluZSBSX1BDSF9TQVRBX1JJRCAgICAgICAgICAgICAgICAgICAgICAweDA4ICAvLyBS ZXZpc2lvbiBJRCAoOCBiaXRzKQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfUElfUkVHSVNU RVIgICAgICAgICAgICAgIDB4MDkgIC8vIFByb2dyYW1taW5nIEludGVyZmFjZQ0KPiAoOCBiaXRz KQ0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BJX1JFR0lTVEVSX1NOQyAgICAgICAgICBCSVQzICAv LyBTZWNvbmRhcnkgTW9kZQ0KPiBOYXRpdmUgQ2FwYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9TQVRB X1BJX1JFR0lTVEVSX1NORSAgICAgICAgICBCSVQyICAvLyBTZWNvbmRhcnkgTW9kZQ0KPiBOYXRp dmUgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfUElfUkVHSVNURVJfUE5DICAgICAgICAg IEJJVDEgIC8vIFByaW1hcnkgTW9kZSBOYXRpdmUNCj4gQ2FwYWJsZQ0KPiArI2RlZmluZSBCX1BD SF9TQVRBX1BJX1JFR0lTVEVSX1BORSAgICAgICAgICBCSVQwICAvLyBQcmltYXJ5IE1vZGUgTmF0 aXZlDQo+IEVuYWJsZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfQ0MgICAgICAgICAgICAg ICAgICAgICAgIDB4MEEgIC8vIENsYXNzIENvZGUNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9DQ19C Q0MgICAgICAgICAgICAgICAgICAgMHhGRjAwIC8vIEJhc2UgQ2xhc3MgQ29kZQ0KPiArI2RlZmlu ZSBCX1BDSF9TQVRBX0NDX1NDQyAgICAgICAgICAgICAgICAgICAweDAwRkYgLy8gU3ViIENsYXNz IENvZGUNCj4gKyNkZWZpbmUgVl9QQ0hfU0FUQV9DQ19TQ0NfSURFICAgICAgICAgICAgICAgMHgw MQ0KPiArI2RlZmluZSBWX1BDSF9TQVRBX0NDX1NDQ19BSENJICAgICAgICAgICAgICAweDA2DQo+ ICsjZGVmaW5lIFZfUENIX1NBVEFfQ0NfU0NDX1JBSUQgICAgICAgICAgICAgIDB4MDQNCj4gKw0K PiArI2RlZmluZSBSX1BDSF9TQVRBX0NMUyAgICAgICAgICAgICAgICAgICAgICAweDBDICAvLyBD YWNoZSBMaW5lIFNpemUgKDggYml0cykNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9DTFMgICAgICAg ICAgICAgICAgICAgICAgMHhGRg0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfTUxUICAgICAg ICAgICAgICAgICAgICAgIDB4MEQgIC8vIE1hc3RlciBMYXRlbmN5IFRpbWVyICg4IGJpdHMpDQo+ ICsjZGVmaW5lIEJfUENIX1NBVEFfTUxUICAgICAgICAgICAgICAgICAgICAgIDB4RkYNCj4gKw0K PiArI2RlZmluZSBSX1BDSF9TQVRBX0hUWVBFICAgICAgICAgICAgICAgICAgICAweDBFICAvLyBI ZWFkZXIgVHlwZQ0KPiArI2RlZmluZSBCX1BDSF9TQVRBX0hUWVBFX01GRCAgICAgICAgICAgICAg ICBCSVQ3ICAvLyBNdWx0aS1mdW5jdGlvbiBEZXZpY2UNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9I VFlQRV9ITCAgICAgICAgICAgICAgICAgMHg3RiAgLy8gSGVhZGVyIExheW91dA0KPiArDQo+ICsj ZGVmaW5lIFJfUENIX1NBVEFfUENNRF9CQVIgICAgICAgICAgICAgICAgIDB4MTAgIC8vIFByaW1h cnkgQ29tbWFuZCBCbG9jaw0KPiBCYXNlIEFkZHJlc3MNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9Q Q01EX0JBUl9CQSAgICAgICAgICAgICAgMHgwMDAwRkZGOCAvLyBCYXNlIEFkZHJlc3MNCj4gKyNk ZWZpbmUgQl9QQ0hfU0FUQV9QQ01EX0JBUl9SVEUgICAgICAgICAgICAgQklUMCAgLy8gUmVzb3Vy Y2UgVHlwZQ0KPiBJbmRpY2F0b3INCj4gKw0KPiArI2RlZmluZSBSX1BDSF9TQVRBX1BDVExfQkFS ICAgICAgICAgICAgICAgICAweDE0ICAvLyBQcmltYXJ5IENvbnRyb2wgQmxvY2sNCj4gQmFzZSBB ZGRyZXNzDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfUENUTF9CQVJfQkEgICAgICAgICAgICAgIDB4 MDAwMEZGRkMgLy8gQmFzZSBBZGRyZXNzDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfUENUTF9CQVJf UlRFICAgICAgICAgICAgIEJJVDAgIC8vIFJlc291cmNlIFR5cGUNCj4gSW5kaWNhdG9yDQo+ICsN Cj4gKyNkZWZpbmUgUl9QQ0hfU0FUQV9TQ01EX0JBUiAgICAgICAgICAgICAgICAgMHgxOCAgLy8g U2Vjb25kYXJ5IENvbW1hbmQNCj4gQmxvY2sgQmFzZSBBZGRyZXNzDQo+ICsjZGVmaW5lIEJfUENI X1NBVEFfU0NNRF9CQVJfQkEgICAgICAgICAgICAgIDB4MDAwMEZGRjggLy8gQmFzZSBBZGRyZXNz DQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfU0NNRF9CQVJfUlRFICAgICAgICAgICAgIEJJVDAgIC8v IFJlc291cmNlIFR5cGUNCj4gSW5kaWNhdG9yDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU0FUQV9T Q1RMX0JBUiAgICAgICAgICAgICAgICAgMHgxQyAgLy8gU2Vjb25kYXJ5IENvbnRyb2wgQmxvY2sN Cj4gQmFzZSBBZGRyZXNzDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfU0NUTF9CQVJfQkEgICAgICAg ICAgICAgIDB4MDAwMEZGRkMgLy8gQmFzZSBBZGRyZXNzDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFf U0NUTF9CQVJfUlRFICAgICAgICAgICAgIEJJVDAgIC8vIFJlc291cmNlIFR5cGUNCj4gSW5kaWNh dG9yDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU0FUQV9MQkFSICAgICAgICAgICAgICAgICAgICAg MHgyMCAgLy8gTGVnYWN5IElERSBCYXNlIEFkZHJlc3MgLw0KPiBBSENJIEluZGV4IERhdGEgUGFp ciBCYXNlIEFkZHJlc3MNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9MQkFSX0JBICAgICAgICAgICAg ICAgICAgMHgwMDAwRkZFMCAvLyBCYXNlIEFkZHJlc3MNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9M QkFSX0JBNCAgICAgICAgICAgICAgICAgQklUNCAgLy8gQmFzZSBBZGRyZXNzIDQNCj4gKyNkZWZp bmUgQl9QQ0hfU0FUQV9MQkFSX1JURSAgICAgICAgICAgICAgICAgQklUMCAgLy8gUmVzb3VyY2Ug VHlwZSBJbmRpY2F0b3INCj4gKw0KPiArI2RlZmluZSBSX1BDSF9TQVRBX1NJRFBCQSAgICAgICAg ICAgICAgICAgICAweDI0ICAvLyBTZXJpYWwgQVRBIEluZGV4IERhdGEgUGFpcg0KPiBCYXNlIEFk ZHJlc3MNCj4gKyNkZWZpbmUgUl9QQ0hfU0FUQV9BQkFSICAgICAgICAgICAgICAgICAgICAgMHgy NCAgLy8gQUhDSSBCYXNlIEFkZHJlc3MNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9BQkFSX0JBICAg ICAgICAgICAgICAgICAgMHhGRkZGRjgwMCAvLyBBSENJIE1lbW9yeSBCYXNlDQo+IEFkZHJlc3Mg KFdoZW4gQ0MuU0NDIG5vdCBlcXVhbCAweDAxKQ0KPiArI2RlZmluZSBWX1BDSF9TQVRBX0FCQVJf TEVOR1RIICAgICAgICAgICAgICAweDgwMCAvLyBBSENJIE1lbW9yeSBMZW5ndGgNCj4gKFdoZW4g Q0MuU0NDIG5vdCBlcXVhbCAweDAxKQ0KPiArI2RlZmluZSBOX1BDSF9TQVRBX0FCQVJfQUxJR05N RU5UICAgICAgICAgICAxMSAgICAvLyBBSENJIEJhc2UgQWRkcmVzcw0KPiBBbGlnbm1lbnQgKFdo ZW4gQ0MuU0NDIG5vdCBlcXVhbCAweDAxKQ0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1NJRFBCQV9C QSAgICAgICAgICAgICAgICAweDAwMDBGRkYwIC8vIFNlcmlhbCBBVEEgSW5kZXgNCj4gRGF0YSBQ YWlyIElPIEJhc2UgQWRkcmVzcyAoV2hlbiBDQy5TQ0MgZXF1YWwgMHgwMSkNCj4gKyNkZWZpbmUg Vl9QQ0hfU0FUQV9TSURQQkFfTEVOR1RIICAgICAgICAgICAgMHgxMCAgLy8gU2VyaWFsIEFUQSBJ bmRleCBEYXRhDQo+IFBhaXIgSU8gTGVuZ3RoIChXaGVuIENDLlNDQyBlcXVhbCAweDAxKQ0KPiAr I2RlZmluZSBOX1BDSF9TQVRBX1NJRFBCQV9BTElHTk1FTlQgICAgICAgICA0ICAgICAvLyBTZXJp YWwgQVRBIEluZGV4DQo+IERhdGEgUGFpciBCYXNlIEFkZHJlc3MgQWxpZ25tZW50IChXaGVuIEND LlNDQyBub3QgZXF1YWwgMHgwMSkNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9BQkFSX1BGICAgICAg ICAgICAgICAgICAgQklUMyAgLy8gUHJlZmV0Y2hhYmxlDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFf QUJBUl9UUCAgICAgICAgICAgICAgICAgIChCSVQyIHwgQklUMSkgLy8gVHlwZQ0KPiArI2RlZmlu ZSBCX1BDSF9TQVRBX0FCQVJfUlRFICAgICAgICAgICAgICAgICBCSVQwICAvLyBSZXNvdXJjZSBU eXBlIEluZGljYXRvcg0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfU1MgICAgICAgICAgICAg ICAgICAgICAgIDB4MkMgIC8vIFN1YiBTeXN0ZW0gSWRlbnRpZmllcnMNCj4gKyNkZWZpbmUgQl9Q Q0hfU0FUQV9TU19TU0lEICAgICAgICAgICAgICAgICAgMHhGRkZGMDAwMCAvLyBTdWJzeXN0ZW0g SUQNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9TU19TU1ZJRCAgICAgICAgICAgICAgICAgMHgwMDAw RkZGRiAvLyBTdWJzeXN0ZW0gVmVuZG9yDQo+IElEDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU0FU QV9BSENJX0NBUF9QVFIgICAgICAgICAgICAgMHgzNCAgLy8gQ2FwYWJpbGl0aWVzIFBvaW50ZXIg KDgNCj4gYml0cykNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9BSENJX0NBUF9QVFIgICAgICAgICAg ICAgMHhGRg0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfSU5UUiAgICAgICAgICAgICAgICAg ICAgIDB4M0MgIC8vIEludGVycnVwdCBJbmZvcm1hdGlvbg0KPiArI2RlZmluZSBCX1BDSF9TQVRB X0lOVFJfSVBJTiAgICAgICAgICAgICAgICAweEZGRkYwMDAwIC8vIEludGVycnVwdCBQaW4NCj4g KyNkZWZpbmUgQl9QQ0hfU0FUQV9JTlRSX0lMSU5FICAgICAgICAgICAgICAgMHgwMDAwRkZGRiAv LyBJbnRlcnJ1cHQgTGluZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfUE1DUyAgICAgICAg ICAgICAgICAgICAgIDB4NzQgIC8vIFBDSSBQb3dlciBNYW5hZ2VtZW50DQo+IENvbnRyb2wgYW5k IFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BNQ1NfUE1FUyAgICAgICAgICAgICAgICBC SVQxNSAvLyBQTUUgU3RhdHVzDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfUE1DU19QTUVFICAgICAg ICAgICAgICAgIEJJVDggIC8vIFBNRSBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9QTUNT X05TRlJTVCAgICAgICAgICAgICAgQklUMyAgLy8gTm8gU29mdCBSZXNldA0KPiArI2RlZmluZSBW X1BDSF9TQVRBX1BNQ1NfTlNGUlNUXzEgICAgICAgICAgICAweDAxDQo+ICsjZGVmaW5lIFZfUENI X1NBVEFfUE1DU19OU0ZSU1RfMCAgICAgICAgICAgIDB4MDANCj4gKyNkZWZpbmUgQl9QQ0hfU0FU QV9QTUNTX1BTICAgICAgICAgICAgICAgICAgKEJJVDEgfCBCSVQwKSAvLyBQb3dlciBTdGF0ZQ0K PiArI2RlZmluZSBWX1BDSF9TQVRBX1BNQ1NfUFNfMyAgICAgICAgICAgICAgICAweDAzDQo+ICsj ZGVmaW5lIFZfUENIX1NBVEFfUE1DU19QU18wICAgICAgICAgICAgICAgIDB4MDANCj4gKw0KPiAr I2RlZmluZSBSX1BDSF9TQVRBX01BUCAgICAgICAgICAgICAgICAgICAgICAweDkwICAvLyBQb3J0 IE1hcHBpbmcgUmVnaXN0ZXINCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9NQVBfU1BEICAgICAgICAg ICAgICAgICAgKEJJVDE0IHwgQklUMTMgfCBCSVQxMiB8IEJJVDExIHwNCj4gQklUMTAgfCBCSVQ5 IHwgQklUOCkgLy8gU0FUQSBQb3J0IERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9QT1JU Nl9ESVNBQkxFRCAgICAgICAgICAgQklUMTQNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9QT1JUNV9E SVNBQkxFRCAgICAgICAgICAgQklUMTMNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9QT1JUNF9ESVNB QkxFRCAgICAgICAgICAgQklUMTINCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9QT1JUM19ESVNBQkxF RCAgICAgICAgICAgQklUMTENCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9QT1JUMl9ESVNBQkxFRCAg ICAgICAgICAgQklUMTANCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9QT1JUMV9ESVNBQkxFRCAgICAg ICAgICAgQklUOQ0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BPUlQwX0RJU0FCTEVEICAgICAgICAg ICBCSVQ4DQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfTUFQX1NNU19NQVNLICAgICAgICAgICAgIChC SVQ3IHwgQklUNikgLy8gU0FUQSBNb2RlDQo+IFNlbGVjdA0KPiArI2RlZmluZSBWX1BDSF9TQVRB X01BUF9TTVNfSURFICAgICAgICAgICAgICAweDAwDQo+ICsjZGVmaW5lIFZfUENIX1NBVEFfTUFQ X1NNU19BSENJICAgICAgICAgICAgIDB4NDANCj4gKyNkZWZpbmUgVl9QQ0hfU0FUQV9NQVBfU01T X1JBSUQgICAgICAgICAgICAgMHg4MA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BPUlRfVE9fQ09O VFJPTExFUl9DRkcgICBCSVQ1ICAvLyBTQVRBIFBvcnQtdG8tDQo+IENvbnRyb2xsZXIgQ29uZmln dXJhdGlvbg0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfUENTICAgICAgICAgICAgICAgICAg ICAgIDB4OTIgIC8vIFBvcnQgQ29udHJvbCBhbmQgU3RhdHVzDQo+ICsjZGVmaW5lIFNfUENIX1NB VEFfUENTICAgICAgICAgICAgICAgICAgICAgIDB4Mg0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BD U19PT0JfUkVUUlkgICAgICAgICAgICBCSVQxNSAvLyBPT0IgUmV0cnkgTW9kZQ0KPiArI2RlZmlu ZSBCX1BDSF9TQVRBX1BDU19QT1JUNl9ERVQgICAgICAgICAgICBCSVQxNCAvLyBQb3J0IDYgUHJl c2VudA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BDU19QT1JUNV9ERVQgICAgICAgICAgICBCSVQx MyAvLyBQb3J0IDUgUHJlc2VudA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BDU19QT1JUNF9ERVQg ICAgICAgICAgICBCSVQxMiAvLyBQb3J0IDQgUHJlc2VudA0KPiArI2RlZmluZSBCX1BDSF9TQVRB X1BDU19QT1JUM19ERVQgICAgICAgICAgICBCSVQxMSAvLyBQb3J0IDMgUHJlc2VudA0KPiArI2Rl ZmluZSBCX1BDSF9TQVRBX1BDU19QT1JUMl9ERVQgICAgICAgICAgICBCSVQxMCAvLyBQb3J0IDIg UHJlc2VudA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BDU19QT1JUMV9ERVQgICAgICAgICAgICBC SVQ5ICAvLyBQb3J0IDEgUHJlc2VudA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BDU19QT1JUMF9E RVQgICAgICAgICAgICBCSVQ4ICAvLyBQb3J0IDAgUHJlc2VudA0KPiArI2RlZmluZSBCX1BDSF9T QVRBX1BDU19QT1JUNV9FTiAgICAgICAgICAgICBCSVQ1ICAvLyBQb3J0IDUgRW5hYmxlZA0KPiAr I2RlZmluZSBCX1BDSF9TQVRBX1BDU19QT1JUNF9FTiAgICAgICAgICAgICBCSVQ0ICAvLyBQb3J0 IDQgRW5hYmxlZA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BDU19QT1JUM19FTiAgICAgICAgICAg ICBCSVQzICAvLyBQb3J0IDMgRW5hYmxlZA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BDU19QT1JU Ml9FTiAgICAgICAgICAgICBCSVQyICAvLyBQb3J0IDIgRW5hYmxlZA0KPiArI2RlZmluZSBCX1BD SF9TQVRBX1BDU19QT1JUMV9FTiAgICAgICAgICAgICBCSVQxICAvLyBQb3J0IDEgRW5hYmxlZA0K PiArI2RlZmluZSBCX1BDSF9TQVRBX1BDU19QT1JUMF9FTiAgICAgICAgICAgICBCSVQwICAvLyBQ b3J0IDAgRW5hYmxlZA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NBVEFfQUhDSV9QSSAgICAgICAg ICAgICAgICAgIDB4MEMgIC8vIFBvcnRzIEltcGxlbWVudGVkDQo+ICsjZGVmaW5lIEJfUENIX1NB VEFfUE9SVF9NQVNLICAgICAgICAgICAgICAgIDB4M0YNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9Q T1JUNV9JTVBMRU1FTlRFRCAgICAgICAgQklUNSAgLy8gUG9ydCA1DQo+IEltcGxlbWVudGVkDQo+ ICsjZGVmaW5lIEJfUENIX1NBVEFfUE9SVDRfSU1QTEVNRU5URUQgICAgICAgIEJJVDQgIC8vIFBv cnQgNA0KPiBJbXBsZW1lbnRlZA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BPUlQzX0lNUExFTUVO VEVEICAgICAgICBCSVQzICAvLyBQb3J0IDMNCj4gSW1wbGVtZW50ZWQNCj4gKyNkZWZpbmUgQl9Q Q0hfU0FUQV9QT1JUMl9JTVBMRU1FTlRFRCAgICAgICAgQklUMiAgLy8gUG9ydCAyDQo+IEltcGxl bWVudGVkDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfUE9SVDFfSU1QTEVNRU5URUQgICAgICAgIEJJ VDEgIC8vIFBvcnQgMQ0KPiBJbXBsZW1lbnRlZA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX1BPUlQw X0lNUExFTUVOVEVEICAgICAgICBCSVQwICAvLyBQb3J0IDANCj4gSW1wbGVtZW50ZWQNCj4gKw0K PiArI2RlZmluZSBSX1BDSF9TQVRBX0FIQ0lfUDBTU1RTICAgICAgICAgICAgICAweDEyOCAvLyBQ b3J0IDAgU2VyaWFsIEFUQSBTdGF0dXMNCj4gKyNkZWZpbmUgUl9QQ0hfU0FUQV9BSENJX1AxU1NU UyAgICAgICAgICAgICAgMHgxQTggLy8gUG9ydCAxIFNlcmlhbCBBVEEgU3RhdHVzDQo+ICsjZGVm aW5lIEJfUENIX1NBVEFfQUhDSV9QWFNTVFNfSVBNICAgICAgICAgIDB4MDAwMDBGMDAgLy8gSW50 ZXJmYWNlDQo+IFBvd2VyIE1hbmFnZW1lbnQNCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9BSENJX1BY U1NUU19JUE1fMCAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX0FIQ0lf UFhTU1RTX0lQTV8xICAgICAgICAweDAwMDAwMTAwDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfQUhD SV9QWFNTVFNfSVBNXzIgICAgICAgIDB4MDAwMDAyMDANCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9B SENJX1BYU1NUU19JUE1fNiAgICAgICAgMHgwMDAwMDYwMA0KPiArI2RlZmluZSBCX1BDSF9TQVRB X0FIQ0lfUFhTU1RTX1NQRCAgICAgICAgICAweDAwMDAwMEYwIC8vIEN1cnJlbnQNCj4gSW50ZXJm YWNlIFNwZWVkDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfQUhDSV9QWFNTVFNfU1BEXzAgICAgICAg IDB4MDAwMDAwMDANCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9BSENJX1BYU1NUU19TUERfMSAgICAg ICAgMHgwMDAwMDAxMA0KPiArI2RlZmluZSBCX1BDSF9TQVRBX0FIQ0lfUFhTU1RTX1NQRF8yICAg ICAgICAweDAwMDAwMDIwDQo+ICsjZGVmaW5lIEJfUENIX1NBVEFfQUhDSV9QWFNTVFNfU1BEXzMg ICAgICAgIDB4MDAwMDAwMzANCj4gKyNkZWZpbmUgQl9QQ0hfU0FUQV9BSENJX1BYU1NUU19ERVQg ICAgICAgICAgMHgwMDAwMDAwRiAvLyBEZXZpY2UNCj4gRGV0ZWN0aW9uDQo+ICsjZGVmaW5lIEJf UENIX1NBVEFfQUhDSV9QWFNTVFNfREVUXzAgICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUg Ql9QQ0hfU0FUQV9BSENJX1BYU1NUU19ERVRfMSAgICAgICAgMHgwMDAwMDAwMQ0KPiArI2RlZmlu ZSBCX1BDSF9TQVRBX0FIQ0lfUFhTU1RTX0RFVF8zICAgICAgICAweDAwMDAwMDAzDQo+ICsjZGVm aW5lIEJfUENIX1NBVEFfQUhDSV9QWFNTVFNfREVUXzQgICAgICAgIDB4MDAwMDAwMDQNCj4gKw0K PiArLy8NCj4gKy8vIE1hY3JvcyBvZiBWTFYgY2FwYWJpbGl0aWVzIGZvciBTQVRBIGNvbnRyb2xs ZXIgd2hpY2ggYXJlIHVzZWQgYnkgU0FUQQ0KPiBjb250cm9sbGVyIGRyaXZlcg0KPiArLy8NCj4g Ky8vDQo+ICsvLw0KPiArLy8gRGVmaW5lIHRoZSBpbmRpdmlkdWFsIGNhcGFiaWxpdGllcyBvZiBl YWNoIFNBVEEgY29udHJvbGxlcg0KPiArLy8NCj4gKyNkZWZpbmUgUENIX1NBVEFfTUFYX0NPTlRS T0xMRVJTICAgICAgICAgICAgMSAgICAgLy8gTWF4IFNBVEEgY29udHJvbGxlcnMNCj4gbnVtYmVy IHN1cHBvcnRlZA0KPiArI2RlZmluZSBQQ0hfU0FUQV9NQVhfREVWSUNFUyAgICAgICAgICAgICAg ICAyICAgICAvLyBNYXggU0FUQSBkZXZpY2VzIG51bWJlcg0KPiBvZiBzaW5nbGUgU0FUQSBjaGFu bmVsDQo+ICsjZGVmaW5lIFBDSF9JREVfTUFYX0NIQU5ORUxTICAgICAgICAgICAgICAgIDIgICAg IC8vIE1heCBJREUgY2hhbm5lbHMgbnVtYmVyDQo+IG9mIHNpbmdsZSBTQVRBIGNvbnRyb2xsZXIN Cj4gKyNkZWZpbmUgUENIX0lERV9NQVhfREVWSUNFUyAgICAgICAgICAgICAgICAgMiAgICAgLy8g TWF4IElERSBkZXZpY2VzIG51bWJlciBvZg0KPiBzaW5nbGUgU0FUQSBjaGFubmVsDQo+ICsjZGVm aW5lIFBDSF9BSENJX01BWF9QT1JUUyAgICAgICAgICAgICAgICAgIDIgICAgIC8vIE1heCBudW1i ZXIgb2YgU0FUQSBwb3J0cw0KPiBpbiBWTFYNCj4gKyNkZWZpbmUgUENIX0lERV9NQVhfUE9SVFMg ICAgICAgICAgICAgICAgICAgMiAgICAgLy8gTWF4IG51bWJlciBvZiBJREUgcG9ydHMgaW4NCj4g VkxWDQo+ICsNCj4gKy8vDQo+ICsvLyBHUElPU18xNCBTQVRBMEdQIGlzIHRoZSBTQVRBIHBvcnQg MCByZXNldCBwaW4uDQo+ICsvLw0KPiArI2RlZmluZSBQQ0hfR1BJT19TQVRBX1BPUlQwX1JFU0VU ICAgICAgICAgICAxNA0KPiArLy8NCj4gKy8vIEdQSU9TXzE1IFNBVEExR1AgaXMgdGhlIFNBVEEg cG9ydCAxIHJlc2V0IHBpbi4NCj4gKy8vDQo+ICsjZGVmaW5lIFBDSF9HUElPX1NBVEFfUE9SVDFf UkVTRVQgICAgICAgICAgIDE1DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2ls aWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0 ZXIvSW5jbHVkDQo+IGUvUGNoUmVncy9QY2hSZWdzU2NjLmgNCj4gYi9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4g ZS9QY2hSZWdzL1BjaFJlZ3NTY2MuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi5hNDVjMjM1OGY2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNv bi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIv SW5jbHVkDQo+IGUvUGNoUmVncy9QY2hSZWdzU2NjLmgNCj4gQEAgLTAsMCArMSw1MyBAQA0KPiAr LyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTIgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ ICsNCj4gKyAgUGNoUmVnc1NjYy5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFJlZ2lz dGVyIG5hbWVzIGZvciBWTFYgU0NDIG1vZHVsZS4NCj4gKw0KPiArICBDb252ZW50aW9uczoNCj4g Kw0KPiArICAtIFByZWZpeGVzOg0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJS XyIgYXJlIHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJCXyIg YXJlIGJpdHMgd2l0aGluIHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3 aXRoICJWXyIgYXJlIG1lYW5pbmdmdWwgdmFsdWVzIG9mIGJpdHMgd2l0aGluIHRoZQ0KPiByZWdp c3RlcnMNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiU18iIGFyZSByZWdpc3Rl ciBzaXplcw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRoICJOXyIgYXJlIHRoZSBi aXQgcG9zaXRpb24NCj4gKyAgLSBJbiBnZW5lcmFsLCBQQ0ggcmVnaXN0ZXJzIGFyZSBkZW5vdGVk IGJ5ICJfUENIXyIgaW4gcmVnaXN0ZXIgbmFtZXMNCj4gKyAgLSBSZWdpc3RlcnMgLyBiaXRzIHRo YXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFBDSCBnZW5lcmF0aW9ucyBhcmUgZGVub3RlZA0KPiBi eQ0KPiArICAgICJfUENIXzxnZW5lcmF0aW9uX25hbWU+XyIgaW4gcmVnaXN0ZXIvYml0IG5hbWVz LiBlLmcuLCAiX1BDSF9WTFZfIg0KPiArICAtIFJlZ2lzdGVycyAvIGJpdHMgdGhhdCBhcmUgZGlm ZmVyZW50IGJldHdlZW4gU0tVcyBhcmUgZGVub3RlZCBieQ0KPiAiXzxTS1VfbmFtZT4iDQo+ICsg ICAgYXQgdGhlIGVuZCBvZiB0aGUgcmVnaXN0ZXIvYml0IG5hbWVzDQo+ICsgIC0gUmVnaXN0ZXJz IC8gYml0cyBvZiBuZXcgZGV2aWNlcyBpbnRyb2R1Y2VkIGluIGEgUENIIGdlbmVyYXRpb24gd2ls bCBiZSBqdXN0DQo+IG5hbWVkDQo+ICsgICAgYXMgIl9QQ0hfIiB3aXRob3V0IDxnZW5lcmF0aW9u X25hbWU+IGluc2VydGVkLg0KPiArDQo+ICstLSovDQo+ICsjaWZuZGVmIF9QQ0hfUkVHU19TQ0Nf SF8NCj4gKyNkZWZpbmUgX1BDSF9SRUdTX1NDQ19IXw0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBT Q0MgTW9kdWxlcyBSZWdpc3RlcnMNCj4gKy8vDQo+ICsNCj4gKy8vDQo+ICsvLyBTQ0MgU0RJTyBN b2R1bGVzDQo+ICsvLyBQQ0kgQ29uZmlnIFNwYWNlIFJlZ2lzdGVycw0KPiArLy8NCj4gKyNkZWZp bmUgUENJX0RFVklDRV9OVU1CRVJfUENIX1NDQ19TRElPXzAgICAgICAgICAxNg0KPiArI2RlZmlu ZSBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfU0NDX1NESU9fMSAgICAgICAgIDE3DQo+ICsjZGVmaW5l IFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9TQ0NfU0RJT18yICAgICAgICAgMTgNCj4gKyNkZWZpbmUg UENJX0RFVklDRV9OVU1CRVJfUENIX1NDQ19TRElPXzMgICAgICAgICAyMw0KPiArDQo+ICsjZGVm aW5lIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1NDQ19TRElPICAgICAgICAgMA0KPiArDQo+ICsj ZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaFJlZ3MvUGNoUmVn c1NtYnVzLmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZp ZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QY2hSZWdzL1BjaFJlZ3NTbWJ1cy5oDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmRjODU4YzI0NGMNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2Rl UGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QY2hSZWdzL1BjaFJl Z3NTbWJ1cy5oDQo+IEBAIC0wLDAgKzEsMTQ5IEBADQo+ICsvKioNCj4gKw0KPiArQ29weXJpZ2h0 IChjKSAyMDExICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKw0KPiArDQo+ICsNCj4gKyAgQGZpbGUNCj4gKyAgUGNoUmVnc1NtYnVzLmgNCj4gKw0KPiAr ICBAYnJpZWYNCj4gKyAgUmVnaXN0ZXIgbmFtZXMgZm9yIFZMViBTbWJ1cyBEZXZpY2UuDQo+ICsN Cj4gKyAgQ29udmVudGlvbnM6DQo+ICsNCj4gKyAgLSBQcmVmaXhlczoNCj4gKyAgICBEZWZpbml0 aW9ucyBiZWdpbm5pbmcgd2l0aCAiUl8iIGFyZSByZWdpc3RlcnMNCj4gKyAgICBEZWZpbml0aW9u cyBiZWdpbm5pbmcgd2l0aCAiQl8iIGFyZSBiaXRzIHdpdGhpbiByZWdpc3RlcnMNCj4gKyAgICBE ZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiVl8iIGFyZSBtZWFuaW5nZnVsIHZhbHVlcyBvZiBi aXRzIHdpdGhpbiB0aGUNCj4gcmVnaXN0ZXJzDQo+ICsgICAgRGVmaW5pdGlvbnMgYmVnaW5uaW5n IHdpdGggIlNfIiBhcmUgcmVnaXN0ZXIgc2l6ZXMNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5p bmcgd2l0aCAiTl8iIGFyZSB0aGUgYml0IHBvc2l0aW9uDQo+ICsgIC0gSW4gZ2VuZXJhbCwgUENI IHJlZ2lzdGVycyBhcmUgZGVub3RlZCBieSAiX1BDSF8iIGluIHJlZ2lzdGVyIG5hbWVzDQo+ICsg IC0gUmVnaXN0ZXJzIC8gYml0cyB0aGF0IGFyZSBkaWZmZXJlbnQgYmV0d2VlbiBQQ0ggZ2VuZXJh dGlvbnMgYXJlIGRlbm90ZWQNCj4gYnkNCj4gKyAgICAiX1BDSF88Z2VuZXJhdGlvbl9uYW1lPl8i IGluIHJlZ2lzdGVyL2JpdCBuYW1lcy4gZS5nLiwgIl9QQ0hfVkxWXyINCj4gKyAgLSBSZWdpc3Rl cnMgLyBiaXRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFNLVXMgYXJlIGRlbm90ZWQgYnkN Cj4gIl88U0tVX25hbWU+Ig0KPiArICAgIGF0IHRoZSBlbmQgb2YgdGhlIHJlZ2lzdGVyL2JpdCBu YW1lcw0KPiArICAtIFJlZ2lzdGVycyAvIGJpdHMgb2YgbmV3IGRldmljZXMgaW50cm9kdWNlZCBp biBhIFBDSCBnZW5lcmF0aW9uIHdpbGwgYmUganVzdA0KPiBuYW1lZA0KPiArICAgIGFzICJfUENI XyIgd2l0aG91dCA8Z2VuZXJhdGlvbl9uYW1lPiBpbnNlcnRlZC4NCj4gKw0KPiArKiovDQo+ICsj aWZuZGVmIF9QQ0hfUkVHU19TTUJVU19IXw0KPiArI2RlZmluZSBfUENIX1JFR1NfU01CVVNfSF8N Cj4gKw0KPiArLy8vDQo+ICsvLy8gU01CdXMgQ29udHJvbGxlciBSZWdpc3RlcnMgKEQzMTpGMykN Cj4gKy8vLw0KPiArI2RlZmluZSBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfU01CVVMgICAgICAgIDMx DQo+ICsjZGVmaW5lIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1NNQlVTICAgICAgMw0KPiArDQo+ ICsjZGVmaW5lIFJfUENIX1NNQlVTX1ZFTkRPUl9JRCAgICAgICAgICAgICAgMHgwMCAgLy8gVmVu ZG9yIElEDQo+ICsjZGVmaW5lIFZfUENIX1NNQlVTX1ZFTkRPUl9JRCAgICAgICAgICAgICAgVl9Q Q0hfSU5URUxfVkVORE9SX0lEIC8vDQo+IEludGVsIFZlbmRvciBJRA0KPiArDQo+ICsjZGVmaW5l IFJfUENIX1NNQlVTX0RFVklDRV9JRCAgICAgICAgICAgICAgMHgwMiAgLy8gRGV2aWNlIElEDQo+ ICsjZGVmaW5lIFZfUENIX1NNQlVTX0RFVklDRV9JRCAgICAgICAgICAgICAgMHgwRjEyDQo+ICsN Cj4gKyNkZWZpbmUgUl9QQ0hfU01CVVNfUENJQ01EICAgICAgICAgICAgICAgICAweDA0ICAvLyBD TUQgcmVnaXN0ZXINCj4gZW5hYmxlcy9kaXNhYmxlcywgTWVtb3J5L0lPIHNwYWNlIGFjY2VzcyBh bmQgaW50ZXJydXB0DQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX1BDSUNNRF9JTlRSX0RJUyAgICAg ICAgQklUMTAgLy8gSW50ZXJydXB0IERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfU01CVVNfUENJ Q01EX0ZCRSAgICAgICAgICAgICBCSVQ5ICAvLyBGQkUgLSByZXNlcnZlZCBhcyAnMCcNCj4gKyNk ZWZpbmUgQl9QQ0hfU01CVVNfUENJQ01EX1NFUlJfRU4gICAgICAgICBCSVQ4ICAvLyBTRVJSIEVu YWJsZSAtDQo+IHJlc2VydmVkIGFzICcwJw0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19QQ0lDTURf V0NDICAgICAgICAgICAgIEJJVDcgIC8vIFdhaXQgQ3ljbGUgQ29udHJvbCAtDQo+IHJlc2VydmVk IGFzICcwJw0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19QQ0lDTURfUEVSICAgICAgICAgICAgIEJJ VDYgIC8vIFBhcml0eSBFcnJvciAtIHJlc2VydmVkDQo+IGFzICcwJw0KPiArI2RlZmluZSBCX1BD SF9TTUJVU19QQ0lDTURfVlBTICAgICAgICAgICAgIEJJVDUgIC8vIFZHQSBQYWxldHRlIFNub29w IC0NCj4gcmVzZXJ2ZWQgYXMgJzAnDQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX1BDSUNNRF9QTVdF ICAgICAgICAgICAgQklUNCAgLy8gUG9zdGFibGUgTWVtb3J5DQo+IFdyaXRlIEVuYWJsZSAtIHJl c2VydmVkIGFzICcwJw0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19QQ0lDTURfU0NFICAgICAgICAg ICAgIEJJVDMgIC8vIFNwZWNpYWwgQ3ljbGUgRW5hYmxlIC0NCj4gcmVzZXJ2ZWQgYXMgJzAnDQo+ ICsjZGVmaW5lIEJfUENIX1NNQlVTX1BDSUNNRF9CTUUgICAgICAgICAgICAgQklUMiAgLy8gQnVz IE1hc3RlciBFbmFibGUgLQ0KPiByZXNlcnZlZCBhcyAnMCcNCj4gKyNkZWZpbmUgQl9QQ0hfU01C VVNfUENJQ01EX01TRSAgICAgICAgICAgICBCSVQxICAvLyBNZW1vcnkgU3BhY2UgRW5hYmxlDQo+ ICsjZGVmaW5lIEJfUENIX1NNQlVTX1BDSUNNRF9JT1NFICAgICAgICAgICAgQklUMCAgLy8gSS9P IFNwYWNlIEVuYWJsZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NNQlVTX0JBU0UgICAgICAgICAg ICAgICAgICAgMHgyMCAgLy8gVGhlIEkvTyBtZW1vcnkgYmFyDQo+ICsjZGVmaW5lIEJfUENIX1NN QlVTX0JBU0VfQkFSICAgICAgICAgICAgICAgMHgwMDAwRkZFMCAvLyBCYXNlIEFkZHJlc3MNCj4g KyNkZWZpbmUgQl9QQ0hfU01CVVNfQkFTRV9JT1NJICAgICAgICAgICAgICBCSVQwICAvLyBJTyBT cGFjZSBJbmRpY2F0b3INCj4gKw0KPiArI2RlZmluZSBSX1BDSF9TTUJVU19TVklEICAgICAgICAg ICAgICAgICAgIDB4MkMgIC8vIFN1YnN5c3RlbSBWZW5kb3IgSUQNCj4gKyNkZWZpbmUgQl9QQ0hf U01CVVNfU1ZJRCAgICAgICAgICAgICAgICAgICAweEZGRkYgLy8gU3Vic3lzdGVtIFZlbmRvciBJ RA0KPiArDQo+ICsvLw0KPiArLy8gU01CdXMgSS9PIFJlZ2lzdGVycw0KPiArLy8NCj4gKyNkZWZp bmUgUl9QQ0hfU01CVVNfSFNUUyAgICAgICAgICAgICAgICAgICAweDAwICAvLyBIb3N0IFN0YXR1 cyBSZWdpc3RlciBSL1cNCj4gKyNkZWZpbmUgQl9QQ0hfU01CVVNfSFNUU19BTEwgICAgICAgICAg ICAgICAweEZGDQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX0JZVEVfRE9ORV9TVFMgICAgICAgICAg QklUNyAgLy8gQnl0ZSBEb25lIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19JVVMgICAg ICAgICAgICAgICAgICAgIEJJVDYgIC8vIEluIFVzZSBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hf U01CVVNfU01CQUxFUlRfU1RTICAgICAgICAgICBCSVQ1ICAvLyBTTUJVUyBBbGVydA0KPiArI2Rl ZmluZSBCX1BDSF9TTUJVU19GQUlMICAgICAgICAgICAgICAgICAgIEJJVDQgIC8vIEZhaWxlZA0K PiArI2RlZmluZSBCX1BDSF9TTUJVU19CRVJSICAgICAgICAgICAgICAgICAgIEJJVDMgIC8vIEJ1 cyBFcnJvcg0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19ERVJSICAgICAgICAgICAgICAgICAgIEJJ VDIgIC8vIERldmljZSBFcnJvcg0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19FUlJPUlMgICAgICAg ICAgICAgICAgIChCX1BDSF9TTUJVU19GQUlMIHwNCj4gQl9QQ0hfU01CVVNfQkVSUiB8IEJfUENI X1NNQlVTX0RFUlIpDQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX0lOVFIgICAgICAgICAgICAgICAg ICAgQklUMSAgLy8gSW50ZXJydXB0DQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX0hCU1kgICAgICAg ICAgICAgICAgICAgQklUMCAgLy8gSG9zdCBCdXN5DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU01C VVNfSENUTCAgICAgICAgICAgICAgICAgICAweDAyICAvLyBIb3N0IENvbnRyb2wgUmVnaXN0ZXIg Ui9XDQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX1BFQ19FTiAgICAgICAgICAgICAgICAgQklUNyAg Ly8gUGFja2V0IEVycm9yIENoZWNraW5nDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9TTUJV U19TVEFSVCAgICAgICAgICAgICAgICAgIEJJVDYgIC8vIFN0YXJ0DQo+ICsjZGVmaW5lIEJfUENI X1NNQlVTX0xBU1RfQllURSAgICAgICAgICAgICAgQklUNSAgLy8gTGFzdCBCeXRlDQo+ICsjZGVm aW5lIEJfUENIX1NNQlVTX1NNQl9DTUQgICAgICAgICAgICAgICAgMHgxQyAgLy8gU01CIENvbW1h bmQNCj4gKyNkZWZpbmUgVl9QQ0hfU01CVVNfU01CX0NNRF9CTE9DS19QUk9DRVNTICAweDFDICAv LyBCbG9jaw0KPiBQcm9jZXNzDQo+ICsjZGVmaW5lIFZfUENIX1NNQlVTX1NNQl9DTURfSUlDX1JF QUQgICAgICAgMHgxOCAgLy8gSTJDIFJlYWQNCj4gKyNkZWZpbmUgVl9QQ0hfU01CVVNfU01CX0NN RF9CTE9DSyAgICAgICAgICAweDE0ICAvLyBCbG9jaw0KPiArI2RlZmluZSBWX1BDSF9TTUJVU19T TUJfQ01EX1BST0NFU1NfQ0FMTCAgIDB4MTAgIC8vIFByb2Nlc3MgQ2FsbA0KPiArI2RlZmluZSBW X1BDSF9TTUJVU19TTUJfQ01EX1dPUkRfREFUQSAgICAgIDB4MEMgIC8vIFdvcmQgRGF0YQ0KPiAr I2RlZmluZSBWX1BDSF9TTUJVU19TTUJfQ01EX0JZVEVfREFUQSAgICAgIDB4MDggIC8vIEJ5dGUg RGF0YQ0KPiArI2RlZmluZSBWX1BDSF9TTUJVU19TTUJfQ01EX0JZVEUgICAgICAgICAgIDB4MDQg IC8vIEJ5dGUNCj4gKyNkZWZpbmUgVl9QQ0hfU01CVVNfU01CX0NNRF9RVUlDSyAgICAgICAgICAw eDAwICAvLyBRdWljaw0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19LSUxMICAgICAgICAgICAgICAg ICAgIEJJVDEgIC8vIEtpbGwNCj4gKyNkZWZpbmUgQl9QQ0hfU01CVVNfSU5UUkVOICAgICAgICAg ICAgICAgICBCSVQwICAvLyBJbnRlcnJ1cHQgRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hf U01CVVNfSENNRCAgICAgICAgICAgICAgICAgICAweDAzICAvLyBIb3N0IENvbW1hbmQgUmVnaXN0 ZXINCj4gUi9XDQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX0hDTUQgICAgICAgICAgICAgICAgICAg MHhGRiAgLy8gQ29tbWFuZCB0byBiZQ0KPiB0cmFuc21pdHRlZA0KPiArDQo+ICsjZGVmaW5lIFJf UENIX1NNQlVTX1RTQSAgICAgICAgICAgICAgICAgICAgMHgwNCAgLy8gVHJhbnNtaXQgU2xhdmUg QWRkcmVzcw0KPiBSZWdpc3RlciBSL1cNCj4gKyNkZWZpbmUgQl9QQ0hfU01CVVNfQUREUkVTUyAg ICAgICAgICAgICAgICAweEZFICAvLyA3LWJpdCBhZGRyZXNzIG9mIHRoZQ0KPiB0YXJnZXRlZCBz bGF2ZQ0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19SV19TRUwgICAgICAgICAgICAgICAgIEJJVDAg IC8vIERpcmVjdGlvbiBvZiB0aGUgaG9zdA0KPiB0cmFuc2ZlciwgMSA9IHJlYWQsIDAgPSB3cml0 ZQ0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19SV19TRUxfUkVBRCAgICAgICAgICAgIDB4MDEgIC8v IFJlYWQNCj4gKyNkZWZpbmUgQl9QQ0hfU01CVVNfUldfU0VMX1dSSVRFICAgICAgICAgICAweDAw ICAvLyBXcml0ZQ0KPiArLy8NCj4gKyNkZWZpbmUgUl9QQ0hfU01CVVNfSEQwICAgICAgICAgICAg ICAgICAgICAweDA1ICAvLyBEYXRhIDAgUmVnaXN0ZXIgUi9XDQo+ICsjZGVmaW5lIFJfUENIX1NN QlVTX0hEMSAgICAgICAgICAgICAgICAgICAgMHgwNiAgLy8gRGF0YSAxIFJlZ2lzdGVyIFIvVw0K PiArI2RlZmluZSBSX1BDSF9TTUJVU19IQkQgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8vIEhv c3QgQmxvY2sgRGF0YSBSZWdpc3Rlcg0KPiBSL1cNCj4gKyNkZWZpbmUgUl9QQ0hfU01CVVNfUEVD ICAgICAgICAgICAgICAgICAgICAweDA4ICAvLyBQYWNrZXQgRXJyb3IgQ2hlY2sgRGF0YQ0KPiBS ZWdpc3RlciBSL1cNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9TTUJVU19SU0EgICAgICAgICAgICAg ICAgICAgIDB4MDkgIC8vIFJlY2VpdmUgU2xhdmUgQWRkcmVzcw0KPiBSZWdpc3RlciBSL1cNCj4g KyNkZWZpbmUgQl9QQ0hfU01CVVNfU0xBVkVfQUREUiAgICAgICAgICAgICAweDdGICAvLyBUQ08g c2xhdmUgYWRkcmVzcw0KPiAoTm90IHVzZWQsIHJlc2VydmVkKQ0KPiArDQo+ICsjZGVmaW5lIFJf UENIX1NNQlVTX1NEICAgICAgICAgICAgICAgICAgICAgMHgwQSAgLy8gUmVjZWl2ZSBTbGF2ZSBE YXRhIFJlZ2lzdGVyDQo+IFIvVw0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NNQlVTX0FVWFMgICAg ICAgICAgICAgICAgICAgMHgwQyAgLy8gQXV4aWxpYXJ5IFN0YXR1cyBSZWdpc3Rlcg0KPiBSL1dD DQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX0NSQ0UgICAgICAgICAgICAgICAgICAgQklUMCAgLy8g Q1JDIEVycm9yDQo+ICsvLw0KPiArI2RlZmluZSBSX1BDSF9TTUJVU19BVVhDICAgICAgICAgICAg ICAgICAgIDB4MEQgIC8vIEF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyDQo+IFIvVw0KPiArI2Rl ZmluZSBCX1BDSF9TTUJVU19FMzJCICAgICAgICAgICAgICAgICAgIEJJVDEgIC8vIEVuYWJsZSAz Mi1ieXRlIEJ1ZmZlcg0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19BQUMgICAgICAgICAgICAgICAg ICAgIEJJVDAgIC8vIEF1dG9tYXRpY2FsbHkgQXBwZW5kIENSQw0KPiArDQo+ICsjZGVmaW5lIFJf UENIX1NNQlVTX1NNTEMgICAgICAgICAgICAgICAgICAgMHgwRSAgLy8gU01MSU5LIFBpbiBDb250 cm9sDQo+IFJlZ2lzdGVyIFIvVw0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19TTUxJTktfQ0xLX0NU TCAgICAgICAgIEJJVDIgIC8vIE5vdCBzdXBwb3J0ZWQNCj4gKyNkZWZpbmUgQl9QQ0hfU01CVVNf U01MSU5LMV9DVVJfU1RTICAgICAgICBCSVQxICAvLyBOb3Qgc3VwcG9ydGVkDQo+ICsjZGVmaW5l IEJfUENIX1NNQlVTX1NNTElOSzBfQ1VSX1NUUyAgICAgICAgQklUMCAgLy8gTm90IHN1cHBvcnRl ZA0KPiArDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU01CVVNfU01CQyAgICAgICAgICAgICAgICAg ICAweDBGICAvLyBTTUJ1cyBQaW4gQ29udHJvbCBSZWdpc3Rlcg0KPiBSL1cNCj4gKyNkZWZpbmUg Ql9QQ0hfU01CVVNfU01CQ0xLX0NUTCAgICAgICAgICAgICBCSVQyICAvLyBTTUJDTEsgQ29udHJv bA0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19TTUJEQVRBX0NVUl9TVFMgICAgICAgIEJJVDEgIC8v IFNNQkRBVEEgQ3VycmVudA0KPiBTdGF0dXMNCj4gKyNkZWZpbmUgQl9QQ0hfU01CVVNfU01CQ0xL X0NVUl9TVFMgICAgICAgICBCSVQwICAvLyBTTUJDTEsgQ3VycmVudA0KPiBTdGF0dXMNCj4gKw0K PiArI2RlZmluZSBSX1BDSF9TTUJVU19TU1RTICAgICAgICAgICAgICAgICAgIDB4MTAgIC8vIFNs YXZlIFN0YXR1cyBSZWdpc3RlciBSL1dDDQo+ICsjZGVmaW5lIEJfUENIX1NNQlVTX0hPU1RfTk9U SUZZX1NUUyAgICAgICAgQklUMCAgLy8gSG9zdCBOb3RpZnkgU3RhdHVzDQo+ICsNCj4gKyNkZWZp bmUgUl9QQ0hfU01CVVNfU0NNRCAgICAgICAgICAgICAgICAgICAweDExICAvLyBTbGF2ZSBDb21t YW5kIFJlZ2lzdGVyDQo+IFIvVw0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19TTUJBTEVSVF9ESVMg ICAgICAgICAgIEJJVDIgIC8vIE5vdCBzdXBwb3J0ZWQNCj4gKyNkZWZpbmUgQl9QQ0hfU01CVVNf SE9TVF9OT1RJRllfV0tFTiAgICAgICBCSVQxICAvLyBIb3N0IE5vdGlmeSBXYWtlDQo+IEVuYWJs ZQ0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19IT1NUX05PVElGWV9JTlRSRU4gICAgIEJJVDAgIC8v IEhvc3QgTm90aWZ5DQo+IEludGVycnVwdCBFbmFibGUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9T TUJVU19OREEgICAgICAgICAgICAgICAgICAgIDB4MTQgIC8vIE5vdGlmeSBEZXZpY2UgQWRkcmVz cw0KPiBSZWdpc3RlciBSTw0KPiArI2RlZmluZSBCX1BDSF9TTUJVU19ERVZJQ0VfQUREUkVTUyAg ICAgICAgIDB4RkUgIC8vIERldmljZSBBZGRyZXNzDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU01C VVNfTkRMQiAgICAgICAgICAgICAgICAgICAweDE2ICAvLyBOb3RpZnkgRGF0YSBMb3cgQnl0ZQ0K PiBSZWdpc3RlciBSTw0KPiArI2RlZmluZSBSX1BDSF9TTUJVU19OREhCICAgICAgICAgICAgICAg ICAgIDB4MTcgIC8vIE5vdGlmeSBEYXRhIEhpZ2ggQnl0ZQ0KPiBSZWdpc3RlciBSTw0KPiArDQo+ ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaFJlZ3MvUGNo UmVnc1NwaS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUGNoUmVncy9QY2hSZWdzU3BpLmgNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYmNhN2U0NTY3ZQ0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQ a2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BjaFJlZ3MvUGNoUmVn c1NwaS5oDQo+IEBAIC0wLDAgKzEsMTE5IEBADQo+ICsvKioNCj4gKw0KPiArQ29weXJpZ2h0IChj KSAyMDExICAtIDIwMTUsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+ICsNCj4gKyAgQGZpbGUNCj4gKyAgUGNoUmVnc1NwaS5oDQo+ICsNCj4gKyAgQGJy aWVmDQo+ICsgIFJlZ2lzdGVyIG5hbWVzIGZvciBQQ0ggU1BJIGRldmljZS4NCj4gKw0KPiArICBD b252ZW50aW9uczoNCj4gKw0KPiArICAtIFByZWZpeGVzOg0KPiArICAgIERlZmluaXRpb25zIGJl Z2lubmluZyB3aXRoICJSXyIgYXJlIHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lu bmluZyB3aXRoICJCXyIgYXJlIGJpdHMgd2l0aGluIHJlZ2lzdGVycw0KPiArICAgIERlZmluaXRp b25zIGJlZ2lubmluZyB3aXRoICJWXyIgYXJlIG1lYW5pbmdmdWwgdmFsdWVzIG9mIGJpdHMgd2l0 aGluIHRoZQ0KPiByZWdpc3RlcnMNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAi U18iIGFyZSByZWdpc3RlciBzaXplcw0KPiArICAgIERlZmluaXRpb25zIGJlZ2lubmluZyB3aXRo ICJOXyIgYXJlIHRoZSBiaXQgcG9zaXRpb24NCj4gKyAgLSBJbiBnZW5lcmFsLCBQQ0ggcmVnaXN0 ZXJzIGFyZSBkZW5vdGVkIGJ5ICJfUENIXyIgaW4gcmVnaXN0ZXIgbmFtZXMNCj4gKyAgLSBSZWdp c3RlcnMgLyBiaXRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFBDSCBnZW5lcmF0aW9ucyBh cmUgZGVub3RlZA0KPiBieQ0KPiArICAgICJfUENIXzxnZW5lcmF0aW9uX25hbWU+XyIgaW4gcmVn aXN0ZXIvYml0IG5hbWVzLiBlLmcuLCAiX1BDSF9WTFZfIg0KPiArICAtIFJlZ2lzdGVycyAvIGJp dHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4gU0tVcyBhcmUgZGVub3RlZCBieQ0KPiAiXzxT S1VfbmFtZT4iDQo+ICsgICAgYXQgdGhlIGVuZCBvZiB0aGUgcmVnaXN0ZXIvYml0IG5hbWVzDQo+ ICsgIC0gUmVnaXN0ZXJzIC8gYml0cyBvZiBuZXcgZGV2aWNlcyBpbnRyb2R1Y2VkIGluIGEgUENI IGdlbmVyYXRpb24gd2lsbCBiZSBqdXN0DQo+IG5hbWVkDQo+ICsgICAgYXMgIl9QQ0hfIiB3aXRo b3V0IDxnZW5lcmF0aW9uX25hbWU+IGluc2VydGVkLg0KPiArDQo+ICsqKi8NCj4gKyNpZm5kZWYg X1BDSF9SRUdTX1NQSV9IXw0KPiArI2RlZmluZSBfUENIX1JFR1NfU1BJX0hfDQo+ICsNCj4gKy8v Lw0KPiArLy8vIFNQSSBIb3N0IEludGVyZmFjZSBSZWdpc3RlcnMNCj4gKy8vLw0KPiArDQo+ICsj ZGVmaW5lIFJfUENIX1NQSV9IU0ZTICAgICAgICAgICAgICAgICAgICAgICAweDA0ICAvLyBIYXJk d2FyZSBTZXF1ZW5jaW5nIEZsYXNoDQo+IFN0YXR1cyBSZWdpc3RlciAoMTZiaXRzKQ0KPiArI2Rl ZmluZSBCX1BDSF9TUElfSFNGU19GTE9DS0ROICAgICAgICAgICAgICAgQklUMTUgLy8gRmxhc2gg Q29uZmlndXJhdGlvbg0KPiBMb2NrLURvd24NCj4gKyNkZWZpbmUgQl9QQ0hfU1BJX0hTRlNfRkRW ICAgICAgICAgICAgICAgICAgIEJJVDE0IC8vIEZsYXNoIERlc2NyaXB0b3IgVmFsaWQNCj4gKyNk ZWZpbmUgQl9QQ0hfU1BJX0hTRlNfRkRPUFNTICAgICAgICAgICAgICAgIEJJVDEzIC8vIEZsYXNo IERlc2NyaXB0b3INCj4gT3ZlcnJpZGUgUGluLVN0cmFwIFN0YXR1cw0KPiArI2RlZmluZSBCX1BD SF9TUElfSFNGU19TQ0lQICAgICAgICAgICAgICAgICAgQklUNSAgLy8gU1BJIEN5Y2xlIGluIFBy b2dyZXNzDQo+ICsjZGVmaW5lIEJfUENIX1NQSV9IU0ZTX0JFUkFTRV9NQVNLICAgICAgICAgICAo QklUNCB8IEJJVDMpIC8vIEJsb2NrIC8NCj4gU2VjdG9yIEVyYXNlIFNpemUNCj4gKyNkZWZpbmUg Vl9QQ0hfU1BJX0hTRlNfQkVSQVNFXzI1NkIgICAgICAgICAgIDB4MDAgIC8vIEJsb2NrL1NlY3Rv ciA9IDI1Ng0KPiBCeXRlcw0KPiArI2RlZmluZSBWX1BDSF9TUElfSFNGU19CRVJBU0VfNEsgICAg ICAgICAgICAgMHgwMSAgLy8gQmxvY2svU2VjdG9yID0gNEsNCj4gQnl0ZXMNCj4gKyNkZWZpbmUg Vl9QQ0hfU1BJX0hTRlNfQkVSQVNFXzhLICAgICAgICAgICAgIDB4MTAgIC8vIEJsb2NrL1NlY3Rv ciA9IDhLDQo+IEJ5dGVzDQo+ICsjZGVmaW5lIFZfUENIX1NQSV9IU0ZTX0JFUkFTRV82NEsgICAg ICAgICAgICAweDExICAvLyBCbG9jay9TZWN0b3IgPSA2NEsNCj4gQnl0ZXMNCj4gKyNkZWZpbmUg Ql9QQ0hfU1BJX0hTRlNfQUVMICAgICAgICAgICAgICAgICAgIEJJVDIgIC8vIEFjY2VzcyBFcnJv ciBMb2cNCj4gKyNkZWZpbmUgQl9QQ0hfU1BJX0hTRlNfRkNFUlIgICAgICAgICAgICAgICAgIEJJ VDEgIC8vIEZsYXNoIEN5Y2xlIEVycm9yDQo+ICsjZGVmaW5lIEJfUENIX1NQSV9IU0ZTX0ZET05F ICAgICAgICAgICAgICAgICBCSVQwICAvLyBGbGFzaCBDeWNsZSBEb25lDQo+ICsNCj4gKyNkZWZp bmUgUl9QQ0hfU1BJX1BSMCAgICAgICAgICAgICAgICAgICAgICAgIDB4NzQgIC8vIFByb3RlY3Rl ZCBSZWdpb24gMCBSZWdpc3Rlcg0KPiArI2RlZmluZSBCX1BDSF9TUElfUFIwX1dQRSAgICAgICAg ICAgICAgICAgICAgQklUMzEgLy8gV3JpdGUgUHJvdGVjdGlvbiBFbmFibGUNCj4gKyNkZWZpbmUg Ql9QQ0hfU1BJX1BSMF9QUkxfTUFTSyAgICAgICAgICAgICAgIDB4MUZGRjAwMDAgLy8gUHJvdGVj dGVkIFJhbmdlDQo+IExpbWl0IE1hc2ssIFsyODoxNl0gaGVyZSByZXByZXNlbnRzIHVwcGVyIGxp bWl0IG9mIGFkZHJlc3MgWzI0OjEyXQ0KPiArI2RlZmluZSBCX1BDSF9TUElfUFIwX1JQRSAgICAg ICAgICAgICAgICAgICAgQklUMTUgLy8gUmVhZCBQcm90ZWN0aW9uIEVuYWJsZQ0KPiArI2RlZmlu ZSBCX1BDSF9TUElfUFIwX1BSQl9NQVNLICAgICAgICAgICAgICAgMHgwMDAwMUZGRiAvLyBQcm90 ZWN0ZWQgUmFuZ2UNCj4gQmFzZSBNYXNrLCBbMTI6MF0gaGVyZSByZXByZXNlbnRzIGJhc2UgbGlt aXQgb2YgYWRkcmVzcyBbMjQ6MTJdDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU1BJX1BSMSAgICAg ICAgICAgICAgICAgICAgICAgIDB4NzggIC8vIFByb3RlY3RlZCBSZWdpb24gMSBSZWdpc3Rlcg0K PiArI2RlZmluZSBCX1BDSF9TUElfUFIxX1dQRSAgICAgICAgICAgICAgICAgICAgQklUMzEgLy8g V3JpdGUgUHJvdGVjdGlvbiBFbmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfU1BJX1BSMV9QUkxfTUFT SyAgICAgICAgICAgICAgIDB4MUZGRjAwMDAgLy8gUHJvdGVjdGVkIFJhbmdlDQo+IExpbWl0IE1h c2ssIFsyODoxNl0gaGVyZSByZXByZXNlbnRzIHVwcGVyIGxpbWl0IG9mIGFkZHJlc3MgWzI0OjEy XQ0KPiArI2RlZmluZSBCX1BDSF9TUElfUFIxX1JQRSAgICAgICAgICAgICAgICAgICAgQklUMTUg Ly8gUmVhZCBQcm90ZWN0aW9uIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9TUElfUFIxX1BSQl9N QVNLICAgICAgICAgICAgICAgMHgwMDAwMUZGRiAvLyBQcm90ZWN0ZWQgUmFuZ2UNCj4gQmFzZSBN YXNrLCBbMTI6MF0gaGVyZSByZXByZXNlbnRzIGJhc2UgbGltaXQgb2YgYWRkcmVzcyBbMjQ6MTJd DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfU1BJX1BSRU9QICAgICAgICAgICAgICAgICAgICAgIDB4 OTQgIC8vIFByZWZpeCBPcGNvZGUgQ29uZmlndXJhdGlvbg0KPiBSZWdpc3RlciAoMTYgYml0cykN Cj4gKyNkZWZpbmUgQl9QQ0hfU1BJX1BSRU9QMV9NQVNLICAgICAgICAgICAgICAgIDB4RkYwMCAv LyBQcmVmaXggT3Bjb2RlIDEgTWFzaw0KPiArI2RlZmluZSBCX1BDSF9TUElfUFJFT1AwX01BU0sg ICAgICAgICAgICAgICAgMHgwMEZGIC8vIFByZWZpeCBPcGNvZGUgMCBNYXNrDQo+ICsNCj4gKyNk ZWZpbmUgUl9QQ0hfU1BJX09QVFlQRSAgICAgICAgICAgICAgICAgICAgIDB4OTYgIC8vIE9wY29k ZSBUeXBlIENvbmZpZ3VyYXRpb24NCj4gKyNkZWZpbmUgQl9QQ0hfU1BJX09QVFlQRTdfTUFTSyAg ICAgICAgICAgICAgIChCSVQxNSB8IEJJVDE0KSAvLyBPcGNvZGUgVHlwZQ0KPiA3IE1hc2sNCj4g KyNkZWZpbmUgQl9QQ0hfU1BJX09QVFlQRTZfTUFTSyAgICAgICAgICAgICAgIChCSVQxMyB8IEJJ VDEyKSAvLyBPcGNvZGUgVHlwZQ0KPiA2IE1hc2sNCj4gKyNkZWZpbmUgQl9QQ0hfU1BJX09QVFlQ RTVfTUFTSyAgICAgICAgICAgICAgIChCSVQxMSB8IEJJVDEwKSAvLyBPcGNvZGUgVHlwZQ0KPiA1 IE1hc2sNCj4gKyNkZWZpbmUgQl9QQ0hfU1BJX09QVFlQRTRfTUFTSyAgICAgICAgICAgICAgIChC SVQ5IHwgQklUOCkgLy8gT3Bjb2RlIFR5cGUgNA0KPiBNYXNrDQo+ICsjZGVmaW5lIEJfUENIX1NQ SV9PUFRZUEUzX01BU0sgICAgICAgICAgICAgICAoQklUNyB8IEJJVDYpIC8vIE9wY29kZSBUeXBl IDMNCj4gTWFzaw0KPiArI2RlZmluZSBCX1BDSF9TUElfT1BUWVBFMl9NQVNLICAgICAgICAgICAg ICAgKEJJVDUgfCBCSVQ0KSAvLyBPcGNvZGUgVHlwZSAyDQo+IE1hc2sNCj4gKyNkZWZpbmUgQl9Q Q0hfU1BJX09QVFlQRTFfTUFTSyAgICAgICAgICAgICAgIChCSVQzIHwgQklUMikgLy8gT3Bjb2Rl IFR5cGUgMQ0KPiBNYXNrDQo+ICsjZGVmaW5lIEJfUENIX1NQSV9PUFRZUEUwX01BU0sgICAgICAg ICAgICAgICAoQklUMSB8IEJJVDApIC8vIE9wY29kZSBUeXBlIDANCj4gTWFzaw0KPiArI2RlZmlu ZSBWX1BDSF9TUElfT1BUWVBFX1JETk9BRERSICAgICAgICAgICAgMHgwMCAgLy8gUmVhZCBjeWNs ZSB0eXBlDQo+IHdpdGhvdXQgYWRkcmVzcw0KPiArI2RlZmluZSBWX1BDSF9TUElfT1BUWVBFX1dS Tk9BRERSICAgICAgICAgICAgMHgwMSAgLy8gV3JpdGUgY3ljbGUgdHlwZQ0KPiB3aXRob3V0IGFk ZHJlc3MNCj4gKyNkZWZpbmUgVl9QQ0hfU1BJX09QVFlQRV9SREFERFIgICAgICAgICAgICAgIDB4 MDIgIC8vIEFkZHJlc3MgcmVxdWlyZWQ7DQo+IFJlYWQgY3ljbGUgdHlwZQ0KPiArI2RlZmluZSBW X1BDSF9TUElfT1BUWVBFX1dSQUREUiAgICAgICAgICAgICAgMHgwMyAgLy8gQWRkcmVzcyByZXF1 aXJlZDsNCj4gV3JpdGUgY3ljbGUgdHlwZQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NQSV9PUE1F TlUwICAgICAgICAgICAgICAgICAgICAweDk4ICAvLyBPcGNvZGUgTWVudQ0KPiBDb25maWd1cmF0 aW9uIDAgKDMyYml0cykNCj4gKyNkZWZpbmUgUl9QQ0hfU1BJX09QTUVOVTEgICAgICAgICAgICAg ICAgICAgIDB4OUMgIC8vIE9wY29kZSBNZW51DQo+IENvbmZpZ3VyYXRpb24gMSAoMzJiaXRzKQ0K PiArDQo+ICsjZGVmaW5lIFJfUENIX1NQSV9JTkRfTE9DSyAgICAgICAgICAgICAgICAgICAweEE0 ICAvLyBJbmR2aWR1YWwgTG9jaw0KPiArI2RlZmluZSBCX1BDSF9TUElfSU5EX0xPQ0tfUFIwICAg ICAgICAgICAgICAgQklUMiAgLy8gUFIwIExvY2tEb3duDQo+ICsNCj4gKw0KPiArI2RlZmluZSBS X1BDSF9TUElfRkRPQyAgICAgICAgICAgICAgICAgICAgICAgMHhCMCAgLy8gRmxhc2ggRGVzY3Jp cHRvciBPYnNlcnZhYmlsaXR5DQo+IENvbnRyb2wgUmVnaXN0ZXIgKDMyIGJpdHMpDQo+ICsjZGVm aW5lIEJfUENIX1NQSV9GRE9DX0ZEU1NfTUFTSyAgICAgICAgICAgICAoQklUMTQgfCBCSVQxMyB8 IEJJVDEyKSAvLw0KPiBGbGFzaCBEZXNjcmlwdG9yIFNlY3Rpb24gU2VsZWN0DQo+ICsjZGVmaW5l IFZfUENIX1NQSV9GRE9DX0ZEU1NfRlNETSAgICAgICAgICAgICAweDAwMDAgLy8gRmxhc2ggU2ln bmF0dXJlIGFuZA0KPiBEZXNjcmlwdG9yIE1hcA0KPiArI2RlZmluZSBWX1BDSF9TUElfRkRPQ19G RFNTX0NPTVAgICAgICAgICAgICAgMHgxMDAwIC8vIENvbXBvbmVudA0KPiArI2RlZmluZSBWX1BD SF9TUElfRkRPQ19GRFNTX1JFR04gICAgICAgICAgICAgMHgyMDAwIC8vIFJlZ2lvbg0KPiArI2Rl ZmluZSBWX1BDSF9TUElfRkRPQ19GRFNTX01TVFIgICAgICAgICAgICAgMHgzMDAwIC8vIE1hc3Rl cg0KPiArI2RlZmluZSBWX1BDSF9TUElfRkRPQ19GRFNTX1ZMVlMgICAgICAgICAgICAgMHg0MDAw IC8vIFNvZnQgU3RyYXBzDQo+ICsjZGVmaW5lIEJfUENIX1NQSV9GRE9DX0ZEU0lfTUFTSyAgICAg ICAgICAgICAweDBGRkMgLy8gRmxhc2ggRGVzY3JpcHRvcg0KPiBTZWN0aW9uIEluZGV4DQo+ICsN Cj4gKyNkZWZpbmUgUl9QQ0hfU1BJX0ZET0QgICAgICAgICAgICAgICAgICAgICAgIDB4QjQgIC8v IEZsYXNoIERlc2NyaXB0b3IgT2JzZXJ2YWJpbGl0eQ0KPiBEYXRhIFJlZ2lzdGVyICgzMiBiaXRz KQ0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1NQSV9CQ1IgICAgICAgICAgICAgICAgICAgICAgICAw eEZDICAvLyBCSU9TIENvbnRyb2wgUmVnaXN0ZXINCj4gKyNkZWZpbmUgU19QQ0hfU1BJX0JDUiAg ICAgICAgICAgICAgICAgICAgICAgIDENCj4gKyNkZWZpbmUgQl9QQ0hfU1BJX0JDUl9TTU1fQldQ ICAgICAgICAgICAgICAgIEJJVDUgIC8vIFNNTSBCSU9TIFdyaXRlDQo+IFByb3RlY3QgRGlzYWJs ZQ0KPiArI2RlZmluZSBCX1BDSF9TUElfQkNSX1NSQyAgICAgICAgICAgICAgICAgICAgKEJJVDMg fCBCSVQyKSAvLyBTUEkgUmVhZA0KPiBDb25maWd1cmF0aW9uIChTUkMpDQo+ICsjZGVmaW5lIFZf UENIX1NQSV9CQ1JfU1JDX1BSRUZfRU5fQ0FDSEVfRU4gICAweDA4ICAvLyBQcmVmZXRjaA0KPiBF bmFibGUsIENhY2hlIEVuYWJsZQ0KPiArI2RlZmluZSBWX1BDSF9TUElfQkNSX1NSQ19QUkVGX0RJ U19DQUNIRV9ESVMgMHgwNCAgLy8gUHJlZmV0Y2gNCj4gRGlzYWJsZSwgQ2FjaGUgRGlzYWJsZQ0K PiArI2RlZmluZSBWX1BDSF9TUElfQkNSX1NSQ19QUkVGX0RJU19DQUNIRV9FTiAgMHgwMCAgLy8g UHJlZmV0Y2gNCj4gRGlzYWJsZSwgQ2FjaGUgRW5hYmxlDQo+ICsjZGVmaW5lIEJfUENIX1NQSV9C Q1JfQkxFICAgICAgICAgICAgICAgICAgICBCSVQxICAvLyBMb2NrIEVuYWJsZSAoTEUpDQo+ICsj ZGVmaW5lIEJfUENIX1NQSV9CQ1JfQklPU1dFICAgICAgICAgICAgICAgICBCSVQwICAvLyBXcml0 ZSBQcm90ZWN0IERpc2FibGUNCj4gKFdQRCkNCj4gKyNkZWZpbmUgTl9QQ0hfU1BJX0JDUl9CTEUg ICAgICAgICAgICAgICAgICAgIDENCj4gKyNkZWZpbmUgTl9QQ0hfU1BJX0JDUl9CSU9TV0UgICAg ICAgICAgICAgICAgIDANCj4gKw0KPiArLy8NCj4gKy8vIEZsYXNoIERlc2NyaXB0b3IgQmFzZSBB ZGRyZXNzIFJlZ2lvbiAoRkRCQVIpIGZyb20gRmxhc2ggUmVnaW9uIDANCj4gKy8vDQo+ICsjZGVm aW5lIFJfUENIX1NQSV9GREJBUl9GTFZBTFNJRyAgICAgICAgICAgICAweDAwICAvLyBGbGFzaCBW YWxpZCBTaWduYXR1cmUNCj4gKyNkZWZpbmUgVl9QQ0hfU1BJX0ZEQkFSX0ZMVkFMU0lHICAgICAg ICAgICAgIDB4MEZGMEE1NUENCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rl ci9JbmNsdWQNCj4gZS9QY2hSZWdzL1BjaFJlZ3NVc2IuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBl L1BjaFJlZ3MvUGNoUmVnc1VzYi5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjkzYjY0MTllYjcNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29u L0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9J bmNsdWQNCj4gZS9QY2hSZWdzL1BjaFJlZ3NVc2IuaA0KPiBAQCAtMCwwICsxLDkyIEBADQo+ICsv KioNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gKyAgQGZpbGUNCj4gKyAgUGNo UmVnc1VzYi5oDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFJlZ2lzdGVyIG5hbWVzIGZvciBQQ0gg VVNCIGRldmljZXMuDQo+ICsNCj4gKyAgQ29udmVudGlvbnM6DQo+ICsNCj4gKyAgLSBQcmVmaXhl czoNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiUl8iIGFyZSByZWdpc3RlcnMN Cj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiQl8iIGFyZSBiaXRzIHdpdGhpbiBy ZWdpc3RlcnMNCj4gKyAgICBEZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiVl8iIGFyZSBtZWFu aW5nZnVsIHZhbHVlcyBvZiBiaXRzIHdpdGhpbiB0aGUNCj4gcmVnaXN0ZXJzDQo+ICsgICAgRGVm aW5pdGlvbnMgYmVnaW5uaW5nIHdpdGggIlNfIiBhcmUgcmVnaXN0ZXIgc2l6ZXMNCj4gKyAgICBE ZWZpbml0aW9ucyBiZWdpbm5pbmcgd2l0aCAiTl8iIGFyZSB0aGUgYml0IHBvc2l0aW9uDQo+ICsg IC0gSW4gZ2VuZXJhbCwgUENIIHJlZ2lzdGVycyBhcmUgZGVub3RlZCBieSAiX1BDSF8iIGluIHJl Z2lzdGVyIG5hbWVzDQo+ICsgIC0gUmVnaXN0ZXJzIC8gYml0cyB0aGF0IGFyZSBkaWZmZXJlbnQg YmV0d2VlbiBQQ0ggZ2VuZXJhdGlvbnMgYXJlIGRlbm90ZWQNCj4gYnkNCj4gKyAgICAiX1BDSF88 Z2VuZXJhdGlvbl9uYW1lPl8iIGluIHJlZ2lzdGVyL2JpdCBuYW1lcy4gZS5nLiwgIl9QQ0hfVkxW XyINCj4gKyAgLSBSZWdpc3RlcnMgLyBiaXRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFNL VXMgYXJlIGRlbm90ZWQgYnkNCj4gIl88U0tVX25hbWU+Ig0KPiArICAgIGF0IHRoZSBlbmQgb2Yg dGhlIHJlZ2lzdGVyL2JpdCBuYW1lcw0KPiArICAtIFJlZ2lzdGVycyAvIGJpdHMgb2YgbmV3IGRl dmljZXMgaW50cm9kdWNlZCBpbiBhIFBDSCBnZW5lcmF0aW9uIHdpbGwgYmUganVzdA0KPiBuYW1l ZA0KPiArICAgIGFzICJfUENIXyIgd2l0aG91dCA8Z2VuZXJhdGlvbl9uYW1lPiBpbnNlcnRlZC4N Cj4gKw0KPiArKiovDQo+ICsjaWZuZGVmIF9QQ0hfUkVHU19VU0JfSF8NCj4gKyNkZWZpbmUgX1BD SF9SRUdTX1VTQl9IXw0KPiArDQo+ICsvLy8NCj4gKy8vLyBVU0IgRGVmaW5pdGlvbnMNCj4gKy8v Lw0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBQY2hFaGNpMSA9IDAsDQo+ICsgIFBjaEVo Y2lDb250cm9sbGVyTWF4DQo+ICt9IFBDSF9VU0IyMF9DT05UUk9MTEVSX1RZUEU7DQo+ICsNCj4g KyNkZWZpbmUgUENIX1VTQl9NQVhfUEhZU0lDQUxfUE9SVFMgICAgICAgICAgNCAgICAgIC8vLyBN YXggUGh5c2ljYWwNCj4gQ29ubmVjdG9yIEVIQ0kgKyBYSENJLCBub3QgY291bnRpbmcgdmlydHVh bCBwb3J0cyBsaWtlIFVTQi1SLg0KPiArI2RlZmluZSBQQ0hfRUhDSV9NQVhfUE9SVFMgICAgICAg ICAgICAgICAgICA0ICAgICAgLy8vIENvdW50aW5nIHBvcnRzIGJlaGluZA0KPiBSTUhzIDggZnJv bSBFSENJLTEgYW5kIDYgZnJvbSBFSENJLTIsIG5vdCBjb3VudGluZyBFSENJIFVTQi1SIHZpcnR1 YWwgcG9ydHMuDQo+ICsjZGVmaW5lIFBDSF9IU0lDX01BWF9QT1JUUyAgICAgICAgICAgICAgICAg IDINCj4gKyNkZWZpbmUgUENIX1hIQ0lfTUFYX1VTQjNfUE9SVFMgICAgICAgICAgICAgMQ0KPiAr DQo+ICsjZGVmaW5lIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9VU0IgICAgICAgICAgIDI5DQo+ICsj ZGVmaW5lIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0VIQ0kgICAgICAgIDANCj4gKw0KPiArI2Rl ZmluZSBSX1BDSF9VU0JfVkVORE9SX0lEICAgICAgICAgICAgICAgICAweDAwICAvLyBWZW5kb3Ig SUQNCj4gKyNkZWZpbmUgVl9QQ0hfVVNCX1ZFTkRPUl9JRCAgICAgICAgICAgICAgICAgVl9QQ0hf SU5URUxfVkVORE9SX0lEDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfVVNCX0RFVklDRV9JRCAgICAg ICAgICAgICAgICAgMHgwMiAgLy8gRGV2aWNlIElEDQo+ICsjZGVmaW5lIFZfUENIX1VTQl9ERVZJ Q0VfSURfMCAgICAgICAgICAgICAgIDB4MEYzNCAgLy8gRUhDSSMxDQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfRUhDSV9TVklEICAgICAgICAgICAgICAgICAgICAgMHgyQyAgLy8gVVNCMiBTdWJzeXN0 ZW0gVmVuZG9yIElEDQo+ICsjZGVmaW5lIEJfUENIX0VIQ0lfU1ZJRCAgICAgICAgICAgICAgICAg ICAgIDB4RkZGRiAvLyBVU0IyIFN1YnN5c3RlbSBWZW5kb3IgSUQNCj4gTWFzaw0KPiArDQo+ICsj ZGVmaW5lIFJfUENIX0VIQ0lfUFdSX0NOVExfU1RTICAgICAgICAgICAgIDB4NTQgIC8vIFBvd2Vy IE1hbmFnZW1lbnQNCj4gQ29udHJvbCAvIFN0YXR1cw0KPiArI2RlZmluZSBCX1BDSF9FSENJX1BX Ul9DTlRMX1NUU19QTUVfU1RTICAgICBCSVQxNSAvLyBQTUUgU3RhdHVzDQo+ICsjZGVmaW5lIEJf UENIX0VIQ0lfUFdSX0NOVExfU1RTX0RBVEFTQ0wgICAgIChCSVQxNCB8IEJJVDEzKSAvLyBEYXRh DQo+IFNjYWxlDQo+ICsjZGVmaW5lIEJfUENIX0VIQ0lfUFdSX0NOVExfU1RTX0RBVEFTRUwgICAg IChCSVQxMiB8IEJJVDExIHwgQklUMTAgfA0KPiBCSVQ5KSAvLyBEYXRhIFNlbGVjdA0KPiArI2Rl ZmluZSBCX1BDSF9FSENJX1BXUl9DTlRMX1NUU19QTUVfRU4gICAgICBCSVQ4ICAvLyBQb3dlciBF bmFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfRUhDSV9QV1JfQ05UTF9TVFNfUFdSX1NUUyAgICAgKEJJ VDEgfCBCSVQwKSAvLyBQb3dlcg0KPiBTdGF0ZQ0KPiArI2RlZmluZSBWX1BDSF9FSENJX1BXUl9D TlRMX1NUU19QV1JfU1RTX0QwICAwICAgICAvLyBEMCBTdGF0ZQ0KPiArI2RlZmluZSBWX1BDSF9F SENJX1BXUl9DTlRMX1NUU19QV1JfU1RTX0QzICAoQklUMSB8IEJJVDApIC8vIEQzDQo+IEhvdCBT dGF0ZQ0KPiArDQo+ICsvLy8NCj4gKy8vLyBVU0IzIChYSENJKSByZWxhdGVkIGRlZmluaXRpb25z DQo+ICsvLy8NCj4gKyNkZWZpbmUgUENJX0RFVklDRV9OVU1CRVJfUENIX1hIQ0kgICAgICAgICAg MjANCj4gKyNkZWZpbmUgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfWEhDSSAgICAgICAgMA0KPiAr Ly8NCj4gKy8vLy8vDQo+ICsvLy8vLyBYSENJIFBDSSBDb25maWcgU3BhY2UgcmVnaXN0ZXJzDQo+ ICsvLy8vLw0KPiArDQo+ICsjZGVmaW5lIFJfUENIX1hIQ0lfU1ZJRCAgICAgICAgICAgICAgICAg ICAgIDB4MkMNCj4gKyNkZWZpbmUgQl9QQ0hfWEhDSV9TVklEICAgICAgICAgICAgICAgICAgICAg MHhGRkZGDQo+ICsNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9YSENJX1BXUl9DTlRMX1NUUyAgICAg ICAgICAgICAweDc0DQo+ICsjZGVmaW5lIEJfUENIX1hIQ0lfUFdSX0NOVExfU1RTX1BNRV9TVFMg ICAgIEJJVDE1DQo+ICsjZGVmaW5lIEJfUENIX1hIQ0lfUFdSX0NOVExfU1RTX0RBVEFTQ0wgICAg IChCSVQxNCB8IEJJVDEzKQ0KPiArI2RlZmluZSBCX1BDSF9YSENJX1BXUl9DTlRMX1NUU19EQVRB U0VMICAgICAoQklUMTIgfCBCSVQxMSB8IEJJVDEwIHwNCj4gQklUOSkNCj4gKyNkZWZpbmUgQl9Q Q0hfWEhDSV9QV1JfQ05UTF9TVFNfUE1FX0VOICAgICAgQklUOA0KPiArI2RlZmluZSBCX1BDSF9Y SENJX1BXUl9DTlRMX1NUU19QV1JfU1RTICAgICAoQklUMSB8IEJJVDApDQo+ICsjZGVmaW5lIFZf UENIX1hIQ0lfUFdSX0NOVExfU1RTX1BXUl9TVFNfRDMgIChCSVQxIHwgQklUMCkNCj4gKw0KPiAr I2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2Rl UGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvUGNoSW5pdC5o DQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9T b3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1BjaEluaXQuaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jOGFiYTljNWU2DQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1BjaEluaXQuaA0KPiBAQCAtMCwwICsxLDc1 IEBADQo+ICsvKioNCj4gKyoqLw0KPiArLyoqDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxMiAg LSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsg IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0K PiArDQo+ICsgIEBmaWxlDQo+ICsgIFBjaEluaXQuaA0KPiArDQo+ICsgIEBicmllZg0KPiArICBU aGlzIGZpbGUgZGVmaW5lcyB0aGUgUENIIEluaXQgUFBJDQo+ICsNCj4gKyoqLw0KPiArI2lmbmRl ZiBfUENIX0lOSVRfSF8NCj4gKyNkZWZpbmUgX1BDSF9JTklUX0hfDQo+ICsNCj4gKy8vDQo+ICsv LyBEZWZpbmUgdGhlIFBDSCBJbml0IFBQSSBHVUlEDQo+ICsvLw0KPiArDQo+ICsNCj4gKyNpbmNs dWRlIDxQcm90b2NvbC9QY2hQbGF0Zm9ybVBvbGljeS5oPg0KPiArI2RlZmluZSBQQ0hfSU5JVF9Q UElfR1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4OWVhODk0YSwgMHhiZTBkLCAweDQyMzAsIDB4 YTAsIDB4MywgMHhlZCwgMHhjNiwgMHg5MywgMHhiNCwgMHg4ZSwgMHg5NSBcDQo+ICsgIH0NCj4g K2V4dGVybiBFRklfR1VJRCAgICAgICAgICAgICAgIGdQY2hJbml0UHBpR3VpZDsNCj4gKw0KPiAr Ly8vDQo+ICsvLy8gRm9yd2FyZCByZWZlcmVuY2UgZm9yIEFOU0kgQyBjb21wYXRpYmlsaXR5DQo+ ICsvLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9QQ0hfSU5JVF9QUEkgIFBDSF9JTklUX1BQSTsNCj4g Kw0KPiArLy8vDQo+ICsvLy8gRGF0YSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbnMNCj4gKy8vLw0KPiAr dHlwZWRlZiBlbnVtIF9DUFVfU1RSQVBfT1BFUkFUSU9OIHsNCj4gKyAgR2V0Q3B1U3RyYXBTZXRE YXRhLA0KPiArICBTZXRDcHVTdHJhcFNldERhdGEsDQo+ICsgIExvY2tDcHVTdHJhcFNldERhdGEN Cj4gK30gQ1BVX1NUUkFQX09QRVJBVElPTjsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRV Uw0KPiArKEVGSUFQSSAqUENIX1VTQl9JTklUKSAoDQo+ICsgIElOICBFRklfUEVJX1NFUlZJQ0VT ICAgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApDQo+ICsvKioNCj4gKw0KPiArICBAYnJp ZWYNCj4gKyAgVGhlIGZ1bmN0aW9uIHBlcmZvcm1pbmcgVVNCIGluaXQgaW4gUEVJIHBoYXNlLiBU aGlzIGNvdWxkIGJlIHVzZWQgYnkgVVNCDQo+IHJlY292ZXJ5DQo+ICsgIG9yIGRlYnVnIGZlYXR1 cmVzIHRoYXQgbmVlZCBVU0IgaW5pdGlhbGl6YXRpb24gZHVyaW5nIFBFSSBwaGFzZS4NCj4gKyAg Tm90ZTogQmVmb3JlIGV4ZWN1dGluZyB0aGlzIGZ1bmN0aW9uLCBwbGVhc2UgYmUgc3VyZSB0aGF0 DQo+IFBDSF9JTklUX1BQSS5Jbml0aWFsaXplDQo+ICsgIGhhcyBiZWVuIGRvbmUgYW5kIFBjaFVz YlBvbGljeVBwaSBoYXMgYmVlbiBpbnN0YWxsZWQuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBQZWlT ZXJ2aWNlcyAgICBHZW5lcmFsIHB1cnBvc2Ugc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5DQo+ IFBFSU0NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgIFRoZSBmdW5jdGlvbiBj b21wbGV0ZWQgc3VjY2Vzc2Z1bGx5DQo+ICsgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgQWxs IG90aGVyIGVycm9yIGNvbmRpdGlvbnMgZW5jb3VudGVyZWQgcmVzdWx0IGluIGFuDQo+IEFTU0VS VC4NCj4gKw0KPiArKiovDQo+ICs7DQo+ICsNCj4gKy8vLw0KPiArLy8vIFBDSF9JTklUX1BQSSBT dHJ1Y3R1cmUgRGVmaW5pdGlvbg0KPiArLy8vDQo+ICtzdHJ1Y3QgX1BDSF9JTklUX1BQSSB7DQo+ ICsgIFBDSF9VU0JfSU5JVCAgICAgICAgICBVc2JJbml0Ow0KPiArfTsNCj4gKw0KPiArI2VuZGlm DQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zh bGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvUGNoUGVpSW5pdC5oDQo+ IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0 aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1BjaFBlaUluaXQuaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5hOWJiYjM3NjZjDQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1BjaFBlaUluaXQuaA0KPiBAQCAtMCwwICsx LDM0IEBADQo+ICsNCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMjAxMyAgLSAyMDE0 LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArTW9k dWxlIE5hbWU6DQo+ICsNCj4gKyAgUGNoUGVpSW5pdC5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiAr DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfUENIX1BFSV9JTklUX0hfDQo+ICsjZGVm aW5lIF9QQ0hfUEVJX0lOSVRfSF8NCj4gKw0KPiArLy8NCj4gKy8vIERlZmluZSB0aGUgUENIIFBF SSBJbml0IFBQSSBHVUlEDQo+ICsvLw0KPiArI2RlZmluZSBQQ0hfUEVJX0lOSVRfUFBJX0dVSUQg XA0KPiArICB7IFwNCj4gKyAgICAweEFDQjkzQjA4LCAweDVDREMsIDB4NEE4RiwgMHg5MywgMHhE NCwgMHg2LCAweEUzLCAweDQyLCAweERGLCAweDE4LA0KPiAweDJFIFwNCj4gKyAgfQ0KPiArDQo+ ICsvLw0KPiArLy8gRXh0ZXJuIHRoZSBHVUlEIGZvciBQUEkgdXNlcnMuDQo+ICsvLw0KPiArZXh0 ZXJuIEVGSV9HVUlEICAgICBnUGNoUGVpSW5pdFBwaUd1aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBk aWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1BjaFBsYXRmb3JtUG9saWN5LmgN Cj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1Nv dXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvUGNoUGxhdGZvcm1Qb2xpY3kuaA0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5iM2IyZjU0OWNkDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxs ZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1BjaFBsYXRmb3JtUG9saWN5 LmgNCj4gQEAgLTAsMCArMSwxNjEgQEANCj4gKy8qKg0KPiArKiovDQo+ICsvKioNCj4gKw0KPiAr Q29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gKyAgQGZpbGUNCj4gKyAgUGNoUGxhdGZvcm1Qb2xp Y3kuaA0KPiArDQo+ICsgIEBicmllZg0KPiArICBQQ0ggcG9saWN5IFBQSSBwcm9kdWNlZCBieSBh IHBsYXRmb3JtIGRyaXZlciBzcGVjaWZ5aW5nIHZhcmlvdXMNCj4gKyAgZXhwZWN0ZWQgUENIIHNl dHRpbmdzLiBUaGlzIFBQSSBpcyBjb25zdW1lZCBieSB0aGUgUENIIFBFSSBtb2R1bGVzLg0KPiAr DQo+ICsqKi8NCj4gKyNpZm5kZWYgUENIX1BMQVRGT1JNX1BPTElDWV9IXw0KPiArI2RlZmluZSBQ Q0hfUExBVEZPUk1fUE9MSUNZX0hfDQo+ICsvLw0KPiArLy8gRXh0ZXJuYWwgaW5jbHVkZSBmaWxl cyBkbyBOT1QgbmVlZCB0byBiZSBleHBsaWNpdGx5IHNwZWNpZmllZCBpbiByZWFsIEVES0lJDQo+ ICsvLyBlbnZpcm9ubWVudA0KPiArLy8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiUGNoUmVncy5o Ig0KPiArDQo+ICsvLw0KPiArI2RlZmluZSBQQ0hfUExBVEZPUk1fUE9MSUNZX1BQSV9HVUlEIFwN Cj4gKyAgeyBcDQo+ICsgICAgMHgxNTM0NDY3MywgMHhkMzY1LCAweDRiZTIsIDB4ODUsIDB4MTMs IDB4MTQsIDB4OTcsIDB4Y2MsIDB4NywgMHg2MSwgMHgxZA0KPiBcDQo+ICsgIH0NCj4gKw0KPiAr ZXh0ZXJuIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgICAgICAgIGdQY2hQbGF0Zm9ybVBvbGlj eVBwaUd1aWQ7DQo+ICsNCj4gKy8vLw0KPiArLy8vIEZvcndhcmQgcmVmZXJlbmNlIGZvciBBTlNJ IEMgY29tcGF0aWJpbGl0eQ0KPiArLy8vDQo+ICt0eXBlZGVmIHN0cnVjdCBfUENIX1BMQVRGT1JN X1BPTElDWV9QUEkgUENIX1BMQVRGT1JNX1BPTElDWV9QUEk7DQo+ICsNCj4gKy8vLw0KPiArLy8v IFBQSSByZXZpc2lvbiBudW1iZXINCj4gKy8vLyBBbnkgYmFja3dhcmRzIGNvbXBhdGlibGUgY2hh bmdlcyB0byB0aGlzIFBQSSB3aWxsIHJlc3VsdCBpbiBhbiB1cGRhdGUgaW4NCj4gdGhlIHJldmlz aW9uIG51bWJlcg0KPiArLy8vIE1ham9yIGNoYW5nZXMgd2lsbCByZXF1aXJlIHB1YmxpY2F0aW9u IG9mIGEgbmV3IFBQSQ0KPiArLy8vDQo+ICsvLy8gUmV2aXNpb24gMTogICAgT3JpZ2luYWwgdmVy c2lvbg0KPiArLy8vDQo+ICsjZGVmaW5lIFBDSF9QTEFURk9STV9QT0xJQ1lfUFBJX1JFVklTSU9O XzEgIDENCj4gKyNkZWZpbmUgUENIX1BMQVRGT1JNX1BPTElDWV9QUElfUkVWSVNJT05fMiAgMg0K PiArI2RlZmluZSBQQ0hfUExBVEZPUk1fUE9MSUNZX1BQSV9SRVZJU0lPTl8zICAzDQo+ICsjZGVm aW5lIFBDSF9QTEFURk9STV9QT0xJQ1lfUFBJX1JFVklTSU9OXzQgIDQNCj4gKyNkZWZpbmUgUENI X1BMQVRGT1JNX1BPTElDWV9QUElfUkVWSVNJT05fNSAgNQ0KPiArLy8NCj4gKy8vIEdlbmVyaWMg ZGVmaW5pdGlvbnMgZm9yIGRldmljZSBlbmFibGluZy9kaXNhYmxpbmcgdXNlZCBieSBQQ0ggY29k ZS4NCj4gKy8vDQo+ICsjZGVmaW5lIFBDSF9ERVZJQ0VfRU5BQkxFICAgMQ0KPiArI2RlZmluZSBQ Q0hfREVWSUNFX0RJU0FCTEUgIDANCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5U OCAgVGhlcm1hbERhdGFSZXBvcnRFbmFibGUgIDogMTsgICAvLyBPQlNPTEVURSBmcm9tIFJldmlz aW9uIDUgISEhIERPDQo+IE5PVCBVU0UgISEhDQo+ICsgIFVJTlQ4ICBNY2hUZW1wUmVhZEVuYWJs ZSAgICAgICAgOiAxOw0KPiArICBVSU5UOCAgUGNoVGVtcFJlYWRFbmFibGUgICAgICAgIDogMTsN Cj4gKyAgVUlOVDggIENwdUVuZXJneVJlYWRFbmFibGUgICAgICA6IDE7DQo+ICsgIFVJTlQ4ICBD cHVUZW1wUmVhZEVuYWJsZSAgICAgICAgOiAxOw0KPiArICBVSU5UOCAgQ3B1MlRlbXBSZWFkRW5h YmxlICAgICAgIDogMTsNCj4gKyAgVUlOVDggIFRzT25EaW1tRW5hYmxlICAgICAgICAgICA6IDE7 DQo+ICsgIFVJTlQ4ICBEaW1tMVRlbXBSZWFkRW5hYmxlICAgICAgOiAxOw0KPiArDQo+ICsgIFVJ TlQ4ICBEaW1tMlRlbXBSZWFkRW5hYmxlICAgICAgOiAxOw0KPiArICBVSU5UOCAgRGltbTNUZW1w UmVhZEVuYWJsZSAgICAgIDogMTsNCj4gKyAgVUlOVDggIERpbW00VGVtcFJlYWRFbmFibGUgICAg ICA6IDE7DQo+ICsgIFVJTlQ4ICBSc3ZkYml0cyAgICAgICAgICAgICAgICAgOiA1Ow0KPiArfSBQ Q0hfVEhFUk1BTF9SRVBPUlRfQ09OVFJPTDsNCj4gKy8vDQo+ICsvLyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tIEhQRVQgQ29uZmlnIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBCT09MRUFOIEVuYWJsZTsgLy8vIERldGVy bWluZXMgaWYgZW5hYmxlIEhQRVQgZnVuY3Rpb24NCj4gKyAgVUlOVDMyICBCYXNlOyAgIC8vLyBU aGUgSFBFVCBiYXNlIGFkZHJlc3MNCj4gK30gUENIX0hQRVRfQ09ORklHOw0KPiArDQo+ICsNCj4g Ky8vLw0KPiArLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU0FUQSBDb25maWcgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy8vLw0KPiArdHlwZWRlZiBlbnVtIHsNCj4g KyAgUGNoU2F0YU1vZGVJZGUsDQo+ICsgIFBjaFNhdGFNb2RlQWhjaSwNCj4gKyAgUGNoU2F0YU1v ZGVSYWlkLA0KPiArICBQY2hTYXRhTW9kZU1heA0KPiArfSBQQ0hfU0FUQV9NT0RFOw0KPiArDQo+ ICsvLy8NCj4gKy8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBDSSBFeHByZXNzIENv bmZpZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArLy8vDQo+ICt0eXBlZGVmIGVu dW0gew0KPiArICBQY2hQY2llQXV0bywNCj4gKyAgUGNoUGNpZUdlbjEsDQo+ICsgIFBjaFBjaWVH ZW4yDQo+ICt9IFBDSF9QQ0lFX1NQRUVEOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsg IFBDSF9QQ0lFX1NQRUVEICBQY2llU3BlZWRbUENIX1BDSUVfTUFYX1JPT1RfUE9SVFNdOw0KPiAr fSBQQ0hfUENJRV9DT05GSUc7DQo+ICsNCj4gKy8vLw0KPiArLy8vIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gSU8gQVBJQyBDb25maWcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gKy8vLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCBJb0FwaWNJZDsNCj4gK30g UENIX0lPQVBJQ19DT05GSUc7DQo+ICsNCj4gKy8vLw0KPiArLy8vIC0tLS0tLS0tLS0tLS0tLS0t LS0tLSBMb3cgUG93ZXIgSW5wdXQgT3V0cHV0IENvbmZpZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gKy8vLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgICAgICAgICAgICAg ICAgICBMcHNzUGNpTW9kZUVuYWJsZWQgICAgOiAxOyAgICAvLy8gRGV0ZXJtaW5lcyBpZiBMUFNT IFBDSQ0KPiBNb2RlIGVuYWJsZWQNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgRG1hMEVu YWJsZWQgICAgICAgICAgIDogMTsgICAgIC8vLyBEZXRlcm1pbmVzIGlmIExQU1MgRE1BMQ0KPiBl bmFibGVkDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIERtYTFFbmFibGVkICAgICAgICAg ICA6IDE7ICAgICAvLy8gRGV0ZXJtaW5lcyBpZiBMUFNTIERNQTINCj4gZW5hYmxlZA0KPiArICBV SU5UOCAgICAgICAgICAgICAgICAgICBJMkMwRW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8v IERldGVybWluZXMgaWYgTFBTUyBJMkMgIzENCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAg ICAgICAgICAgICBJMkMxRW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMg aWYgTFBTUyBJMkMgIzINCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJ MkMyRW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBJMkMg IzMNCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJMkMzRW5hYmxlZCAg ICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBJMkMgIzQNCj4gZW5hYmxl ZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJMkM0RW5hYmxlZCAgICAgICAgICAgOiAx OyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBJMkMgIzUNCj4gZW5hYmxlZA0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAgICBJMkM1RW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERl dGVybWluZXMgaWYgTFBTUyBJMkMgIzYNCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgICBJMkM2RW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYg TFBTUyBJMkMgIzcNCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBQd20w RW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBQV00gIzEN Cj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBQd20xRW5hYmxlZCAgICAg ICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBQV00gIzINCj4gZW5hYmxlZA0K PiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBIc3VhcnQwRW5hYmxlZCAgICAgICAgOiAxOyAg ICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBIU1VBUlQgIzENCj4gZW5hYmxlZA0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAgICBIc3VhcnQxRW5hYmxlZCAgICAgICAgOiAxOyAgICAgLy8vIERl dGVybWluZXMgaWYgTFBTUyBIU1VBUlQgIzINCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAg ICAgICAgICAgICBTcGlFbmFibGVkICAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMg aWYgTFBTUyBTUEkgZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBSc3ZkYml0 cyAgICAgICAgICAgICAgOiAyOw0KPiArfSBQRUlfUENIX0xQU1NfQ09ORklHOw0KPiArDQo+ICsv Ly8NCj4gKy8vLyAtLS0tLS0tLS0tLS0gR2VuZXJhbCBQQ0ggUGxhdGZvcm0gUG9saWN5IFBQSSBk ZWZpbml0aW9uIC0tLS0tLS0tLS0tLQ0KPiArLy8vDQo+ICtzdHJ1Y3QgX1BDSF9QTEFURk9STV9Q T0xJQ1lfUFBJIHsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgUmV2aXNpb247 DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIEJ1c051bWJlcjsgIC8vIEJ1cyBO dW1iZXIgb2YgdGhlIFBDSCBkZXZpY2UNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAg ICAgU3BpQmFzZTsgICAgLy8gU1BJIEJhc2UgQWRkcmVzcy4NCj4gKyAgVUlOVDMyICAgICAgICAg ICAgICAgICAgICAgICAgUG1jQmFzZTsgICAgLy8gUE1DIEJhc2UgQWRkcmVzcy4NCj4gKyAgVUlO VDMyICAgICAgICAgICAgICAgICAgICAgICAgU21ibUJhc2U7ICAgLy8gU01CIE1lbW9yeSBCYXNl IEFkZHJlc3MuDQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgIElvQmFzZTsgICAg IC8vIElPIEJhc2UgQWRkcmVzcy4NCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAg SWxiQmFzZTsgICAgLy8gSW50ZWwgTGVnYWN5IEJsb2NrIEJhc2UgQWRkcmVzcy4NCj4gKyAgVUlO VDMyICAgICAgICAgICAgICAgICAgICAgICAgUFVuaXRCYXNlOyAgLy8gUFVuaXQgQmFzZSBBZGRy ZXNzLg0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBSY2JhOyAgICAgICAvLyBS b290IENvbXBsZXggQmFzZSBBZGRyZXNzLg0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAg ICAgICBNcGh5QmFzZTsgICAvLyBNUEhZIEJhc2UgQWRkcmVzcy4NCj4gKyAgVUlOVDE2ICAgICAg ICAgICAgICAgICAgICAgICAgQWNwaUJhc2U7ICAgLy8gQUNQSSBJL08gQmFzZSBhZGRyZXNzLg0K PiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICBHcGlvQmFzZTsgICAvLyBHUElPIEJh c2UgYWRkcmVzcw0KPiArICBQQ0hfSFBFVF9DT05GSUcgICAgICAgICAgICAgICAqSHBldENvbmZp ZzsNCj4gKyAgUENIX1NBVEFfTU9ERSAgICAgICAgICAgICAgICAgU2F0YU1vZGU7DQo+ICsgIFBD SF9QQ0lFX0NPTkZJRyAgICAgICAgICAgICAgICpQY2llQ29uZmlnOw0KPiArICBQQ0hfSU9BUElD X0NPTkZJRyAgICAgICAgICAgICAqSW9BcGljQ29uZmlnOw0KPiArICBQRUlfUENIX0xQU1NfQ09O RklHICAgICAgICAgICAqTHBzc0NvbmZpZzsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAg ICAgICAgRW5hYmxlUm1oOyAgICAgIC8vIERldGVybWluZXMgaWYgZW5hYmxlIFVTQiBSTUgNCj4g ZnVuY3Rpb24NCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgRWhjaVBsbENmZ0Vu YWJsZTsNCj4gK307DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5j bHVkDQo+IGUvUHBpL1BjaFVzYlBvbGljeS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1Bj aFVzYlBvbGljeS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LmQwM2FhNGE4YjQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1Zs djJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4g ZS9QcGkvUGNoVXNiUG9saWN5LmgNCj4gQEAgLTAsMCArMSw2OSBAQA0KPiArLyoqDQo+ICsqKi8N Cj4gKy8qKg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTIgIC0gMjAxNCwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiArICBAZmlsZQ0KPiAr ICBQY2hVc2JQb2xpY3kuaA0KPiArDQo+ICsgIEBicmllZg0KPiArICBQQ0ggVXNiIHBvbGljeSBQ UEkgcHJvZHVjZWQgYnkgYSBwbGF0Zm9ybSBkcml2ZXIgc3BlY2lmeWluZw0KPiArICB2YXJpb3Vz IGV4cGVjdGVkIFBDSCBVc2Igc2V0dGluZ3MuIFRoaXMgUFBJIGlzIGNvbnN1bWVkIGJ5IHRoZQ0K PiArICBQQ0ggUEVJIGRyaXZlcnMuDQo+ICsNCj4gKyoqLw0KPiArI2lmbmRlZiBfUENIX1VTQl9Q T0xJQ1lfSF8NCj4gKyNkZWZpbmUgX1BDSF9VU0JfUE9MSUNZX0hfDQo+ICsNCj4gKy8vDQo+ICsv LyBQQ0ggVXNiIHBvbGljeSBwcm92aWRlZCBieSBwbGF0Zm9ybSBmb3IgUEVJIHBoYXNlDQo+ICsv Lw0KPiArDQo+ICsjaWZuZGVmIEVDUF9GTEFHDQo+ICsjaW5jbHVkZSA8UGlQZWkuaD4NCj4gKyNl bmRpZg0KPiArDQo+ICsjaW5jbHVkZSAiUGNoUmVncy5oIg0KPiArI2luY2x1ZGUgPFByb3RvY29s L1BjaFBsYXRmb3JtUG9saWN5Lmg+DQo+ICsNCj4gKyNkZWZpbmUgUENIX1VTQl9QT0xJQ1lfUFBJ X0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweGMwMmIwNTczLCAweDJiNGUsIDB4NGEzMSwgMHhh MywgMHgxYSwgMHg5NCwgMHg1NiwgMHg3YiwgMHg1MCwgMHg0NCwgMHgyYw0KPiBcDQo+ICsgIH0N Cj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgICAgZ1BjaFVzYlBvbGlj eVBwaUd1aWQ7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IF9QQ0hfVVNCX1BPTElDWV9QUEkgIFBD SF9VU0JfUE9MSUNZX1BQSTsNCj4gKw0KPiArLy8vDQo+ICsvLy8gUFBJIHJldmlzaW9uIG51bWJl cg0KPiArLy8vIEFueSBiYWNrd2FyZHMgY29tcGF0aWJsZSBjaGFuZ2VzIHRvIHRoaXMgUFBJIHdp bGwgcmVzdWx0IGluIGFuIHVwZGF0ZSBpbg0KPiB0aGUgcmV2aXNpb24gbnVtYmVyDQo+ICsvLy8g TWFqb3IgY2hhbmdlcyB3aWxsIHJlcXVpcmUgcHVibGljYXRpb24gb2YgYSBuZXcgUFBJDQo+ICsv Ly8NCj4gKy8vLyBSZXZpc2lvbiAxOiBPcmlnaW5hbCB2ZXJzaW9uDQo+ICsvLy8NCj4gKyNkZWZp bmUgUENIX1VTQl9QT0xJQ1lfUFBJX1JFVklTSU9OXzEgMQ0KPiArDQo+ICsvLy8NCj4gKy8vLyBH ZW5lcmljIGRlZmluaXRpb25zIGZvciBkZXZpY2UgZW5hYmxpbmcvZGlzYWJsaW5nIHVzZWQgYnkg UENIIGNvZGUuDQo+ICsvLy8NCj4gKyNkZWZpbmUgUENIX0RFVklDRV9FTkFCTEUgICAxDQo+ICsj ZGVmaW5lIFBDSF9ERVZJQ0VfRElTQUJMRSAgMA0KPiArDQo+ICsjZGVmaW5lIEVIQ0lfTU9ERSAg ICAgICAgICAgMQ0KPiArDQo+ICtzdHJ1Y3QgX1BDSF9VU0JfUE9MSUNZX1BQSSB7DQo+ICsgIFVJ TlQ4ICAgICAgICAgICBSZXZpc2lvbjsNCj4gKyAgUENIX1VTQl9DT05GSUcgICpVc2JDb25maWc7 DQo+ICsgIFVJTlQ4ICAgICAgICAgICBNb2RlOw0KPiArICBVSU5UTiAgICAgICAgICAgRWhjaU1l bUJhc2VBZGRyOw0KPiArICBVSU5UMzIgICAgICAgICAgRWhjaU1lbUxlbmd0aDsNCj4gKyAgVUlO VE4gICAgICAgICAgIFhoY2lNZW1CYXNlQWRkcjsNCj4gK307DQo+ICsNCj4gKyNlbmRpZg0KPiBk aWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1BlaUJsb2NrSW8uaA0KPiBiL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVz dGVyL0luY2x1ZA0KPiBlL1BwaS9QZWlCbG9ja0lvLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uZDZjODM2NmUyNg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0K PiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BwaS9QZWlCbG9ja0lvLmgNCj4gQEAgLTAsMCArMSwyMzAg QEANCj4gKy8qKiBAZmlsZQ0KPiArICBCbG9jayBJTyBwcm90b2NvbCBhcyBkZWZpbmVkIGluIHRo ZSBVRUZJIDIuMCBzcGVjaWZpY2F0aW9uLg0KPiArDQo+ICsgIFRoZSBCbG9jayBJTyBwcm90b2Nv bCBpcyB1c2VkIHRvIGFic3RyYWN0IGJsb2NrIGRldmljZXMgbGlrZSBoYXJkIGRyaXZlcywNCj4g KyAgRFZELVJPTXMgYW5kIGZsb3BweSBkcml2ZXMuDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAy MDA2IC0gMjAxMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfX1BFSV9CTE9DS19JT19IX18NCj4gKyNkZWZpbmUgX19Q RUlfQkxPQ0tfSU9fSF9fDQo+ICsvLyB7QkM1RkE2NTAtRURCQi00ZDBkLUIzQTMtRDk4OTA3Rjg0 N0RGfQ0KPiArI2lmbmRlZiBFQ1BfRkxBRw0KPiArI2RlZmluZSBQRUlfQkxPQ0tfSU9fUFBJX0dV SUQgXA0KPiArICB7ICBcDQo+ICsgICAgMHhiYzVmYTY1MCwgMHhlZGJiLCAweDRkMGQsIHsgMHhi MywgMHhhMywgMHhkOSwgMHg4OSwgMHg3LCAweGY4LCAweDQ3LA0KPiAweGRmIH0gIFwNCj4gKyAg fQ0KPiArI2VuZGlmDQo+ICt0eXBlZGVmIHN0cnVjdCBfUEVJX0JMT0NLX0lPX1BQSSAgUEVJX0JM T0NLX0lPX1BQSTsNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmVzZXQgdGhlIEJsb2NrIERldmlj ZS4NCj4gKw0KPiArICBAcGFyYW0gIFRoaXMgICAgICAgICAgICAgICAgIEluZGljYXRlcyBhIHBv aW50ZXIgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4NCj4gKyAgQHBhcmFtICBFeHRlbmRlZFZlcmlm aWNhdGlvbiBEcml2ZXIgbWF5IHBlcmZvcm0gZGlhZ25vc3RpY3Mgb24gcmVzZXQuDQo+ICsNCj4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBUaGUgZGV2aWNlIHdhcyByZXNldC4NCj4g KyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICBUaGUgZGV2aWNlIGlzIG5vdCBmdW5jdGlv bmluZyBwcm9wZXJseSBhbmQNCj4gY291bGQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBub3QgYmUgcmVzZXQuDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRV Uw0KPiArKEVGSUFQSSAqUEVJX0JMT0NLX1JFU0VUKSgNCj4gKyAgSU4gUEVJX0JMT0NLX0lPX1BQ SSAgICAgICAgICAgICAgICpUaGlzLA0KPiArICBJTiBCT09MRUFOICAgICAgICAgICAgICAgICAg ICAgICAgRXh0ZW5kZWRWZXJpZmljYXRpb24NCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFJl YWQgQnVmZmVyU2l6ZSBieXRlcyBmcm9tIExiYSBpbnRvIEJ1ZmZlci4NCj4gKw0KPiArICBAcGFy YW0gIFRoaXMgICAgICAgSW5kaWNhdGVzIGEgcG9pbnRlciB0byB0aGUgY2FsbGluZyBjb250ZXh0 Lg0KPiArICBAcGFyYW0gIE1lZGlhSWQgICAgSWQgb2YgdGhlIG1lZGlhLCBjaGFuZ2VzIGV2ZXJ5 IHRpbWUgdGhlIG1lZGlhIGlzDQo+IHJlcGxhY2VkLg0KPiArICBAcGFyYW0gIExiYSAgICAgICAg VGhlIHN0YXJ0aW5nIExvZ2ljYWwgQmxvY2sgQWRkcmVzcyB0byByZWFkIGZyb20NCj4gKyAgQHBh cmFtICBCdWZmZXJTaXplIFNpemUgb2YgQnVmZmVyLCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgZGV2 aWNlIGJsb2NrIHNpemUuDQo+ICsgIEBwYXJhbSAgQnVmZmVyICAgICBBIHBvaW50ZXIgdG8gdGhl IGRlc3RpbmF0aW9uIGJ1ZmZlciBmb3IgdGhlIGRhdGEuIFRoZQ0KPiBjYWxsZXIgaXMNCj4gKyAg ICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmxlIGZvciBlaXRoZXIgaGF2aW5nIGltcGxpY2l0 IG9yIGV4cGxpY2l0IG93bmVyc2hpcCBvZiB0aGUNCj4gYnVmZmVyLg0KPiArDQo+ICsgIEByZXR2 YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBkYXRhIHdhcyByZWFkIGNvcnJlY3RseSBmcm9t IHRoZSBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZSBkZXZp Y2UgcmVwb3J0ZWQgYW4gZXJyb3Igd2hpbGUNCj4gcGVyZm9ybWluZyB0aGUgcmVhZC4NCj4gKyAg QHJldHZhbCBFRklfTk9fTUVESUEgICAgICAgICAgVGhlcmUgaXMgbm8gbWVkaWEgaW4gdGhlIGRl dmljZS4NCj4gKyAgQHJldHZhbCBFRklfTUVESUFfQ0hBTkdFRCAgICAgVGhlIE1lZGlhSWQgZG9l cyBub3QgbWF0Y2hlZCB0aGUNCj4gY3VycmVudCBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX0JB RF9CVUZGRVJfU0laRSAgIFRoZSBCdWZmZXIgd2FzIG5vdCBhIG11bHRpcGxlIG9mIHRoZSBibG9j aw0KPiBzaXplIG9mIHRoZSBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1F VEVSIFRoZSByZWFkIHJlcXVlc3QgY29udGFpbnMgTEJBcyB0aGF0DQo+IGFyZSBub3QgdmFsaWQs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHRoZSBidWZmZXIgaXMgbm90 IG9uIHByb3BlciBhbGlnbm1lbnQuDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NU QVRVUw0KPiArKEVGSUFQSSAqUEVJX0JMT0NLX1JFQUQpKA0KPiArICBJTiAgRUZJX1BFSV9TRVJW SUNFUyAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gUEVJX0JMT0NLX0lPX1BQ SSAgICAgICAgICAgICAgICpUaGlzLA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICAg ICAgICAgTWVkaWFJZCwNCj4gKyAgSU4gRUZJX0xCQSAgICAgICAgICAgICAgICAgICAgICAgIExi YSwNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlclNpemUsDQo+ ICsgIE9VVCBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAqQnVmZmVyDQo+ICsgICk7DQo+ ICsNCj4gKy8qKg0KPiArICBXcml0ZSBCdWZmZXJTaXplIGJ5dGVzIGZyb20gTGJhIGludG8gQnVm ZmVyLg0KPiArDQo+ICsgIEBwYXJhbSAgVGhpcyAgICAgICBJbmRpY2F0ZXMgYSBwb2ludGVyIHRv IHRoZSBjYWxsaW5nIGNvbnRleHQuDQo+ICsgIEBwYXJhbSAgTWVkaWFJZCAgICBUaGUgbWVkaWEg SUQgdGhhdCB0aGUgd3JpdGUgcmVxdWVzdCBpcyBmb3IuDQo+ICsgIEBwYXJhbSAgTGJhICAgICAg ICBUaGUgc3RhcnRpbmcgbG9naWNhbCBibG9jayBhZGRyZXNzIHRvIGJlIHdyaXR0ZW4uIFRoZSBj YWxsZXINCj4gaXMNCj4gKyAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmxlIGZvciB3cml0 aW5nIHRvIG9ubHkgbGVnaXRpbWF0ZSBsb2NhdGlvbnMuDQo+ICsgIEBwYXJhbSAgQnVmZmVyU2l6 ZSBTaXplIG9mIEJ1ZmZlciwgbXVzdCBiZSBhIG11bHRpcGxlIG9mIGRldmljZSBibG9jayBzaXpl Lg0KPiArICBAcGFyYW0gIEJ1ZmZlciAgICAgQSBwb2ludGVyIHRvIHRoZSBzb3VyY2UgYnVmZmVy IGZvciB0aGUgZGF0YS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBU aGUgZGF0YSB3YXMgd3JpdHRlbiBjb3JyZWN0bHkgdG8gdGhlIGRldmljZS4NCj4gKyAgQHJldHZh bCBFRklfV1JJVEVfUFJPVEVDVEVEICAgVGhlIGRldmljZSBjYW4gbm90IGJlIHdyaXR0ZW4gdG8u DQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZSBkZXZpY2UgcmVwb3J0ZWQg YW4gZXJyb3Igd2hpbGUNCj4gcGVyZm9ybWluZyB0aGUgd3JpdGUuDQo+ICsgIEByZXR2YWwgRUZJ X05PX01FRElBICAgICAgICAgIFRoZXJlIGlzIG5vIG1lZGlhIGluIHRoZSBkZXZpY2UuDQo+ICsg IEByZXR2YWwgRUZJX01FRElBX0NITkFHRUQgICAgIFRoZSBNZWRpYUlkIGRvZXMgbm90IG1hdGNo ZWQgdGhlDQo+IGN1cnJlbnQgZGV2aWNlLg0KPiArICBAcmV0dmFsIEVGSV9CQURfQlVGRkVSX1NJ WkUgICBUaGUgQnVmZmVyIHdhcyBub3QgYSBtdWx0aXBsZSBvZiB0aGUgYmxvY2sNCj4gc2l6ZSBv ZiB0aGUgZGV2aWNlLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBUaGUgd3Jp dGUgcmVxdWVzdCBjb250YWlucyBMQkFzIHRoYXQNCj4gYXJlIG5vdCB2YWxpZCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgdGhlIGJ1ZmZlciBpcyBub3Qgb24gcHJvcGVy IGFsaWdubWVudC4NCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICso RUZJQVBJICpQRUlfQkxPQ0tfV1JJVEUpKA0KPiArICBJTiAgRUZJX1BFSV9TRVJWSUNFUyAgICAg ICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gUEVJX0JMT0NLX0lPX1BQSSAgICAgICAg ICAgICAgICpUaGlzLA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgTWVk aWFJZCwNCj4gKyAgSU4gRUZJX0xCQSAgICAgICAgICAgICAgICAgICAgICAgIExiYSwNCj4gKyAg SU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlclNpemUsDQo+ICsgIElOIFZP SUQgICAgICAgICAgICAgICAgICAgICAgICAgICAqQnVmZmVyDQo+ICsgICk7DQo+ICsNCj4gKy8q Kg0KPiArICBGbHVzaCB0aGUgQmxvY2sgRGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSAgVGhpcyAg ICAgICAgICAgICAgSW5kaWNhdGVzIGEgcG9pbnRlciB0byB0aGUgY2FsbGluZyBjb250ZXh0Lg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgQWxsIG91dHN0YW5kaW5nIGRhdGEg d2FzIHdyaXR0ZW4gdG8gdGhlIGRldmljZQ0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1Ig IFRoZSBkZXZpY2UgcmVwb3J0ZWQgYW4gZXJyb3Igd2hpbGUgd3JpdHRpbmcNCj4gYmFjayB0aGUg ZGF0YQ0KPiArICBAcmV0dmFsIEVGSV9OT19NRURJQSAgICAgIFRoZXJlIGlzIG5vIG1lZGlhIGlu IHRoZSBkZXZpY2UuDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiAr KEVGSUFQSSAqUEVJX0JMT0NLX0ZMVVNIKSgNCj4gKyAgSU4gIFBFSV9CTE9DS19JT19QUEkgICAg ICAgICAgICpUaGlzDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBCbG9jayBJTyByZWFkIG9u bHkgbW9kZSBkYXRhIGFuZCB1cGRhdGVkIG9ubHkgdmlhIG1lbWJlcnMgb2YgQmxvY2tJTw0KPiAr KiovDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIC8vLw0KPiArICAvLy8gVGhlIGN1cmVudCBt ZWRpYSBJZC4gSWYgdGhlIG1lZGlhIGNoYW5nZXMsIHRoaXMgdmFsdWUgaXMgY2hhbmdlZC4NCj4g KyAgLy8vDQo+ICsgIFVJTlQzMiAgTWVkaWFJZDsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8vIFRS VUUgaWYgdGhlIG1lZGlhIGlzIHJlbW92YWJsZTsgb3RoZXJ3aXNlLCBGQUxTRS4NCj4gKyAgLy8v DQo+ICsgIEJPT0xFQU4gUmVtb3ZhYmxlTWVkaWE7DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8vLyBU UlVFIGlmIHRoZXJlIGlzIGEgbWVkaWEgY3VycmVudGx5IHByZXNlbnQgaW4gdGhlIGRldmljZTsN Cj4gKyAgLy8vIG90aGVyc2lzZSwgRkFMU0UuIFRIaXMgZmllbGQgc2hvd3MgdGhlIG1lZGlhIHBy ZXNlbnQgc3RhdHVzDQo+ICsgIC8vLyBhcyBvZiB0aGUgbW9zdCByZWNlbnQgUmVhZEJsb2Nrcygp IG9yIFdyaXRlQmxvY2tzKCkgY2FsbC4NCj4gKyAgLy8vDQo+ICsgIEJPT0xFQU4gTWVkaWFQcmVz ZW50Ow0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gVFJVRSBpZiBMQkEgMCBpcyB0aGUgZmlyc3Qg YmxvY2sgb2YgYSBwYXJ0aXRpb247IG90aGVyd2lzZQ0KPiArICAvLy8gRkFMU0UuIEZvciBtZWRp YSB3aXRoIG9ubHkgb25lIHBhcnRpdGlvbiB0aGlzIHdvdWxkIGJlIFRSVUUuDQo+ICsgIC8vLw0K PiArICBCT09MRUFOIExvZ2ljYWxQYXJ0aXRpb247DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8vLyBU UlVFIGlmIHRoZSBtZWRpYSBpcyBtYXJrZWQgcmVhZC1vbmx5IG90aGVyd2lzZSwgRkFMU0UuDQo+ ICsgIC8vLyBUaGlzIGZpZWxkIHNob3dzIHRoZSByZWFkLW9ubHkgc3RhdHVzIGFzIG9mIHRoZSBt b3N0IHJlY2VudCBXcml0ZUJsb2Nrcw0KPiAoKSBjYWxsLg0KPiArICAvLy8NCj4gKyAgQk9PTEVB TiBSZWFkT25seTsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8vIFRSVUUgaWYgdGhlIFdyaXRlQmxv Y2sgKCkgZnVuY3Rpb24gY2FjaGVzIHdyaXRlIGRhdGEuDQo+ICsgIC8vLw0KPiArICBCT09MRUFO IFdyaXRlQ2FjaGluZzsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8vIFRoZSBpbnRyaW5zaWMgYmxv Y2sgc2l6ZSBvZiB0aGUgZGV2aWNlLiBJZiB0aGUgbWVkaWEgY2hhbmdlcywgdGhlbg0KPiArICAv Ly8gdGhpcyBmaWVsZCBpcyB1cGRhdGVkLg0KPiArICAvLy8NCj4gKyAgVUlOVDMyICBCbG9ja1Np emU7DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8vLyBTdXBwbGllcyB0aGUgYWxpZ25tZW50IHJlcXVp cmVtZW50IGZvciBhbnkgYnVmZmVyIHRvIHJlYWQgb3Igd3JpdGUNCj4gYmxvY2socykuDQo+ICsg IC8vLw0KPiArICBVSU5UMzIgIElvQWxpZ247DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8vLyBUaGUg bGFzdCBsb2dpY2FsIGJsb2NrIGFkZHJlc3Mgb24gdGhlIGRldmljZS4NCj4gKyAgLy8vIElmIHRo ZSBtZWRpYSBjaGFuZ2VzLCB0aGVuIHRoaXMgZmllbGQgaXMgdXBkYXRlZC4NCj4gKyAgLy8vDQo+ ICsgIEVGSV9MQkEgTGFzdEJsb2NrOw0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gT25seSBwcmVz ZW50IGlmIEVGSV9CTE9DS19JT19QUk9UT0NPTC5SZXZpc2lvbiBpcyBncmVhdGVyIHRoYW4gb3IN Cj4gZXF1YWwgdG8NCj4gKyAgLy8vIEVGSV9CTE9DS19JT19QUk9UT0NPTF9SRVZJU0lPTjIuIFJl dHVybnMgdGhlIGZpcnN0IExCQSBpcyBhbGlnbmVkDQo+IHRvDQo+ICsgIC8vLyBhIHBoeXNpY2Fs IGJsb2NrIGJvdW5kYXJ5Lg0KPiArICAvLy8NCj4gKyAgRUZJX0xCQSBMb3dlc3RBbGlnbmVkTGJh Ow0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gT25seSBwcmVzZW50IGlmIEVGSV9CTE9DS19JT19Q Uk9UT0NPTC5SZXZpc2lvbiBpcyBncmVhdGVyIHRoYW4gb3INCj4gZXF1YWwgdG8NCj4gKyAgLy8v IEVGSV9CTE9DS19JT19QUk9UT0NPTF9SRVZJU0lPTjIuIFJldHVybnMgdGhlIG51bWJlciBvZiBs b2dpY2FsDQo+IGJsb2Nrcw0KPiArICAvLy8gcGVyIHBoeXNpY2FsIGJsb2NrLg0KPiArICAvLy8N Cj4gKyAgVUlOVDMyIExvZ2ljYWxCbG9ja3NQZXJQaHlzaWNhbEJsb2NrOw0KPiArDQo+ICsgIC8v Lw0KPiArICAvLy8gT25seSBwcmVzZW50IGlmIEVGSV9CTE9DS19JT19QUk9UT0NPTC5SZXZpc2lv biBpcyBncmVhdGVyIHRoYW4gb3INCj4gZXF1YWwgdG8NCj4gKyAgLy8vIEVGSV9CTE9DS19JT19Q Uk9UT0NPTF9SRVZJU0lPTjMuIFJldHVybnMgdGhlIG9wdGltYWwgdHJhbnNmZXINCj4gbGVuZ3Ro DQo+ICsgIC8vLyBncmFudWxhcml0eSBhcyBhIG51bWJlciBvZiBsb2dpY2FsIGJsb2Nrcy4NCj4g KyAgLy8vDQo+ICsgIFVJTlQzMiBPcHRpbWFsVHJhbnNmZXJMZW5ndGhHcmFudWxhcml0eTsNCj4g KyNpZmRlZiBFQ1BfRkxBRw0KPiArfSBQRUlfQkxPQ0tfSU9fTUVESUEyOw0KPiArI2Vsc2UNCj4g K30gUEVJX0JMT0NLX0lPX01FRElBOw0KPiArI2VuZGlmDQo+ICsjZGVmaW5lIEVGSV9CTE9DS19J T19QUk9UT0NPTF9SRVZJU0lPTiAgMHgwMDAxMDAwMA0KPiArI2RlZmluZSBFRklfQkxPQ0tfSU9f UFJPVE9DT0xfUkVWSVNJT04yIDB4MDAwMjAwMDENCj4gKyNkZWZpbmUgRUZJX0JMT0NLX0lPX1BS T1RPQ09MX1JFVklTSU9OMyAweDAwMDIwMDMxDQo+ICsNCj4gKy8vLw0KPiArLy8vIFJldmlzaW9u IGRlZmluZWQgaW4gRUZJMS4xLg0KPiArLy8vDQo+ICsjZGVmaW5lIEVGSV9CTE9DS19JT19JTlRF UkZBQ0VfUkVWSVNJT04NCj4gRUZJX0JMT0NLX0lPX1BST1RPQ09MX1JFVklTSU9ODQo+ICsNCj4g Ky8vLw0KPiArLy8vICBUaGlzIHByb3RvY29sIHByb3ZpZGVzIGNvbnRyb2wgb3ZlciBibG9jayBk ZXZpY2VzLg0KPiArLy8vDQo+ICtzdHJ1Y3QgX1BFSV9CTE9DS19JT19QUEkgew0KPiArICAvLy8N Cj4gKyAgLy8vIFRoZSByZXZpc2lvbiB0byB3aGljaCB0aGUgYmxvY2sgSU8gaW50ZXJmYWNlIGFk aGVyZXMuIEFsbCBmdXR1cmUNCj4gKyAgLy8vIHJldmlzaW9ucyBtdXN0IGJlIGJhY2t3YXJkcyBj b21wYXRpYmxlLiBJZiBhIGZ1dHVyZSB2ZXJzaW9uIGlzIG5vdA0KPiArICAvLy8gYmFjayB3YXJk cyBjb21wYXRpYmxlLCBpdCBpcyBub3QgdGhlIHNhbWUgR1VJRC4NCj4gKyAgLy8vDQo+ICsgIFVJ TlQ2NCAgICAgICAgICAgICAgUmV2aXNpb247DQo+ICsgIC8vLw0KPiArICAvLy8gUG9pbnRlciB0 byB0aGUgRUZJX0JMT0NLX0lPX01FRElBIGRhdGEgZm9yIHRoaXMgZGV2aWNlLg0KPiArICAvLy8N Cj4gKyAgUEVJX0JMT0NLX0lPX01FRElBICAqTWVkaWE7DQo+ICsgIFBFSV9CTE9DS19SRVNFVCAg ICAgUmVzZXQ7DQo+ICsgIFBFSV9CTE9DS19SRUFEICAgICAgUmVhZEJsb2NrczsNCj4gKyAgUEVJ X0JMT0NLX1dSSVRFICAgICBXcml0ZUJsb2NrczsNCj4gKyAgUEVJX0JMT0NLX0ZMVVNIICAgICBG bHVzaEJsb2NrczsNCj4gK307DQo+ICsNCj4gKy8vZXh0ZXJuIEVGSV9HVUlEIGdFZmlCbG9ja0lv UHJvdG9jb2xHdWlkOw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdQZWlCbG9ja0lvUHBpR3VpZDsNCj4g KyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBpL1NkaGMuaA0K PiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BwaS9TZGhjLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uNDkwOWQ4MTU3Mw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0K PiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1BwaS9TZGhjLmgNCj4gQEAgLTAsMCArMSwzNTkgQEANCj4g Ky8qKg0KPiArKiovDQo+ICsvKioNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4g KyAgQGZpbGUNCj4gKyAgU3BpLmgNCj4gKw0KPiArICBAYnJpZWYNCj4gKyAgVGhpcyBmaWxlIGRl ZmluZXMgdGhlIEVGSSBTUEkgUFBJIHdoaWNoIGltcGxlbWVudHMgdGhlDQo+ICsgIEludGVsKFIp IFBDSCBTUEkgSG9zdCBDb250cm9sbGVyIENvbXBhdGliaWxpdHkgSW50ZXJmYWNlLg0KPiArDQo+ ICsqKi8NCj4gKyNpZm5kZWYgX1BFSV9TREhDX0hfDQo+ICsjZGVmaW5lIF9QRUlfU0RIQ19IXw0K PiArDQo+ICsNCj4gKw0KPiArLy8NCj4gKyNkZWZpbmUgUEVJX1NESENfUFBJX0dVSUQgXA0KPiAr ICB7ICBcDQo+ICsgICAgMHhmNGVmOWQ3YSwgMHg5OGM1LCAweDRjMWEsIDB4YjQsIDB4ZDksIDB4 ZDgsIDB4ZDgsIDB4NzIsIDB4NjUsIDB4YmUsIDB4Yw0KPiBcDQo+ICsgIH0NCj4gK3R5cGVkZWYg c3RydWN0IF9QRUlfU0RfQ09OVFJPTExFUl9QUEkgUEVJX1NEX0NPTlRST0xMRVJfUFBJOw0KPiAr DQo+ICsjZGVmaW5lIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MX1JFVklTSU9OXzAxICAgICAgICAg IDB4MDENCj4gKw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgUmVzcG9uc2VObyA9IDAsDQo+ICsg IFJlc3BvbnNlUjEsDQo+ICsgIFJlc3BvbnNlUjFiLA0KPiArICBSZXNwb25zZVIyLA0KPiArICBS ZXNwb25zZVIzLA0KPiArICBSZXNwb25zZVI0LA0KPiArICBSZXNwb25zZVI1LA0KPiArICBSZXNw b25zZVI1YiwNCj4gKyAgUmVzcG9uc2VSNiwNCj4gKyAgUmVzcG9uc2VSNw0KPiArfSBSRVNQT05T RV9UWVBFOw0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBOb0RhdGEgPSAwLA0KPiArICBJ bkRhdGEsDQo+ICsgIE91dERhdGENCj4gK30gVFJBTlNGRVJfVFlQRTsNCj4gKw0KPiArdHlwZWRl ZiBlbnVtIHsNCj4gKyAgUmVzZXRfQXV0byA9IDAsDQo+ICsgIFJlc2V0X0RBVCwNCj4gKyAgUmVz ZXRfQ01ELA0KPiArICBSZXNldF9EQVRfQ01ELA0KPiArICBSZXNldF9BbGwNCj4gK30gUkVTRVRf VFlQRTsNCj4gKw0KPiArDQo+ICsNCj4gK3R5cGVkZWYgZW51bSB7DQo+ICsgIFNETUEgPSAwLA0K PiArICBBRE1BMiwNCj4gKyAgUElPDQo+ICt9IERNQV9NT0Q7DQo+ICsNCj4gK3R5cGVkZWYgc3Ry dWN0IHsNCj4gKyAgVUlOVDMyICBIaWdoU3BlZWRTdXBwb3J0OiAgICAxOyAgLy9IaWdoIHNwZWVk IHN1cHBvcnRlZA0KPiArICBVSU5UMzIgIFYxOFN1cHBvcnQ6ICAgICAgICAgIDE7ICAvLzEuOFYg c3VwcG9ydGVkDQo+ICsgIFVJTlQzMiAgVjMwU3VwcG9ydDogICAgICAgICAgMTsgIC8vMy4wViBz dXBwb3J0ZWQNCj4gKyAgVUlOVDMyICBWMzNTdXBwb3J0OiAgICAgICAgICAxOyAgLy8zLjNWIHN1 cHBvcnRlZA0KPiArICBVSU5UMzIgIFJlc2VydmVkMDogICAgICAgICAgIDQ7DQo+ICsgIFVJTlQz MiAgQnVzV2lkdGg0OiAgICAgICAgICAgMTsgIC8vIDQgYml0IHdpZHRoDQo+ICsgIFVJTlQzMiAg QnVzV2lkdGg4OiAgICAgICAgICAgMTsgIC8vIDggYml0IHdpZHRoDQo+ICsgIFVJTlQzMiAgUmVz ZXJ2ZWQxOiAgICAgICAgICAgNjsNCj4gKyAgVUlOVDMyICBTRE1BU3VwcG9ydDogICAgICAgICAx Ow0KPiArICBVSU5UMzIgIEFETUEyU3VwcG9ydDogICAgICAgIDE7DQo+ICsgIFVJTlQzMiAgRG1h TW9kZTogICAgICAgICAgICAgMjsNCj4gKyAgVUlOVDMyICBSZXNlcnZlZDI6ICAgICAgICAgICAx MjsNCj4gKyAgVUlOVDMyICBCb3VuZGFyeVNpemU7DQo+ICt9SE9TVF9DQVBBQklMSVRZOw0KPiAr DQo+ICsNCj4gKyNkZWZpbmUgUENJX1NVQkNMQVNTX1NEX0hPU1RfQ09OVFJPTExFUiAgIDB4MDUN Cj4gKyNkZWZpbmUgUENJX0lGX1NUQU5EQVJEX0hPU1RfTk9fRE1BICAgICAgIDB4MDANCj4gKyNk ZWZpbmUgUENJX0lGX1NUQU5EQVJEX0hPU1RfU1VQUE9SVF9ETUEgIDB4MDENCj4gKw0KPiArLy8N Cj4gKy8vTU1JTyBSZWdpc3RlcnMgZGVmaW5pdGlvbiBmb3IgTU1DL1NESU8gY29udHJvbGxlcg0K PiArLy8NCj4gKyNkZWZpbmUgIE1NSU9fRE1BQURSICAgICAgICAgICAgICAgICAgICAgMHgwMA0K PiArI2RlZmluZSAgTU1JT19CTEtTWiAgICAgICAgICAgICAgICAgICAgICAweDA0DQo+ICsjZGVm aW5lICBNTUlPX0JMS0NOVCAgICAgICAgICAgICAgICAgICAgIDB4MDYNCj4gKyNkZWZpbmUgIE1N SU9fQ01EQVJHICAgICAgICAgICAgICAgICAgICAgMHgwOA0KPiArI2RlZmluZSAgTU1JT19YRlJN T0RFICAgICAgICAgICAgICAgICAgICAweDBDDQo+ICsjZGVmaW5lICBNTUlPX1NEQ01EICAgICAg ICAgICAgICAgICAgICAgIDB4MEUNCj4gKyNkZWZpbmUgIE1NSU9fUkVTUCAgICAgICAgICAgICAg ICAgICAgICAgMHgxMA0KPiArI2RlZmluZSAgTU1JT19CVUZEQVRBICAgICAgICAgICAgICAgICAg ICAweDIwDQo+ICsjZGVmaW5lICBNTUlPX1BTVEFURSAgICAgICAgICAgICAgICAgICAgIDB4MjQN Cj4gKyNkZWZpbmUgIE1NSU9fSE9TVENUTCAgICAgICAgICAgICAgICAgICAgMHgyOA0KPiArI2Rl ZmluZSAgTU1JT19QV1JDVEwgICAgICAgICAgICAgICAgICAgICAweDI5DQo+ICsjZGVmaW5lICBN TUlPX0JMS0dBUENUTCAgICAgICAgICAgICAgICAgIDB4MkENCj4gKyNkZWZpbmUgIE1NSU9fV0FL RUNUTCAgICAgICAgICAgICAgICAgICAgMHgyQg0KPiArI2RlZmluZSAgTU1JT19DTEtDVEwgICAg ICAgICAgICAgICAgICAgICAweDJDDQo+ICsjZGVmaW5lICBNTUlPX1RPQ1RMICAgICAgICAgICAg ICAgICAgICAgIDB4MkUNCj4gKyNkZWZpbmUgIE1NSU9fU1dSU1QgICAgICAgICAgICAgICAgICAg ICAgMHgyRg0KPiArI2RlZmluZSAgTU1JT19OSU5UU1RTICAgICAgICAgICAgICAgICAgICAweDMw DQo+ICsjZGVmaW5lICBNTUlPX0VSSU5UU1RTICAgICAgICAgICAgICAgICAgIDB4MzINCj4gKyNk ZWZpbmUgIE1NSU9fTklOVEVOICAgICAgICAgICAgICAgICAgICAgMHgzNA0KPiArI2RlZmluZSAg TU1JT19FUklOVEVOICAgICAgICAgICAgICAgICAgICAweDM2DQo+ICsjZGVmaW5lICBNTUlPX05J TlRTSUdFTiAgICAgICAgICAgICAgICAgIDB4MzgNCj4gKyNkZWZpbmUgIE1NSU9fRVJJTlRTSUdF TiAgICAgICAgICAgICAgICAgMHgzQQ0KPiArI2RlZmluZSAgTU1JT19BQzEyRVJSU1RTICAgICAg ICAgICAgICAgICAweDNDDQo+ICsjZGVmaW5lICBNTUlPX0hPU1RfQ1RMMiAgICAgICAgICAgICAg ICAgIDB4M0UgLy9ocGhhbmcgPC0gTmV3IGluIFZMVjINCj4gKyNkZWZpbmUgIE1NSU9fQ0FQICAg ICAgICAgICAgICAgICAgICAgICAgMHg0MA0KPiArI2RlZmluZSAgTU1JT19DQVAyICAgICAgICAg ICAgICAgICAgICAgICAweDQ0IC8vaHBoYW5nIDwtIE5ldyBpbiBWTFYyDQo+ICsjZGVmaW5lICBN TUlPX01DQ0FQICAgICAgICAgICAgICAgICAgICAgIDB4NDgNCj4gKyNkZWZpbmUgIE1NSU9fRk9S Q0VFVkVOVENNRDEyRVJSU1RBVCAgICAgMHg1MCAvL2hwaGFuZyA8LSBOZXcgaW4NCj4gVkxWMg0K PiArI2RlZmluZSAgTU1JT19GT1JDRUVWRU5URVJSSU5UU1RBVCAgICAgICAweDUyIC8vaHBoYW5n IDwtIE5ldyBpbiBWTFYyDQo+ICsjZGVmaW5lICBNTUlPX0FETUFFUlJTVEFUICAgICAgICAgICAg ICAgIDB4NTQgLy9ocGhhbmcgPC0gTmV3IGluIFZMVjINCj4gKyNkZWZpbmUgIE1NSU9fQURNQVNZ U0FERFIgICAgICAgICAgICAgICAgMHg1OCAvL2hwaGFuZyA8LSBOZXcgaW4gVkxWMg0KPiArI2Rl ZmluZSAgTU1JT19QUkVTRVRWQUxVRTAgICAgICAgICAgICAgICAweDYwIC8vaHBoYW5nIDwtIE5l dyBpbiBWTFYyDQo+ICsjZGVmaW5lICBNTUlPX1BSRVNFVFZBTFVFMSAgICAgICAgICAgICAgIDB4 NjQgLy9ocGhhbmcgPC0gTmV3IGluIFZMVjINCj4gKyNkZWZpbmUgIE1NSU9fUFJFU0VUVkFMVUUy ICAgICAgICAgICAgICAgMHg2OCAvL2hwaGFuZyA8LSBOZXcgaW4gVkxWMg0KPiArI2RlZmluZSAg TU1JT19QUkVTRVRWQUxVRTMgICAgICAgICAgICAgICAweDZDIC8vaHBoYW5nIDwtIE5ldyBpbiBW TFYyDQo+ICsjZGVmaW5lICBNTUlPX0JPT1RUSU1FT1VUQ1RSTCAgICAgICAgICAgIDB4NzAgLy9o cGhhbmcgPC0gTmV3IGluIFZMVjINCj4gKyNkZWZpbmUgIE1NSU9fREVCVUdTRUwgICAgICAgICAg ICAgICAgICAgMHg3NCAvL2hwaGFuZyA8LSBOZXcgaW4gVkxWMg0KPiArI2RlZmluZSAgTU1JT19T SEFSRURCVVMgICAgICAgICAgICAgICAgICAweEUwIC8vaHBoYW5nIDwtIE5ldyBpbiBWTFYyDQo+ ICsjZGVmaW5lICBNTUlPX1NQSUlOVFNVUCAgICAgICAgICAgICAgICAgIDB4RjAgLy9ocGhhbmcg PC0gTmV3IGluIFZMVjINCj4gKyNkZWZpbmUgIE1NSU9fU0xUSU5UU1RTICAgICAgICAgICAgICAg ICAgMHhGQw0KPiArI2RlZmluZSAgTU1JT19DVFJMUlZFUiAgICAgICAgICAgICAgICAgICAweEZF DQo+ICsjZGVmaW5lICBNTUlPX1NSU1QgICAgICAgICAgICAgICAgICAgICAgIDB4MUZDDQo+ICsN Cj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TRF9DT05UUk9MTEVS X1BQSV9TRU5EX0NPTU1BTkQpICgNCj4gKyAgSU4gIFBFSV9TRF9DT05UUk9MTEVSX1BQSSAgICAg ICAqVGhpcywNCj4gKyAgSU4gICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICBDb21tYW5kSW5k ZXgsDQo+ICsgIElOICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgQXJndW1lbnQsDQo+ICsg IElOICAgVFJBTlNGRVJfVFlQRSAgICAgICAgICAgICAgRGF0YVR5cGUsDQo+ICsgIElOICAgVUlO VDggICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlciwgT1BUSU9OQUwNCj4gKyAgSU4gICBVSU5U MzIgICAgICAgICAgICAgICAgICAgICBCdWZmZXJTaXplLA0KPiArICBJTiAgIFJFU1BPTlNFX1RZ UEUgICAgICAgICAgICAgIFJlc3BvbnNlVHlwZSwNCj4gKyAgSU4gICBVSU5UMzIgICAgICAgICAg ICAgICAgICAgICBUaW1lT3V0LA0KPiArICBPVVQgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAg ICpSZXNwb25zZURhdGEgT1BUSU9OQUwNCj4gKyAgKTsNCj4gKw0KPiArLyorKw0KPiArDQo+ICsg IFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAgU2V0IG1heCBjbG9jayBmcmVxdWVuY3kgb2Yg dGhlIGhvc3QsIHRoZSBhY3R1YWwgZnJlcXVlbmN5DQo+ICsgICAgbWF5IG5vdCBiZSB0aGUgc2Ft ZSBhcyBNYXhGcmVxdWVuY3kuIEl0IGRlcGVuZHMgb24NCj4gKyAgICB0aGUgbWF4IGZyZXF1ZW5j eSB0aGUgaG9zdCBjYW4gc3VwcG9ydCwgZGl2aWRlciwgYW5kIGhvc3QNCj4gKyAgICBzcGVlZCBt b2RlLg0KPiArDQo+ICsgIEFyZ3VtZW50czoNCj4gKyAgICBUaGlzICAgICAgICAgICAtIFBvaW50 ZXIgdG8gRUZJX1NEX0hPU1RfSU9fUFJPVE9DT0wNCj4gKyAgICBNYXhGcmVxdWVuY3kgICAtIE1h eCBmcmVxdWVuY3kgaW4gSFoNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNT DQo+ICsgICAgRUZJX1RJTUVPVVQNCj4gKy0tKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMN Cj4gKyhFRklBUEkgKkVGSV9TRF9DT05UUk9MTEVSX1BQSV9TRVRfQ0xPQ0tfRlJFUVVFTkNZKSAo DQo+ICsgIElOICBQRUlfU0RfQ09OVFJPTExFUl9QUEkgICAgICAqVGhpcywNCj4gKyAgSU4gIFVJ TlQzMiAgICAgICAgICAgICAgICAgICAgIE1heEZyZXF1ZW5jeQ0KPiArICApOw0KPiArDQo+ICsv KisrDQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoNCj4gKyAgICBTZXQgYnVzIHdpZHRo IG9mIHRoZSBob3N0DQo+ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIFRoaXMgICAgICAgLSBQ b2ludGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ICsgICAgQnVzV2lkdGggICAtIEJ1 cyB3aWR0aCBpbiAxLCA0LCA4IGJpdHMNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9T VUNDRVNTDQo+ICsgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSDQo+ICsNCj4gKy0tKi8NCj4gK3R5 cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TRF9DT05UUk9MTEVSX1BQSV9T RVRfQlVTX1dJRFRIKSAoDQo+ICsgIElOICBQRUlfU0RfQ09OVFJPTExFUl9QUEkgICAgICAqVGhp cywNCj4gKyAgSU4gIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgIEJ1c1dpZHRoDQo+ICsgICk7 DQo+ICsNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiArICAgIFNl dCBIb3N0IG1vZGUgaW4gRERSDQo+ICsgIEFyZ3VtZW50czoNCj4gKyAgICBUaGlzICAgICAgLSBQ b2ludGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ICsgICAgU2V0SG9zdERkck1vZGUg ICAtIFRydWUgZm9yIEREUiBNb2RlIHNldCwgZmFsc2UgZm9yIG5vcm1hbCBtb2RlDQo+ICsNCj4g KyAgUmV0dXJuczoNCj4gKyAgICBFRklfU1VDQ0VTUw0KPiArICAgIEVGSV9JTlZBTElEX1BBUkFN RVRFUg0KPiArDQo+ICstLSovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJ ICpFRklfU0RfSE9TVF9JT19QUk9UT0NPTF9TRVRfSE9TVF9ERFJfTU9ERSkgKA0KPiArICBJTiAg UEVJX1NEX0NPTlRST0xMRVJfUFBJICAgICpUaGlzLA0KPiArICBJTiAgVUlOVDMyICAgICAgICAg ICAgICAgICAgICAgRGRyTW9kZQ0KPiArICApOw0KPiArDQo+ICsvKisrDQo+ICsNCj4gKyAgUm91 dGluZSBEZXNjcmlwdGlvbjoNCj4gKyAgICBTZXQgdm9sdGFnZSB3aGljaCBjb3VsZCBzdXBwb3J0 ZWQgYnkgdGhlIGhvc3QuDQo+ICsgICAgU3VwcG9ydCAwKFBvd2VyIG9mZiB0aGUgaG9zdCksIDEu OFYsIDMuMFYsIDMuM1YNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIFRoaXMgICAgICAtIFBvaW50 ZXIgdG8gRUZJX1NEX0hPU1RfSU9fUFJPVE9DT0wNCj4gKyAgICBWb2x0YWdlICAgLSBVbml0cyBp biAwLjEgVg0KPiArDQo+ICsgIFJldHVybnM6DQo+ICsgICAgRUZJX1NVQ0NFU1MNCj4gKyAgICBF RklfSU5WQUxJRF9QQVJBTUVURVINCj4gKw0KPiArLS0qLw0KPiArdHlwZWRlZg0KPiArRUZJX1NU QVRVUw0KPiArKEVGSUFQSSAqRUZJX1NEX0NPTlRST0xMRVJfUFBJX1NFVF9IT1NUX1ZPTFRBR0Up ICgNCj4gKyAgSU4gIFBFSV9TRF9DT05UUk9MTEVSX1BQSSAgICAgICpUaGlzLA0KPiArICBJTiAg VUlOVDMyICAgICAgICAgICAgICAgICAgICAgVm9sdGFnZQ0KPiArICApOw0KPiArDQo+ICsvKisr DQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoNCj4gKyAgIFJlc2V0IHRoZSBob3N0DQo+ ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIFRoaXMgICAgICAtIFBvaW50ZXIgdG8gRUZJX1NE X0hPU1RfSU9fUFJPVE9DT0wNCj4gKyAgICBSZXNldEFsbCAgLSBUUlVFIHRvIHJlc2V0IGFsbA0K PiArDQo+ICsgIFJldHVybnM6DQo+ICsgICAgRUZJX1NVQ0NFU1MNCj4gKyAgICBFRklfVElNRU9V VA0KPiArDQo+ICstLSovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpF RklfU0RfQ09OVFJPTExFUl9QUElfUkVTRVRfU0RfSE9TVCkgKA0KPiArICBJTiAgUEVJX1NEX0NP TlRST0xMRVJfUFBJICAgICAgKlRoaXMsDQo+ICsgIElOICBSRVNFVF9UWVBFICAgICAgICAgICAg ICAgICBSZXNldFR5cGUNCj4gKyAgKTsNCj4gKw0KPiArLyorKw0KPiArDQo+ICsgIFJvdXRpbmUg RGVzY3JpcHRpb246DQo+ICsgICBSZXNldCB0aGUgaG9zdA0KPiArDQo+ICsgIEFyZ3VtZW50czoN Cj4gKyAgICBUaGlzICAgIC0gUG9pbnRlciB0byBFRklfU0RfSE9TVF9JT19QUk9UT0NPTA0KPiAr ICAgIEVuYWJsZSAgLSBUUlVFIHRvIGVuYWJsZSwgRkFMU0UgdG8gZGlzYWJsZQ0KPiArDQo+ICsg IFJldHVybnM6DQo+ICsgICAgRUZJX1NVQ0NFU1MNCj4gKyAgICBFRklfVElNRU9VVA0KPiArDQo+ ICstLSovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfU0RfQ09O VFJPTExFUl9QUElfRU5BQkxFX0FVVE9fU1RPUF9DTUQpICgNCj4gKyAgSU4gIFBFSV9TRF9DT05U Uk9MTEVSX1BQSSAgICAgICpUaGlzLA0KPiArICBJTiAgQk9PTEVBTiAgICAgICAgICAgICAgICAg ICAgRW5hYmxlDQo+ICsgICk7DQo+ICsNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERlc2Ny aXB0aW9uOg0KPiArICAgIEZpbmQgd2hldGhlciB0aGVzZSBpcyBhIGNhcmQgaW5zZXJ0ZWQgaW50 byB0aGUgc2xvdC4gSWYgc28NCj4gKyAgICBpbml0IHRoZSBob3N0LiBJZiBub3QsIHJldHVybiBF RklfTk9UX0ZPVU5ELg0KPiArDQo+ICsgIEFyZ3VtZW50czoNCj4gKyAgICBUaGlzICAgICAgLSBQ b2ludGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ICsNCj4gKyAgUmV0dXJuczoNCj4g KyAgICBFRklfU1VDQ0VTUw0KPiArICAgIEVGSV9OT1RfRk9VTkQNCj4gKw0KPiArLS0qLw0KPiAr dHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1NEX0NPTlRST0xMRVJfUFBJ X0RFVEVDVF9DQVJEX0FORF9JTklUX0hPU1QpICgNCj4gKyAgSU4gIFBFSV9TRF9DT05UUk9MTEVS X1BQSSAgICAgICpUaGlzDQo+ICsgICk7DQo+ICsNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5l IERlc2NyaXB0aW9uOg0KPiArICAgU2V0IHRoZSBCbG9jayBsZW5ndGgNCj4gKw0KPiArICBBcmd1 bWVudHM6DQo+ICsgICAgVGhpcyAgICAgICAgLSBQb2ludGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BS T1RPQ09MDQo+ICsgICAgQmxvY2tMZW5ndGggLSBjYXJkIHN1cHBvcnRlcyBibG9jayBsZW5ndGgN Cj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNTDQo+ICsgICAgRUZJX1RJTUVP VVQNCj4gKw0KPiArLS0qLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAq RUZJX1NEX0NPTlRST0xMRVJfUFBJX1NFVF9CTE9DS19MRU5HVEgpICgNCj4gKyAgSU4gIFBFSV9T RF9DT05UUk9MTEVSX1BQSSAgICAgICpUaGlzLA0KPiArICBJTiAgVUlOVDMyICAgICAgICAgICAg ICAgICAgICAgQmxvY2tMZW5ndGgNCj4gKyAgKTsNCj4gKw0KPiArLyorKw0KPiArDQo+ICsgIFJv dXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICBTZXQgdGhlIEJsb2NrIGxlbmd0aA0KPiArDQo+ICsg IEFyZ3VtZW50czoNCj4gKyAgICBUaGlzICAgICAgICAtIFBvaW50ZXIgdG8gRUZJX1NEX0hPU1Rf SU9fUFJPVE9DT0wNCj4gKyAgICBCbG9ja0xlbmd0aCAtIGNhcmQgc3VwcG9ydGVzIGJsb2NrIGxl bmd0aA0KPiArDQo+ICsgIFJldHVybnM6DQo+ICsgICAgRUZJX1NVQ0NFU1MNCj4gKyAgICBFRklf VElNRU9VVA0KPiArDQo+ICstLSovDQo+ICsNCj4gK3R5cGVkZWYgRUZJX1NUQVRVUw0KPiArKEVG SUFQSSAqRUZJX1NEX0NPTlRST0xMRVJfUFBJX1NFVFVQX0RFVklDRSkoDQo+ICsgIElOICBQRUlf U0RfQ09OVFJPTExFUl9QUEkgICAgKlRoaXMNCj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8vIElu dGVyZmFjZSBzdHJ1Y3R1cmUgZm9yIHRoZSBFRkkgU0QgSG9zdCBJL08gUHJvdG9jb2wNCj4gKy8v DQo+ICtzdHJ1Y3QgX1BFSV9TRF9DT05UUk9MTEVSX1BQSSB7DQo+ICsgIFVJTlQzMiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZpc2lvbjsNCj4gKyAgSE9TVF9D QVBBQklMSVRZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvc3RDYXBhYmlsaXR5 Ow0KPiArICBFRklfU0RfQ09OVFJPTExFUl9QUElfU0VORF9DT01NQU5EICAgICAgICAgICAgICAg U2VuZENvbW1hbmQ7DQo+ICsgIEVGSV9TRF9DT05UUk9MTEVSX1BQSV9TRVRfQ0xPQ0tfRlJFUVVF TkNZDQo+IFNldENsb2NrRnJlcXVlbmN5Ow0KPiArICBFRklfU0RfQ09OVFJPTExFUl9QUElfU0VU X0JVU19XSURUSCAgICAgICAgICAgICAgU2V0QnVzV2lkdGg7DQo+ICsgIEVGSV9TRF9DT05UUk9M TEVSX1BQSV9TRVRfSE9TVF9WT0xUQUdFICAgICAgICAgICBTZXRIb3N0Vm9sdGFnZTsNCj4gKyAg RUZJX1NEX0hPU1RfSU9fUFJPVE9DT0xfU0VUX0hPU1RfRERSX01PREUNCj4gU2V0SG9zdERkck1v ZGU7DQo+ICsgIEVGSV9TRF9DT05UUk9MTEVSX1BQSV9SRVNFVF9TRF9IT1NUICAgICAgICAgICAg ICBSZXNldFNkSG9zdDsNCj4gKyAgRUZJX1NEX0NPTlRST0xMRVJfUFBJX0VOQUJMRV9BVVRPX1NU T1BfQ01EDQo+IEVuYWJsZUF1dG9TdG9wQ21kOw0KPiArICBFRklfU0RfQ09OVFJPTExFUl9QUElf REVURUNUX0NBUkRfQU5EX0lOSVRfSE9TVA0KPiBEZXRlY3RDYXJkQW5kSW5pdEhvc3Q7DQo+ICsg IEVGSV9TRF9DT05UUk9MTEVSX1BQSV9TRVRfQkxPQ0tfTEVOR1RIICAgICAgICAgICBTZXRCbG9j a0xlbmd0aDsNCj4gKyAgRUZJX1NEX0NPTlRST0xMRVJfUFBJX1NFVFVQX0RFVklDRSAgICAgICAg ICAgICAgIFNldHVwRGV2aWNlOw0KPiArfTsNCj4gKy8vIEV4dGVybiB0aGUgR1VJRCBmb3IgUFBJ IHVzZXJzLg0KPiArLy8NCj4gK2V4dGVybiBFRklfR1VJRCAgICAgICAgICAgZ1BlaVNkaGNQcGlH dWlkOw0KPiArDQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVk DQo+IGUvUHBpL1NtYnVzUG9saWN5LmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZD b2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvU21idXNQ b2xpY3kuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zZjQ4 MTQyMTM4DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2 aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHBp L1NtYnVzUG9saWN5LmgNCj4gQEAgLTAsMCArMSw0MCBAQA0KPiArLy8NCj4gKy8vDQo+ICsNCj4g Ky8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBTbWJ1c1BvbGljeS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFNt YnVzIFBvbGljeSBQUEkgYXMgZGVmaW5lZCBpbiBFRkkgMi4wDQo+ICsNCj4gKy0tKi8NCj4gKyNp Zm5kZWYgX1BFSV9TTUJVU19QT0xJQ1lfUFBJX0gNCj4gKyNkZWZpbmUgX1BFSV9TTUJVU19QT0xJ Q1lfUFBJX0gNCj4gKw0KPiArI2RlZmluZSBQRUlfU01CVVNfUE9MSUNZX1BQSV9HVUlEIFwNCj4g KyAgeyBcDQo+ICsgICAgMHg2M2I2ZTQzNSwgMHgzMmJjLCAweDQ5YzYsIDB4ODEsIDB4YmQsIDB4 YjcsIDB4YTEsIDB4YTAsIDB4ZmUsIDB4MWEsIDB4NmMNCj4gXA0KPiArICB9DQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IF9QRUlfU01CVVNfUE9MSUNZX1BQSSBQRUlfU01CVVNfUE9MSUNZX1BQSTsN Cj4gKw0KPiArc3RydWN0IF9QRUlfU01CVVNfUE9MSUNZX1BQSSB7DQo+ICsgIFVJTlROICAgQmFz ZUFkZHJlc3M7DQo+ICsgIFVJTlQzMiAgUGNpQWRkcmVzczsNCj4gKyAgVUlOVDggICBOdW1Sc3Zk QWRkcmVzczsNCj4gKyAgVUlOVDggICAqUnN2ZEFkZHJlc3M7DQo+ICt9Ow0KPiArDQo+ICtleHRl cm4gRUZJX0dVSUQgZ1BlaVNtYnVzUG9saWN5UHBpR3VpZDsNCj4gKw0KPiArI2VuZGlmDQo+IGRp ZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZp ZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9QcGkvU3BpLmgNCj4gYi9TaWxpY29uL0lu dGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNs dWQNCj4gZS9QcGkvU3BpLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uMzQ5NmY1OWQxZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1 ZA0KPiBlL1BwaS9TcGkuaA0KPiBAQCAtMCwwICsxLDQyIEBADQo+ICsvKioNCj4gKyoqLw0KPiAr LyoqDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICsgIEBmaWxlDQo+ICsgIFNw aS5oDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBFRkkgU1BJ IFBQSSB3aGljaCBpbXBsZW1lbnRzIHRoZQ0KPiArICBJbnRlbChSKSBQQ0ggU1BJIEhvc3QgQ29u dHJvbGxlciBDb21wYXRpYmlsaXR5IEludGVyZmFjZS4NCj4gKw0KPiArKiovDQo+ICsjaWZuZGVm IF9QRUlfU1BJX0hfDQo+ICsjZGVmaW5lIF9QRUlfU1BJX0hfDQo+ICsNCj4gKw0KPiArI2luY2x1 ZGUgPFByb3RvY29sL1NwaS5oPg0KPiArDQo+ICsNCj4gKy8vDQo+ICsjZGVmaW5lIFBFSV9TUElf UFBJX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweGEzOGM2ODk4LCAweDJiNWMsIDB4NGZmNiwg MHg5MywgMHgyNiwgMHgyZSwgMHg2MywgMHgyMSwgMHgyZSwgMHg1NiwgMHhjMg0KPiBcDQo+ICsg IH0NCj4gKy8vIEV4dGVybiB0aGUgR1VJRCBmb3IgUFBJIHVzZXJzLg0KPiArLy8NCj4gK2V4dGVy biBFRklfR1VJRCAgICAgICAgICAgZ1BlaVNwaVBwaUd1aWQ7DQo+ICsNCj4gKy8vLw0KPiArLy8v IFJldXNlIHRoZSBFRklfU1BJX1BST1RPQ09MIGRlZmluaXRpb25zDQo+ICsvLy8gVGhpcyBpcyBw b3NzaWJsZSBiZWNhdWVzIHRoZSBQUEkgaW1wbGVtZW50YXRpb24gZG9lcyBub3QgcmVseSBvbiBh DQo+IFBlaVNlcnZpY2UgcG9pbnRlciwNCj4gKy8vLyBhcyBpdCB1c2VzIEVES0lJIEdsdWUgTGli IHRvIGRvIElPIGFjY2Vzc2VzDQo+ICsvLy8NCj4gK3R5cGVkZWYgRUZJX1NQSV9QUk9UT0NPTCAg UEVJX1NQSV9QUEk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5j bHVkDQo+IGUvUHJvdG9jb2wvQWN0aXZlQmlvcy5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2 aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJv dG9jb2wvQWN0aXZlQmlvcy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjRiZDA1MjM0NDUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0lu dGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNs dWQNCj4gZS9Qcm90b2NvbC9BY3RpdmVCaW9zLmgNCj4gQEAgLTAsMCArMSwxMjMgQEANCj4gKy8q Kg0KPiArKiovDQo+ICsvKioNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTQsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gKyAg QGZpbGUNCj4gKyAgQWN0aXZlQmlvcy5oDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFRoaXMgcHJv dG9jb2wgaXMgdXNlZCB0byByZXBvcnQgYW5kIGNvbnRyb2wgd2hhdCBCSU9TIGlzIG1hcHBlZCB0 byB0aGUNCj4gKyAgQklPUyBhZGRyZXNzIHNwYWNlIGFuY2hvcmVkIGF0IDRHQiBib3VuZGFyeS4N Cj4gKw0KPiArICBUaGlzIHByb3RvY29sIGlzIEVGSSBjb21wYXRpYmxlLg0KPiArDQo+ICsgIEUu Ry4gRm9yIGN1cnJlbnQgZ2VuZXJhdGlvbiBJQ0gsIHRoZSA0R0ItMTZNQiB0byA0R0IgcmFuZ2Ug Y2FuIGJlDQo+IG1hcHBlZA0KPiArICB0byBQQ0ksIFNQSSwgb3IgRldILg0KPiArDQo+ICsqKi8N Cj4gKyNpZm5kZWYgX0VGSV9BQ1RJVkVfQklPU19QUk9UT0NPTF9IXw0KPiArI2RlZmluZSBfRUZJ X0FDVElWRV9CSU9TX1BST1RPQ09MX0hfDQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gKy8vDQo+ICsj ZGVmaW5lIEVGSV9BQ1RJVkVfQklPU19QUk9UT0NPTF9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAg MHhlYmJlMmQxYiwgMHgxNjQ3LCAweDRiZGEsIDB4YWIsIDB4OWEsIDB4NzgsIDB4NjMsIDB4ZTMs IDB4OTYsIDB4ZDQsDQo+IDB4MWEgXA0KPiArICB9DQo+ICtleHRlcm4gRUZJX0dVSUQgICAgICAg ICAgICAgICAgICAgICAgICAgICBnRWZpQWN0aXZlQmlvc1Byb3RvY29sR3VpZDsNCj4gKw0KPiAr Ly8vDQo+ICsvLy8gRm9yd2FyZCByZWZlcmVuY2UgZm9yIEFOU0kgQyBjb21wYXRpYmlsaXR5DQo+ ICsvLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9FRklfQUNUSVZFX0JJT1NfUFJPVE9DT0wNCj4gRUZJ X0FDVElWRV9CSU9TX1BST1RPQ09MOw0KPiArDQo+ICsvLy8NCj4gKy8vLyBQcm90b2NvbCBkZWZp bml0aW9ucw0KPiArLy8vDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBBY3RpdmVCaW9zU3RhdGVT cGksDQo+ICsgIEFjdGl2ZUJpb3NTdGF0ZVBjaSwgICAvLy8gT2Jzb2xldGUgc2luY2UgVkxWDQo+ ICsgIEFjdGl2ZUJpb3NTdGF0ZUxwYywNCj4gKyAgQWN0aXZlQmlvc1N0YXRlTWF4DQo+ICt9IEVG SV9BQ1RJVkVfQklPU19TVEFURTsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiAr KEVGSUFQSSAqRUZJX0FDVElWRV9CSU9TX1NFVF9BQ1RJVkVfQklPU19TVEFURSkgKA0KPiArICBJ TiBFRklfQUNUSVZFX0JJT1NfUFJPVE9DT0wgICAgICogVGhpcywNCj4gKyAgSU4gRUZJX0FDVElW RV9CSU9TX1NUQVRFICAgICAgICBEZXNpcmVkU3RhdGUsDQo+ICsgIElOIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgS2V5DQo+ICsgICkNCj4gKy8qKg0KPiArDQo+ICsgIEBicmllZg0KPiAr ICBDaGFuZ2UgdGhlIGN1cnJlbnQgYWN0aXZlIEJJT1Mgc2V0dGluZ3MgdG8gdGhlIHJlcXVlc3Rl ZCBzdGF0ZS4NCj4gKyAgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgcmVxdWVzdGluZyBh IHN1cHBvcnRlZCBzdGF0ZSBmcm9tDQo+ICsgIHRoZSBFRklfQUNUSVZFX0JJT1NfU1RBVEUgc2Vs ZWN0aW9ucy4NCj4gKyAgVGhpcyB3aWxsIGZhaWwgaWYgc29tZW9uZSBoYXMgbG9ja2VkIHRoZSBp bnRlcmZhY2UgYW5kIHRoZSBjb3JyZWN0IGtleSBpcw0KPiArICBub3QgcHJvdmlkZWQuDQo+ICsN Cj4gKyAgQHBhcmFtW2luXSBUaGlzICAgICAgICAgICAgICAgICBQb2ludGVyIHRvIHRoZSBFRklf QUNUSVZFX0JJT1NfUFJPVE9DT0wNCj4gaW5zdGFuY2UuDQo+ICsgIEBwYXJhbVtpbl0gRGVzaXJl ZFN0YXRlICAgICAgICAgVGhlIHJlcXVlc3RlZCBzdGF0ZSB0byBjb25maWd1cmUgdGhlIHN5c3Rl bQ0KPiBmb3IuDQo+ICsgIEBwYXJhbVtpbl0gS2V5ICAgICAgICAgICAgICAgICAgSWYgdGhlIGlu dGVyZmFjZSBpcyBsb2NrZWQsIEtleSBtdXN0IGJlIHRoZSBLZXkNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXR1cm5lZCBmcm9tIHRoZSBMb2NrU3RhdGUgZnVuY3Rpb24g Y2FsbC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgIFRoZSBmdW5j dGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5DQo+ICsgIEByZXR2YWwgRUZJX0FDQ0VTU19ERU5J RUQgICAgICAgVGhlIGludGVyZmFjZSBpcyBjdXJyZW50bHkgbG9ja2VkLg0KPiArDQo+ICsqKi8N Cj4gKzsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX0FD VElWRV9CSU9TX0xPQ0tfQUNUSVZFX0JJT1NfU1RBVEUpICgNCj4gKyAgSU4gICAgIEVGSV9BQ1RJ VkVfQklPU19QUk9UT0NPTCAgICogVGhpcywNCj4gKyAgSU4gICAgIEJPT0xFQU4gICAgICAgICAg ICAgICAgICAgIExvY2ssDQo+ICsgIElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAq S2V5DQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIEBicmllZg0KPiArICBMb2NrIHRo ZSBjdXJyZW50IGFjdGl2ZSBCSU9TIHN0YXRlIGZyb20gZnVydGhlciBjaGFuZ2VzLiAgVGhpcyBh bGxvd3MgYQ0KPiArICBjYWxsZXIgdG8gaW1wbGVtZW50IGEgY3JpdGljYWwgc2VjdGlvbi4gIFRo aXMgaXMgb3B0aW9uYWxseSBzdXBwb3J0ZWQNCj4gKyAgZnVuY3Rpb25hbGl0eS4gIFNpemUgY29u c2Npb3VzIGltcGxlbWVudGF0aW9ucyBtYXkgY2hvb3NlIHRvIHJlcXVpcmUNCj4gKyAgY2FsbGVy cyBjb29wZXJhdGUgd2l0aG91dCBzdXBwb3J0IGZyb20gdGhpcyBwcm90b2NvbC4NCj4gKw0KPiAr ICBAcGFyYW1baW5dIFRoaXMgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gdGhlIEVGSV9BQ1RJ VkVfQklPU19QUk9UT0NPTA0KPiBpbnN0YW5jZS4NCj4gKyAgQHBhcmFtW2luXSBMb2NrICAgICAg ICAgICAgICAgICBUUlVFIHRvIGxvY2sgdGhlIGN1cnJlbnQgc3RhdGUsIEZBTFNFIHRvIHVubG9j ay4NCj4gKyAgQHBhcmFtW2luXSBLZXkgICAgICAgICAgICAgICAgICBJZiBMb2NrIGlzIFRSVUUs IHRoZW4gYSBrZXkgd2lsbCBiZSByZXR1cm5lZC4gIElmDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTG9jayBpcyBGQUxTRSwgdGhlIGtleSByZXR1cm5lZCBmcm9tIHRoZSBw cmlvciBjYWxsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbG9jayB0 aGUgcHJvdG9jb2wgbXVzdCBiZSBwcm92aWRlZCB0byB1bmxvY2sgdGhlDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcHJvdG9jb2wuICBUaGUgdmFsdWUgb2YgS2V5IGlzIHVu ZGVmaW5lZCBleGNlcHQgdGhhdA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGl0IGNhbm5vdCBiZSAwLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAg ICAgQ29tbWFuZCBzdWNjZWVkLg0KPiArICBAZXhjZXB0aW9uIEVGSV9VTlNVUFBPUlRFRCAgICAg IFRoZSBmdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkLg0KPiArICBAcmV0dmFsIEVGSV9BQ0NFU1Nf REVOSUVEICAgICAgIFRoZSBpbnRlcmZhY2UgaXMgY3VycmVudGx5IGxvY2tlZC4NCj4gKyAgQHJl dHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgICBEZXZpY2UgZXJyb3IsIGNvbW1hbmQgYWJvcnRz IGFibm9ybWFsbHkuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsvLy8NCj4gKy8vLyBQcm90b2NvbCBk ZWZpbml0aW9uDQo+ICsvLy8NCj4gKy8vLyBOb3RlIHRoYXQgc29tZSBmdW5jdGlvbnMgYXJlIG9w dGlvbmFsLiAgVGhpcyBtZWFucyB0aGF0IHRoZXkgbWF5IGJlDQo+IE5VTEwuDQo+ICsvLy8gQ2Fs bGVyIGlzIHJlcXVpcmVkIHRvIHZlcmlmeSB0aGF0IGFuIG9wdGlvbmFsIGZ1bmN0aW9uIGlzIGRl ZmluZWQgYnkNCj4gY2hlY2tpbmcNCj4gKy8vLyB0aGF0IHRoZSB2YWx1ZSBpcyBub3QgTlVMTC4N Cj4gKy8vLw0KPiArc3RydWN0IF9FRklfQUNUSVZFX0JJT1NfUFJPVE9DT0wgew0KPiArICBFRklf QUNUSVZFX0JJT1NfU1RBVEUgICAgICAgICAgICAgICAgICAgU3RhdGU7DQo+ICsgIEVGSV9BQ1RJ VkVfQklPU19TRVRfQUNUSVZFX0JJT1NfU1RBVEUgICBTZXRTdGF0ZTsNCj4gKyAgRUZJX0FDVElW RV9CSU9TX0xPQ0tfQUNUSVZFX0JJT1NfU1RBVEUgIExvY2tTdGF0ZTsNCj4gK307DQo+ICsNCj4g KyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvQWN0 aXZlQmlvc1Byb3RvY29sLmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtn L1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9BY3RpdmVC aW9zUHJvdG9jb2wuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw Li5hNDFlNTgzMWYxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9W bHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+ IGUvUHJvdG9jb2wvQWN0aXZlQmlvc1Byb3RvY29sLmgNCj4gQEAgLTAsMCArMSwxMjUgQEANCj4g Ky8qKg0KPiArICBUaGlzIHByb3RvY29sIGlzIHVzZWQgdG8gcmVwb3J0IGFuZCBjb250cm9sIHdo YXQgQklPUyBpcyBtYXBwZWQgdG8gdGhlDQo+ICsgIEJJT1MgYWRkcmVzcyBzcGFjZSBhbmNob3Jl ZCBhdCA0R0IgYm91bmRhcnkuDQo+ICsNCj4gKyAgVGhpcyBwcm90b2NvbCBpcyBFRkkgY29tcGF0 aWJsZS4NCj4gKw0KPiArICBFLkcuIEZvciBjdXJyZW50IGdlbmVyYXRpb24gSUNILCB0aGUgNEdC LTE2TUIgdG8gNEdCIHJhbmdlIGNhbiBiZQ0KPiBtYXBwZWQNCj4gKyAgdG8gUENJLCBTUEksIG9y IEZXSC4NCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArKiovDQo+ICsNCj4gKw0K PiArI2lmbmRlZiBfRUZJX0FDVElWRV9CSU9TX1BST1RPQ09MX0hfDQo+ICsjZGVmaW5lIF9FRklf QUNUSVZFX0JJT1NfUFJPVE9DT0xfSF8NCj4gKw0KPiArLy8NCj4gKy8vIERlZmluZSB0aGUgIHBy b3RvY29sIEdVSUQNCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9BQ1RJVkVfQklPU19QUk9UT0NPTF9H VUlEICBcDQo+ICsgIHsgMHhlYmJlMmQxYiwgMHgxNjQ3LCAweDRiZGEsIHsweGFiLCAweDlhLCAw eDc4LCAweDYzLCAweGUzLCAweDk2LCAweGQ0LA0KPiAweDFhfSB9DQo+ICsNCj4gK3R5cGVkZWYg c3RydWN0IF9FRklfQUNUSVZFX0JJT1NfUFJPVE9DT0wNCj4gRUZJX0FDVElWRV9CSU9TX1BST1RP Q09MOw0KPiArDQo+ICsvLw0KPiArLy8gUHJvdG9jb2wgZGVmaW5pdGlvbnMNCj4gKy8vDQo+ICt0 eXBlZGVmIGVudW0gew0KPiArICBBY3RpdmVCaW9zU3RhdGVTcGksDQo+ICsgIEFjdGl2ZUJpb3NT dGF0ZVBjaSwNCj4gKyAgQWN0aXZlQmlvc1N0YXRlTHBjLA0KPiArICBBY3RpdmVCaW9zU3RhdGVN YXgNCj4gK30gRUZJX0FDVElWRV9CSU9TX1NUQVRFOw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklf U1RBVFVTDQo+ICsoRUZJQVBJICpFRklfQUNUSVZFX0JJT1NfU0VUX0FDVElWRV9CSU9TX1NUQVRF KSAoDQo+ICsgIElOIEVGSV9BQ1RJVkVfQklPU19QUk9UT0NPTCAgICAgKlRoaXMsDQo+ICsgIElO IEVGSV9BQ1RJVkVfQklPU19TVEFURSAgICAgICAgRGVzaXJlZFN0YXRlLA0KPiArICBJTiBVSU5U TiAgICAgICAgICAgICAgICAgICAgICAgIEtleQ0KPiArICApOw0KPiArLyorKw0KPiArDQo+ICtS b3V0aW5lIERlc2NyaXB0aW9uOg0KPiArDQo+ICsgIENoYW5nZSB0aGUgY3VycmVudCBhY3RpdmUg QklPUyBzZXR0aW5ncyB0byB0aGUgcmVxdWVzdGVkIHN0YXRlLg0KPiArICBUaGUgY2FsbGVyIGlz IHJlc3BvbnNpYmxlIGZvciByZXF1ZXN0aW5nIGEgc3VwcG9ydGVkIHN0YXRlIGZyb20NCj4gKyAg dGhlIEVGSV9BQ1RJVkVfQklPU19TVEFURSBzZWxlY3Rpb25zLg0KPiArDQo+ICsgIFRoaXMgd2ls bCBmYWlsIGlmIHNvbWVvbmUgaGFzIGxvY2tlZCB0aGUgaW50ZXJmYWNlIGFuZCB0aGUgY29ycmVj dCBrZXkgaXMNCj4gKyAgbm90IHByb3ZpZGVkLg0KPiArDQo+ICtBcmd1bWVudHM6DQo+ICsNCj4g KyAgVGhpcyAgICAgICAgICAgICAgICAgICAgUG9pbnRlciB0byB0aGUgRUZJX0FDVElWRV9CSU9T X1BST1RPQ09MIGluc3RhbmNlLg0KPiArICBEZXNpcmVkU3RhdGUgICAgICAgICAgICBUaGUgcmVx dWVzdGVkIHN0YXRlIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIGZvci4NCj4gKyAgS2V5ICAgICAg ICAgICAgICAgICAgICAgSWYgdGhlIGludGVyZmFjZSBpcyBsb2NrZWQsIEtleSBtdXN0IGJlIHRo ZSBLZXkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuZWQgZnJvbSB0aGUgTG9j a1N0YXRlIGZ1bmN0aW9uIGNhbGwuDQo+ICsNCj4gK1JldHVybnM6DQo+ICsNCj4gKyAgRUZJX1NV Q0NFU1MgICAgICAgICAgICAgQ29tbWFuZCBzdWNjZWVkLg0KPiArICBFRklfQUNDRVNTX0RFTklF RCAgICAgICBUaGUgaW50ZXJmYWNlIGlzIGN1cnJlbnRseSBsb2NrZWQuDQo+ICsgIEVGSV9ERVZJ Q0VfRVJST1IgICAgICAgIERldmljZSBlcnJvciwgY29tbWFuZCBhYm9ydHMgYWJub3JtYWxseS4N Cj4gKw0KPiArLS0qLw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJ ICpFRklfQUNUSVZFX0JJT1NfTE9DS19BQ1RJVkVfQklPU19TVEFURSkgKA0KPiArICBJTiAgICAg RUZJX0FDVElWRV9CSU9TX1BST1RPQ09MICAgKlRoaXMsDQo+ICsgIElOICAgICBCT09MRUFOICAg ICAgICAgICAgICAgICAgICBMb2NrLA0KPiArICBJTiBPVVQgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgKktleQ0KPiArICApOw0KPiArLyorKw0KPiArDQo+ICtSb3V0aW5lIERlc2NyaXB0aW9u Og0KPiArDQo+ICsgIExvY2sgdGhlIGN1cnJlbnQgYWN0aXZlIEJJT1Mgc3RhdGUgZnJvbSBmdXJ0 aGVyIGNoYW5nZXMuICBUaGlzIGFsbG93cyBhDQo+ICsgIGNhbGxlciB0byBpbXBsZW1lbnQgYSBj cml0aWNhbCBzZWN0aW9uLiAgVGhpcyBpcyBvcHRpb25hbGx5IHN1cHBvcnRlZA0KPiArICBmdW5j dGlvbmFsaXR5LiAgU2l6ZSBjb25zY2lvdXMgaW1wbGVtZW50YXRpb25zIG1heSBjaG9vc2UgdG8g cmVxdWlyZQ0KPiArICBjYWxsZXJzIGNvb3BlcmF0ZSB3aXRob3V0IHN1cHBvcnQgZnJvbSB0aGlz IHByb3RvY29sLg0KPiArDQo+ICtBcmd1bWVudHM6DQo+ICsNCj4gKyAgVGhpcyAgICAgICAgICAg ICAgICAgICAgUG9pbnRlciB0byB0aGUgRUZJX0FDVElWRV9CSU9TX1BST1RPQ09MIGluc3RhbmNl Lg0KPiArICBMb2NrICAgICAgICAgICAgICAgICAgICBUUlVFIHRvIGxvY2sgdGhlIGN1cnJlbnQg c3RhdGUsIEZBTFNFIHRvIHVubG9jay4NCj4gKyAgS2V5ICAgICAgICAgICAgICAgICAgICAgSWYg TG9jayBpcyBUUlVFLCB0aGVuIGEga2V5IHdpbGwgYmUgcmV0dXJuZWQuICBJZg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICBMb2NrIGlzIEZBTFNFLCB0aGUga2V5IHJldHVybmVkIGZyb20g dGhlIHByaW9yIGNhbGwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbG9jayB0aGUg cHJvdG9jb2wgbXVzdCBiZSBwcm92aWRlZCB0byB1bmxvY2sgdGhlDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgIHByb3RvY29sLiAgVGhlIHZhbHVlIG9mIEtleSBpcyB1bmRlZmluZWQgZXhj ZXB0IHRoYXQgaXQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBuZXZlciBiZSAw Lg0KPiArDQo+ICtSZXR1cm5zOg0KPiArDQo+ICsgIEVGSV9TVUNDRVNTICAgICAgICAgICAgIENv bW1hbmQgc3VjY2VlZC4NCj4gKyAgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgVGhlIGZ1bmN0aW9u IGlzIG5vdCBzdXBwb3J0ZWQuDQo+ICsgIEVGSV9BQ0NFU1NfREVOSUVEICAgICAgIFRoZSBpbnRl cmZhY2UgaXMgY3VycmVudGx5IGxvY2tlZC4NCj4gKyAgRUZJX0RFVklDRV9FUlJPUiAgICAgICAg RGV2aWNlIGVycm9yLCBjb21tYW5kIGFib3J0cyBhYm5vcm1hbGx5Lg0KPiArDQo+ICstLSovDQo+ ICsNCj4gKy8vDQo+ICsvLyBQcm90b2NvbCBkZWZpbml0aW9uDQo+ICsvLw0KPiArLy8gTm90ZSB0 aGF0IHNvbWUgZnVuY3Rpb25zIGFyZSBvcHRpb25hbC4gIFRoaXMgbWVhbnMgdGhhdCB0aGV5IG1h eSBiZQ0KPiBOVUxMLg0KPiArLy8gQ2FsbGVyIGlzIHJlcXVpcmVkIHRvIHZlcmlmeSB0aGF0IGFu IG9wdGlvbmFsIGZ1bmN0aW9uIGlzIGRlZmluZWQgYnkgY2hlY2tpbmcNCj4gKy8vIHRoYXQgdGhl IHZhbHVlIGlzIG5vdCBOVUxMLg0KPiArLy8NCj4gK3N0cnVjdCBfRUZJX0FDVElWRV9CSU9TX1BS T1RPQ09MIHsNCj4gKyAgRUZJX0FDVElWRV9CSU9TX1NUQVRFICAgICAgICAgICAgICAgICAgICAg ICBTdGF0ZTsNCj4gKyAgRUZJX0FDVElWRV9CSU9TX1NFVF9BQ1RJVkVfQklPU19TVEFURSAgICAg ICBTZXRTdGF0ZTsNCj4gKyAgRUZJX0FDVElWRV9CSU9TX0xPQ0tfQUNUSVZFX0JJT1NfU1RBVEUg ICAgICBMb2NrU3RhdGU7DQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gRXh0ZXJuIHRoZSBHVUlE IGZvciBwcm90b2NvbCB1c2Vycy4NCj4gKy8vDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaUFjdGl2 ZUJpb3NQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2ls aWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0 ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvRHhlUGNoUG9saWN5VXBkYXRlUHJvdG9jb2wuaA0KPiBi L1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhD bHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL0R4ZVBjaFBvbGljeVVwZGF0ZVByb3RvY29sLmgN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNGU3MTQwZTg2OA0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNv ZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL0R4 ZVBjaFBvbGljeVVwZGF0ZVByb3RvY29sLmgNCj4gQEAgLTAsMCArMSw1MSBAQA0KPiArLyorKw0K PiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ ICsgIER4ZVBjaFBvbGljeVVwZGF0ZVByb3RvY29sLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsN Cj4gKyAgUENIIHBvbGljeSB1cGRhdGUgcHJvdG9jb2wuIFRoaXMgcHJvdG9jb2wgaXMgY29uc3Vt ZWQgYnkgdGhlDQo+IFBjaER4ZVBvbGljeUluaXQgZHJpdmVyDQo+ICsNCj4gKy0tKi8NCj4gKyNp Zm5kZWYgX0RYRV9QQ0hfUE9MSUNZX1VQREFURV9QUk9UT0NPTF9IXw0KPiArI2RlZmluZSBfRFhF X1BDSF9QT0xJQ1lfVVBEQVRFX1BST1RPQ09MX0hfDQo+ICsNCj4gKyNpbmNsdWRlICJQY2hSZWdz LmgiDQo+ICsNCj4gKw0KPiArI2lmZGVmIEVDUF9GTEFHDQo+ICsjZGVmaW5lIERYRV9QQ0hfUE9M SUNZX1VQREFURV9QUk9UT0NPTF9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAgMHgxYTgxOWU0OSwg MHhkOGVlLCAweDQ4Y2IsIDB4OWEsIDB4OWMsIDB4YSwgMHhhMCwgMHhkMiwgMHg4MSwgMHhhLCAw eDM4IFwNCj4gKyAgfQ0KPiArI2Vsc2UNCj4gKyNkZWZpbmUgRFhFX1BDSF9QT0xJQ1lfVVBEQVRF X1BST1RPQ09MX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweDFhODE5ZTQ5LCAweGQ4ZWUsIDB4 NDhjYiwgXA0KPiArICAgIHsgXA0KPiArICAgICAgICAweDlhLCAweDljLCAweGEsIDB4YTAsIDB4 ZDIsIDB4ODEsIDB4YSwgMHgzOCBcDQo+ICsgICAgfSBcDQo+ICsgIH0NCj4gKyNlbmRpZg0KPiAr DQo+ICtleHRlcm4gRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdE eGVQY2hQb2xpY3lVcGRhdGVQcm90b2NvbEd1aWQ7DQo+ICsjZGVmaW5lIERYRV9QQ0hfUE9MSUNZ X1VQREFURV9QUk9UT0NPTF9SRVZJU0lPTl8xIDENCj4gKw0KPiArLy8NCj4gKy8vIC0tLS0tLS0t LS0tLSBHZW5lcmFsIFBDSCBwb2xpY3kgVXBkYXRlIHByb3RvY29sIGRlZmluaXRpb24gLS0tLS0t LS0tLS0tDQo+ICsvLw0KPiArc3RydWN0IF9EWEVfUENIX1BPTElDWV9VUERBVEVfUFJPVE9DT0wg ew0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBSZXZpc2lvbjsNCj4gK307DQo+ICsNCj4g K3R5cGVkZWYgc3RydWN0IF9EWEVfUENIX1BPTElDWV9VUERBVEVfUFJPVE9DT0wNCj4gRFhFX1BD SF9QT0xJQ1lfVVBEQVRFX1BST1RPQ09MOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0K PiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL0VtbWNDYXJkSW5mb1Byb3RvY29sLmgNCj4g Yi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRo Q2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9FbW1jQ2FyZEluZm9Qcm90b2NvbC5oDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmQ5MmYyMjdkNWINCj4gLS0t IC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtn L1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9FbW1jQ2Fy ZEluZm9Qcm90b2NvbC5oDQo+IEBAIC0wLDAgKzEsNDIgQEANCj4gKy8qKysNCj4gKw0KPiArQ29w eXJpZ2h0IChjKSAgMjAxMyAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsNCj4gKy8qKysNCj4gK01vZHVsZSBO YW1lOg0KPiArDQo+ICsgIEVtbWNDYXJkSW5mb1Byb3RvY29sLmgNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgSW50ZXJmYWNlIGRlZmluaXRpb24gZm9yIEVGSV9FTU1DX0NBUkRfSU5GT19Q Uk9UT0NPTA0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0KPiArI2lmbmRlZiBfRU1NQ19DQVJEX0lO Rk9fSF8NCj4gKyNkZWZpbmUgX0VNTUNfQ0FSRF9JTkZPX0hfDQo+ICsNCj4gKyNkZWZpbmUgRUZJ X0VNTUNfQ0FSRF9JTkZPX1BST1RPQ09MX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweDFlYmU1 YWI5LCAweDIxMjksIDB4NDllNywgezB4ODQsIDB4ZDcsIDB4ZWUsIDB4YjksIDB4ZmMsIDB4ZTUs IDB4ZGUsDQo+IDB4ZGQgfSBcDQo+ICsgIH0NCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3QgX0VGSV9F TU1DX0NBUkRfSU5GT19QUk9UT0NPTA0KPiBFRklfRU1NQ19DQVJEX0lORk9fUFJPVE9DT0w7DQo+ ICsNCj4gKw0KPiArLy8NCj4gKy8vIEVNTUMgQ2FyZCBpbmZvIFN0cnVjdHVyZXMNCj4gKy8vDQo+ ICtzdHJ1Y3QgX0VGSV9FTU1DX0NBUkRfSU5GT19QUk9UT0NPTCB7DQo+ICsgIENBUkRfREFUQSAq Q2FyZERhdGE7DQo+ICt9Ow0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaUVtbWNDYXJkSW5m b1Byb3RvY29sR3VpZDsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVk DQo+IGUvUHJvdG9jb2wvR3Bpby5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvR3Bp by5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjNmNzI2MGUw YmYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2Nv bC9HcGlvLmgNCj4gQEAgLTAsMCArMSwxNjEgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0 IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBHcGlvLmgNCj4gKw0K PiArQWJzdHJhY3Q6DQo+ICsNCj4gK0VGSSAyLjAgUEVJTSB0byBwcm92aWRlIHBsYXRmb3JtIHNw ZWNpZmljIGluZm9ybWF0aW9uIHRvIG90aGVyDQo+ICttb2R1bGVzIGFuZCB0byBkbyBzb21lIHBs YXRmb3JtIHNwZWNpZmljIGluaXRpYWxpemF0aW9uLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNp Zm5kZWYgX1BFSV9HUElPX0gNCj4gKyNkZWZpbmUgX1BFSV9HUElPX0gNCj4gKw0KPiArLy8jaW5j bHVkZSAiRWZpLmgiDQo+ICsvLyNpbmNsdWRlICJFZmlDb21tb25MaWIuaCINCj4gKy8vI2luY2x1 ZGUgIlBlaS5oIg0KPiArLy8jaW5jbHVkZSAiTnVtYmVycy5oIg0KPiArDQo+ICsvLy8vDQo+ICsv Ly8vIEdQSU8gUmVnaXN0ZXIgU2V0dGluZ3MgZm9yIEJlYXZlckJyaWRnZSAoRkZWUykgKENlZGFy dmlldy9UaWdlcnBvaW50KQ0KPiArLy8vLw0KPiArLy8vLyBGaWVsZCBEZXNjcmlwdGlvbnM6DQo+ ICsvLy8vICAgIFVTRTogRGVmaW5lcyB0aGUgcGluJ3MgdXNhZ2UgbW9kZWw6ICBHUElPIChHKSBv ciBOYXRpdmUgKE4pIG1vZGUuDQo+ICsvLy8vICAgIEkvTzogRGVmaW5lcyB3aGV0aGVyIEdQSU9z IGFyZSBpbnB1dHMgKEkpIG9yIG91dHB1dHMgKE8pLg0KPiArLy8vLyAgICAgICAgIChOb3RlOiAg T25seSBtZWFuaW5nZnVsIGZvciBwaW5zIHVzZWQgYXMgR1BJT3MuKQ0KPiArLy8vLyAgICBMVkw6 IFRoaXMgZmllbGQgZ2l2ZXMgeW91IHRoZSBpbml0aWFsIHZhbHVlIGZvciAib3V0cHV0IiBHUElP J3MuDQo+ICsvLy8vICAgICAgICAgKE5vdGU6IFRoZSBvdXRwdXQgbGV2ZWwgaXMgZGVwZW5kZW50 IHVwb24gd2hldGhlciB0aGUgcGluIGlzDQo+IGludmVydGVkLikNCj4gKy8vLy8gICAgSU5WOiBE ZWZpbmVzIHdoZXRoZXIgSW5wdXQgR1BJT3MgYWN0aXZhdGlvbiBsZXZlbCBpcyBpbnZlcnRlZC4N Cj4gKy8vLy8gICAgICAgICAoTm90ZTogIE9ubHkgYWZmZWN0cyB0aGUgbGV2ZWwgc2VudCB0byB0 aGUgR1BFIGxvZ2ljIGFuZCBkb2VzIG5vdA0KPiArLy8vLyAgICAgICAgIGFmZmVjdCB0aGUgbGV2 ZWwgcmVhZCB0aHJvdWdoIHRoZSBHUElPIHJlZ2lzdGVycy4pDQo+ICsvLy8vDQo+ICsvLy8vIE5v dGVzOg0KPiArLy8vLyAgICAxLiBCb2FyZElEIGlzIEdQSU8gWzg6Mzg6MzRdDQo+ICsvLy8vDQo+ ICsvLy8vU2lnbmFsICAgICAgICAgVXNlZEFzICAgICAgICAgICAgICAgVVNFICAgICBJL08gICAg ICBMVkwgICAgIElOVg0KPiArLy8vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsvLy8vR1BJTzAgICAg ICAgICAgIE5vbmZ1bmN0aW9uICAgICAgIEcgICAgIE8gICAgICAgICAgICBIICAgICAgIC0NCj4g Ky8vLy9HUElPMSAgICAgICAgICAgU01DX1JVTlRJTUVfU0NJIyAgICBHICAgICAgICBJICAgICAg ICAgICAtICAgICAgIEkNCj4gKy8vLy9QSVJRRSMvR1BJTzIgICAgTm9uZnVuY3Rpb24gRyAgIE8g ICBIICAgLQ0KPiArLy8vL1BJUlFGIy9HUElPMyAgICBOb25mdW5jdGlvbiBHICAgTyAgIEggICAt DQo+ICsvLy8vUElSUUcjL0dQSU80ICAgIE5vbmZ1bmN0aW9uIEcgICBPICAgSCAgIC0NCj4gKy8v Ly9QSVJRSCMvR1BJTzUgICAgTm9uZnVuY3Rpb24gRyAgIE8gICBIICAgLQ0KPiArLy8vL0dQSU82 ICAgdW51c2VkICBHICAgTyAgIEwgICAtDQo+ICsvLy8vR1BJTzcgICB1bnVzZWQgIEcgICBPICAg TCAgIC0NCj4gKy8vLy9HUElPOCAgICAgICAgICBCT0FSRCBJRDIgICAgRyAgIEkgICAtICAgLQ0K PiArLy8vL0dQSU85ICAgdW51c2VkICBHICAgTyAgIEwgICAtDQo+ICsvLy8vR1BJTzEwICBTTUNf RVhUU01JIyBHICAgSSAgIC0gICBJDQo+ICsvLy8vR1BJTzExICBOb25mdW5jdGlvbiBHICAgTyAg IEggICAtDQo+ICsvLy8vR1BJTzEyICB1bnVzZWQgIEcgICBPICAgTCAgIC0NCj4gKy8vLy9HUElP MTMgIFNNQ19XQUtFX1NDSSMgICBHICAgSSAgIC0gICBJDQo+ICsvLy8vR1BJTzE0ICB1bnVzZWQg IEcgICBPICAgTCAgIC0NCj4gKy8vLy9HUElPMTUgIHVudXNlZCAgRyAgIE8gICBMICAgLQ0KPiAr Ly8vL0dQSU8xNiAgUE1fRFBSU0xQVlIgTiAgIC0gICAtICAgLQ0KPiArLy8vL0dOVDUjL0dQSU8x NyAgICBHTlQ1IyAgIE4gICAtICAgLSAgIC0NCj4gKy8vLy9TVFBQQ0kjL0dQSU8xOCAgUE1fU1RQ UENJIyAgTiAgIC0gICAtICAgLQ0KPiArLy8vL1NUUENQVSMvR1BJTzIwICBQTV9TVFBDUFUjICBO ICAgLSAgIC0gICAtDQo+ICsvLy8vR1BJTzIyICBDUlRfUmVmQ2xrICBHICAgSSAgIC0gICAtDQo+ ICsvLy8vR1BJTzIzICB1bnVzZWQgIEcgICBPICAgTCAgIC0NCj4gKy8vLy9HUElPMjQgIHVudXNl ZCAgRyAgIE8gICBMICAgLQ0KPiArLy8vL0dQSU8yNSAgRE1JIHN0cmFwICAgRyAgIE8gICBMICAg LQ0KPiArLy8vL0dQSU8yNiAgdW51c2VkICBHICAgTyAgIEwgICAtDQo+ICsvLy8vR1BJTzI3ICB1 bnVzZWQgIEcgICBPICAgTCAgIC0NCj4gKy8vLy9HUElPMjggIFJGX0tJTEwjICAgIEcgICBPICAg SCAgIC0NCj4gKy8vLy9PQzUjL0dQSU8yOSBPQyAgTiAgIC0gICAtICAgLQ0KPiArLy8vL09DNiMv R1BJTzMwIE9DICBOICAgLSAgIC0gICAtDQo+ICsvLy8vT0M3Iy9HUElPMzEgT0MgIE4gICAtICAg LSAgIC0NCj4gKy8vLy9DTEtSVU4jL0dQSU8zMiAgUE1fQ0xLUlVOIyAgTiAgIC0gICAtICAgLQ0K PiArLy8vL0dQSU8zMyAgTkMgIEcgICBPICAgTCAgIC0NCj4gKy8vLy9HUElPMzQgIEJPQVJEIElE MCAgIEcgICBJICAgLSAgIC0NCj4gKy8vLy9HUElPMzYgIHVudXNlZCAgRyAgIE8gICBMICAgLQ0K PiArLy8vL0dQSU8zOCAgQk9BUkQgSUQxICAgRyAgIEkgICAtICAgLQ0KPiArLy8vL0dQSU8zOSAg dW51c2VkICBHICAgTyAgIEwgICAtDQo+ICsvLy8vR1BJTzQ4ICB1bnVzZWQgIEcgICBPICAgTCAg IC0NCj4gKy8vLy9DUFVQV1JHRC9HUElPNDkgSF9QV1JHRCBOICAgLSAgIC0gICAtDQo+ICsvLw0K PiArLy8jZGVmaW5lICAgR1BJT19VU0VfU0VMX1ZBTCAgICAgICAgICAgICAgMHgxRkMwRkZGRiAg ICAgICAvL0dQSU8xLCAxMCwgMTMgaXMgRUMNCj4gc2lnbmFsDQo+ICsvLyNkZWZpbmUgICBHUElP X1VTRV9TRUwyX1ZBTCAgICAgICAgICAgICAweDAwMDEwMEQ2DQo+ICsvLyNkZWZpbmUgICBHUElP X0lPX1NFTF9WQUwgICAgICAgICAgICAgICAweDAwNDAyNTAyDQo+ICsvLyNkZWZpbmUgICBHUElP X0lPX1NFTDJfVkFMICAgICAgICAgICAgICAweDAwMDAwMDQ0DQo+ICsvLyNkZWZpbmUgICBHUElP X0xWTF9WQUwgICAgICAgICAgICAgICAgICAweDE4MDAwODNEDQo+ICsvLyNkZWZpbmUgICBHUElP X0xWTDJfVkFMICAgICAgICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsvLyNkZWZpbmUgICBHUElP X0lOVl9WQUwgICAgICAgICAgICAgICAgICAweDAwMDAyNDAyDQo+ICsvLyNkZWZpbmUgICBHUElP X0JMTktfVkFMICAgICAgICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsvLyNkZWZpbmUgICBJQ0hf R1BJX1JPVVRFIChJQ0hfR1BJX1JPVVRFX1NDSSgxMykgfA0KPiBJQ0hfR1BJX1JPVVRFX1NDSSgx KSkNCj4gKw0KPiArLy8NCj4gKy8vIEdQSU8gUmVnaXN0ZXIgU2V0dGluZ3MgZm9yIENlZGFyUm9j ayBhbmQgQ2VkYXJGYWxscyBwbGF0Zm9ybXMNCj4gKy8vDQo+ICsvLyAgICAgIEdQSU8gUmVnaXN0 ZXIgU2V0dGluZ3MgZm9yIE5CMTBfQ1JCDQo+ICsvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiArLy9TaWduYWwgICAgICAgIFVzZWQgQXMgICAgICAgICBVU0UgICAgICAgICBJL08gICAgIExW TA0KPiArLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy8vDQo+ICsvLyBHUElPMCAgICBG UF9BVURJT19ERVRFQ1QgICAgIEcgICAgICAgSQ0KPiArLy8gR1BJTzEgICAgU01DX1JVTlRJTUVf U0NJIyAgICBHICAgICAgIEkNCj4gKy8vIEdQSU8yICAgICAgICBJTlRfUElSUUVfTiAgICAgTiAg ICAgICBJDQo+ICsvLyBHUElPMyAgICBJTlRfUElSUUZfTiAgICAgTiAgICAgICBJDQo+ICsvLyBH UElPNCAgICAgICAgSU5UX1BJUlFHX04gICAgIE4gICAgICAgSQ0KPiArLy8gR1BJTzUgICAgICAg IElOVF9QSVJRSF9OICAgICBOICAgICAgIEkNCj4gKy8vIEdQSU82DQo+ICsvLyBHUElPNw0KPiAr Ly8gR1BJTzgNCj4gKy8vIEdQSU85ICAgIExQQ19TSU9fUE1FICAgICBHICAgICAgIEkNCj4gKy8v IEdQSU8xMCAgIFNNQ19FWFRTTUlfTiAgICAgICAgRyAgICAgICBJDQo+ICsvLyBHUElPMTEgICBT TUJBTEVSVC0gcHVsbHVwICAgIE4NCj4gKy8vIEdQSU8xMiAgIElDSF9HUDEyICAgICAgICBHICAg ICAgIEkNCj4gKy8vIEdQSU8xMyAgIFNNQ19XQUtFX1NDSV9OICAgICAgRyAgICAgICBJDQo+ICsv LyBHUElPMTQgICBMQ0RfUElEMCAgICAgICAgRyAgICAgICBPICAgICAgIEgNCj4gKy8vIEdQSU8x NSAgIENPTkZJR19NT0RFX04gICAgICAgRyAgICAgICBJDQo+ICsvLyBHUElPMTYgICAgICAgUE1f RFBSU0xQVlIgICAgIE4NCj4gKy8vIEdQSU8xNyAgIFNQSV9TRUxFQ1RfU1RSQVAxDQo+ICsvLyAg ICAgICAgICAvTF9CS0xUU0VMMF9OICAgRyAgICAgICBJDQo+ICsvLyBHUElPMTggICBQTV9TVFBQ Q0lfTiAgICAgTg0KPiArLy8gR1BJTzE5DQo+ICsvLyBHUElPMjAgICBQTV9TVFBDUFVfTiAgICAg Tg0KPiArLy8gR1BJTzIxDQo+ICsvLyBHUElPMjIgICBSRVE0QiAgICAgICAgICAgRyAgICAgICBJ DQo+ICsvLyBHUElPMjMgICBMX0RSUTFfTiAgICAgICAgTg0KPiArLy8gR1BJTzI0ICAgQ1JCX1NW X0RFVF9OICAgICAgICBHICAgICAgIE8gICAgICAgSA0KPiArLy8gR1BJTzI1ICAgRE1JIHN0cmFw DQo+ICsvLyAgICAgICAgICAvIExfQktMVFNFTDFfTiAgRyAgICAgICBPICAgICAgIEgNCj4gKy8v IEdQSU8yNiAgIExDRF9QSUQxICAgICAgICBHICAgICAgIE8gICAgICAgSA0KPiArLy8gR1BJTzI3 ICAgVFBFVl9ERFIzTF9ERVRFQ1QgICBHICAgICAgIE8gICAgICAgSA0KPiArLy8gR1BJTzI4ICAg UkZfS0lMTCAgICAgICAgIEcgICAgICAgTyAgICAgICBIOmVuYWJsZQ0KPiArLy8gR1BJTzI5ICAg T0MgICAgICAgICAgTg0KPiArLy8gR1BJTzMwICAgT0MgICAgICAgICAgTg0KPiArLy8gR1BJTzMx ICAgT0MgICAgICAgICAgTg0KPiArLy8gR1BJTzMyICAgUE1fQ0xLUlVOX04gICAgIE5hdGl2ZQ0K PiArLy8gR1BJTzMzICAgTUZHX01PREVfTiAgICAgIEcgICAgICAgSQ0KPiArLy8gR1BJTzM0ICAg Qk9BUkQgSUQwICAgICAgIEcgICAgICAgSQ0KPiArLy8gR1BJTzM1DQo+ICsvLyBHUElPMzYgICBT Vl9TRVRfVVAgICAgICAgRyAgICAgICBPICAgICAgIEgNCj4gKy8vIEdQSU8zNw0KPiArLy8gR1BJ TzM4ICAgQk9BUkQgSUQxICAgICAgIEcgICAgICAgSQ0KPiArLy8gR1BJTzM5ICAgQk9BUkQgSUQy ICAgICAgIEcgICAgICAgSQ0KPiArLy8gR1BJTzQ4ICAgRkxBU0hfU0VMMCAgICAgIE4NCj4gKy8v IEdQSU80OSAgIEhfUFdSR0QgICAgICAgICBODQo+ICsNCj4gKyNkZWZpbmUgSUNIX0dQSV9ST1VU RV9TTUkoR3BpbykgICAgICAgICAgKCgoIDAgPDwgKChHcGlvICogMikgKyAxKSkgfCAoMSA8PA0K PiAoR3BpbyAqIDIpKSkpDQo+ICsjZGVmaW5lIElDSF9HUElfUk9VVEVfU0NJKEdwaW8pICAgICAg ICAgICgoKCAxIDw8ICgoR3BpbyAqIDIpICsgMSkpIHwgKDAgPDwNCj4gKEdwaW8gKiAyKSkpKQ0K PiArDQo+ICsjZGVmaW5lICAgR1BJT19VU0VfU0VMX1ZBTCAgICAgICAgICAgICAgMFgxRjQyRjdD Mw0KPiArI2RlZmluZSAgIEdQSU9fVVNFX1NFTDJfVkFMICAgICAgICAgICAgIDBYMDAwMDAwRDYN Cj4gKyNkZWZpbmUgICBHUElPX0lPX1NFTF9WQUwgICAgICAgICAgICAgICAwWDEwNDJCNzNGDQo+ ICsjZGVmaW5lICAgR1BJT19JT19TRUwyX1ZBTCAgICAgICAgICAgICAgMFgwMDAxMDBDNg0KPiAr I2RlZmluZSAgIEdQSU9fTFZMX1ZBTCAgICAgICAgICAgICAgICAgIDBYMUYxNUY2MDENCj4gKyNk ZWZpbmUgICBHUElPX0xWTDJfVkFMICAgICAgICAgICAgICAgICAwWDAwMDIwMEQ3DQo+ICsjZGVm aW5lICAgR1BJT19JTlZfVkFMICAgICAgICAgICAgICAgICAgMHgwMDAwMjYwMg0KPiArI2RlZmlu ZSAgIEdQSU9fQkxOS19WQUwgICAgICAgICAgICAgICAgIDB4MDAwNDAwMDANCj4gKyNkZWZpbmUg ICBJQ0hfR1BJX1JPVVRFIChJQ0hfR1BJX1JPVVRFX1NDSSgxMykgfA0KPiBJQ0hfR1BJX1JPVVRF X1NDSSgxKSkNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVs L1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQN Cj4gZS9Qcm90b2NvbC9Id1dhdGNoZG9nVGltZXIuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRl dmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1By b3RvY29sL0h3V2F0Y2hkb2dUaW1lci5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAuLjU5MmFjMjg1ZWENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rl ci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9Id1dhdGNoZG9nVGltZXIuaA0KPiBAQCAtMCwwICsxLDI5 NCBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVs ZSBOYW1lOg0KPiArDQo+ICsgIEh3V2F0Y2hkb2dUaW1lci5oDQo+ICsNCj4gK0Fic3RyYWN0Og0K PiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfX0VGSV9XQVRDSERPR19USU1FUl9E UklWRVJfUFJPVE9DT0xfSF9fDQo+ICsjZGVmaW5lIF9fRUZJX1dBVENIRE9HX1RJTUVSX0RSSVZF Ul9QUk9UT0NPTF9IX18NCj4gKw0KPiArI2RlZmluZSBFRklfV0FUQ0hET0dfVElNRVJfRFJJVkVS X1BST1RPQ09MX0dVSUQgXA0KPiArICB7IDB4ZDViMDZkMTYsIDB4MmVhMSwgMHg0ZGVmLCAweDk4 LCAweGQwLCAweGEwLCAweDVkLCAweDQwLCAweDcyLCAweDg0LA0KPiAweDE3IH0NCj4gKw0KPiAr I2RlZmluZSBFRklfV0FUQ0hET0dfVElNRVJfTk9UX1NVUFBPUlRFRF9QUk9UT0NPTF9HVUlEIFwN Cj4gKyAgeyAweGU5ZTE1NmFjLCAweDMyMDMsIDB4NDU3MiwgMHhhYywgMHhkZiwgMHg4NCwgMHg0 ZiwgMHhkYywgMHhkYiwgMHg2LCAweGJmIH0NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSA8R3VpZC9I d1dhdGNoZG9nVGltZXJIb2IuaD4NCj4gKw0KPiArLy8NCj4gKy8vIEdlbmVyYWwgUHVycG9zZSBD b25zdGFudHMNCj4gKy8vDQo+ICsjZGVmaW5lIElDSF9JTlNUQUZMVVNIX0dQSU8gICAgICBCSVQx NiAvLyBCSVQgMTYgaW4gR1BJTyBMZXZlbCAyIGlzIEdQSU8gNDguDQo+ICsjZGVmaW5lIEJfSU5T VEFGTFVTSCAgICAgICAgICAgICBCSVQ0DQo+ICsvLw0KPiArLy8gT3RoZXIgV2F0Y2hkb2cgdGlt ZXIgdmFsdWVzDQo+ICsvLw0KPiArI2RlZmluZSBXRFRfQ09VTlRET1dOX1ZBTFVFICAgICAgICAg ICAgICAgICAweDE0DQo+ICsjZGVmaW5lIEJEU19XRFRfQ09VTlRET1dOX1ZBTFVFICAgICAgICAg ICAgIDB4MzUNCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gUHJvdG90eXBlcyBmb3IgdGhlIFdhdGNo ZG9nIFRpbWVyIERyaXZlciBQcm90b2NvbA0KPiArLy8NCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJ X1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1dBVENIRE9HX1NUQVJUX1RJTUVSKSAoDQo+ICsgIFZP SUQNCj4gKyAgKTsNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiAr ICAgIFRoaXMgc2VydmljZSBiZWdpbnMgdGhlIFdhdGNoZG9nIFRpbWVyIGNvdW50ZG93bi4gIElm IHRoZSBjb3VudGRvd24NCj4gY29tcGxldGVzIHByaW9yIHRvDQo+ICsgICAgU3RvcCBUaW1lciBv ciBSZXN0YXJ0IFRpbWVyIHRoZSBzeXN0ZW0gd2lsbCByZXNldC4NCj4gKw0KPiArICBBcmd1bWVu dHM6DQo+ICsgICAgTm9uZQ0KPiArDQo+ICsgIFJldHVybnM6DQo+ICsgICAgRUZJX1NVQ0NFU1Mg ICAgICAgLSBPcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseQ0KPiArICAgIEVGSV9ERVZJ Q0VfRVJST1IgIC0gVGhlIGNvbW1hbmQgd2FzIHVuc3VjY2Vzc2Z1bA0KPiArDQo+ICstLSovDQo+ ICsNCj4gKw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpQRUlf V0FUQ0hET0dfUkVTRVRfVElNRVIpICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArLyorKw0KPiAr DQo+ICsgIFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAgVGhpcyBzZXJ2aWNlIHJlc2V0cyB0 aGUgV2F0Y2hkb2cgVGltZXIgY291bnRkb3duIGFuZCBzaG91bGQgb25seSBiZQ0KPiBjYWxsZWQg YWZ0ZXIgdGhlDQo+ICsgICAgU3RhcnQgVGltZXIgZnVuY3Rpb24uDQo+ICsNCj4gKyAgQXJndW1l bnRzOg0KPiArICAgIE5vbmUNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNT ICAgICAgIC0gT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkNCj4gKyAgICBFRklfREVW SUNFX0VSUk9SICAtIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwNCj4gKw0KPiArLS0qLw0K PiArDQo+ICsNCj4gKw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJ ICpFRklfV0FUQ0hET0dfUkVTVEFSVF9USU1FUikgKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsv KisrDQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoNCj4gKyAgICBUaGlzIHNlcnZpY2Ug cmVzdGFydHMgdGhlIFdhdGNoZG9nIFRpbWVyIGNvdW50ZG93biBhbmQgc2hvdWxkIG9ubHkgYmUN Cj4gY2FsbGVkIGFmdGVyIHRoZQ0KPiArICAgIFN0YXJ0IFRpbWVyIGZ1bmN0aW9uLg0KPiArDQo+ ICsgIEFyZ3VtZW50czoNCj4gKyAgICBOb25lDQo+ICsNCj4gKyAgUmV0dXJuczoNCj4gKyAgICBF RklfU1VDQ0VTUyAgICAgICAtIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5DQo+ICsg ICAgRUZJX0RFVklDRV9FUlJPUiAgLSBUaGUgY29tbWFuZCB3YXMgdW5zdWNjZXNzZnVsDQo+ICsN Cj4gKy0tKi8NCj4gKw0KPiArDQo+ICsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0K PiArKEVGSUFQSSAqRUZJX1dBVENIRE9HX1NUT1BfVElNRVIpICgNCj4gKyAgVk9JRA0KPiArICAp Ow0KPiArLyorKw0KPiArDQo+ICsgIFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAgVGhpcyBz ZXJ2aWNlIGRpc2FibGVzIHRoZSBXYXRjaGRvZyBUaW1lciBjb3VudGRvd24uDQo+ICsNCj4gKyAg QXJndW1lbnRzOg0KPiArICAgIE5vbmUNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9T VUNDRVNTICAgICAgIC0gT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkNCj4gKyAgICBF RklfREVWSUNFX0VSUk9SICAtIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwNCj4gKw0KPiAr LS0qLw0KPiArDQo+ICsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQ SSAqRUZJX1dBVENIRE9HX0NIRUNLX1RJTUVPVVQpICgNCj4gKyAgT1VUIEhXX1dBVENIRE9HX1RJ TUVPVVQgICAgICAgKldhdGNoZG9nVGltZW91dA0KPiArICApOw0KPiArLyorKw0KPiArDQo+ICsg IFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAgVGhpcyBzZXJ2aWNlIGRpc2FibGVzIHRoZSBX YXRjaGRvZyBUaW1lciBjb3VudGRvd24uDQo+ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIE5v bmUNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNTICAgICAgIC0gT3BlcmF0 aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkNCj4gKyAgICBFRklfREVWSUNFX0VSUk9SICAtIFRo ZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsNCj4gKw0K PiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1dBVENIRE9HX0ZPUkNF X1JFQk9PVCkgKA0KPiArICBJTiBCT09MRUFOICAgICAgICAgICAgICAgICAgICBGb3JjZVRpbWVv dXQsDQo+ICsgIElOIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgIFJlc2V0VHlwZQ0KPiArICAp Ow0KPiArLyorKw0KPiArDQo+ICsgIFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAgVGhpcyBz ZXJ2aWNlIGZvcmNlcyBhIHJlYm9vdCBvZiB0aGUgc3lzdGVtIGR1ZSB0byBhIHJlc2V0IG9mIHRo ZQ0KPiBQT1dFUkdPT0RfUFMsDQo+ICsgICAgUE9XRVJHT09EX0NMSywgYW5kIHRoZSBCU0VMIE92 ZXJyaWRlDQo+ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIE5vbmUNCj4gKw0KPiArICBSZXR1 cm5zOg0KPiArICAgIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCByZXR1cm4hDQo+ICsNCj4gKyAg ICBFRklfREVWSUNFX0VSUk9SICAtIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwgYW5kIGEg cmVib290IGRpZA0KPiBub3Qgb2NjdXINCj4gKw0KPiArLS0qLw0KPiArDQo+ICsNCj4gKw0KPiAr dHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1dBVENIRE9HX0tOT1dOX1JF U0VUKSAoDQo+ICsgIElOIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgIEFsbG93UmVzZXQNCj4g KyAgKTsNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiArICAgIFRo aXMgc2VydmljZSBub3RpZmllcyB0aGUgV2F0Y2hkb2cgVGltZXIgb2YgdGhlIGZhY3QgdGhhdCBh IGtub3duIHJlc2V0IGlzDQo+IG9jY3VyaW5nLg0KPiArDQo+ICsgIEFyZ3VtZW50czoNCj4gKyAg ICBBbGxvd1Jlc2V0IC0gIFRSVUUgaWYgYSBSZXNldCBpcyBjdXJyZW50bHkgZXhwZWN0ZWQNCj4g KyAgICAgICAgICAgICAgICAgIEZBTFNFIGlmIGEgUmVzZXQgaXMgbm90IGN1cnJlbnRseSBleHBl Y3RlZA0KPiArDQo+ICsgIFJldHVybnM6DQo+ICsgICAgVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90 IHJldHVybiENCj4gKw0KPiArICAgIEVGSV9ERVZJQ0VfRVJST1IgIC0gVGhlIGNvbW1hbmQgd2Fz IHVuc3VjY2Vzc2Z1bCBhbmQgYSByZWJvb3QgZGlkDQo+IG5vdCBvY2N1cg0KPiArDQo+ICstLSov DQo+ICsNCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9HRVRfVElN RVJfQ09VTlRfRE9XTl9QRVJJT0QpKA0KPiArICBPVVQgVUlOVDMyICAgICAgKkNvdW50ZG93blZh bHVlDQo+ICsgICk7DQo+ICsvKisrDQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoNCj4g KyAgICBUaGlzIHNlcnZpY2UgcmVhZHMgdGhlIGN1cnJlbnQgV2F0Y2hkb2cgVGltZXIgY291bnRk b3duIHJlbG9hZCB2YWx1ZS4NCj4gKw0KPiArICBBcmd1bWVudHM6DQo+ICsgICAgQ291bnRkb3du VmFsdWUgLSBwb2ludGVyIHRvIFVJTlQzMiB0byByZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSByZWxv YWQNCj4gcmVnaXN0ZXIuDQo+ICsNCj4gKyAgUmV0dXJuczoNCj4gKyAgICBFRklfU1VDQ0VTUyAg ICAgICAtIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5DQo+ICsgICAgRUZJX0RFVklD RV9FUlJPUiAgLSBUaGUgY29tbWFuZCB3YXMgdW5zdWNjZXNzZnVsDQo+ICsNCj4gKy0tKi8NCj4g Kw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1NFVF9USU1FUl9D T1VOVF9ET1dOX1BFUklPRCkoDQo+ICsgIE9VVCBVSU5UMzIgICAgICBDb3VudGRvd25WYWx1ZQ0K PiArICApOw0KPiArLyorKw0KPiArDQo+ICsgIFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAg VGhpcyBzZXJ2aWNlIHJlYWRzIHRoZSBjdXJyZW50IFdhdGNoZG9nIFRpbWVyIGNvdW50ZG93biBy ZWxvYWQgdmFsdWUuDQo+ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIENvdW50ZG93blZhbHVl IC0gVmFsdWUgdG8gc2V0IHRoZSByZWxvYWQgcmVnaXN0ZXIuDQo+ICsNCj4gKyAgUmV0dXJuczoN Cj4gKyAgICBFRklfU1VDQ0VTUyAgICAgICAtIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1 bGx5DQo+ICsgICAgRUZJX0RFVklDRV9FUlJPUiAgLSBUaGUgY29tbWFuZCB3YXMgdW5zdWNjZXNz ZnVsDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVG SUFQSSAqUEVJX1dBVENIRE9HX0NMRUFSX1RJTUVSX1NUQVRFKSAoDQo+ICsgICk7DQo+ICsvKisr DQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoNCj4gKyAgICBUaGlzIHNlcnZpY2UgY2xl YXJzIHRoZSBzdGF0ZSB0aGF0IGluZGljYXRlcyB0aGUgV2F0Y2hkb2cgVGltZXIgZmlyZWQuDQo+ ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArDQo+ICsgIFJldHVybnM6DQo+ICsgICAgRUZJX1NVQ0NF U1MgICAgICAgLSBPcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseQ0KPiArICAgIEVGSV9E RVZJQ0VfRVJST1IgIC0gVGhlIGNvbW1hbmQgd2FzIHVuc3VjY2Vzc2Z1bA0KPiArDQo+ICstLSov DQo+ICsNCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TVEFMTF9X QVRDSERPR19DT1VOVERPV04pICgNCj4gKyAgSU4gQk9PTEVBTiBTdGFsbA0KPiArICApOw0KPiAr LyorKw0KPiArDQo+ICsgIFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAgVGhpcyBzZXJ2aWNl IGRpc2FibGVzIHRoZSBXYXRjaGRvZyBUaW1lciBjb3VudGRvd24uICBJdCBhbHNvIGNsb3NlcyB0 aGUNCj4gcmVjdXJyaW5nIHJlc3RhcnQgZXZlbnQNCj4gKyAgICBpZiB0aGUgZXZlbnQgZXhpc3Rz Lg0KPiArDQo+ICsgIEFyZ3VtZW50czoNCj4gKyAgICBTdGFsbCAtIFRSVUUgPSBTdG9wIHRoZSB0 aW1lciBjb3VudGRvd24NCj4gKyAgICAgICAgICAgIEZBTFNFID0gU3RhcnQgdGhlIHRpbWVyIGNv dW50ZG93bg0KPiArDQo+ICsgIFJldHVybnM6DQo+ICsgICAgRUZJX1NVQ0NFU1MgICAgICAgLSBP cGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseQ0KPiArICAgIEVGSV9ERVZJQ0VfRVJST1Ig IC0gVGhlIGNvbW1hbmQgd2FzIHVuc3VjY2Vzc2Z1bA0KPiArDQo+ICstLSovDQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IF9FRklfV0FUQ0hET0dfVElNRVJfRFJJVkVSX1BST1RPQ09MIHsNCj4gKyAg RUZJX1dBVENIRE9HX1NUQVJUX1RJTUVSICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0V2F0Y2hk b2dUaW1lcjsNCj4gKyAgUEVJX1dBVENIRE9HX1JFU0VUX1RJTUVSICAgICAgICAgICAgICAgICAg ICAgIFJlc2V0V2F0Y2hkb2dUaW1lb3V0Ow0KPiArICBFRklfV0FUQ0hET0dfUkVTVEFSVF9USU1F UiAgICAgICAgICAgICAgICAgICAgUmVzdGFydFdhdGNoZG9nVGltZXI7DQo+ICsgIEVGSV9XQVRD SERPR19TVE9QX1RJTUVSICAgICAgICAgICAgICAgICAgICAgICBTdG9wV2F0Y2hkb2dUaW1lcjsN Cj4gKyAgRUZJX1dBVENIRE9HX0NIRUNLX1RJTUVPVVQgICAgICAgICAgICAgICAgICAgIENoZWNr V2F0Y2hkb2dUaW1lb3V0Ow0KPiArICBFRklfV0FUQ0hET0dfRk9SQ0VfUkVCT09UICAgICAgICAg ICAgICAgICAgICAgRm9yY2VSZWJvb3Q7DQo+ICsgIEVGSV9XQVRDSERPR19LTk9XTl9SRVNFVCAg ICAgICAgICAgICAgICAgICAgICBBbGxvd0tub3duUmVzZXQ7DQo+ICsgIEVGSV9HRVRfVElNRVJf Q09VTlRfRE9XTl9QRVJJT0QgICAgICAgICAgICAgICBHZXRDb3VudGRvd25QZXJpb2Q7DQo+ICsg IEVGSV9TRVRfVElNRVJfQ09VTlRfRE9XTl9QRVJJT0QgICAgICAgICAgICAgICBTZXRDb3VudGRv d25QZXJpb2Q7DQo+ICsgIFBFSV9XQVRDSERPR19DTEVBUl9USU1FUl9TVEFURSAgICAgICAgICAg ICAgICBDbGVhclRpbWVyU3RhdGU7DQo+ICsgIEVGSV9TVEFMTF9XQVRDSERPR19DT1VOVERPV04g ICAgICAgICAgICAgICAgICBTdGFsbFdhdGNoZG9nQ291bnRkb3duOw0KPiArfSBFRklfV0FUQ0hE T0dfVElNRVJfRFJJVkVSX1BST1RPQ09MOw0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVdh dGNoZG9nVGltZXJEcml2ZXJQcm90b2NvbEd1aWQ7DQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVdh dGNoZG9nVGltZXJOb3RTdXBwb3J0ZWRQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBk aWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvSTJjQnVzLmgNCj4gYi9T aWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1 c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9JMmNCdXMuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4wZmNjYWEwNzg2DQo+IC0tLSAvZGV2L251bGwNCj4gKysr DQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9T b3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvSTJjQnVzLmgNCj4gQEAgLTAsMCArMSwx NjQgQEANCj4gKy8qKiBAZmlsZQ0KPiArICBJMkMgYnVzIGludGVyZmFjZQ0KPiArDQo+ICsgIFRo aXMgbGF5ZXIgcHJvdmlkZXMgSS9PIGFjY2VzcyB0byBhbiBJMkMgZGV2aWNlLg0KPiArDQo+ICsg IENvcHlyaWdodCAoYykgMjAxMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9fSTJDX0JVU19IX18NCj4gKyNkZWZpbmUgX19J MkNfQlVTX0hfXw0KPiArDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvSTJjSG9zdE1jZy5oPg0KPiAr DQo+ICsvLy8NCj4gKy8vLyBJMkMgYnVzIHByb3RvY29sDQo+ICsvLy8NCj4gK3R5cGVkZWYgc3Ry dWN0IF9FRklfSTJDX0JVU19QUk9UT0NPTCAgRUZJX0kyQ19CVVNfUFJPVE9DT0w7DQo+ICsNCj4g Kw0KPiArLyoqDQo+ICsgIFBlcmZvcm0gYW4gSTJDIG9wZXJhdGlvbiBvbiB0aGUgZGV2aWNlDQo+ ICsNCj4gKyAgVGhpcyByb3V0aW5lIG11c3QgYmUgY2FsbGVkIGF0IG9yIGJlbG93IFRQTF9OT1RJ RlkuICBGb3Igc3luY2hyb25vdXMNCj4gKyAgcmVxdWVzdHMgdGhpcyByb3V0aW5lIG11c3QgYmUg Y2FsbGVkIGF0IG9yIGJlbG93IFRQTF9DQUxMQkFDSy4NCj4gKw0KPiArICBOLkIuIFRoZSB0eXBp Y2FsIGNvbnN1bWVycyBvZiB0aGlzIEFQSSBhcmUgdGhlIHRoaXJkIHBhcnR5IEkyQw0KPiArICBk cml2ZXJzLiAgRXh0cmVtZSBjYXJlIG11c3QgYmUgdGFrZW4gYnkgb3RoZXIgY29uc3VtZXJzIG9m IHRoaXMNCj4gKyAgQVBJIHRvIHByZXZlbnQgY29uZnVzaW5nIHRoZSB0aGlyZCBwYXJ0eSBJMkMg ZHJpdmVycyBkdWUgdG8gYQ0KPiArICBzdGF0ZSBjaGFuZ2UgYXQgdGhlIEkyQyBkZXZpY2Ugd2hp Y2ggdGhlIHRoaXJkIHBhcnR5IEkyQyBkcml2ZXJzDQo+ICsgIGRpZCBub3QgaW5pdGlhdGUuICBJ MkMgcGxhdGZvcm0gZHJpdmVycyBtYXkgdXNlIHRoaXMgQVBJIHdpdGhpbg0KPiArICB0aGVzZSBn dWlkZWxpbmVzLg0KPiArDQo+ICsgIFRoaXMgcm91dGluZSBxdWV1ZXMgYW4gb3BlcmF0aW9uIHRv IHRoZSBJMkMgY29udHJvbGxlciBmb3IgZXhlY3V0aW9uDQo+ICsgIG9uIHRoZSBJMkMgYnVzLg0K PiArDQo+ICsgIEFzIGFuIHVwcGVyIGxheWVyIGRyaXZlciB3cml0ZXIsIHRoZSBmb2xsb3dpbmcg bmVlZCB0byBiZSBwcm92aWRlZA0KPiArICB0byB0aGUgcGxhdGZvcm0gdmVuZG9yOg0KPiArDQo+ ICsgIDEuICBBQ1BJIENJRCB2YWx1ZSBvciBzdHJpbmcgLSB0aGlzIGlzIHVzZWQgdG8gY29ubmVj dCB0aGUgdXBwZXIgbGF5ZXINCj4gKyAgICAgIGRyaXZlciB0byB0aGUgZGV2aWNlLg0KPiArICAy LiAgU2xhdmUgYWRkcmVzcyBhcnJheSBndWlkYW5jZSB3aGVuIHRoZSBJMkMgZGV2aWNlIHVzZXMg bW9yZSB0aGFuIG9uZQ0KPiArICAgICAgc2xhdmUgYWRkcmVzcy4gIFRoaXMgaXMgdXNlZCB0byBh Y2Nlc3MgdGhlIGJsb2NrcyBvZiBoYXJkd2FyZSB3aXRoaW4NCj4gKyAgICAgIHRoZSBJMkMgZGV2 aWNlLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gVGhpcyAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Yg YW4gRUZJX0kyQ19CVVNfUFJPVE9DT0wNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0dXJlDQo+ICsgIEBwYXJhbVtpbl0gU2xhdmVBZGRyZXNzSW5kZXggIEluZGV4IGlu dG8gYW4gYXJyYXkgb2Ygc2xhdmUgYWRkcmVzc2VzIGZvcg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGUgSTJDIGRldmljZS4gIFRoZSB2YWx1ZXMgaW4gdGhlIGFycmF5IGFy ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpZWQgYnkgdGhlIGJv YXJkIGRlc2lnbmVyLCB3aXRoIHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJMkMgZGV2aWNlIGRyaXZlciB3cml0ZXIgcHJvdmlkaW5nIHRoZSBzbGF2ZQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzIG9yZGVyLg0KPiArDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZvciBkZXZpY2VzIHRoYXQgaGF2ZSBhIHNpbmdsZSBz bGF2ZSBhZGRyZXNzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHZh bHVlIG11c3QgYmUgemVyby4gIElmIHRoZSBJMkMgZGV2aWNlDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVzZXMgbW9yZSB0aGFuIG9uZSBzbGF2ZSBhZGRyZXNzIHRoZW4gdGhl IHRoaXJkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnR5ICh1cHBlciBs ZXZlbCkgSTJDIGRyaXZlciB3cml0ZXIgbmVlZHMgdG8NCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3BlY2lmeSB0aGUgb3JkZXIgb2YgZW50cmllcyBpbiB0aGUgc2xhdmUgYWRk cmVzcw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheS4NCj4gKw0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBccmVmIFRoaXJkUGFydHlJMmNEcml2ZXJz ICJUaGlyZCBQYXJ0eSBJMkMgRHJpdmVycyINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VjdGlvbiBpbiBJMmNNYXN0ZXIuaC4NCj4gKyAgQHBhcmFtW2luXSBFdmVudCAgICAg ICAgICAgICAgRXZlbnQgdG8gc2V0IGZvciBhc3luY2hyb25vdXMgb3BlcmF0aW9ucywNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCBmb3Igc3luY2hyb25vdXMgb3BlcmF0 aW9ucw0KPiArICBAcGFyYW1baW5dIFJlcXVlc3RQYWNrZXQgICAgICBBZGRyZXNzIG9mIGFuIEVG SV9JMkNfUkVRVUVTVF9QQUNLRVQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0dXJlIGRlc2NyaWJpbmcgdGhlIEkyQyBvcGVyYXRpb24NCj4gKyAgQHBhcmFtW291dF0g STJjU3RhdHVzICAgICAgICAgT3B0aW9uYWwgYnVmZmVyIHRvIHJlY2VpdmUgdGhlIEkyQyBvcGVy YXRpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbiBzdGF0 dXMNCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgb3BlcmF0aW9u IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgRUZJX0FCT1JURUQgICAgICAg ICAgIFRoZSByZXF1ZXN0IGRpZCBub3QgY29tcGxldGUgYmVjYXVzZSB0aGUNCj4gZHJpdmVyDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcyBzaHV0ZG93bi4NCj4gKyAgQHJl dHZhbCBFRklfQUNDRVNTX0RFTklFRCAgICAgSW52YWxpZCBTbGF2ZUFkZHJlc3NJbmRleCB2YWx1 ZQ0KPiArICBAcmV0dmFsIEVGSV9CQURfQlVGRkVSX1NJWkUgICBUaGUgV3JpdGVCeXRlcyBvciBS ZWFkQnl0ZXMgYnVmZmVyIHNpemUNCj4gaXMgdG9vIGxhcmdlLg0KPiArICBAcmV0dmFsIEVGSV9E RVZJQ0VfRVJST1IgICAgICBUaGVyZSB3YXMgYW4gSTJDIGVycm9yIChOQUNLKSBkdXJpbmcgdGhl DQo+IG9wZXJhdGlvbi4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBj b3VsZCBpbmRpY2F0ZSB0aGUgc2xhdmUgZGV2aWNlIGlzIG5vdCBwcmVzZW50Lg0KPiArICBAcmV0 dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBSZXF1ZXN0UGFja2V0IGlzIE5VTEwNCj4gKyAgQHJl dHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgVFBMIGlzIHRvbyBoaWdoDQo+ICsgIEByZXR2YWwg RUZJX05PX1JFU1BPTlNFICAgICAgIFRoZSBJMkMgZGV2aWNlIGlzIG5vdCByZXNwb25kaW5nIHRv IHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZSBhZGRyZXNzLiAg RUZJX0RFVklDRV9FUlJPUiBtYXkgYWxzbyBiZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm5lZCBpZiB0aGUgY29udHJvbGxlciBjYW4gbm90IGRpc3Rpbmd1aXNoDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gdGhlIE5BQ0sgb2NjdXJyZWQu DQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAgIEkyQyBzbGF2ZSBhZGRyZXNzIGV4 Y2VlZHMgbWF4aW11bQ0KPiBhZGRyZXNzDQo+ICsgIEByZXR2YWwgRUZJX05PVF9SRUFEWSAgICAg ICAgIEkyQyBidXMgaXMgYnVzeSBvciBvcGVyYXRpb24gcGVuZGluZywgd2FpdCBmb3INCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGV2ZW50IGFuZCB0aGVuIHJlYWQgc3Rh dHVzIHBvaW50ZWQgdG8gYnkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhl IHJlcXVlc3QgcGFja2V0Lg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICBJbnN1 ZmZpY2llbnQgbWVtb3J5IGZvciBJMkMgb3BlcmF0aW9uDQo+ICsgIEByZXR2YWwgRUZJX1RJTUVP VVQgICAgICAgICAgIFRoZSB0cmFuc2FjdGlvbiBkaWQgbm90IGNvbXBsZXRlIHdpdGhpbiBhbg0K PiBpbnRlcm5hbGx5DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmll ZCB0aW1lb3V0IHBlcmlvZC4NCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVT DQo+ICsoRUZJQVBJICpFRklfSTJDX0JVU19TVEFSVF9SRVFVRVNUKSAoDQo+ICsgIElOIENPTlNU IEVGSV9JMkNfQlVTX1BST1RPQ09MICpUaGlzLA0KPiArICBJTiBVSU5UTiBTbGF2ZUFkZHJlc3NJ bmRleCwNCj4gKyAgSU4gRUZJX0VWRU5UIEV2ZW50IE9QVElPTkFMLA0KPiArICBJTiBDT05TVCBF RklfSTJDX1JFUVVFU1RfUEFDS0VUICpSZXF1ZXN0UGFja2V0LA0KPiArICBPVVQgRUZJX1NUQVRV UyAqSTJjU3RhdHVzIE9QVElPTkFMDQo+ICsgICk7DQo+ICsNCj4gKy8vLw0KPiArLy8vIFRoZSBJ MkMgYnVzIHByb3RvY29sIGVuYWJsZXMgYWNjZXNzIHRvIGEgc3BlY2lmaWMgZGV2aWNlIG9uIHRo ZSBJMkMgYnVzLg0KPiArLy8vDQo+ICsvLy8gRWFjaCBJMkMgZGV2aWNlIGlzIGRlc2NyaWJlZCBh cyBhbiBBQ1BJIG5vZGUgKEhJRCwgVUlEIGFuZCBDSUQpIHdpdGhpbg0KPiB0aGUNCj4gKy8vLyBw bGF0Zm9ybSBsYXllci4gIFRoZSBJMkMgYnVzIHByb3RvY29sIGVudW1lcmF0ZXMgdGhlIEkyQyBk ZXZpY2VzIGluIHRoZQ0KPiArLy8vIHBsYXRmb3JtIGFuZCBjcmVhdGVzIGEgdW5pcXVlIGhhbmRs ZSBhbmQgZGV2aWNlIHBhdGggZm9yIGVhY2ggSTJDDQo+IGRldmljZS4NCj4gKy8vLw0KPiArLy8v IEkyQyBzbGF2ZSBhZGRyZXNzaW5nIGlzIGFic3RyYWN0ZWQgdG8gdmFsaWRhdGUgYWRkcmVzc2Vz IGFuZCBsaW1pdA0KPiBvcGVyYXRpb24NCj4gKy8vLyB0byB0aGUgc3BlY2lmaWVkIEkyQyBkZXZp Y2UuICBUaGUgdGhpcmQgcGFydHkgcHJvdmlkaW5nIHRoZSBJMkMgZGV2aWNlDQo+IHN1cHBvcnQN Cj4gKy8vLyBwcm92aWRlcyBhbiBvcmRlcmVkIGxpc3Qgb2Ygc2xhdmUgYWRkcmVzc2VzIGZvciB0 aGUgSTJDIGRldmljZSB0byB0aGUNCj4gdGVhbQ0KPiArLy8vIGJ1aWxkaW5nIHRoZSBwbGF0Zm9y bSBsYXllci4gIFRoZSBwbGF0Zm9ybSB0ZWFtIG11c3QgcHJlc2VydmUgdGhlIG9yZGVyDQo+IG9m IHRoZQ0KPiArLy8vIHN1cHBsaWVkIGxpc3QuICBTbGF2ZUFkZHJlc3NDb3VudCBpcyB0aGUgbnVt YmVyIG9mIGVudHJpZXMgaW4gdGhpcyBsaXN0IG9yDQo+ICsvLy8gYXJyYXkgd2l0aGluIHRoZSBw bGF0Zm9ybSBsYXllci4gIFRoZSB0aGlyZCBwYXJ0eSBkZXZpY2Ugc3VwcG9ydA0KPiByZWZlcmVu Y2VzDQo+ICsvLy8gYSBzbGF2ZSBhZGRyZXNzIHVzaW5nIGFuIGluZGV4IGludG8gdGhlIGxpc3Qg b3IgYXJyYXkgaW4gdGhlIHJhbmdlIG9mIHplcm8NCj4gKy8vLyB0byBTbGF2ZUFkZHJlc3NDb3Vu dCAtIDEuDQo+ICsvLy8NCj4gK3N0cnVjdCBfRUZJX0kyQ19CVVNfUFJPVE9DT0wgew0KPiArICAv Ly8NCj4gKyAgLy8vIFN0YXJ0IGFuIEkyQyBvcGVyYXRpb24gb24gdGhlIGJ1cw0KPiArICAvLy8N Cj4gKyAgRUZJX0kyQ19CVVNfU1RBUlRfUkVRVUVTVCBTdGFydFJlcXVlc3Q7DQo+ICsNCj4gKyAg Ly8vDQo+ICsgIC8vLyBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2xhdmUgYWRkcmVzc2VzIGZvciB0 aGUgSTJDIGRldmljZS4gIFRoZSBjYWxsZXINCj4gbWF5DQo+ICsgIC8vLyB2YWxpZGF0ZSB0aGlz IHZhbHVlIGFzIGEgY2hlY2sgb24gdGhlIHBsYXRmb3JtIGxheWVyJ3MgY29uZmlndXJhdGlvbi4N Cj4gU2xhdmUNCj4gKyAgLy8vIGFkZHJlc3Mgc2VsZWN0aW9uIHVzZXMgYW4gaW5kZXggdmFsdWUg aW4gdGhlIHJhbmdlIG9mIHplcm8gdG8NCj4gU2xhdmVBZGRyZXNzQ291bnQgLSAxLg0KPiArICAv Ly8NCj4gKyAgVUlOVE4gU2xhdmVBZGRyZXNzQ291bnQ7DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8v LyBIYXJkd2FyZSByZXZpc2lvbiAtIE1hdGNoZXMgdGhlIEFDUEkgX0hSViB2YWx1ZQ0KPiArICAv Ly8NCj4gKyAgLy8vIFRoZSBIYXJkd2FyZVJldmlzaW9uIHZhbHVlIGFsbG93cyBhIHNpbmdsZSBk cml2ZXIgdG8gc3VwcG9ydCBtdWx0aXBsZQ0KPiBoYXJkd2FyZQ0KPiArICAvLy8gcmV2aXNpb25z IGFuZCBpbXBsZW1lbnQgdGhlIG5lY2Vzc2FyeSB3b3JrYXJvdW5kcyBmb3IgbGltaXRhdGlvbnMN Cj4gd2l0aGluIHRoZQ0KPiArICAvLy8gaGFyZHdhcmUuDQo+ICsgIC8vLw0KPiArICBVSU5UMzIg SGFyZHdhcmVSZXZpc2lvbjsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8vIFRoZSBtYXhpbXVtIG51 bWJlciBvZiBieXRlcyB0aGUgSTJDIGhvc3QgY29udHJvbGxlcg0KPiArICAvLy8gaXMgYWJsZSB0 byByZWNlaXZlIGZyb20gdGhlIEkyQyBidXMuDQo+ICsgIC8vLw0KPiArICBVSU5UMzIgTWF4aW11 bVJlY2VpdmVCeXRlczsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8vIFRoZSBtYXhpbXVtIG51bWJl ciBvZiBieXRlcyB0aGUgSTJDIGhvc3QgY29udHJvbGxlcg0KPiArICAvLy8gaXMgYWJsZSB0byBz ZW5kIG9uIHRoZSBJMkMgYnVzLg0KPiArICAvLy8NCj4gKyAgVUlOVDMyIE1heGltdW1UcmFuc21p dEJ5dGVzOw0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5 dGVzIGluIHRoZSBJMkMgYnVzIHRyYW5zYWN0aW9uLg0KPiArICAvLy8NCj4gKyAgVUlOVDMyIE1h eGltdW1Ub3RhbEJ5dGVzOw0KPiArfTsNCj4gKw0KPiArLy8vDQo+ICsvLy8gR1VJRCBmb3IgdGhl IEkyQyBidXMgcHJvdG9jb2wNCj4gKy8vLw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlJMmNCdXNQ cm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZiAgLy8gIF9fSTJDX0JVU19IX18NCj4gZGlmZiAt LWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJT b2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1BjaEV4dGVuZGVkUmVzZXQuaA0K PiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1BjaEV4dGVuZGVkUmVzZXQuaA0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5lZjc5NzViMDMzDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9W YWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvUGNoRXh0ZW5k ZWRSZXNldC5oDQo+IEBAIC0wLDAgKzEsODQgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0 IChjKSAyMDA4ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFBjaEV4dGVuZGVkUmVz ZXQuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBQQ0ggRXh0ZW5kZWQgUmVzZXQgUHJv dG9jb2wNCj4gKw0KPiArLS0qLw0KPiArI2lmbmRlZiBfRUZJX1BDSF9FWFRFTkRFRF9SRVNFVF9I Xw0KPiArI2RlZmluZSBfRUZJX1BDSF9FWFRFTkRFRF9SRVNFVF9IXw0KPiArDQo+ICsNCj4gKw0K PiArLy8NCj4gKyNkZWZpbmUgRUZJX1BDSF9FWFRFTkRFRF9SRVNFVF9QUk9UT0NPTF9HVUlEIFwN Cj4gKyAgeyBcDQo+ICsgICAgMHhmMGJiZmNhMCwgMHg2ODRlLCAweDQ4YjMsIDB4YmEsIDB4ZTIs IDB4NmMsIDB4ODQsIDB4YjgsIDB4OWUsIDB4NTMsIDB4MzkNCj4gXA0KPiArICB9DQo+ICtleHRl cm4gRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnRWZpUGNoRXh0ZW5k ZWRSZXNldFByb3RvY29sR3VpZDsNCj4gKw0KPiArLy8NCj4gKy8vIEZvcndhcmQgcmVmZXJlbmNl IGZvciBBTlNJIEMgY29tcGF0aWJpbGl0eQ0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9FRklf UENIX0VYVEVOREVEX1JFU0VUX1BST1RPQ09MDQo+IEVGSV9QQ0hfRVhURU5ERURfUkVTRVRfUFJP VE9DT0w7DQo+ICsNCj4gKy8vDQo+ICsvLyBSZWxhdGVkIERlZmluaXRpb25zDQo+ICsvLw0KPiAr Ly8NCj4gKy8vIFBDSCBFeHRlbmRlZCBSZXNldCBUeXBlcw0KPiArLy8NCj4gK3R5cGVkZWYgc3Ry dWN0IHsNCj4gKyAgVUlOVDggUG93ZXJDeWNsZSAgOiAxOyAgLy8gMDogRGlzYWJsZWQqOyAxOiBF bmFibGVkDQo+ICsgIFVJTlQ4IEdsb2JhbFJlc2V0IDogMTsgIC8vIDA6IERpc2FibGVkKjsgMTog RW5hYmxlZA0KPiArICBVSU5UOCBTdXNQd3JEbkFjayA6IDE7ICAvLyAwOiBEbyBOb3RoaW5nOw0K PiArICAvLyAxOiBHUElPWzMwXShTVVNfUFdSX0ROX0FDSykgbGV2ZWwgaXMgc2V0IGxvdyBwcmlv ciB0byBHbG9iYWwNCj4gUmVzZXQoZm9yIHN5c3RlbXMgd2l0aCBhbiBlbWJlZGRlZCBjb250cm9s bGVyKQ0KPiArICBVSU5UOCBSc3ZkQml0cyA6IDU7ICAgICAvLyBSZXNlcnZlZCBmaWVsZHMgZm9y IGZ1dHVyZSBleHBhbnNpb24gdy9vIHByb3RvY29sDQo+IGNoYW5nZQ0KPiArfSBQQ0hfRVhURU5E RURfUkVTRVRfVFlQRVM7DQo+ICsNCj4gKy8vDQo+ICsvLyBNZW1iZXIgZnVuY3Rpb25zDQo+ICsv Lw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1BDSF9FWFRFTkRF RF9SRVNFVCkgKA0KPiArICBJTiAgICAgRUZJX1BDSF9FWFRFTkRFRF9SRVNFVF9QUk9UT0NPTCAg ICogVGhpcywNCj4gKyAgSU4gICAgIFBDSF9FWFRFTkRFRF9SRVNFVF9UWVBFUyAgICAgICAgICBQ Y2hFeHRlbmRlZFJlc2V0VHlwZXMNCj4gKyAgKTsNCj4gKw0KPiArLyorKw0KPiArDQo+ICtSb3V0 aW5lIERlc2NyaXB0aW9uOg0KPiArDQo+ICsgIEV4ZWN1dGUgUGNoIEV4dGVuZGVkIFJlc2V0IGZy b20gdGhlIGhvc3QgY29udHJvbGxlci4NCj4gKw0KPiArQXJndW1lbnRzOg0KPiArDQo+ICsgIFRo aXMgICAgICAgICAgICAgICAgICAgIC0gUG9pbnRlciB0byB0aGUgRUZJX1BDSF9FWFRFTkRFRF9S RVNFVF9QUk9UT0NPTA0KPiBpbnN0YW5jZS4NCj4gKyAgUGNoRXh0ZW5kZWRSZXNldFR5cGVzICAg LSBQY2ggRXh0ZW5kZWQgUmVzZXQgVHlwZXMgd2hpY2ggaW5jbHVkZXMNCj4gUG93ZXJDeWNsZSwg R2xvYmFscmVzZXQuDQo+ICsNCj4gK1JldHVybnM6DQo+ICsNCj4gKyAgRG9lcyBub3QgcmV0dXJu IGlmIHRoZSByZXNldCB0YWtlcyBwbGFjZS4NCj4gKyAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAg LSBJZiBSZXNldFR5cGUgaXMgaW52YWxpZC4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsvLw0KPiAr Ly8gSW50ZXJmYWNlIHN0cnVjdHVyZSBmb3IgdGhlIFBjaCBFeHRlbmRlZCBSZXNldCBQcm90b2Nv bA0KPiArLy8NCj4gK3N0cnVjdCBfRUZJX1BDSF9FWFRFTkRFRF9SRVNFVF9QUk9UT0NPTCB7DQo+ ICsgIEVGSV9QQ0hfRVhURU5ERURfUkVTRVQgIFJlc2V0Ow0KPiArfTsNCj4gKw0KPiArI2VuZGlm DQo+IGRpZmYgLS1naXQNCj4gYS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zh bGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9QY2hJbmZvLmgN Cj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1Nv dXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9QY2hJbmZvLmgNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMjJlMjVjMjdmYQ0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5Vmll dzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1BjaEluZm8uaA0KPiBAQCAt MCwwICsxLDYwIEBADQo+ICsvKioNCj4gKyoqLw0KPiArLyoqDQo+ICsNCj4gK0NvcHlyaWdodCAo YykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0K PiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICsNCj4gKw0KPiArDQo+ICsgIEBmaWxlDQo+ICsgIFBjaEluZm8uaA0KPiArDQo+ICsgIEBicmll Zg0KPiArICBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgUENIIEluZm8gUHJvdG9jb2wuDQo+ICsNCj4g KyoqLw0KPiArI2lmbmRlZiBfUENIX0lORk9fSF8NCj4gKyNkZWZpbmUgX1BDSF9JTkZPX0hfDQo+ ICsNCj4gKw0KPiArI2RlZmluZSBFRklfUENIX0lORk9fUFJPVE9DT0xfR1VJRCBcDQo+ICsgIHsg XA0KPiArICAgIDB4ZDMxZjA0MDAsIDB4N2QxNiwgMHg0MzE2LCAweGJmLCAweDg4LCAweDYwLCAw eDY1LCAweDg4LCAweDNiLCAweDQwLCAweDJiDQo+IFwNCj4gKyAgfQ0KPiArZXh0ZXJuIEVGSV9H VUlEICAgICAgICAgICAgICAgICAgICAgICBnRWZpUGNoSW5mb1Byb3RvY29sR3VpZDsNCj4gKw0K PiArLy8vDQo+ICsvLy8gRm9yd2FyZCByZWZlcmVuY2UgZm9yIEFOU0kgQyBjb21wYXRpYmlsaXR5 DQo+ICsvLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9FRklfUENIX0lORk9fUFJPVE9DT0wgRUZJX1BD SF9JTkZPX1BST1RPQ09MOw0KPiArDQo+ICsvLy8NCj4gKy8vLyBQcm90b2NvbCByZXZpc2lvbiBu dW1iZXINCj4gKy8vLyBBbnkgYmFja3dhcmRzIGNvbXBhdGlibGUgY2hhbmdlcyB0byB0aGlzIHBy b3RvY29sIHdpbGwgcmVzdWx0IGluIGFuDQo+IHVwZGF0ZSBpbiB0aGUgcmV2aXNpb24gbnVtYmVy DQo+ICsvLy8gTWFqb3IgY2hhbmdlcyB3aWxsIHJlcXVpcmUgcHVibGljYXRpb24gb2YgYSBuZXcg cHJvdG9jb2wNCj4gKy8vLw0KPiArLy8vIFJldmlzaW9uIDE6ICBPcmlnaW5hbCB2ZXJzaW9uDQo+ ICsvLy8NCj4gKyNkZWZpbmUgUENIX0lORk9fUFJPVE9DT0xfUkVWSVNJT05fMSAgMQ0KPiArI2Rl ZmluZSBQQ0hfSU5GT19QUk9UT0NPTF9SRVZJU0lPTl8yICAyDQo+ICsNCj4gKy8vLw0KPiArLy8v IFJDVmVyc2lvbls3OjBdIGlzIHRoZSByZWxlYXNlIG51bWJlci4NCj4gKy8vLyBGb3IgZXhhbXBs ZToNCj4gKy8vLyBWbHZGcmFtZXdvcmsgMC42LjAtMDEgc2hvdWxkIGJlIDAwIDA2IDAwIDAxICgw eDAwMDYwMDAxKQ0KPiArLy8vIFZsdkZyYW1ld29yayAwLjYuMiAgICBzaG91bGQgYmUgMDAgMDYg MDIgMDAgKDB4MDAwNjAyMDApDQo+ICsvLy8NCj4gKyNkZWZpbmUgUENIX1JDX1ZFUlNJT04gICAg ICAgICAgICAgICAgMHgwMTAwMDAwMA0KPiArDQo+ICsvLy8NCj4gKy8vLyBQcm90b2NvbCBkZWZp bml0aW9uDQo+ICsvLy8NCj4gK3N0cnVjdCBfRUZJX1BDSF9JTkZPX1BST1RPQ09MIHsNCj4gKyAg VUlOVDggICBSZXZpc2lvbjsNCj4gKyAgVUlOVDggICBCdXNOdW1iZXI7DQo+ICsgIFVJTlQzMiAg UkNWZXJzaW9uOw0KPiArfTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9TaWxp Y29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rl ci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9QY2hQbGF0Zm9ybVBvbGljeS5oDQo+IGIvU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5j bHVkDQo+IGUvUHJvdG9jb2wvUGNoUGxhdGZvcm1Qb2xpY3kuaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi43OTg0NWQ2NDZkDQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvUGNoUGxhdGZvcm1Qb2xpY3kuaA0K PiBAQCAtMCwwICsxLDU1MCBAQA0KPiArLyoqDQo+ICsqKi8NCj4gKy8qKg0KPiArDQo+ICtDb3B5 cmlnaHQgKGMpIDIwMTMgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiArDQo+ICsNCj4gKw0KPiArICBAZmlsZQ0KPiArICBQY2hQbGF0Zm9ybVBvbGljeS5o DQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFBDSCBwb2xpY3kgcHJvdG9jb2wgcHJvZHVjZWQgYnkg YSBwbGF0Zm9ybSBkcml2ZXIgc3BlY2lmeWluZyB2YXJpb3VzDQo+ICsgIGV4cGVjdGVkIFBDSCBz ZXR0aW5ncy4gVGhpcyBwcm90b2NvbCBpcyBjb25zdW1lZCBieSB0aGUgUENIIGRyaXZlcnMuDQo+ ICsNCj4gKyoqLw0KPiArI2lmbmRlZiBfUENIX1BMQVRGT1JNX1BPTElDWV9IXw0KPiArI2RlZmlu ZSBfUENIX1BMQVRGT1JNX1BPTElDWV9IXw0KPiArDQo+ICsNCj4gKy8vDQo+ICsjaW5jbHVkZSAi UGNoUmVncy5oIg0KPiArI2lmbmRlZiBFQ1BfRkxBRw0KPiArI2luY2x1ZGUgIlVlZmkuaCINCj4g KyNlbmRpZg0KPiArDQo+ICsjZGVmaW5lIERYRV9QQ0hfUExBVEZPUk1fUE9MSUNZX1BST1RPQ09M X0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweDRiMDE2NWE5LCAweDYxZDYsIDB4NGUyMywgMHhh MCwgMHhiNSwgMHgzZSwgMHhjNywgMHg5YywgMHgyZSwgMHgzMCwNCj4gMHhkNSBcDQo+ICsgIH0N Cj4gK2V4dGVybiBFRklfR1VJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ0R4 ZVBjaFBsYXRmb3JtUG9saWN5UHJvdG9jb2xHdWlkOw0KPiArDQo+ICsvLy8NCj4gKy8vLyBGb3J3 YXJkIHJlZmVyZW5jZSBmb3IgQU5TSSBDIGNvbXBhdGliaWxpdHkNCj4gKy8vLw0KPiArdHlwZWRl ZiBzdHJ1Y3QgX0RYRV9QQ0hfUExBVEZPUk1fUE9MSUNZX1BST1RPQ09MDQo+IERYRV9QQ0hfUExB VEZPUk1fUE9MSUNZX1BST1RPQ09MOw0KPiArDQo+ICsvLy8NCj4gKy8vLyBQcm90b2NvbCByZXZp c2lvbiBudW1iZXINCj4gKy8vLyBBbnkgYmFja3dhcmRzIGNvbXBhdGlibGUgY2hhbmdlcyB0byB0 aGlzIHByb3RvY29sIHdpbGwgcmVzdWx0IGluIGFuDQo+IHVwZGF0ZSBpbiB0aGUgcmV2aXNpb24g bnVtYmVyDQo+ICsvLy8gTWFqb3IgY2hhbmdlcyB3aWxsIHJlcXVpcmUgcHVibGljYXRpb24gb2Yg YSBuZXcgcHJvdG9jb2wNCj4gKy8vLw0KPiArLy8vIFJldmlzaW9uIDE6IE9yaWdpbmFsIHZlcnNp b24NCj4gKy8vLw0KPiArI2RlZmluZSBEWEVfUENIX1BMQVRGT1JNX1BPTElDWV9QUk9UT0NPTF9S RVZJU0lPTl8xIDENCj4gKyNkZWZpbmUgRFhFX1BDSF9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0xf UkVWSVNJT05fMiAyDQo+ICsjZGVmaW5lIERYRV9QQ0hfUExBVEZPUk1fUE9MSUNZX1BST1RPQ09M X1JFVklTSU9OXzMgMw0KPiArI2RlZmluZSBEWEVfUENIX1BMQVRGT1JNX1BPTElDWV9QUk9UT0NP TF9SRVZJU0lPTl80IDQNCj4gKyNkZWZpbmUgRFhFX1BDSF9QTEFURk9STV9QT0xJQ1lfUFJPVE9D T0xfUkVWSVNJT05fNSA1DQo+ICsjZGVmaW5lIERYRV9QQ0hfUExBVEZPUk1fUE9MSUNZX1BST1RP Q09MX1JFVklTSU9OXzYgNg0KPiArI2RlZmluZSBEWEVfUENIX1BMQVRGT1JNX1BPTElDWV9QUk9U T0NPTF9SRVZJU0lPTl83IDcNCj4gKyNkZWZpbmUgRFhFX1BDSF9QTEFURk9STV9QT0xJQ1lfUFJP VE9DT0xfUkVWSVNJT05fOCA4DQo+ICsjZGVmaW5lIERYRV9QQ0hfUExBVEZPUk1fUE9MSUNZX1BS T1RPQ09MX1JFVklTSU9OXzkgOQ0KPiArI2RlZmluZSBEWEVfUENIX1BMQVRGT1JNX1BPTElDWV9Q Uk9UT0NPTF9SRVZJU0lPTl8xMCAxMA0KPiArI2RlZmluZSBEWEVfUENIX1BMQVRGT1JNX1BPTElD WV9QUk9UT0NPTF9SRVZJU0lPTl8xMSAxMQ0KPiArI2RlZmluZSBEWEVfUENIX1BMQVRGT1JNX1BP TElDWV9QUk9UT0NPTF9SRVZJU0lPTl8xMiAxMg0KPiArDQo+ICsvLy8NCj4gKy8vLyBHZW5lcmlj IGRlZmluaXRpb25zIGZvciBkZXZpY2UgZW5hYmxpbmcvZGlzYWJsaW5nIHVzZWQgYnkgUENIIGNv ZGUuDQo+ICsvLy8NCj4gKyNkZWZpbmUgUENIX0RFVklDRV9FTkFCTEUgICAxDQo+ICsjZGVmaW5l IFBDSF9ERVZJQ0VfRElTQUJMRSAgMA0KPiArDQo+ICsvLy8NCj4gKy8vLyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tIERldmljZSBFbmFibGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gKy8vLw0KPiArLy8vIFBDSCBEZXZpY2UgZW5hYmxpbmdzDQo+ICsvLy8NCj4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggTGFuICAgICAgICAgICAgICAgOiAxOyAgICAvLy8g MDogRGlzYWJsZTsgMTogRW5hYmxlDQo+ICsgIFVJTlQ4IEF6YWxpYSAgICAgICAgICAgIDogMjsg ICAgLy8vIDA6IERpc2FibGU7IDE6IEVuYWJsZTsgMjogQXV0bw0KPiArICBVSU5UOCBTYXRhICAg ICAgICAgICAgICA6IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBFbmFibGUNCj4gKyAgVUlOVDgg U21idXMgICAgICAgICAgICAgOiAxOyAgICAvLy8gMDogRGlzYWJsZTsgMTogRW5hYmxlDQo+ICsg IFVJTlQ4IExwZUVuYWJsZWQgICAgICAgIDogMjsgICAgLy8vIDA6IERpc2FibGVkOyAxOiBQQ0kg TW9kZSAyOiBBQ1BJIE1vZGUNCj4gKyAgVUlOVDggUmVzZXJ2ZWRbMV07ICAgICAgICAgICAgICAv Ly8gUmVzZXJ2ZWQgZmllbGRzIGZvciBmdXR1cmUgZXhwYW5zaW9uIHcvbw0KPiBwcm90b2NvbCBj aGFuZ2UNCj4gK30gUENIX0RFVklDRV9FTkFCTElORzsNCj4gKw0KPiArLy8vDQo+ICsvLy8gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBVU0IgQ29uZmlnIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+ICsvLy8NCj4gKy8vLw0KPiArLy8vIE92ZXJjdXJyZW50IHBpbnMNCj4gKy8v Lw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgUGNoVXNiT3ZlckN1cnJlbnRQaW4wID0gMCwNCj4g KyAgUGNoVXNiT3ZlckN1cnJlbnRQaW4xLA0KPiArICBQY2hVc2JPdmVyQ3VycmVudFBpbjIsDQo+ ICsgIFBjaFVzYk92ZXJDdXJyZW50UGluMywNCj4gKyAgUGNoVXNiT3ZlckN1cnJlbnRQaW40LA0K PiArICBQY2hVc2JPdmVyQ3VycmVudFBpbjUsDQo+ICsgIFBjaFVzYk92ZXJDdXJyZW50UGluNiwN Cj4gKyAgUGNoVXNiT3ZlckN1cnJlbnRQaW43LA0KPiArICBQY2hVc2JPdmVyQ3VycmVudFBpblNr aXAsDQo+ICsgIFBjaFVzYk92ZXJDdXJyZW50UGluTWF4DQo+ICt9IFBDSF9VU0JfT1ZFUkNVUlJF TlRfUElOOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgRW5hYmxlICAg ICAgICAgICAgOiAxOyAgICAvLy8gMDogRGlzYWJsZTsgMTogRW5hYmxlLiBUaGlzIHdvdWxkIHRh a2UgZWZmZWN0DQo+IHdoaWxlIFVzYlBlclBvcnRDdGwgaXMgZW5hYmxlZA0KPiArICBVSU5UOCAg IFBhbmVsICAgICAgICAgICAgIDogMTsgICAgLy8vIDA6IEJhY2sgUGFuZWwgUG9ydDsgMTogRnJv bnQgUGFuZWwgUG9ydC4NCj4gKyAgVUlOVDggICBEb2NrICAgICAgICAgICAgICA6IDE7ICAgIC8v LyAwOiBOb3QgZG9ja2luZyBwb3J0OyAxOiBEb2NraW5nIFBvcnQuDQo+ICsgIFVJTlQ4ICAgUnN2 ZGJpdHMgICAgICAgICAgOiA1Ow0KPiArfSBQQ0hfVVNCX1BPUlRfU0VUVElOR1M7DQo+ICsNCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggRW5hYmxlICAgICAgICAgICAgICA6IDE7ICAg IC8vLyAwOiBEaXNhYmxlOyAxOiBFbmFibGUNCj4gKyAgVUlOVDggUnN2ZGJpdHMgICAgICAgICAg ICA6IDc7DQo+ICt9IFBDSF9VU0IyMF9DT05UUk9MTEVSX1NFVFRJTkdTOw0KPiArDQo+ICt0eXBl ZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4IEVuYWJsZSAgICAgICAgICAgICAgOiAyOyAgICAvLy8g MDogMDogRGlzYWJsZWQ7IDE6IFBDSSBNb2RlIDI6IEFDUEkgTW9kZQ0KPiArICBVSU5UOCBSc3Zk Yml0cyAgICAgICAgICAgIDogNjsNCj4gK30gUENIX1VTQk9UR19DT05UUk9MTEVSX1NFVFRJTkdT Ow0KPiArDQo+ICsjZGVmaW5lIFBDSF9YSENJX01PREVfT0ZGICAgICAgICAgMA0KPiArI2RlZmlu ZSBQQ0hfWEhDSV9NT0RFX09OICAgICAgICAgIDENCj4gKyNkZWZpbmUgUENIX1hIQ0lfTU9ERV9B VVRPICAgICAgICAyDQo+ICsjZGVmaW5lIFBDSF9YSENJX01PREVfU01BUlRBVVRPICAgMw0KPiAr DQo+ICsjZGVmaW5lIFBDSF9FSENJX0RFQlVHX09GRiAgICAgICAgMA0KPiArI2RlZmluZSBQQ0hf RUhDSV9ERUJVR19PTiAgICAgICAgIDENCj4gKw0KPiArI2RlZmluZSBQQ0hfVVNCX0ZST05UX1BB TkVMICAgICAgIDENCj4gKyNkZWZpbmUgUENIX1VTQl9CQUNLX1BBTkVMICAgICAgICAwDQo+ICsN Cj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggTW9kZSAgICAgICAgICAgICAgIDogMjsg ICAgLy8vIDA6IERpc2FibGU7IDE6IEVuYWJsZSwgMjogQXV0bywgMzogU21hcnQgQXV0bw0KPiAr ICBVSU5UOCBQcmVCb290U3VwcG9ydCAgICAgOiAxOyAgICAvLy8gMDogTm8geEhDSSBkcml2ZXIg YXZhaWxhYmxlOyAxOiB4SENJIGRyaXZlcg0KPiBhdmFpbGFibGUNCj4gKyAgVUlOVDggWGhjaVN0 cmVhbXMgICAgICAgIDogMTsgICAgLy8vIDA6IERpc2FibGU7IDE6IEVuYWJsZQ0KPiArICBVSU5U OCBSc3ZkYml0cyAgICAgICAgICAgOiA0Ow0KPiArfSBQQ0hfVVNCMzBfQ09OVFJPTExFUl9TRVRU SU5HUzsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCBVc2JQZXJQb3J0Q3Rs ICAgICAgIDogMTsgICAgLy8vIDA6IERpc2FibGU7IDE6IEVuYWJsZSBQZXItcG9ydCBlbmFibGUN Cj4gY29udHJvbA0KPiArICBVSU5UOCBFaGNpMVVzYnIgICAgICAgICAgIDogMTsgICAgLy8vIDA6 IERpc2FibGU7IDE6IEVuYWJsZSBFSENJIDEgVVNCUg0KPiArICBVSU5UOCBSc3ZkQml0cyAgICAg ICAgICAgIDogNjsNCj4gKyAgUENIX1VTQl9QT1JUX1NFVFRJTkdTDQo+IFBvcnRTZXR0aW5nc1tQ Q0hfVVNCX01BWF9QSFlTSUNBTF9QT1JUU107DQo+ICsgIFBDSF9VU0IyMF9DT05UUk9MTEVSX1NF VFRJTkdTDQo+IFVzYjIwU2V0dGluZ3NbUGNoRWhjaUNvbnRyb2xsZXJNYXhdOw0KPiArICBQQ0hf VVNCMzBfQ09OVFJPTExFUl9TRVRUSU5HUyAgVXNiMzBTZXR0aW5nczsNCj4gKyAgUENIX1VTQk9U R19DT05UUk9MTEVSX1NFVFRJTkdTIFVzYk90Z1NldHRpbmdzOw0KPiArICBQQ0hfVVNCX09WRVJD VVJSRU5UX1BJTg0KPiBVc2IyME92ZXJDdXJyZW50UGluc1tQQ0hfVVNCX01BWF9QSFlTSUNBTF9Q T1JUU107DQo+ICsgIFBDSF9VU0JfT1ZFUkNVUlJFTlRfUElODQo+IFVzYjMwT3ZlckN1cnJlbnRQ aW5zW1BDSF9YSENJX01BWF9VU0IzX1BPUlRTXTsNCj4gKyAgLy8vDQo+ICsgIC8vLyBUaGUgbGVu Z3RoIG9mIFVzYiBQb3J0IHRvIGNvbmZpZ3VyZSB0aGUgVVNCIHRyYW5zbWl0dGVyLA0KPiArICAv Ly8gQml0cyBbMTY6NF0gcmVwcmVzZW50cyBsZW5ndGggb2YgVXNiIFBvcnQgaW4gaW5jaGVzIHVz aW5nIG9jdGFsIGZvcm1hdA0KPiBhbmQgWzM6MF0gaXMgZm9yIHRoZSBkZWNpbWFsIFBvaW50Lg0K PiArICAvLy8NCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgVXNiMjBQb3J0TGVu Z3RoW1BDSF9FSENJX01BWF9QT1JUU107DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg ICAgIEVoY2lEZWJ1ZzsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgVXNiWGhj aUxwbVN1cHBvcnQ7DQo+ICsNCj4gK30gUENIX1VTQl9DT05GSUc7DQo+ICsNCj4gKy8vLw0KPiAr Ly8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUENJIEV4cHJlc3MgQ29uZmlnIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gKy8vLw0KPiArLy8vIFRoZSB2YWx1ZXMgYmVmb3JlIEF1dG9D b25maWcgbWF0Y2ggdGhlIHNldHRpbmcgb2YgUENJIEV4cHJlc3MgQmFzZQ0KPiBTcGVjaWZpY2F0 aW9uIDEuMSwgcGxlYXNlIGJlIGNhcmVmdWwgZm9yIGFkZGluZyBuZXcgZmVhdHVyZQ0KPiArLy8v DQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBQY2hQY2llQXNwbURpc2FibGVkLA0KPiArICBQY2hQ Y2llQXNwbUwwcywNCj4gKyAgUGNoUGNpZUFzcG1MMSwNCj4gKyAgUGNoUGNpZUFzcG1MMHNMMSwN Cj4gKyAgUGNoUGNpZUFzcG1BdXRvQ29uZmlnLA0KPiArICBQY2hQY2llQXNwbU1heA0KPiArfSBQ Q0hfUENJX0VYUFJFU1NfQVNQTV9DT05UUk9MOw0KPiArDQo+ICsvLy8NCj4gKy8vLyBSZWZlciB0 byBQQ0ggRURTIGZvciB0aGUgUENIIGltcGxlbWVudGF0aW9uIHZhbHVlcyBjb3JyZXNwb25kaW5n DQo+ICsvLy8gdG8gYmVsb3cgUENJLUUgc3BlYyBkZWZpbmVkIHJhbmdlcw0KPiArLy8vDQo+ICt0 eXBlZGVmIGVudW0gew0KPiArICBQY2hQY2lFQ29tcGxldGlvblRPX0RlZmF1bHQsDQo+ICsgIFBj aFBjaUVDb21wbGV0aW9uVE9fNTBfMTAwdXMsDQo+ICsgIFBjaFBjaUVDb21wbGV0aW9uVE9fMV8x MG1zLA0KPiArICBQY2hQY2lFQ29tcGxldGlvblRPXzE2XzU1bXMsDQo+ICsgIFBjaFBjaUVDb21w bGV0aW9uVE9fNjVfMjEwbXMsDQo+ICsgIFBjaFBjaUVDb21wbGV0aW9uVE9fMjYwXzkwMG1zLA0K PiArICBQY2hQY2lFQ29tcGxldGlvblRPXzFfM1A1cywNCj4gKyAgUGNoUGNpRUNvbXBsZXRpb25U T180XzEzcywNCj4gKyAgUGNoUGNpRUNvbXBsZXRpb25UT18xN182NHMsDQo+ICsgIFBjaFBjaUVD b21wbGV0aW9uVE9fRGlzYWJsZWQNCj4gK30gUENIX1BDSUVfQ09NUExFVElPTl9USU1FT1VUOw0K PiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4IEVuYWJsZSAgICAgICAgICAgICAg ICAgICAgICAgICAgOiAxOyAgICAvLy8gUm9vdCBQb3J0IGVuYWJsaW5nLCAwOiBEaXNhYmxlOyAx OiBFbmFibGUuDQo+ICsgIFVJTlQ4IEhpZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAx OyAgICAvLy8gV2hldGhlciBvciBub3QgdG8gaGlkZSB0aGUgY29uZmlndXJhdGlvbg0KPiBzcGFj ZSBvZiB0aGlzIHBvcnQNCj4gKyAgVUlOVDggU2xvdEltcGxlbWVudGVkICAgICAgICAgICAgICAg ICA6IDE7DQo+ICsgIFVJTlQ4IEhvdFBsdWcgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOw0K PiArICBVSU5UOCBQbVNjaSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTsNCj4gKyAgVUlO VDggRXh0U3luYyAgICAgICAgICAgICAgICAgICAgICAgICA6IDE7ICAgIC8vLyBFeHRlbmRlZCBT eW5jaA0KPiArICBVSU5UOCBSc3ZkYml0cyAgICAgICAgICAgICAgICAgICAgICAgIDogMjsNCj4g KyAgLy8vDQo+ICsgIC8vLyBFcnJvciBoYW5kbGluZ3MNCj4gKyAgLy8vDQo+ICsgIFVJTlQ4IFVu c3VwcG9ydGVkUmVxdWVzdFJlcG9ydCAgICAgICAgOiAxOw0KPiArICBVSU5UOCBGYXRhbEVycm9y UmVwb3J0ICAgICAgICAgICAgICAgIDogMTsNCj4gKyAgVUlOVDggTm9GYXRhbEVycm9yUmVwb3J0 ICAgICAgICAgICAgICA6IDE7DQo+ICsgIFVJTlQ4IENvcnJlY3RhYmxlRXJyb3JSZXBvcnQgICAg ICAgICAgOiAxOw0KPiArICBVSU5UOCBQbWVJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgIDog MTsNCj4gKyAgVUlOVDggU3lzdGVtRXJyb3JPbkZhdGFsRXJyb3IgICAgICAgICA6IDE7DQo+ICsg IFVJTlQ4IFN5c3RlbUVycm9yT25Ob25GYXRhbEVycm9yICAgICAgOiAxOw0KPiArICBVSU5UOCBT eXN0ZW1FcnJvck9uQ29ycmVjdGFibGVFcnJvciAgIDogMTsNCj4gKw0KPiArICBVSU5UOCBBZHZh bmNlZEVycm9yUmVwb3J0aW5nICAgICAgICAgIDogMTsNCj4gKyAgVUlOVDggVHJhbnNtaXR0ZXJI YWxmU3dpbmcgICAgICAgICAgICA6IDE7DQo+ICsgIFVJTlQ4IFJlc2VydmVkICAgICAgICAgICAg ICAgICAgICAgICAgOiA2OyAgICAvLy8gUmVzZXJ2ZWQgZmllbGRzIGZvciBmdXR1cmUgZXhwYW5z aW9uDQo+IHcvbyBwcm90b2NvbCBjaGFuZ2UNCj4gKw0KPiArICBVSU5UOCBGdW5jdGlvbk51bWJl cjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIFRoZSBmdW5jdGlvbiBudW1iZXIgdGhpcyBy b290DQo+IHBvcnQgaXMgbWFwcGVkIHRvLg0KPiArICBVSU5UOCBQaHlzaWNhbFNsb3ROdW1iZXI7 DQo+ICsgIFBDSF9QQ0lFX0NPTVBMRVRJT05fVElNRU9VVCAgIENvbXBsZXRpb25UaW1lb3V0Ow0K PiArICBQQ0hfUENJX0VYUFJFU1NfQVNQTV9DT05UUk9MICBBc3BtOw0KPiArfSBQQ0hfUENJX0VY UFJFU1NfUk9PVF9QT1JUX0NPTkZJRzsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICAv KioNCj4gKyAgICBWZW5kb3JJZA0KPiArDQo+ICsgICAgICBUaGUgdmVuZG9yIElkIG9mIFBjaSBF eHByZXNzIGNhcmQgQVNQTSBzZXR0aW5nIG92ZXJyaWRlLCAweEZGRkYgbWVhbnMNCj4gYW55IFZl bmRvciBJRA0KPiArDQo+ICsgICAgRGV2aWNlSWQNCj4gKw0KPiArICAgICAgVGhlIERldmljZSBJ ZCBvZiBQY2kgRXhwcmVzcyBjYXJkIEFTUE0gc2V0dGluZyBvdmVycmlkZSwgMHhGRkZGIG1lYW5z DQo+IGFueSBEZXZpY2UgSUQNCj4gKw0KPiArICAgIFJldklkDQo+ICsNCj4gKyAgICAgIFRoZSBS ZXYgSWQgb2YgUGNpIEV4cHJlc3MgY2FyZCBBU1BNIHNldHRpbmcgb3ZlcnJpZGUsIDB4RkYgbWVh bnMgYWxsDQo+IHN0ZXBwaW5ncw0KPiArDQo+ICsgICAgQmFzZUNsYXNzQ29kZQ0KPiArDQo+ICsg ICAgICBUaGUgQmFzZSBDbGFzcyBDb2RlIG9mIFBjaSBFeHByZXNzIGNhcmQgQVNQTSBzZXR0aW5n IG92ZXJyaWRlLCAweEZGDQo+IG1lYW5zIGFsbCBiYXNlIGNsYXNzDQo+ICsNCj4gKyAgICBTdWJD bGFzc0NvZGUNCj4gKw0KPiArICAgICAgVGhlIFN1YiBDbGFzcyBDb2RlIG9mIFBjaSBFeHByZXNz IGNhcmQgQVNQTSBzZXR0aW5nIG92ZXJyaWRlLCAweEZGDQo+IG1lYW5zIGFsbCBzdWIgY2xhc3MN Cj4gKw0KPiArDQo+ICsgICAgRW5kUG9pbnRBc3BtDQo+ICsNCj4gKyAgICAgIFRoZSBvdmVycmlk ZSBBU1BNIHNldHRpbmcgZnJvbSBFbmQgcG9pbnQNCj4gKyAgKiovDQo+ICsgIFVJTlQxNiAgICAg ICAgICAgICAgICAgICAgICAgIFZlbmRvcklkOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAg ICAgICAgICBEZXZpY2VJZDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgUmV2 SWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2VDbGFzc0NvZGU7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIFN1YkNsYXNzQ29kZTsNCj4gKyAgUENI X1BDSV9FWFBSRVNTX0FTUE1fQ09OVFJPTCAgRW5kUG9pbnRBc3BtOw0KPiArfSBQQ0hfUENJRV9E RVZJQ0VfQVNQTV9PVkVSUklERTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5U MTYgIFZlbmRvcklkOyAvLy88IFBDSSBjb25maWd1cmF0aW9uIHNwYWNlIG9mZnNldCAwDQo+ICsg IFVJTlQxNiAgRGV2aWNlSWQ7IC8vLzwgUENJIGNvbmZpZ3VyYXRpb24gc3BhY2Ugb2Zmc2V0IDIN Cj4gKyAgVUlOVDggICBSZXZJZDsgICAgLy8vPCBQQ0kgY29uZmlndXJhdGlvbiBzcGFjZSBvZmZz ZXQgODsgMHhGRiBtZWFucyBhbGwNCj4gc3RlcHBpbmdzDQo+ICsgIC8qKg0KPiArICAgIFNub29w TGF0ZW5jeSBiaXQgZGVmaW5pdGlvbg0KPiArICAgIE5vdGU6IEFsbCBSZXNlcnZlZCBiaXRzIG11 c3QgYmUgc2V0IHRvIDANCj4gKw0KPiArICAgIEJJVFsxNV0gICAgIC0gV2hlbiBzZXQgdG8gMWIs IGluZGljYXRlcyB0aGF0IHRoZSB2YWx1ZXMgaW4gYml0cyA5OjAgYXJlIHZhbGlkDQo+ICsgICAg ICAgICAgICAgICAgICBXaGVuIGNsZWFyIHZhbHVlcyBpbiBiaXRzIDk6MCB3aWxsIGJlIGlnbm9y ZWQNCj4gKyAgICBCSVRTWzE0OjEzXSAtIFJlc2VydmVkDQo+ICsgICAgQklUU1sxMjoxMF0gLSBW YWx1ZSBpbiBiaXRzIDk6MCB3aWxsIGJlIG11bHRpcGxpZWQgd2l0aCB0aGUgc2NhbGUgaW4gdGhl c2UgYml0cw0KPiArICAgICAgICAgICAgICAgICAgMDAwYiAtIDEgbnMNCj4gKyAgICAgICAgICAg ICAgICAgIDAwMWIgLSAzMiBucw0KPiArICAgICAgICAgICAgICAgICAgMDEwYiAtIDEwMjQgbnMN Cj4gKyAgICAgICAgICAgICAgICAgIDAxMWIgLSAzMiw3NjggbnMNCj4gKyAgICAgICAgICAgICAg ICAgIDEwMGIgLSAxLDA0OCw1NzYgbnMNCj4gKyAgICAgICAgICAgICAgICAgIDEwMWIgLSAzMyw1 NTQsNDMyIG5zDQo+ICsgICAgICAgICAgICAgICAgICAxMTBiIC0gUmVzZXJ2ZWQNCj4gKyAgICAg ICAgICAgICAgICAgIDExMWIgLSBSZXNlcnZlZA0KPiArICAgIEJJVFNbOTowXSAgIC0gU25vb3Ag TGF0ZW5jeSBWYWx1ZS4gVGhlIHZhbHVlIGluIHRoZXNlIGJpdHMgd2lsbCBiZSBtdWx0aXBsaWVk DQo+IHdpdGgNCj4gKyAgICAgICAgICAgICAgICAgIHRoZSBzY2FsZSBpbiBiaXRzIDEyOjEwDQo+ ICsgICoqLw0KPiArICBVSU5UMTYgIFNub29wTGF0ZW5jeTsNCj4gKyAgLyoqDQo+ICsgICAgTm9u U25vb3BMYXRlbmN5IGJpdCBkZWZpbml0aW9uDQo+ICsgICAgTm90ZTogQWxsIFJlc2VydmVkIGJp dHMgbXVzdCBiZSBzZXQgdG8gMA0KPiArDQo+ICsgICAgQklUWzE1XSAgICAgLSBXaGVuIHNldCB0 byAxYiwgaW5kaWNhdGVzIHRoYXQgdGhlIHZhbHVlcyBpbiBiaXRzIDk6MCBhcmUgdmFsaWQNCj4g KyAgICAgICAgICAgICAgICAgIFdoZW4gY2xlYXIgdmFsdWVzIGluIGJpdHMgOTowIHdpbGwgYmUg aWdub3JlZA0KPiArICAgIEJJVFNbMTQ6MTNdIC0gUmVzZXJ2ZWQNCj4gKyAgICBCSVRTWzEyOjEw XSAtIFZhbHVlIGluIGJpdHMgOTowIHdpbGwgYmUgbXVsdGlwbGllZCB3aXRoIHRoZSBzY2FsZSBp biB0aGVzZSBiaXRzDQo+ICsgICAgICAgICAgICAgICAgICAwMDBiIC0gMSBucw0KPiArICAgICAg ICAgICAgICAgICAgMDAxYiAtIDMyIG5zDQo+ICsgICAgICAgICAgICAgICAgICAwMTBiIC0gMTAy NCBucw0KPiArICAgICAgICAgICAgICAgICAgMDExYiAtIDMyLDc2OCBucw0KPiArICAgICAgICAg ICAgICAgICAgMTAwYiAtIDEsMDQ4LDU3NiBucw0KPiArICAgICAgICAgICAgICAgICAgMTAxYiAt IDMzLDU1NCw0MzIgbnMNCj4gKyAgICAgICAgICAgICAgICAgIDExMGIgLSBSZXNlcnZlZA0KPiAr ICAgICAgICAgICAgICAgICAgMTExYiAtIFJlc2VydmVkDQo+ICsgICAgQklUU1s5OjBdICAgLSBO b24gU25vb3AgTGF0ZW5jeSBWYWx1ZS4gVGhlIHZhbHVlIGluIHRoZXNlIGJpdHMgd2lsbCBiZQ0K PiBtdWx0aXBsaWVkIHdpdGgNCj4gKyAgICAgICAgICAgICAgICAgIHRoZSBzY2FsZSBpbiBiaXRz IDEyOjEwDQo+ICsgICoqLw0KPiArICBVSU5UMTYgIE5vblNub29wTGF0ZW5jeTsNCj4gK30gUENI X1BDSUVfREVWSUNFX0xUUl9PVkVSUklERTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiAr ICAvLy8NCj4gKyAgLy8vIFRlbXAgQnVzIE51bWJlciByYW5nZSBhdmFpbGFibGUgdG8gYmUgYXNz aWduZWQgdG8NCj4gKyAgLy8vIGVhY2ggcm9vdCBwb3J0IGFuZCBpdHMgZG93bnN0cmVhbSBkZXZp Y2VzIGZvciBpbml0aWFsaXphdGlvbg0KPiArICAvLy8gb2YgdGhlc2UgZGV2aWNlcyBiZWZvcmUg UENJIEJ1cyBlbnVtZXJhdGlvbg0KPiArICAvLy8NCj4gKyAgVUlOVDggICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRlbXBSb290UG9ydEJ1c051bU1pbjsNCj4gKyAgVUlOVDggICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFRlbXBSb290UG9ydEJ1c051bU1heDsNCj4gKyAgUENIX1BDSV9F WFBSRVNTX1JPT1RfUE9SVF9DT05GSUcNCj4gUm9vdFBvcnRbUENIX1BDSUVfTUFYX1JPT1RfUE9S VFNdOw0KPiArICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9vdFBvcnRDbG9j a0dhdGluZzsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bU9mRGV2 QXNwbU92ZXJyaWRlOyAgICAgLy8vIE51bWJlciBvZiBQQ0kNCj4gRXhwcmVzcyBjYXJkIEFzcG0g c2V0dGluZyBvdmVycmlkZQ0KPiArICBQQ0hfUENJRV9ERVZJQ0VfQVNQTV9PVkVSUklERSAgICAg KkRldkFzcG1PdmVycmlkZTsgICAgICAgICAvLy8gVGhlDQo+IFBvaW50ZXIgd2hpY2ggaXMgcG9p bnQgdG8gUGNpIEV4cHJlc3MgY2FyZCBBc3BtIHNldHRpbmcgb3ZlcnJpZGUNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBjaWVEeW5hbWljR2F0aW5nOyAgICAgICAgLy8v IE5lZWQgUE1DIGVuYWJsZSBpdCBmaXJzdA0KPiBmcm9tIFBNQyAweDNfMTIgTUNVIDMxOC4NCj4g K30gUENIX1BDSV9FWFBSRVNTX0NPTkZJRzsNCj4gKw0KPiArDQo+ICsvLy8NCj4gKy8vLyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNBVEEgQ29uZmlnIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+ICsvLy8NCj4gK3R5cGVkZWYgZW51bSB7DQo+ICsgIFBjaFNhdGFTcGVlZFN1 cHBvcnRHZW4xID0gMSwNCj4gKyAgUGNoU2F0YVNwZWVkU3VwcG9ydEdlbjINCj4gK30gUENIX1NB VEFfU1BFRURfU1VQUE9SVDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCBF bmFibGUgICAgICAgICAgOiAxOyAgICAvLy8gMDogRGlzYWJsZTsgMTogRW5hYmxlDQo+ICsgIFVJ TlQ4IEhvdFBsdWcgICAgICAgICA6IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBFbmFibGUNCj4g KyAgVUlOVDggTWVjaFN3ICAgICAgICAgIDogMTsgICAgLy8vIDA6IERpc2FibGU7IDE6IEVuYWJs ZQ0KPiArICBVSU5UOCBFeHRlcm5hbCAgICAgICAgOiAxOyAgICAvLy8gMDogRGlzYWJsZTsgMTog RW5hYmxlDQo+ICsgIFVJTlQ4IFNwaW5VcCAgICAgICAgICA6IDE7ICAgIC8vLyAwOiBEaXNhYmxl OyAxOiBFbmFibGUgdGhlIENPTVJFU0VUIGluaXRpYWxpemF0aW9uDQo+IFNlcXVlbmNlIHRvIHRo ZSBkZXZpY2UNCj4gKyAgVUlOVDggUnN2ZGJpdHMgICAgICAgIDogMzsgICAgLy8vIFJlc2VydmVk IGZpZWxkcyBmb3IgZnV0dXJlIGV4cGFuc2lvbiB3L28NCj4gcHJvdG9jb2wgY2hhbmdlDQo+ICt9 IFBDSF9TQVRBX1BPUlRfU0VUVElOR1M7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAg UENIX1NBVEFfUE9SVF9TRVRUSU5HUyAgUG9ydFNldHRpbmdzW1BDSF9BSENJX01BWF9QT1JUU107 DQo+ICsgIFVJTlQ4IFJhaWRBbHRlcm5hdGVJZCA6IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBF bmFibGUNCj4gKyAgVUlOVDggUmFpZDAgICAgICAgICAgIDogMTsgICAgLy8vIDA6IERpc2FibGU7 IDE6IEVuYWJsZSBSQUlEMA0KPiArICBVSU5UOCBSYWlkMSAgICAgICAgICAgOiAxOyAgICAvLy8g MDogRGlzYWJsZTsgMTogRW5hYmxlIFJBSUQxDQo+ICsgIFVJTlQ4IFJhaWQxMCAgICAgICAgICA6 IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBFbmFibGUgUkFJRDEwDQo+ICsgIFVJTlQ4IFJhaWQ1 ICAgICAgICAgICA6IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBFbmFibGUgUkFJRDUNCj4gKyAg VUlOVDggSXJydCAgICAgICAgICAgIDogMTsgICAgLy8vIDA6IERpc2FibGU7IDE6IEVuYWJsZSBJ bnRlbCBSYXBpZCBSZWNvdmVyeQ0KPiBUZWNobm9sb2d5DQo+ICsgIFVJTlQ4IE9yb21VaUJhbm5l ciAgICA6IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBFbmFibGUgT1JPTSBVSSBhbmQNCj4gQkFO TkVSDQo+ICsgIFVJTlQ4IEhkZFVubG9jayAgICAgICA6IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAx OiBJbmRpY2F0ZXMgdGhhdCB0aGUgSEREDQo+IHBhc3N3b3JkIHVubG9jayBpbiB0aGUgT1MgaXMg ZW5hYmxlZA0KPiArDQo+ICsgIFVJTlQ4IExlZExvY2F0ZSAgICAgICA6IDE7ICAgIC8vLyAwOiBE aXNhYmxlOyAxOiBJbmRpY2F0ZXMgdGhhdCB0aGUgTEVEL1NHUElPDQo+IGhhcmR3YXJlIGlzIGF0 dGFjaGVkIGFuZCBwaW5nIHRvIGxvY2F0ZSBmZWF0dXJlIGlzIGVuYWJsZWQgb24gdGhlIE9TDQo+ ICsgIFVJTlQ4IElycnRPbmx5ICAgICAgICA6IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBBbGxv dyBvbmx5IElSUlQgZHJpdmVzIHRvIHNwYW4NCj4gaW50ZXJuYWwgYW5kIGV4dGVybmFsIHBvcnRz DQo+ICsgIFVJTlQ4IFRlc3RNb2RlICAgICAgICA6IDE7ICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBB bGxvdyBlbnRyYW5jZSB0byB0aGUgUENIIFNBVEENCj4gdGVzdCBtb2Rlcw0KPiArICBVSU5UOCBT YWxwU3VwcG9ydCAgICAgOiAxOyAgICAvLy8gMDogRGlzYWJsZTsgMTogRW5hYmxlIEFnZ3Jlc3Np dmUgTGluayBQb3dlcg0KPiBNYW5hZ2VtZW50DQo+ICsgIFVJTlQ4IExlZ2FjeU1vZGUgICAgICA6 IDE7ICAgIC8vLyAwOiBOYXRpdmUgUENJIG1vZGU7IDE6IExlZ2FjeSBtb2RlLCB3aGVuDQo+IFNB VEEgY29udHJvbGxlciBpcyBvcGVyYXRpbmcgaW4gSURFIG1vZGUNCj4gKyAgVUlOVDggU3BlZWRT dXBwb3J0ICAgIDogNDsgICAgLy8vIEluZGljYXRlcyB0aGUgbWF4aW11bSBzcGVlZCB0aGUgU0FU QQ0KPiBjb250cm9sbGVyIGNhbiBzdXBwb3J0DQo+ICsgIC8vLyAxaDogMS41IEdiL3MgKEdlbiAx KTsgMmg6IDMgR2IvcyhHZW4gMikNCj4gKw0KPiArICBVSU5UOCBSc3ZkYml0cyAgICAgICAgOiA3 OyAgICAvLyBSZXNlcnZlZCBmaWVsZHMgZm9yIGZ1dHVyZSBleHBhbnNpb24gdy9vDQo+IHByb3Rv Y29sIGNoYW5nZQ0KPiArfSBQQ0hfU0FUQV9DT05GSUc7DQo+ICsvLy8NCj4gKy8vLyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0gQVpBTElBIENvbmZpZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gKy8vLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgIFZlbmRv ckRldmljZUlkOw0KPiArICBVSU5UMTYgIFN1YlN5c3RlbUlkOw0KPiArICBVSU5UOCAgIFJldmlz aW9uSWQ7ICAgICAgICAgICAgICAgICAgICAgICAvLy8gMHhGRiBhcHBsaWVzIHRvIGFsbCBzdGVw cGluZ3MNCj4gKyAgVUlOVDggICBGcm9udFBhbmVsU3VwcG9ydDsNCj4gKyAgVUlOVDE2ICBOdW1i ZXJPZlJlYXJKYWNrczsNCj4gKyAgVUlOVDE2ICBOdW1iZXJPZkZyb250SmFja3M7DQo+ICt9IFBD SF9BWkFMSUFfVkVSQl9UQUJMRV9IRUFERVI7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4g KyAgUENIX0FaQUxJQV9WRVJCX1RBQkxFX0hFQURFUiAgVmVyYlRhYmxlSGVhZGVyOw0KPiArICBV SU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAqVmVyYlRhYmxlRGF0YTsNCj4gK30gUENIX0Fa QUxJQV9WRVJCX1RBQkxFOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgICAgICBQbWUgICAgICAgOiAxOyAgICAgIC8vLyAwOiBEaXNhYmxlOyAxOiBFbmFi bGUNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgIERTICAgICAgICA6IDE7ICAgICAgLy8vIDA6 IERvY2tpbmcgaXMgbm90IHN1cHBvcnRlZDsgMTpEb2NraW5nIGlzDQo+IHN1cHBvcnRlZA0KPiAr ICBVSU5UOCAgICAgICAgICAgICAgICAgREEgICAgICAgIDogMTsgICAgICAvLy8gMDogRG9ja2lu ZyBpcyBub3QgYXR0YWNoZWQ7IDE6RG9ja2luZyBpcw0KPiBhdHRhY2hlZA0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgSGRtaUNvZGVjIDogMTsgICAgICAvLy8gMDogRGlzYWJsZTsgMTogRW5h YmxlDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICBBemFsaWFWQ2kgOiAxOyAgICAgIC8vLyAw OiBEaXNhYmxlOyAxOiBFbmFibGUNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgIFJzdmRiaXRz ICA6IDM7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICBBemFsaWFWZXJiVGFibGVOdW07IC8v LyBOdW1iZXIgb2YgdmVyYiB0YWJsZXMgcHJvdmlkZWQNCj4gYnkgcGxhdGZvcm0NCj4gKyAgUENI X0FaQUxJQV9WRVJCX1RBQkxFICpBemFsaWFWZXJiVGFibGU7ICAgLy8vIFBvaW50ZXIgdG8gdGhl IGFjdHVhbA0KPiB2ZXJiIHRhYmxlKHMpDQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICBSZXNl dFdhaXRUaW1lcjsgICAgIC8vLyBUaGUgZGVsYXkgdGltZXIgYWZ0ZXIgQXphbGlhIHJlc2V0LA0K PiB0aGUgdmFsdWUgaXMgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcw0KPiArfSBQQ0hfQVpBTElBX0NP TkZJRzsNCj4gKw0KPiArLy8vDQo+ICsvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNt YnVzIENvbmZpZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy8vLw0KPiArdHlw ZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCBOdW1Sc3ZkU21idXNBZGRyZXNzZXM7DQo+ICsgIFVJ TlQ4ICpSc3ZkU21idXNBZGRyZXNzVGFibGU7DQo+ICt9IFBDSF9TTUJVU19DT05GSUc7DQo+ICsN Cj4gKy8vLw0KPiArLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNaXNjZWxsYW5lb3Vz IFBNIENvbmZpZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtDQo+ICsvLy8NCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggTWVXYWtlU3RzICAgICAgICAgICA6IDE7DQo+ ICsgIFVJTlQ4IE1lSHJzdENvbGRTdHMgICAgICAgOiAxOw0KPiArICBVSU5UOCBNZUhyc3RXYXJt U3RzICAgICAgIDogMTsNCj4gKyAgVUlOVDggTWVIb3N0UG93ZXJEbiAgICAgICA6IDE7DQo+ICsg IFVJTlQ4IFdvbE92cldrU3RzICAgICAgICAgOiAxOw0KPiArICBVSU5UOCBSc3ZkYml0cyAgICAg ICAgICAgIDogMzsNCj4gK30gUENIX1BPV0VSX1JFU0VUX1NUQVRVUzsNCj4gKw0KPiArdHlwZWRl ZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgUG1lQjBTNURpcyAgICAgICAgIDogMTsNCj4gKyAgVUlO VDggIFdvbEVuYWJsZU92ZXJyaWRlICA6IDE7DQo+ICsgIFVJTlQ4ICBSc3ZkYml0cyAgICAgICAg ICAgOiA2Ow0KPiArfSBQQ0hfV0FLRV9DT05GSUc7DQo+ICsNCj4gK3R5cGVkZWYgZW51bSB7DQo+ ICsgIFBjaFNscFMzNjB1cywNCj4gKyAgUGNoU2xwUzMxbXMsDQo+ICsgIFBjaFNscFMzNTBtcywN Cj4gKyAgUGNoU2xwUzMycw0KPiArfSBQQ0hfU0xQX1MzX01JTl9BU1NFUlQ7DQo+ICsNCj4gK3R5 cGVkZWYgZW51bSB7DQo+ICsgIFBjaFNscFM0UGNoVGltZSwgICAvLy8gVGhlIHRpbWUgZGVmaW5l ZCBpbiBFRFMgUG93ZXIgU2VxdWVuY2luZyBhbmQNCj4gUmVzZXQgU2lnbmFsIFRpbWluZ3MgdGFi bGUNCj4gKyAgUGNoU2xwUzQxcywNCj4gKyAgUGNoU2xwUzQycywNCj4gKyAgUGNoU2xwUzQzcywN Cj4gKyAgUGNoU2xwUzQ0cw0KPiArfSBQQ0hfU0xQX1M0X01JTl9BU1NFUlQ7DQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gKyAgLy8vDQo+ICsgIC8vLyBTcGVjaWZ5IHdoaWNoIFBvd2VyL1Jl c2V0IGJpdHMgbmVlZCB0byBiZSBjbGVhcmVkIGJ5DQo+ICsgIC8vLyB0aGUgUENIIEluaXQgRHJp dmVyLg0KPiArICAvLy8gVXN1YWxseSBwbGF0Zm9ybSBkcml2ZXJzIHRha2UgY2FyZSBvZiB0aGVz ZSBiaXRzLCBidXQgaWYNCj4gKyAgLy8vIG5vdCwgbGV0IFBDSCBJbml0IGRyaXZlciBjbGVhciB0 aGUgYml0cy4NCj4gKyAgLy8vDQo+ICsgIFBDSF9QT1dFUl9SRVNFVF9TVEFUVVMgIFBvd2VyUmVz ZXRTdGF0dXNDbGVhcjsNCj4gKyAgLy8vDQo+ICsgIC8vLyBTcGVjaWZ5IFdha2UgUG9saWN5DQo+ ICsgIC8vLw0KPiArICBQQ0hfV0FLRV9DT05GSUcgICAgICAgICBXYWtlQ29uZmlnOw0KPiArICAv Ly8NCj4gKyAgLy8vIFNMUF9YWCBNaW5pbXVtIEFzc2VydGlvbiBXaWR0aCBQb2xpY3kNCj4gKyAg Ly8vDQo+ICsgIFBDSF9TTFBfUzNfTUlOX0FTU0VSVCAgIFBjaFNscFMzTWluQXNzZXJ0Ow0KPiAr ICBQQ0hfU0xQX1M0X01JTl9BU1NFUlQgICBQY2hTbHBTNE1pbkFzc2VydDsNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgU2xwU3RyY2hTdXNVcCA6IDE7ICAvLy8gRW5hYmxlL0Rpc2FibGUg U0xQX1ggU3RyZXRjaGluZw0KPiBBZnRlciBTVVMgV2VsbCBQb3dlciBVcA0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICBTbHBMYW5Mb3dEYyAgIDogMTsNCj4gKyAgVUlOVDggICAgICAgICAg ICAgICAgICAgUnN2ZGJpdHMgICAgICA6IDY7DQo+ICt9IFBDSF9NSVNDX1BNX0NPTkZJRzsNCj4g Kw0KPiArLy8vDQo+ICsvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFN1YnN5c3RlbSBW ZW5kb3IgSUQgLyBTdWJzeXN0ZW0gSUQgQ29uZmlnIC0tLS0tDQo+ICsvLy8NCj4gK3R5cGVkZWYg c3RydWN0IHsNCj4gKyAgVUlOVDE2ICBTdWJTeXN0ZW1WZW5kb3JJZDsNCj4gKyAgVUlOVDE2ICBT dWJTeXN0ZW1JZDsNCj4gK30gUENIX0RFRkFVTFRfU1ZJRF9TSUQ7DQo+ICsNCj4gKy8vLw0KPiAr Ly8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBMb2NrIERvd24gQ29uZmlnIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArLy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsg IFVJTlQ4ICBHbG9iYWxTbWkgICAgICA6IDE7DQo+ICsgIFVJTlQ4ICBCaW9zSW50ZXJmYWNlICA6 IDE7DQo+ICsgIFVJTlQ4ICBSdGNMb2NrICAgICAgICA6IDE7DQo+ICsgIFVJTlQ4ICBCaW9zTG9j ayAgICAgICA6IDE7DQo+ICsgIFVJTlQ4ICBSc3ZkYml0cyAgICAgICA6IDQ7DQo+ICsgIFVJTlQ4 ICBQY2hCaW9zTG9ja1N3U21pTnVtYmVyOw0KPiArfSBQQ0hfTE9DS19ET1dOX0NPTkZJRzsNCj4g Ky8vDQo+ICsvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU2VyaWFsIElSUSBDb25maWcg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsvLw0KPiArdHlwZWRlZiBlbnVtIHsN Cj4gKyAgUGNoUXVpZXRNb2RlLA0KPiArICBQY2hDb250aW51b3VzTW9kZQ0KPiArfSBQQ0hfU0lS UV9NT0RFOw0KPiArLy8vDQo+ICsvLy8gUmVmZXIgdG8gU29DIEVEUyBmb3IgdGhlIGRldGFpbHMg b2YgU3RhcnQgRnJhbWUgUHVsc2UgV2lkdGggaW4NCj4gQ29udGludW91cyBhbmQgUXVpZXQgbW9k ZQ0KPiArLy8vDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgQk9PTEVBTiAgICAgICAg ICAgICAgICAgU2lycUVuYWJsZTsgICAgICAgLy8vIERldGVybWluZXMgaWYgZW5hYmxlIFNlcmlh bCBJUlENCj4gKyAgUENIX1NJUlFfTU9ERSAgICAgICAgICAgU2lycU1vZGU7ICAgICAgICAgLy8v IFNlcmlhbCBJUlEgTW9kZSBTZWxlY3QNCj4gK30gUENIX0xQQ19TSVJRX0NPTkZJRzsNCj4gKw0K PiArLy8vDQo+ICsvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBvd2VyIE9wdGltaXpl ciBDb25maWcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsvLy8NCj4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggIE51bU9mRGV2THRyT3ZlcnJpZGU7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vLyBOdW1iZXIgb2YgUGNpIEV4cHJlc3MNCj4gY2FyZCBsaXN0ZWQg aW4gTFRSIG92ZXJyaWRlIHRhYmxlDQo+ICsgIFBDSF9QQ0lFX0RFVklDRV9MVFJfT1ZFUlJJREUg KkRldkx0ck92ZXJyaWRlOyAgICAgICAgICAvLy8gUG9pbnRlciB0byBQY2kNCj4gRXhwcmVzcyBk ZXZpY2VzIExUUiBvdmVycmlkZSB0YWJsZQ0KPiArfSBQQ0hfUFdSX09QVF9DT05GSUc7DQo+ICsN Cj4gKy8vLw0KPiArLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSBMb3cgUG93ZXIgSW5wdXQgT3V0 cHV0IENvbmZpZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy8vLw0KPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBMcHNzUGNpTW9kZUVuYWJsZWQg ICAgOiAxOyAgICAvLy8gRGV0ZXJtaW5lcyBpZiBMUFNTIFBDSQ0KPiBNb2RlIGVuYWJsZWQNCj4g KyAgVUlOVDggICAgICAgICAgICAgICAgICAgRG1hMEVuYWJsZWQgICAgICAgICAgIDogMTsgICAg IC8vLyBEZXRlcm1pbmVzIGlmIExQU1MgRE1BMQ0KPiBlbmFibGVkDQo+ICsgIFVJTlQ4ICAgICAg ICAgICAgICAgICAgIERtYTFFbmFibGVkICAgICAgICAgICA6IDE7ICAgICAvLy8gRGV0ZXJtaW5l cyBpZiBMUFNTIERNQTINCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJ MkMwRW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBJMkMg IzENCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJMkMxRW5hYmxlZCAg ICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBJMkMgIzINCj4gZW5hYmxl ZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJMkMyRW5hYmxlZCAgICAgICAgICAgOiAx OyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBJMkMgIzMNCj4gZW5hYmxlZA0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAgICBJMkMzRW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERl dGVybWluZXMgaWYgTFBTUyBJMkMgIzQNCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgICBJMkM0RW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYg TFBTUyBJMkMgIzUNCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJMkM1 RW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBJMkMgIzYN Cj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJMkM2RW5hYmxlZCAgICAg ICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBJMkMgIzcNCj4gZW5hYmxlZA0K PiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBQd20wRW5hYmxlZCAgICAgICAgICAgOiAxOyAg ICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBQV00gIzENCj4gZW5hYmxlZA0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICBQd20xRW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgLy8vIERldGVy bWluZXMgaWYgTFBTUyBQV00gIzINCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAg ICAgICBIc3VhcnQwRW5hYmxlZCAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBT UyBIU1VBUlQgIzENCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBIc3Vh cnQxRW5hYmxlZCAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBIU1VBUlQg IzINCj4gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBTcGlFbmFibGVkICAg ICAgICAgICAgOiAxOyAgICAgLy8vIERldGVybWluZXMgaWYgTFBTUyBTUEkgZW5hYmxlZA0KPiAr ICBVSU5UOCAgICAgICAgICAgICAgICAgICBSc3ZkYml0cyAgICAgICAgICAgICAgOiAyOw0KPiAr fSBQQ0hfTFBTU19DT05GSUc7DQo+ICsNCj4gKy8vLw0KPiArLy8vIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tIFNDQyBDb25maWcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gKy8vLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAg ICBlTU1DRW5hYmxlZCAgICAgICAgICAgOiAxOyAgICAgIC8vLyBEZXRlcm1pbmVzIGlmIFNDQyBl TU1DDQo+IGVuYWJsZWQNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgU2Rpb0VuYWJsZWQg ICAgICAgICAgIDogMTsgICAgICAvLy8gRGV0ZXJtaW5lcyBpZiBTQ0MgU0RJTyBlbmFibGVkDQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIFNkY2FyZEVuYWJsZWQgICAgICAgICA6IDE7ICAg ICAgLy8vIERldGVybWluZXMgaWYgU0NDIFNEIENhcmQNCj4gZW5hYmxlZA0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICBIc2lFbmFibGVkICAgICAgICAgICAgOiAxOyAgICAgIC8vLyBEZXRl cm1pbmVzIGlmIFNDQyBIU0kgZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBl TU1DNDVFbmFibGVkICAgICAgICAgOiAxOyAgICAgIC8vLyBEZXRlcm1pbmVzIGlmIFNDQyBlTU1D DQo+IDQuNSBlbmFibGVkDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIGVNTUM0NUREUjUw RW5hYmxlZCAgICA6IDE7ICAvLy8gRGV0ZXJtaW5lcyBpZiBERFI1MA0KPiBlbmFibGVkIGZvciBl TU1DIDQuNQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBlTU1DNDVIUzIwMEVuYWJsZWQg ICAgOiAxOyAgLy8vIERldGVybWluZXMgaWYNCj4gSFMyMDBuYWJsZWQgZm9yIGVNTUMgNC41DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIFJzdmRiaXRzICAgICAgICAgICAgICA6IDE7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIFNkQ2FyZFNEUjI1RW5hYmxlZCAgICA6IDE7ICAg IC8vLyBEZXRlcm1pbmVzIGlmIFNEUjI1IGZvciBTRA0KPiBDYXJkDQo+ICsgIFVJTlQ4ICAgICAg ICAgICAgICAgICAgIFNkQ2FyZEREUjUwRW5hYmxlZCAgICA6IDE7ICAgIC8vLyBEZXRlcm1pbmVz IGlmIEREUjUwIGZvciBTRA0KPiBDYXJkDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIFJz dmRiaXRzMSAgICAgICAgICAgICA6IDY7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIGVN TUM0NVJldHVuZVRpbWVyVmFsdWU7ICAvLy8gRGV0ZXJtaW5lcyByZXR1bmUgdGltZXINCj4gdmFs dWUuDQo+ICt9IFBDSF9TQ0NfQ09ORklHOw0KPiArDQo+ICsvLy8NCj4gKy8vLyAtLS0tLS0tLS0t LS0gR2VuZXJhbCBQQ0ggUGxhdGZvcm0gUG9saWN5IHByb3RvY29sIGRlZmluaXRpb24gLS0tLS0t LS0tLS0tDQo+ICsvLy8NCj4gK3N0cnVjdCBfRFhFX1BDSF9QTEFURk9STV9QT0xJQ1lfUFJPVE9D T0wgew0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBSZXZpc2lvbjsNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgQnVzTnVtYmVyOyAgLy8vIFBDSSBCdXMgTnVtYmVyIG9mIHRoZSBQ Q0ggZGV2aWNlDQo+ICsgIFBDSF9ERVZJQ0VfRU5BQkxJTkcgICAgICpEZXZpY2VFbmFibGluZzsN Cj4gKyAgUENIX1VTQl9DT05GSUcgICAgICAgICAgKlVzYkNvbmZpZzsNCj4gKyAgUENIX1BDSV9F WFBSRVNTX0NPTkZJRyAgKlBjaUV4cHJlc3NDb25maWc7DQo+ICsNCj4gKyAgUENIX1NBVEFfQ09O RklHICAgICAgICAgKlNhdGFDb25maWc7DQo+ICsgIFBDSF9BWkFMSUFfQ09ORklHICAgICAgICpB emFsaWFDb25maWc7DQo+ICsgIFBDSF9TTUJVU19DT05GSUcgICAgICAgICpTbWJ1c0NvbmZpZzsN Cj4gKyAgUENIX01JU0NfUE1fQ09ORklHICAgICAgKk1pc2NQbUNvbmZpZzsNCj4gKyAgUENIX0RF RkFVTFRfU1ZJRF9TSUQgICAgKkRlZmF1bHRTdmlkU2lkOw0KPiArICBQQ0hfTE9DS19ET1dOX0NP TkZJRyAgICAqTG9ja0Rvd25Db25maWc7DQo+ICsgIFBDSF9MUENfU0lSUV9DT05GSUcgICAgICpT ZXJpYWxJcnFDb25maWc7DQo+ICsgIFBDSF9QV1JfT1BUX0NPTkZJRyAgICAgICpQd3JPcHRDb25m aWc7DQo+ICsgIFBDSF9MUFNTX0NPTkZJRyAgICAgICAgICpMcHNzQ29uZmlnOw0KPiArICBQQ0hf U0NDX0NPTkZJRyAgICAgICAgICAqU2NjQ29uZmlnOw0KPiArICBVSU5UOCAgICAgICAgICAgICAg ICAgICBJZGxlUmVzZXJ2ZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgRWhjaVBsbENm Z0VuYWJsZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgQWNwaUhXUmVkOyAvL0hhcmR3 YXJlIFJlZHVjZWQgTW9kZQ0KPiArfTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4g YS9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRo Q2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9QY2hSZXNldC5oDQo+IGIvU2lsaWNvbi9JbnRl bC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVk DQo+IGUvUHJvdG9jb2wvUGNoUmVzZXQuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwLi43ZTYzZjU4MzQ2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2ls aWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0 ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvUGNoUmVzZXQuaA0KPiBAQCAtMCwwICsxLDExNCBAQA0K PiArLyoqDQo+ICsqKi8NCj4gKy8qKg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTEgIC0gMjAx NCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0K PiArICBAZmlsZQ0KPiArICBQY2hSZXNldC5oDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFBDSCBS ZXNldCBQcm90b2NvbA0KPiArDQo+ICsqKi8NCj4gKyNpZm5kZWYgX1BDSF9SRVNFVF9IXw0KPiAr I2RlZmluZSBfUENIX1JFU0VUX0hfDQo+ICsNCj4gKw0KPiArLy8NCj4gKyNkZWZpbmUgUENIX1JF U0VUX1BST1RPQ09MX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweGRiNjM1OTJjLCAweGI4Y2Ms IDB4NDRjOCwgMHg5MSwgMHg4YywgMHg1MSwgMHhmNSwgMHgzNCwgMHg1OSwgMHg4YSwgMHg1YQ0K PiBcDQo+ICsgIH0NCj4gKyNkZWZpbmUgUENIX1JFU0VUX0NBTExCQUNLX1BST1RPQ09MX0dVSUQg XA0KPiArICB7IFwNCj4gKyAgICAweDNhMzMwMGFiLCAweGM5MjksIDB4NDg3ZCwgMHhhYiwgMHgz NCwgMHgxNSwgMHg5YiwgMHhjMSwgMHgzNSwgMHg2MiwgMHhjMA0KPiBcDQo+ICsgIH0NCj4gK2V4 dGVybiBFRklfR1VJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ1BjaFJlc2V0UHJvdG9j b2xHdWlkOw0KPiArZXh0ZXJuIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn UGNoUmVzZXRDYWxsYmFja1Byb3RvY29sR3VpZDsNCj4gKw0KPiArLy8vDQo+ICsvLy8gRm9yd2Fy ZCByZWZlcmVuY2UgZm9yIEFOU0kgQyBjb21wYXRpYmlsaXR5DQo+ICsvLy8NCj4gK3R5cGVkZWYg c3RydWN0IF9QQ0hfUkVTRVRfUFJPVE9DT0wgICAgICAgICAgUENIX1JFU0VUX1BST1RPQ09MOw0K PiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfUENIX1JFU0VUX0NBTExCQUNLX1BST1RPQ09MDQo+IFBD SF9SRVNFVF9DQUxMQkFDS19QUk9UT0NPTDsNCj4gKw0KPiArLy8vDQo+ICsvLy8gUmVsYXRlZCBE ZWZpbml0aW9ucw0KPiArLy8vDQo+ICsvLy8NCj4gKy8vLyBQQ0ggUmVzZXQgVHlwZXMNCj4gKy8v Lw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgQ29sZFJlc2V0LA0KPiArICBXYXJtUmVzZXQsDQo+ ICsgIFNodXRkb3duUmVzZXQsDQo+ICsgIFBvd2VyQ3ljbGVSZXNldCwNCj4gKyAgR2xvYmFsUmVz ZXQsDQo+ICsgIEdsb2JhbFJlc2V0V2l0aEVjDQo+ICt9IFBDSF9SRVNFVF9UWVBFOw0KPiArDQo+ ICsvLy8NCj4gKy8vLyBNZW1iZXIgZnVuY3Rpb25zDQo+ICsvLy8NCj4gK3R5cGVkZWYNCj4gK0VG SV9TVEFUVVMNCj4gKyhFRklBUEkgKlBDSF9SRVNFVCkgKA0KPiArICBJTiAgICAgUENIX1JFU0VU X1BST1RPQ09MICAgICAgICogVGhpcywNCj4gKyAgSU4gICAgIFBDSF9SRVNFVF9UWVBFICAgICAg ICAgICBQY2hSZXNldFR5cGUNCj4gKyAgKQ0KPiArLyoqDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsg IEV4ZWN1dGUgUGNoIFJlc2V0IGZyb20gdGhlIGhvc3QgY29udHJvbGxlci4NCj4gKw0KPiArICBA cGFyYW1baW5dIFRoaXMgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gdGhlIFBDSF9SRVNFVF9Q Uk9UT0NPTCBpbnN0YW5jZS4NCj4gKyAgQHBhcmFtW2luXSBQY2hSZXNldFR5cGUgICAgICAgICBQ Y2ggUmVzZXQgVHlwZXMgd2hpY2ggaW5jbHVkZXMgQ29sZFJlc2V0LA0KPiBXYXJtUmVzZXQsIFNo dXRkb3duUmVzZXQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG93ZXJD eWNsZVJlc2V0LCBHbG9iYWxSZXNldCwgR2xvYmFsUmVzZXRXaXRoRWMNCj4gKw0KPiArICBAcmV0 dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgIFN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQuDQo+ICsg IEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgSWYgUmVzZXRUeXBlIGlzIGludmFsaWQu DQo+ICsNCj4gKyoqLw0KPiArOw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICso RUZJQVBJICpQQ0hfUkVTRVRfQ0FMTEJBQ0spICgNCj4gKyAgSU4gICAgIFBDSF9SRVNFVF9UWVBF ICAgICAgICAgICBQY2hSZXNldFR5cGUNCj4gKyAgKQ0KPiArLyoqDQo+ICsNCj4gKyAgQGJyaWVm DQo+ICsgIEV4ZWN1dGUgY2FsbCBiYWNrIGZ1bmN0aW9uIGZvciBQY2ggUmVzZXQuDQo+ICsNCj4g KyAgQHBhcmFtW2luXSBQY2hSZXNldFR5cGUgICAgICAgICBQY2ggUmVzZXQgVHlwZXMgd2hpY2gg aW5jbHVkZXMgUG93ZXJDeWNsZSwNCj4gR2xvYmFscmVzZXQuDQo+ICsNCj4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICAgICAgICAgICBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gaGFzIGJlZW4gZG9u ZQ0KPiBzdWNjZXNzZnVsbHkNCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgICBG YWlsZWQgdG8gZmluZCBQY2ggUmVzZXQgQ2FsbGJhY2sgcHJvdG9jb2wuDQo+IE9yLCBub25lIG9m DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sgcHJvdG9jb2wg aXMgaW5zdGFsbGVkLg0KPiArICBAcmV0dmFsIE90aGVycyAgICAgICAgICAgICAgICAgIERvIG5v dCBkbyBhbnkgcmVzZXQgZnJvbSBQQ0gNCj4gKw0KPiArKiovDQo+ICs7DQo+ICsNCj4gKy8vLw0K PiArLy8vIEludGVyZmFjZSBzdHJ1Y3R1cmUgZm9yIHRoZSBQY2ggUmVzZXQgUHJvdG9jb2wNCj4g Ky8vLw0KPiArc3RydWN0IF9QQ0hfUkVTRVRfUFJPVE9DT0wgew0KPiArICBQQ0hfUkVTRVQgUmVz ZXQ7DQo+ICt9Ow0KPiArDQo+ICsvLy8NCj4gKy8vLyBQQ0hfUkVTRVRfQ0FMTEJBQ0tfUFJPVE9D T0wgU3RydWN0dXJlIERlZmluaXRpb24NCj4gKy8vLw0KPiArc3RydWN0IF9QQ0hfUkVTRVRfQ0FM TEJBQ0tfUFJPVE9DT0wgew0KPiArICBQQ0hfUkVTRVRfQ0FMTEJBQ0sgIFJlc2V0Q2FsbGJhY2s7 DQo+ICt9Ow0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwv Vmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0K PiBlL1Byb3RvY29sL1BjaFMzU3VwcG9ydC5oDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNl UmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9j b2wvUGNoUzNTdXBwb3J0LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uYWUxNTQzYzllYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50 ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1 ZA0KPiBlL1Byb3RvY29sL1BjaFMzU3VwcG9ydC5oDQo+IEBAIC0wLDAgKzEsMTMyIEBADQo+ICsv KioNCj4gKyoqLw0KPiArLyoqDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE0LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICsg IEBmaWxlDQo+ICsgIFBjaFMzU3VwcG9ydC5oDQo+ICsNCj4gKyAgQGJyaWVmDQo+ICsgIFRoaXMg ZmlsZSBkZWZpbmVzIHRoZSBQQ0ggUzMgc3VwcG9ydCBQcm90b2NvbC4NCj4gKw0KPiArKiovDQo+ ICsjaWZuZGVmIF9QQ0hfUzNfU1VQUE9SVF9QUk9UT0NPTF9IXw0KPiArI2RlZmluZSBfUENIX1Mz X1NVUFBPUlRfUFJPVE9DT0xfSF8NCj4gKw0KPiArI2lmbmRlZiBFQ1BfRkxBRw0KPiArI2luY2x1 ZGUgPFBpL1BpUzNCb290U2NyaXB0Lmg+DQo+ICsjZW5kaWYNCj4gKw0KPiArI2RlZmluZSBFRklf UENIX1MzX1NVUFBPUlRfUFJPVE9DT0xfR1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4ZTI4N2Qy MGIsIDB4ZDg5NywgMHg0ZTFlLCAweGE1LCAweGQ5LCAweDk3LCAweDc3LCAweDYzLCAweDkzLCAw eDZhLCAweDQNCj4gXA0KPiArICB9DQo+ICsNCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9QY2hQbGF0 Zm9ybVBvbGljeS5oPg0KPiArDQo+ICsvLy8NCj4gKy8vLyBFeHRlcm4gdGhlIEdVSUQgZm9yIHBy b3RvY29sIHVzZXJzLg0KPiArLy8vDQo+ICtleHRlcm4gRUZJX0dVSUQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdFZmlQY2hTM1N1cHBvcnRQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKy8vLw0K PiArLy8vIEZvcndhcmQgcmVmZXJlbmNlIGZvciBBTlNJIEMgY29tcGF0aWJpbGl0eQ0KPiArLy8v DQo+ICt0eXBlZGVmIHN0cnVjdCBfRUZJX1BDSF9TM19TVVBQT1JUX1BST1RPQ09MDQo+IEVGSV9Q Q0hfUzNfU1VQUE9SVF9QUk9UT0NPTDsNCj4gKw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgUGNo UzNJdGVtVHlwZVNlbmRDb2RlY0NvbW1hbmQsDQo+ICsgIFBjaFMzSXRlbVR5cGVQb2xsU3RhdHVz LA0KPiArICBQY2hTM0l0ZW1UeXBlSW5pdFBjaWVSb290UG9ydERvd25zdHJlYW0sDQo+ICsgIFBj aFMzSXRlbVR5cGVQY2llU2V0UG0sDQo+ICsgIFBjaFMzSXRlbVR5cGVQbVRpbWVyU3RhbGwsDQo+ ICsgIFBjaFMzSXRlbVR5cGVNYXgNCj4gK30gRUZJX1BDSF9TM19ESVNQQVRDSF9JVEVNX1RZUEU7 DQo+ICsNCj4gKy8vLw0KPiArLy8vIEl0J3MgYmV0dGVyIG5vdCB0byB1c2UgcG9pbnRlciBoZXJl IGJlY2F1c2UgdGhlIHNpemUgb2YgcG9pbnRlciBpbiBEWEUgaXMgOCwNCj4gYnV0IGl0J3MgNCBp biBQRUkNCj4gKy8vLyBwbHVnIDQgdG8gUGFyYW1ldGVyU2l6ZSBpbiBQRUlNIGlmIHlvdSByZWFs bHkgbmVlZCBpdA0KPiArLy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAgICAg ICAgICAgICAgICAgICAgICAgIEhkYUJhcjsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAg ICAgICAgQ29kZWNDbWREYXRhOw0KPiArfSBFRklfUENIX1MzX1BBUkFNRVRFUl9TRU5EX0NPREVD X0NPTU1BTkQ7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDY0ICAgICAgICAg ICAgICAgICAgICAgICAgTW1pb0FkZHJlc3M7DQo+ICsgIEVGSV9CT09UX1NDUklQVF9XSURUSCAg ICAgICAgIFdpZHRoOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICBNYXNrOw0K PiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsNCj4gKyAgVUlOVDMyICAg ICAgICAgICAgICAgICAgICAgICAgVGltZW91dDsgIC8vIHVzDQo+ICt9IEVGSV9QQ0hfUzNfUEFS QU1FVEVSX1BPTExfU1RBVFVTOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgICAgIFJvb3RQb3J0QnVzOw0KPiArICBVSU5UOCAgICAgICAg ICAgICAgICAgICAgICAgICBSb290UG9ydERldmljZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgICAgUm9vdFBvcnRGdW5jOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAg ICAgICBUZW1wQnVzTnVtYmVyTWluOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAg ICBUZW1wQnVzTnVtYmVyTWF4Ow0KPiArfSBFRklfUENIX1MzX1BBUkFNRVRFUl9JTklUX1BDSUVf Uk9PVF9QT1JUX0RPV05TVFJFQU07DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlO VDggICAgICAgICAgICAgICAgICAgICAgICAgUm9vdFBvcnRCdXM7DQo+ICsgIFVJTlQ4ICAgICAg ICAgICAgICAgICAgICAgICAgIFJvb3RQb3J0RGV2aWNlOw0KPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgICAgICAgICBSb290UG9ydEZ1bmM7DQo+ICsgIFBDSF9QQ0lfRVhQUkVTU19BU1BNX0NP TlRST0wgIFJvb3RQb3J0QXNwbTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAg TnVtT2ZEZXZBc3BtT3ZlcnJpZGU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAg IERldkFzcG1PdmVycmlkZUFkZHI7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAg IFRlbXBCdXNOdW1iZXJNaW47DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIFRl bXBCdXNOdW1iZXJNYXg7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIE51bU9m RGV2THRyT3ZlcnJpZGU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgIERldkx0 ck92ZXJyaWRlQWRkcjsNCj4gK30gRUZJX1BDSF9TM19QQVJBTUVURVJfUENJRV9TRVRfUE07DQo+ ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAg ICAgRGVsYXlUaW1lOyAgLy8gdXMNCj4gK30gRUZJX1BDSF9TM19QQVJBTUVURVJfUE1fVElNRVJf U1RBTEw7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX1BDSF9TM19ESVNQQVRD SF9JVEVNX1RZUEUgVHlwZTsNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgKlBh cmFtZXRlcjsNCj4gK30gRUZJX1BDSF9TM19ESVNQQVRDSF9JVEVNOw0KPiArDQo+ICsvLy8NCj4g Ky8vLyBNZW1iZXIgZnVuY3Rpb25zDQo+ICsvLy8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMN Cj4gKyhFRklBUEkgKkVGSV9QQ0hfUzNfU1VQUE9SVF9TRVRfUzNfRElTUEFUQ0hfSVRFTSkgKA0K PiArICBJTiAgICAgRUZJX1BDSF9TM19TVVBQT1JUX1BST1RPQ09MICAgKiBUaGlzLA0KPiArICBJ TiAgICAgRUZJX1BDSF9TM19ESVNQQVRDSF9JVEVNICAgICAgKiBEaXNwYXRjaEl0ZW0sDQo+ICsg IE9VVCAgICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgICAqIFMzRGlzcGF0Y2hFbnRyeVBv aW50DQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIEBicmllZg0KPiArICBTZXQgYW4g aXRlbSB0byBiZSBkaXNwYXRjaGVkIGF0IFMzIHJlc3VtZSB0aW1lLiBBdCB0aGUgc2FtZSB0aW1l LCB0aGUNCj4gZW50cnkgcG9pbnQNCj4gKyAgb2YgdGhlIFBDSCBTMyBzdXBwb3J0IGltYWdlIGlz IHJldHVybmVkIHRvIGJlIHVzZWQgaW4gc3Vic2VxdWVudCBib290DQo+IHNjcmlwdCBzYXZlDQo+ ICsgIGNhbGwNCj4gKw0KPiArICBAcGFyYW1baW5dIFRoaXMgICAgICAgICAgICAgICAgIFBvaW50 ZXIgdG8gdGhlIHByb3RvY29sIGluc3RhbmNlLg0KPiArICBAcGFyYW1baW5dIERpc3BhdGNoSXRl bSAgICAgICAgIFRoZSBpdGVtIHRvIGJlIGRpc3BhdGNoZWQuDQo+ICsgIEBwYXJhbVtpbl0gUzNE aXNwYXRjaEVudHJ5UG9pbnQgVGhlIGVudHJ5IHBvaW50IG9mIHRoZSBQQ0ggUzMgc3VwcG9ydA0K PiBpbWFnZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVEFUVVMgICAgICAgICAgICAgIFN1Y2Nl c3NmdWxseSBjb21wbGV0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgICAg T3V0IG9mIHJlc291cmNlcy4NCj4gKw0KPiArKiovDQo+ICsNCj4gKy8vLw0KPiArLy8vIFByb3Rv Y29sIGRlZmluaXRpb24NCj4gKy8vLw0KPiArc3RydWN0IF9FRklfUENIX1MzX1NVUFBPUlRfUFJP VE9DT0wgew0KPiArICBFRklfUENIX1MzX1NVUFBPUlRfU0VUX1MzX0RJU1BBVENIX0lURU0gU2V0 RGlzcGF0Y2hJdGVtOw0KPiArfTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9T aWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1 c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9TZEhvc3RJby5oDQo+IGIvU2lsaWNvbi9JbnRlbC9W bHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+ IGUvUHJvdG9jb2wvU2RIb3N0SW8uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi5jMGM5NGI5Mzg0DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvU2lsaWNv bi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIv SW5jbHVkDQo+IGUvUHJvdG9jb2wvU2RIb3N0SW8uaA0KPiBAQCAtMCwwICsxLDQwOSBAQA0KPiAr LyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0KPiAr LyorKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgU2RIb3N0SW8uaA0KPiArDQo+ICtBYnN0 cmFjdDoNCj4gKw0KPiArICBJbnRlcmZhY2UgZGVmaW5pdGlvbiBmb3IgRUZJX1NEX0hPU1RfSU9f UFJPVE9DT0wNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIF9TRF9IT1NUX0lPX0gNCj4g KyNkZWZpbmUgX1NEX0hPU1RfSU9fSA0KPiArDQo+ICsNCj4gKy8vIEdsb2JhbCBJRCBmb3IgdGhl IEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ICsvLyB7QjYzRjhFQzctQTlDOS00NDcyLUE0QzAt NEQ4QkYzNjVDQzUxfQ0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX1NEX0hPU1RfSU9fUFJPVE9DT0xf R1VJRCBcDQo+ICsgIHsgMHhiNjNmOGVjNywgMHhhOWM5LCAweDQ0NzIsIHsgMHhhNCwgMHhjMCwg MHg0ZCwgMHg4YiwgMHhmMywgMHg2NSwgMHhjYywNCj4gMHg1MSB9IH0NCj4gKw0KPiArdHlwZWRl ZiBzdHJ1Y3QgX0VGSV9TRF9IT1NUX0lPX1BST1RPQ09MIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09M Ow0KPiArDQo+ICsvLw0KPiArLy8gVE9ETzogTW92ZSB0byBQY2kyMi5oDQo+ICsvLw0KPiArI2Rl ZmluZSBQQ0lfU1VCQ0xBU1NfU0RfSE9TVF9DT05UUk9MTEVSICAgMHgwNQ0KPiArI2RlZmluZSBQ Q0lfSUZfU1RBTkRBUkRfSE9TVF9OT19ETUEgICAgICAgMHgwMA0KPiArI2RlZmluZSBQQ0lfSUZf U1RBTkRBUkRfSE9TVF9TVVBQT1JUX0RNQSAgMHgwMQ0KPiArDQo+ICsvLw0KPiArLy8gVE9ETzog UmV0aXJlDQo+ICsvLw0KPiArI2RlZmluZSBFRklfU0RfSE9TVF9JT19QUk9UT0NPTF9SRVZJU0lP Tl8wMSAgICAgICAgICAweDAxDQo+ICsNCj4gKy8vDQo+ICsvLyBUT0RPOiBEbyB0aGVzZSBiZWxv bmcgaW4gYW4gSW5kdXN0cnkgU3RhbmRhcmQgaW5jbHVkZSBmaWxlPw0KPiArLy8NCj4gKy8vIE1N SU8gUmVnaXN0ZXJzIGRlZmluaXRpb24gZm9yIE1NQy9TRElPIGNvbnRyb2xsZXINCj4gKy8vDQo+ ICsjZGVmaW5lICBNTUlPX0RNQUFEUiAgICAgICAgICAgICAgICAgICAgIDB4MDANCj4gKyNkZWZp bmUgIE1NSU9fQkxLU1ogICAgICAgICAgICAgICAgICAgICAgMHgwNA0KPiArI2RlZmluZSAgTU1J T19CTEtDTlQgICAgICAgICAgICAgICAgICAgICAweDA2DQo+ICsjZGVmaW5lICBNTUlPX0NNREFS RyAgICAgICAgICAgICAgICAgICAgIDB4MDgNCj4gKyNkZWZpbmUgIE1NSU9fWEZSTU9ERSAgICAg ICAgICAgICAgICAgICAgMHgwQw0KPiArI2RlZmluZSAgTU1JT19TRENNRCAgICAgICAgICAgICAg ICAgICAgICAweDBFDQo+ICsjZGVmaW5lICBNTUlPX1JFU1AgICAgICAgICAgICAgICAgICAgICAg IDB4MTANCj4gKyNkZWZpbmUgIE1NSU9fQlVGREFUQSAgICAgICAgICAgICAgICAgICAgMHgyMA0K PiArI2RlZmluZSAgTU1JT19QU1RBVEUgICAgICAgICAgICAgICAgICAgICAweDI0DQo+ICsjZGVm aW5lICBNTUlPX0hPU1RDVEwgICAgICAgICAgICAgICAgICAgIDB4MjgNCj4gKyNkZWZpbmUgIE1N SU9fUFdSQ1RMICAgICAgICAgICAgICAgICAgICAgMHgyOQ0KPiArI2RlZmluZSAgTU1JT19CTEtH QVBDVEwgICAgICAgICAgICAgICAgICAweDJBDQo+ICsjZGVmaW5lICBNTUlPX1dBS0VDVEwgICAg ICAgICAgICAgICAgICAgIDB4MkINCj4gKyNkZWZpbmUgIE1NSU9fQ0xLQ1RMICAgICAgICAgICAg ICAgICAgICAgMHgyQw0KPiArI2RlZmluZSAgTU1JT19UT0NUTCAgICAgICAgICAgICAgICAgICAg ICAweDJFDQo+ICsjZGVmaW5lICBNTUlPX1NXUlNUICAgICAgICAgICAgICAgICAgICAgIDB4MkYN Cj4gKyNkZWZpbmUgIE1NSU9fTklOVFNUUyAgICAgICAgICAgICAgICAgICAgMHgzMA0KPiArI2Rl ZmluZSAgTU1JT19FUklOVFNUUyAgICAgICAgICAgICAgICAgICAweDMyDQo+ICsjZGVmaW5lICBN TUlPX05JTlRFTiAgICAgICAgICAgICAgICAgICAgIDB4MzQNCj4gKyNkZWZpbmUgIE1NSU9fRVJJ TlRFTiAgICAgICAgICAgICAgICAgICAgMHgzNg0KPiArI2RlZmluZSAgTU1JT19OSU5UU0lHRU4g ICAgICAgICAgICAgICAgICAweDM4DQo+ICsjZGVmaW5lICBNTUlPX0VSSU5UU0lHRU4gICAgICAg ICAgICAgICAgIDB4M0ENCj4gKyNkZWZpbmUgIE1NSU9fQUMxMkVSUlNUUyAgICAgICAgICAgICAg ICAgMHgzQw0KPiArI2RlZmluZSAgTU1JT19IT1NUX0NUTDIgICAgICAgICAgICAgICAgICAweDNF IC8vaHBoYW5nIDwtIE5ldyBpbiBWTFYyDQo+ICsjZGVmaW5lICBNTUlPX0NBUCAgICAgICAgICAg ICAgICAgICAgICAgIDB4NDANCj4gKyNkZWZpbmUgIE1NSU9fQ0FQMiAgICAgICAgICAgICAgICAg ICAgICAgMHg0NCAvL2hwaGFuZyA8LSBOZXcgaW4gVkxWMg0KPiArI2RlZmluZSAgTU1JT19NQ0NB UCAgICAgICAgICAgICAgICAgICAgICAweDQ4DQo+ICsjZGVmaW5lICBNTUlPX0ZPUkNFRVZFTlRD TUQxMkVSUlNUQVQgICAgIDB4NTAgLy9ocGhhbmcgPC0gTmV3IGluDQo+IFZMVjINCj4gKyNkZWZp bmUgIE1NSU9fRk9SQ0VFVkVOVEVSUklOVFNUQVQgICAgICAgMHg1MiAvL2hwaGFuZyA8LSBOZXcg aW4gVkxWMg0KPiArI2RlZmluZSAgTU1JT19BRE1BRVJSU1RBVCAgICAgICAgICAgICAgICAweDU0 IC8vaHBoYW5nIDwtIE5ldyBpbiBWTFYyDQo+ICsjZGVmaW5lICBNTUlPX0FETUFTWVNBRERSICAg ICAgICAgICAgICAgIDB4NTggLy9ocGhhbmcgPC0gTmV3IGluIFZMVjINCj4gKyNkZWZpbmUgIE1N SU9fUFJFU0VUVkFMVUUwICAgICAgICAgICAgICAgMHg2MCAvL2hwaGFuZyA8LSBOZXcgaW4gVkxW Mg0KPiArI2RlZmluZSAgTU1JT19QUkVTRVRWQUxVRTEgICAgICAgICAgICAgICAweDY0IC8vaHBo YW5nIDwtIE5ldyBpbiBWTFYyDQo+ICsjZGVmaW5lICBNTUlPX1BSRVNFVFZBTFVFMiAgICAgICAg ICAgICAgIDB4NjggLy9ocGhhbmcgPC0gTmV3IGluIFZMVjINCj4gKyNkZWZpbmUgIE1NSU9fUFJF U0VUVkFMVUUzICAgICAgICAgICAgICAgMHg2QyAvL2hwaGFuZyA8LSBOZXcgaW4gVkxWMg0KPiAr I2RlZmluZSAgTU1JT19CT09UVElNRU9VVENUUkwgICAgICAgICAgICAweDcwIC8vaHBoYW5nIDwt IE5ldyBpbiBWTFYyDQo+ICsjZGVmaW5lICBNTUlPX0RFQlVHU0VMICAgICAgICAgICAgICAgICAg IDB4NzQgLy9ocGhhbmcgPC0gTmV3IGluIFZMVjINCj4gKyNkZWZpbmUgIE1NSU9fU0hBUkVEQlVT ICAgICAgICAgICAgICAgICAgMHhFMCAvL2hwaGFuZyA8LSBOZXcgaW4gVkxWMg0KPiArI2RlZmlu ZSAgTU1JT19TUElJTlRTVVAgICAgICAgICAgICAgICAgICAweEYwIC8vaHBoYW5nIDwtIE5ldyBp biBWTFYyDQo+ICsjZGVmaW5lICBNTUlPX1NMVElOVFNUUyAgICAgICAgICAgICAgICAgIDB4RkMN Cj4gKyNkZWZpbmUgIE1NSU9fQ1RSTFJWRVIgICAgICAgICAgICAgICAgICAgMHhGRQ0KPiArDQo+ ICt0eXBlZGVmIGVudW0gew0KPiArICBSZXNwb25zZU5vID0gMCwNCj4gKyAgUmVzcG9uc2VSMSwN Cj4gKyAgUmVzcG9uc2VSMWIsDQo+ICsgIFJlc3BvbnNlUjIsDQo+ICsgIFJlc3BvbnNlUjMsDQo+ ICsgIFJlc3BvbnNlUjQsDQo+ICsgIFJlc3BvbnNlUjUsDQo+ICsgIFJlc3BvbnNlUjViLA0KPiAr ICBSZXNwb25zZVI2LA0KPiArICBSZXNwb25zZVI3DQo+ICt9IFJFU1BPTlNFX1RZUEU7DQo+ICsN Cj4gK3R5cGVkZWYgZW51bSB7DQo+ICsgIE5vRGF0YSA9IDAsDQo+ICsgIEluRGF0YSwNCj4gKyAg T3V0RGF0YQ0KPiArfSBUUkFOU0ZFUl9UWVBFOw0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiAr ICBSZXNldF9BdXRvID0gMCwNCj4gKyAgUmVzZXRfREFULA0KPiArICBSZXNldF9DTUQsDQo+ICsg IFJlc2V0X0RBVF9DTUQsDQo+ICsgIFJlc2V0X0FsbCwNCj4gKyAgUmVzZXRfSFcNCj4gK30gUkVT RVRfVFlQRTsNCj4gKw0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBTRE1BID0gMCwNCj4g KyAgQURNQTIsDQo+ICsgIFBJTw0KPiArfSBETUFfTU9EOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIFVJTlQzMiAgSGlnaFNwZWVkU3VwcG9ydDogICAgMTsgIC8vSGlnaCBzcGVlZCBz dXBwb3J0ZWQNCj4gKyAgVUlOVDMyICBWMThTdXBwb3J0OiAgICAgICAgICAxOyAgLy8xLjhWIHN1 cHBvcnRlZA0KPiArICBVSU5UMzIgIFYzMFN1cHBvcnQ6ICAgICAgICAgIDE7ICAvLzMuMFYgc3Vw cG9ydGVkDQo+ICsgIFVJTlQzMiAgVjMzU3VwcG9ydDogICAgICAgICAgMTsgIC8vMy4zViBzdXBw b3J0ZWQNCj4gKyAgVUlOVDMyICBTRFI1MFN1cHBvcnQ6ICAgICAgICAxOw0KPiArICBVSU5UMzIg IFNEUjEwNFN1cHBvcnQ6ICAgICAgIDE7DQo+ICsgIFVJTlQzMiAgRERSNTBTdXBwb3J0OiAgICAg ICAgMTsNCj4gKyAgVUlOVDMyICBSZXNlcnZlZDA6ICAgICAgICAgICAxOw0KPiArICBVSU5UMzIg IEJ1c1dpZHRoNDogICAgICAgICAgIDE7ICAvLyA0IGJpdCB3aWR0aA0KPiArICBVSU5UMzIgIEJ1 c1dpZHRoODogICAgICAgICAgIDE7ICAvLyA4IGJpdCB3aWR0aA0KPiArICBVSU5UMzIgIFJlc2Vy dmVkMTogICAgICAgICAgIDY7DQo+ICsgIFVJTlQzMiAgU0RNQVN1cHBvcnQ6ICAgICAgICAgMTsN Cj4gKyAgVUlOVDMyICBBRE1BMlN1cHBvcnQ6ICAgICAgICAxOw0KPiArICBVSU5UMzIgIERtYU1v ZGU6ICAgICAgICAgICAgIDI7DQo+ICsgIFVJTlQzMiAgUmVUdW5lVGltZXI6ICAgICAgICAgNDsN Cj4gKyAgVUlOVDMyICBSZVR1bmVNb2RlOiAgICAgICAgICAyOw0KPiArICBVSU5UMzIgIFJlc2Vy dmVkMjogICAgICAgICAgIDY7DQo+ICsgIFVJTlQzMiAgQm91bmRhcnlTaXplOw0KPiArfSBIT1NU X0NBUEFCSUxJVFk7DQo+ICsNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERlc2NyaXB0aW9u Og0KPiArICAgIFRoZSBtYWluIGZ1bmN0aW9uIHVzZWQgdG8gc2VuZCB0aGUgY29tbWFuZCB0byB0 aGUgY2FyZCBpbnNlcnRlZCBpbnRvDQo+IHRoZSBTRCBob3N0DQo+ICsgICAgc2xvdC4NCj4gKyAg ICBJdCB3aWxsIGFzc2VtYmxlIHRoZSBhcmd1bWVudHMgdG8gc2V0IHRoZSBjb21tYW5kIHJlZ2lz dGVyIGFuZCB3YWl0IGZvcg0KPiB0aGUgY29tbWFuZA0KPiArICAgIGFuZCB0cmFuc2ZlciBjb21w bGV0ZWQgdW50aWwgdGltZW91dC4gVGhlbiBpdCB3aWxsIHJlYWQgdGhlIHJlc3BvbnNlDQo+IHJl Z2lzdGVyIHRvIGZpbGwNCj4gKyAgICB0aGUgUmVzcG9uc2VEYXRhDQo+ICsNCj4gKyAgQXJndW1l bnRzOg0KPiArICAgIFRoaXMgICAgICAgICAgIC0gUG9pbnRlciB0byBFRklfU0RfSE9TVF9JT19Q Uk9UT0NPTA0KPiArICAgIENvbW1hbmRJbmRleCAgIC0gVGhlIGNvbW1hbmQgaW5kZXggdG8gc2V0 IHRoZSBjb21tYW5kIGluZGV4IGZpZWxkIG9mDQo+IGNvbW1hbmQgcmVnaXN0ZXINCj4gKyAgICBB cmd1bWVudCAgICAgICAtIENvbW1hbmQgYXJndW1lbnQgdG8gc2V0IHRoZSBhcmd1bWVudCBmaWVs ZCBvZg0KPiBjb21tYW5kIHJlZ2lzdGVyDQo+ICsgICAgRGF0YVR5cGUgICAgICAgLSBUUkFOU0ZF Ul9UWVBFLCBpbmRpY2F0ZXMgbm8gZGF0YSwgZGF0YSBpbiBvciBkYXRhIG91dA0KPiArICAgIEJ1 ZmZlciAgICAgICAgIC0gQ29udGFpbnMgdGhlIGRhdGEgcmVhZCBmcm9tIC8gd3JpdGUgdG8gdGhl IGRldmljZQ0KPiArICAgIEJ1ZmZlclNpemUgICAgIC0gVGhlIHNpemUgb2YgdGhlIGJ1ZmZlcg0K PiArICAgIFJlc3BvbnNlVHlwZSAgIC0gUkVTUE9OU0VfVFlQRQ0KPiArICAgIFRpbWVPdXQgICAg ICAgIC0gVGltZSBvdXQgdmFsdWUgaW4gMSBtcyB1bml0DQo+ICsgICAgUmVzcG9uc2VEYXRhICAg LSBEZXBlbmRpbmcgb24gdGhlIFJlc3BvbnNlVHlwZSwgc3VjaCBhcyBDU0Qgb3IgY2FyZA0KPiBz dGF0dXMNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNTDQo+ICsgICAgRUZJ X0lOVkFMSURfUEFSQU1FVEVSDQo+ICsgICAgRUZJX09VVF9PRl9SRVNPVVJDRVMNCj4gKyAgICBF RklfVElNRU9VVA0KPiArICAgIEVGSV9ERVZJQ0VfRVJST1INCj4gKw0KPiArLS0qLw0KPiArdHlw ZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1NEX0hPU1RfSU9fUFJPVE9DT0xf U0VORF9DT01NQU5EKSAoDQo+ICsgIElOICAgRUZJX1NEX0hPU1RfSU9fUFJPVE9DT0wgICAgKlRo aXMsDQo+ICsgIElOICAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgQ29tbWFuZEluZGV4LA0K PiArICBJTiAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgIEFyZ3VtZW50LA0KPiArICBJTiAg IFRSQU5TRkVSX1RZUEUgICAgICAgICAgICAgIERhdGFUeXBlLA0KPiArICBJTiAgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgICAgICpCdWZmZXIsIE9QVElPTkFMDQo+ICsgIElOICAgVUlOVDMyICAg ICAgICAgICAgICAgICAgICAgQnVmZmVyU2l6ZSwNCj4gKyAgSU4gICBSRVNQT05TRV9UWVBFICAg ICAgICAgICAgICBSZXNwb25zZVR5cGUsDQo+ICsgIElOICAgVUlOVDMyICAgICAgICAgICAgICAg ICAgICAgVGltZU91dCwNCj4gKyAgT1VUICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAqUmVz cG9uc2VEYXRhIE9QVElPTkFMDQo+ICsgICk7DQo+ICsNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0 aW5lIERlc2NyaXB0aW9uOg0KPiArICAgIFNldCBtYXggY2xvY2sgZnJlcXVlbmN5IG9mIHRoZSBo b3N0LCB0aGUgYWN0dWFsIGZyZXF1ZW5jeQ0KPiArICAgIG1heSBub3QgYmUgdGhlIHNhbWUgYXMg TWF4RnJlcXVlbmN5LiBJdCBkZXBlbmRzIG9uDQo+ICsgICAgdGhlIG1heCBmcmVxdWVuY3kgdGhl IGhvc3QgY2FuIHN1cHBvcnQsIGRpdmlkZXIsIGFuZCBob3N0DQo+ICsgICAgc3BlZWQgbW9kZS4N Cj4gKw0KPiArICBBcmd1bWVudHM6DQo+ICsgICAgVGhpcyAgICAgICAgICAgLSBQb2ludGVyIHRv IEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ICsgICAgTWF4RnJlcXVlbmN5ICAgLSBNYXggZnJl cXVlbmN5IGluIEhaDQo+ICsNCj4gKyAgUmV0dXJuczoNCj4gKyAgICBFRklfU1VDQ0VTUw0KPiAr ICAgIEVGSV9USU1FT1VUDQo+ICstLSovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICso RUZJQVBJICpFRklfU0RfSE9TVF9JT19QUk9UT0NPTF9TRVRfQ0xPQ0tfRlJFUVVFTkNZKSAoDQo+ ICsgIElOICBFRklfU0RfSE9TVF9JT19QUk9UT0NPTCAgICAqVGhpcywNCj4gKyAgSU4gIFVJTlQz MiAgICAgICAgICAgICAgICAgICAgIE1heEZyZXF1ZW5jeQ0KPiArICApOw0KPiArDQo+ICsvKisr DQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoNCj4gKyAgICBTZXQgYnVzIHdpZHRoIG9m IHRoZSBob3N0DQo+ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIFRoaXMgICAgICAgLSBQb2lu dGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ICsgICAgQnVzV2lkdGggICAtIEJ1cyB3 aWR0aCBpbiAxLCA0LCA4IGJpdHMNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUND RVNTDQo+ICsgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSDQo+ICsNCj4gKy0tKi8NCj4gK3R5cGVk ZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TRF9IT1NUX0lPX1BST1RPQ09MX1NF VF9CVVNfV0lEVEgpICgNCj4gKyAgSU4gIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MICAgICpUaGlz LA0KPiArICBJTiAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgQnVzV2lkdGgNCj4gKyAgKTsN Cj4gKw0KPiArLyorKw0KPiArDQo+ICsgIFJvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsgICAgU2V0 IHZvbHRhZ2Ugd2hpY2ggY291bGQgc3VwcG9ydGVkIGJ5IHRoZSBob3N0Lg0KPiArICAgIFN1cHBv cnQgMChQb3dlciBvZmYgdGhlIGhvc3QpLCAxLjhWLCAzLjBWLCAzLjNWDQo+ICsgIEFyZ3VtZW50 czoNCj4gKyAgICBUaGlzICAgICAgLSBQb2ludGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09M DQo+ICsgICAgVm9sdGFnZSAgIC0gVW5pdHMgaW4gMC4xIFYNCj4gKw0KPiArICBSZXR1cm5zOg0K PiArICAgIEVGSV9TVUNDRVNTDQo+ICsgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSDQo+ICsNCj4g Ky0tKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TRF9IT1NU X0lPX1BST1RPQ09MX1NFVF9IT1NUX1ZPTFRBR0UpICgNCj4gKyAgSU4gIEVGSV9TRF9IT1NUX0lP X1BST1RPQ09MICAgICpUaGlzLA0KPiArICBJTiAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAg Vm9sdGFnZQ0KPiArICApOw0KPiArDQo+ICsvKisrDQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlw dGlvbjoNCj4gKyAgICBTZXQgSG9zdCBIaWdoIFNwZWVkDQo+ICsgIEFyZ3VtZW50czoNCj4gKyAg ICBUaGlzICAgICAgLSBQb2ludGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ICsgICAg SGlnaFNwZWVkICAgLSBUcnVlIGZvciBIaWdoIFNwZWVkIE1vZGUgc2V0LCBmYWxzZSBmb3Igbm9y bWFsIG1vZGUNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNTDQo+ICsgICAg RUZJX0lOVkFMSURfUEFSQU1FVEVSDQo+ICsNCj4gKy0tKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9T VEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TRF9IT1NUX0lPX1BST1RPQ09MX1NFVF9IT1NUX1NQRUVE X01PREUpICgNCj4gKyAgSU4gIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MICAgICpUaGlzLA0KPiAr ICBJTiAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgSGlnaFNwZWVkDQo+ICsgICk7DQo+ICsN Cj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiArICAgIFNldCBIaWdo IFNwZWVkIE1vZGUNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIFRoaXMgICAgICAtIFBvaW50ZXIg dG8gRUZJX1NEX0hPU1RfSU9fUFJPVE9DT0wNCj4gKyAgICBTZXRIb3N0RGRyTW9kZSAgIC0gVHJ1 ZSBmb3IgRERSIE1vZGUgc2V0LCBmYWxzZSBmb3Igbm9ybWFsIG1vZGUNCj4gKw0KPiArICBSZXR1 cm5zOg0KPiArICAgIEVGSV9TVUNDRVNTDQo+ICsgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSDQo+ ICsNCj4gKy0tKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9T RF9IT1NUX0lPX1BST1RPQ09MX1NFVF9IT1NUX0REUl9NT0RFKSAoDQo+ICsgIElOICBFRklfU0Rf SE9TVF9JT19QUk9UT0NPTCAgICAqVGhpcywNCj4gKyAgSU4gIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgIERkck1vZGUNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICsvKisrDQo+ICsNCj4gKyAgUm91 dGluZSBEZXNjcmlwdGlvbjoNCj4gKyAgIFJlc2V0IHRoZSBob3N0DQo+ICsNCj4gKyAgQXJndW1l bnRzOg0KPiArICAgIFRoaXMgICAgICAtIFBvaW50ZXIgdG8gRUZJX1NEX0hPU1RfSU9fUFJPVE9D T0wNCj4gKyAgICBSZXNldEFsbCAgLSBUUlVFIHRvIHJlc2V0IGFsbA0KPiArDQo+ICsgIFJldHVy bnM6DQo+ICsgICAgRUZJX1NVQ0NFU1MNCj4gKyAgICBFRklfVElNRU9VVA0KPiArDQo+ICstLSov DQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfU0RfSE9TVF9JT19Q Uk9UT0NPTF9SRVNFVF9TRF9IT1NUKSAoDQo+ICsgIElOICBFRklfU0RfSE9TVF9JT19QUk9UT0NP TCAgICAqVGhpcywNCj4gKyAgSU4gIFJFU0VUX1RZUEUgICAgICAgICAgICAgICAgIFJlc2V0VHlw ZQ0KPiArICApOw0KPiArDQo+ICsvKisrDQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoN Cj4gKyAgIFJlc2V0IHRoZSBob3N0DQo+ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIFRoaXMg ICAgLSBQb2ludGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ICsgICAgRW5hYmxlICAt IFRSVUUgdG8gZW5hYmxlLCBGQUxTRSB0byBkaXNhYmxlDQo+ICsNCj4gKyAgUmV0dXJuczoNCj4g KyAgICBFRklfU1VDQ0VTUw0KPiArICAgIEVGSV9USU1FT1VUDQo+ICsNCj4gKy0tKi8NCj4gK3R5 cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TRF9IT1NUX0lPX1BST1RPQ09M X0VOQUJMRV9BVVRPX1NUT1BfQ01EKSAoDQo+ICsgIElOICBFRklfU0RfSE9TVF9JT19QUk9UT0NP TCAgICAqVGhpcywNCj4gKyAgSU4gIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgIEVuYWJsZQ0K PiArICApOw0KPiArDQo+ICsvKisrDQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoNCj4g KyAgICBGaW5kIHdoZXRoZXIgdGhlc2UgaXMgYSBjYXJkIGluc2VydGVkIGludG8gdGhlIHNsb3Qu IElmIHNvDQo+ICsgICAgaW5pdCB0aGUgaG9zdC4gSWYgbm90LCByZXR1cm4gRUZJX05PVF9GT1VO RC4NCj4gKw0KPiArICBBcmd1bWVudHM6DQo+ICsgICAgVGhpcyAgICAgIC0gUG9pbnRlciB0byBF RklfU0RfSE9TVF9JT19QUk9UT0NPTA0KPiArDQo+ICsgIFJldHVybnM6DQo+ICsgICAgRUZJX1NV Q0NFU1MNCj4gKyAgICBFRklfTk9UX0ZPVU5EDQo+ICsNCj4gKy0tKi8NCj4gK3R5cGVkZWYNCj4g K0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TRF9IT1NUX0lPX1BST1RPQ09MX0RFVEVDVF9D QVJEX0FORF9JTklUX0hPU1QpICgNCj4gKyAgSU4gIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MICAg ICpUaGlzDQo+ICsgICk7DQo+ICsNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERlc2NyaXB0 aW9uOg0KPiArICAgU2V0IHRoZSBCbG9jayBsZW5ndGgNCj4gKw0KPiArICBBcmd1bWVudHM6DQo+ ICsgICAgVGhpcyAgICAgICAgLSBQb2ludGVyIHRvIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MDQo+ ICsgICAgQmxvY2tMZW5ndGggLSBjYXJkIHN1cHBvcnRlcyBibG9jayBsZW5ndGgNCj4gKw0KPiAr ICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNTDQo+ICsgICAgRUZJX1RJTUVPVVQNCj4gKw0K PiArLS0qLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1NEX0hP U1RfSU9fUFJPVE9DT0xfU0VUX0JMT0NLX0xFTkdUSCkgKA0KPiArICBJTiAgRUZJX1NEX0hPU1Rf SU9fUFJPVE9DT0wgICAgKlRoaXMsDQo+ICsgIElOICBVSU5UMzIgICAgICAgICAgICAgICAgICAg ICBCbG9ja0xlbmd0aA0KPiArICApOw0KPiArDQo+ICt0eXBlZGVmIEVGSV9TVEFUVVMNCj4gKyhF RklBUEkgKkVGSV9TRF9IT1NUX0lPX1BST1RPQ09MX1NFVFVQX0RFVklDRSkoDQo+ICsgIElOICBF RklfU0RfSE9TVF9JT19QUk9UT0NPTCAgICAqVGhpcw0KPiArICApOw0KPiArDQo+ICsNCj4gKw0K PiArLy8NCj4gKy8vIEludGVyZmFjZSBzdHJ1Y3R1cmUgZm9yIHRoZSBFRkkgU0QgSG9zdCBJL08g UHJvdG9jb2wNCj4gKy8vDQo+ICtzdHJ1Y3QgX0VGSV9TRF9IT1NUX0lPX1BST1RPQ09MIHsNCj4g KyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV2 aXNpb247DQo+ICsgIEhPU1RfQ0FQQUJJTElUWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEhvc3RDYXBhYmlsaXR5Ow0KPiArICBFRklfU0RfSE9TVF9JT19QUk9UT0NPTF9TRU5E X0NPTU1BTkQgICAgICAgICAgICAgICBTZW5kQ29tbWFuZDsNCj4gKyAgRUZJX1NEX0hPU1RfSU9f UFJPVE9DT0xfU0VUX0NMT0NLX0ZSRVFVRU5DWQ0KPiBTZXRDbG9ja0ZyZXF1ZW5jeTsNCj4gKyAg RUZJX1NEX0hPU1RfSU9fUFJPVE9DT0xfU0VUX0JVU19XSURUSCAgICAgICAgICAgICAgU2V0QnVz V2lkdGg7DQo+ICsgIEVGSV9TRF9IT1NUX0lPX1BST1RPQ09MX1NFVF9IT1NUX1ZPTFRBR0UgICAg ICAgICAgIFNldEhvc3RWb2x0YWdlOw0KPiArICBFRklfU0RfSE9TVF9JT19QUk9UT0NPTF9TRVRf SE9TVF9ERFJfTU9ERQ0KPiBTZXRIb3N0RGRyTW9kZTsNCj4gKyAgRUZJX1NEX0hPU1RfSU9fUFJP VE9DT0xfUkVTRVRfU0RfSE9TVCAgICAgICAgICAgICAgUmVzZXRTZEhvc3Q7DQo+ICsgIEVGSV9T RF9IT1NUX0lPX1BST1RPQ09MX0VOQUJMRV9BVVRPX1NUT1BfQ01EDQo+IEVuYWJsZUF1dG9TdG9w Q21kOw0KPiArICBFRklfU0RfSE9TVF9JT19QUk9UT0NPTF9ERVRFQ1RfQ0FSRF9BTkRfSU5JVF9I T1NUDQo+IERldGVjdENhcmRBbmRJbml0SG9zdDsNCj4gKyAgRUZJX1NEX0hPU1RfSU9fUFJPVE9D T0xfU0VUX0JMT0NLX0xFTkdUSCAgICAgICAgICAgU2V0QmxvY2tMZW5ndGg7DQo+ICsgIEVGSV9T RF9IT1NUX0lPX1BST1RPQ09MX1NFVFVQX0RFVklDRSAgICAgICAgICAgICAgIFNldHVwRGV2aWNl Ow0KPiArICBFRklfU0RfSE9TVF9JT19QUk9UT0NPTF9TRVRfSE9TVF9TUEVFRF9NT0RFDQo+IFNl dEhvc3RTcGVlZE1vZGU7DQo+ICt9Ow0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVNkSG9z dElvUHJvdG9jb2xHdWlkOw0KPiArDQo+ICsjZW5kaWYNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEv U2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENs dXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvU21iaW9zU2xvdFBvcHVsYXRpb24uaA0KPiBiL1Np bGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVz dGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1NtYmlvc1Nsb3RQb3B1bGF0aW9uLmgNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOGI3YzQyODA1Zg0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFs bGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1NtYmlvc1Nsb3RQ b3B1bGF0aW9uLmgNCj4gQEAgLTAsMCArMSw0NyBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmln aHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgICAgU21iaW9zU2xv dFBvcHVsYXRpb24uaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICAgIEVGSSBTTUJJT1Mg c2xvdCBzdHJ1Y3R1cmUgY29udHJvbCBjb2RlLg0KPiArDQo+ICtHVUlEOg0KPiArICAgIHtFRjdC RjdENi1GOEZGLTRhNzYtODI0Ny1DMEQwRDFDQzQ5QzB9DQo+ICsgICAgMHhlZjdiZjdkNiwgMHhm OGZmLCAweDRhNzYsIDB4ODIsIDB4NDcsIDB4YzAsIDB4ZDAsIDB4ZDEsIDB4Y2MsIDB4NDksIDB4 YzANCj4gKw0KPiArUmV2aXNpb24gSGlzdG9yeQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5k ZWYgX0VGSV9TTUJJT1NfU0xPVF9QT1BVTEFUSU9OX0hfDQo+ICsjZGVmaW5lIF9FRklfU01CSU9T X1NMT1RfUE9QVUxBVElPTl9IXw0KPiArDQo+ICsvLw0KPiArLy8gU2xvdCBQb3B1bGF0aW9uIFBy b3RvY29sIEdVSUQNCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9TTUJJT1NfU0xPVF9QT1BVTEFUSU9O X0dVSUQgXA0KPiArICB7IDB4ZWY3YmY3ZDYsIDB4ZjhmZiwgMHg0YTc2LCAweDgyLCAweDQ3LCAw eGMwLCAweGQwLCAweGQxLCAweGNjLCAweDQ5LCAweGMwIH0NCj4gKw0KPiArdHlwZWRlZiBzdHJ1 Y3Qgew0KPiArICBVSU5UMTYgICAgICBTbWJpb3NTbG90SWQ7ICAgLy8gU01CSU9TIFNsb3QgSUQN Cj4gKyAgQk9PTEVBTiAgICAgSW5Vc2U7ICAgICAgICAgIC8vIERvZXMgdGhlIHNsb3QgaGF2ZSBh IGNhcmQgaW4gaXQNCj4gKyAgQk9PTEVBTiAgICAgRGlzYWJsZWQ7ICAgICAgIC8vIFNob3VsZCB0 aGUgc2xvdCBpbmZvcm1hdGlvbiBiZSBpbiBTTUJJT1MNCj4gK30gRUZJX1NNQklPU19TTE9UX0VO VFJZOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAg ICBOdW1iZXJPZkVudHJpZXM7DQo+ICsgIEVGSV9TTUJJT1NfU0xPVF9FTlRSWSAqU2xvdEVudHJp ZXM7DQo+ICt9IEVGSV9TTUJJT1NfU0xPVF9QT1BVTEFUSU9OX0lORk87DQo+ICsNCj4gK2V4dGVy biBFRklfR1VJRCBnRWZpU21iaW9zU2xvdFBvcHVsYXRpb25HdWlkOw0KPiArDQo+ICsjZW5kaWYN Cj4gZGlmZiAtLWdpdA0KPiBhL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFs bGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1NtbUljaG5EaXNw YXRjaEV4LmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZp ZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9TbW1JY2huRGlzcGF0Y2hF eC5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjczZTEyYzVk NmENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2Nv bC9TbW1JY2huRGlzcGF0Y2hFeC5oDQo+IEBAIC0wLDAgKzEsMTU5IEBADQo+ICsvKioNCj4gKyoq Lw0KPiArLyoqDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICsgIEBmaWxlDQo+ ICsgIFNtbUljaG5EaXNwYXRjaEV4LmgNCj4gKw0KPiArICBAYnJpZWYNCj4gKyAgU21tSWNobkRp c3BhdGNoIEV4dGVuZGVkIFByb3RvY29sDQo+ICsNCj4gKyoqLw0KPiArI2lmbmRlZiBfRUZJX1NN TV9JQ0hOX0RJU1BBVENIX0VYX0hfDQo+ICsjZGVmaW5lIF9FRklfU01NX0lDSE5fRElTUEFUQ0hf RVhfSF8NCj4gKw0KPiArI2lmZGVmIEVDUF9GTEFHDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvU21t SWNobkRpc3BhdGNoL1NtbUljaG5EaXNwYXRjaC5oPg0KPiArI2Vsc2UNCj4gKyNpbmNsdWRlIDxQ cm90b2NvbC9TbW1JY2huRGlzcGF0Y2guaD4NCj4gKyNlbmRpZg0KPiArDQo+ICsjZGVmaW5lIEVG SV9TTU1fSUNITl9ESVNQQVRDSF9FWF9QUk9UT0NPTF9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAg MHgzOTIwNDA1YiwgMHhjODk3LCAweDQ0ZGEsIDB4ODgsIDB4ZjMsIDB4NGMsIDB4NDksIDB4OGEs IDB4NmYsIDB4ZjcsIDB4MzYNCj4gXA0KPiArICB9DQo+ICtleHRlcm4gRUZJX0dVSUQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdFZmlTbW1JY2huRGlzcGF0Y2hFeFByb3RvY29s R3VpZDsNCj4gKw0KPiArLy8vDQo+ICsvLy8gRm9yd2FyZCByZWZlcmVuY2UgZm9yIEFOU0kgQyBj b21wYXRpYmlsaXR5DQo+ICsvLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9FRklfU01NX0lDSE5fRElT UEFUQ0hfRVhfUFJPVE9DT0wNCj4gRUZJX1NNTV9JQ0hOX0RJU1BBVENIX0VYX1BST1RPQ09MOw0K PiArDQo+ICsvLy8NCj4gKy8vLyBSZWxhdGVkIERlZmluaXRpb25zDQo+ICsvLy8NCj4gKy8vLw0K PiArLy8vIEljaG4gRGlzcGF0Y2ggRXh0ZW5kZWQgVHlwZXMNCj4gKy8vLw0KPiArdHlwZWRlZiBl bnVtIHsNCj4gKyAgSWNobkV4UGNpRXhwcmVzcyA9IE5VTV9JQ0hOX1RZUEVTICsgMSwNCj4gKyAg SWNobkV4TW9uaXRvciwNCj4gKyAgSWNobkV4U3BpLA0KPiArICBJY2huRXhRUlQsDQo+ICsgIElj aG5FeEdwaW9VbmxvY2ssDQo+ICsgIEljaG5FeFRtck92ZXJmbG93LA0KPiArICBJY2huRXhQY2ll MEhvdHBsdWcsDQo+ICsgIEljaG5FeFBjaWUxSG90cGx1ZywNCj4gKyAgSWNobkV4UGNpZTJIb3Rw bHVnLA0KPiArICBJY2huRXhQY2llM0hvdHBsdWcsDQo+ICsgIEljaG5FeFBjaWUwTGlua0FjdGl2 ZSwNCj4gKyAgSWNobkV4UGNpZTFMaW5rQWN0aXZlLA0KPiArICBJY2huRXhQY2llMkxpbmtBY3Rp dmUsDQo+ICsgIEljaG5FeFBjaWUzTGlua0FjdGl2ZSwNCj4gKyAgLy8vDQo+ICsgIC8vLyBJTlNF UlQgTkVXIElURU1TIEpVU1QgQkVGT1JFIFRISVMgTElORQ0KPiArICAvLy8NCj4gKyAgSWNobkV4 VHlwZU1BWCAvLy8gdGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIGluIHRoaXMgZW51bWVyYXRp b24NCj4gK30gRUZJX1NNTV9JQ0hOX0VYX1NNSV9UWVBFOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIEVGSV9TTU1fSUNITl9FWF9TTUlfVFlQRSAgVHlwZTsNCj4gK30gRUZJX1NNTV9J Q0hOX0RJU1BBVENIX0VYX0NPTlRFWFQ7DQo+ICsNCj4gKy8vLw0KPiArLy8vIE1lbWJlciBmdW5j dGlvbnMNCj4gKy8vLw0KPiArdHlwZWRlZg0KPiArVk9JRA0KPiArKEVGSUFQSSAqRUZJX1NNTV9J Q0hOX0RJU1BBVENIX0VYKSAoDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBEaXNwYXRjaEhhbmRsZSwNCj4gKyAgSU4gIEVGSV9TTU1fSUNITl9ESVNQ QVRDSF9FWF9DT05URVhUICAgICAgICAgICogRGlzcGF0Y2hDb250ZXh0DQo+ICsgICk7DQo+ICsN Cj4gKy8qKg0KPiArDQo+ICsgIEBicmllZg0KPiArICBEaXNwYXRjaCBmdW5jdGlvbiBmb3IgYSBJ Q0ggbiBFeHRlbmRlZCBzcGVjaWZpYyBTTUkgaGFuZGxlci4NCj4gKw0KPiArICBAcGFyYW1baW5d IERpc3BhdGNoSGFuZGxlICAgICAgIEhhbmRsZSBvZiB0aGlzIGRpc3BhdGNoIGZ1bmN0aW9uLg0K PiArICBAcGFyYW1baW5dIERpc3BhdGNoQ29udGV4dCAgICAgIFBvaW50ZXIgdG8gdGhlIGRpc3Bh dGNoIGZ1bmN0aW9uJ3MgY29udGV4dC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBUaGUgRGlzcGF0Y2hDb250ZXh0IGZpZWxkcyBhcmUgZmlsbGVkIGluDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgdGhlIGRpc3BhdGNoaW5nIGRyaXZlciBwcmlv ciB0bw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludm9raW5nIHRoaXMg ZGlzcGF0Y2ggZnVuY3Rpb24uDQo+ICsNCj4gKyAgICBAcmV0dmFsIE5vbmUNCj4gKw0KPiArKiov DQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfU01NX0lDSE5fRVhf UkVHSVNURVIpICgNCj4gKyAgSU4gIEVGSV9TTU1fSUNITl9ESVNQQVRDSF9FWF9QUk9UT0NPTCAg ICogVGhpcywNCj4gKyAgSU4gIEVGSV9TTU1fSUNITl9ESVNQQVRDSF9FWCAgICAgICAgICAgIERp c3BhdGNoRnVuY3Rpb24sDQo+ICsgIElOICBFRklfU01NX0lDSE5fRElTUEFUQ0hfRVhfQ09OVEVY VCAgICAqIERpc3BhdGNoQ29udGV4dCwNCj4gKyAgT1VUIEVGSV9IQU5ETEUgICAgICAgICAgICAg ICAgICAgICAgICAgICogRGlzcGF0Y2hIYW5kbGUNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsN Cj4gKyAgQGJyaWVmDQo+ICsgIFJlZ2lzdGVyIGEgY2hpbGQgU01JIHNvdXJjZSBkaXNwYXRjaCBm dW5jdGlvbiB3aXRoIGEgcGFyZW50IFNNTSBkcml2ZXINCj4gKw0KPiArICBAcGFyYW1baW5dIFRo aXMgICAgICAgICAgICAgICAgIFByb3RvY29sIGluc3RhbmNlIHBvaW50ZXIuDQo+ICsgIEBwYXJh bVtpbl0gRGlzcGF0Y2hGdW5jdGlvbiAgICAgUG9pbnRlciB0byBkaXNwYXRjaCBmdW5jdGlvbiB0 byBiZSBpbnZva2VkDQo+IGZvcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRoaXMgU01JIHNvdXJjZQ0KPiArICBAcGFyYW1baW5dIERpc3BhdGNoQ29udGV4dCAgICAgIFBv aW50ZXIgdG8gdGhlIGRpc3BhdGNoIGZ1bmN0aW9uJ3MgY29udGV4dC4NCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUaGUgY2FsbGVyIGZpbGxzIHRoaXMgY29udGV4dCBpbiBi ZWZvcmUgY2FsbGluZw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBy ZWdpc3RlciBmdW5jdGlvbiB0byBpbmRpY2F0ZSB0byB0aGUgcmVnaXN0ZXINCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0aGUgSUNITiBTTUkgc291cmNlIGZv ciB3aGljaCB0aGUgZGlzcGF0Y2gNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmdW5jdGlvbiBzaG91bGQgYmUgaW52b2tlZC4NCj4gKyAgQHBhcmFtW2luXSBEaXNwYXRjaEhh bmRsZSAgICAgICBIYW5kbGUgb2YgZGlzcGF0Y2ggZnVuY3Rpb24sIGZvciB3aGVuDQo+IGludGVy ZmFjaW5nDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgcGFy ZW50IFNNTSBkcml2ZXIuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAg ICBUaGUgZGlzcGF0Y2ggZnVuY3Rpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5DQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJlZCBhbmQgdGhlIFNNSSBzb3VyY2Ug aGFzIGJlZW4gZW5hYmxlZC4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgICBU aGUgZHJpdmVyIHdhcyB1bmFibGUgdG8gZW5hYmxlIHRoZSBTTUkNCj4gc291cmNlLg0KPiArICBA cmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgIE5vdCBlbm91Z2ggbWVtb3J5IChzeXN0ZW0g b3IgU01NKQ0KPiB0byBtYW5hZ2UgdGhpcw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNoaWxkLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgIERpc3Bh dGNoQ29udGV4dCBpcyBpbnZhbGlkLiBUaGUgSUNITg0KPiBpbnB1dCB2YWx1ZQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdCB3aXRoaW4gdmFsaWQgcmFuZ2UuDQo+ ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX1NN TV9JQ0hOX0VYX1VOUkVHSVNURVIpICgNCj4gKyAgSU4gIEVGSV9TTU1fSUNITl9ESVNQQVRDSF9F WF9QUk9UT0NPTCAgICAgICAgICogVGhpcywNCj4gKyAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlDQo+ICsgICk7DQo+ICsNCj4gKy8q Kg0KPiArDQo+ICsgIEBicmllZg0KPiArICBVbnJlZ2lzdGVyIGEgY2hpbGQgU01JIHNvdXJjZSBk aXNwYXRjaCBmdW5jdGlvbiB3aXRoIGEgcGFyZW50IFNNTSBkcml2ZXINCj4gKw0KPiArICBAcGFy YW1baW5dIFRoaXMgICAgICAgICAgICAgICAgIFByb3RvY29sIGluc3RhbmNlIHBvaW50ZXIuDQo+ ICsgIEBwYXJhbVtpbl0gRGlzcGF0Y2hIYW5kbGUgICAgICAgSGFuZGxlIG9mIGRpc3BhdGNoIGZ1 bmN0aW9uIHRvIGRlcmVnaXN0ZXIuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgICAgICBUaGUgZGlzcGF0Y2ggZnVuY3Rpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5DQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5yZWdpc3RlcmVkIGFuZCB0aGUgU01J IHNvdXJjZSBoYXMgYmVlbiBkaXNhYmxlZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlmIHRoZXJlIGFyZSBubyBvdGhlciByZWdpc3RlcmVkIGNoaWxkIGRpc3BhdGNoDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIGZvciB0aGlzIFNN SSBzb3VyY2UuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgSGFuZGxlIGlz IGludmFsaWQuDQo+ICsgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAgICAgICAgVEJEDQo+ICsN Cj4gKyoqLw0KPiArDQo+ICsvLy8NCj4gKy8vLyBJbnRlcmZhY2Ugc3RydWN0dXJlIGZvciB0aGUg U01NIEljaCBuIHNwZWNpZmljIFNNSSBEaXNwYXRjaCBQcm90b2NvbA0KPiArLy8vDQo+ICt0eXBl ZGVmIHN0cnVjdCBfRUZJX1NNTV9JQ0hOX0RJU1BBVENIX0VYX1BST1RPQ09MIHsNCj4gKyAgRUZJ X1NNTV9JQ0hOX0VYX1JFR0lTVEVSICAgIFJlZ2lzdGVyOw0KPiArICBFRklfU01NX0lDSE5fRVhf VU5SRUdJU1RFUiAgVW5SZWdpc3RlcjsNCj4gK307DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0t Z2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNv Yy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvU21tU21idXMuaA0KPiBiL1NpbGlj b24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVy L0luY2x1ZA0KPiBlL1Byb3RvY29sL1NtbVNtYnVzLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uYmIyYjRkN2MxMw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0K PiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1NtbVNtYnVzLmgNCj4gQEAgLTAsMCArMSwz OSBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAyMDA5ICAtIDIwMTQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVs ZSBOYW1lOg0KPiArDQo+ICsgIFNtbVNtYnVzLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4g KyAgU21tU21idXMgUHJvdG9jb2wNCj4gKw0KPiArLS0qLw0KPiArI2lmbmRlZiBfX0VGSV9TTU1f U01CVVNfUFJPVE9DT0xfSF9fDQo+ICsjZGVmaW5lIF9fRUZJX1NNTV9TTUJVU19QUk9UT0NPTF9I X18NCj4gKw0KPiArLy8NCj4gKy8vIEdVSUQgZm9yIHRoZSBTbW1TbWJ1cyBQcm90b2NvbA0KPiAr Ly8NCj4gKy8vIEVESyBhbmQgRURLSUkgaGF2ZSBkaWZmZXJlbnQgR1VJRCBmb3JtYXRzDQo+ICsv Lw0KPiArDQo+ICsjZGVmaW5lIEVGSV9TTU1fU01CVVNfUFJPVE9DT0xfR1VJRCAgXA0KPiArICB7 IFwNCj4gKyAgICAweDcyZTQwMDk0LCAweDJlZTEsIDB4NDk3YSwgMHg4ZiwgMHgzMywgMHg0Yywg MHg5MywgMHg0YSwgMHg5ZSwgMHg5YywgMHhjIFwNCj4gKyAgfQ0KPiArDQo+ICsvLw0KPiArLy8g UmVzdXNlIHRoZSBEWEUgZGVmaW5pdGlvbiwgYW5kIHVzZSBhbm90aGVyIEdVSUQuDQo+ICsvLw0K PiArdHlwZWRlZiBFRklfU01CVVNfSENfUFJPVE9DT0wgIFNNTV9TTUJVU19IQ19QUk9UT0NPTDsN Cj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEICBnRWZpU21tU21idXNQcm90b2NvbEd1aWQ7DQo+ICsN Cj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVm Q29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wv U3BpLmgNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcy U29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9Qcm90b2NvbC9TcGkuaA0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5hOGQ1MGNiYmYyDQo+IC0tLSAvZGV2L251 bGwNCj4gKysrDQo+IGIvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlW aWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvU3BpLmgNCj4gQEAgLTAs MCArMSwyNjAgQEANCj4gKy8qKg0KPiArKiovDQo+ICsvKioNCj4gKw0KPiArQ29weXJpZ2h0IChj KSAyMDEyICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+ICsNCj4gKyAgQGZpbGUNCj4gKyAgU3BpLmgNCj4gKw0KPiArICBAYnJpZWYNCj4g KyAgVGhpcyBmaWxlIGRlZmluZXMgdGhlIEVGSSBTUEkgUHJvdG9jb2wgd2hpY2ggaW1wbGVtZW50 cyB0aGUNCj4gKyAgSW50ZWwoUikgSUNIIFNQSSBIb3N0IENvbnRyb2xsZXIgQ29tcGF0aWJpbGl0 eSBJbnRlcmZhY2UuDQo+ICsNCj4gKyoqLw0KPiArI2lmbmRlZiBfRUZJX1NQSV9IXw0KPiArI2Rl ZmluZSBfRUZJX1NQSV9IXw0KPiArDQo+ICsNCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9TUElfUFJP VE9DT0xfR1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4MTE1NmVmYzYsIDB4ZWEzMiwgMHg0Mzk2 LCAweGI1LCAweGQ1LCAweDI2LCAweDkzLCAweDJlLCAweDgzLCAweGMzLCAweDEzDQo+IFwNCj4g KyAgfQ0KPiArI2RlZmluZSBFRklfU01NX1NQSV9QUk9UT0NPTF9HVUlEIFwNCj4gKyAgeyBcDQo+ ICsgICAgMHhEOTA3MkMzNSwgMHhFQjhGLCAweDQzYWQsIDB4QTIsIDB4MjAsIDB4MzQsIDB4RDQs IDB4MEUsIDB4MkEsIDB4ODIsDQo+IDB4ODUgXA0KPiArICB9DQo+ICtleHRlcm4gRUZJX0dVSUQg ICAgICAgICAgICAgICAgICAgZ0VmaVNwaVByb3RvY29sR3VpZDsNCj4gK2V4dGVybiBFRklfR1VJ RCAgICAgICAgICAgICAgICAgICBnRWZpU21tU3BpUHJvdG9jb2xHdWlkOw0KPiArDQo+ICsvLy8N Cj4gKy8vLyBGb3J3YXJkIHJlZmVyZW5jZSBmb3IgQU5TSSBDIGNvbXBhdGliaWxpdHkNCj4gKy8v Lw0KPiArdHlwZWRlZiBzdHJ1Y3QgX0VGSV9TUElfUFJPVE9DT0wgIEVGSV9TUElfUFJPVE9DT0w7 DQo+ICsNCj4gKy8vLw0KPiArLy8vIFNQSSBwcm90b2NvbCBkYXRhIHN0cnVjdHVyZXMgYW5kIGRl ZmluaXRpb25zDQo+ICsvLy8NCj4gKy8vLw0KPiArLy8vIE51bWJlciBvZiBQcmVmaXggT3Bjb2Rl cyBhbGxvd2VkIG9uIHRoZSBTUEkgaW50ZXJmYWNlDQo+ICsvLy8NCj4gKyNkZWZpbmUgU1BJX05V TV9QUkVGSVhfT1BDT0RFIDINCj4gKw0KPiArLy8vDQo+ICsvLy8gTnVtYmVyIG9mIE9wY29kZXMg aW4gdGhlIE9wY29kZSBNZW51DQo+ICsvLy8NCj4gKyNkZWZpbmUgU1BJX05VTV9PUENPREUgIDgN Cj4gKw0KPiArLy8vDQo+ICsvLy8gT3Bjb2RlIFR5cGUNCj4gKy8vLyAgICBFbnVtU3BpT3Bjb2Rl Q29tbWFuZDogQ29tbWFuZCB3aXRob3V0IGFkZHJlc3MNCj4gKy8vLyAgICBFbnVtU3BpT3Bjb2Rl UmVhZDogUmVhZCB3aXRoIGFkZHJlc3MNCj4gKy8vLyAgICBFbnVtU3BpT3Bjb2RlV3JpdGU6IFdy aXRlIHdpdGggYWRkcmVzcw0KPiArLy8vDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBFbnVtU3Bp T3Bjb2RlUmVhZE5vQWRkciwNCj4gKyAgRW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLA0KPiArICBF bnVtU3BpT3Bjb2RlUmVhZCwNCj4gKyAgRW51bVNwaU9wY29kZVdyaXRlLA0KPiArICBFbnVtU3Bp T3Bjb2RlTWF4DQo+ICt9IFNQSV9PUENPREVfVFlQRTsNCj4gKw0KPiArdHlwZWRlZiBlbnVtIHsN Cj4gKyAgRW51bVNwaUN5Y2xlMjBNSHosDQo+ICsgIEVudW1TcGlDeWNsZTMzTUh6LA0KPiArICBF bnVtU3BpQ3ljbGU2Nk1IeiwgIC8vLyBOb3Qgc3VwcG9ydGVkIGJ5IFZMVg0KPiArICBFbnVtU3Bp Q3ljbGU1ME1IeiwNCj4gKyAgRW51bVNwaUN5Y2xlTWF4DQo+ICt9IFNQSV9DWUNMRV9GUkVRVUVO Q1k7DQo+ICsNCj4gK3R5cGVkZWYgZW51bSB7DQo+ICsgIEVudW1TcGlSZWdpb25BbGwsDQo+ICsg IEVudW1TcGlSZWdpb25CaW9zLA0KPiArICBFbnVtU3BpUmVnaW9uU2VDLA0KPiArICBFbnVtU3Bp UmVnaW9uRGVzY3JpcHRvciwNCj4gKyAgRW51bVNwaVJlZ2lvblBsYXRmb3JtRGF0YSwNCj4gKyAg RW51bVNwaVJlZ2lvbk1heA0KPiArfSBTUElfUkVHSU9OX1RZUEU7DQo+ICsNCj4gKy8vLw0KPiAr Ly8vIEhhcmR3YXJlIFNlcXVlbmNpbmcgcmVxdWlyZWQgb3BlcmF0aW9ucyAoYXMgbGlzdGVkIGlu IFZhbGxleXZpZXcgRURTDQo+ICJIYXJkd2FyZQ0KPiArLy8vIFNlcXVlbmNpbmcgQ29tbWFuZHMg YW5kIE9wY29kZSBSZXF1aXJlbWVudHMiDQo+ICsvLy8NCj4gK3R5cGVkZWYgZW51bSB7DQo+ICsg IEVudW1TcGlPcGVyYXRpb25Xcml0ZVN0YXR1cywNCj4gKyAgRW51bVNwaU9wZXJhdGlvblByb2dy YW1EYXRhXzFfQnl0ZSwNCj4gKyAgRW51bVNwaU9wZXJhdGlvblByb2dyYW1EYXRhXzY0X0J5dGUs DQo+ICsgIEVudW1TcGlPcGVyYXRpb25SZWFkRGF0YSwNCj4gKyAgRW51bVNwaU9wZXJhdGlvbldy aXRlRGlzYWJsZSwNCj4gKyAgRW51bVNwaU9wZXJhdGlvblJlYWRTdGF0dXMsDQo+ICsgIEVudW1T cGlPcGVyYXRpb25Xcml0ZUVuYWJsZSwNCj4gKyAgRW51bVNwaU9wZXJhdGlvbkZhc3RSZWFkLA0K PiArICBFbnVtU3BpT3BlcmF0aW9uRW5hYmxlV3JpdGVTdGF0dXMsDQo+ICsgIEVudW1TcGlPcGVy YXRpb25FcmFzZV8yNTZfQnl0ZSwNCj4gKyAgRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRLX0J5dGUs DQo+ICsgIEVudW1TcGlPcGVyYXRpb25FcmFzZV84S19CeXRlLA0KPiArICBFbnVtU3BpT3BlcmF0 aW9uRXJhc2VfNjRLX0J5dGUsDQo+ICsgIEVudW1TcGlPcGVyYXRpb25GdWxsQ2hpcEVyYXNlLA0K PiArICBFbnVtU3BpT3BlcmF0aW9uSmVkZWNJZCwNCj4gKyAgRW51bVNwaU9wZXJhdGlvbkR1YWxP dXRwdXRGYXN0UmVhZCwNCj4gKyAgRW51bVNwaU9wZXJhdGlvbkRpc2NvdmVyeVBhcmFtZXRlcnMs DQo+ICsgIEVudW1TcGlPcGVyYXRpb25PdGhlciwNCj4gKyAgRW51bVNwaU9wZXJhdGlvbk1heA0K PiArfSBTUElfT1BFUkFUSU9OOw0KPiArDQo+ICsvLy8NCj4gKy8vLyBTUEkgQ29tbWFuZCBDb25m aWd1cmF0aW9uDQo+ICsvLy8gICBGcmVxdWVuY3kgICAgICAgVGhlIGV4cGVjdGVkIGZyZXF1ZW5j eSB0byBiZSB1c2VkICh2YWx1ZSB0byBiZQ0KPiBwcm9ncmFtbWVkIHRvIHRoZSBTU0ZDDQo+ICsv Ly8gICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIpDQo+ICsvLy8gICBPcGVyYXRpb24gICAgICAg V2hpY2ggSGFyZHdhcmUgU2VxdWVuY2luZyByZXF1aXJlZCBvcGVyYXRpb24gdGhpcw0KPiBvcGNv ZGUgcmVzcG9pbmRzIHRvLg0KPiArLy8vICAgICAgICAgICAgICAgICAgIFRoZSByZXF1aXJlZCBv cGVyYXRpb25zIGFyZSBsaXN0ZWQgaW4gRURTIFRhYmxlIDUtNTU6ICJIYXJkd2FyZQ0KPiArLy8v ICAgICAgICAgICAgICAgICAgIFNlcXVlbmNpbmcgQ29tbWFuZHMgYW5kIE9wY29kZSBSZXF1aXJl bWVudHMiDQo+ICsvLy8gICAgICAgICAgICAgICAgICAgSWYgdGhlIG9wY29kZSBkb2VzIG5vdCBj b3JyZXNwb25kcyB0byBhbnkgb3BlcmF0aW9uIGxpc3RlZCwgdXNlDQo+ICsvLy8gICAgICAgICAg ICAgICAgICAgRW51bVNwaU9wZXJhdGlvbk90aGVyLCBhbmQgcHJvdmlkZXMgVFlQRSBhbmQgQ29k ZSBmb3IgaXQgaW4NCj4gKy8vLyAgICAgICAgICAgICAgICAgICBTcGVjaWFsT3Bjb2RlRW50cnku DQo+ICsvLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9TUElfT1BDT0RFX01FTlVfRU5UUlkgew0KPiAr ICBTUElfT1BDT0RFX1RZUEUgICAgIFR5cGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgQ29k ZTsNCj4gKyAgU1BJX0NZQ0xFX0ZSRVFVRU5DWSBGcmVxdWVuY3k7DQo+ICsgIFNQSV9PUEVSQVRJ T04gICAgICAgT3BlcmF0aW9uOw0KPiArfSBTUElfT1BDT0RFX01FTlVfRU5UUlk7DQo+ICsNCj4g Ky8vDQo+ICsvLyBJbml0aWFsaXphdGlvbiBkYXRhIHRhYmxlIGxvYWRlZCB0byB0aGUgU1BJIGhv c3QgY29udHJvbGxlcg0KPiArLy8gICAgVmVuZG9ySWQgICAgICAgIFZlbmRvciBJRCBvZiB0aGUg U1BJIGRldmljZQ0KPiArLy8gICAgRGV2aWNlSWQwICAgICAgIERldmljZSBJRDAgb2YgdGhlIFNQ SSBkZXZpY2UNCj4gKy8vICAgIERldmljZUlkMSAgICAgICBEZXZpY2UgSUQxIG9mIHRoZSBTUEkg ZGV2aWNlDQo+ICsvLyAgICBQcmVmaXhPcGNvZGUgICAgUHJlZml4IG9wY29kZXMgd2hpY2ggYXJl IGxvYWRlZCBpbnRvIHRoZSBTUEkgaG9zdA0KPiBjb250cm9sbGVyDQo+ICsvLyAgICBPcGNvZGVN ZW51ICAgICAgT3Bjb2RlcyB3aGljaCBhcmUgbG9hZGVkIGludG8gdGhlIFNQSSBob3N0IGNvbnRy b2xsZXINCj4gT3Bjb2RlIE1lbnUNCj4gKy8vICAgIEJpb3NTdGFydE9mZnNldCBUaGUgb2Zmc2V0 IG9mIHRoZSBzdGFydCBvZiB0aGUgQklPUyBpbWFnZSByZWxhdGl2ZSB0byB0aGUNCj4gZmxhc2gg ZGV2aWNlLg0KPiArLy8gICAgICAgICAgICAgICAgICAgIFBsZWFzZSBub3RlIHRoaXMgaXMgYSBG bGFzaCBMaW5lYXIgQWRkcmVzcywgTk9UIGEgbWVtb3J5IHNwYWNlDQo+IGFkZHJlc3MuDQo+ICsv LyAgICAgICAgICAgICAgICAgICAgVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybSBzcGVjaWZpYyBhbmQg ZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoDQo+IG1hcC4NCj4gKy8vICAgICAgICAgICAgICAg ICAgICBUaGlzIHZhbHVlIGlzIG9ubHkgdXNlZCBvbiBub24gRGVzY3JpcHRvciBtb2RlLg0KPiAr Ly8gICAgQmlvc1NpemUgICAgICAgIFRoZSB0aGUgQklPUyBJbWFnZSBzaXplIGluIGZsYXNoLiBU aGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsvLyAgICAgICAgICAgICAgICAg ICAgYW5kIGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuIFBsZWFzZSBub3RlIEJJT1Mg SW1hZ2UNCj4gc2l6ZSBtYXkNCj4gKy8vICAgICAgICAgICAgICAgICAgICBiZSBzbWFsbGVyIHRo YW4gQklPUyBSZWdpb24gc2l6ZSAoaW4gRGVzY3JpcHRvciBNb2RlKSBvciB0aGUNCj4gZmxhc2gg c2l6ZQ0KPiArLy8gICAgICAgICAgICAgICAgICAgIChpbiBOb24gRGVzY3JpcHRvciBNb2RlKSwg YW5kIGluIHRoaXMgY2FzZSwgQklPUyBJbWFnZSBpcw0KPiBzdXBwb3NlZCB0byBiZQ0KPiArLy8g ICAgICAgICAgICAgICAgICAgIHBsYWNlZCBhdCB0aGUgdG9wIGVuZCBvZiB0aGUgQklPUyBSZWdp b24gKGluIERlc2NyaXB0b3IgTW9kZSkNCj4gb3IgdGhlIGZsYXNoDQo+ICsvLyAgICAgICAgICAg ICAgICAgICAgKGluIE5vbiBEZXNjcmlwdG9yIE1vZGUpDQo+ICsvLw0KPiArdHlwZWRlZiBzdHJ1 Y3QgX1NQSV9JTklUX1RBQkxFIHsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgIFZlbmRvcklk Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgRGV2aWNlSWQwOw0KPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgRGV2aWNlSWQxOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgUHJlZml4 T3Bjb2RlW1NQSV9OVU1fUFJFRklYX09QQ09ERV07DQo+ICsgIFNQSV9PUENPREVfTUVOVV9FTlRS WSBPcGNvZGVNZW51W1NQSV9OVU1fT1BDT0RFXTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg IEJpb3NTdGFydE9mZnNldDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgIEJpb3NTaXplOw0K PiArfSBTUElfSU5JVF9UQUJMRTsNCj4gKw0KPiArLy8NCj4gKy8vIFByb3RvY29sIG1lbWJlciBm dW5jdGlvbnMNCj4gKy8vDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpF RklfU1BJX0lOSVQpICgNCj4gKyAgSU4gRUZJX1NQSV9QUk9UT0NPTCAgICAgKiBUaGlzLA0KPiAr ICBJTiBTUElfSU5JVF9UQUJMRSAgICAgICAqIEluaXRUYWJsZQ0KPiArICApOw0KPiArDQo+ICsv KioNCj4gKw0KPiArICBAYnJpZWYNCj4gKyAgSW5pdGlhbGl6ZXMgdGhlIGhvc3QgY29udHJvbGxl ciB0byBleGVjdXRlIFNQSSBjb21tYW5kcy4NCj4gKw0KPiArICBAcGFyYW1baW5dIFRoaXMgICAg ICAgICAgICAgICAgIFBvaW50ZXIgdG8gdGhlIEVGSV9TUElfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ ICsgIEBwYXJhbVtpbl0gSW5pdERhdGEgICAgICAgICAgICAgUG9pbnRlciB0byBjYWxsZXItYWxs b2NhdGVkIGJ1ZmZlciBjb250YWluaW5nIHRoZQ0KPiBTUEkNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnRlcmZhY2UgaW5pdGlhbGl6YXRpb24gdGFibGUuDQo+ICsNCj4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBPcGNvZGUgaW5pdGlhbGl6YXRpb24g b24gdGhlIFNQSSBob3N0IGNvbnRyb2xsZXINCj4gY29tcGxldGVkLg0KPiArICBAcmV0dmFsIEVG SV9BQ0NFU1NfREVOSUVEICAgICAgIFRoZSBTUEkgY29uZmlndXJhdGlvbiBpbnRlcmZhY2UgaXMg bG9ja2VkLg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgIE5vdCBlbm91Z2gg cmVzb3VyY2UgYXZhaWxhYmxlIHRvDQo+IGluaXRpYWxpemUgdGhlIGRldmljZS4NCj4gKyAgQHJl dHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgICBEZXZpY2UgZXJyb3IsIG9wZXJhdGlvbiBmYWls ZWQuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJ QVBJICpFRklfU1BJX0xPQ0spICgNCj4gKyAgSU4gRUZJX1NQSV9QUk9UT0NPTCAgICAgKiBUaGlz DQo+ICsgICk7DQo+ICsvKioNCj4gKw0KPiArICBAYnJpZWYNCj4gKyAgSW5pdGlhbGl6ZXMgdGhl IGhvc3QgY29udHJvbGxlciB0byBleGVjdXRlIFNQSSBjb21tYW5kcy4NCj4gKw0KPiArICBAcGFy YW1baW5dIFRoaXMgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gdGhlIEVGSV9TUElfUFJPVE9D T0wgaW5zdGFuY2UuDQo+ICsgIEBwYXJhbVtpbl0gSW5pdERhdGEgICAgICAgICAgICAgUG9pbnRl ciB0byBjYWxsZXItYWxsb2NhdGVkIGJ1ZmZlciBjb250YWluaW5nIHRoZQ0KPiBTUEkNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2UgaW5pdGlhbGl6YXRpb24g dGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBPcGNvZGUg aW5pdGlhbGl6YXRpb24gb24gdGhlIFNQSSBob3N0IGNvbnRyb2xsZXINCj4gY29tcGxldGVkLg0K PiArICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEICAgICAgIFRoZSBTUEkgY29uZmlndXJhdGlv biBpbnRlcmZhY2UgaXMgbG9ja2VkLg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VT ICAgIE5vdCBlbm91Z2ggcmVzb3VyY2UgYXZhaWxhYmxlIHRvDQo+IGluaXRpYWxpemUgdGhlIGRl dmljZS4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgICBEZXZpY2UgZXJyb3Is IG9wZXJhdGlvbiBmYWlsZWQuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklf U1RBVFVTDQo+ICsoRUZJQVBJICpFRklfU1BJX0VYRUNVVEUpICgNCj4gKyAgSU4gICAgIEVGSV9T UElfUFJPVE9DT0wgICAqIFRoaXMsDQo+ICsgIElOICAgICBVSU5UOCAgICAgICAgICAgICAgT3Bj b2RlSW5kZXgsDQo+ICsgIElOICAgICBVSU5UOCAgICAgICAgICAgICAgUHJlZml4T3Bjb2RlSW5k ZXgsDQo+ICsgIElOICAgICBCT09MRUFOICAgICAgICAgICAgRGF0YUN5Y2xlLA0KPiArICBJTiAg ICAgQk9PTEVBTiAgICAgICAgICAgIEF0b21pYywNCj4gKyAgSU4gICAgIEJPT0xFQU4gICAgICAg ICAgICBTaGlmdE91dCwNCj4gKyAgSU4gICAgIFVJTlROICAgICAgICAgICAgICBBZGRyZXNzLA0K PiArICBJTiAgICAgVUlOVDMyICAgICAgICAgICAgIERhdGFCeXRlQ291bnQsDQo+ICsgIElOIE9V VCBVSU5UOCAgICAgICAgICAgICAgKkJ1ZmZlciwNCj4gKyAgSU4gICAgIFNQSV9SRUdJT05fVFlQ RSAgICBTcGlSZWdpb25UeXBlDQo+ICsgICk7DQo+ICsvKioNCj4gKw0KPiArICBAYnJpZWYNCj4g KyAgRXhlY3V0ZSBTUEkgY29tbWFuZHMgZnJvbSB0aGUgaG9zdCBjb250cm9sbGVyLg0KPiArDQo+ ICsgIEBwYXJhbVtpbl0gVGhpcyAgICAgICAgICAgICAgICAgUG9pbnRlciB0byB0aGUgRUZJX1NQ SV9QUk9UT0NPTCBpbnN0YW5jZS4NCj4gKyAgQHBhcmFtW2luXSBPcGNvZGVJbmRleCAgICAgICAg ICBJbmRleCBvZiB0aGUgY29tbWFuZCBpbiB0aGUgT3BDb2RlDQo+IE1lbnUuDQo+ICsgIEBwYXJh bVtpbl0gUHJlZml4T3Bjb2RlSW5kZXggICAgSW5kZXggb2YgdGhlIGZpcnN0IGNvbW1hbmQgdG8g cnVuIHdoZW4NCj4gaW4gYW4gYXRvbWljIGN5Y2xlIHNlcXVlbmNlLg0KPiArICBAcGFyYW1baW5d IERhdGFDeWNsZSAgICAgICAgICAgIFRSVUUgaWYgdGhlIFNQSSBjeWNsZSBjb250YWlucyBkYXRh DQo+ICsgIEBwYXJhbVtpbl0gQXRvbWljICAgICAgICAgICAgICAgVFJVRSBpZiB0aGUgU1BJIGN5 Y2xlIGlzIGF0b21pYyBhbmQgaW50ZXJsZWF2ZQ0KPiBjeWNsZXMgYXJlIG5vdCBhbGxvd2VkLg0K PiArICBAcGFyYW1baW5dIFNoaWZ0T3V0ICAgICAgICAgICAgIElmIERhdGFCeXRlQ291bnQgaXMg bm90IHplcm8sIFRSVUUgdG8gc2hpZnQgZGF0YQ0KPiBvdXQgYW5kIEZBTFNFIHRvIHNoaWZ0IGRh dGEgaW4uDQo+ICsgIEBwYXJhbVtpbl0gQWRkcmVzcyAgICAgICAgICAgICAgSW4gRGVzY3JpcHRv ciBNb2RlLCBmb3IgRGVzY3JpcHRvciBSZWdpb24sIEdiRQ0KPiBSZWdpb24sIE1FIFJlZ2lvbiBh bmQgUGxhdGZvcm0NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpb24s IHRoaXMgdmFsdWUgc3BlY2lmaWVzIHRoZSBvZmZzZXQgZnJvbSB0aGUgUmVnaW9uDQo+IEJhc2U7 IGZvciBCSU9TIFJlZ2lvbiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 aGlzIHZhbHVlIHNwZWNpZmllcyB0aGUgb2Zmc2V0IGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBCSU9T DQo+IEltYWdlLiBJbiBOb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE ZXNjcmlwdG9yIE1vZGUsIHRoaXMgdmFsdWUgc3BlY2lmaWVzIHRoZSBvZmZzZXQgZnJvbSB0aGUN Cj4gc3RhcnQgb2YgdGhlIEJJT1MgSW1hZ2UuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUGxlYXNlIG5vdGUgQklPUyBJbWFnZSBzaXplIG1heSBiZSBzbWFsbGVyIHRoYW4g QklPUw0KPiBSZWdpb24gc2l6ZSAoaW4gRGVzY3JpcHRvcg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1vZGUpIG9yIHRoZSBmbGFzaCBzaXplIChpbiBOb24gRGVzY3JpcHRv ciBNb2RlKSwgYW5kIGluDQo+IHRoaXMgY2FzZSwgQklPUyBJbWFnZSBpcw0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvc2VkIHRvIGJlIHBsYWNlZCBhdCB0aGUgdG9w IGVuZCBvZiB0aGUgQklPUyBSZWdpb24NCj4gKGluIERlc2NyaXB0b3IgTW9kZSkgb3INCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZmxhc2ggKGluIE5vbiBEZXNjcmlw dG9yIE1vZGUpDQo+ICsgIEBwYXJhbVtpbl0gRGF0YUJ5dGVDb3VudCAgICAgICAgTnVtYmVyIG9m IGJ5dGVzIGluIHRoZSBkYXRhIHBvcnRpb24gb2YgdGhlDQo+IFNQSSBjeWNsZS4NCj4gKyAgQHBh cmFtW2luXSBCdWZmZXIgICAgICAgICAgICAgICBQb2ludGVyIHRvIGNhbGxlci1hbGxvY2F0ZWQg YnVmZmVyIGNvbnRhaW5pbmcgdGhlDQo+IGRhZGEgcmVjZWl2ZWQgb3Igc2VudCBkdXJpbmcgdGhl IFNQSSBjeWNsZS4NCj4gKyAgQHBhcmFtW2luXSBTcGlSZWdpb25UeXBlICAgICAgICBTUEkgUmVn aW9uIHR5cGUuIFZhbHVlcyBFbnVtU3BpUmVnaW9uQmlvcywNCj4gRW51bVNwaVJlZ2lvbkdiRSwg RW51bVNwaVJlZ2lvbk1lLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVu dW1TcGlSZWdpb25EZXNjcmlwdG9yLCBhbmQNCj4gRW51bVNwaVJlZ2lvblBsYXRmb3JtRGF0YSBh cmUgb25seSBhcHBsaWNhYmxlIGluDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRGVzY3JpcHRvciBtb2RlLiBWYWx1ZSBFbnVtU3BpUmVnaW9uQWxsIGlzIGFwcGxpY2FibGUg dG8NCj4gYm90aCBEZXNjcmlwdG9yIE1vZGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBhbmQgTm9uIERlc2NyaXB0b3IgTW9kZSwgd2hpY2ggaW5kaWNhdGVzDQo+ICJTcGlS ZWdpb25PZmZzZXQiIGlzIGFjdHVhbGx5IHJlbGF0aXZlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdG8gYmFzZSBvZiB0aGUgMXN0IGZsYXNoIGRldmljZSAoaS5lLiwgaXQg aXMgYSBGbGFzaCBMaW5lYXINCj4gQWRkcmVzcykuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VD Q0VTUyAgICAgICAgICAgICBDb21tYW5kIHN1Y2NlZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFM SURfUEFSQU1FVEVSICAgVGhlIHBhcmFtZXRlcnMgc3BlY2lmaWVkIGFyZSBub3QgdmFsaWQuDQo+ ICsgIEBleGNlcHRpb24gRUZJX1VOU1VQUE9SVEVEICAgICAgQ29tbWFuZCBub3Qgc3VwcG9ydGVk Lg0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgIERldmljZSBlcnJvciwgY29t bWFuZCBhYm9ydHMgYWJub3JtYWxseS4NCj4gKw0KPiArKiovDQo+ICsNCj4gKy8vLw0KPiArLy8v IFByb3RvY29sIGRlZmluaXRpb24NCj4gKy8vLw0KPiArc3RydWN0IF9FRklfU1BJX1BST1RPQ09M IHsNCj4gKyAgRUZJX1NQSV9JTklUICAgIEluaXQ7DQo+ICsgIEVGSV9TUElfTE9DSyAgICBMb2Nr Ow0KPiArICBFRklfU1BJX0VYRUNVVEUgRXhlY3V0ZTsNCj4gK307DQo+ICsNCj4gKyNlbmRpZg0K PiBkaWZmIC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxs ZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUHJvdG9jb2wvVGNvUmVzZXQuaA0K PiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291 dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1Rjb1Jlc2V0LmgNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMDliZTgxZWNiZQ0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5Vmll dzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1Byb3RvY29sL1Rjb1Jlc2V0LmgNCj4gQEAg LTAsMCArMSw4OCBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsN Cj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFRjb1Jlc2V0LmgNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgUHJvdG9jb2wgdG8gY29tbXVuaWNhdGUgd2l0aCBJQ0ggVENPLg0KPiArDQo+ ICtHVUlEIEluZm86DQo+ICsge0E2QTc5MTYyLUUzMjUtNGMzMC1CQ0MzLTU5MzczMDY0RUZCM30N Cj4gKyAweGE2YTc5MTYyLCAweGUzMjUsIDB4NGMzMCwgMHhiYywgMHhjMywgMHg1OSwgMHgzNywg MHgzMCwgMHg2NCwgMHhlZiwgMHhiMyk7DQo+ICsNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZu ZGVmIF9UQ09fUkVTRVRfSF8NCj4gKyNkZWZpbmUgX1RDT19SRVNFVF9IXw0KPiArDQo+ICsNCj4g KyNkZWZpbmUgRUZJX1RDT19SRVNFVF9QUk9UT0NPTF9HVUlEICBcDQo+ICsgIHsweGE2YTc5MTYy LCAweGUzMjUsIDB4NGMzMCwgMHhiYywgMHhjMywgMHg1OSwgMHgzNywgMHgzMCwgMHg2NCwgMHhl ZiwgMHhiM30NCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3QgX0VGSV9UQ09fUkVTRVRfUFJPVE9DT0wg RUZJX1RDT19SRVNFVF9QUk9UT0NPTDsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0K PiArKEVGSUFQSSAqRUZJX1RDT19SRVNFVF9QUk9UT0NPTF9FTkFCTEVfVENPX1JFU0VUKSAoDQo+ ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgKlJjcmJHY3NTYXZlVmFsdWUNCj4gKyAgKQ0K PiArLyorKw0KPiArDQo+ICtSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiArDQo+ICsgIEVuYWJsZXMg dGhlIFRDTyB0aW1lciB0byByZXNldCB0aGUgc3lzdGVtIGluIGNhc2Ugb2YgYSBzeXN0ZW0gaGFu Zy4gIFRoaXMgaXMNCj4gKyAgdXNlZCB3aGVuIHdyaXRpbmcgdGhlIGNsb2NrIHJlZ2lzdGVycy4N Cj4gKw0KPiArQXJndW1lbnRzOg0KPiArDQo+ICsgIFJjcmJHY3NTYXZlVmFsdWUgIC0gVGhpcyBp cyB0aGUgdmFsdWUgb2YgdGhlIFJDUkIgR0NTIHJlZ2lzdGVyIGJlZm9yZSBpdCBpcw0KPiArICAg ICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgYnkgdGhpcyBwcm9jZWR1cmUuICBUaGlzIHdpbGwg YmUgdXNlZCB0byByZXN0b3JlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgdGhlIHNldHRpbmdz IG9mIHRoaXMgcmVnaXN0ZXIgaW4gUHBpRGlzYWJsZVRjb1Jlc2V0Lg0KPiArDQo+ICtSZXR1cm5z Og0KPiArDQo+ICsgIEVGSV9TVEFUVVMNCj4gKw0KPiArLS0qLw0KPiArOw0KPiArDQo+ICt0eXBl ZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfVENPX1JFU0VUX1BST1RPQ09MX0RJ U0FCTEVfVENPX1JFU0VUKSAoDQo+ICsgIE9VVCAgICAgVUlOVDMyICAgIFJjcmJHY3NSZXN0b3Jl VmFsdWUNCj4gKyAgKQ0KPiArLyorKw0KPiArDQo+ICtSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiAr DQo+ICsgIERpc2FibGVzIHRoZSBUQ08gdGltZXIuICBUaGlzIGlzIHVzZWQgYWZ0ZXIgd3JpdGlu ZyB0aGUgY2xvY2sgcmVnaXN0ZXJzLg0KPiArDQo+ICtBcmd1bWVudHM6DQo+ICsNCj4gKyAgUmNy Ykdjc1Jlc3RvcmVWYWx1ZSAtIFZhbHVlIHNhdmVkIGluIFBwaUVuYWJsZVRjb1Jlc2V0IHNvIHRo YXQgaXQgY2FuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICByZXN0b3JlZC4NCj4gKw0KPiAr UmV0dXJuczoNCj4gKw0KPiArICBFRklfU1RBVFVTDQo+ICsNCj4gKy0tKi8NCj4gKzsNCj4gKw0K PiArdHlwZWRlZiBzdHJ1Y3QgX0VGSV9UQ09fUkVTRVRfUFJPVE9DT0wgew0KPiArICBFRklfVENP X1JFU0VUX1BST1RPQ09MX0VOQUJMRV9UQ09fUkVTRVQgICAgICAgRW5hYmxlVGNvUmVzZXQ7DQo+ ICsgIEVGSV9UQ09fUkVTRVRfUFJPVE9DT0xfRElTQUJMRV9UQ09fUkVTRVQgICAgICBEaXNhYmxl VGNvUmVzZXQ7DQo+ICt9IEVGSV9UQ09fUkVTRVRfUFJPVE9DT0w7DQo+ICsNCj4gK2V4dGVybiBF RklfR1VJRCBnRWZpVGNvUmVzZXRQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZm IC0tZ2l0DQo+IGEvU2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3 MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+IGUvUnNjaS5oDQo+IGIvU2lsaWNvbi9JbnRlbC9W bHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXIvSW5jbHVkDQo+ IGUvUnNjaS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmY1 YWEyZWFmODYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9TaWxpY29uL0ludGVsL1ZsdjJE ZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcyU29jL1NvdXRoQ2x1c3Rlci9JbmNsdWQNCj4gZS9S c2NpLmgNCj4gQEAgLTAsMCArMSwyOCBAQA0KPiArLyorKw0KPiArQ29weXJpZ2h0IChjKSAxOTk2 ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFt ZToNCj4gKw0KPiArDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsNCj4gKw0KPiArLS0qLw0K PiArDQo+ICsjaWZuZGVmIF9SU0NJX0gNCj4gKyNkZWZpbmUgX1JTQ0lfSA0KPiArDQo+ICt0eXBl ZGVmIGVudW0gew0KPiArICBOT1RfQVBQTElDQUJMRV9SRVNFVCA9IDAsDQo+ICsgIFdBUk1fUkVT RVQgPSAxLA0KPiArICBDT0xEX1JFU0VUID0gMiwNCj4gKyAgR0xPQkFMX1JFU0VUID0gNywNCj4g K31BTkRST0lEX1JFU0VUX1RZUEU7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEv U2lsaWNvbi9JbnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9Tb3V0aENs dXN0ZXIvSW5jbHVkDQo+IGUvVGlhbm9BcGkuaA0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1RpYW5v QXBpLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNzg0ZWEx ODdjNg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1NpbGljb24vSW50ZWwvVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyL0luY2x1ZA0KPiBlL1RpYW5v QXBpLmgNCj4gQEAgLTAsMCArMSw2MSBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMp IDIwMDQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiArU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArTW9kdWxlIE5h bWU6DQo+ICsNCj4gKyAgVGlhbm9BcGkuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBU aWFubyBpbnRyaW5zaWMgZGVmaW5pdGlvbnMuDQo+ICsNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsj aWZuZGVmIF9USUFOT19BUElfSF8NCj4gKyNkZWZpbmUgX1RJQU5PX0FQSV9IXw0KPiArDQo+ICsv Lw0KPiArLy8gUG9pbnRlciB0byBpbnRlcm5hbCBydW50aW1lIGZ1bmN0aW9uDQo+ICsvLw0KPiAr I2RlZmluZSBFRklfSU5URVJOQUxfRlVOQ1RJT04gMHgwMDAwMDAwMg0KPiArDQo+ICsvLw0KPiAr Ly8gUG9pbnRlciB0byBpbnRlcm5hbCBydW50aW1lIHBvaW50ZXINCj4gKy8vDQo+ICsjZGVmaW5l IEVGSV9JTlRFUk5BTF9QT0lOVEVSICAweDAwMDAwMDA0DQo+ICsNCj4gKy8vDQo+ICsvLyBQb2lu dGVyIHRvIGludGVybmFsIHJ1bnRpbWUgcG9pbnRlcg0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX0lQ Rl9HUF9QT0lOVEVSICAweDAwMDAwMDA4DQo+ICsNCj4gKyNkZWZpbmUgRUZJX1RQTF9EUklWRVIg ICAgICA2DQo+ICsNCj4gKy8vDQo+ICsvLyBFRkkgRXZlbnQgVHlwZXMNCj4gKy8vDQo+ICsjZGVm aW5lIEVGSV9FVkVOVF9USU1FUiAgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAwMDAwDQo+ ICsjZGVmaW5lIEVGSV9FVkVOVF9SVU5USU1FICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAw MDAwDQo+ICsjZGVmaW5lIEVGSV9FVkVOVF9SVU5USU1FX0NPTlRFWFQgICAgICAgICAgICAgICAw eDIwMDAwMDAwDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0VWRU5UX05PVElGWV9XQUlUICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAxMDANCj4gKyNkZWZpbmUgRUZJX0VWRU5UX05PVElGWV9TSUdOQUwg ICAgICAgICAgICAgICAgIDB4MDAwMDAyMDANCj4gKw0KPiArI2RlZmluZSBFRklfRVZFTlRfU0lH TkFMX0VYSVRfQk9PVF9TRVJWSUNFUyAgICAgMHgwMDAwMDIwMQ0KPiArI2RlZmluZSBFRklfRVZF TlRfU0lHTkFMX1ZJUlRVQUxfQUREUkVTU19DSEFOR0UgMHg2MDAwMDIwMg0KPiArDQo+ICsjZGVm aW5lIEVGSV9FVkVOVF9FRklfU0lHTkFMX01BU0sgICAgICAgICAgICAgICAweDAwMDAwMEZGDQo+ ICsjZGVmaW5lIEVGSV9FVkVOVF9FRklfU0lHTkFMX01BWCAgICAgICAgICAgICAgICA0DQo+ICsN Cj4gKy8vDQo+ICsvLyBUYXNrIHByaW9yaXR5IGxldmVsDQo+ICsvLw0KPiArI2RlZmluZSBFRklf VFBMX0FQUExJQ0FUSU9OIDQNCj4gKyNkZWZpbmUgRUZJX1RQTF9DQUxMQkFDSyAgICA4DQo+ICsj ZGVmaW5lIEVGSV9UUExfTk9USUZZICAgICAgMTYNCj4gKyNkZWZpbmUgRUZJX1RQTF9ISUdIX0xF VkVMICAzMQ0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1NpbGljb24vSW50ZWwvVmx2 MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+IGIvU2lsaWNvbi9J bnRlbC9WbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNlUmVmQ29kZVBrZy5kZWMNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNjExN2YxNzliYQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1NpbGljb24vSW50ZWwvVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2 MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+IEBAIC0wLDAgKzEsMjMxIEBADQo+ICsjIyAgQGZpbGUg IFZsdjJEZXZpY2VSZWZDb2RlUGtnLmRlYw0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMTIg IC0gMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKyMNCj4g KyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4g KyMNCj4gKyMjDQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArICBERUNfU1BFQ0lGSUNBVElPTiAgICAg ICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIFBBQ0tBR0VfTkFNRSAgICAgICAgICAgICAgICAg ICA9IFZsdjJEZXZpY2VSZWZDb2RlUGtnDQo+ICsgIFBBQ0tBR0VfR1VJRCAgICAgICAgICAgICAg ICAgICA9IEU0RkEwRENBLTkxQTMtNDk1Ny05MzQ0LUMxMEJBQTBCRkU1Rg0KPiArICBQQUNLQUdF X1ZFUlNJT04gICAgICAgICAgICAgICAgPSAwLjENCj4gKw0KPiArW1BwaXNdDQo+ICsgIGdWbHZQ b2xpY3lQcGlHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g eyAweDdEODRCMkMyLCAweDIyQTEsIDB4NDM3MiwNCj4gezB4QjEsIDB4MkMsIDB4RUIsIDB4QjIs IDB4MzIsIDB4RDMsIDB4QTYsIDB4QTN9fQ0KPiArICBnVmx2TW1pb1BvbGljeVBwaUd1aWQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHsgMHhFNzY3QkY3RiwgMHg0REI2 LCAweDVCMzQsDQo+IHsweDEwLCAweDExLCAweDRGLCAweEJFLCAweDRDLCAweEE3LCAweEFGLCAw eEQyfX0NCj4gKyAgZ1BlaVNtYnVzUG9saWN5UHBpR3VpZCAgICAgICAgICAgICAgICAgICAgICAg ICAgICA9IHsgMHg2M2I2ZTQzNSwgMHgzMmJjLCAweDQ5YzYsDQo+IHsweDgxLCAweGJkLCAweGI3 LCAweGExLCAweGEwLCAweGZlLCAweDFhLCAweDZjfX0NCj4gKyAgZ1NlQ2ZUUE1QcGlHdWlkICAg ICAgICAgICAgICAgICAgICAgICA9IHsgMHgxMGUyNmRmMSwgMHg4Nzc1LCAweDRlZTEsIHsweGI1 LCAweDBhLA0KPiAweDNhLCAweGU4LCAweDI4LCAweDkzLCAweDcwLCAweDNhfX0NCj4gKyAgZ1Bj aFVzYlBvbGljeVBwaUd1aWQgICAgICAgICAgICAgICAgICA9IHsgMHhjMDJiMDU3MywgMHgyYjRl LCAweDRhMzEsIHsweGEzLCAweDFhLA0KPiAweDk0LCAweDU2LCAweDdiLCAweDUwLCAweDQ0LCAw eDJjfX0NCj4gKyAgZ1BjaEluaXRQcGlHdWlkICAgICAgICAgICAgICAgICAgICAgICA9IHsgMHgw OWVhODk0YSwgMHhiZTBkLCAweDQyMzAsIHsweGEwLCAweDAzLA0KPiAweGVkLCAweGM2LCAweDkz LCAweGI0LCAweDhlLCAweDk1fX0NCj4gKyAgZ1BjaFBsYXRmb3JtUG9saWN5UHBpR3VpZCAgICAg ICAgICAgICA9IHsgMHgxNTM0NDY3MywgMHhEMzY1LCAweDRCRTIsIHsweDg1LA0KPiAweDEzLCAw eDE0LCAweDk3LCAweENDLCAweDA3LCAweDYxLCAweDFEfX0NCj4gKyAgZ1BlaVNwaVBwaUd1aWQg ICAgICAgICAgICAgICAgICAgICAgICA9IHsgMHhBMzhDNjg5OCwgMHgyQjVDLCAweDRGRjYsIHsw eDkzLCAweDI2LA0KPiAweDJFLCAweDYzLCAweDIxLCAweDJFLCAweDU2LCAweEMyfX0NCj4gKyAg Z1ZsdlBlaUluaXRQcGlHdWlkICAgICAgICAgICAgICAgICAgICA9IHsgMHgwOWVhODkxMSwgMHhi ZTBkLCAweDQyMzAsIHsweGEwLCAweDAzLA0KPiAweGVkLCAweGM2LCAweDkzLCAweGI0LCAweDhl LCAweDExfX0NCj4gKyAgZ1NlQ1VtYVBwaUd1aWQgICAgICAgICAgICAgICAgICAgICAgICA9IHsg MHhjYmQ4NjY3NywgMHgzNjJmLCAweDRjMDQsIHsweDk0LCAweDU5LA0KPiAweGE3LCAweDQxLCAw eDMyLCAweDZlLCAweDA1LCAweGNmfX0NCj4gKyAgZ1BlaVNlQ1BsYXRmb3JtUG9saWN5UHBpR3Vp ZCAgICAgICAgICA9IHsgMHg3YWUzY2ViNywgMHgyZWUyLCAweDQ4ZmEsIHsweGFhLA0KPiAweDQ5 LCAweDM1LCAweDEwLCAweGJjLCAweDgzLCAweGNhLCAweGJmfX0NCj4gKyAgZ1BlaUhlY2lQcGlH dWlkICAgICAgICAgICAgICAgICAgICAgICA9IHsgMHhFRTBFQTgxMSwgMHhGQkQ5LCAweDQ3Nzcs IHsweEI5LCAweDVBLA0KPiAweEJBLCAweDRGLCAweDcxLCAweDEwLCAweDFGLCAweDc0fX0NCj4g KyAgZ1BlaVNkaGNQcGlHdWlkICAgICAgICAgICAgICAgICAgICAgICA9IHsgMHhmNGVmOWQ3YSwg MHg5OGM1LCAweDRjMWEsIHsweGI0LCAweGQ5LA0KPiAweGQ4LCAweGQ4LCAweDcyLCAweDY1LCAw eGJlLCAweDBjfX0NCj4gKyAgZ1BlaUJsb2NrSW9QcGlHdWlkICAgICAgICAgICAgICAgICAgICA9 IHsgMHhiYzVmYTY1MCwgMHhlZGJiLCAweDRkMGQsIHsweGIzLCAweGEzLA0KPiAweGQ5LCAweDg5 LCAweDA3LCAweGY4LCAweDQ3LCAweGRmfX0NCj4gKyAgZ1NlQ2ZUUE1Qb2xpY3lQcGlHdWlkICAg ICAgICAgICAgICAgICA9IHsgMHg0ZmQxYmE0OSwgMHg4ZjkwLCAweDQ3MWEsIHsweGEyLCAweGM5 LA0KPiAweDE3LCAweDNjLCAweDdhLCAweDczLCAweDJmLCAweGQwfX0NCj4gKyAgZ0VmaVBlaVJl YWRPbmx5VmFyaWFibGUyUHBpR3VpZCAgICAgICA9IHsgMHgyYWI4NmVmNSwgMHhlY2I1LCAweDQx MzQsIHsweGI1LA0KPiAweDU2LCAweDM4LCAweDU0LCAweGNhLCAweDFmLCAweGUxLCAweGI0fX0N Cj4gKyAgZ1BjaFBlaUluaXRQcGlHdWlkICAgICAgICAgICAgICAgICAgICA9IHsgMHhBQ0I5M0Iw OCwgMHg1Q0RDLCAweDRBOEYsIHsweDkzLCAweEQ0LA0KPiAweDYsIDB4RTMsIDB4NDIsIDB4REYs IDB4MTgsIDB4MkV9fQ0KPiArICBnUHR0UGFzc1RocnVQcGlHdWlkICAgICAgICAgICAgICAgICAg ID0geyAweGM1MDY4YmFjLCAweGE3ZGMsIDB4NDJmMSwgezB4YWUsIDB4ODAsDQo+IDB4Y2EsIDB4 YTIsIDB4NGIsIDB4YjQsIDB4OTAsIDB4NGJ9fQ0KPiArDQo+ICtbUHJvdG9jb2xzXQ0KPiArICBn RWZpR2xvYmFsTnZzQXJlYVByb3RvY29sR3VpZCAgICAgICAgID0geyAweDA3NGUxZTQ4LCAweDgx MzIsIDB4NDdhMSwgezB4OGMsDQo+IDB4MmMsIDB4M2YsIDB4MTQsIDB4YWQsIDB4OWEsIDB4NjYs IDB4ZGN9fQ0KPiArICBnUHBtUGxhdGZvcm1Qb2xpY3lQcm90b2NvbEd1aWQgICAgICAgID0geyAw eGRkYWJmZWFjLCAweGVmNjMsIDB4NDUyYywgezB4OGYsDQo+IDB4MzksIDB4ZWQsIDB4N2YsIDB4 YWUsIDB4ZDgsIDB4MjYsIDB4NWV9fQ0KPiArICBnRWZpU3BpUHJvdG9jb2xHdWlkICAgICAgICAg ICAgICAgICAgID0geyAweDExNTZlZmM2LCAweGVhMzIsIDB4NDM5NiwgezB4YjUsIDB4ZDUsDQo+ IDB4MjYsIDB4OTMsIDB4MmUsIDB4ODMsIDB4YzMsIDB4MTN9fQ0KPiArICBnTWVtSW5mb1Byb3Rv Y29sR3VpZCAgICAgICAgICAgICAgICAgID0geyAweDZmMjBmN2M4LCAweGU1ZWYsIDB4NGYyMSwg ezB4OGQsIDB4MTksDQo+IDB4ZWQsIDB4YzUsIDB4ZjAsIDB4YzQsIDB4OTYsIDB4YWV9fQ0KPiAr ICBnRWZpU2RIb3N0SW9Qcm90b2NvbEd1aWQgICAgICAgICAgICAgID0geyAweGI2M2Y4ZWM3LCAw eGE5YzksIDB4NDQ3MiwgezB4YTQsDQo+IDB4YzAsIDB4NGQsIDB4OGIsIDB4ZjMsIDB4NjUsIDB4 Y2MsIDB4NTF9fQ0KPiArICBnRWZpU3BpUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgID0g eyAweDExNTZlZmM2LCAweGVhMzIsIDB4NDM5NiwgezB4YjUsIDB4ZDUsDQo+IDB4MjYsIDB4OTMs IDB4MmUsIDB4ODMsIDB4YzMsIDB4MTN9fQ0KPiArICBnRWZpU21tU3BpUHJvdG9jb2xHdWlkICAg ICAgICAgICAgICAgID0geyAweEQ5MDcyQzM1LCAweEVCOEYsIDB4NDNBRCwgezB4QTIsDQo+IDB4 MjAsIDB4MzQsIDB4RDQsIDB4MEUsIDB4MkEsIDB4ODIsIDB4ODV9fQ0KPiArICBnRWZpU21tSWNo bkRpc3BhdGNoRXhQcm90b2NvbEd1aWQgICAgID0geyAweDM5MjA0MDVCLCAweEM4OTcsIDB4NDRE QSwNCj4gezB4ODgsIDB4RjMsIDB4NEMsIDB4NDksIDB4OEEsIDB4NkYsIDB4RjcsIDB4MzZ9fQ0K PiArICBnRWZpUGNoUzNTdXBwb3J0UHJvdG9jb2xHdWlkICAgICAgICAgID0geyAweEUyODdEMjBC LCAweEQ4OTcsIDB4NEUxRSwgezB4QTUsDQo+IDB4RDksIDB4OTcsIDB4NzcsIDB4NjMsIDB4OTMs IDB4NkEsIDB4MDR9fQ0KPiArICBnUGNoUmVzZXRQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAg ID0geyAweERCNjM1OTJDLCAweEI4Q0MsIDB4NDRDOCwgezB4OTEsDQo+IDB4OEMsIDB4NTEsIDB4 RjUsIDB4MzQsIDB4NTksIDB4OEEsIDB4NUF9fQ0KPiArICBnUGNoUmVzZXRDYWxsYmFja1Byb3Rv Y29sR3VpZCAgICAgICAgID0geyAweDNBMzMwMEFCLCAweEM5MjksIDB4NDg3RCwNCj4gezB4QUIs IDB4MzQsIDB4MTUsIDB4OUIsIDB4QzEsIDB4MzUsIDB4NjIsIDB4QzB9fQ0KPiArICBnRHhlUGNo UGxhdGZvcm1Qb2xpY3lQcm90b2NvbEd1aWQgICAgID0geyAweDRiMDE2NWE5LCAweDYxZDYsIDB4 NGUyMywNCj4gezB4YTAsIDB4YjUsIDB4M2UsIDB4YzcsIDB4OWMsIDB4MmUsIDB4MzAsIDB4ZDV9 fQ0KPiArICBnRWZpUGNoSW5mb1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgID0geyAweEQzMUYw NDAwLCAweDdEMTYsIDB4NDMxNiwgezB4QkYsDQo+IDB4ODgsIDB4NjAsIDB4NjUsIDB4ODgsIDB4 M0IsIDB4NDAsIDB4MkJ9fQ0KPiArICBnRWZpUGNoRXh0ZW5kZWRSZXNldFByb3RvY29sR3VpZCAg ICAgID0geyAweEYwQkJGQ0EwLCAweDY4NEUsIDB4NDhCMywNCj4gezB4QkEsIDB4RTIsIDB4NkMs IDB4ODQsIDB4QjgsIDB4OUUsIDB4NTMsIDB4Mzl9fQ0KPiArICBnRWZpQWN0aXZlQmlvc1Byb3Rv Y29sR3VpZCAgICAgICAgICAgID0geyAweEVCQkUyRDFCLCAweDE2NDcsIDB4NEJEQSwgezB4QUIs DQo+IDB4OUEsIDB4NzgsIDB4NjMsIDB4RTMsIDB4OTYsIDB4RDQsIDB4MUF9fQ0KPiArICBnRHhl SWNoUGxhdGZvcm1Qb2xpY3lQcm90b2NvbEd1aWQgICAgID0geyAweGY2MTdiMzU4LCAweDEyY2Ys IDB4NDE0YSwgezB4YTAsDQo+IDB4NjksIDB4NjAsIDB4NjcsIDB4N2IsIDB4ZGEsIDB4MTMsIDB4 YjN9fQ0KPiArICBnRWZpSWNoSW5mb1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgID0geyAweGQz MWYwNDAwLCAweDdkMTYsIDB4NDMxNiwgezB4YmYsIDB4ODgsDQo+IDB4NjAsIDB4NjUsIDB4ODgs IDB4M2IsIDB4NDAsIDB4MmJ9fQ0KPiArICBnRWZpU21tSW9UcmFwRGlzcGF0Y2hQcm90b2NvbEd1 aWQgICAgID0geyAweDU4ZGMzNjhkLCAweDdiZmEsIDB4NGU3NywNCj4gezB4YWIsIDB4YmMsIDB4 MGUsIDB4MjksIDB4NDEsIDB4OGQsIDB4ZjksIDB4MzB9fQ0KPiArICBnRWZpU21tU21idXNQcm90 b2NvbEd1aWQgICAgICAgICAgICAgID0geyAweDcyZTQwMDk0LCAweDJlZTEsIDB4NDk3YSwgezB4 OGYsDQo+IDB4MzMsIDB4NGMsIDB4OTMsIDB4NGEsIDB4OWUsIDB4OWMsIDB4MGN9fQ0KPiArICBn RHhlVmx2UGxhdGZvcm1Qb2xpY3lHdWlkICAgICAgICAgICAgID0geyAweDViYWI4OGJhLCAweGUw ZTIsIDB4NDY3NCwgezB4YjYsDQo+IDB4YWQsIDB4YjgsIDB4MTIsIDB4ZjYsIDB4ODgsIDB4MWMs IDB4ZDZ9fQ0KPiArICBnSWdkT3BSZWdpb25Qcm90b2NvbEd1aWQgICAgICAgICAgICAgID0geyAw eGNkYzVkZGRmLCAweGU3OWQsIDB4NDFlYywgezB4YTksDQo+IDB4YjAsIDB4NjUsIDB4NjUsIDB4 NDksIDB4MGQsIDB4YjksIDB4ZDN9fQ0KPiArICBnRWZpSGVjaVByb3RvY29sR3VpZCAgICAgICAg ICAgICAgICAgID0geyAweGNmYjMzODEwLCAweDZlODcsIDB4NDI4NCwgezB4YjIsIDB4MDMsDQo+ IDB4YTYsIDB4NmEsIDB4YmUsIDB4MDcsIDB4ZjYsIDB4ZTh9fQ0KPiArICBnUGxhdGZvcm1TZUNI b29rUHJvdG9jb2xHdWlkICAgICAgICAgID0geyAweGJjNTI0NzZlLCAweGY2N2UsIDB4NDMwMSwg ezB4YjIsDQo+IDB4NjIsIDB4MzYsIDB4OWMsIDB4NDgsIDB4NzgsIDB4YWEsIDB4YzJ9fQ0KPiAr ICBnRWZpU2VDUmNJbmZvUHJvdG9jb2xHdWlkICAgICAgICAgICAgID0geyAweDExZmJmZGZiLCAw eDEwZDIsIDB4NDNlNiwgezB4YjUsDQo+IDB4YjEsIDB4YjQsIDB4MzgsIDB4NmUsIDB4ZGMsIDB4 Y2IsIDB4OWF9fQ0KPiArICBnRWZpVGR0UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgID0g eyAweDBiZjcwMDY3LCAweGQ1M2IsIDB4NDJkZiwgezB4YjcsIDB4NzAsDQo+IDB4ZTksIDB4MmMs IDB4OTEsIDB4YzYsIDB4MTQsIDB4MTF9fQ0KPiArICBnRHhlUGxhdGZvcm1TZUNQb2xpY3lHdWlk ICAgICAgICAgICAgID0geyAweGY4YmZmMDE0LCAweDE4ZmIsIDB4NGVmOSwgezB4YjEsDQo+IDB4 MGMsIDB4YWUsIDB4MjIsIDB4NzMsIDB4OGQsIDB4YmUsIDB4ZWR9fQ0KPiArICBnTHBzc0R1bW15 UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgID0geyAweGFmNGNjMTYyLCAweGQ0MWMsIDB4NDU1 YSwgezB4YWIsDQo+IDB4NDUsIDB4NmQsIDB4YmMsIDB4YzEsIDB4Y2QsIDB4MzIsIDB4ZjN9fQ0K PiArICBnRWZpRW1tY0NhcmRJbmZvUHJvdG9jb2xHdWlkICAgICAgICAgID0geyAweDFlYmU1YWI5 LCAweDIxMjksIDB4NDllNywgezB4ODQsDQo+IDB4ZDcsIDB4ZWUsIDB4YjksIDB4ZmMsIDB4ZTUs IDB4ZGUsIDB4ZGR9fQ0KPiArICBnRWZpVGR0T3BlcmF0aW9uUHJvdG9jb2xHdWlkICAgICAgICAg ID0gezB4ZmQzMDFiYTQsIDB4NWU2MiwgMHg0Njc5LHsgMHhhMCwNCj4gMHg2ZiwgMHhlMCwgMHg5 YSwgMHhhYiwgMHhkZCwgMHgyYSwgMHg5MX19DQo+ICsgIGdFZmlDb25maWdGaWxlTmFtZUd1aWQg ICAgICAgICAgICA9IHsgMHg5OEI4RDU5QiwgMHhFOEJBLCAweDQ4RUUsIHsgMHg5OCwNCj4gMHhE RCwgMHhDMiwgMHg5NSwgMHgzOSwgMHgyRiwgMHgxRSwgMHhEQiB9fQ0KPiArICBnRWZpREZVUmVz dWx0R3VpZCAgICAgICAgICAgICAgICAgPSB7IDB4MTRhN2M0NmYsIDB4YmMwMiwgMHg0MDQ3LCB7 IDB4OWYsIDB4MTgsDQo+IDB4YTUsIDB4ZDcsIDB4MjUsIDB4ZDgsIDB4YmQsIDB4MTkgfX0NCj4g KyAgZ1B0dFBhc3NUaHJ1UHJvdG9jb2xHdWlkICAgICAgICAgID0geyAweDczZTI1NzYsIDB4ZjZj MSwgMHg0YjkxLCB7IDB4OTIsIDB4YTksDQo+IDB4ZDQsIDB4NjcsIDB4NWQsIDB4ZGEsIDB4MzQs IDB4YjEgfSB9DQo+ICsNCj4gK1tHdWlkc10NCj4gKyAgZ0VmaUNQVG9rZW5TcGFjZUd1aWQgICAg ICAgICAgICAgICAgICA9IHsgMHg5MTgyMTFjZSwgMHhhMWQyLCAweDQzYTAsIHsweGEwLA0KPiAw eDRlLCAweDc1LCAweGI1LCAweGJmLCAweDQ0LCAweDUwLCAweDBFfX0NCj4gKyAgZ0VmaVNtYnVz QXJwTWFwR3VpZCAgICAgICAgICAgICAgICAgICA9IHsgMHg3MDdCRTgzRSwgMHgwQkY2LCAweDQw QTUsIHsweEJFLA0KPiAweDY0LCAweDM0LCAweEMwLCAweDNBLCAweEEwLCAweEI4LCAweEUyfX0N Cj4gKyAgZ0VmaU1lbW9yeUNvbmZpZ0RhdGFHdWlkICAgICAgICAgICAgICA9IHsgMHg4MGRiZDUz MCwgMHhiNzRjLCAweDRmMTEsIHsweDhjLA0KPiAweDAzLCAweDQxLCAweDg2LCAweDY1LCAweDUz LCAweDI4LCAweDMxfX0NCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkICAgICAgICAgICAgICAg ICA9IHsgMHhjYTQ1MmM2OCwgMHhkZjBjLCAweDQ1YzksIHsweDgyLCAweGZiLA0KPiAweGVhLCAw eGU0LCAweDJiLCAweDMxLCAweDI5LCAweDQ2fX0NCj4gKyAgZ1NhdGFDb250cm9sbGVyRHJpdmVy R3VpZCAgICAgICAgICAgICA9IHsgMHhiYjkyOWRhOSwgMHg2OGY3LCAweDQwMzUsIHsweGIyLA0K PiAweDJjLCAweGEzLCAweGJiLCAweDNmLCAweDIzLCAweGRhLCAweDU1fX0NCj4gKyAgZ0R4ZVBj aFBvbGljeVVwZGF0ZVByb3RvY29sR3VpZCAgICAgICA9IHsgMHgxYTgxOWU0OSwgMHhkOGVlLCAw eDQ4Y2IsDQo+IHsweDlhLCAweDljLCAweDBhLCAweGEwLCAweGQyLCAweDgxLCAweDBhLCAweDM4 fX0NCj4gKyAgZ1Bvd2VyTWFuYWdlbWVudEFjcGlUYWJsZVN0b3JhZ2VHdWlkICA9IHsgMHgxNjFi ZTU5NywgMHhlOWM1LA0KPiAweDQ5ZGIsIHsweGFlLCAweDUwLCAweGM0LCAweDYyLCAweGFiLCAw eDU0LCAweGVlLCAweGRhfX0NCj4gKyAgZ0VmaVNldHVwVmFyaWFibGVHdWlkICAgICAgICAgICAg ICAgICA9IHsgMHhlYzg3ZDY0MywgMHhlYmE0LCAweDRiYjUsIHsweGExLCAweGU1LA0KPiAweDNm LCAweDNlLCAweDM2LCAweGIyLCAweDBkLCAweGE5fX0NCj4gKyAgZ0JtcEltYWdlR3VpZCAgICAg ICAgICAgICAgICAgICAgICAgICA9IHsgMHg4NzhBQzJDQywgMHg1MzQzLCAweDQ2RjIsIHsweEI1 LCAweDYzLA0KPiAweDUxLCAweEY4LCAweDlELCAweEFGLCAweDU2LCAweEJBfX0NCj4gKyAgZ1Bj aEluaXRWYXJpYWJsZUd1aWQgICAgICAgICAgICAgICAgICA9IHsgMHhlNmMyZjcwYSwgMHhiNjA0 LCAweDQ4NzcsIHsweDg1LCAweGJhLA0KPiAweGRlLCAweGVjLCAweDg5LCAweGUxLCAweDE3LCAw eGVifX0NCj4gKyAgZ0VmaU1lbW9yeUNvbmZpZ0RhdGFHdWlkICAgICAgICAgICAgICA9IHsgMHg4 MGRiZDUzMCwgMHhiNzRjLCAweDRmMTEsIHsweDhjLA0KPiAweDAzLCAweDQxLCAweDg2LCAweDY1 LCAweDUzLCAweDI4LCAweDMxfX0NCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZCAg ICAgICAgICA9IHsgMHg4NTc2OEU0QSwgMHg2Q0RDLCAweDQ0NEUsDQo+IHsweDkzLCAweERGLCAw eDkzLCAweDY2LCAweDg1LCAweEI1LCAweERGLCAweENDfX0NCj4gKyAgZ1NlQ1BsYXRmb3JtUmVh ZHlUb0Jvb3RHdWlkICAgICAgICAgICA9IHsgMHgwM2ZkZjE3MSwgMHgxZDY3LCAweDRhY2UsIHsw eGE5LA0KPiAweDA0LCAweDNlLCAweDM2LCAweGQzLCAweDM4LCAweGZhLCAweDc0fX0NCj4gKyAg Z0FtdFJlYWR5VG9Cb290R3VpZCAgICAgICAgICAgICAgICAgICA9IHsgMHg0MGIwOWI1YSwgMHhm MGVmLCAweDQ2MjcsIHsweDkzLA0KPiAweGQ1LCAweDI3LCAweGYwLCAweDRiLCAweDc1LCAweDRk LCAweDA1fX0NCj4gKyAgIw0KPiArICAjIEFjY29yZGluZyB0byBVRUZJIDIuMy4xIEVycmF0YSBD LCAzLjIgR2xvYmFsbHkgRGVmaW5lZCBWYXJpYWJsZXMuDQo+ICsgICMgVG8gcHJldmVudCBuYW1l IGNvbGxpc2lvbnMgd2l0aCBwb3NzaWJsZSBmdXR1cmUgZ2xvYmFsbHkgZGVmaW5lZCB2YXJpYWJs ZXMsDQo+ICsgICMgb3RoZXIgaW50ZXJuYWwgZmlybXdhcmUgZGF0YSB2YXJpYWJsZXMgdGhhdCBh cmUgbm90IGRlZmluZWQgaW4gVGFibGUuMTANCj4gbXVzdCBiZSBzYXZlZCB3aXRoIGEgdW5pcXVl IFZlbmRvckd1aWQgb3RoZXIgdGhhbiBFRklfR0xPQkFMX1ZBUklBQkxFLg0KPiArICAjDQo+ICsg IGdFZmlWbHYyVmFyaWFibGVHdWlkICAgICAgICAgICAgICAgICAgPSB7IDB4MTBiYTZiYmUsIDB4 YTk3ZSwgMHg0MWMzLCB7MHg5YSwgMHgwNywNCj4gMHg2MCwgMHg3YSwgMHhkOSwgMHhiZCwgMHg2 MCwgMHhlNX19DQo+ICsNCj4gK1tJbmNsdWRlcy5jb21tb25dDQo+ICsgIC4NCj4gKyAgVmFsbGV5 VmlldzJTb2MvTm9ydGhDbHVzdGVyL0luY2x1ZGUNCj4gKyAgVmFsbGV5VmlldzJTb2MvU291dGhD bHVzdGVyL0luY2x1ZGUNCj4gKyAgVmFsbGV5VmlldzJTb2MvQ1BVL0luY2x1ZGUNCj4gKyAgSW5j bHVkZQ0KPiArDQo+ICtbUGNkc0ZpeGVkQXRCdWlsZF0NCj4gKw0KPiBnRWZpVkxWVG9rZW5TcGFj ZUd1aWQuUGNkVENTbWJhSW9CYXNlQWRkcmVzc3wweDEwNDB8VUlOVDE2fDB4MTAwMA0KPiAwMjA3 DQo+ICsNCj4gK1tQY2RzRHluYW1pYywgUGNkc0R5bmFtaWNFeF0NCj4gKw0KPiBnRWZpVkxWVG9r ZW5TcGFjZUd1aWQuUGNkVENTbWJhSW9CYXNlQWRkcmVzc3wweDEwNDB8VUlOVDE2fDB4MTAwMA0K PiAwMjA3DQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RFbW1jTWFudWZhY3R1cmVySWR8 MHxVSU5UOHwweDEwMDAwMjA4DQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RQcm9kdWN0 U2VyaWFsTnVtYmVyfDB8VUlOVDMyfDB4MTAwMDAyMDkNCj4gKw0KPiBnRWZpVkxWVG9rZW5TcGFj ZUd1aWQuUGNkTWVhc3VyZWRCb290RW5hYmxlfFRSVUV8Qk9PTEVBTnwweDEwMDAwDQo+IDIwQQ0K PiArDQo+IGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RGVFBNRXJyb3JPY2N1cnxGQUxTRXxCT09M RUFOfDB4MTAwMDAyMEINCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZEZUUE1FcnJvclNr aXB8RkFMU0V8Qk9PTEVBTnwweDEwMDAwMjBDDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5Q Y2RGVFBNQ29tbWFuZHwwfFVJTlQzMnwweDEwMDAwMjBEDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNl R3VpZC5QY2RGVFBNUmVzcG9uc2V8MHxVSU5UMzJ8MHgxMDAwMDIwRQ0KPiArDQo+IGdFZmlWTFZU b2tlblNwYWNlR3VpZC5QY2RGVFBNTm90UmVzcG9uZHxGQUxTRXxCT09MRUFOfDB4MTAwMDAyMA0K PiBGDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RGVFBNU3RhdHVzfDB8VUlOVDMyfDB4 MTAwMDAyMTANCj4gKw0KPiBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkQ3B1TG9ja0JveERhdGFB ZGRyZXNzfDB4MHxVSU5UNjR8MHgxMDAwMDINCj4gMTENCj4gKw0KPiBnRWZpVkxWVG9rZW5TcGFj ZUd1aWQuUGNkQ3B1U21yYW1DcHVEYXRhQWRkcmVzc3wweDB8VUlOVDY0fDB4MTAwDQo+IDAwMjEy DQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RDcHVMb2NrQm94U2l6ZXwweDB8VUlOVDY0 fDB4MTAwMDAyMTMNCj4gKw0KPiArW1BjZHNGZWF0dXJlRmxhZ10NCj4gKw0KPiBnVmx2UmVmQ29k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENlQXRhU3VwcG9ydHxGQUxTRXxCT09MRUFOfDB4MTINCj4g Kw0KPiBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1tY1NkTXVsdGlCbG9ja1N1cHBv cnR8VFJVRXxCT09MDQo+IEVBTnwweDEzDQo+ICsNCj4gK1tQY2RzUGF0Y2hhYmxlSW5Nb2R1bGVd DQo+ICsNCj4gKyAgIyMgTWVtb3J5IERvd24gb3IgRElNTSBzbG90LjxCUj48QlI+DQo+ICsgICMg IDAgLSBESU1NPEJSPg0KPiArICAjICAxIC0gTWVtb3J5IERvd248QlI+DQo+ICsgICMgQFByb21w dCBFbmFibGUgTWVtb3J5IERvd24NCj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAx DQo+ICsNCj4gZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFbmFibGVNZW1vcnlEb3du fDF8VUlOVDh8MHgyMDAwDQo+IDAwMDANCj4gKw0KPiArICAjIyBNZW1vcnkgUGFyYW1ldGVyIFBh dGNoYWJsZS48QlI+PEJSPg0KPiArICAjICAwIC0gRml4ZWQgUGFyYW1ldGVyIGZvciBNaW5ub3dC b2FyZCBNYXg8QlI+DQo+ICsgICMgIDEgLSBQYXRjaGFibGUgUGFyYW1ldGVyIGZvciBDdXN0b21p emF0aW9uPEJSPg0KPiArICAjIEBQcm9tcHQgTWVtb3J5IFBhcmFtZXRlciBQYXRjaGFibGUuDQo+ ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMQ0KPiArDQo+IGdWbHZSZWZDb2RlUGtn VG9rZW5TcGFjZUd1aWQuUGNkTWVtb3J5UGFyYW1ldGVyUGF0Y2hhYmxlfEZBTFNFfEINCj4gT09M RUFOfDB4MjAwMDAwMTANCj4gKw0KPiArICAjIyBUaGUgc3BlZWQgb2YgRFJBTS48QlI+PEJSPg0K PiArICAjICAwIC0gODAwIE1IejxCUj4NCj4gKyAgIyAgMSAtIDEwNjYgTUh6PEJSPg0KPiArICAj ICAyIC0gMTMzMyBNSHo8QlI+DQo+ICsgICMgIDMgLSAxNjAwIE1IejxCUj4NCj4gKyAgIyBAUHJv bXB0IERSQU0gU3BlZWQNCj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxLCAyLCAz DQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRHJhbVNwZWVkfDF8VUlOVDh8 MHgyMDAwMDAwMQ0KPiArDQo+ICsgICMjIERSQU0gVHlwZS48QlI+PEJSPg0KPiArICAjICAwIC0g RERSMzxCUj4NCj4gKyAgIyAgMSAtIEREUjNMPEJSPg0KPiArICAjICAyIC0gRERSM1U8QlI+DQo+ ICsgICMgIDMgLSBERFIzQWxsPEJSPg0KPiArICAjICA0IC0gTFBERFIyPEJSPg0KPiArICAjICA1 IC0gTFBERFIzPEJSPg0KPiArICAjICA2IC0gRERSNDxCUj4NCj4gKyAgIyBAUHJvbXB0IERSQU0g VHlwZQ0KPiArICAjIEBWYWxpZExpc3QgMHg4MDAwMDAwMSB8IDAsIDEsIDIsIDMsIDQsIDUsIDYN Cj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REcmFtVHlwZXwxfFVJTlQ4fDB4 MjAwMDAwMDINCj4gKw0KPiArICAjIyBQbGVhc2UgcG9wdWxhdGUgRElNTSBzbG90IDAgaWYgb25s eSBvbmUgRElNTSBpcyBzdXBwb3J0ZWQuPEJSPjxCUj4NCj4gKyAgIyAgMCAtIERpc2FibGU8QlI+ DQo+ICsgICMgIDEgLSBFbmFibGU8QlI+DQo+ICsgICMgQFByb21wdCBESU1NIDAgRW5hYmxlDQo+ ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMQ0KPiArICBnVmx2UmVmQ29kZVBrZ1Rv a2VuU3BhY2VHdWlkLlBjZEVuYWJsZURpbW0wfDF8VUlOVDh8MHgyMDAwMDAwMw0KPiArDQo+ICsg ICMjIERJTU0gMSBoYXMgdG8gYmUgaWRlbnRpY2FsIHRvIERJTU0gMC48QlI+PEJSPg0KPiArICAj ICAwIC0gRGlzYWJsZTxCUj4NCj4gKyAgIyAgMSAtIEVuYWJsZTxCUj4NCj4gKyAgIyBAUHJvbXB0 IERJTU0gMSBFbmFibGUgVHlwZQ0KPiArICAjIEBWYWxpZExpc3QgMHg4MDAwMDAwMSB8IDAsIDEN Cj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFbmFibGVEaW1tMXwwfFVJTlQ4 fDB4MjAwMDAwMDQNCj4gKw0KPiArICAjIyBEUkFNIGRldmljZSBkYXRhIHdpZHRoLjxCUj48QlI+ DQo+ICsgICMgIDAgLSB4ODxCUj4NCj4gKyAgIyAgMSAtIHgxNjxCUj4NCj4gKyAgIyAgMiAtIHgz MjxCUj4NCj4gKyAgIyBAUHJvbXB0IERJTU1fRFdJRFRIDQo+ICsgICMgQFZhbGlkTGlzdCAweDgw MDAwMDAxIHwgMCwgMSwgMg0KPiArDQo+IGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQuUGNk RGltbURhdGFXaWR0aHwxfFVJTlQ4fDB4MjAwMDAwMDUNCj4gKw0KPiArICAjIyBEUkFNIGRldmlj ZSBkYXRhIGRlbnNpdHkuPEJSPjxCUj4NCj4gKyAgIyAgMCAtIDEgR2JpdDxCUj4NCj4gKyAgIyAg MSAtIDIgR2JpdDxCUj4NCj4gKyAgIyAgMiAtIDQgR2JpdDxCUj4NCj4gKyAgIyAgMyAtIDggR2Jp dDxCUj4NCj4gKyAgIyBAUHJvbXB0IERJTU1fRGVuc2l0eQ0KPiArICAjIEBWYWxpZExpc3QgMHg4 MDAwMDAwMSB8IDAsIDEsIDIsIDMNCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2REaW1tRGVuc2l0eXwyfFVJTlQ4fDB4MjAwMDAwMDYNCj4gKw0KPiArICAjIyBEUkFNIGRldmlj ZSBkYXRhIGJ1cyB3aWR0aC48QlI+PEJSPg0KPiArICAjICAwIC0gOCBiaXRzPEJSPg0KPiArICAj ICAxIC0gMTYgYml0czxCUj4NCj4gKyAgIyAgMiAtIDMyIGJpdHM8QlI+DQo+ICsgICMgIDMgLSA2 NCBiaXRzPEJSPg0KPiArICAjIEBQcm9tcHQgRElNTV9CdXNXaWR0aA0KPiArICAjIEBWYWxpZExp c3QgMHg4MDAwMDAwMSB8IDAsIDEsIDIsIDMNCj4gKw0KPiBnVmx2UmVmQ29kZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZERpbW1CdXNXaWR0aHwzfFVJTlQ4fDB4MjAwMDAwMDcNCj4gKw0KPiArICAjIyBS YW5rcyBQZXIgRElNTSBvciBTaWRlcyBQZXIgRElNTS48QlI+PEJSPg0KPiArICAjICAwIC0gMSBS YW5rPEJSPg0KPiArICAjICAxIC0gMiBSYW5rczxCUj4NCj4gKyAgIyBAUHJvbXB0IERJTU1fU2lk ZXMNCj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxDQo+ICsgIGdWbHZSZWZDb2Rl UGtnVG9rZW5TcGFjZUd1aWQuUGNkUmFua1BlckRpbW18MHxVSU5UOHwweDIwMDAwMDA4DQo+ICsN Cj4gKyAgIyMgdENMLjxCUj48QlI+DQo+ICsgICMgQFByb21wdCB0Q0wNCj4gKyAgZ1ZsdlJlZkNv ZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RUY2x8MTF8VUlOVDh8MHgyMDAwMDAwOQ0KPiArDQo+ICsg ICMjIHRSUCBhbmQgdFJDRCBpbiBEUkFNIGNsayAtIDU6MTIuNW5zLCA2OjE1bnMsIGV0Yy48QlI+ PEJSPg0KPiArICAjIEBQcm9tcHQgdFJQX3RSQ0QNCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNw YWNlR3VpZC5QY2RUcnBUcmNkfDExfFVJTlQ4fDB4MjAwMDAwMEENCj4gKw0KPiArICAjIyB0V1Ig aW4gRFJBTSBjbGsuPEJSPjxCUj4NCj4gKyAgIyBAUHJvbXB0IHRXUg0KPiArICBnVmx2UmVmQ29k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFR3cnwxMnxVSU5UOHwweDIwMDAwMDBCDQo+ICsNCj4gKyAg IyMgdFdUUiBpbiBEUkFNIGNsay48QlI+PEJSPg0KPiArICAjIEBQcm9tcHQgdFdUUg0KPiArICBn Vmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFR3dHJ8NnxVSU5UOHwweDIwMDAwMDBDDQo+ ICsNCj4gKyAgIyMgdFJSRCBpbiBEUkFNIGNsay48QlI+PEJSPg0KPiArICAjIEBQcm9tcHQgdFJS RA0KPiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRycmR8NnxVSU5UOHwweDIw MDAwMDBEDQo+ICsNCj4gKyAgIyMgdFJUUCBpbiBEUkFNIGNsay48QlI+PEJSPg0KPiArICAjIEBQ cm9tcHQgdFJUUA0KPiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRydHB8NnxV SU5UOHwweDIwMDAwMDBFDQo+ICsNCj4gKyAgIyMgdEZBVyBpbiBEUkFNIGNsay48QlI+PEJSPg0K PiArICAjIEBQcm9tcHQgdEZBVw0KPiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZFRmYXd8MzJ8VUlOVDh8MHgyMDAwMDAwRg0KPiAtLQ0KPiAyLjIxLjAud2luZG93cy4xDQoNCg==