From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=104.47.1.81; helo=eur01-ve1-obe.outbound.protection.outlook.com; envelope-from=pankaj.bansal@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0081.outbound.protection.outlook.com [104.47.1.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6031B20955F09 for ; Mon, 26 Feb 2018 23:33:42 -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=I4SveEOOstyaHrfT3l9Ldl5ie7TOD3DWBToTJPQ3HeE=; b=AKZi5og2Rl0PL4ePDccmEzg2/0fosYHWRfy6FjeVPEYDomAEKAEn4lviIkZ0pvnh3CKhuvH5lIw9hD6ycg9pXuyinkemwLOeG38hrgE0yDMpw8n5cIIJAb/DagOaXN9auZdziWreZrXOlkXQsRPPTFWmF45v+yJ4fTYI4L2+8TA= Received: from AM0PR0402MB3940.eurprd04.prod.outlook.com (52.133.40.140) by AM0PR0402MB3346.eurprd04.prod.outlook.com (52.133.44.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Tue, 27 Feb 2018 07:39:42 +0000 Received: from AM0PR0402MB3940.eurprd04.prod.outlook.com ([fe80::4815:8101:2a92:25ea]) by AM0PR0402MB3940.eurprd04.prod.outlook.com ([fe80::4815:8101:2a92:25ea%13]) with mapi id 15.20.0527.021; Tue, 27 Feb 2018 07:39:42 +0000 From: Pankaj Bansal To: "Kinney, Michael D" , Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Gao, Liming" Thread-Topic: [edk2] [RFC] Add Platform Include path in modules Thread-Index: AQHTrstDp/N2pDL1sEClpK3XeydQGKO2TS0AgAAvbjCAAFo8gIAAGS4AgADm+cA= Date: Tue, 27 Feb 2018 07:39:42 +0000 Message-ID: References: <1519626521-15902-1-git-send-email-pankaj.bansal@nxp.com> <76e5168a-e3c2-97bb-dac1-22ffc212c7ee@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [14.142.187.166] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM0PR0402MB3346; 7:ICkf6e4Vngy03heh5FZuYbaya85x3i8N3pPB+zNFzm/RyuW/chJ5P1LxkdPca/7IydlbwgSf+ZSKbzRDwMmBzpD/j9LE7Xrk4SHEMNYtjAddmRrdh+sWiNHNM5I5MVJR1mntrS8PzX+X3nqODe9tMyOdp0+q+b+bzEviCkfhGoQiJOIkm+XC3wjUhtcNI4t/DjnXrc/P3WrmdG22U8zRmdDOh83lQk3fNsIxOg0yvGmRVltPuiQUtzpXE408S0dY x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 9e208a1b-096e-447b-d500-08d57db543da x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020); SRVR:AM0PR0402MB3346; x-ms-traffictypediagnostic: AM0PR0402MB3346: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(189930954265078)(185117386973197)(162533806227266)(45079756050767)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231220)(944501198)(52105095)(6055026)(6041288)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:AM0PR0402MB3346; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0402MB3346; x-forefront-prvs: 05961EBAFC x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(376002)(346002)(366004)(396003)(199004)(189003)(13464003)(52314003)(51444003)(99286004)(5660300001)(76176011)(93886005)(8936002)(2900100001)(6346003)(7696005)(106356001)(53936002)(66066001)(186003)(6246003)(6436002)(97736004)(6306002)(74316002)(7736002)(554214002)(305945005)(86362001)(110136005)(55016002)(316002)(9686003)(33656002)(561944003)(3280700002)(2501003)(3846002)(5250100002)(105586002)(81166006)(102836004)(26005)(2950100002)(8676002)(81156014)(68736007)(53546011)(3660700001)(6506007)(4326008)(25786009)(229853002)(2906002)(14454004)(478600001)(6116002)(55236004)(45080400002)(966005); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0402MB3346; H:AM0PR0402MB3940.eurprd04.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=pankaj.bansal@nxp.com; x-microsoft-antispam-message-info: VVYs7exIrEvlWNpA6Nd6cUgC6xyKCgUXCG2YSm2xm0XlgILMJPyP9U+oTeZJNQmSjasdYvaq17u4SCqrk0tRDaVCR8QvffyOpwR+m4H+iPMzQjibODEkSLG3SgZ2BiF3F4ceEVphJ//aGEsTM80En6ddfojxx6ZAYEONK5Jepmk= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9e208a1b-096e-447b-d500-08d57db543da X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2018 07:39:42.3135 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0402MB3346 Subject: Re: [RFC] Add Platform Include path in modules X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Feb 2018 07:33:44 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvL01pY2hhZWwsDQoNClRoYW5rcyBmb3IgeW91ciBmZWVkYmFjayBvbiB0aGlzIHBy b3Bvc2FsLg0KSSBsb29rZWQgYXQgdGhlIHN0cnVjdHVyZWQgUENEcyBhbmQgVUVGSSBQbGF0Zm9y bSBJbml0aWFsaXphdGlvbiBEaXN0cmlidXRpb24gUGFja2FnaW5nIFNwZWNpZmljYXRpb24uDQpI ZXJlIGlzIG15IHRha2Ugb24gdGhlc2UuDQoNCjEuIHN0cnVjdHVyZWQgUENEcyBhcmUgZ29vZCBp ZiB3ZSB3YW50IHRvIGRlY2xhcmUgc2luZ2xlIGNvbXBsZXggc3RydWN0dXJlLg0KICAgIEJ1dCBj b25zaWRlciBhIGNhc2Ugd2hlcmUgSSB3YW50IHRvIGtlZXAgZGV2aWNlIGluZm9ybWF0aW9uIGlu IHN0cnVjdHVyZS4gKGUuZy4gaGFyZHdhcmUgc2V0dGluZ3MsIGxpbWl0YXRpb25zIGV0YykNCiAg ICBBbmQgd2UgbWF5IHdhbnQgdG8gdHdlYWsgdGhpcyBpbmZvcm1hdGlvbiBiYXNlZCBvbiBwbGF0 Zm9ybSByZXZpc2lvbiBiZWluZyB1c2VkLg0KICAgIEFuZCBkaWZmZXJlbnQgcGxhdGZvcm1zIGNh biBoYXZlIGRpZmZlcmVudCBudW1iZXIgb2Ygc3VjaCBkZXZpY2VzLg0KICAgIEluIHRoaXMgY2Fz ZSwgd2hlbiB3ZSB3YW50IHRvIGFkZCBhIG5ldyBwbGF0Zm9ybSwgd2UgbWlnaHQgbmVlZCB0byBp bnRyb2R1Y2UgbmV3IFBDRHMgaW4gLmRlYyBmaWxlcywgd2hpY2ggd2lsbCBub3QgYmUgbmVlZGVk IGZvciBvdGhlcnMuDQogICAgSSBkb24ndCBrbm93LCB3aWxsIHRoaXMgZXZlbiBpbmNyZWFzZSB0 aGUgUENEIGRhdGFiYXNlIHNpemUgZm9yIGV4aXN0aW5nIHBsYXRmb3JtcyBvciBub3QgPw0KDQoy LiBUbyBtaXRpZ2F0ZSB0aGUgImhpZGRlbiIgZGVwZW5kZW5jeSBvZiBhIG1vZHVsZSBvbiBwbGF0 Zm9ybSwgd2UgY2FuIGV4cGxpY2l0bHkgZGVjbGFyZSB0aGlzIGRlcGVuZGVuY3kgaW4gbW9kdWxl IGluZiBmaWxlLg0KICAgICBJIGFtIHRoaW5raW5nIHNvbWV0aGluZyBsaWtlIGdFZmlDYWxsZXJJ ZEd1aWQsIGkuZS4gbW9kdWxlIGNhbiBkZWNsYXJlIHRoYXQgdGhhdCBwbGF0Zm9ybSBidWlsZGlu Zyh1c2luZykgdGhlIG1vZHVsZSwgc3VwcGx5IHRoaXMgaW5mb3JtYXRpb24uDQoNCjMuIFVzaW5n IExpYnJhcmllcyBhbmQgUHJvdG9jb2xzIGNhbiBhbHNvIHNvbHZlIHN1Y2ggdXNlIGNhc2VzLiBJ IGp1c3QgZmVsdCB0aGF0IGl0J3MgbGVzcyBjdW1iZXJzb21lIHRvIHVzZSBpbmNsdWRlIGZpbGVz LCBhbmQgaXQgYWxzbyBhdm9pZHMgY29kZSByZXBsaWNhdGlvbi4NCiAgICBBbnl3YXksIHRoaXMg aXMganVzdCBteSBzdWdnZXN0aW9uIHRvIGhhdmUgc3VjaCBtZWNoYW5pc20gaW4gZWRrMiBidWls ZCBwcm9jZXNzLiBJIGFtIG1vcmUgdGhhbiBoYXBweSB0byBzdGljayB0byBwbGF0Zm9ybSBsaWJy YXJpZXMuDQoNClRoYW5rcyAmIFJlZ2FyZHMsDQpQYW5rYWogQmFuc2FsDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2lubmV5LCBNaWNoYWVsIEQgW21haWx0bzptaWNo YWVsLmQua2lubmV5QGludGVsLmNvbV0NCj4gU2VudDogTW9uZGF5LCBGZWJydWFyeSAyNiwgMjAx OCAxMDo1NiBQTQ0KPiBUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IFBhbmth aiBCYW5zYWwNCj4gPHBhbmthai5iYW5zYWxAbnhwLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnOyBLaW5uZXksIE1pY2hhZWwgRA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ IENjOiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBb ZWRrMl0gW1JGQ10gQWRkIFBsYXRmb3JtIEluY2x1ZGUgcGF0aCBpbiBtb2R1bGVzDQo+IA0KPiBI aSBQYW5rYWosDQo+IA0KPiBJIGFncmVlIHdpdGggTGFzemxvIHRoYXQgeW91IHNob3VsZCBldmFs dWF0ZSB1c2Ugb2YgUENEcy4gIFRoZXJlIGFyZSBhIGZldw0KPiBtZXRob2RzIGZvciBhIGRyaXZl ciB0byB1c2UgcGxhdGZvcm0gc3BlY2lmaWMgdmFsdWVzL2JlaGF2aW9yLiAgVGhlc2UgYXJlOg0K PiANCj4gKiBQQ0RzDQo+ICogTGlicmFyeSBjbGFzcy9MaWJyYXJ5IEluc3RhbmNlDQo+ICogUHJv dG9jb2wvUFBJDQo+IA0KPiBPbmUgaXNzdWUgd2l0aCB0aGUgcHJvcG9zYWwgaXMgdGhhdCBpdCBh ZGRzIGEgaGlkZGVuIGRlcGVuZGVuY3kgdG8gbW9kdWxlcy4NCj4gQW4gRURLIElJIElORiBmaWxl IGRlc2NyaWJlcyB0aGUgZXh0ZXJuYWwgaW50ZXJmYWNlcyBvZiBhIG1vZHVsZSBhbG9uZyB3aXRo DQo+IHByb2R1Y2VzL2NvbnN1bWVzIHVzYWdlLiAgVGhpcyBpbmZvcm1hdGlvbiBpcyBhbGlnbmVk IHdpdGggdGhlIFhNTCBzY2hlbWENCj4gdGhhdCBpcyBkb2N1bWVudGVkIGluIHRoZSBVRUZJIFBs YXRmb3JtIEluaXRpYWxpemF0aW9uIERpc3RyaWJ1dGlvbiBQYWNrYWdpbmcNCj4gU3BlY2lmaWNh dGlvbi4NCj4gDQo+IA0KPiBodHRwczovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRs b29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZ1ZWZpLg0KPiBvcmclMkZzcGVjaWZpY2F0aW9ucyZk YXRhPTAyJTdDMDElN0NwYW5rYWouYmFuc2FsJTQwbnhwLmNvbSU3Qzk2YzQNCj4gMmRkNzI3MWQ0 NDlkNTZlOTA4ZDU3ZDNkZjJkNCU3QzY4NmVhMWQzYmMyYjRjNmZhOTJjZDk5YzVjMzAxNjM1DQo+ ICU3QzAlN0MwJTdDNjM2NTUyNjI3Mzc2MzU3MTkyJnNkYXRhPXNTN0tUM2hhQU5GNVRMSFNlUkdq SVFIbkxRDQo+IEJ0blRETElaV250VWhzazc4JTNEJnJlc2VydmVkPTANCj4gDQo+IElmIHR3byBt b2R1bGVzIGhhdmUgdGhlIHNhbWUgR1VJRC9WZXJzaW9uLCB0aGVuIHRoZSBleHRlcm5hbCBpbnRl cmZhY2VzIHRvDQo+IHRob3NlIHR3byBtb2R1bGVzIGFyZSBleHBlY3RlZCB0byBiZSBpZGVudGlj YWwuDQo+IFdpdGggeW91ciBwcm9wb3NhbCwgdHdvIG1vZHVsZXMgYnVpbHQgZm9yIDIgZGlmZmVy ZW50IHBsYXRmb3JtcyB3b3VsZCBoYXZlDQo+IHRoZSBzYW1lIEdVSUQvVmVyc2lvbiBidXQgd291 bGQgbm90IGhhdmUgdGhlIHNhbWUgZXh0ZXJuYWwgaW50ZXJmYWNlcw0KPiBiZWNhdXNlIGEgaGlk ZGVuIGRlcGVuZGVuY3kgb24gYSBwbGF0Zm9ybSBwYWNrYWdlIHdhcyBhZGRlZC4NCj4gDQo+IElm IGEgbW9kdWxlIHJlYWxseSBuZWVkcyB0byB1c2UgY29udGVudCBmcm9tIGEgcGxhdGZvcm0gcGFj a2FnZSwgdGhlbiBhIG5ldw0KPiBjb3B5IG9mIHRoZSBtb2R1bGUgc2hvdWxkIGJlIGNyZWF0ZWQg d2l0aCBhIG5ldyBHVUlEL1ZlcnNpb24gYW5kIHRoZQ0KPiBwbGF0Zm9ybSBwYWNrYWdlIGFkZGVk IHRvIHRoZSBbUGFja2FnZXNdIHNlY3Rpb24uICBUaGUgb3RoZXIgb3B0aW9uIGlzIHRvIHVzZQ0K PiBvbmUgb2YgdGhlIHN1cHBvcnRlZCBpbnRlcmZhY2VzIChQQ0RzLCBMaWIsIFByb3RvY29sLCBQ UEkpLg0KPiANCj4gUGxlYXNlIGxldCB1cyBrbm93IGlmIGFueSBvZiB0aGVzZSBleGl0aW5nIG1l dGhvZHMgZG8gbm90IHdvcmsgZm9yIHlvdXIgdXNlDQo+IGNhc2UuDQo+IA0KPiBUaGFua3MsDQo+ IA0KPiBNaWtlDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog TGFzemxvIEVyc2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+ID4gU2VudDogTW9uZGF5 LCBGZWJydWFyeSAyNiwgMjAxOCA3OjU1IEFNDQo+ID4gVG86IFBhbmthaiBCYW5zYWwgPHBhbmth ai5iYW5zYWxAbnhwLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsgZWRrMi0gZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4gQ2M6IEdhbywgTGlt aW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSZTogW2VkazJdIFtSRkNd IEFkZCBQbGF0Zm9ybSBJbmNsdWRlIHBhdGggaW4gbW9kdWxlcw0KPiA+DQo+ID4gT24gMDIvMjYv MTggMTE6NTUsIFBhbmthaiBCYW5zYWwgd3JvdGU6DQo+ID4gPiBIaSwNCj4gPiA+DQo+ID4gPiBD b25zaWRlciBhIHNpbXBsZSBkcml2ZXIgd2hpY2ggbmVlZHMgdGhhdCBzb21lIGRhdGENCj4gPiBz dHJ1Y3R1cmVzIGJlDQo+ID4gPiBmaWxsZWQgYnkgdGhlIFBsYXRmb3JtLCB3aGljaCBpcyB1c2lu ZyB0aGUgZHJpdmVyLg0KPiA+ID4NCj4gPiA+IERyaXZlci5jICNpbmNsdWRlIDxQbGF0Zm9ybS5o Pg0KPiA+ID4NCj4gPiA+IFN0cnVjdCBhID0gcGxhdGZvcm1WYWw7DQo+ID4gPg0KPiA+ID4gV2Ug Y2FuIGRlZmluZSBwbGF0Zm9ybVZhbCBpbiBQbGF0Zm9ybS5oLCB3aGljaCB3b3VsZA0KPiA+IGJl IHVuaXF1ZSB0byB0aGUNCj4gPiA+IHBsYXRmb3JtIGJlaW5nIGJ1aWx0LiBUaGlzIFBsYXRmb3Jt LmggY2FuIGJlIHBsYWNlZCBpbg0KPiA+IGluY2x1ZGUNCj4gPiA+IGRpcmVjdG9yaWVzLCB3aG9z ZSBwYXRoIHdvdWxkIGJlIGRlZmluZWQgaW4NCj4gPiBQbGF0Zm9ybS5kZWMgZmlsZS4NCj4gPiA+ DQo+ID4gPiBOb3csIHdoZW5ldmVyIHdlIGJ1aWxkIGRyaXZlciBmb3IgZWFjaCB1bmlxdWUNCj4g PiBwbGF0Zm9ybSwgd2UgbmVlZCBub3QNCj4gPiA+IHRvIG1lbnRpb24gUGxhdGZvcm0uZGVjIGZp bGUgaW4gZHJpdmVyLmluZiBbcGFja2FnZXNdDQo+ID4gc2VjdGlvbi4gV2UgY2FuDQo+ID4gPiBh cHBlbmQgUGxhdGZvcm0uZGVjIGluY2x1ZGUgcGF0aHMgdG8gZWFjaCBkcml2ZXIuIGkuZS4NCj4g PiBsb29rIGZvciB0aGUNCj4gPiA+IGluY2x1ZGUgZmlsZXMgaW4gW3BhY2thZ2VzXSBzZWN0aW9u IGFzIHdlbGwgYXMgaW4NCj4gPiBQbGF0Zm9ybSBpbmNsdWRlDQo+ID4gPiBkaXJlY3Rvcmllcy4N Cj4gPiA+DQo+ID4gPiBGb3IgdGhpcywgSSBhbSBsb29raW5nIGZvciBQbGF0Zm9ybS5kZWMgZmls ZSBpbiBzYW1lDQo+ID4gZGlyZWN0b3J5IGFzDQo+ID4gPiBQbGF0Zm9ybS5kc2MgYW5kIHVzaW5n IHNhbWUgbmFtZSBhcyBQbGF0Zm9ybS5kc2MNCj4gPiA+DQo+ID4gPiBXZSBjYW4gcmVmaW5lIHRo aXMgY2hhbmdlIGZ1cnRoZXIuIGkuZS4gYWRkIFBsYXRmb3JtDQo+ID4gaW5jbHVkZQ0KPiA+ID4g ZGlyZWN0b3JpZXMgdG8gZHJpdmVyJ3MgaW5jbHVkZSBwYXRocyBiYXNlZCBvbiBzb21lDQo+ID4g Y29uZGl0aW9uIGluDQo+ID4gPiBkcml2ZXIuaW5mIGZpbGUuDQo+ID4NCj4gPiAoQXBvbG9naWVz IGluIGFkdmFuY2UgaWYgSSBmYWlsZWQgdG8gZ3Jhc3AgdGhlIHVzZQ0KPiA+IGNhc2UuKQ0KPiA+ DQo+ID4gSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwgeW91IGhhdmUgbXVsdGlwbGUgcGxhdGZv cm1zIChkZWZpbmVkIGJ5IERTQw0KPiA+IGFuZCBGREYgZmlsZXMpLCBhbmQgeW91IGJ1aWxkIGEg Z2l2ZW4gZHJpdmVyIGZvciBzZXZlcmFsIG9mIHRoZXNlDQo+ID4gcGxhdGZvcm1zLCBzZXBhcmF0 ZWx5LiBBbmQsIHdoZW4gYnVpbGRpbmcgdGhlIGRyaXZlciBmb3IgdGhlIHNlcGFyYXRlDQo+ID4g cGxhdGZvcm1zLCB5b3UnZCBsaWtlIHRoZSBkcml2ZXIgdG8gZ2V0IGRpZmZlcmVudCBpbml0aWFs aXplcnMgZm9yDQo+ID4gdmFyaW91cyBzdGF0aWMgKGdsb2JhbCkgc3RydWN0dXJlIHZhcmlhYmxl cy4NCj4gPg0KPiA+IEhhdmUgeW91IHRyaWVkIHRoZSBzdHJ1Y3R1cmVkIFBDRCBmb3JtYXQ/IEkg dGhpbmsgdGhhdCBjb3VsZCBjb3Zlcg0KPiA+IHlvdXIgdXNlIGNhc2UuDQo+ID4NCj4gPiBVbmZv cnR1bmF0ZWx5IEkgY291bGRuJ3QgZmluZCBhbnl0aGluZyBhYm91dCBzdHJ1Y3R1cmVkIFBDRHMg aW4gdGhlDQo+ID4gZWRrMiBzcGVjcywgYnV0IHRoZXJlIGFyZSBzZXZlcmFsIEJaIHJlZmVyZW5j ZXMgaW4gdGhlIGZvbGxvd2luZw0KPiA+IG1haWxpbmcgbGlzdA0KPiA+IG1lc3NhZ2U6DQo+ID4N Cj4gPiBbZWRrMl0gW1BhdGNoIDAwLzE0XSBFbmFibGUgU3RydWN0dXJlIFBDRCBzdXBwb3J0IGlu DQo+ID4gZWRrMg0KPiA+DQo+ID4NCj4gaHR0cHM6Ly9lbWVhMDEuc2FmZWxpbmtzLnByb3RlY3Rp b24ub3V0bG9vay5jb20vP3VybD1odHRwJTNBJTJGJTJGbWlkLg0KPiA+IG1haWwtYXJjaGl2ZS5j b20lMkYxNTEyMTQwMzM1LTY5MzItMS1naXQtc2VuZC0NCj4gJmRhdGE9MDIlN0MwMSU3Q3Bhbmth ai5iDQo+ID4NCj4gYW5zYWwlNDBueHAuY29tJTdDOTZjNDJkZDcyNzFkNDQ5ZDU2ZTkwOGQ1N2Qz ZGYyZDQlN0M2ODZlYTFkM2INCj4gYzJiNGM2ZmENCj4gPg0KPiA5MmNkOTljNWMzMDE2MzUlN0Mw JTdDMCU3QzYzNjU1MjYyNzM3NjM1NzE5MiZzZGF0YT1pUjUwdiUyRjRKZyUNCj4gMkJaUWg3UA0K PiA+IDFMQjFieGVDcnlUYW5ncEExU3lWQ3dDRVFXMlUlM0QmcmVzZXJ2ZWQ9MA0KPiA+IGVtYWls LWxpbWluZy5nYW9AaW50ZWwuY29tDQo+ID4NCj4gPiBUaGFua3MNCj4gPiBMYXN6bG8NCg==