From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 945C01BBE for ; Wed, 8 Mar 2017 02:59:11 +0100 (CET) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Mar 2017 17:59:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,261,1486454400"; d="scan'208";a="1119772820" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2017 17:59:09 -0800 Received: from fmsmsx124.amr.corp.intel.com (10.18.125.39) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 7 Mar 2017 17:59:09 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx124.amr.corp.intel.com (10.18.125.39) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 7 Mar 2017 17:59:09 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.88]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0248.002; Wed, 8 Mar 2017 09:59:07 +0800 From: "Chen, Zhaoyan" To: "Liu, Yong" , "dts@dpdk.org" Thread-Topic: [dts] [PATCH] Add Cryptodev Unit Test Cases Thread-Index: AQHSl67dv1V3IwNctUyQAuZPjv6Px6GKL2+g Date: Wed, 8 Mar 2017 01:59:06 +0000 Message-ID: <9DEEADBC57E43F4DA73B571777FECECA3C82CFAB@shsmsx102.ccr.corp.intel.com> References: <20170308002204.12188-1-zhaoyan.chen@intel.com> <86228AFD5BCD8E4EBFD2B90117B5E81E62D74EA3@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <86228AFD5BCD8E4EBFD2B90117B5E81E62D74EA3@SHSMSX103.ccr.corp.intel.com> Accept-Language: zh-CN, 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 Subject: Re: [dts] [PATCH] Add Cryptodev Unit Test Cases 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: , X-List-Received-Date: Wed, 08 Mar 2017 01:59:12 -0000 VGhhbmtzIGZvciByZXZpZXcuIFlvbmcuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogTGl1LCBZb25nDQo+IFNlbnQ6IFdlZG5lc2RheSwgTWFyY2ggOCwgMjAxNyA5OjU0 IEFNDQo+IFRvOiBDaGVuLCBaaGFveWFuIDx6aGFveWFuLmNoZW5AaW50ZWwuY29tPjsgZHRzQGRw ZGsub3JnDQo+IENjOiBDaGVuLCBaaGFveWFuIDx6aGFveWFuLmNoZW5AaW50ZWwuY29tPg0KPiBT dWJqZWN0OiBSRTogW2R0c10gW1BBVENIXSBBZGQgQ3J5cHRvZGV2IFVuaXQgVGVzdCBDYXNlcw0K PiANCj4gWmhhb3lhbiwNCj4gRmV3IGNvbW1lbnRzIGJlbG93Lg0KPiANCj4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGR0cyBbbWFpbHRvOmR0cy1ib3VuY2VzQGRwZGsu b3JnXSBPbiBCZWhhbGYgT2YgQ2hlbiwgWmhhb3lhbg0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgTWFy Y2ggMDgsIDIwMTcgODoyMiBBTQ0KPiA+IFRvOiBkdHNAZHBkay5vcmcNCj4gPiBDYzogQ2hlbiwg Wmhhb3lhbiA8emhhb3lhbi5jaGVuQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBbZHRzXSBbUEFU Q0hdIEFkZCBDcnlwdG9kZXYgVW5pdCBUZXN0IENhc2VzDQo+ID4NCj4gPiAtLS0NCj4gPiAgdGVz dF9wbGFucy91bml0X3Rlc3RzX2NyeXB0b2Rldl90ZXN0X3BsYW4ucnN0IHwgIDg1ICsrKysrKysr KysrKysNCj4gPiAgdGVzdHMvVGVzdFN1aXRlX3VuaXRfdGVzdHNfY3J5cHRvZGV2LnB5ICAgICAg IHwgMTc0DQo+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgMiBmaWxlcyBjaGFu Z2VkLCAyNTkgaW5zZXJ0aW9ucygrKQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdF9wbGFu cy91bml0X3Rlc3RzX2NyeXB0b2Rldl90ZXN0X3BsYW4ucnN0DQo+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCB0ZXN0cy9UZXN0U3VpdGVfdW5pdF90ZXN0c19jcnlwdG9kZXYucHkNCj4gPg0KPiA+IGRp ZmYgLS1naXQgYS90ZXN0X3BsYW5zL3VuaXRfdGVzdHNfY3J5cHRvZGV2X3Rlc3RfcGxhbi5yc3QN Cj4gPiBiL3Rlc3RfcGxhbnMvdW5pdF90ZXN0c19jcnlwdG9kZXZfdGVzdF9wbGFuLnJzdA0KPiA+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uNTY1ZGVmMQ0KPiA+IC0t LSAvZGV2L251bGwNCj4gPiArKysgYi90ZXN0X3BsYW5zL3VuaXRfdGVzdHNfY3J5cHRvZGV2X3Rl c3RfcGxhbi5yc3QNCj4gPiBAQCAtMCwwICsxLDg1IEBADQo+ID4gKy4uIENvcHlyaWdodCAoYykg MjAxMCwyMDExIEludGVsIENvcnBvcmF0aW9uDQo+IA0KPiBQbGVhc2UgdXBkYXRlIGNvcHlyaWdo dCBlbmQgeWVhciB0byAyMDE3Lg0KPiANCj4gPiArICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4g PiArDQo+ID4gKyAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg Zm9ybXMsIHdpdGggb3Igd2l0aG91dA0KPiA+ICsgICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0 ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCj4gPiArICAgYXJlIG1l dDoNCj4gPiArDQo+ID4gKyAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4gPiArICAgICBub3RpY2UsIHRoaXMgbGlzdCBv ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQo+ID4gKw0KPiA+ICsg ICAtIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv dmUgY29weXJpZ2h0DQo+ID4gKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluDQo+ID4gKyAgICAgdGhlIGRvY3VtZW50YXRp b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQ0KPiA+ICsgICAgIGRp c3RyaWJ1dGlvbi4NCj4gPiArDQo+ID4gKyAgIC0gTmVpdGhlciB0aGUgbmFtZSBvZiBJbnRlbCBD b3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cw0KPiA+ICsgICAgIGNvbnRyaWJ1dG9ycyBt YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZA0KPiA+ICsg ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy bWlzc2lvbi4NCj4gPiArDQo+ID4gKyAgIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF IENPUFlSSUdIVCBIT0xERVJTIEFORA0KPiBDT05UUklCVVRPUlMNCj4gPiArICAgIkFTIElTIiBB TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVA0KPiBO T1QNCj4gPiArICAgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFkgQU5EDQo+IEZJVE5FU1MNCj4gPiArICAgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUNCj4gPiArICAgQ09QWVJJR0hU IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsDQo+IElORElS RUNULA0KPiA+ICsgICBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF TlRJQUwgREFNQUdFUw0KPiA+ICsgICAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUNCj4gR09PRFMgT1INCj4gPiArICAgU0VSVklDRVM7IExP U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KPiBJTlRFUlJVUFRJT04p DQo+ID4gKyAgIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg V0hFVEhFUiBJTg0KPiBDT05UUkFDVCwNCj4gPiArICAgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQ0KPiA+ICsgICBBUklTSU5HIElO IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KPiBBRFZJ U0VEDQo+ID4gKyAgIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCj4gPiArDQo+ ID4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPiAr VGVzdGluZyBvZiBDcnlwdG9kZXYgVW5pdCB0ZXN0cw0KPiA+ICs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4gKw0KPiA+ICsNCj4gPiArRGVzY3JpcHRp b24NCj4gPiArPT09PT09PT09PT0NCj4gPiArDQo+ID4gK1RoaXMgZG9jdW1lbnQgcHJvdmlkZXMg dGhlIHBsYW4gZm9yIHRlc3RpbmcgQ3J5cHRvZGV2IEFQSSB2aWENCj4gPiArQ3J5cHRvZGV2DQo+ ID4gdW5pdCB0ZXN0cy4NCj4gPiArVW5pdCB0ZXN0cyBpbmNsdWRlIHN1cHBvcnRlZCBIYXJkd2Fy ZSBhbmQgU29mdHdhcmUgUE1EKHBvbGxpbmcgbW9kZQ0KPiA+IGRldmljZSkgYW5kIHN1cHBvcnRl ZCBhbGdvcml0aG1zLg0KPiA+ICtDcnlwdG9kZXYgQVBJIHByb3ZpZGVzIGFiaWxpdHkgdG8gZG8g ZW5jcnlwdGlvbi9kZWNyeXB0aW9uIGJ5DQo+ID4gK2ludGVncmF0aW5nDQo+ID4gUUFUKEludGVs ICBRdWlja0Fzc2lzdA0KPiANCj4gUGxlYXNlIHVzZSBAIGZvciBjb3B5cmlnaHQuDQo+IA0KPiA+ ICtUZWNobm9sb2d5KSBpbnRvIERQREsuIFRoZSBRQVQgcHJvdmlkZXMgcG9sbCBtb2RlIGNyeXB0 byBkcml2ZXINCj4gPiArc3VwcG9ydA0KPiA+IGZvcg0KPiA+ICtJbnRlbCAgUXVpY2tBc3Npc3Qg QWRhcHRlciA4OTUwIGhhcmR3YXJlIGFjY2VsZXJhdG9yLg0KPiA+ICsNCj4gPiArVGhlIHRlc3Rp bmcgb2YgQ3J5dHBvZGV2IEFQSSBzaG91bGQgYmUgdGVzdGVkIHVuZGVyIGVpdGhlciBJbnRlbA0K PiA+IFF1aWNrQXNzaXN0IFRlY2hub2xvZ3kgREg4OTV4eEMgaGFyZHdhcmUNCj4gPiArYWNjZWxl cmF0b3Igb3IgQUVTLU5JIGxpYnJhcnkuDQo+ID4gKw0KPiA+ICtUaGlzIHRlc3Qgc3VpdGUgd2ls bCBydW4gYWxsIGNyeXB0b2RldiByZWxhdGVkIHVuaXQgdGVzdCBjYXNlcy4NCj4gPiBBbHRlcm5h dGl2ZWx5LCB5b3UgY291bGQgZXhlY3V0ZQ0KPiA+ICt0aGUgdW5pdCB0ZXN0cyBtYW51YWxseSBi eSBhcHAvdGVzdCBEUERLIGFwcGxpY2F0aW9uLg0KPiA+ICsNCj4gPiArVW5pdCBUZXN0IExpc3QN Cj4gPiArPT09PT09PT09PT09PT0NCj4gPiArDQo+ID4gKy0gY3J5cHRvZGV2X3FhdF9hdXRvdGVz dA0KPiA+ICstIGNyeXB0b2Rldl9xYXRfcGVyZnRlc3QNCj4gPiArLSBjcnlwdG9kZXZfYWVzbmlf bWJfcGVyZnRlc3QNCj4gPiArLSBjcnlwdG9kZXZfc3dfc25vdzNnX3BlcmZ0ZXN0DQo+ID4gKy0g Y3J5cHRvZGV2X3FhdF9zbm93M2dfcGVyZnRlc3QNCj4gPiArLSBjcnlwdG9kZXZfYWVzbmlfZ2Nt X3BlcmZ0ZXN0DQo+ID4gKy0gY3J5cHRvZGV2X29wZW5zc2xfcGVyZnRlc3QNCj4gPiArLSBjcnlw dG9kZXZfcWF0X2NvbnRpbnVhbF9wZXJmdGVzdA0KPiA+ICstIGNyeXB0b2Rldl9hZXNuaV9tYl9h dXRvdGVzdA0KPiA+ICstIGNyeXB0b2Rldl9vcGVuc3NsX2F1dG90ZXN0DQo+ID4gKy0gY3J5cHRv ZGV2X2Flc25pX2djbV9hdXRvdGVzdA0KPiA+ICstIGNyeXB0b2Rldl9udWxsX2F1dG90ZXN0DQo+ ID4gKy0gY3J5cHRvZGV2X3N3X3Nub3czZ19hdXRvdGVzdA0KPiA+ICstIGNyeXB0b2Rldl9zd19r YXN1bWlfYXV0b3Rlc3QNCj4gPiArLSBjcnlwdG9kZXZfc3dfenVjX2F1dG90ZXN0DQo+ID4gKw0K PiA+ICsNCj4gPiArVGVzdCBDYXNlIFNldHVwDQo+ID4gKz09PT09PT09PT09PT09PQ0KPiA+ICsN Cj4gPiArMS4gQnVpbGQgRFBESyBhbmQgYXBwL3Rlc3QgYXBwDQo+ID4gKzIuIEJpbmQgY3J5cHRv ZGV2IGRldmljZXMgdG8gaWdiX3VpbyBkcml2ZXIgMy4gTWFudWFsbHkgdmVyaWZ5IHRoZQ0KPiA+ ICthcHAvdGVzdCBieSB0aGlzIGNvbW1hbmQsIGFzIGV4YW1wbGUsIGluIHlvdXINCj4gPiBidWls ZCBmb2xkZXINCj4gPiArKiAuL2FwcC90ZXN0IC1jIDEgLW4gMQ0KPiA+ICsqIFJURT4+IGNyeXB0 b2Rldl9xYXRfYXV0b3Rlc3QNCj4gPiArDQo+ID4gK0FsbCBVbml0IFRlc3QgQ2FzZXMgYXJlIGxp c3RlZCBhYm92ZS4NCj4gPiArDQo+ID4gK0V4cGVjdGVkIGFsbCB0ZXN0cyBjb3VsZCBwYXNzIGlu IHRlc3RpbmcuDQo+ID4gKw0KPiA+IGRpZmYgLS1naXQgYS90ZXN0cy9UZXN0U3VpdGVfdW5pdF90 ZXN0c19jcnlwdG9kZXYucHkNCj4gPiBiL3Rlc3RzL1Rlc3RTdWl0ZV91bml0X3Rlc3RzX2NyeXB0 b2Rldi5weQ0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uMzU2 YzIyYw0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi90ZXN0cy9UZXN0U3VpdGVfdW5pdF90 ZXN0c19jcnlwdG9kZXYucHkNCj4gPiBAQCAtMCwwICsxLDE3NCBAQA0KPiA+ICsjIEJTRCBMSUNF TlNFDQo+ID4gKyMNCj4gPiArIyBDb3B5cmlnaHQoYykgMjAxMC0yMDE0IEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+ICsjIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ ID4gKyMNCj4gPiArIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5 IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCj4gPiArIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0 ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCj4gPiArIyBhcmUgbWV0 Og0KPiA+ICsjDQo+ID4gKyMgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0 IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQo+ID4gKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0 IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCj4gPiArIyAgICog UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj b3B5cmlnaHQNCj4gPiArIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluDQo+ID4gKyMgICAgIHRoZSBkb2N1bWVudGF0aW9u IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUNCj4gPiArIyAgICAgZGlz dHJpYnV0aW9uLg0KPiA+ICsjICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0 aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzDQo+ID4gKyMgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUg dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZA0KPiA+ICsjICAgICBm cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np b24uDQo+ID4gKyMNCj4gPiArIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ UklHSFQgSE9MREVSUyBBTkQNCj4gQ09OVFJJQlVUT1JTDQo+ID4gKyMgIkFTIElTIiBBTkQgQU5Z IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVA0KPiBOT1QgIw0K PiA+ICtMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSBBTkQNCj4gRklUTkVTUyBGT1INCj4gPiArIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFDQo+ID4gK0NPUFlSSUdIVCAjIE9XTkVSIE9S IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsDQo+IElORElSRUNULA0KPiA+ ICtJTkNJREVOVEFMLCAjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B R0VTDQo+ID4gKyhJTkNMVURJTkcsIEJVVCBOT1QgIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP RiBTVUJTVElUVVRFDQo+IEdPT0RTIE9SDQo+ID4gK1NFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgIyBE QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KPiBJTlRFUlJVUFRJT04pDQo+ID4gK0hPV0VW RVIgQ0FVU0VEIEFORCBPTiBBTlkgIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElODQo+ IENPTlRSQUNULA0KPiA+ICtTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUICMgKElOQ0xVRElORyBO RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkNCj4gPiArQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU SEUgVVNFICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KPiBBRFZJU0VEIE9GIFRIRSBQT1NT SUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCj4gPiArDQo+ID4gK2ltcG9ydCB1dGlscw0KPiA+ICtm cm9tIHRlc3RfY2FzZSBpbXBvcnQgVGVzdENhc2UNCj4gPiArDQo+ID4gKw0KPiA+ICtjbGFzcyBV bml0VGVzdHNDcnlwdG9kZXYoVGVzdENhc2UpOg0KPiA+ICsNCj4gPiArICAgIGRlZiBzZXRfdXBf YWxsKHNlbGYpOg0KPiA+ICsNCj4gPiArICAgICAgICBzZWxmLmNvcmVfY29uZmlnID0gIjFTLzJD LzFUIg0KPiA+ICsgICAgICAgIHNlbGYubnVtYmVyX29mX3BvcnRzID0gMQ0KPiA+ICsgICAgICAg IHNlbGYuZHV0X3BvcnRzID0gc2VsZi5kdXQuZ2V0X3BvcnRzKHNlbGYubmljKQ0KPiA+ICsgICAg ICAgIHNlbGYudmVyaWZ5KGxlbihzZWxmLmR1dF9wb3J0cykgPj0gc2VsZi5udW1iZXJfb2ZfcG9y dHMsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIk5vdCBlbm91Z2ggcG9ydHMgZm9yICIgKyBz ZWxmLm5pYykNCj4gPiArICAgICAgICBzZWxmLnBvcnRzX3NvY2tldCA9IHNlbGYuZHV0LmdldF9u dW1hX2lkKHNlbGYuZHV0X3BvcnRzWzBdKQ0KPiA+ICsNCj4gPiArICAgICAgICBzZWxmLmxvZ2dl ci5pbmZvKCJjb3JlIGNvbmZpZyA9ICIgKyBzZWxmLmNvcmVfY29uZmlnKQ0KPiA+ICsgICAgICAg IHNlbGYubG9nZ2VyLmluZm8oIm51bWJlciBvZiBwb3J0cyA9ICIgKyBzdHIoc2VsZi5udW1iZXJf b2ZfcG9ydHMpKQ0KPiA+ICsgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oImR1dCBwb3J0cyA9ICIg KyBzdHIoc2VsZi5kdXRfcG9ydHMpKQ0KPiA+ICsgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oInBv cnRzX3NvY2tldCA9ICIgKyBzdHIoc2VsZi5wb3J0c19zb2NrZXQpKQ0KPiA+ICsNCj4gPiArICAg ICAgICBzZWxmLmNvcmVfbWFzayA9IHV0aWxzLmNyZWF0ZV9tYXNrKHNlbGYuZHV0LmdldF9jb3Jl X2xpc3QoDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5jb3JlX2NvbmZpZywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzb2NrZXQ9c2VsZi5wb3J0c19zb2NrZXQpKQ0KPiA+ICsgICAgICAgIHNlbGYucG9ydF9t YXNrID0gdXRpbHMuY3JlYXRlX21hc2soW3NlbGYuZHV0X3BvcnRzWzBdXSkNCj4gPiArDQo+ID4g KyAgICAgICAgc2VsZi50eF9wb3J0ID0gc2VsZi50ZXN0ZXIuZ2V0X2xvY2FsX3BvcnQoc2VsZi5k dXRfcG9ydHNbMF0pDQo+ID4gKyAgICAgICAgc2VsZi5yeF9wb3J0ID0gc2VsZi50ZXN0ZXIuZ2V0 X2xvY2FsX3BvcnQoc2VsZi5kdXRfcG9ydHNbMF0pDQo+ID4gKw0KPiA+ICsgICAgICAgIHNlbGYu dHhfaW50ZXJmYWNlID0gc2VsZi50ZXN0ZXIuZ2V0X2ludGVyZmFjZShzZWxmLnR4X3BvcnQpDQo+ ID4gKyAgICAgICAgc2VsZi5yeF9pbnRlcmZhY2UgPSBzZWxmLnRlc3Rlci5nZXRfaW50ZXJmYWNl KHNlbGYucnhfcG9ydCkNCj4gPiArDQo+ID4gKyAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiY29y ZSBtYXNrID0gIiArIHNlbGYuY29yZV9tYXNrKQ0KPiA+ICsgICAgICAgIHNlbGYubG9nZ2VyLmlu Zm8oInBvcnQgbWFzayA9ICIgKyBzZWxmLnBvcnRfbWFzaykNCj4gPiArICAgICAgICBzZWxmLmxv Z2dlci5pbmZvKCJ0eCBpbnRlcmZhY2UgPSAiICsgc2VsZi50eF9pbnRlcmZhY2UpDQo+ID4gKyAg ICAgICAgc2VsZi5sb2dnZXIuaW5mbygicnggaW50ZXJmYWNlID0gIiArIHNlbGYucnhfaW50ZXJm YWNlKQ0KPiA+ICsNCj4gPiArICAgICAgICAjIFJlYnVpbGQgdGhlIGRwZGsgd2l0aCBjcnlwdG9k ZXYgcG1kcw0KPiA+IENPTkZJR19SVEVfTElCUlRFX1BNRF9aVUM9bg0KPiA+ICsgICAgICAgIHNl bGYuZHV0LnNlbmRfZXhwZWN0KCJleHBvcnQNCj4gPiBBRVNOSV9NVUxUSV9CVUZGRVJfTElCX1BB VEg9L3Jvb3QvaXBzZWNfMDQzL2NvZGUvIiwgIiMiKQ0KPiA+ICsgICAgICAgIHNlbGYuZHV0LnNl bmRfZXhwZWN0KCJleHBvcnQNCj4gPiBMSUJTU09fU05PVzNHX1BBVEg9L3Jvb3QvbGlic3NvX3Nu b3czZy9zbm93M2cvIiwgIiMiKQ0KPiA+ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJl eHBvcnQNCj4gPiBMSUJTU09fWlVDX1BBVEg9L3Jvb3QvbGlic3NvX3p1Yy4xLjAuMS4xLTgvenVj IiwgIiMiKQ0KPiA+ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJleHBvcnQNCj4gPiBM SUJTU09fS0FTVU1JX1BBVEg9L3Jvb3QvTGliU1NPXzBfM18xL2lzZ19jaWQtDQo+ID4gd2lyZWxl c3NfbGlicy9jaXBoZXJzL2thc3VtaS8iLCAiIyIpDQo+ID4gKyAgICAgICAgc2VsZi5kdXQuc2Vu ZF9leHBlY3QoInNlZCAtaQ0KPiA+DQo+ICdzL0NPTkZJR19SVEVfTElCUlRFX1BNRF9RQVQ9biQv Q09ORklHX1JURV9MSUJSVEVfUE1EX1FBVD15LycNCj4gPiBjb25maWcvY29tbW9uX2Jhc2UiLCAi IyAiKQ0KPiA+ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJzZWQgLWkNCj4gPg0KPiAn cy9DT05GSUdfUlRFX0xJQlJURV9QTURfQUVTTklfR0NNPW4kL0NPTkZJR19SVEVfTElCUlRFX1BN RF8NCj4gQUVTTklfR0NNPXkvJw0KPiA+IGNvbmZpZy9jb21tb25fYmFzZSIsICIjICIpDQo+ID4g KyAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiA+DQo+ICdzL0NPTkZJR19S VEVfTElCUlRFX1BNRF9OVUxMX0NSWVBUTz1uJC9DT05GSUdfUlRFX0xJQlJURV9QTUQNCj4gX05V TExfQ1JZDQo+ID4gUFRPPQ0KPiA+IHkvJyBjb25maWcvY29tbW9uX2Jhc2UiLCAiIyAiKQ0KPiA+ ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJzZWQgLWkNCj4gPg0KPiAncy9DT05GSUdf UlRFX0xJQlJURV9QTURfU05PVzNHPW4kL0NPTkZJR19SVEVfTElCUlRFX1BNRF9TTg0KPiBPVzNH PXkvJw0KPiA+IGNvbmZpZy9jb21tb25fYmFzZSIsICIjICIpDQo+ID4gKyAgICAgICAgc2VsZi5k dXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiA+DQo+ICdzL0NPTkZJR19SVEVfTElCUlRFX1BNRF9L QVNVTUk9biQvQ09ORklHX1JURV9MSUJSVEVfUE1EX0tBUw0KPiBVTUk9eS8nDQo+ID4gY29uZmln L2NvbW1vbl9iYXNlIiwgIiMgIikNCj4gPiArICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgi c2VkIC1pDQo+ID4NCj4gJ3MvQ09ORklHX1JURV9MSUJSVEVfUE1EX09QRU5TU0w9biQvQ09ORklH X1JURV9MSUJSVEVfUE1EX09QRQ0KPiBOU1NMPXkvJw0KPiA+IGNvbmZpZy9jb21tb25fYmFzZSIs ICIjICIpDQo+ID4gKyAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiA+DQo+ ICdzL0NPTkZJR19SVEVfTElCUlRFX1BNRF9BRVNOSV9NQj1uJC9DT05GSUdfUlRFX0xJQlJURV9Q TURfQQ0KPiBFU05JX01CPXkvJw0KPiA+IGNvbmZpZy9jb21tb25fYmFzZSIsICIjICIpDQo+ID4g KyAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiA+DQo+ICdzL0NPTkZJR19S VEVfTElCUlRFX1BNRF9aVUM9biQvQ09ORklHX1JURV9MSUJSVEVfUE1EX1pVQz15LycNCj4gPiBj b25maWcvY29tbW9uX2Jhc2UiLCAiIyAiKQ0KPiA+ICsgICAgICAgIHNlbGYuZHV0LnNraXBfc2V0 dXAgPSBGYWxzZQ0KPiA+ICsgICAgICAgIHNlbGYuZHV0LmJ1aWxkX2luc3RhbGxfZHBkayhzZWxm LmR1dC50YXJnZXQpDQo+ID4gKw0KPiA+ICsgICAgICAgICNvdXQgPSBzZWxmLmR1dC5idWlsZF9k cGRrX2FwcHMoIi4vYXBwL3Rlc3QvIikNCj4gPiArICAgICAgICAjc2VsZi52ZXJpZnkoJ21ha2U6 IExlYXZpbmcgZGlyZWN0b3J5JyBpbiBvdXQsICJDb21waWxhdGlvbg0KPiA+IGZhaWxlZCIpDQo+ ID4gKw0KPiA+ICsNCj4gPiArICAgICAgICAjIEJpbmQgUUFUIFZGIGRldmljZXMNCj4gPiArICAg ICAgICBvdXQgPSBzZWxmLmR1dC5zZW5kX2V4cGVjdCgibHNwY2kgLWQ6NDQzfGF3ayAne3ByaW50 ICQxfSciLA0KPiA+ICsgIiMgIiwNCj4gPiAxMCkNCj4gPiArICAgICAgICBzZWxmLmR1dC5zZW5k X2V4cGVjdCgnZWNobyAiODA4NiAwNDQzIiA+DQo+ID4gL3N5cy9idXMvcGNpL2RyaXZlcnMvaWdi X3Vpby9uZXdfaWQnLCAiIyAiLCAxMCkNCj4gPiArICAgICAgICBmb3IgbGluZSBpbiBvdXQucmVw bGFjZSgiXHIiLCAiXG4iKS5yZXBsYWNlKCJcblxuIiwNCj4gPiAiXG4iKS5zcGxpdCgiXG4iKToN Cj4gPiArICAgICAgICAgICAgY21kID0gImVjaG8gMDAwMDp7fSA+DQo+ID4gL3N5cy9idXMvcGNp L2RldmljZXMvMDAwMFw6e30vZHJpdmVyL3VuYmluZCIuZm9ybWF0KGxpbmUsDQo+ID4gbGluZS5y ZXBsYWNlKCI6IiwNCj4gPiAiXDoiKSkNCj4gPiArICAgICAgICAgICAgc2VsZi5kdXQuc2VuZF9l eHBlY3QoY21kLCAiIyAiLCAxMCkNCj4gPiArICAgICAgICAgICAgY21kID0gImVjaG8gMDAwMDp7 fSA+DQo+ID4gL3N5cy9idXMvcGNpL2RyaXZlcnMvaWdiX3Vpby9iaW5kIi5mb3JtYXQobGluZSkN Cj4gPiArICAgICAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoY21kLCAiIyAiLCAxMCkNCj4g PiArDQo+ID4gKyAgICBkZWYgc2V0X3VwKHNlbGYpOg0KPiA+ICsgICAgICAgIHBhc3MNCj4gPiAr DQo+ID4gKyAgICBkZWYgdGVhcl9kb3duKHNlbGYpOg0KPiA+ICsgICAgICAgIHBhc3MNCj4gPiAr DQo+ID4gKyAgICBkZWYgdGVhcl9kb3duX2FsbChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLmR1 dC5zZW5kX2V4cGVjdCgic2VkIC1pDQo+ID4NCj4gJ3MvQ09ORklHX1JURV9MSUJSVEVfUE1EX1FB VD15JC9DT05GSUdfUlRFX0xJQlJURV9QTURfUUFUPW4vJw0KPiA+IGNvbmZpZy9jb21tb25fYmFz ZSIsICIjICIpDQo+ID4gKyAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiA+ DQo+ICdzL0NPTkZJR19SVEVfTElCUlRFX1BNRF9BRVNOSV9HQ009eSQvQ09ORklHX1JURV9MSUJS VEVfUE1EXw0KPiBBRVNOSV9HQ009bi8nDQo+ID4gY29uZmlnL2NvbW1vbl9iYXNlIiwgIiMgIikN Cj4gPiArICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgic2VkIC1pDQo+ID4NCj4gJ3MvQ09O RklHX1JURV9MSUJSVEVfUE1EX05VTExfQ1JZUFRPPXkkL0NPTkZJR19SVEVfTElCUlRFX1BNRA0K PiBfTlVMTF9DUlkNCj4gPiBQVE89DQo+ID4gbi8nIGNvbmZpZy9jb21tb25fYmFzZSIsICIjICIp DQo+ID4gKyAgICAgICAgc2VsZi5kdXQuc2VuZF9leHBlY3QoInNlZCAtaQ0KPiA+DQo+ICdzL0NP TkZJR19SVEVfTElCUlRFX1BNRF9TTk9XM0c9eSQvQ09ORklHX1JURV9MSUJSVEVfUE1EX1NODQo+ IE9XM0c9bi8nDQo+ID4gY29uZmlnL2NvbW1vbl9iYXNlIiwgIiMgIikNCj4gPiArICAgICAgICBz ZWxmLmR1dC5zZW5kX2V4cGVjdCgic2VkIC1pDQo+ID4NCj4gJ3MvQ09ORklHX1JURV9MSUJSVEVf UE1EX0tBU1VNST15JC9DT05GSUdfUlRFX0xJQlJURV9QTURfS0FTDQo+IFVNST1uLycNCj4gPiBj b25maWcvY29tbW9uX2Jhc2UiLCAiIyAiKQ0KPiA+ICsgICAgICAgIHNlbGYuZHV0LnNlbmRfZXhw ZWN0KCJzZWQgLWkNCj4gPg0KPiAncy9DT05GSUdfUlRFX0xJQlJURV9QTURfT1BFTlNTTD15JC9D T05GSUdfUlRFX0xJQlJURV9QTURfT1BFDQo+IE5TU0w9bi8nDQo+ID4gY29uZmlnL2NvbW1vbl9i YXNlIiwgIiMgIikNCj4gPiArICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgic2VkIC1pDQo+ ID4NCj4gJ3MvQ09ORklHX1JURV9MSUJSVEVfUE1EX0FFU05JX01CPXkkL0NPTkZJR19SVEVfTElC UlRFX1BNRF9BDQo+IEVTTklfTUI9bi8nDQo+ID4gY29uZmlnL2NvbW1vbl9iYXNlIiwgIiMgIikN Cj4gPiArICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgic2VkIC1pDQo+ID4NCj4gJ3MvQ09O RklHX1JURV9MSUJSVEVfUE1EX1pVQz15JC9DT05GSUdfUlRFX0xJQlJURV9QTURfWlVDPW4vJw0K PiA+IGNvbmZpZy9jb21tb25fYmFzZSIsICIjICIpDQo+ID4gKw0KPiA+ICsgICAgZGVmIHRlc3Rf Y3J5cHRvZGV2X3FhdF9hdXRvdGVzdChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLl9fcnVuX3Vu aXRfdGVzdCgiY3J5cHRvZGV2X3FhdF9hdXRvdGVzdCIpDQo+ID4gKw0KPiA+ICsgICAgZGVmIHRl c3RfY3J5cHRvZGV2X3FhdF9wZXJmdGVzdChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLl9fcnVu X3VuaXRfdGVzdCgiY3J5cHRvZGV2X3FhdF9wZXJmdGVzdCIpDQo+ID4gKw0KPiA+ICsgICAgZGVm IHRlc3RfY3J5cHRvZGV2X2Flc25pX21iX3BlcmZ0ZXN0KHNlbGYpOg0KPiA+ICsgICAgICAgIHNl bGYuX19ydW5fdW5pdF90ZXN0KCJjcnlwdG9kZXZfYWVzbmlfbWJfcGVyZnRlc3QiKQ0KPiA+ICsN Cj4gPiArICAgIGRlZiB0ZXN0X2NyeXB0b2Rldl9zd19zbm93M2dfcGVyZnRlc3Qoc2VsZik6DQo+ ID4gKyAgICAgICAgc2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9zd19zbm93M2dfcGVy ZnRlc3QiKQ0KPiA+ICsNCj4gPiArICAgIGRlZiB0ZXN0X2NyeXB0b2Rldl9xYXRfc25vdzNnX3Bl cmZ0ZXN0KHNlbGYpOg0KPiA+ICsgICAgICAgIHNlbGYuX19ydW5fdW5pdF90ZXN0KCJjcnlwdG9k ZXZfcWF0X3Nub3czZ19wZXJmdGVzdCIpDQo+ID4gKw0KPiA+ICsgICAgZGVmIHRlc3RfY3J5cHRv ZGV2X2Flc25pX2djbV9wZXJmdGVzdChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLl9fcnVuX3Vu aXRfdGVzdCgiY3J5cHRvZGV2X2Flc25pX2djbV9wZXJmdGVzdCIpDQo+ID4gKw0KPiA+ICsgICAg ZGVmIHRlc3RfY3J5cHRvZGV2X29wZW5zc2xfcGVyZnRlc3Qoc2VsZik6DQo+ID4gKyAgICAgICAg c2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9vcGVuc3NsX3BlcmZ0ZXN0IikNCj4gPiAr DQo+ID4gKyAgICBkZWYgdGVzdF9jcnlwdG9kZXZfcWF0X2NvbnRpbnVhbF9wZXJmdGVzdChzZWxm KToNCj4gPiArICAgICAgICBzZWxmLl9fcnVuX3VuaXRfdGVzdCgiY3J5cHRvZGV2X3FhdF9jb250 aW51YWxfcGVyZnRlc3QiKQ0KPiA+ICsNCj4gPiArICAgIGRlZiB0ZXN0X2NyeXB0b2Rldl9hZXNu aV9tYl9hdXRvdGVzdChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLl9fcnVuX3VuaXRfdGVzdCgi Y3J5cHRvZGV2X2Flc25pX21iX2F1dG90ZXN0IikNCj4gPiArDQo+ID4gKyAgICBkZWYgdGVzdF9j cnlwdG9kZXZfb3BlbnNzbF9hdXRvdGVzdChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLl9fcnVu X3VuaXRfdGVzdCgiY3J5cHRvZGV2X29wZW5zc2xfYXV0b3Rlc3QiKQ0KPiA+ICsNCj4gPiArICAg IGRlZiB0ZXN0X2NyeXB0b2Rldl9hZXNuaV9nY21fYXV0b3Rlc3Qoc2VsZik6DQo+ID4gKyAgICAg ICAgc2VsZi5fX3J1bl91bml0X3Rlc3QoImNyeXB0b2Rldl9hZXNuaV9nY21fYXV0b3Rlc3QiKQ0K PiA+ICsNCj4gPiArICAgIGRlZiB0ZXN0X2NyeXB0b2Rldl9udWxsX2F1dG90ZXN0KHNlbGYpOg0K PiA+ICsgICAgICAgIHNlbGYuX19ydW5fdW5pdF90ZXN0KCJjcnlwdG9kZXZfbnVsbF9hdXRvdGVz dCIpDQo+ID4gKw0KPiA+ICsgICAgZGVmIHRlc3RfY3J5cHRvZGV2X3N3X3Nub3czZ19hdXRvdGVz dChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLl9fcnVuX3VuaXRfdGVzdCgiY3J5cHRvZGV2X3N3 X3Nub3czZ19hdXRvdGVzdCIpDQo+ID4gKw0KPiA+ICsgICAgZGVmIHRlc3RfY3J5cHRvZGV2X3N3 X2thc3VtaV9hdXRvdGVzdChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLl9fcnVuX3VuaXRfdGVz dCgiY3J5cHRvZGV2X3N3X2thc3VtaV9hdXRvdGVzdCIpDQo+ID4gKw0KPiA+ICsgICAgZGVmIHRl c3RfY3J5cHRvZGV2X3N3X3p1Y19hdXRvdGVzdChzZWxmKToNCj4gPiArICAgICAgICBzZWxmLl9f cnVuX3VuaXRfdGVzdCgiY3J5cHRvZGV2X3N3X3p1Y19hdXRvdGVzdCIpDQo+ID4gKw0KPiA+ICsg ICAgZGVmIF9fcnVuX3VuaXRfdGVzdChzZWxmLCB0ZXN0c3VpdGUsIHRpbWVvdXQ9NjAwKToNCj4g PiArICAgICAgICBwcmludCAiU1RFUF9URVNUOiAiICsgdGVzdHN1aXRlDQo+ID4gKyAgICAgICAg c2VsZi5kdXQuc2VuZF9leHBlY3QoImRtZXNnIC1DIiwgIiMgIiwgMzApDQo+ID4gKyAgICAgICAg c2VsZi5kdXQuc2VuZF9leHBlY3QoIi4ve3RhcmdldH0vYXBwL3Rlc3QgLW4gMSAtYw0KPiA+IDB4 ZiIuZm9ybWF0KHRhcmdldD1zZWxmLmR1dC50YXJnZXQpLCAiUlRFPj4iLCAzMCkNCj4gPiArICAg ICAgICBvdXQgPSAiIg0KPiA+ICsgICAgICAgIHRyeToNCj4gPiArICAgICAgICAgICAgb3V0ID0g c2VsZi5kdXQuc2VuZF9leHBlY3QodGVzdHN1aXRlLCAiUlRFPj4iLCB0aW1lb3V0KQ0KPiA+ICsg ICAgICAgICAgICBzZWxmLmR1dC5zZW5kX2V4cGVjdCgicXVpdCIsICIjICIsIDMwKQ0KPiA+ICsg ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGV4Og0KPiA+ICsgICAgICAgICAgICBwcmludCBleA0K PiA+ICsgICAgICAgICAgICBwcmludCAicnVuIGNyeXB0b2Rldl91bml0X3Rlc3RzIHByb2Nlc3Mg Y29yZWR1bXAiDQo+ID4gKyAgICAgICAgICAgIHNlbGYuZHV0LmFsdF9zZXNzaW9uLnNlbmRfZXhw ZWN0KCJraWxsYWxsIHRlc3QiLCAiIyAiLCAzMCkNCj4gPiArICAgICAgICAgICAgZG1lc2cgPSBz ZWxmLmR1dC5hbHRfc2Vzc2lvbi5zZW5kX2V4cGVjdCgiZG1lc2ciLCAiIyAiLCAzMCkNCj4gPiAr ICAgICAgICAgICAgcHJpbnQgZG1lc2cNCj4gPiArICAgICAgICBwcmludCBvdXQNCj4gPiArICAg ICAgICBzZWxmLnZlcmlmeSgiVGVzdCBPSyIgaW4gb3V0LCAiVGVzdCBGYWlsZWQiKQ0KPiA+ICsN Cj4gPiAtLQ0KPiA+IDEuOS4zDQoNCg==