From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=104.47.2.70; helo=eur01-db5-obe.outbound.protection.outlook.com; envelope-from=udit.kumar@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0070.outbound.protection.outlook.com [104.47.2.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 09B9E21B00DC1 for ; Tue, 21 Nov 2017 10:06:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lqAaSwR61H07qgb0XHZkqlKizu3YElNpw3SGtcoNGGM=; b=WbaxfpRyeuMwyJ7UgJ+ZiDwYJEKvB+vY4o3BIIp34cRl7TqbvgAxGRLjcSt9PPRRpHyEcR8vSPocB5Q6HdMPx0YDpqTiafRoTEzM6b9Hheik98zvws5fr02aRMA/eycc+xmiPUJwe6FfSmUgu/jpufiBhK5DWm4u6whIASxX0a4= Received: from AM6PR0402MB3334.eurprd04.prod.outlook.com (52.133.18.151) by DB6PR04MB2999.eurprd04.prod.outlook.com (10.170.213.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.239.5; Tue, 21 Nov 2017 18:10:31 +0000 Received: from AM6PR0402MB3334.eurprd04.prod.outlook.com ([fe80::51eb:bed3:cf67:f4be]) by AM6PR0402MB3334.eurprd04.prod.outlook.com ([fe80::51eb:bed3:cf67:f4be%13]) with mapi id 15.20.0239.009; Tue, 21 Nov 2017 18:10:30 +0000 From: Udit Kumar To: Ard Biesheuvel CC: Leif Lindholm , "edk2-devel@lists.01.org" , Varun Sethi , Daniel Thompson , Graeme Gregory Thread-Topic: [RFC] ACPI table HID/CID allocation Thread-Index: AQHTYqx4buQ9sA+RDE2RF8kzygsfzKMek/QggAAJiYCAAAHFkIAAJBMAgAAA41CAABmRgIAAP/jg Date: Tue, 21 Nov 2017 18:10:30 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=udit.kumar@nxp.com; x-originating-ip: [192.140.244.28] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB6PR04MB2999; 6:nMUAikqpd3DqOZcvYymZvgNiFy/gaJxuBhXvjen0uWSUryY5MaK3Kg51I4/GPJlXLwolLtTvxoXbXLSctoVg1H3huBhlSWhc4DEU2p7xgPfAl7zZMp5C8w4IXWHqx03hQw+6gJhr0CKek6bI7n7Y8fg0u1qQFjl0POUCIVXTR1y3SHXSOFy4zsID2ch3X328hIcR5c3oFCLwTzlmeLIoZKlrQ/NRtTAOovYqEI+24lVrVLp5GG4r4Gqbl8ei3Miv+LepKndX+dYiP++e8p++HHdmQiCk2BFEmts8zTjX4iDJsY4DPlFLN+i1LGzaFvtfj8RPcB9uc5jIJtZKoy7/HLAv/8GJfReUsaP75slstuY=; 5:UhYLSeQRdsjuL9KX5p4e2g5qKSdIxX7ypFWqQP9rYKhJPiQtt+knqZ+TLdT0W0d6/h40P5j3SwJoepKF63sDrmnKjaqg4s4ewfyA+T50mJWgACdO8rXSUJ6z2YQO+2kFVrgSxZ8LGiKxkPy/O+LuGcNWQYdRPuFyepagfL23cHM=; 24:tA72OIID/QYv24nfL5Y7V8m1vnkKp1mMPzacIVYFDF/TrdEdJOIyuYPUU1jNZg64Bl+F2sOIMvBgAFPAPSI0AiJiphBFZ7+xRERL8K/DvF0=; 7:oUN82AQKRHTlTgD6QFvXA++qFW0aMgHdZ8cGCrUFL2NReiYh7wwNxS4Mzjm3yrlWipddRxtP7cwe3yrkim+JCe3xDYvu7CME+Gf+vNVdznARyK/WgZqwfNz0uclOUuyimrVA6Lk7dpBWuxISfydFQIiMv7vrd4mBr8kM5SKp3wpzWgh0Tg5TmZMAFCpZoDB+vXFguc1Hj8qS7mlLzGSQYZ8Ox3ETjbpoFB/NnCFMk5U9ZOFjt5YlLdUekkJ79Yp7 x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(39860400002)(24454002)(199003)(189002)(13464003)(86362001)(14454004)(93886005)(5250100002)(54906003)(229853002)(2906002)(101416001)(55016002)(4326008)(316002)(966005)(97736004)(68736007)(5660300001)(6436002)(105586002)(3280700002)(45080400002)(106356001)(6506006)(8936002)(9686003)(2950100002)(54356999)(6306002)(305945005)(7736002)(3660700001)(81156014)(53546010)(478600001)(66066001)(76176999)(6246003)(6916009)(50986999)(81166006)(74316002)(33656002)(53936002)(2900100001)(189998001)(6116002)(99286004)(102836003)(3846002)(25786009)(7696004)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR04MB2999; H:AM6PR0402MB3334.eurprd04.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; x-ms-office365-filtering-correlation-id: 4407baea-9b61-45a2-d1f1-08d5310b26b2 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600019)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603258); SRVR:DB6PR04MB2999; x-ms-traffictypediagnostic: DB6PR04MB2999: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(189930954265078)(185117386973197)(162533806227266)(45079756050767); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231022)(100000703101)(100105400095)(6055026)(6041248)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR04MB2999; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR04MB2999; x-forefront-prvs: 049897979A received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4407baea-9b61-45a2-d1f1-08d5310b26b2 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2017 18:10:30.5822 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR04MB2999 Subject: Re: [RFC] ACPI table HID/CID allocation X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2017 18:06:19 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIEFyZCwgDQpGb3IgaW50ZXJuYWwgU09DIGRldmljZXMsIHRoaXMgaXMgcGVyZmVjdGx5 IG9rIHRvIGRyb3AgUFJQMDAwMSBmcm9tIENJRC4gDQoNCj4gVGhpcyBjb3VsZCBiZSBhIHZhbGlk IHJlYXNvbiB0byB1c2UgUFJQMDAwMSArIGNvbXBhdGlibGUsIGZvciB0aGluZ3MgbGlrZSBJMkMN Cj4gc2xhdmVzIHRoYXQgYXJlIGV4dGVybmFsIHRvIHRoZSBTb0MNCg0KRm9yIGV4dGVybmFsIGRl dmljZXMgKGZvciB3aGljaCBISUQgaXMgbm90IGF2YWlsYWJsZSksIHlvdSBzdWdnZXN0IHRvIGdv DQp3aXRoIFBSUDAwMDEgKyBjb21wYXRpYmxlIG9yIHRoYXQgZGV2aWNlIGRyaXZlciBuZWVkcyBh ZGQgQUNQSSBISUQgc3VwcG9ydC4NCg0KQXMgeW91IHBvaW50ZWQgb3V0LCBhcmUgZXh0ZXJuYWwg ZGV2aWNlcyB0byBTT0Mgc3VjaCBleGNlcHRpb24gdG8gdXNlIFBSUDAwMDEgKyBjb21wYXRpYmxl IGJlIGl0IA0KaTJjIHNsYXZlIG9yIFNQSSBzbGF2ZSA/DQoNCg0KUmVnYXJkcw0KVWRpdA0KDQo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFyZCBCaWVzaGV1dmVsIFttYWls dG86YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZ10NCj4gU2VudDogVHVlc2RheSwgTm92ZW1iZXIg MjEsIDIwMTcgNzozNCBQTQ0KPiBUbzogVWRpdCBLdW1hciA8dWRpdC5rdW1hckBueHAuY29tPg0K PiBDYzogTGVpZiBMaW5kaG9sbSA8bGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnPjsgZWRrMi1kZXZl bEBsaXN0cy4wMS5vcmc7IFZhcnVuDQo+IFNldGhpIDxWLlNldGhpQG54cC5jb20+OyBEYW5pZWwg VGhvbXBzb24gPGRhbmllbC50aG9tcHNvbkBsaW5hcm8ub3JnPjsNCj4gR3JhZW1lIEdyZWdvcnkg PGdyYWVtZS5ncmVnb3J5QGxpbmFyby5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUkZDXSBBQ1BJIHRh YmxlIEhJRC9DSUQgYWxsb2NhdGlvbg0KPiANCj4gT24gMjEgTm92ZW1iZXIgMjAxNyBhdCAxMzoy NCwgVWRpdCBLdW1hciA8dWRpdC5rdW1hckBueHAuY29tPiB3cm90ZToNCj4gPiBUaGFua3MgQXJk LA0KPiA+DQo+ID4gTXkgaW50ZW5kIG9mIHRoaXMgZW1haWwgdG8ga25vdywgd2hhdCBpcyByaWdo dCB3YXkgdG8gZGVmaW5lIEhJRCBhbmQNCj4gPiBDSUQgaW4gQUNQSSBmaXJtd2FyZSBpLmUNCj4g Pg0KPiA+IERldmljZShYWVopIHsNCj4gPiAgICAgICAgICAgICAgICAgTmFtZShfSElELCAiTlhQ MDAwMSIpDQo+ID4gICAgICAgICAgICAgICAgIE5hbWUoX0NJRCwgIlBSUDAwMDEiKQ0KPiA+ICAg ICAgICAgICBEZXZpY2UoU2xhdmUxKSB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOYW1lKF9DSUQsICJQUlAwMDAxIikNCj4gPiAgICAgICAgICAgICAgICAgIH0NCj4gPiB9 DQo+ID4gaXMgb2sgb3INCj4gPg0KPiA+DQo+ID4gRGV2aWNlKFhZWikgew0KPiA+ICAgICAgICAg ICAgICAgICBOYW1lKF9ISUQsICJOWFAwMDAxIikNCj4gPiAgICAgICAgICAgICAgICAgTmFtZShf Q0lELCAiIE5YUDAwMDEiKQ0KPiA+ICAgICAgICAgICBEZXZpY2UoU2xhdmUxKSB7DQo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lKF9DSUQsICIgTlhQMDAwMiIpDQo+ID4g ICAgICAgICAgICAgICAgICB9DQo+ID4gfQ0KPiA+IFNlZW1zIGdvb2QNCj4gPg0KPiANCj4gSSBk b24ndCB0aGluayBpdCBtYWtlcyBhIGxvdCBvZiBzZW5zZSB0byB1c2UgdGhlIHNhbWUgdmFsdWUg Zm9yIF9ISUQgYW5kIF9DSUQsIHNvDQo+IHlvdSBjYW4ganVzdCBkcm9wIHRoZSBsYXR0ZXIuDQoN ClN1cmUsIA0KIA0KPiA+IEZvciBzdXJlLCBBTUwgbWV0aG9kcyAoYXMgbmVlZGVkIF9PTi9PRkYv UlNUL1NUQSBldGMpIC9fRFNEIHdpbGwgdG8gYmUNCj4gY29kZWQgaW4gdGFibGUgdXNpbmcgZWl0 aGVyIG9mLg0KPiA+DQo+ID4gUGxlYXNlIHNlZSBtb3JlIGluIGxpbmUNCj4gPg0KPiA+IFJlZ2Fy ZHMNCj4gPiBVZGl0DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4g RnJvbTogQXJkIEJpZXNoZXV2ZWwgW21haWx0bzphcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnXQ0K PiA+PiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAyMSwgMjAxNyA1OjU5IFBNDQo+ID4+IFRvOiBV ZGl0IEt1bWFyIDx1ZGl0Lmt1bWFyQG54cC5jb20+DQo+ID4+IENjOiBMZWlmIExpbmRob2xtIDxs ZWlmLmxpbmRob2xtQGxpbmFyby5vcmc+Ow0KPiA+PiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsg VmFydW4gU2V0aGkgPFYuU2V0aGlAbnhwLmNvbT47IERhbmllbA0KPiA+PiBUaG9tcHNvbiA8ZGFu aWVsLnRob21wc29uQGxpbmFyby5vcmc+OyBHcmFlbWUgR3JlZ29yeQ0KPiA+PiA8Z3JhZW1lLmdy ZWdvcnlAbGluYXJvLm9yZz4NCj4gPj4gU3ViamVjdDogUmU6IFtSRkNdIEFDUEkgdGFibGUgSElE L0NJRCBhbGxvY2F0aW9uDQo+ID4+DQo+ID4+IE9uIDIxIE5vdmVtYmVyIDIwMTcgYXQgMTE6MzIs IFVkaXQgS3VtYXIgPHVkaXQua3VtYXJAbnhwLmNvbT4gd3JvdGU6DQo+ID4+ID4NCj4gPj4gPj4g T24gMjEgTm92ZW1iZXIgMjAxNyBhdCAwOTo1OSwgVWRpdCBLdW1hciA8dWRpdC5rdW1hckBueHAu Y29tPg0KPiB3cm90ZToNCj4gPj4gPj4gPiBUaGFua3MgQXJkLg0KPiA+PiA+PiA+IEJlbG93IHRh YmxlIHdhcyBmb3IgZXhhbXBsZS4gSSBhbSBub3QgY29udmVydGluZyB3aG9sZSBEVCB0bw0KPiA+ PiA+PiA+IEFDUEkgdGFibGVzIDopIE15IGlkZWEgaXMgdG8gcmVkdWNlIExpbnV4IHBhdGNoZXMg Zm9yIHByb2JpbmcgYXMgcG9zc2libGUuDQo+ID4+ID4+ID4gQWxzbyBrZWVwaW5nIGZpcm13YXJl IGFuZCBPUyBzZXBhcmF0ZWx5IHRoZW4gTGV0IGZpcm13YXJlIGV4cG9zZQ0KPiA+PiA+PiA+IGJv dGggd2F5IChISUQgYW5kIFBSUDAwMDAxKSBhbmQgTGludXggdG8gZGVjaWRlIGJpbmRpbmcNCj4g Pj4gPj4NCj4gPj4gPj4gTm8uDQo+ID4+ID4+DQo+ID4+ID4+IFlvdSBhcmUgc3RpbGwgYXNzdW1p bmcgQUNQSSBhbmQgRFQgZGV2aWNlIGRyaXZlcnMgYmluZCBhdCB0aGUgc2FtZQ0KPiA+PiA+PiBs ZXZlbCwgYW5kIHRoZXkgZG9uJ3QuDQo+ID4+ID4NCj4gPj4gPiBObywgbXkgYWJvdmUgY29tbWVu dHMgd2FzIGp1c3QgbGltaXRlZCB0byBiaW5kaW5nLg0KPiA+Pg0KPiA+PiBZZXMsIGJ1dCBpZiB5 b3UgbGVhdmUgaXQgdG8gdGhlIE9TIHRvIGRlY2lkZSB3aGljaCBiaW5kaW5nIGl0IHVzZXMsDQo+ ID4+IHlvdSB3aWxsIGhhdmUgdG8gc3VwcG9ydCBhbGwgb2YgdGhlbSBpbnRvIGV0ZXJuaXR5LiBB bmQgdGhlIG1vcmUNCj4gPj4gZGV0YWlsZWQgYmluZGluZyB5b3UgbmVlZCB0byBzdXBwb3J0IG1h eSBsaW1pdCB5b3UgaW4gdGhlIGF2YWlsYWJsZQ0KPiA+PiBjaG9pY2VzIHdoZW4gaXQgY29tZXMg dG8gbWFraW5nIGhhcmR3YXJlIGNoYW5nZXMsIHNvbWV0aGluZyBBQ1BJIGFsbG93cw0KPiB5b3Ug dG8gZG8uDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gSXMgdGhpcyBvayB0byBzYXkgLCB3ZSBjYW4g cHJvdmlkZSBtYXggc2FtZSBwcm9wZXJ0aWVzIGluIGRyaXZlciBhcyBvZg0KPiA+IERUICh3aXRo IF9EU0QpICwgQnV0IHByZWZlciB0byB1c2UgQU1MIG1ldGhvZHMuDQo+ID4gV2l0aCBub3RlLCBj bG9ja2luZyByZWd1bGF0b3JzIGFyZSBvdXQgb2Ygc2NvcGUgaGVyZS4NCj4gPg0KPiANCj4gWWVz LiBfRFNEIG1heSBiZSB1c2VkIHRvIGRlc2NyaWJlIGRldmljZSBzcGVjaWZpYyBkYXRhIHRoYXQg Z29lcyBiZXlvbmQgd2hhdA0KPiBBQ1BJIGNhbiBleHByZXNzIG5hdGl2ZWx5LiBVc2luZyBfRFNE IHRvIGRlc2NyaWJlIGNsb2NrcyBhbmQgcmVndWxhdG9ycyBpcyBhbg0KPiBhYnNvbHV0ZSBuby1n by4gUHV0dGluZyB0aGluZ3MgbGlrZSAic3RhdHVzIiBvciAiZG1hLWNvaGVyZW50IiBpbiBfRFNE DQo+IHByb3BlcnRpZXMgaXMgYWJzb2x1dGVseSB1bmFjY2VwdGFibGUgYXMgd2VsbC4NCj4gQnV0 IGV2ZW4gdGhpbmdzIGxpa2UgaW5pdGlhbGl6YXRpb24gZGF0YSB0aGF0IHRoZSBkcml2ZXIgcHJv Z3JhbXMgaW50byB0aGUgZGV2aWNlIGENCj4gc2luZ2xlIHRpbWUgcmVhbGx5IGRvIG5vdCBiZWxv bmcgaW4gX0RTRC4gSW5zdGVhZCwgaXQgc2hvdWxkIGJlIHRoZSBmaXJtd2FyZSB0aGF0DQo+IGlu aXRpYWxpemVzIHRoZSBkZXZpY2UsIGFuZCBwcmVzZW50cyBpdCB0byB0aGUgT1MgaW4gaXRzIGlu aXRpYWxpemVkIHN0YXRlLg0KPg0KDQpBZ3JlZWQsIEkgbmV2ZXIgbWVhbnQgc29tZXRoaW5nIHRv IGFkZCBpbiBEU0Qgd2hpY2ggd2FzIHByb2hpYml0ZWQgaW4gQUNQSSBzcGNlcy4NCg0KPiA+DQo+ ID4+ID4gUmlnaHQsIGhlcmUgZGV2aWNlIGRyaXZlciBzaG91bGQga25vdyB0aGF0IGRldmljZSBp cyBwcmVzZW50IGluDQo+ID4+ID4gc3lzdGVtLCBJIHNlZSBwcm9iZSBmdW5jdGlvbiAoZGV2aWNl LWRyaXZlciBiaW5kaW5nKSBpcyB3YXkgdG8ga25vdyB0aGlzLg0KPiA+PiA+IFRoZW4gZHJpdmVy IGNhbiBleGVjdXRlIEFNTCBtZXRob2RzIGV4cG9zZWQgYnkgZmlybXdhcmUuDQo+ID4+ID4NCj4g Pj4NCj4gPj4gWWVzLCBkZWNsYXJpbmcgdGhlIHByZXNlbmNlIG9mIHRoZSBkZXZpY2UgaXMgdGhl IG1haW4gcHVycG9zZSBvZg0KPiA+PiBkZXNjcmliaW5nIGl0IGJvdGggaW4gQUNQSSBhbmQgaW4g RFQuDQo+ID4+DQo+ID4+ID4+IEFuIEFDUEkgZGV2aWNlIGhhcyBBTUwgbWV0aG9kcyB0byBtYW5h Z2UgcG93ZXIgc3RhdGUgYW5kIHBlcmZvcm0NCj4gPj4gPj4gb3RoZXIgZGV2aWNlIHJlbGF0ZWQg bG93LWxldmVsIHRhc2tzLiBUaGUgZGV2aWNlIGRyaXZlciBoYXMgbm8NCj4gPj4gPj4ga25vd2xl ZGdlIG9mIHRoZSBoYXJkd2FyZSBiZXlvbmQgd2hhdCBpdCBuZWVkcyB0byBpbnZva2UgdGhvc2UN Cj4gPj4gPj4gYWJzdHJhY3QNCj4gPj4gbWV0aG9kcy4NCj4gPj4gPg0KPiA+PiA+IFlvdSBtZWFu dCwgSWYgd2UgbmVlZCB0byB1cGRhdGUgZHJpdmVyIGZvciBBTUwgbWV0aG9kcyB0aGVuIHdoeSBu b3QNCj4gPj4gPiB0bw0KPiA+PiB1cGRhdGUgYmluZGluZyBhcyB3ZWxsIC4gPw0KPiA+PiA+DQo+ ID4+DQo+ID4+IE5vLiBXaGF0IEkgYW0gc2F5aW5nIGlzIHRoYXQgeW91IHNob3VsZCBub3QgZXhw b3NlIHR3byBkaWZmZXJlbnQNCj4gPj4gYmluZGluZ3MsIGFuZCBsZXQgdGhlIE9TIGNob29zZS4N Cj4gPg0KPiA+IE9rLCBnb3QgaXQgLCB0aGVuIFBSUDAwMDAxIHN0dWZmIHNob3VsZCBiZSB1c2Vk IG9ubHkgYXQgdXJnZW50IG9yIHNheQ0KPiA+IG5vIG90aGVyIGNob2ljZSBsZWZ0ICwgUmlnaHQg Pw0KPiA+DQo+IA0KPiBZZXMuDQoNCg0KPiA+PiA+IE9uIHNpZGUgdHJhY2ssDQo+ID4+ID4gIFdp dGggbGltaXRlZCBzZWFyY2gsICBJIGdvdCBtYW55IGVhY2ggZHJpdmVyIGlzIGhhdmluZyAoYWNw aV9pZA0KPiA+PiA+IGFuZCBvZl9pZCksIGxvb2tzLCBhY3BpIHN1cHBvcnQgaXMgYWRkZWQgb24g dGhlIHRvcCBvZiBEVCBmbGF2b3JlZCBkcml2ZXJzLg0KPiA+PiA+IGFuZCB0aGVyZWZvcmUgYWNw aSB0YWJsZXMgYXJlIGZvbGxvd2luZyB0aGUgc2FtZS4NCj4gPj4gPiBTb3JyeSB0byBzYXksIHJl ZmVyZW5jZSBJIGFtIGxvb2tpbmcgYXQgKGVkazItcGxhdGZvcm0pIEp1bm9Qa2cgYW5kDQo+ID4+ ID4gVkV4cHJlc3NQa2csIEhhcyBmb2xsb3dpbmcgZGV2aWNlcyBoYXMgZGVzY3JpcHRpb24gc2lt aWxhciB0byBEZXZpY2UgdHJlZQ0KPiA+PiA+ICAgICBEZXZpY2UgKE5FVDApIHsNCj4gPj4gPiAg ICAgRGV2aWNlIChTUkVHKSB7DQo+ID4+ID4gICAgIERldmljZSAoVklSVCkgew0KPiA+Pg0KPiA+ PiBUaGVzZSB3ZXJlIHRha2VuIGZyb20gdGhlIEFDUEkgdGFibGVzIGZvciBhbiBlbXVsYXRvcg0K PiA+Pg0KPiA+PiA+ICAgIERldmljZShLTUkwKSB7DQo+ID4+DQo+ID4+IEkgaGF2ZSBubyBjbHVl IHdoYXQga2luZCBvZiBkZXZpY2UgdGhpcyBpcw0KPiA+Pg0KPiA+PiA+ICAgIERldmljZShFVEgw KSB7DQo+ID4+DQo+ID4+IFRoaXMgb25lIHVzZXMgX0RTRCBhcyBpbnRlbmRlZCwgdG8gc2V0IGRl dmljZSBwcm9wZXJ0aWVzIGluIGEgRFQNCj4gPj4gY29tcGF0aWJsZSBmYXNoaW9uLCBidXQgbm90 ZSB0aGF0IHRoaXMgZG9lcyAqbm90KiBpbmNsdWRlIHRoZQ0KPiA+PiAnY29tcGF0aWJsZScgcHJv cGVydHksIG5vciBhbnl0aGluZyBlbHNlIHRoYXQgQUNQSSBkZWZpbmVzIGl0c2VsZg0KPiA+PiAo c3RhdHVzLCBkbWEtY29oZXJlbnQsIGV0YykNCj4gPg0KPiA+IExldCBtZSBwdXQgaW4gc2ltcGxl IHdheSwNCj4gPiBBIHNpbXBsZSBkcml2ZXIgY2FuIHN1cnZpdmUgb25seSB3aXRoIF9EU0QgaW4g YWNwaSB3b3JsZC4NCj4gPiAoY2xvY2tpbmcvcmVndWxhdG9ycyBhcmUgdXNlZCBhcyBzYWlkIGlu IFVFRkkvQUNQSSkNCj4gPg0KPiANCj4gV2h5IGNhbiBhIHNpbXBsZSBkcml2ZXIgb25seSBzdXJ2 aXZlIHdpdGggX0RTRD8gVGhhdCBzdGF0ZW1lbnQgZG9lcyBub3QgbWFrZQ0KPiBhbnkgc2Vuc2Ug dG8gbWUuDQoNCldoeSBzbywgcGxlYXNlIHNlZSBiZWxvdyBvbmUgZm9yIGV4YW1wbGUgDQogDQo+ ID4gQ29weWluZyBiZWxvdyBmcm9tIEp1bm8sDQo+ID4gQXJlIGJlbG93IGtpbmQgb2YgdGFibGVz IGFyZSBhY2NlcHRhYmxlID8NCj4gPg0KPiA+ICAgICBEZXZpY2UoRVRIMCkgew0KPiA+ICAgICAg IE5hbWUoX0hJRCwgIkFSTUg5MTE4IikNCj4gPiAgICAgICBOYW1lKF9VSUQsIFplcm8pDQo+ID4g ICAgICAgTmFtZShfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlKCkgew0KPiA+ICAgICAgICAgICAgICAg TWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsIDB4MTgwMDAwMDAsIDB4MTAwMCkNCj4gPiAgICAgICAg ICAgICAgIEludGVycnVwdChSZXNvdXJjZUNvbnN1bWVyLCBMZXZlbCwgQWN0aXZlSGlnaCwgRXhj bHVzaXZlKSB7IDE5MiB9DQo+ID4gICAgICAgfSkNCj4gPiAgICAgICBOYW1lKF9EU0QsIFBhY2th Z2UoKSB7DQo+ID4gICAgICAgICAgICAgICAgICAgIFRvVVVJRCgiZGFmZmQ4MTQtNmViYS00ZDhj LThhOTEtYmM5YmJmNGFhMzAxIiksDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdl KCkgew0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDIpIHsicGh5 LW1vZGUiLCAibWlpIn0sDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2th Z2UoMikgeyJyZWctaW8td2lkdGgiLCA0IH0sDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UoMikgeyJzbXNjLGlycS1hY3RpdmUtaGlnaCIsMX0sDQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMikgeyJzbXNjLGlycS1wdXNoLXB1bGwi LDF9DQo+ID4gICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICB9KSAvLyBfRFNEKCkN Cj4gPiAgICAgfQ0KPiA+DQo+IA0KPiBZZXMuIEJ1dCBwbGVhc2UgYmUgYXdhcmUgdGhhdCB5b3Ug c2hvdWxkIG5vdCBzaW1wbHkgaW52ZW50IHlvdXIgb3duIHByb3BlcnRpZXMNCj4gaGVyZS4gVGhl IF9EU0QgbmFtZXNwYWNlIHdhcyBpbnRlbmRlZCB0byBiZSBtYW5hZ2VkLCBhbmQgbm90IGZyZWUg Zm9yIGFsbA0KDQpBZ3JlZWQsIEkgZGlkbuKAmXQgbWVhbnQgdG8gYWRkIHNvbWV0aGluZyBuZXcs IHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgYXQgcHJlc2VudCwgDQoNCiANCj4gaHR0cHM6Ly9lbWVh MDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRnd3 dy5rDQo+IGVybmVsLm9yZyUyRmRvYyUyRkRvY3VtZW50YXRpb24lMkZhY3BpJTJGRFNELXByb3Bl cnRpZXMtDQo+IHJ1bGVzLnR4dCZkYXRhPTAyJTdDMDElN0N1ZGl0Lmt1bWFyJTQwbnhwLmNvbSU3 QzE2NGMxZmY3MzUwYTRmNjM3M2UNCj4gZTA4ZDUzMGU4YjU5MSU3QzY4NmVhMWQzYmMyYjRjNmZh OTJjZDk5YzVjMzAxNjM1JTdDMCU3QzAlN0M2MzY0Ng0KPiA4Njk4Mzk3NzA1ODY5JnNkYXRhPU83 OGs4cjZ0Y0s5ZndwdVR1UTgyWlhHaVdrQnRMZHVmNGJxck02RDZMMVUlDQo+IDNEJnJlc2VydmVk PTANCj4gDQo+ID4+ID4gV2hlcmUgbm8gQU1MIG1ldGhvZCBpcyBleHBvc2VkLiBUaGVuIEkgZXhw ZWN0IE9TIGRyaXZlciB0byBtYW5hZ2UNCj4gPj4gPiB0aGlzDQo+ID4+IGRldmljZS4NCj4gPj4g PiBXaGlsZSBncmVwcGluZyBvdmVyIGZldyBvdGhlciBlZGsyLXBsYXRmb3Jtcy4gIExvb2tzIHNv bWUgb2YNCj4gPj4gPiBtZXRob2RzIGFyZSBhYnN0cmFjdGVkLCBub3Qgd2hvbGUgZGV2aWNlLg0K PiA+PiA+DQo+ID4+DQo+ID4+IFNvIHdoYXQgaXMgeW91ciBwb2ludD8gV2h5IGRvZXMgdGhpcyBh cmd1ZSBpbiBmYXZvciBvZiBhbGxvd2luZw0KPiA+PiBQUlAwMDAxICsgY29tcGF0aWJsZT8NCj4g Pg0KPiA+IEkgYW0gc2Vla2luZyB5b3VyIGhlbHAgaGVyZSB0byBkZWZpbmUgSElEIGFuZCBDSUQs ICBwbGVhc2Ugc2VlIGFib3ZlDQo+ID4gQWxzbyBmb3Igbm9uLU5YUCBkZXZpY2VzLCBob3cgdG8g ZGVmaW5lIEhJRCAoaWYgUFJQMDAwMSArIGNvbXBhdGlibGUNCj4gPiBub3QgdG8gYmUgdXNlZCkN Cj4gPg0KPiANCj4gVGhpcyBjb3VsZCBiZSBhIHZhbGlkIHJlYXNvbiB0byB1c2UgUFJQMDAwMSAr IGNvbXBhdGlibGUsIGZvciB0aGluZ3MgbGlrZSBJMkMNCj4gc2xhdmVzIHRoYXQgYXJlIGV4dGVy bmFsIHRvIHRoZSBTb0MNCg0KV2VsbCwgIGZvciBpbnRlcm5hbCBTT0MgZGV2aWNlcywgSSBhbSBp biBhZ3JlZW1lbnQgdG8gdXNlIE5YUCBzcGVjaWZpYyBISURzIA0KQnV0IGZvciBleHRlcm5hbCBk ZXZpY2VzIChmb3Igd2hpY2ggSElEIGlzIG5vdCBhdmFpbGFibGUpLCB5b3Ugc3VnZ2VzdCB0byBn bw0KV2l0aCBQUlAwMDAxICsgY29tcGF0aWJsZQ0KIA0KPiA+PiA+PiBBIERUIGRldmljZSBkZXNj cmliZXMgZXZlcnl0aGluZyBpbiBkZXRhaWwsIGFuZCByZXF1aXJlcyBjbG9jayBhbmQNCj4gPj4g Pj4gcmVndWxhdG9yIGRyaXZlcnMgYW5kIG90aGVyIGJpdHMgYW5kIHBpZWNlcyB0aGF0IGFyZSB0 aWdodGx5DQo+ID4+ID4+IGNvdXBsZWQgdG8gZGV0YWlscyBvZiB0aGUgaGFyZHdhcmUuDQo+ID4+ ID4+DQo+ID4+ID4+IFNvIG5vdywgeW91IGhhdmUgdGhlIHdvcnN0IG9mIGJvdGggd29ybGRzOg0K PiA+PiA+Pg0KPiA+PiA+PiAtIHlvdSBuZWVkIHRvIGltcGxlbWVudCBhbGwgb2YgdGhpcyBpbiBm aXJtd2FyZSBzbyBBQ1BJIGNhbg0KPiA+PiA+PiBzdXBwb3J0IGl0LA0KPiA+PiA+PiAtIHlvdSBo YXZlIHRvIGV4cG9zZSB0aGUgaW50ZXJuYWxzIHRvIHRoZSBPUyBzbyBEVCBjYW4gc3VwcG9ydCBp dC4NCj4gPj4gPg0KPiA+PiA+IFllcywgZm9yIHRpbWUgYmVpbmcgb3IgbWF5IGJlIGxvbmdlciwg RFQgc3VwcG9ydCBuZWVkcyB0byBiZSB0aGVyZQ0KPiA+PiA+IGFsb25nIHdpdGggQUNQSSBpbnRy b2R1Y3Rpb24uDQo+ID4+ID4NCj4gPj4gPiBBcmUgeW91IHN1Z2dlc3RpbmcgaGVyZSB0byBhYnN0 cmFjdCB3aG9sZSBkZXZpY2UgZGV0YWlscyBmcm9tIE9TDQo+ID4+ID4gYW5kIGV4cG9zZSBBTUwg bWV0aG9kcyB0byBiZSB1c2VkIGJ5IGRldmljZSBkcml2ZXIuDQo+ID4+ID4gQW5kIG1haW50YWlu IHR3byBkcml2ZXJzIGluc3RlYWQgb2YgZml0dGluZyBEVCBzdHlsZSBkcml2ZXIgaW50byBBQ1BJ IHdvcmxkID8NCj4gPj4gPg0KPiA+Pg0KPiA+PiBOby4gWW91IHNob3VsZCB1cGRhdGUgdGhlIGRy aXZlciBzbyBpdCBjYW4gc3VwcG9ydCBib3RoIEFDUEkgYW5kIERUIGJpbmRpbmdzLg0KPiA+PiBU aGF0IHdheSwgdGhlIGRyaXZlciBjYW4gdXNlIHRoZSBhYnN0cmFjdGlvbnMgb2ZmZXJlZCBieSBB Q1BJIHdoZW4gaXQNCj4gPj4gY2FuLCBhbmQgY2FuIGludm9rZSB0aGUgY2xvY2sgYW5kIHJlZ3Vs YXRvciBmcmFtZXdvcmtzIGFuZCBvdGhlciBsb3cNCj4gPj4gbGV2ZWwgaW5mcmFzdHJ1Y3R1cmUg b25seSB3aGVuIGl0IG5lZWRzIHRvLg0KPiA+DQo+ID4gT2ssIEkgYW0gYWxpZ24gb24gdGhpcywg dG8gaGF2ZSBvbmUgZHJpdmVyIHdoaWNoIHN1cHBvcnRzIGJvdGguDQo+ID4NCj4gPj4gTGV0IG1l IHRyeSB0byBpbGx1c3RyYXRlIHRoaXMgYSBiaXQgYmV0dGVyOiBpbWFnaW5lIGEgTlhQIGN1c3Rv bWVyDQo+ID4+IHRoYXQgcnVucyBhIGRhdGFjZW50ZXIgdGhhdCBoYXMgMTAsMDAwIE5YUCBzZXJ2 ZXJzLCBhbmQgaXMgdXNpbmcgUkhFTA0KPiA+PiB4LnkuIFRoZSBidXNpbmVzcyBpcyBnb2luZyB3 ZWxsLCBhbmQgYXQgc29tZSBwb2ludCwgaGUgd2FudHMgdG8gb3JkZXIgYW5vdGhlcg0KPiAyLDAw MCBzZXJ2ZXJzLg0KPiA+PiBVbmZvcnR1bmF0ZWx5LCB0aGUgdmVuZG9yIGNhbm5vdCBzdXBwbHkg dGhlIGV4YWN0IHNhbWUgcmV2aXNpb24gb2YNCj4gPj4gdGhlIGhhcmR3YXJlLCBhbmQgdGhlIGxh dGVzdCByZXZpc2lvbiB1c2VzIHNvbWUgY29tcG9uZW50IHRoYXQgaXMgbm90DQo+ID4+IHN1cHBv cnRlZCBpbiBSSEVMIHgueS4NCj4gPj4NCj4gPj4gWW91IG5vdyBoYXZlIG1hZGUgeW91ciBjdXN0 b21lciB2ZXJ5IHVuaGFwcHkuIEhlIGludmVzdGVkIGluIFJIRUwgYW5kDQo+ID4+IEFDUEkgYmFz ZWQgc2VydmVycyBwcmVjaXNlbHkgdG8gYXZvaWQgdGhpcyBzaXR1YXRpb24uIFRoZSBjb3N0IG9m DQo+ID4+IGFkZGluZyAyLDAwMCBzZXJ2ZXJzIG5vdyBpbmNsdWRlcyB0aGUgY29zdCBvZiB1cGdy YWRpbmcgdGhlIG90aGVyDQo+ID4+IDEwLDAwMCBzZXJ2ZXJzIHRvIGEgbmV3IE9TIHZlcnNpb24g b3IgdGhlIGNvc3Qgb2Ygc3VwcG9ydGluZyB0d28NCj4gPj4gZGlmZmVyZW50IE9TIHZlcnNpb25z IGF0IHRoZSBzYW1lIHRpbWUsIGZvciBhIHJlYXNvbiB0aGF0IGlzIG5vdCBqdXN0aWZpYWJsZS4N Cj4gPg0KPiA+IERvIHlvdSBtZWFuIGhlcmUgd2l0aCBQUlAwMDAxIEhJRC9DSUQsIHdlIGNhbm5v dCB1c2UgQU1MIG1ldGhvZHMuDQo+IA0KPiBZb3UgY2Fubm90IHVzZSB0aGUgYWJzdHJhY3Rpb25z IEFDUEkgcHJvdmlkZXMgd2hlbiB1c2luZyBQUlAwMDAxICsNCj4gY29tcGF0aWJsZS4NCk9oLCB0 aHggDQo=