From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id D68DE5A6A for ; Mon, 30 Mar 2015 08:12:09 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP; 29 Mar 2015 23:12:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,492,1422950400"; d="scan'208";a="474271552" Received: from pgsmsx104.gar.corp.intel.com ([10.221.44.91]) by FMSMGA003.fm.intel.com with ESMTP; 29 Mar 2015 23:12:09 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by PGSMSX104.gar.corp.intel.com (10.221.44.91) with Microsoft SMTP Server (TLS) id 14.3.224.2; Mon, 30 Mar 2015 14:11:59 +0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.204]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.111]) with mapi id 14.03.0224.002; Mon, 30 Mar 2015 14:11:58 +0800 From: "Zhang, Helin" To: "Lu, Patrick" , "Liu, Yong" , Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH] scripts: enable extended tag of PCIe Thread-Index: AQHQZV/7iSxi/8yIgUSoVN75yH23SJ0qvHSAgADeIACAAbq8AIAHhncg//+5mWA= Date: Mon, 30 Mar 2015 06:11:59 +0000 Message-ID: References: <1422593822-15531-1-git-send-email-zhida.zang@intel.com> <3200414.B2YSnFKgSE@xps13> <86228AFD5BCD8E4EBFD2B90117B5E81E10DA9B8A@SHSMSX103.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH] scripts: enable extended tag of PCIe X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Mar 2015 06:12:11 -0000 SGkgUGF0cmljaw0KDQpZZXMsIGdvb2QgcG9pbnQhDQpJIGhhdmUgYSBwbGFuIHRvIGltcGxlbWVu dCB3cml0aW5nIHBjaWUgY29uZmlnIHNwYWNlIGRpcmVjdGx5IGZvciBpNDBlIGRldmljZXMgb25s eSwgYXMgcGNpIGNvbmZpZyBzcGFjZSBhY2Nlc3Npbmcgc2VlbXMgcmVhZHkgcmVjZW50bHkuDQpU aGF0IHRpbWUsIHRoZSBleHRlbmRlZC10YWcgd2lsbCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgZm9y IGk0MGUgZGV2aWNlcyBvbmx5LiBUaGFuayB5b3UgZm9yIHRoZSBnb29kIHN1Z2dlc3Rpb24hDQoN ClJlZ2FyZHMsDQpIZWxpbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IEx1LCBQYXRyaWNrDQo+IFNlbnQ6IE1vbmRheSwgTWFyY2ggMzAsIDIwMTUgMTozMSBQTQ0KPiBU bzogTGl1LCBZb25nOyBaaGFuZywgSGVsaW47IFRob21hcyBNb25qYWxvbg0KPiBDYzogZGV2QGRw ZGsub3JnOyBNdXJ1Z2VzYW4sIEFuYmFyYXNhblgNCj4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0g W1BBVENIXSBzY3JpcHRzOiBlbmFibGUgZXh0ZW5kZWQgdGFnIG9mIFBDSWUNCj4gDQo+IEhpIEhl bGluIGFuZCBUaG9tYXMsDQo+IA0KPiBSYXRoZXIgdGhhbiBhbiBhZGRpdGlvbmFsIHBhdGNoLiBD YW4gd2UgYWx3YXlzIGVuYWJsZSBleHRlbmRlZCB0YWcgaW4gaTQwZQ0KPiBkcml2ZXI/IFRoZXJl IGlzIG5vIG5lZ2F0aXZlIGltcGFjdCBmb3IgZW5hYmxpbmcgZXh0ZW5kZWQgdGFnLiAoRXZlbiBv biBkZXZpY2VzDQo+IHRoYXQgZG9uJ3Qgc3VwcG9ydCBleHRlbmRlZCB0YWcsIHRoZSBQQ0llIHBh Y2tldCB3aWxsIHNpbXBseSBpZ25vcmUgdGhlIGJpdCBhbmQNCj4gZ28gb24uKQ0KPiANCj4gQmVz dCwNCj4gDQo+IFBhdHJpY2sNCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgTGl1LCBZ b25nDQo+IFNlbnQ6IFR1ZXNkYXksIE1hcmNoIDI0LCAyMDE1IDg6MzIgUE0NCj4gVG86IFpoYW5n LCBIZWxpbjsgVGhvbWFzIE1vbmphbG9uDQo+IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDog UmU6IFtkcGRrLWRldl0gW1BBVENIXSBzY3JpcHRzOiBlbmFibGUgZXh0ZW5kZWQgdGFnIG9mIFBD SWUNCj4gDQo+IEhpIEhlbGluLA0KPiBUaGlzIHBhdGNoIGxvb2sgZmluZSBmb3IgbWUuIEp1c3Qg bmVlZCBhZGQgc29tZSBkZXNjcmlwdGlvbnMgYWJvdXQgdGhlDQo+IGV4dGVuZGVkIHRhZy4NCj4g SWYgdGhpcyBzY3JpcHQgd29yayBvbmx5IG9uIEZWTCBkZXZpY2UsIG1heWJlIGl0IHNob3VsZCBi ZSByZW5hbWVkIGxpa2UNCj4gInNldF9mdmxfZXh0ZW5kZWRfdGFnIi4NCj4gDQo+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBaaGFuZywgSGVsaW4NCj4gPiBTZW50OiBU dWVzZGF5LCBNYXJjaCAyNCwgMjAxNSA5OjA4IEFNDQo+ID4gVG86IFRob21hcyBNb25qYWxvbjsg TGl1LCBZb25nDQo+ID4gQ2M6IGRldkBkcGRrLm9yZzsgQnV0bGVyLCBTaW9iaGFuIEENCj4gPiBT dWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0hdIHNjcmlwdHM6IGVuYWJsZSBleHRlbmRlZCB0 YWcgb2YgUENJZQ0KPiA+DQo+ID4gSGkgVGhvbWFzDQo+ID4NCj4gPiBaaGlkYSBpcyBvdXIgaW50 ZXJuIHdobyBoYXMgYWxyZWFkeSBiZWVuIGJhY2sgdG8gdW5pdmVyc2l0eS4gSSB0aGluaw0KPiA+ IFlvbmcgbWlnaHQgaGF2ZSByZXZpZXdlZCBpdC4NCj4gPiBJdCBpcyBnb29kIHN1cHBsZW1lbnRh dGlvbiBmb3Igc2V0dGluZyBleHRlbmRlZCB0YWcgb24gTGludXgsIHRob3VnaA0KPiA+IG5vdCBu ZWNlc3NhcnkuIEkgYW0gT0sgdG8gaGF2ZSBpdCBtZXJnZWQgb3Igbm90LiBUaGFua3MhDQo+ID4N Cj4gPiBNYXJ2aW4sIGNvdWxkIHlvdSBoZWxwIHRvIGFjayBpdCwgYXMgSSBrbm93IHlvdSBoYXZl IHJldmlld2VkIGl0Pw0KPiA+DQo+ID4gUmVnYXJkcywNCj4gPiBIZWxpbg0KPiA+DQo+ID4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogVGhvbWFzIE1vbmphbG9uIFtt YWlsdG86dGhvbWFzLm1vbmphbG9uQDZ3aW5kLmNvbV0NCj4gPiA+IFNlbnQ6IE1vbmRheSwgTWFy Y2ggMjMsIDIwMTUgNzo1MyBQTQ0KPiA+ID4gVG86IFphbmcsIFpoaWRhDQo+ID4gPiBDYzogZGV2 QGRwZGsub3JnOyBCdXRsZXIsIFNpb2JoYW4gQTsgWmhhbmcsIEhlbGluDQo+ID4gPiBTdWJqZWN0 OiBSZTogW2RwZGstZGV2XSBbUEFUQ0hdIHNjcmlwdHM6IGVuYWJsZSBleHRlbmRlZCB0YWcgb2Yg UENJZQ0KPiA+ID4NCj4gPiA+IEhpLA0KPiA+ID4NCj4gPiA+IFRoaXMgcGF0Y2ggbmVlZHMgcmV2 aWV3IGFuZCBkb2N1bWVudGF0aW9uLg0KPiA+ID4gSXQncyBnb2luZyB0byBiZSBkcm9wcGVkIGlm IG5vYm9keSBjYXJlcy4NCj4gPiA+DQo+ID4gPiBUaGVyZSB3ZXJlIHNvbWUgcHJldmlvdXMgZGlz Y3Vzc2lvbnMgYWJvdXQgaXQ6DQo+ID4gPiAJaHR0cDovL2RwZGsub3JnL21sL2FyY2hpdmVzL2Rl di8yMDE1LUZlYnJ1YXJ5LzAxMjcwOC5odG1sDQo+ID4gPg0KPiA+ID4NCj4gPiA+IDIwMTUtMDEt MzAgMTI6NTcsIHpoaWRhIHphbmc6DQo+ID4gPiA+IEFzICdleHRlbmRlZCB0YWcnIG9mIFBDSWUg bmVlZHMgdG8gYmUgZW5hYmxlZCBmb3IgaTQwZSBoaWdoDQo+ID4gPiA+IHBlcmZvcm1hbmNlLCBM aW51eCBjb21tYW5kIG9mICdzZXRwY2knIGNhbiBiZSB1c2VkIHRvIGNoZWNrIGFuZA0KPiA+ID4g PiBzZXQgdGhlIGNvcnJlc3BvbmRpbmcgYml0IG9mICdleHRlbmRlZCB0YWcnIG9mIFBDSWUgY29u ZmlndXJhdGlvbiBzcGFjZS4NCj4gPiA+ID4gVGhlIHNjcmlwdCBpcyB0byBjaGVjayBhbmQgc2V0 IHRoZSByaWdodCBiaXQgaW4gUENJZSBjb25maWd1cmF0aW9uDQo+ID4gc3BhY2UgdG8NCj4gPiA+ IGVuYWJsZSAnZXh0ZW5kZWQgdGFnJy4NCj4gPiA+ID4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTog WmhpZGEgWmFuZyA8emhpZGEuemFuZ0BpbnRlbC5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAg dG9vbHMvc2V0X3BjaS5weSB8IDEyNA0KPiA+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwg MTI0IGluc2VydGlvbnMoKykgIGNyZWF0ZSBtb2RlIDEwMDc1NQ0KPiA+ID4gPiB0b29scy9zZXRf cGNpLnB5DQo+ID4gPiA+DQo+ID4gPiA+IGRpZmYgLS1naXQgYS90b29scy9zZXRfcGNpLnB5IGIv dG9vbHMvc2V0X3BjaS5weSBuZXcgZmlsZSBtb2RlDQo+ID4gPiA+IDEwMDc1NSBpbmRleCAwMDAw MDAwLi5lMjQyZWZiDQo+ID4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ID4gKysrIGIvdG9vbHMv c2V0X3BjaS5weQ0KPiA+ID4gPiBAQCAtMCwwICsxLDEyNCBAQA0KPiA+ID4gPiArIyEgL3Vzci9i aW4vcHl0aG9uDQo+ID4gPiA+ICtpbXBvcnQgc3lzDQo+ID4gPiA+ICtpbXBvcnQgb3MNCj4gPiA+ ID4gK2ltcG9ydCBzdWJwcm9jZXNzDQo+ID4gPiA+ICtpbXBvcnQgZ2V0b3B0DQo+ID4gPiA+ICtm cm9tIG9zLnBhdGggaW1wb3J0IGJhc2VuYW1lDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyMgVGhlIHJl Z2lzdGVyIHRvIGNoZWNrIGlmIGV4dGVuZGVkIHRhZyBpcyBzdXBwb3J0ZWQgb3Igbm90Lg0KPiA+ ID4gPiArUENJX0RFVl9DQVBfUkVHID0gMHhBNA0KPiA+ID4gPiArIyBUaGUgY29udHJvbCByZWdp c3RlciB3aGljaCBjb250YWlucyB0aGUgYml0IHRvIGVuYWJsZS9kaXNhYmxlDQo+ID4gJ2V4dGVu ZGVkDQo+ID4gPiB0YWcnLg0KPiA+ID4gPiArUENJX0RFVl9DVFJMX1JFRyA9IDB4QTgNCj4gPiA+ ID4gKyMgVGhlIG1hc2sgb2YgJ2V4dGVuZGVkIHRhZycgaW4gY2FwYWJpbGl0eSByZWdpc3Rlci4N Cj4gPiA+ID4gK1BDSV9ERVZfQ0FQX0VYVF9UQUdfTUFTSyA9IDB4MjANCj4gPiA+ID4gKyMgVGhl IG1hc2sgb2YgJ2V4dGVuZGVkIHRhZycgaW4gY29udHJvbCByZWdpc3Rlci4NCj4gPiA+ID4gK1BD SV9ERVZfQ1RSTF9FWFRfVEFHX01BU0sgPSAweDEwMA0KPiA+ID4gPiArDQo+ID4gPiA+ICtkZXZf aWRzID0ge30NCj4gPiA+ID4gK2ZsYWcgPSAiU2V0Ig0KPiA+ID4gPiArDQo+ID4gPiA+ICsNCj4g PiA+ID4gK2RlZiB1c2FnZSgpOg0KPiA+ID4gPiArICAgICcnJ1ByaW50IHVzYWdlIGluZm9ybWF0 aW9uIGZvciB0aGUgcHJvZ3JhbScnJw0KPiA+ID4gPiArICAgIGFyZ3YwID0gYmFzZW5hbWUoc3lz LmFyZ3ZbMF0pDQo+ID4gPiA+ICsgICAgcHJpbnQgIiIiDQo+ID4gPiA+ICtVc2FnZToNCj4gPiA+ ID4gKy0tLS0tLQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsgICAgJShhcmd2MClzIFtvcHRpb25zXSBE RVZJQ0UxIERFVklDRTIgLi4uLg0KPiA+ID4gPiArDQo+ID4gPiA+ICt3aGVyZSBERVZJQ0UxLCBE RVZJQ0UyIGV0YywgYXJlIHNwZWNpZmllZCB2aWEgUENJDQo+ID4gPiA+ICsiZG9tYWluOmJ1czpz bG90LmZ1bmMiIHN5bnRheCBvciAiYnVzOnNsb3QuZnVuYyIgc3ludGF4LiBGb3INCj4gPiA+ID4g K2RldmljZXMgYm91bmQgdG8gTGludXgga2VybmVsIGRyaXZlcnMsIHRoZXkgbWF5IGFsc28gYmUg cmVmZXJyZWQNCj4gPiA+ID4gK3RvIGJ5IExpbnV4DQo+ID4gaW50ZXJmYWNlDQo+ID4gPiBuYW1l IGUuZy4gZXRoMCwgZXRoMSwgZW0wLCBlbTEsIGV0Yy4NCj4gPiA+ID4gKw0KPiA+ID4gPiArT3B0 aW9uczoNCj4gPiA+ID4gKyAgICAtLWhlbHAsIC0tdXNhZ2U6DQo+ID4gPiA+ICsgICAgICAgIERp c3BsYXkgdXNhZ2UgaW5mb3JtYXRpb24gYW5kIHF1aXQNCj4gPiA+ID4gKw0KPiA+ID4gPiArICAg IC1zIC0tc2V0Og0KPiA+ID4gPiArICAgICAgICBTZXQgdGhlIGZvbGxvd2luZyBwY2kgZGV2aWNl DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICAtdSAtLVVuc2V0Og0KPiA+ID4gPiArICAgICAgICBV bnNldCB0aGUgZm9sbG93aW5nIHBjaSBkZXZpY2UNCj4gPiA+ID4gKw0KPiA+ID4gPiArRXhhbXBs ZXM6DQo+ID4gPiA+ICstLS0tLS0tLS0NCj4gPiA+ID4gK1RvIHNldCBwY2kgMGE6MDAuMA0KPiA+ ID4gPiArICAgICAgICAlKGFyZ3YwKXMgLXMgMGE6MDAuMA0KPiA+ID4gPiArICAgICAgICAlKGFy Z3YwKXMgLS1zZXQgMGE6MDAuMA0KPiA+ID4gPiArDQo+ID4gPiA+ICtUbyB1bnNldCAwMDAwOjAx OjAwLjANCj4gPiA+ID4gKyAgICAgICAgJShhcmd2MClzIC11IDAwMDA6MDE6MDAuMA0KPiA+ID4g PiArICAgICAgICAlKGFyZ3YwKXMgLS11bnNldCAwMDAwOjAxOjAwLjANCj4gPiA+ID4gKw0KPiA+ ID4gPiArVG8gc2V0IDAwMDA6MDI6MDAuMCBhbmQgMDAwMDowMjowMC4xDQo+ID4gPiA+ICsgICAg ICAgICUoYXJndjApcyAtcyAwMjowMC4wIDAyOjAwLjENCj4gPiA+ID4gKw0KPiA+ID4gPiArICAg ICIiIiAlIGxvY2FscygpICAjIHJlcGxhY2UgaXRlbXMgZnJvbSBsb2NhbCB2YXJpYWJsZXMNCj4g PiA+ID4gKw0KPiA+ID4gPiArDQo+ID4gPiA+ICtkZWYgcGFyc2VfYXJncygpOg0KPiA+ID4gPiAr ICAgIGdsb2JhbCBmbGFnDQo+ID4gPiA+ICsgICAgZ2xvYmFsIGRldl9pZHMNCj4gPiA+ID4gKyAg ICBpZiBsZW4oc3lzLmFyZ3YpIDw9IDE6DQo+ID4gPiA+ICsgICAgICAgIHVzYWdlKCkNCj4gPiA+ ID4gKyAgICAgICAgc3lzLmV4aXQoMCkNCj4gPiA+ID4gKyAgICB0cnk6DQo+ID4gPiA+ICsgICAg ICAgIG9wdHMsIGRldl9pZHMgPSBnZXRvcHQuZ2V0b3B0KA0KPiA+ID4gPiArICAgICAgICAgICAg c3lzLmFyZ3ZbMTpdLA0KPiA+ID4gPiArICAgICAgICAgICAgInN1IiwNCj4gPiA+ID4gKyAgICAg ICAgICAgIFsiaGVscCIsICJ1c2FnZSIsICJzZXQiLCAidW5zZXQiXQ0KPiA+ID4gPiArICAgICAg ICAgICAgKQ0KPiA+ID4gPiArICAgIGV4Y2VwdCBnZXRvcHQuR2V0b3B0RXJyb3IsIGVycm9yOg0K PiA+ID4gPiArICAgICAgICBwcmludCBzdHIoZXJyb3IpDQo+ID4gPiA+ICsgICAgICAgIHByaW50 ICJSdW4gJyVzIC0tdXNhZ2UnIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIiAlIHN5cy5hcmd2WzBd DQo+ID4gPiA+ICsgICAgICAgIHN5cy5leGl0KDEpDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgICBm b3Igb3B0LCBhcmcgaW4gb3B0czoNCj4gPiA+ID4gKyAgICAgICAgaWYgb3B0ID09ICItLWhlbHAi IG9yIG9wdCA9PSAiLS11c2FnZSI6DQo+ID4gPiA+ICsgICAgICAgICAgICB1c2FnZSgpDQo+ID4g PiA+ICsgICAgICAgICAgICBzeXMuZXhpdCgwKQ0KPiA+ID4gPiArICAgICAgICBpZiBvcHQgPT0g Ii1zIiBvciBvcHQgPT0gIi0tc2V0IjoNCj4gPiA+ID4gKyAgICAgICAgICAgIGZsYWcgPSAiU2V0 Ig0KPiA+ID4gPiArICAgICAgICBpZiBvcHQgPT0gIi11IiBvciBvcHQgPT0gIi0tdW5zZXQiOg0K PiA+ID4gPiArICAgICAgICAgICAgZmxhZyA9ICJVbnNldCINCj4gPiA+ID4gKw0KPiA+ID4gPiAr DQo+ID4gPiA+ICtkZWYgY2hlY2tfb3V0cHV0KGFyZ3MsIHN0ZGVycj1Ob25lKToNCj4gPiA+ID4g KyAgICAnJydSdW4gYSBjb21tYW5kIGFuZCBjYXB0dXJlIGl0cyBvdXRwdXQnJycNCj4gPiA+ID4g KyAgICByZXR1cm4gc3VicHJvY2Vzcy5Qb3BlbigNCj4gPiA+ID4gKyAgICAgICAgYXJncywNCj4g PiA+ID4gKyAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwNCj4gPiA+ID4gKyAgICAgICAg c3RkZXJyPXN0ZGVycg0KPiA+ID4gPiArICAgICAgICApLmNvbW11bmljYXRlKClbMF0NCj4gPiA+ ID4gKw0KPiA+ID4gPiArDQo+ID4gPiA+ICtkZWYgc2V0X3BjaSgpOg0KPiA+ID4gPiArICAgIGlm IGxlbihkZXZfaWRzKSA9PSAwOg0KPiA+ID4gPiArICAgICAgICBwcmludCAiRXJyb3I6IE5vIGRl dmljZXMgc3BlY2lmaWVkLiINCj4gPiA+ID4gKyAgICAgICAgcHJpbnQgIlJ1biAnJXMgLS11c2Fn ZScgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24iICUgc3lzLmFyZ3ZbMF0NCj4gPiA+ID4gKyAgICAg ICAgc3lzLmV4aXQoMSkNCj4gPiA+ID4gKyAgICBwYXJhbV9jYXAgPSAiJXguVyIgJSBQQ0lfREVW X0NBUF9SRUcNCj4gPiA+ID4gKyAgICBmb3IgayBpbiByYW5nZShsZW4oZGV2X2lkcykpOg0KPiA+ ID4gPiArICAgICAgICB2YWwgPSBjaGVja19vdXRwdXQoWyJzZXRwY2kiLCAiLXMiLCBkZXZfaWRz W2tdLCBwYXJhbV9jYXBdKQ0KPiA+ID4gPiArICAgICAgICBpZiAobm90IChpbnQodmFsLCAxNikg JiBQQ0lfREVWX0NBUF9FWFRfVEFHX01BU0spKToNCj4gPiA+ID4gKyAgICAgICAgICAgIHByaW50 IGRldl9pZHNba10sICJOb3Qgc3VwcG9ydGVkIg0KPiA+ID4gPiArICAgICAgICAgICAgY29udGlu dWUNCj4gPiA+ID4gKyAgICAgICAgaWYgKGludCh2YWwsIDE2KSAmIFBDSV9ERVZfQ1RSTF9FWFRf VEFHX01BU0spOg0KPiA+ID4gPiArICAgICAgICAgICAgY29udGludWUNCj4gPiA+ID4gKyAgICAg ICAgcGFyYW1fY3RybCA9ICIleC5XIiAlIFBDSV9ERVZfQ1RSTF9SRUcNCj4gPiA+ID4gKyAgICAg ICAgdmFsID0gY2hlY2tfb3V0cHV0KFsic2V0cGNpIiwgIi1zIiwgZGV2X2lkc1trXSwgcGFyYW1f Y3RybF0pDQo+ID4gPiA+ICsgICAgICAgIGlmIGZsYWcgPT0gIlNldCI6DQo+ID4gPiA+ICsgICAg ICAgICAgICB2YWwgPSBpbnQodmFsLCAxNikgfCBQQ0lfREVWX0NUUkxfRVhUX1RBR19NQVNLDQo+ ID4gPiA+ICsgICAgICAgIGVsc2U6DQo+ID4gPiA+ICsgICAgICAgICAgICB2YWwgPSBpbnQodmFs LCAxNikgJiB+UENJX0RFVl9DVFJMX0VYVF9UQUdfTUFTSw0KPiA+ID4gPiArICAgICAgICBwYXJh bV9jdHJsID0gIiV4Llc9JXgiICUgKFBDSV9ERVZfQ1RSTF9SRUcsIHZhbCkNCj4gPiA+ID4gKyAg ICAgICAgY2hlY2tfb3V0cHV0KFsic2V0cGNpIiwgIi1zIiwgZGV2X2lkc1trXSwgcGFyYW1fY3Ry bF0pDQo+ID4gPiA+ICsNCj4gPiA+ID4gKw0KPiA+ID4gPiArZGVmIG1haW4oKToNCj4gPiA+ID4g KyAgICBwYXJzZV9hcmdzKCkNCj4gPiA+ID4gKyAgICBzZXRfcGNpKCkNCj4gPiA+ID4gKw0KPiA+ ID4gPiAraWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoNCj4gPiA+ID4gKyAgICBtYWluKCkNCj4g PiA+ID4NCj4gPiA+DQoNCg==