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.24, mailfrom: zhichao.gao@intel.com) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by groups.io with SMTP; Sun, 21 Jul 2019 20:17:50 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jul 2019 20:17:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,293,1559545200"; d="scan'208";a="159751299" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga007.jf.intel.com with ESMTP; 21 Jul 2019 20:17:49 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 21 Jul 2019 20:17:49 -0700 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 21 Jul 2019 20:17:48 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.134]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.240]) with mapi id 14.03.0439.000; Mon, 22 Jul 2019 11:17:47 +0800 From: "Gao, Zhichao" To: "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Kinney, Michael D" , "Gao, Liming" , "Wang, Jian J" , "Wu, Hao A" , "Ni, Ray" , "Zeng, Star" , Sean Brogan , "Michael Turner" , Bret Barkelew Subject: Re: [edk2-devel] [PATCH V2 0/4] Add a pcd PcdBootManagerInBootOrder to control whether BootManager is in BootOrder Thread-Topic: [edk2-devel] [PATCH V2 0/4] Add a pcd PcdBootManagerInBootOrder to control whether BootManager is in BootOrder Thread-Index: AQHVPjxlj59NwThTEEKYHADr/Dc2wqbV3DUA Date: Mon, 22 Jul 2019 03:17:46 +0000 Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B809372@SHSMSX101.ccr.corp.intel.com> References: <20190719080921.17516-1-zhichao.gao@intel.com> <64a0f747-c5b0-ac64-2696-0970e004949d@redhat.com> In-Reply-To: <64a0f747-c5b0-ac64-2696-0970e004949d@redhat.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: zhichao.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVs QGVkazIuZ3JvdXBzLmlvIFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dIE9uIEJlaGFsZiBP Zg0KPiBMYXN6bG8gRXJzZWsNCj4gU2VudDogRnJpZGF5LCBKdWx5IDE5LCAyMDE5IDEwOjE1IFBN DQo+IFRvOiBHYW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT47IGRldmVsQGVkazIu Z3JvdXBzLmlvDQo+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+OyBHYW8sIExpbWluZw0KPiA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBXYW5nLCBKaWFu IEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQQ0KPiA8aGFvLmEud3VAaW50ZWwu Y29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IFplbmcsIFN0YXINCj4gPHN0YXIuemVu Z0BpbnRlbC5jb20+OyBTZWFuIEJyb2dhbiA8c2Vhbi5icm9nYW5AbWljcm9zb2Z0LmNvbT47DQo+ IE1pY2hhZWwgVHVybmVyIDxNaWNoYWVsLlR1cm5lckBtaWNyb3NvZnQuY29tPjsgQnJldCBCYXJr ZWxldw0KPiA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQuY29tPg0KPiBTdWJqZWN0OiBSZTogW2Vk azItZGV2ZWxdIFtQQVRDSCBWMiAwLzRdIEFkZCBhIHBjZA0KPiBQY2RCb290TWFuYWdlckluQm9v dE9yZGVyIHRvIGNvbnRyb2wgd2hldGhlciBCb290TWFuYWdlciBpcyBpbg0KPiBCb290T3JkZXIN Cj4gDQo+IEhpIFpoaWNoYW8sDQo+IA0KPiBPbiAwNy8xOS8xOSAxMDowOSwgWmhpY2hhbyBHYW8g d3JvdGU6DQo+ID4gUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcu Y2dpP2lkPTE5NzkNCj4gPg0KPiA+IFYxOg0KPiA+IFVFRkkgc3BlYyAyLjggaW50cm9kdWNlIGEg bmV3IHZhcmlhYmxlIEwiUnVudGltZVNlcnZpY2VzU3VwcG9ydGVkIi4gSWYNCj4gPiBzb21lIHJ1 bnRpbWUgc2V2aWNlcyBpcyBub3Qgc3VwcG9ydGVkIGF0IHJ1bnRpbWUgcGhhc2UsIHRoZSB2YXJp YWJsZQ0KPiA+IHNob3VsZCBwcmVzZW50IGF0IGJvb3Qgc2VydmljZXMuIEl0IGlzIGEgYml0bWFz ayB2YWx1ZSwgdGhlIGJpdCB2YWx1ZQ0KPiA+IG9mIHplcm8gaW5kaWNhdGUgdGhlIHJlbGF0ZWQg cnVudGltZSBzZXJ2aWNlcyBpcyBub3Qgc3VwcG9ydGVkIGF0DQo+ID4gcnVudGltZSBwaGFzZS4N Cj4gPiBBZGQgdGhlIGRpZmluaXRpb24gYW5kIHVzZSBpdCB0byBjb250cm9sIENhcHN1bGUgcnVu dGltZSBzZXJ2aWNlcy4NCj4gPg0KPiA+IFYyOg0KPiA+IEFkanVzdCB0aGUgaW5kZW50IG9mIHVu aSBmaWxlLg0KPiA+IE1vdmUgdGhlIHNldCB2YXJpYWJsZSBmdW5jdGlvbiBmcm9tIENhcHN1bGVS dW50aW1lRHhlIHRvIFJ1bnRpbWVEeGUuDQo+ID4gQWRkICdFRklBUEknIHRvIHRoZSBldmVudCBm dW5jdGlvbiAiVXBkYXRlUnVudGltZVNlcnZpY2VzU3VwcG9ydGVkIiwNCj4gPiBsYWNraW5nIG9m IGl0IHdvdWxkIGNhdXNlIHRoZSBHQ0MgYnVpbGQgZmFpbHVyZS4NCj4gDQo+ICgxKSBGaXJzdCBv ZiBhbGwsIEkgdGhpbmsgc29tZXRoaW5nIG11c3QgaGF2ZSBnb25lIHdyb25nIHdpdGggeW91ciBw b3N0aW5nLg0KPiBZb3VyIGNvdmVyIGxldHRlciBjYXJyaWVzIHRoZSBzdWJqZWN0DQo+IA0KPiAg IEFkZCBhIHBjZCBQY2RCb290TWFuYWdlckluQm9vdE9yZGVyIHRvIGNvbnRyb2wgd2hldGhlciBC b290TWFuYWdlciBpcw0KPiAgIGluIEJvb3RPcmRlcg0KPiANCj4gYW5kIHJlZmVyZW5jZXMgVGlh bm9Db3JlIzE5NzkuDQo+IA0KPiBIb3dldmVyLCBhbGwgZm91ciBwYXRjaGVzIGluIHRoZSBzZXJp ZXMgYmVsb25nIHRvIFRpYW5vQ29yZSMxOTA3LCBhbmQgdGhlDQo+ICpjb250ZW50cyogb2YgdGhl IGNvdmVyIGxldHRlciBhcmUgYWxzbyByZWxhdGVkIHRvIFRpYW5vQ29yZSMxOTA3Lg0KPiANCj4g U28gYmFzaWNhbGx5IEkgdGhpbmsgdGhlIHN1YmplY3QgbGluZSBhbmQgdGhlIEJaIHJlZmVyZW5j ZSBpbiB5b3VyIGNvdmVyIGxldHRlcg0KPiBhcmUgaW5jb3JyZWN0Lg0KDQpTb3JyeSBJIG1peGVk IHRoZSB0d28gcGF0Y2ggSSBhbSB3b3JraW5nIG9uLiBUaGUgQlogbGluayBzaG91bGQgYmUgaHR0 cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3Lg0KQW5kIHRo ZSB0aXRsZSBzaG91bGQgYmUgTWRlUGtnL01kZU1vZHVsZVBrZzogSW50cm9kdWNlIGEgcGNkIHRv IGNvbnRyb2wgcnVudGltZSBjYXBzdWxlIHNlcnZpdmVzLg0KDQo+IA0KPiANCj4gKDIpIEkgaGF2 ZSByZWFkIHlvdXIgYW5zd2VycyBhdDoNCj4gDQo+ICAgaHR0cDovL21pZC5tYWlsLQ0KPiBhcmNo aXZlLmNvbS8zQ0U5NTlDMTM5QjRDNDREQkVBMTgxMEUzQUE2RjkwMDBCODA4NzcyQFNIU01TWDEw MS5jDQo+IGNyLmNvcnAuaW50ZWwuY29tDQo+ICAgaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvNDM4OTkNCj4gDQo+IElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIHlvdSBz YWlkIHRoYXQgdGhlIG5ldyBQQ0QgLyBzdGFuZGFyZGl6ZWQgVUVGSQ0KPiB2YXJpYWJsZSBpcyBh IHB1cmUgYWRkaXRpb24sIGFuZCB0aGF0IHBsYXRmb3JtcyBjYW4gKnRyYW5zcGFyZW50bHkqIGlu aGVyaXQgdGhpcw0KPiBmZWF0dXJlIGVuYWJsZW1lbnQgaW4gdGhlIHJ1bnRpbWUgRFhFIGNvcmUg YW5kIENhcHN1bGVSdW50aW1lRHhlLg0KPiANCj4gRGlkIEkgdW5kZXJzdGFuZCB5b3VyIGFuc3dl ciBjb3JyZWN0bHk/DQoNCkkgZGlkbid0IHRoaW5rIG9mICogdHJhbnNwYXJlbnQqIHRoaW5ncyBi ZWZvcmUuDQoNCj4gDQo+IElmIHNvLCB0aGVuIEkgZGlzYWdyZWUuIEluIG15IG9waW5pb24sIHRo aXMgaXMgKm5vdCogYSB0cmFuc3BhcmVudCBjaGFuZ2UgZm9yDQo+IHBsYXRmb3Jtcy4gQW5kIHRo YXQncyBiZWNhdXNlIG9mIHRoZSBmb2xsb3dpbmcgY2hhbmdlIGluIHRoZSBVRUZJDQo+IHNwZWNp ZmljYXRpb246DQo+IA0KPiAqIEluIFVFRkkgdjIuNyBFcnJhdGEgQiwgdGhlIEVGSV9VTlNVUFBP UlRFRCByZXR1cm4gc3RhdHVzIGlzIGRvY3VtZW50ZWQNCj4gICBhcyBmb2xsb3dzLCBmb3IgdGhl IFVwZGF0ZUNhcHN1bGUoKSBydW50aW1lIHNlcnZpY2U6DQo+IA0KPiAgICAgIlRoZSBjYXBzdWxl IHR5cGUgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiINCj4gDQo+ICAgQW5kIGZv ciB0aGUgUXVlcnlDYXBzdWxlQ2FwYWJpbGl0aWVzKCkgcnVudGltZSBzZXJ2aWNlOg0KPiANCj4g ICAgICJUaGUgY2Fwc3VsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybSwg YW5kDQo+ICAgICAvTWF4aW11bUNhcHN1bGVTaXplLyBhbmQgL1Jlc2V0VHlwZS8gYXJlIHVuZGVm aW5lZC4iDQo+IA0KPiAqIEluIFVFRkkgdjIuOCwgdGhlIHNhbWUgcmV0dXJuIHN0YXR1cyBzcGVj aWZpY2F0aW9ucyBhcmUgcHJlc2VydmVkLCBidXQNCj4gICB0aGUgZm9sbG93aW5nIG9uZXMgYXJl IGFkZGVkIHRvbyAoZm9yIEVGSV9VTlNVUFBPUlRFRCksIHVuZGVyIGJvdGgNCj4gICBVcGRhdGVD YXBzdWxlKCkgYW5kIFF1ZXJ5Q2Fwc3VsZUNhcGFiaWxpdGllcygpOg0KPiANCj4gICAgICJUaGlz IGNhbGwgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHBsYXRmb3JtIGF0IHRoZSB0aW1lIHRoZSBj YWxsIGlzDQo+ICAgICBtYWRlLiBUaGUgcGxhdGZvcm0gbXVzdCBjb3JyZWN0bHkgcmVmbGVjdCB0 aGlzIGJlaGF2aW9yIGluIHRoZQ0KPiAgICAgL1J1bnRpbWVTZXJ2aWNlc1N1cHBvcnRlZC8gdmFy aWFibGUuIg0KPiANCj4gVGhlcmVmb3JlLCBpZiBhIHBsYXRmb3JtIGtub3dzIHRoYXQgaXQgd2ls bCByZXR1cm4gRUZJX1VOU1VQUE9SVEVEDQo+ICpjb25zaXN0ZW50bHkqIChkdWUgdG8gcGxhdGZv cm0gbGltaXRhdGlvbnMpIGZyb20gdGhlc2UgcnVudGltZSBzZXJ2aWNlcywNCj4gdGhlbiBVRUZJ LTIuOCAqcmVxdWlyZXMqIHRoZSBwbGF0Zm9ybSB0byBhZHZlcnRpemUgdGhhdCBmYWN0IGluIHRo ZSBuZXcgVUVGSQ0KPiB2YXJpYWJsZS4NCg0KVGhlIG5ldyBwY2QgaXMgc2V0IGJ5IHRoZSBwbGF0 Zm9ybSBhbmQgdGhlIHBsYXRmb3JtIHNob3VsZCBhd2FyZSB0aGF0IHRoZSBwY2Qgd291bGQgc2V0 IGEgbmV3IHZhcmlhYmxlIEwiUnVudGltZVNlcnZpY2VzU3VwcG9ydGVkIi4NCkl0IHRoZXJlIHNv bWUgaW1wbGVtZW50YXRpb25zIHRoYXQgY29uZmxpY3Qgd2l0aCB5b3VyIGRlc2NyaXB0aW9uIGFi b3ZlPw0KDQo+IA0KPiANCj4gKDMpIElmIGEgcGxhdGZvcm0gbGlua3MgRHhlQ2Fwc3VsZUxpYk51 bGwgaW50byBDYXBzdWxlUnVudGltZUR4ZSwgdGhhdCBoYXMNCj4gdGhlIGZvbGxvd2luZyBjb25z ZXF1ZW5jZXM6DQo+IA0KPiAtIFF1ZXJ5Q2Fwc3VsZUNhcGFiaWxpdGllcygpDQo+ICAgW01kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvQ2Fwc3VsZVJ1bnRpbWVEeGUvQ2Fwc3VsZVNlcnZpY2UuY10gY2Fs bHMNCj4gICBTdXBwb3J0Q2Fwc3VsZUltYWdlKCkNCj4gICBbTWRlTW9kdWxlUGtnL0xpYnJhcnkv RHhlQ2Fwc3VsZUxpYk51bGwvRHhlQ2Fwc3VsZUxpYk51bGwuY10uDQo+IA0KPiAgIFRoZSByZXR1 cm4gc3RhdHVzIGlzIEVGSV9VTlNVUFBPUlRFRCwgY29uc2lzdGVudGx5Lg0KPiANCj4gLSBVcGRh dGVDYXBzdWxlKCkNCj4gICBbTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9DYXBzdWxlUnVudGltZUR4 ZS9DYXBzdWxlU2VydmljZS5jXSBjYWxscw0KPiBib3RoDQo+ICAgU3VwcG9ydENhcHN1bGVJbWFn ZSgpIC0tIHNlZSBhYm92ZSAtLSBhbmQgUHJvY2Vzc0NhcHN1bGVJbWFnZSgpDQo+ICAgW01kZU1v ZHVsZVBrZy9MaWJyYXJ5L0R4ZUNhcHN1bGVMaWJOdWxsL0R4ZUNhcHN1bGVMaWJOdWxsLmNdLg0K PiANCj4gICBUaGUgcmV0dXJuIHN0YXR1cyBpcyBFRklfVU5TVVBQT1JURUQsIGNvbnNpc3RlbnRs eS4NCj4gDQo+IE1lYW5pbmcgdGhhdCwgaWYgYSBwbGF0Zm9ybSB1c2VzIER4ZUNhcHN1bGVMaWJO dWxsLCBpdCAqbXVzdCogY2xlYXIgdGhlDQo+IEVGSV9SVF9TVVBQT1JURURfVVBEQVRFX0NBUFNV TEUgYW5kDQo+IEVGSV9SVF9TVVBQT1JURURfUVVFUllfQ0FQU1VMRV9DQVBBQklMSVRJRVMgYml0 cyBpbiB0aGUNCj4gIlJ1bnRpbWVTZXJ2aWNlc1N1cHBvcnRlZCIgdmFyaWFibGUuDQo+IA0KPiBO b3csIHlvdXIgcGF0Y2ggaW50cm9kdWNlcyAiUGNkUnVudGltZVNlcnZpY2VzU3VwcG9ydCIgaW4g dGhlDQo+IFtQY2RzRml4ZWRBdEJ1aWxkXSBzZWN0aW9uIG9mICJNZGVQa2cuZGVjIi4gQmFzZWQg b24gdGhhdCwgSSB0aGluayB3ZQ0KPiBzaG91bGQgYWRkIGEgQ09OU1RSVUNUT1IgZnVuY3Rpb24g dG8gRHhlQ2Fwc3VsZUxpYk51bGwsIGFzIGEgc2VwYXJhdGUNCj4gcGF0Y2guDQo+IA0KPiBUaGUg Y29uc3RydWN0b3IgZnVuY3Rpb24gc2hvdWxkIGRvOg0KPiANCj4gICBpZiAoKChGaXhlZFBjZEdl dDE2IChQY2RSdW50aW1lU2VydmljZXNTdXBwb3J0KSAmDQo+ICAgICAgICAgRUZJX1JUX1NVUFBP UlRFRF9VUERBVEVfQ0FQU1VMRSkgIT0gMCkgfHwNCj4gICAgICAgKChGaXhlZFBjZEdldDE2IChQ Y2RSdW50aW1lU2VydmljZXNTdXBwb3J0KSAmDQo+ICAgICAgICAgRUZJX1JUX1NVUFBPUlRFRF9R VUVSWV9DQVBTVUxFX0NBUEFCSUxJVElFUykgIT0gMCkpIHsNCj4gICAgIC8vDQo+ICAgICAvLyBU aGlzIGxpYnJhcnkgaW5zdGFuY2UgaXMgdW5zdWl0YWJsZSBmb3IgaW1wbGVtZW50aW5nIHRoZQ0K PiAgICAgLy8gVXBkYXRlQ2Fwc3VsZSgpIGFuZCBTdXBwb3J0Q2Fwc3VsZUltYWdlKCkgcnVudGlt ZSBzZXJ2aWNlcy4NCj4gICAgIC8vDQo+ICAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiAg IH0NCj4gICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+IA0KPiBXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/ IEJlY2F1c2UgaXQgd2lsbCAqZm9yY2UqIHBsYXRmb3JtcyB0byBleHBvc2UgdGhlaXIgbGFjaw0K PiBvZiBjYXBzdWxlIHN1cHBvcnQgaW4gdGhlIG5ldyBQQ0QuIE90aGVyd2lzZSwgdGhlIGZpcm13 YXJlIHdpbGwgbm90IGJvb3QgLS0NCj4gYW5kIHRoYXQgaXMgaW1wb3NzaWJsZSB0byBtaXNzLg0K DQpJIHNlZSB5b3VyIHBvaW50LiBUaGUgcGxhdGZvcm1zIHdoaWNoIHVzZSBudWxsIHZlcnNpb24g Q2Fwc3VsZUxpYiBzaG91bGQgc2V0dGluZyB0aGUgcmVsYXRlZCBiaXQgaW4gdGhlIG5ldyBQQ0Qu IFRoYXQncyByaWdodC4NCkJ1dCBjaGFuZ2luZyB0aGUgd2hvbGUgcmVsYXRlZCBwbGF0Zm9ybXMg d2hpY2ggdXNlIHRoZSBudWxsIHZlcnNpb24gaXMgYSBjaGFsbGVuZ2UuIElmIEkgbWlzc2VkIHNv bWUsIHRob3NlIHBsYXRmb3JtcyB3b3VsZCBub3QgYm9vdCBiZWNhdXNlIG9mIHRoZSBwYXRjaC4N CkFuZCBJIHRoaW5rIG1pc3MgdGhpcyBjaGFuZ2UgZm9yIER4ZUNhcHN1bGVMaWJOdWxsIHdvdWxk bid0IHZpb2xhdGUgdGhlIHNwZWMuIEknZCBiZXR0ZXIgdG8gaGVhciBtb3JlIGNvbW1lbnRzIGFi b3V0IHRoaXMuDQoNCj4gDQo+IA0KPiAoNCkgVGhlIHNpdHVhdGlvbiBpcyBzb21ld2hhdCBzaW1p bGFyIHdpdGggIlBjZENhcHN1bGVJblJhbVN1cHBvcnQiLiBJZg0KPiAiUGNkQ2Fwc3VsZUluUmFt U3VwcG9ydCIgaXMgRkFMU0UsIHRoZW4gVXBkYXRlQ2Fwc3VsZSgpIHdpbGwgYWx3YXlzDQo+IHJl dHVybiBFRklfVU5TVVBQT1JURUQuDQo+IA0KPiBUaGVyZWZvcmUsIHRoZSBlbnRyeSBwb2ludCBm dW5jdGlvbiBvZiBDYXBzdWxlUnVudGltZUR4ZSAtLQ0KPiBDYXBzdWxlU2VydmljZUluaXRpYWxp emUoKSAtLSBzaG91bGQgZ2V0IHRoZSBmb2xsb3dpbmcgYXNzZXJ0aW9uOg0KPiANCj4gICBBU1NF UlQgKA0KPiAgICAgUGNkR2V0Qm9vbCAoUGNkQ2Fwc3VsZUluUmFtU3VwcG9ydCkgfHwNCj4gICAg ICgoRml4ZWRQY2RHZXQxNiAoUGNkUnVudGltZVNlcnZpY2VzU3VwcG9ydCkgJg0KPiAgICAgICBF RklfUlRfU1VQUE9SVEVEX1VQREFURV9DQVBTVUxFKSA9PSAwKQ0KPiAgICAgKTsNCj4gDQo+IA0K PiAoNSkgRm9yIGVhY2ggcGxhdGZvcm0gaW4gdGhlIGVkazIgdHJlZSB0aGF0IGVpdGhlciB1c2Vz IER4ZUNhcHN1bGVMaWJOdWxsIG9yDQo+IHNldHMgIlBjZENhcHN1bGVJblJhbVN1cHBvcnQiIHRv IEZBTFNFLCB0aGUgY29ycmVzcG9uZGluZyBiaXRzIHNob3VsZCBiZQ0KPiBjbGVhcmVkIGluICJQ Y2RSdW50aW1lU2VydmljZXNTdXBwb3J0IiwgaW4gdGhlIHBsYXRmb3JtIERTQyBmaWxlcy4NCj4g DQo+IFRoaXMgd291bGQgbWVhbiBhIG51bWJlciBvZiBuZXcgcGF0Y2hlcyBmb3IgdGhpcyBzZXJp ZXMuDQoNCig0KSBhbmQgKDUpIHdvdWxkIGZvcmNlIHRoZSBwbGF0Zm9ybSB0byBzZXQgUGNkUnVu dGltZVNlcnZpY2VzU3VwcG9ydCBiYXNlIG9uIFBjZENhcHN1bGVJblJhbVN1cHBvcnQuIFRoYXQn IGZpbmUuIEJ1dCBJIHNob3VsZCBrbm93IHRoZSBzcGVjaWZpYyBwbGF0Zm9ybXMgdGhhdCBhbHJl YWR5IHNldCAiUGNkQ2Fwc3VsZUluUmFtU3VwcG9ydCIuIElmIHRoZSBQY2RDYXBzdWxlSW5SYW1T dXBwb3J0IGlzIG9ubHkgYW4gaW50cm9kdWN0aW9uLCB0aGF0IG1lYW5zIG5vIHBsYXRmb3JtIHNl dHMgaXQsIG5vIHBhdGNoIGlzIHJlcXVpcmVkLg0KDQo+IA0KPiANCj4gKDYpIFdpdGggdGhlIHNh bml0eSBjaGVja3MgZnJvbSBwb2ludHMgKDMpIGFuZCAoNCkgaW1wbGVtZW50ZWQsIEkgYWdyZWUg dGhhdA0KPiBDYXBzdWxlUnVudGltZUR4ZSBpcyBwZXJtaXR0ZWQgdG8gY29uc3VtZSAiUGNkUnVu dGltZVNlcnZpY2VzU3VwcG9ydCIsDQo+IGluIHBhdGNoIzQsIGFuZCB0byBpbnRyb2R1Y2UgbmV3 IEVGSV9VTlNVUFBPUlRFRCBleGl0IHBvaW50cyBpbnRvDQo+IFF1ZXJ5Q2Fwc3VsZUNhcGFiaWxp dGllcygpIGFuZCBVcGRhdGVDYXBzdWxlKCkuDQo+IA0KPiBIb3dldmVyOg0KPiANCj4gKDZhKSBJ biBwYXRjaCM0LCBDYXBzdWxlUnVudGltZUR4ZSBjb25zdW1lcyB0aGUgbmV3ICpVRUZJIHZhcmlh YmxlKiwgYW5kDQo+IG5vdCB0aGUgbmV3ICpQQ0QqLiBJIHRoaW5rIHRoYXQncyB3cm9uZzsgb3Ig YXQgbGVhc3Qgc3ViLW9wdGlvbWFsLg0KPiANCj4gRWFybGllciBNaWtlIHdyb3RlLCBpbg0KPiAN Cj4gICBodHRwOi8vbWlkLm1haWwtDQo+IGFyY2hpdmUuY29tL0U5MkVFOTgxN0EzMUUyNEVCMDU4 NUZERjczNTQxMkY1QjlENzczNDVAT1JTTVNYMTEzLmENCj4gbXIuY29ycC5pbnRlbC5jb20NCj4g ICBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS80Mzg5MA0KPiANCj4gdGhh dCB0aGUgcnVudGltZSBEWEUgQ29yZSBzaG91bGQgc2V0IHRoZSB2YXJpYWJsZSwgYW5kIHRoYXQg aW5kaXZpZHVhbA0KPiBydW50aW1lIGRyaXZlcnMgcHJvdmlkaW5nIHNvbWUgcnVudGltZSBzZXJ2 aWNlcyBzaG91bGQgY29uc3VtZSB0aGUgKlBDRCouDQo+IFNlZSB0aGUgcXVvdGUgYmVsb3csIGZy b20gTWlrZToNCj4gDQo+ID4gSSBhZ3JlZSB0aGF0IGVhY2ggUlQgZHJpdmVyIHRoYXQgcG9wdWxh dGVzIHRoZSBSVCBTZXJ2aWNlcyBUYWJsZSB3aXRoDQo+ID4gYSBSVCBzZXJ2aWNlcyBjYW4gY29u c3VtZSB0aGUgbmV3IGJpdG1hc2sgUENEIGFuZCB1c2UgdGhlIFBDRCB0bw0KPiA+IGRldGVybWlu ZSBpZiB0aGUgUlQgU2VydmljZSBzaG91bGQgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRCBhZnRlcg0K PiA+IEV4aXRCb290U2VydmljZXMoKS4NCj4gDQo+IFNvLCBDYXBzdWxlUnVudGltZUR4ZSBzaG91 bGQgYmFzZSB0aG9zZSBuZXcgZXhpdCBwb2ludHMgb24gdGhlIFBDRCwgYW5kDQo+IHRoZSBHZXRW YXJpYWJsZSgpIGNhbGwgc2hvdWxkIGJlIHJlbW92ZWQuDQoNCkFncmVlLg0KDQo+IA0KPiAoNmIp IFRoZSBjdXJyZW50IGJpdG1hc2sgY2hlY2tzIGluIHBhdGNoICM0IGFyZSB3cm9uZzoNCj4gDQo+ ID4gKyAgaWYgKCEobVJ1bnRpbWVTZXJ2aWNlc1N1cHBvcnRlZCB8DQo+IEVGSV9SVF9TVVBQT1JU RURfVVBEQVRFX0NBUFNVTEUpKSB7DQo+ID4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0K PiA+ICsgIH0NCj4gPiArDQo+ID4NCj4gPiArICBpZiAoIShtUnVudGltZVNlcnZpY2VzU3VwcG9y dGVkIHwNCj4gRUZJX1JUX1NVUFBPUlRFRF9RVUVSWV9DQVBTVUxFX0NBUEFCSUxJVElFUykpIHsN Cj4gPiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ID4gKyAgfQ0KPiA+ICsNCj4gDQo+ IEZpcnN0LCB0aGUgcmVsZXZhbnQgYml0cyBzaG91bGQgYmUgZXh0cmFjdGVkIHdpdGggdGhlIGJp dHdpc2UgQU5EIG9wZXJhdG9yLA0KPiBub3QgdGhlIGJpdHdpc2UgT1Igb3BlcmF0b3IuDQoNCkFn cmVlLiBNeSBtaXN0YWtlLg0KDQo+IA0KPiBTZWNvbmQsIGFmdGVyIHRoZSBleHRyYWN0aW9uLCB0 aGUgZWRrMiBjb2Rpbmcgc3R5bGUgZGljdGF0ZXMgYW4gZXhwbGljaXQNCj4gY29tcGFyaXNvbiB3 aXRoIHplcm8sIHRvIG15IHVuZGVyc3RhbmRpbmcuIFRoZSBsb2dpY2FsIG5lZ2F0aW9uIG9wZXJh dG9yIGlzDQo+IG9ubHkgYWNjZXB0YWJsZSB3aXRoIEJPT0xFQU4gdmFyaWFibGVzLCBhbmQgd2l0 aCBzdWNoIHN1Yi1leHByZXNzaW9ucyB0aGF0DQo+IGV2YWx1YXRlIHRvIEZBTFNFL1RSVUUuDQoN Ckkgd291bGQgZm9sbG93IHRoYXQgaW4gdGhlIG5leHQgcGF0Y2guDQoNCkJlZm9yZSBJIG1ha2Ug bmV4dCB2ZXJzaW9uIHBhdGNoLCBJIHdhbnQgdG8gaGVhciBtb3JlIGNvbW1lbnRzLiBFeHBlY2lh bGx5IGZvciB5b3VyICgzKS4NCg0KVGhhbmtzLA0KWmhpY2hhbw0KDQo+IA0KPiBUaGFua3MsDQo+ IExhc3psbw0KPiANCj4gDQoNCg==