From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 383CCA05D3 for ; Wed, 22 May 2019 10:41:29 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 250104CAB; Wed, 22 May 2019 10:41:29 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id B1ECA14EC for ; Wed, 22 May 2019 10:41:27 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 May 2019 01:41:26 -0700 X-ExtLoop1: 1 Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga001.fm.intel.com with ESMTP; 22 May 2019 01:41:26 -0700 Received: from fmsmsx155.amr.corp.intel.com (10.18.116.71) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 22 May 2019 01:41:26 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX155.amr.corp.intel.com (10.18.116.71) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 22 May 2019 01:41:26 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.129]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.70]) with mapi id 14.03.0415.000; Wed, 22 May 2019 16:41:24 +0800 From: "Tu, Lijuan" To: "Wang, Yinan" , "dts@dpdk.org" CC: "Wang, Yinan" Thread-Topic: [dts] [PATCH v2] test_plans/dpdk_gro_lib: add test plan for dpdk gro lib test Thread-Index: AQHVCvnSeR1x13hgbkS0RUb0suyl0aZ23kwQ Date: Wed, 22 May 2019 08:41:24 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BA841EF@SHSMSX101.ccr.corp.intel.com> References: <20190515013707.52550-1-yinan.wang@intel.com> In-Reply-To: <20190515013707.52550-1-yinan.wang@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOTEwMzJhYzUtNDVjMC00YWRlLTlkNjQtMzFjNTJkYjMxNjkwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiaEZkeExmYU5qUmRIVDg1TWh1czdIeHh4dDd3dUxsQVBVbmJxVGJudk1UQVBkVlg3RWRnYWMySE5tOVNiOUZFdiJ9 x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dts] [PATCH v2] test_plans/dpdk_gro_lib: add test plan for dpdk gro lib test X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" QXBwbGllZCwgdGhhbmtzDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog ZHRzIFttYWlsdG86ZHRzLWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBZaW5hbg0KPiBT ZW50OiBXZWRuZXNkYXksIE1heSAxNSwgMjAxOSA5OjM3IEFNDQo+IFRvOiBkdHNAZHBkay5vcmcN Cj4gQ2M6IFdhbmcsIFlpbmFuIDx5aW5hbi53YW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogW2R0 c10gW1BBVENIIHYyXSB0ZXN0X3BsYW5zL2RwZGtfZ3JvX2xpYjogYWRkIHRlc3QgcGxhbiBmb3Ig ZHBkayBncm8NCj4gbGliIHRlc3QNCj4gDQo+IEZyb206IFdhbmcgWWluYW4gPHlpbmFuLndhbmdA aW50ZWwuY29tPg0KPiANCj4gLS0tDQo+ICB0ZXN0X3BsYW5zL2RwZGtfZ3JvX2xpYl90ZXN0X3Bs YW4ucnN0IHwgMzI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICAxIGZpbGUgY2hhbmdl ZCwgMzI0IGluc2VydGlvbnMoKykNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0X3BsYW5zL2Rw ZGtfZ3JvX2xpYl90ZXN0X3BsYW4ucnN0DQo+IA0KPiBkaWZmIC0tZ2l0IGEvdGVzdF9wbGFucy9k cGRrX2dyb19saWJfdGVzdF9wbGFuLnJzdA0KPiBiL3Rlc3RfcGxhbnMvZHBka19ncm9fbGliX3Rl c3RfcGxhbi5yc3QNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMC4uNGNh NzhlZg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL3Rlc3RfcGxhbnMvZHBka19ncm9fbGliX3Rl c3RfcGxhbi5yc3QNCj4gQEAgLTAsMCArMSwzMjQgQEANCj4gKy4uIENvcHlyaWdodCAoYykgPDIw MTk+LCBJbnRlbCBDb3Jwb3JhdGlvbg0KPiArICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gKw0K PiArICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg d2l0aCBvciB3aXRob3V0DQo+ICsgICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCj4gKyAgIGFyZSBtZXQ6DQo+ICsNCj4g KyAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92 ZSBjb3B5cmlnaHQNCj4gKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KPiArDQo+ICsgICAtIFJlZGlzdHJpYnV0aW9ucyBp biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQo+ICsgICAg IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh aW1lciBpbg0KPiArICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz IHByb3ZpZGVkIHdpdGggdGhlDQo+ICsgICAgIGRpc3RyaWJ1dGlvbi4NCj4gKw0KPiArICAgLSBO ZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRz DQo+ICsgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg cHJvZHVjdHMgZGVyaXZlZA0KPiArICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQo+ICsNCj4gKyAgIFRISVMgU09GVFdBUkUg SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORA0KPiBDT05UUklCVVRPUlMN Cj4gKyAgICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D TFVESU5HLCBCVVQgTk9UDQo+ICsgICBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQNCj4gRklUTkVTUw0KPiArICAgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUNCj4gKyAgIENP UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULA0K PiBJTkRJUkVDVCwNCj4gKyAgIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O U0VRVUVOVElBTCBEQU1BR0VTDQo+ICsgICAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMNCj4gT1INCj4gKyAgIFNFUlZJQ0VTOyBM T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQ0K PiArICAgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU SEVSIElODQo+IENPTlRSQUNULA0KPiArICAgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQ0KPiArICAgQVJJU0lORyBJTiBBTlkgV0FZ IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCj4gQURWSVNFRA0KPiAr ICAgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KPiArDQo+ICs9PT09PT09PT09 PT09PT09PT09PT09DQo+ICtEUERLIEdSTyBsaWIgdGVzdCBwbGFuDQo+ICs9PT09PT09PT09PT09 PT09PT09PT09DQo+ICsNCj4gK0dlbmVyaWMgUmVjZWl2ZSBPZmZsb2FkIChHUk8pIGlzIGEgd2lk ZWx5IHVzZWQgU1ctYmFzZWQgb2ZmbG9hZGluZw0KPiArdGVjaG5pcXVlIHRvIHJlZHVjZSBwZXIt cGFja2V0IHByb2Nlc3Npbmcgb3ZlcmhlYWRzLiBCeSByZWFzc2VtYmxpbmcNCj4gK3NtYWxsIHBh Y2tldHMgaW50byBsYXJnZXIgb25lcywgR1JPIGVuYWJsZXMgYXBwbGljYXRpb25zIHRvIHByb2Nl c3MNCj4gK2Zld2VyIGxhcmdlIHBhY2tldHMgZGlyZWN0bHksIHRodXMgcmVkdWNpbmcgdGhlIG51 bWJlciBvZiBwYWNrZXRzIHRvIGJlDQo+ICtwcm9jZXNzZWQuIFRvIGJlbmVmaXQgRFBESy1iYXNl ZCBhcHBsaWNhdGlvbnMsIGxpa2UgT3BlbiB2U3dpdGNoLCBEUERLDQo+ICthbHNvIHByb3ZpZGVz IG93biBHUk8gaW1wbGVtZW50YXRpb24uIEluIERQREssIEdSTyBpcyBpbXBsZW1lbnRlZCBhcyBh DQo+ICtzdGFuZGFsb25lIGxpYnJhcnkuIEFwcGxpY2F0aW9ucyBleHBsaWNpdGx5IHVzZSB0aGUg R1JPIGxpYnJhcnkgdG8NCj4gK3JlYXNzZW1ibGUgcGFja2V0cy4NCj4gKw0KPiArSW4gdGhlIEdS TyBsaWJyYXJ5LCB0aGVyZSBhcmUgbWFueSBHUk8gdHlwZXMgd2hpY2ggYXJlIGRlZmluZWQgYnkN Cj4gK3BhY2tldCB0eXBlcy4gT25lIEdSTyB0eXBlIGlzIGluIGNoYXJnZSBvZiBwcm9jZXNzIG9u ZSBraW5kIG9mIHBhY2tldHMuDQo+ICtGb3IgZXhhbXBsZSwgVENQL0lQdjQgR1JPIHByb2Nlc3Nl cyBUQ1AvSVB2NCBwYWNrZXRzLg0KPiArDQo+ICtFYWNoIEdSTyB0eXBlIGhhcyBhIHJlYXNzZW1i bHkgZnVuY3Rpb24sIHdoaWNoIGRlZmluZXMgb3duIGFsZ29yaXRobQ0KPiArYW5kIHRhYmxlIHN0 cnVjdHVyZSB0byByZWFzc2VtYmxlIHBhY2tldHMuIFdlIGFzc2lnbiBpbnB1dCBwYWNrZXRzIHRv DQo+ICt0aGUgY29ycmVzcG9uZGluZyBHUk8gZnVuY3Rpb25zIGJ5IE1CVUYtPnBhY2tldF90eXBl Lg0KPiArDQo+ICtUaGUgR1JPIGxpYnJhcnkgZG9lc24ndCBjaGVjayBpZiBpbnB1dCBwYWNrZXRz IGhhdmUgY29ycmVjdCBjaGVja3N1bXMNCj4gK2FuZCBkb2Vzbid0IHJlLWNhbGN1bGF0ZSBjaGVj a3N1bXMgZm9yIG1lcmdlZCBwYWNrZXRzLiBUaGUgR1JPIGxpYnJhcnkNCj4gK2Fzc3VtZXMgdGhl IHBhY2tldHMgYXJlIGNvbXBsZXRlIChpLmUuLCBNRj09MCAmJiBmcmFnX29mZj09MCksIHdoZW4g SVANCj4gK2ZyYWdtZW50YXRpb24gaXMgcG9zc2libGUgKGkuZS4sIERGPT0wKS4gQWRkaXRpb25h bGx5LCBpdCBjb21wbGllcyBSRkMNCj4gKzY4NjQgdG8gcHJvY2VzcyB0aGUgSVB2NCBJRCBmaWVs ZC4NCj4gKw0KPiArQ3VycmVudGx5LCB0aGUgR1JPIGxpYnJhcnkgcHJvdmlkZXMgR1JPIHN1cHBv cnRzIGZvciBUQ1AvSVB2NCBwYWNrZXRzDQo+ICthbmQgVnhMQU4gcGFja2V0cyB3aGljaCBjb250 YWluIGFuIG91dGVyIElQdjQgaGVhZGVyIGFuZCBhbiBpbm5lcg0KPiArVENQL0lQdjQgcGFja2V0 Lg0KPiArDQo+ICtUaGlzIHRlc3QgcGxhbiBpbmNsdWRlcyBkcGRrIGdybyBsaWIgdGVzdCB3aXRo IFRDUC9JUHY0IHRyYWZmaWMgYW5kDQo+ICtWeExBTiB0cmFmZmljLCBhbHNvIGNvdmVyIGxpZ2h0 bW9kZSBhbmQgaGVhdnltb2RlIHRlc3QuDQo+ICsNCj4gK1ByZXJlcXVpc2l0ZXMNCj4gKz09PT09 PT09PT09PT0NCj4gKw0KPiArTW9kaWZ5IHRoZSB0ZXN0cG1kIGNvZGUgYXMgZm9sbG93aW5nOjoN Cj4gKw0KPiArICAgIC0tLSBhL2FwcC90ZXN0LXBtZC9jc3Vtb25seS5jDQo+ICsgICAgKysrIGIv YXBwL3Rlc3QtcG1kL2NzdW1vbmx5LmMNCj4gKyAgICBAQCAtNjkzLDEwICs2OTMsMTIgQEAgcGt0 X2J1cnN0X2NoZWNrc3VtX2ZvcndhcmQoc3RydWN0DQo+IGZ3ZF9zdHJlYW0gKmZzKQ0KPiArICAg IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogYW5kIGlubmVyIGhlYWRlcnMgKi8N Cj4gKw0KPiArICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBldGhfaGRyID0gcnRl X3BrdG1idWZfbXRvZChtLCBzdHJ1Y3QgZXRoZXJfaGRyICopOw0KPiArICAgICsjaWYgMA0KPiAr ICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBldGhlcl9hZGRyX2NvcHkoJnBlZXJf ZXRoX2FkZHJzW2ZzLT5wZWVyX2FkZHJdLA0KPiArICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZldGhfaGRyLT5kX2FkZHIp Ow0KPiArICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBldGhlcl9hZGRyX2NvcHko JnBvcnRzW2ZzLT50eF9wb3J0XS5ldGhfYWRkciwNCj4gKyAgICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmZXRoX2hkci0+c19h ZGRyKTsNCj4gKyAgICArI2VuZGlmDQo+ICsgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHBhcnNlX2V0aGVybmV0KGV0aF9oZHIsICZpbmZvKTsNCj4gKyAgICDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbDNfaGRyID0gKGNoYXIgKilldGhfaGRyICsgaW5mby5sMl9sZW47 DQo+ICsNCj4gK1Rlc3QgZmxvdw0KPiArPT09PT09PT09DQo+ICsNCj4gK05JQzIoSW4ga2VybmVs KSAtPiBOSUMxKERQREspIC0+IHRlc3RwbWQoY3N1bSBmd2QpIC0+IFZob3N0IC0+DQo+ICtWaXJ0 aW8tbmV0DQo+ICsNCj4gK1Rlc3QgQ2FzZTE6IERQREsgR1JPIGxpZ2h0bW9kZSB0ZXN0IHdpdGgg dGNwL2lwdjQgdHJhZmZpYw0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQo+ICsNCj4gKzEuIENvbm5lY3QgdHdvIG5pYyBwb3J0IGRp cmVjdGx5LCBwdXQgbmljMiBpbnRvIGFub3RoZXIgbmFtZXNhcGNlIGFuZCB0dXJuDQo+IG9uIHRo ZSB0c28gb2YgdGhpcyBuaWMgcG9ydCBieSBiZWxvdyBjbWRzOjoNCj4gKw0KPiArICAgIGlwIG5l dG5zIGRlbCBuczENCj4gKyAgICBpcCBuZXRucyBhZGQgbnMxDQo+ICsgICAgaXAgbGluayBzZXQg W2VucDIxNnMwZjBdIG5ldG5zIG5zMSAgICAgICAjIFtlbnAyMTZzMGYwXSBpcyB0aGUgbmFtZSBv ZiBuaWMyDQo+ICsgICAgaXAgbmV0bnMgZXhlYyBuczEgaWZjb25maWcgW2VucDIxNnMwZjBdIDEu MS4xLjggdXANCj4gKyAgICBpcCBuZXRucyBleGVjIG5zMSBldGh0b29sIC1LIFtlbnAyMTZzMGYw XSB0c28gb24NCj4gKw0KPiArMi4gQmluZCBuaWMxIHRvIGlnYl91aW8sIGxhdW5jaCB2aG9zdC11 c2VyIHdpdGggdGVzdHBtZCBhbmQgc2V0IGZsdXNoDQo+IGludGVydmFsIHRvIDE6Og0KPiArDQo+ ICsgICAgLi9kcGRrLWRldmJpbmQucHkgLWIgaWdiX3VpbyB4eDp4eC54DQo+ICsgICAgLi90ZXN0 cG1kIC1sIDItNCAtbiA0IC0tc29ja2V0LW1lbSAxMDI0LDEwMjQgwqAtLWxlZ2FjeS1tZW0gXA0K PiArICAgIC0tZmlsZS1wcmVmaXg9dmhvc3QgLS12ZGV2ICduZXRfdmhvc3QwLGlmYWNlPXZob3N0 LW5ldCxxdWV1ZXM9MSxjbGllbnQ9MCcgLQ0KPiAtIC1pIC0tdHhkPTEwMjQgLS1yeGQ9MTAyNA0K PiArICAgIHRlc3RwbWQ+c2V0IGZ3ZCBjc3VtDQo+ICsgICAgdGVzdHBtZD5zdG9wDQo+ICsgICAg dGVzdHBtZD5wb3J0IHN0b3AgMA0KPiArICAgIHRlc3RwbWQ+cG9ydCBzdG9wIDENCj4gKyAgICB0 ZXN0cG1kPmNzdW0gc2V0IHRjcCBodyAwDQo+ICsgICAgdGVzdHBtZD5jc3VtIHNldCBpcCBodyAw DQo+ICsgICAgdGVzdHBtZD5jc3VtIHNldCB0Y3AgaHcgMQ0KPiArICAgIHRlc3RwbWQ+Y3N1bSBz ZXQgaXAgaHcgMQ0KPiArICAgIHRlc3RwbWQ+c2V0IHBvcnQgMCBncm8gb24NCj4gKyAgICB0ZXN0 cG1kPnNldCBncm8gZmx1c2ggMQ0KPiArICAgIHRlc3RwbWQ+cG9ydCBzdGFydCAwDQo+ICsgICAg dGVzdHBtZD5wb3J0IHN0YXJ0IDENCj4gKyAgICB0ZXN0cG1kPnN0YXJ0DQo+ICsNCj4gKzMuICBT ZXQgdXAgdm0gd2l0aCB2aXJ0byBkZXZpY2UgYW5kIHVzaW5nIGtlcm5lbCB2aXJ0aW8tbmV0IGRy aXZlcjo6DQo+ICsNCj4gKyAgICB0YXNrc2V0IC1jIDEzIFwNCj4gKyAgICBxZW11LXN5c3RlbS14 ODZfNjQgLW5hbWUgdXMtdmhvc3Qtdm0xIFwNCj4gKyAgICAgICAtY3B1IGhvc3QgLWVuYWJsZS1r dm0gLW0gMjA0OCAtb2JqZWN0IG1lbW9yeS1iYWNrZW5kLQ0KPiBmaWxlLGlkPW1lbSxzaXplPTIw NDhNLG1lbS1wYXRoPS9tbnQvaHVnZSxzaGFyZT1vbiBcDQo+ICsgICAgICAgLW51bWEgbm9kZSxt ZW1kZXY9bWVtIFwNCj4gKyAgICAgICAtbWVtLXByZWFsbG9jIC1tb25pdG9yIHVuaXg6L3RtcC92 bTJfbW9uaXRvci5zb2NrLHNlcnZlcixub3dhaXQgLQ0KPiBuZXQgbmljLHZsYW49MixtYWNhZGRy PTAwOjAwOjAwOjA4OmU4OmFhLGFkZHI9MWYgLW5ldA0KPiB1c2VyLHZsYW49Mixob3N0ZndkPXRj cDoxMjcuMC4wLjE6NjAwMS06MjIgXA0KPiArICAgICAgIC1zbXAgY29yZXM9MSxzb2NrZXRzPTEg LWRyaXZlIGZpbGU9L2hvbWUvb3NpbWcvdWJ1bnR1MTYuaW1nICBcDQo+ICsgICAgICAgLWNoYXJk ZXYgc29ja2V0LGlkPWNoYXIwLHBhdGg9Li92aG9zdC1uZXQgXA0KPiArICAgICAgIC1uZXRkZXYg dHlwZT12aG9zdC11c2VyLGlkPW15bmV0MSxjaGFyZGV2PWNoYXIwLHZob3N0Zm9yY2UgXA0KPiAr ICAgICAgIC1kZXZpY2UgdmlydGlvLW5ldC0NCj4gcGNpLG1hYz01Mjo1NDowMDowMDowMDowMSxu ZXRkZXY9bXluZXQxLG1yZ19yeGJ1Zj1vbixjc3VtPW9uLGdzbz1vbixoDQo+IG9zdF90c280PW9u LGd1ZXN0X3RzbzQ9b24gXA0KPiArICAgICAgIC12bmMgOjEwIC1kYWVtb25pemUNCj4gKw0KPiAr NC4gSW4gdm0sIGNvbmZpZyB0aGUgdmlydGlvLW5ldCBkZXZpY2Ugd2l0aCBpcCBhbmQgdHVybiB0 aGUga2VybmVsIGdybyBvZmY6Og0KPiArDQo+ICsgICAgaWZjb25maWcgW2VuczNdIDEuMS4xLjIg dXAgICMgW2VuczNdIGlzIHRoZSBuYW1lIG9mIHZpcnRpby1uZXQNCj4gKyAgICBldGh0b29sIC1L IFtlbnMzXSBncm8gb2ZmDQo+ICsNCj4gKzUuIFN0YXJ0IGlwZXJmIHRlc3QsIHJ1biBpcGVyZiBz ZXJ2ZXIgYXQgdm0gc2lkZSBhbmQgaXBlcmYgY2xpZW50IGF0IGhvc3Qgc2lkZSwNCj4gY2hlY2sg dGhyb3VnaHB1dCBpbiBsb2c6Og0KPiArDQo+ICsgICAgSG9zdCBzaWRlIDogIGlwIG5ldG5zIGV4 ZWMgbnMxIGlwZXJmIC1jIDEuMS4xLjIgLWkgMSAtdCA2MCAtbSAtUCAxDQo+ICsgICAgVk0gc2lk ZTogICAgIGlwZXJmIC1zDQo+ICsNCj4gK1Rlc3QgQ2FzZTI6IERQREsgR1JPIGhlYXZ5bW9kZSB0 ZXN0IHdpdGggdGNwL2lwdjQgdHJhZmZpYw0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsNCj4gKzEuIENvbm5lY3QgdHdvIG5p YyBwb3J0IGRpcmVjdGx5LCBwdXQgbmljMiBpbnRvIGFub3RoZXIgbmFtZXNhcGNlIGFuZCB0dXJu DQo+IG9uIHRoZSB0c28gb2YgdGhpcyBuaWMgcG9ydCBieSBiZWxvdyBjbWRzOjoNCj4gKw0KPiAr ICAgIGlwIG5ldG5zIGRlbCBuczENCj4gKyAgICBpcCBuZXRucyBhZGQgbnMxDQo+ICsgICAgaXAg bGluayBzZXQgW2VucDIxNnMwZjBdIG5ldG5zIG5zMSAgICAgICAjIFtlbnAyMTZzMGYwXSBpcyB0 aGUgbmFtZSBvZiBuaWMyDQo+ICsgICAgaXAgbmV0bnMgZXhlYyBuczEgaWZjb25maWcgW2VucDIx NnMwZjBdIDEuMS4xLjggdXANCj4gKyAgICBpcCBuZXRucyBleGVjIG5zMSBldGh0b29sIC1LIFtl bnAyMTZzMGYwXSB0c28gb24NCj4gKw0KPiArMi4gQmluZCBuaWMxIHRvIGlnYl91aW8sIGxhdW5j aCB2aG9zdC11c2VyIHdpdGggdGVzdHBtZCBhbmQgc2V0IGZsdXNoDQo+IGludGVydmFsIHRvIDI6 Og0KPiArDQo+ICsgICAgLi9kcGRrLWRldmJpbmQucHkgLWIgaWdiX3VpbyB4eDp4eC54DQo+ICsg ICAgLi90ZXN0cG1kIC1sIDItNCAtbiA0IC0tc29ja2V0LW1lbSAxMDI0LDEwMjQgwqAtLWxlZ2Fj eS1tZW0gXA0KPiArICAgIC0tZmlsZS1wcmVmaXg9dmhvc3QgLS12ZGV2ICduZXRfdmhvc3QwLGlm YWNlPXZob3N0LW5ldCxxdWV1ZXM9MSxjbGllbnQ9MCcgLQ0KPiAtIC1pIC0tdHhkPTEwMjQgLS1y eGQ9MTAyNA0KPiArICAgIHRlc3RwbWQ+c2V0IGZ3ZCBjc3VtDQo+ICsgICAgdGVzdHBtZD5zdG9w DQo+ICsgICAgdGVzdHBtZD5wb3J0IHN0b3AgMA0KPiArICAgIHRlc3RwbWQ+cG9ydCBzdG9wIDEN Cj4gKyAgICB0ZXN0cG1kPmNzdW0gc2V0IHRjcCBodyAwDQo+ICsgICAgdGVzdHBtZD5jc3VtIHNl dCBpcCBodyAwDQo+ICsgICAgdGVzdHBtZD5jc3VtIHNldCB0Y3AgaHcgMQ0KPiArICAgIHRlc3Rw bWQ+Y3N1bSBzZXQgaXAgaHcgMQ0KPiArICAgIHRlc3RwbWQ+c2V0IHBvcnQgMCBncm8gb24NCj4g KyAgICB0ZXN0cG1kPnNldCBncm8gZmx1c2ggMg0KPiArICAgIHRlc3RwbWQ+cG9ydCBzdGFydCAw DQo+ICsgICAgdGVzdHBtZD5wb3J0IHN0YXJ0IDENCj4gKyAgICB0ZXN0cG1kPnN0YXJ0DQo+ICsN Cj4gKzMuICBTZXQgdXAgdm0gd2l0aCB2aXJ0byBkZXZpY2UgYW5kIHVzaW5nIGtlcm5lbCB2aXJ0 aW8tbmV0IGRyaXZlcjo6DQo+ICsNCj4gKyAgICB0YXNrc2V0IC1jIDEzIFwNCj4gKyAgICBxZW11 LXN5c3RlbS14ODZfNjQgLW5hbWUgdXMtdmhvc3Qtdm0xIFwNCj4gKyAgICAgICAtY3B1IGhvc3Qg LWVuYWJsZS1rdm0gLW0gMjA0OCAtb2JqZWN0IG1lbW9yeS1iYWNrZW5kLQ0KPiBmaWxlLGlkPW1l bSxzaXplPTIwNDhNLG1lbS1wYXRoPS9tbnQvaHVnZSxzaGFyZT1vbiBcDQo+ICsgICAgICAgLW51 bWEgbm9kZSxtZW1kZXY9bWVtIFwNCj4gKyAgICAgICAtbWVtLXByZWFsbG9jIC1tb25pdG9yIHVu aXg6L3RtcC92bTJfbW9uaXRvci5zb2NrLHNlcnZlcixub3dhaXQgLQ0KPiBuZXQgbmljLHZsYW49 MixtYWNhZGRyPTAwOjAwOjAwOjA4OmU4OmFhLGFkZHI9MWYgLW5ldA0KPiB1c2VyLHZsYW49Mixo b3N0ZndkPXRjcDoxMjcuMC4wLjE6NjAwMS06MjIgXA0KPiArICAgICAgIC1zbXAgY29yZXM9MSxz b2NrZXRzPTEgLWRyaXZlIGZpbGU9L2hvbWUvb3NpbWcvdWJ1bnR1MTYuaW1nICBcDQo+ICsgICAg ICAgLWNoYXJkZXYgc29ja2V0LGlkPWNoYXIwLHBhdGg9Li92aG9zdC1uZXQgXA0KPiArICAgICAg IC1uZXRkZXYgdHlwZT12aG9zdC11c2VyLGlkPW15bmV0MSxjaGFyZGV2PWNoYXIwLHZob3N0Zm9y Y2UgXA0KPiArICAgICAgIC1kZXZpY2UgdmlydGlvLW5ldC0NCj4gcGNpLG1hYz01Mjo1NDowMDow MDowMDowMSxuZXRkZXY9bXluZXQxLG1yZ19yeGJ1Zj1vbixjc3VtPW9uLGdzbz1vbixoDQo+IG9z dF90c280PW9uLGd1ZXN0X3RzbzQ9b24gXA0KPiArICAgICAgIC12bmMgOjEwIC1kYWVtb25pemUN Cj4gKw0KPiArNC4gSW4gdm0sIGNvbmZpZyB0aGUgdmlydGlvLW5ldCBkZXZpY2Ugd2l0aCBpcCBh bmQgdHVybiB0aGUga2VybmVsIGdybyBvZmY6Og0KPiArDQo+ICsgICAgaWZjb25maWcgW2VuczNd IDEuMS4xLjIgdXAgICMgW2VuczNdIGlzIHRoZSBuYW1lIG9mIHZpcnRpby1uZXQNCj4gKyAgICBl dGh0b29sIC1LIFtlbnMzXSBncm8gb2ZmDQo+ICsNCj4gKzUuIFN0YXJ0IGlwZXJmIHRlc3QsIHJ1 biBpcGVyZiBzZXJ2ZXIgYXQgdm0gc2lkZSBhbmQgaXBlcmYgY2xpZW50IGF0IGhvc3Qgc2lkZSwN Cj4gY2hlY2sgdGhyb3VnaHB1dCBpbiBsb2c6Og0KPiArDQo+ICsgICAgSG9zdCBzaWRlIDogIGlw IG5ldG5zIGV4ZWMgbnMxIGlwZXJmIC1jIDEuMS4xLjIgLWkgMSAtdCA2MCAtbSAtUCAxDQo+ICsg ICAgVk0gc2lkZTogICAgIGlwZXJmIC1zDQo+ICsNCj4gK1Rlc3QgQ2FzZTM6IERQREsgR1JPIGhl YXZ5bW9kZV9mbHVzaDQgdGVzdCB3aXRoIHRjcC9pcHY0IHRyYWZmaWMNCj4gKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA9 DQo+ICsNCj4gKzEuIENvbm5lY3QgdHdvIG5pYyBwb3J0IGRpcmVjdGx5LCBwdXQgbmljMiBpbnRv IGFub3RoZXIgbmFtZXNhcGNlIGFuZCB0dXJuDQo+IG9uIHRoZSB0c28gb2YgdGhpcyBuaWMgcG9y dCBieSBiZWxvdyBjbWRzOjoNCj4gKw0KPiArICAgIGlwIG5ldG5zIGRlbCBuczENCj4gKyAgICBp cCBuZXRucyBhZGQgbnMxDQo+ICsgICAgaXAgbGluayBzZXQgW2VucDIxNnMwZjBdIG5ldG5zIG5z MSAgICAgICAjIFtlbnAyMTZzMGYwXSBpcyB0aGUgbmFtZSBvZiBuaWMyDQo+ICsgICAgaXAgbmV0 bnMgZXhlYyBuczEgaWZjb25maWcgW2VucDIxNnMwZjBdIDEuMS4xLjggdXANCj4gKyAgICBpcCBu ZXRucyBleGVjIG5zMSBldGh0b29sIC1LIFtlbnAyMTZzMGYwXSB0c28gb24NCj4gKw0KPiArMi4g QmluZCBuaWMxIHRvIGlnYl91aW8sIGxhdW5jaCB2aG9zdC11c2VyIHdpdGggdGVzdHBtZCBhbmQg c2V0IGZsdXNoDQo+IGludGVydmFsIHRvIDQ6Og0KPiArDQo+ICsgICAgLi9kcGRrLWRldmJpbmQu cHkgLWIgaWdiX3VpbyB4eDp4eC54DQo+ICsgICAgLi90ZXN0cG1kIC1sIDItNCAtbiA0IC0tc29j a2V0LW1lbSAxMDI0LDEwMjQgwqAtLWxlZ2FjeS1tZW0gXA0KPiArICAgIC0tZmlsZS1wcmVmaXg9 dmhvc3QgLS12ZGV2ICduZXRfdmhvc3QwLGlmYWNlPXZob3N0LW5ldCxxdWV1ZXM9MSxjbGllbnQ9 MCcgLQ0KPiAtIC1pIC0tdHhkPTEwMjQgLS1yeGQ9MTAyNA0KPiArICAgIHRlc3RwbWQ+c2V0IGZ3 ZCBjc3VtDQo+ICsgICAgdGVzdHBtZD5zdG9wDQo+ICsgICAgdGVzdHBtZD5wb3J0IHN0b3AgMA0K PiArICAgIHRlc3RwbWQ+cG9ydCBzdG9wIDENCj4gKyAgICB0ZXN0cG1kPmNzdW0gc2V0IHRjcCBo dyAwDQo+ICsgICAgdGVzdHBtZD5jc3VtIHNldCBpcCBodyAwDQo+ICsgICAgdGVzdHBtZD5jc3Vt IHNldCB0Y3AgaHcgMQ0KPiArICAgIHRlc3RwbWQ+Y3N1bSBzZXQgaXAgaHcgMQ0KPiArICAgIHRl c3RwbWQ+c2V0IHBvcnQgMCBncm8gb24NCj4gKyAgICB0ZXN0cG1kPnNldCBncm8gZmx1c2ggNA0K PiArICAgIHRlc3RwbWQ+cG9ydCBzdGFydCAwDQo+ICsgICAgdGVzdHBtZD5wb3J0IHN0YXJ0IDEN Cj4gKyAgICB0ZXN0cG1kPnN0YXJ0DQo+ICsNCj4gKzMuICBTZXQgdXAgdm0gd2l0aCB2aXJ0byBk ZXZpY2UgYW5kIHVzaW5nIGtlcm5lbCB2aXJ0aW8tbmV0IGRyaXZlcjo6DQo+ICsNCj4gKyAgICB0 YXNrc2V0IC1jIDEzIFwNCj4gKyAgICBxZW11LXN5c3RlbS14ODZfNjQgLW5hbWUgdXMtdmhvc3Qt dm0xIFwNCj4gKyAgICAgICAtY3B1IGhvc3QgLWVuYWJsZS1rdm0gLW0gMjA0OCAtb2JqZWN0IG1l bW9yeS1iYWNrZW5kLQ0KPiBmaWxlLGlkPW1lbSxzaXplPTIwNDhNLG1lbS1wYXRoPS9tbnQvaHVn ZSxzaGFyZT1vbiBcDQo+ICsgICAgICAgLW51bWEgbm9kZSxtZW1kZXY9bWVtIFwNCj4gKyAgICAg ICAtbWVtLXByZWFsbG9jIC1tb25pdG9yIHVuaXg6L3RtcC92bTJfbW9uaXRvci5zb2NrLHNlcnZl cixub3dhaXQgLQ0KPiBuZXQgbmljLHZsYW49MixtYWNhZGRyPTAwOjAwOjAwOjA4OmU4OmFhLGFk ZHI9MWYgLW5ldA0KPiB1c2VyLHZsYW49Mixob3N0ZndkPXRjcDoxMjcuMC4wLjE6NjAwMS06MjIg XA0KPiArICAgICAgIC1zbXAgY29yZXM9MSxzb2NrZXRzPTEgLWRyaXZlIGZpbGU9L2hvbWUvb3Np bWcvdWJ1bnR1MTYuaW1nICBcDQo+ICsgICAgICAgLWNoYXJkZXYgc29ja2V0LGlkPWNoYXIwLHBh dGg9Li92aG9zdC1uZXQgXA0KPiArICAgICAgIC1uZXRkZXYgdHlwZT12aG9zdC11c2VyLGlkPW15 bmV0MSxjaGFyZGV2PWNoYXIwLHZob3N0Zm9yY2UgXA0KPiArICAgICAgIC1kZXZpY2UgdmlydGlv LW5ldC0NCj4gcGNpLG1hYz01Mjo1NDowMDowMDowMDowMSxuZXRkZXY9bXluZXQxLG1yZ19yeGJ1 Zj1vbixjc3VtPW9uLGdzbz1vbixoDQo+IG9zdF90c280PW9uLGd1ZXN0X3RzbzQ9b24gXA0KPiAr ICAgICAgIC12bmMgOjEwIC1kYWVtb25pemUNCj4gKw0KPiArNC4gSW4gdm0sIGNvbmZpZyB0aGUg dmlydGlvLW5ldCBkZXZpY2Ugd2l0aCBpcCBhbmQgdHVybiB0aGUga2VybmVsIGdybyBvZmY6Og0K PiArDQo+ICsgICAgaWZjb25maWcgW2VuczNdIDEuMS4xLjIgdXAgICMgW2VuczNdIGlzIHRoZSBu YW1lIG9mIHZpcnRpby1uZXQNCj4gKyAgICBldGh0b29sIC1LIFtlbnMzXSBncm8gb2ZmDQo+ICsN Cj4gKzUuIFN0YXJ0IGlwZXJmIHRlc3QsIHJ1biBpcGVyZiBzZXJ2ZXIgYXQgdm0gc2lkZSBhbmQg aXBlcmYgY2xpZW50IGF0IGhvc3Qgc2lkZSwNCj4gY2hlY2sgdGhyb3VnaHB1dCBpbiBsb2c6Og0K PiArDQo+ICsgICAgSG9zdCBzaWRlIDogIGlwIG5ldG5zIGV4ZWMgbnMxIGlwZXJmIC1jIDEuMS4x LjIgLWkgMSAtdCA2MCAtbSAtUCAxDQo+ICsgICAgVk0gc2lkZTogICAgIGlwZXJmIC1zDQo+ICsN Cj4gK1Rlc3QgQ2FzZTQ6IERQREsgR1JPIHRlc3Qgd2l0aCB2eGxhbiB0cmFmZmljDQo+ICs9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICtWeGxhbiB0 b3BvbG9neQ0KPiArLS0tLS0tLS0tLS0tLS0NCj4gKyAgVk0gICAgICAgICAgSG9zdA0KPiArNTAu MS4xLjIgICAgICA1MC4xLjEuMQ0KPiArICAgfCAgICAgICAgICAgfA0KPiArMS4xLjIuMyAgICAg ICAxLjEuMi40DQo+ICsgICB8LS0tLS0tLS0tLS0tVGVzdHBtZC0tLS0tLS0tLS0tLXwNCj4gKw0K PiArMS4gQ29ubmVjdCB0d28gbmljIHBvcnQgZGlyZWN0bHksIHB1dCBuaWMyIGludG8gYW5vdGhl ciBuYW1lc2FwY2UgYW5kDQo+IGNyZWF0ZSBIb3N0IFZ4TEFOIHBvcnQ6Og0KPiArDQo+ICsgICAg aXAgbmV0bnMgZGVsIG5zMQ0KPiArICAgIGlwIG5ldG5zIGFkZCBuczENCj4gKyAgICBpcCBsaW5r IHNldCBbZW5wMjE2czBmMF0gbmV0bnMgbnMxICAgICMgW2VucDIxNnMwZjBdIGlzIHRoZSBuYW1l IG9mIG5pYzINCj4gKyAgICBpcCBuZXRucyBleGVjIG5zMSBpZmNvbmZpZyBbZW5wMjE2czBmMF0g MS4xLjIuNC8yNCB1cA0KPiArICAgIFZYTEFOX05BTUU9dnhsYW4xDQo+ICsgICAgVlhMQU5fSVA9 NTAuMS4xLjENCj4gKyAgICBJRl9OQU1FPVtlbnAyMTZzMGYwXQ0KPiArICAgIFZNX0lQPTEuMS4y LjMNCj4gKyAgICBpcCBuZXRucyBleGVjIHQyIGlwIGxpbmsgYWRkICRWWExBTl9OQU1FIHR5cGUg dnhsYW4gaWQgNDIgZGV2DQo+ICRJRl9OQU1FIGRzdHBvcnQgNDc4OQ0KPiArICAgIGlwIG5ldG5z IGV4ZWMgdDIgYnJpZGdlIGZkYiBhcHBlbmQgdG8gMDA6MDA6MDA6MDA6MDA6MDAgZHN0ICRWTV9J UCBkZXYNCj4gJFZYTEFOX05BTUUNCj4gKyAgICBpcCBuZXRucyBleGVjIHQyIGlwIGFkZHIgYWRk ICRWWExBTl9JUC8yNCBkZXYgJFZYTEFOX05BTUUNCj4gKyAgICBpcCBuZXRucyBleGVjIHQyIGlw IGxpbmsgc2V0IHVwIGRldiAkVlhMQU5fTkFNRQ0KPiArDQo+ICsyLiBCaW5kIG5pYzEgdG8gaWdi X3VpbywgbGF1bmNoIHZob3N0LXVzZXIgd2l0aCB0ZXN0cG1kIGFuZCBzZXQgZmx1c2gNCj4gaW50 ZXJ2YWwgdG8gNDo6DQo+ICsNCj4gKyAgICAuL2RwZGstZGV2YmluZC5weSAtYiBpZ2JfdWlvIHh4 Onh4LngNCj4gKyAgICAuL3Rlc3RwbWQgLWwgMi00IC1uIDQgLS1zb2NrZXQtbWVtIDEwMjQsMTAy NCDCoC0tbGVnYWN5LW1lbSBcDQo+ICsgICAgLS1maWxlLXByZWZpeD12aG9zdCAtLXZkZXYgJ25l dF92aG9zdDAsaWZhY2U9dmhvc3QtbmV0LHF1ZXVlcz0xLGNsaWVudD0wJyAtDQo+IC0gLWkgLS10 eGQ9MTAyNCAtLXJ4ZD0xMDI0DQo+ICsgICAgdGVzdHBtZD5zZXQgZndkIGNzdW0NCj4gKyAgICB0 ZXN0cG1kPnN0b3ANCj4gKyAgICB0ZXN0cG1kPnBvcnQgc3RvcCAwDQo+ICsgICAgdGVzdHBtZD5w b3J0IHN0b3AgMQ0KPiArICAgIHRlc3RwbWQ+Y3N1bSBzZXQgdGNwIGh3IDANCj4gKyAgICB0ZXN0 cG1kPmNzdW0gc2V0IGlwIGh3IDANCj4gKyAgICB0ZXN0cG1kPmNzdW0gcGFyc2UtdHVubmVsIG9u IDANCj4gKyAgICB0ZXN0cG1kPmNzdW0gcGFyc2UtdHVubmVsIG9uIDENCj4gKyAgICB0ZXN0cG1k PmNzdW0gc2V0IG91dGVyLWlwIGh3IDANCj4gKyAgICB0ZXN0cG1kPmNzdW0gc2V0IHRjcCBodyAx DQo+ICsgICAgdGVzdHBtZD5jc3VtIHNldCBpcCBodyAxDQo+ICsgICAgdGVzdHBtZD5zZXQgcG9y dCAwIGdybyBvbg0KPiArICAgIHRlc3RwbWQ+c2V0IGdybyBmbHVzaCA0DQo+ICsgICAgdGVzdHBt ZD5wb3J0IHN0YXJ0IDANCj4gKyAgICB0ZXN0cG1kPnBvcnQgc3RhcnQgMQ0KPiArICAgIHRlc3Rw bWQ+c3RhcnQNCj4gKw0KPiArMy4gIFNldCB1cCB2bSB3aXRoIHZpcnRvIGRldmljZSBhbmQgdXNp bmcga2VybmVsIHZpcnRpby1uZXQgZHJpdmVyOjoNCj4gKw0KPiArICAgIHRhc2tzZXQgLWMgMTMg XA0KPiArICAgIHFlbXUtc3lzdGVtLXg4Nl82NCAtbmFtZSB1cy12aG9zdC12bTEgXA0KPiArICAg ICAgIC1jcHUgaG9zdCAtZW5hYmxlLWt2bSAtbSAyMDQ4IC1vYmplY3QgbWVtb3J5LWJhY2tlbmQt DQo+IGZpbGUsaWQ9bWVtLHNpemU9MjA0OE0sbWVtLXBhdGg9L21udC9odWdlLHNoYXJlPW9uIFwN Cj4gKyAgICAgICAtbnVtYSBub2RlLG1lbWRldj1tZW0gXA0KPiArICAgICAgIC1tZW0tcHJlYWxs b2MgLW1vbml0b3IgdW5peDovdG1wL3ZtMl9tb25pdG9yLnNvY2ssc2VydmVyLG5vd2FpdCAtDQo+ IG5ldCBuaWMsdmxhbj0yLG1hY2FkZHI9MDA6MDA6MDA6MDg6ZTg6YWEsYWRkcj0xZiAtbmV0DQo+ IHVzZXIsdmxhbj0yLGhvc3Rmd2Q9dGNwOjEyNy4wLjAuMTo2MDAxLToyMiBcDQo+ICsgICAgICAg LXNtcCBjb3Jlcz0xLHNvY2tldHM9MSAtZHJpdmUgZmlsZT0vaG9tZS9vc2ltZy91YnVudHUxNi5p bWcgIFwNCj4gKyAgICAgICAtY2hhcmRldiBzb2NrZXQsaWQ9Y2hhcjAscGF0aD0uL3Zob3N0LW5l dCBcDQo+ICsgICAgICAgLW5ldGRldiB0eXBlPXZob3N0LXVzZXIsaWQ9bXluZXQxLGNoYXJkZXY9 Y2hhcjAsdmhvc3Rmb3JjZSBcDQo+ICsgICAgICAgLWRldmljZSB2aXJ0aW8tbmV0LQ0KPiBwY2ks bWFjPTUyOjU0OjAwOjAwOjAwOjAxLG5ldGRldj1teW5ldDEsbXJnX3J4YnVmPW9uLGNzdW09b24s Z3NvPW9uLGgNCj4gb3N0X3RzbzQ9b24sZ3Vlc3RfdHNvND1vbiBcDQo+ICsgICAgICAgLXZuYyA6 MTAgLWRhZW1vbml6ZQ0KPiArDQo+ICs0LiBJbiB2bSwgY29uZmlnIHRoZSB2aXJ0aW8tbmV0IGRl dmljZSB3aXRoIGlwIGFuZCB0dXJuIHRoZSBrZXJuZWwgZ3JvIG9mZjo6DQo+ICsNCj4gKyAgICBp cCBsaW5rIGFkZCB2eGxhbjAgdHlwZSB2eGxhbiBpZCA0MiBkZXYgW2VuczNdIGRzdHBvcnQgNDc4 OSAgICMgW2VuczNdIGlzDQo+IHRoZSBuYW1lIG9mIHZpcnRpby1uZXQNCj4gKyAgICBicmlkZ2Ug ZmRiIGFkZCB0byAwMDowMDowMDowMDowMDowMCBkc3QgMS4xLjIuNCBkZXYgdnhsYW4wDQo+ICsg ICAgaXAgYWRkciBhZGQgNTAuMS4xLjIvMjQgZGV2IHZ4bGFuMA0KPiArICAgIGlwIGxpbmsgc2V0 IHVwIGRldiB2eGxhbjANCj4gKyAgICBpZmNvbmZpZyBbZW5zM10gMS4xLjIuMy8yNCB1cA0KPiAr ICAgIGlmY29uZmlnIC1hDQo+ICsNCj4gKzUuIFN0YXJ0IGlwZXJmIHRlc3QsIHJ1biBpcGVyZiBz ZXJ2ZXIgYXQgdm0gc2lkZSBhbmQgaXBlcmYgY2xpZW50IGF0IGhvc3Qgc2lkZSwNCj4gY2hlY2sg dGhyb3VnaHB1dCBpbiBsb2c6Og0KPiArDQo+ICsgICAgSG9zdCBzaWRlIDogIGlwIG5ldG5zIGV4 ZWMgdDIgaXBlcmYgLWMgNTAuMS4xLjIgLWkgMiAtdCA2MCAtZiBnIC1tDQo+ICsgICAgVk0gc2lk ZTogICAgIGlwZXJmIC1zIC1mIGcNCj4gLS0NCj4gMi4xNy4xDQoNCg==