From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 1D4035F2D for ; Thu, 8 Mar 2018 09:59:49 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Mar 2018 00:59:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,440,1515484800"; d="scan'208";a="22864991" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga008.fm.intel.com with ESMTP; 08 Mar 2018 00:59:47 -0800 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 8 Mar 2018 00:59:47 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 8 Mar 2018 00:59:46 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.116]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.130]) with mapi id 14.03.0319.002; Thu, 8 Mar 2018 16:59:45 +0800 From: "Liu, Yong" To: "Lin, Xueqin" , "dts@dpdk.org" CC: "Lin, Xueqin" Thread-Topic: [dts] [PATCH v3]test plan: add ddp gtp qregion test plan Thread-Index: AQHTtruEjUpJHBKgTUWAhbaMCE2WN6PGCd5A Date: Thu, 8 Mar 2018 08:59:44 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E62FAB660@SHSMSX103.ccr.corp.intel.com> References: <1520477671-178000-1-git-send-email-xueqin.lin@intel.com> In-Reply-To: <1520477671-178000-1-git-send-email-xueqin.lin@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNGU5ODUyMTEtM2U2My00MWNmLWE1NTQtYWExOGNjN2IwNjE0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJ1RmVtMWdLaUQ5XC83UHJOZUx5TnFQbjNtQjZabEdxNjh6bW5WK1FlWEk4THFtaXIyOW1rNVRQWVgraU9EUWVYTiJ9 x-ctpclassification: CTP_NT 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 v3]test plan: add ddp gtp qregion test plan 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: Thu, 08 Mar 2018 08:59:51 -0000 WHVlcWluLA0KSSBoYXZlIG1lcmdlZCB5b3VyIHYyIHBhdGNoIGludG8gRFRTLCBjb3VsZCB5b3Ug cGxlYXNlIHN1Ym1pdCB0aGUgZGlmZiBwYXRjaD8NCg0KVGhhbmtzLA0KTWFydmluDQoNCj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZHRzIFttYWlsdG86ZHRzLWJvdW5jZXNA ZHBkay5vcmddIE9uIEJlaGFsZiBPZiBYdWVxaW4gTGluDQo+IFNlbnQ6IFRodXJzZGF5LCBNYXJj aCAwOCwgMjAxOCAxMDo1NSBBTQ0KPiBUbzogZHRzQGRwZGsub3JnDQo+IENjOiBMaW4sIFh1ZXFp biA8eHVlcWluLmxpbkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtkdHNdIFtQQVRDSCB2M110ZXN0 IHBsYW46IGFkZCBkZHAgZ3RwIHFyZWdpb24gdGVzdCBwbGFuDQo+IA0KPiAtLS0NCj4gIHRlc3Rf cGxhbnMvZGRwX2d0cF9xcmVnaW9uX3Rlc3RfcGxhbi5yc3QgfCA3MDANCj4gKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKw0KPiAgMSBmaWxlIGNoYW5nZWQsIDcwMCBpbnNlcnRpb25zKCsp DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdF9wbGFucy9kZHBfZ3RwX3FyZWdpb25fdGVzdF9w bGFuLnJzdA0KPiANCj4gZGlmZiAtLWdpdCBhL3Rlc3RfcGxhbnMvZGRwX2d0cF9xcmVnaW9uX3Rl c3RfcGxhbi5yc3QNCj4gYi90ZXN0X3BsYW5zL2RkcF9ndHBfcXJlZ2lvbl90ZXN0X3BsYW4ucnN0 DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAuLjBlODQ1YmQNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi90ZXN0X3BsYW5zL2RkcF9ndHBfcXJlZ2lvbl90ZXN0X3BsYW4u cnN0DQo+IEBAIC0wLDAgKzEsNzAwIEBADQo+ICsuLiBDb3B5cmlnaHQgKGMpIDwyMDE3PiwgSW50 ZWwgQ29ycG9yYXRpb24NCj4gKyAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICsNCj4gKyAgIFJl ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig d2l0aG91dA0KPiArICAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg dGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQo+ICsgICBhcmUgbWV0Og0KPiArDQo+ICsgICAtIFJl ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp Z2h0DQo+ICsgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs b3dpbmcgZGlzY2xhaW1lci4NCj4gKw0KPiArICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5 IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KPiArICAgICBub3RpY2Us IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4N Cj4gKyAgICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl ZCB3aXRoIHRoZQ0KPiArICAgICBkaXN0cmlidXRpb24uDQo+ICsNCj4gKyAgIC0gTmVpdGhlciB0 aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cw0KPiArICAg ICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz IGRlcml2ZWQNCj4gKyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp b3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KPiArDQo+ICsgICBUSElTIFNPRlRXQVJFIElTIFBST1ZJ REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTDQo+ICsgICAiQVMg SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU IE5PVA0KPiArICAgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFkgQU5EIEZJVE5FU1MNCj4gKyAgIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFDQo+ICsgICBDT1BZUklHSFQgT1dORVIg T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsDQo+ICsg ICBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF Uw0KPiArICAgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT VUJTVElUVVRFIEdPT0RTIE9SDQo+ICsgICBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikNCj4gKyAgIEhPV0VWRVIgQ0FVU0VE IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwNCj4g KyAgIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U SEVSV0lTRSkNCj4gKyAgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQNCj4gKyAgIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT VUNIIERBTUFHRS4NCj4gKw0KPiArPT09PT09PT09PT09PT09DQo+ICtERFAgR1RQIFFyZWdpb24N Cj4gKz09PT09PT09PT09PT09PQ0KPiArDQo+ICtERFAgcHJvZmlsZSAweDgwMDAwMDA4IGFkZHMg c3VwcG9ydCBmb3IgR1RQIHdpdGggSVB2NCBvciBJUHY2IHBheWxvYWQuDQo+ICtUaGUgdGVzdCBj YXNlIHBsYW4gZm9jdXMgb24gbW9yZSBERFAgR1RQIHJlcXVpcmVtZW50cyBhcyBiZWxvdy4gRm9y IEREUA0KPiArR1RQIGludHJvZHVjdGlvbiwgcGxlYXNlIHJlZmVyIHRvIEREUCBHVFAgdGVzdCBw bGFuLg0KPiArDQo+ICtSZXF1aXJlbWVudHMNCj4gKz09PT09PT09PT09PQ0KPiArMS4gR1RQLUMg ZGlzdHJpYnV0ZWQgdG8gY29udHJvbCBwbGFuZSBxdWV1ZXMgcmVnaW9uIHVzaW5nIG91dGVyIElQ DQo+ICsgICBkZXN0aW5hdGlvbiBhZGRyZXNzIGFzIGhhc2ggaW5wdXQgc2V0ICh0aGVyZSBpcyBu byBpbm5lciBJUCBoZWFkZXJzDQo+ICsgICBmb3IgR1RQLUMgcGFja2V0cykNCj4gKzIuIEdUUC1V IGRpc3RyaWJ1dGVkIHRvIGRhdGEgcGxhbmUgcXVldWVzIHJlZ2lvbiB1c2luZyBpbm5lciBJUCBz b3VyY2UNCj4gKyAgIGFkZHJlc3MgYXMgaGFzaCBpbnB1dCBzZXQuDQo+ICszLiBHVFAtQyBkaXN0 cmlidXRlZCB0byBjb250cm9sIHBsYW5lIHF1ZXVlcyByZWdpb24gdXNpbmcgVEVJRCBhcyBoYXNo DQo+ICsgICBpbnB1dCBzZXQuDQo+ICs0LiBHVFAtVSBkaXN0cmlidXRlZCB0byBkYXRhIHBsYW5l IHF1ZXVlcyByZWdpb24gdXNpbmcgVEVJRCBhbmQgaW5uZXINCj4gKyAgIHBhY2tldCA1LXR1cGxl IGFzIGhhc2ggaW5wdXQgc2V0Lg0KPiArDQo+ICtGVkwgc3VwcG9ydHMgcXVldWUgcmVnaW9ucyBj b25maWd1cmF0aW9uIGZvciBSU1MsIHNvIGRpZmZlcmVudCB0cmFmZmljDQo+ICtjbGFzc2VzIG9y IGRpZmZlcmVudCBwYWNrZXQgY2xhc3NpZmljYXRpb24gdHlwZXMgY2FuIGJlIHNlcGFyYXRlZCB0 bw0KPiArZGlmZmVyZW50IHF1ZXVlIHJlZ2lvbnMgd2hpY2ggaW5jbHVkZXMgc2V2ZXJhbCBxdWV1 ZXMuIFN1cHBvcnQgdG8gc2V0DQo+ICtoYXNoIGlucHV0IHNldCBpbmZvIGZvciBSU1MgZmxleGli bGUgcGF5bG9hZCwgdGhlbiBlbmFibGUgbmV3DQo+ICtwcm90b2NvbHMnIFJTUy4NCj4gK0R5bmFt aWMgZmxvdyB0eXBlIGZlYXR1cmUgaW50cm9kdWNlcyBHVFAgcGN0eXBlIGFuZCBmbG93IHR5cGUs IGRlc2lnbg0KPiArYW5kIGFkZCBxdWV1ZSByZWdpb24vcXVldWUgcmFuZ2UgbWFwcGluZyBhcyBi ZWxvdyB0YWJsZS4gRm9yIG1vcmUNCj4gZGV0YWlsZWQNCj4gK2FuZCByZWxhdGl2ZSBpbmZvcm1h dGlvbiwgcGxlYXNlIHJlZmVyIHRvIGR5bmFtaWMgZmxvdyB0eXBlIGFuZCBxdWV1ZQ0KPiArcmVn aW9uIHRlc3QgcGxhbjo6DQo+ICsNCj4gKyAgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0NCj4gKw0KPiArICAgIHwg UGFja2V0IFR5cGUgfCAgIFBDVHlwZXMgIHwgRmxvdyBUeXBlcyB8IFF1ZXVlIHJlZ2lvbiB8IFF1 ZXVlIHJhbmdlDQo+IHwNCj4gKyAgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0NCj4gKw0KPiArICAgIHwgR1RQLVUg SVB2NCAgfCAgICAgMjIgICAgIHwgICAgMjYgICAgICB8ICAgICAgMCAgICAgICB8ICAgICAxfjgN Cj4gfA0KPiArICAgICstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICsgICAgfCBHVFAtVSBJUHY2ICB8ICAg ICAyMyAgICAgfCAgICAyMyAgICAgIHwgICAgICAxICAgICAgIHwgICAgIDEwfjI1DQo+IHwNCj4g KyAgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0NCj4gKw0KPiArICAgIHwgR1RQLVUgUEFZNCAgfCAgICAgMjQgICAg IHwgICAgMjQgICAgICB8ICAgICAgMiAgICAgICB8ICAgICAzMH4zNw0KPiB8DQo+ICsgICAgKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tDQo+ICsNCj4gKyAgICB8IEdUUC1DIFBBWTQgIHwgICAgIDI1ICAgICB8ICAgIDI1 ICAgICAgfCAgICAgIDMgICAgICAgfCAgICAgNDB+NTUNCj4gfA0KPiArICAgICstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LQ0KPiArDQo+ICsNCj4gK1ByZXJlcXVpc2l0ZXMNCj4gKz09PT09PT09PT09PT0NCj4gKw0KPiAr MS4gSG9zdCBQRiBpbiBEUERLIGRyaXZlcjo6DQo+ICsNCj4gKyAgICAuL3Rvb2xzL2RwZGstZGV2 YmluZC5weSAtYiBpZ2JfdWlvIDgxOjAwLjANCj4gKw0KPiArMi4gU3RhcnQgdGVzdHBtZCBvbiBo b3N0LCBzZXQgY2hhaW5lZCBwb3J0IHRvcG9sb2d5IG1vZGUsIGFkZCB0eHEvcnhxIHRvDQo+ICsg ICBlbmFibGUgbXVsdGktcXVldWVzLiBJbiBnZW5lcmFsLCBQRidzIG1heCBxdWV1ZSBpcyA2NDo6 DQo+ICsNCj4gKyAgICAuL3Rlc3RwbWQgLWMgZiAtbiA0IC0tIC1pIC0tcG9ydC10b3BvbG9neT1j aGFpbmVkIC0tdHhxPTY0IC0tcnhxPTY0DQo+ICsNCj4gK0xvYWQvZGVsZXRlIGR5bmFtaWMgZGV2 aWNlIHBlcnNvbmFsaXphdGlvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQo+ICsNCj4gKzEuIFN0b3AgdGVzdHBtZCBwb3J0IGJlZm9yZSBsb2FkaW5nIHBy b2ZpbGU6Og0KPiArDQo+ICsgICAgdGVzdHBtZCA+IHBvcnQgc3RvcCBhbGwNCj4gKw0KPiArMi4g TG9hZCBndHAucGtnbyBmaWxlIHRvIHRoZSBtZW1vcnkgYnVmZmVyLCBzYXZlIG9yaWdpbmFsIGNv bmZpZ3VyYXRpb24NCj4gKyAgIGFuZCByZXR1cm4gaW4gdGhlIHNhbWUgYnVmZmVyIHRvIHRoZSBn dHAuYmFrIGZpbGU6Og0KPiArDQo+ICsgICAgdGVzdHBtZCA+IGRkcCBhZGQgKHBvcnRfaWQpIC90 bXAvZ3RwLnBrZ28sL3RtcC9ndHAuYmFrDQo+ICsNCj4gKzMuIFJlbW92ZSBwcm9maWxlIGZyb20g dGhlIG5ldHdvcmsgYWRhcHRlciBhbmQgcmVzdG9yZSBvcmlnaW5hbA0KPiArICAgY29uZmlndXJh dGlvbjo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kID4gZGRwIGRlbCAocG9ydF9pZCkgL3RtcC9ndHAu YmFrDQo+ICsNCj4gKzQuIFN0YXJ0IHRlc3RwbWQgcG9ydDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1k ID4gcG9ydCBzdGFydCBhbGwNCj4gKw0KPiArTm90ZToNCj4gKw0KPiArMS4gR3RwLnBrZ28gcHJv ZmlsZSBpcyBub3QgcmVsZWFzZWQgYnkgTkQgeWV0LCBvbmx5IGhhdmUgZW5naW5lZXIgdmVyc2lv bg0KPiBmb3INCj4gKyAgIGludGVybmFsIHVzZSBzbyBmYXIuIFBsYW4gdG8ga2VlcCBwdWJsaWMg cmVmZXJlbmNlIHByb2ZpbGVzIGF0IEludGVsDQo+ICsgICBEZXZlbG9wZXIgWm9uZSwgcmVsZWFz ZSB2ZXJzaW9ucyBvZiBwcm9maWxlcyBhbmQgc3VwcGx5IGxpbmsgbGF0ZXIuDQo+ICsNCj4gKzIu IExvYWRpbmcgRERQIGlzIHRoZSBwcmVyZXF1aXNpdGUgZm9yIGJlbG93IEdUUCByZWxhdGl2ZSBj YXNlcy4gTG9hZA0KPiArICAgcHJvZmlsZSBhZ2FpbiBvbmNlIHJlc3RhcnRpbmcgdGVzdHBtZCB0 byBsZXQgc29mdHdhcmUgZGV0ZWN0IHRoaXMNCj4gKyAgIGV2ZW50LCBhbHRob3VnaCBoYXMg4oCc cHJvZmlsZSBoYXMgYWxyZWFkeSBleGlzdGVk4oCdIHJlbWluZGVyLiBPcGVyYXRlDQo+ICsgICBn bG9iYWwgcmVzZXQgb3IgbGFuY29uZiB0b29sIHRvIHJlY292ZXIgb3JpZ2luYWwgc2V0dGluZy4g R2xvYmFsIHJlc2V0DQo+ICsgICB0cmlnZ2VyIHJlZyBpcyAweGI4MTkwLCBmaXJzdCBjbWQgaXMg Y29yZSByZXNldCwgc2Vjb25kIGNtZCBpcyBnbG9iYWwNCj4gKyAgIHJlc2V0OjoNCj4gKw0KPiAr ICAgIHRlc3RwbWQgPiB3cml0ZSByZWcgMCAweGI4MTkwIDENCj4gKyAgICB0ZXN0cG1kID4gd3Jp dGUgcmVnIDAgMHhiODE5MCAyDQo+ICsNCj4gKw0KPiArRmxvdyB0eXBlIGFuZCBxdWV1ZSByZWdp b24gbWFwcGluZyBzZXR0aW5nDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NCj4gKzEuIEFzIGFib3ZlIG1hcHBpbmcgdGFibGUsIHNldCBxdWV1ZSByZWdpb24g b24gYSBwb3J0OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNldCBwb3J0IDAgcXVldWUtcmVnaW9u IHJlZ2lvbl9pZCAwIHF1ZXVlX3N0YXJ0X2luZGV4IDENCj4gcXVldWVfbnVtIDgNCj4gKyAgICB0 ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVlLXJlZ2lvbiByZWdpb25faWQgMSBxdWV1ZV9zdGFydF9p bmRleCAxMA0KPiBxdWV1ZV9udW0gMTYNCj4gKyAgICB0ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVl LXJlZ2lvbiByZWdpb25faWQgMiBxdWV1ZV9zdGFydF9pbmRleCAzMA0KPiBxdWV1ZV9udW0gOA0K PiArICAgIHRlc3RwbWQ+IHNldCBwb3J0IDAgcXVldWUtcmVnaW9uIHJlZ2lvbl9pZCAzIHF1ZXVl X3N0YXJ0X2luZGV4IDQwDQo+IHF1ZXVlX251bSAxNg0KPiArDQo+ICsyLiBTZXQgdGhlIG1hcHBp bmcgb2YgZmxvdyB0eXBlIHRvIHJlZ2lvbiBpbmRleCBvbiBhIHBvcnQ6Og0KPiArDQo+ICsgICAg dGVzdHBtZD4gc2V0IHBvcnQgMCBxdWV1ZS1yZWdpb24gcmVnaW9uX2lkIDAgZmxvd3R5cGUgMjYN Cj4gKyAgICB0ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVlLXJlZ2lvbiByZWdpb25faWQgMSBmbG93 dHlwZSAyMw0KPiArICAgIHRlc3RwbWQ+IHNldCBwb3J0IDAgcXVldWUtcmVnaW9uIHJlZ2lvbl9p ZCAyIGZsb3d0eXBlIDI0DQo+ICsgICAgdGVzdHBtZD4gc2V0IHBvcnQgMCBxdWV1ZS1yZWdpb24g cmVnaW9uX2lkIDMgZmxvd3R5cGUgMjUNCj4gKyAgICB0ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVl LXJlZ2lvbiBmbHVzaCBvbg0KPiArDQo+ICszLiBmbHVzaCBhbGwgcXVldWUgcmVnaW9uczo6DQo+ ICsNCj4gKyAgICB0ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVlLXJlZ2lvbiBmbHVzaCBvZmYNCj4g Kw0KPiArDQo+ICtUZXN0IENhc2U6IE91dGVyIElQdjYgZHN0IGNvbnRyb2xzIEdUUC1DIHF1ZXVl IGluIHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKw0KPiArMS4gQ2hlY2sgZmxvdyBwdHlwZSB0 byBwY3R5cGUgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5 cGUgbWFwcGluZw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLUMgZmxvdyB0eXBlIGlkIDI1IHRvIHBj eXRwZSBpZCAyNSBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25m aWcgMCBwY3R5cGUgbWFwcGluZyB1cGRhdGUgMjUgMjUNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBw dHlwZSB0byBwY3R5cGUgbWFwcGluZyBhZGRzIDI1IHRoaXMgbWFwcGluZw0KPiArDQo+ICs0LiBS ZXNldCBHVFAtQyBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNv bmZpZyAwIHBjdHlwZSAyNSBoYXNoX2luc2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBPdXRlciBk c3QgYWRkcmVzcyB3b3JkcyBhcmUgNTB+NTcsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBmb3Igb3V0 ZXINCj4gZHN0OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1 IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDUwDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBw Y3R5cGUgMjUgaGFzaF9pbnNldCBzZXQgZmllbGQgNTENCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNv bmZpZyAwIHBjdHlwZSAyNSBoYXNoX2luc2V0IHNldCBmaWVsZCA1Mg0KPiArICAgIHRlc3RwbWQ+ IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDUzDQo+ICsgICAg dGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjUgaGFzaF9pbnNldCBzZXQgZmllbGQgNTQN Cj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyNSBoYXNoX2luc2V0IHNldCBm aWVsZCA1NQ0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1IGhhc2hfaW5z ZXQgc2V0IGZpZWxkIDU2DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjUg aGFzaF9pbnNldCBzZXQgZmllbGQgNTcNCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAy NSdzIFJTUzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDI1DQo+ ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHBy aW50DQo+ICsNCj4gKzguIFNlbmQgb3V0ZXIgZHN0IEdUUC1DIHBhY2tldCwgY2hlY2sgUlNTIGNv dWxkIHdvcmssIHZlcmlmeSB0aGUgcXVldWUgaXMNCj4gKyAgIGJldHdlZW4gNDAgYW5kIDU1LCBw cmludCBQS1RfUlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQdjYoc3JjPSIx MDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDEiLA0KPiArICAgIGRzdD0iMjAw MTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAxIikvVURQKGRwb3J0PTIxMjMpLw0K PiArICAgIEdUUF9VX0hlYWRlcigpL1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVy ZW50IG91dGVyIGRzdCBHVFAtQyBwYWNrZXQsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQgZnJv bQ0KPiArICAgZGlmZmVyZW50IHF1ZXVlIGJ1dCBiZXR3ZWVuIDQwIGFuZCA1NTo6DQo+ICsNCj4g KyAgICBwPUV0aGVyKCkvSVB2NihzcmM9IjEwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAz NzA6MDAwMSIsDQo+ICsgICAgZHN0PSIyMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcw OjAwMDIiKS9VRFAoZHBvcnQ9MjEyMykvDQo+ICsgICAgR1RQX1VfSGVhZGVyKCkvUmF3KCd4Jyoy MCkNCj4gKw0KPiArMTAuIFNlbmQgZGlmZmVyZW50IG91dGVyIHNyYyBHVFAtQyBwYWNrZXQsIGNo ZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQgZnJvbQ0KPiArICAgIHNhbWUgcXVldWU6Og0KPiArDQo+ ICsgICAgcD1FdGhlcigpL0lQdjYoc3JjPSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTow MzcwOjAwMDIiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3 MDowMDAxIikvDQo+ICsgICAgVURQKGRwb3J0PTIxMjMpL0dUUF9VX0hlYWRlcigpL1JhdygneCcq MjApDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlOiBURUlEIGNvbnRyb2xzIEdUUC1DIHF1ZXVlIGlu IHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KPiArDQo+ICsxLiBDaGVjayBmbG93IHB0eXBlIHRvIHBjdHlwZSBtYXBw aW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ ICsNCj4gKzIuIFVwZGF0ZSBHVFAtQyBmbG93IHR5cGUgaWQgMjUgdG8gcGN5dHBlIGlkIDI1IG1h cHBpbmcgaXRlbTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSBt YXBwaW5nIHVwZGF0ZSAyNSAyNQ0KPiArDQo+ICszLiBDaGVjayBmbG93IHB0eXBlIHRvIHBjdHlw ZSBtYXBwaW5nIGFkZHMgMjUgdGhpcyBtYXBwaW5nDQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1DIGhh c2ggY29uZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBl IDI1IGhhc2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIFRlaWQgd29yZHMgYXJlIDQ0IGFu ZCA0NSwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciB0ZWlkOjoNCj4gKw0KPiArICAgIHRlc3Rw bWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDQ0DQo+ICsg ICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjUgaGFzaF9pbnNldCBzZXQgZmllbGQg NDUNCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyNSdzIFJTUzo6DQo+ICsNCj4gKyAg ICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDI1DQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3Rw bWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNlbmQg dGVpZCBHVFAtQyBwYWNrZXQsIGNoZWNrIFJTUyBjb3VsZCB3b3JrLCB2ZXJpZnkgdGhlIHF1ZXVl IGlzDQo+ICsgICBiZXR3ZWVuIDQwIGFuZCA1NSwgcHJpbnQgUEtUX1JYX1JTU19IQVNIOjoNCj4g Kw0KPiArICAgIHA9RXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0 ZWlkPTB4ZmUpL1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IHRlaWQgR1RQ LUMgcGFja2V0LCBjaGVjayByZWNlaXZlIHBhY2tldCBmcm9tIGRpZmZlcmVudA0KPiArICAgcXVl dWUgYnV0IGJldHdlZW4gNDAgYW5kIDU1OjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUHY2KCkv VURQKGRwb3J0PTIxMjMpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZmYpL1JhdygneCcqMjApDQo+ICsN Cj4gKw0KPiArVGVzdCBDYXNlOiBURUlEIGNvbnRyb2xzIEdUUC1VIElQdjQgcXVldWUgaW4gcXVl dWUgcmVnaW9uDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCj4gKzEuIENoZWNrIGZsb3cgdHlwZSB0byBwY3R5cGUgbWFwcGluZzo6 DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ ICsyLiBVcGRhdGUgR1RQLVUgSVB2NCBmbG93IHR5cGUgaWQgMjYgdG8gcGN5dHBlIGlkIDIyIG1h cHBpbmcgaXRlbTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSBt YXBwaW5nIHVwZGF0ZSAyMiAyNg0KPiArDQo+ICszLiBDaGVjayBmbG93IHB0eXBlIHRvIHBjdHlw ZSBtYXBwaW5nIGFkZHMgMjYgdGhpcyBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNo b3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1VIElQdjQgaGFz aCBjb25maWd1cmU6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUg MjIgaGFzaF9pbnNldCBjbGVhciBhbGwNCj4gKw0KPiArNS4gVGVpZCB3b3JkcyBhcmUgNDQgYW5k IDQ1LCBlbmFibGUgaGFzaCBpbnB1dCBzZXQgZm9yIHRlaWQ6Og0KPiArDQo+ICsgICAgdGVzdHBt ZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBzZXQgZmllbGQgNDQNCj4gKyAg ICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNoX2luc2V0IHNldCBmaWVsZCA0 NQ0KPiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDI2J3MgUlNTOjoNCj4gKw0KPiArICAg IHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjYNCj4gKw0KPiArNy4gU3RhcnQgdGVzdHBt ZCwgc2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJpbnQNCj4gKw0KPiArOC4gU2VuZCB0 ZWlkIEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayBSU1MgY291bGQgd29yaywgdmVyaWZ5IHRoZSBx dWV1ZSBpcw0KPiArICAgYmV0d2VlbiAxIGFuZCA4LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0K PiArDQo+ICsNCj4gcD1FdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVy KHRlaWQ9MHhmZSkvSVAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRpZmZlcmVudCB0 ZWlkIEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayByZWNlaXZlIHBhY2tldCBmcm9tDQo+IGRpZmZl cmVudA0KPiArICAgcXVldWUgYnV0IGJldHdlZW4gMSBhbmQgODo6DQo+ICsNCj4gKw0KPiBwPUV0 aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGZmKS9JUCgp L1JhdygneCcqMjApDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlOiBTcG9ydCBjb250cm9scyBHVFAt VSBJUHY0IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArMS4gQ2hlY2sgZmxvdyB0eXBl IHRvIHBjdHlwZSBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBj dHlwZSBtYXBwaW5nDQo+ICsNCj4gKzIuIFVwZGF0ZSBHVFAtVSBJUHY0IGZsb3cgdHlwZSBpZCAy NiB0byBwY3l0cGUgaWQgMjIgbWFwcGluZyBpdGVtOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBv cnQgY29uZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBkYXRlIDIyIDI2DQo+ICsNCj4gKzMuIENoZWNr IGZsb3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcgYWRkcyAyNiB0aGlzIG1hcHBpbmc6Og0KPiAr DQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArNC4g UmVzZXQgR1RQLVUgSVB2NCBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBw b3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNoX2luc2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBT cG9ydCB3b3JkcyBhcmUgMjkgYW5kIDMwLCBlbmFibGUgaGFzaCBpbnB1dCBzZXQgZm9yIHNwb3J0 OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5z ZXQgc2V0IGZpZWxkIDI5DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIg aGFzaF9pbnNldCBzZXQgZmllbGQgMzANCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAy NidzIFJTUzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDI2DQo+ ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHBy aW50DQo+ICsNCj4gKzguIFNlbmQgc3BvcnQgR1RQLVUgSVB2NCBwYWNrZXQsIGNoZWNrIFJTUyBj b3VsZCB3b3JrLCB2ZXJpZnkgdGhlIHF1ZXVlDQo+IGlzDQo+ICsgICBiZXR3ZWVuIDEgYW5kIDgs IHByaW50IFBLVF9SWF9SU1NfSEFTSDo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVB2NigpL1VE UChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvSVAoKS8NCj4gKyAgICBVRFAoc3Bv cnQ9MTAwLGRwb3J0PTIwMCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2VuZCBkaWZmZXJlbnQg c3BvcnQgR1RQLVUgSVB2NCBwYWNrZXQsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQgZnJvbQ0K PiArICAgZGlmZmVyZW50IHF1ZXVlIGJ1dCBiZXR3ZWVuIDEgYW5kIDg6Og0KPiArDQo+ICsgICAg cD1FdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApL0lQ KCkvDQo+ICsgICAgVURQKHNwb3J0PTEwMSxkcG9ydD0yMDApL1JhdygneCcqMjApDQo+ICsNCj4g Kw0KPiArVGVzdCBDYXNlOiBEcG9ydCBjb250cm9scyBHVFAtVSBJUHY0IHF1ZXVlIGluIHF1ZXVl IHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KPiArMS4gQ2hlY2sgZmxvdyB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nOjoN Cj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4g KzIuIFVwZGF0ZSBHVFAtVSBJUHY0IGZsb3cgdHlwZSBpZCAyNiB0byBwY3l0cGUgaWQgMjIgbWFw cGluZyBpdGVtOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIG1h cHBpbmcgdXBkYXRlIDIyIDI2DQo+ICsNCj4gKzMuIENoZWNrIGZsb3cgcHR5cGUgdG8gcGN0eXBl IG1hcHBpbmcgYWRkcyAyNiB0aGlzIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hv dyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArNC4gUmVzZXQgR1RQLVUgSVB2NCBoYXNo IGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAy MiBoYXNoX2luc2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBEcG9ydCB3b3JkcyBhcmUgMjkgYW5k IDMwLCBlbmFibGUgaGFzaCBpbnB1dCBzZXQgZm9yIGRwb3J0OjoNCj4gKw0KPiArICAgIHRlc3Rw bWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDI5DQo+ICsg ICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBzZXQgZmllbGQg MzANCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyNidzIFJTUzo6DQo+ICsNCj4gKyAg ICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDI2DQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3Rw bWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNlbmQg ZHByb3QgR1RQLVUgSVB2NCBwYWNrZXQsIGNoZWNrIFJTUyBjb3VsZCB3b3JrLCB2ZXJpZnkgdGhl IHF1ZXVlDQo+IGlzDQo+ICsgICBiZXR3ZWVuIDEgYW5kIDgsIHByaW50IFBLVF9SWF9SU1NfSEFT SDo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9I ZWFkZXIodGVpZD0zMCkvSVAoKS8NCj4gKyAgICBVRFAoc3BvcnQ9MTAwLGRwb3J0PTIwMCkvUmF3 KCd4JyoyMCkNCj4gKw0KPiArOS4gU2VuZCBkaWZmZXJlbnQgZHBvcnQgR1RQLVUgSVB2NCBwYWNr ZXQsIGNoZWNrIHJlY2VpdmUgcGFja2V0IGZyb20NCj4gZGlmZmVyZW50DQo+ICsgICBxdWV1ZSBi dXQgYmV0d2VlbiAxIGFuZCA4OjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUHY2KCkvVURQKGRw b3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTMwKS9JUCgpLw0KPiArICAgIFVEUChzcG9ydD0x MDAsZHBvcnQ9MjAxKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogSW5uZXIg SVAgc3JjIGNvbnRyb2xzIEdUUC1VIElQdjQgcXVldWUgaW4gcXVldWUgcmVnaW9uDQo+ICs9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KPiArMS4gQ2hlY2sgZmxvdyB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nOjoNCj4gKw0KPiAr ICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzIuIFVwZGF0 ZSBHVFAtVSBJUHY0IGZsb3cgdHlwZSBpZCAyNiB0byBwY3l0cGUgaWQgMjIgbWFwcGluZyBpdGVt OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBk YXRlIDIyIDI2DQo+ICsNCj4gKzMuIENoZWNrIGZsb3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcg YWRkcyAyNiB0aGlzIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAg cGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArNC4gUmVzZXQgR1RQLVUgSVB2NCBoYXNoIGNvbmZpZ3Vy ZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNoX2lu c2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBJbm5lciBzb3VyY2Ugd29yZHMgYXJlIDE1IGFuZCAx NiwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciBpbm5lciBzcmM6Og0KPiArDQo+ICsgICAgdGVz dHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBzZXQgZmllbGQgMTUNCj4g KyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNoX2luc2V0IHNldCBmaWVs ZCAxNg0KPiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDI2J3MgUlNTOjoNCj4gKw0KPiAr ICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjYNCj4gKw0KPiArNy4gU3RhcnQgdGVz dHBtZCwgc2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJpbnQNCj4gKw0KPiArOC4gU2Vu ZCBpbm5lciBzcmMgR1RQLVUgSVB2NCBwYWNrZXQsIGNoZWNrIFJTUyBjb3VsZCB3b3JrLCB2ZXJp ZnkgdGhlDQo+IHF1ZXVlIGlzDQo+ICsgICBiZXR3ZWVuIDEgYW5kIDgsIHByaW50IFBLVF9SWF9S U1NfSEFTSDo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MzApLw0KPiArICAgIElQKHNyYz0iMS4xLjEuMSIsZHN0PSIyLjIuMi4y IikvVURQKCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2VuZCBkaWZmZXJlbnQgc3JjIEdUUC1V IElQdjQgcGFja2V0LCBjaGVjayBwbWQgcmVjZWl2ZXMgcGFja2V0IGZyb20NCj4gZGlmZmVyZW50 DQo+ICsgICBxdWV1ZSBidXQgYmV0d2VlbiAxIGFuZCA4OjoNCj4gKw0KPiArICAgIHA9RXRoZXIo KS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ICsgICAgSVAo c3JjPSIxLjEuMS4yIixkc3Q9IjIuMi4yLjIiKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsx MC4gU2VuZCBkaWZmZXJlbnQgZHN0IEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayBwbWQgcmVjZWl2 ZXMgcGFja2V0IGZyb20NCj4gc2FtZQ0KPiArICAgIHF1ZXVlOjoNCj4gKw0KPiArICAgIHA9RXRo ZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ICsgICAg SVAoc3JjPSIxLjEuMS4xIixkc3Q9IjIuMi4yLjMiKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ ICsNCj4gK1Rlc3QgQ2FzZTogSW5uZXIgSVAgZHN0IGNvbnRyb2xzIEdUUC1VIElQdjQgcXVldWUg aW4gcXVldWUgcmVnaW9uDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArMS4gQ2hlY2sgZmxvdyB0eXBlIHRvIHBj dHlwZSBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBt YXBwaW5nDQo+ICsNCj4gKzIuIFVwZGF0ZSBHVFAtVSBJUHY0IGZsb3cgdHlwZSBpZCAyNiB0byBw Y3l0cGUgaWQgMjIgbWFwcGluZyBpdGVtOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29u ZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBkYXRlIDIyIDI2DQo+ICsNCj4gKzMuIENoZWNrIGZsb3cg cHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcgYWRkcyAyNiB0aGlzIG1hcHBpbmc6Og0KPiArDQo+ICsg ICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArNC4gUmVzZXQg R1RQLVUgSVB2NCBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNv bmZpZyAwIHBjdHlwZSAyMiBoYXNoX2luc2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBJbm5lciBk c3Qgd29yZHMgYXJlIDI3IGFuZCAyOCwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciBpbm5lciBk c3Q6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9p bnNldCBzZXQgZmllbGQgMjcNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAy MiBoYXNoX2luc2V0IHNldCBmaWVsZCAyOA0KPiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlk IDI2J3MgUlNTOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjYN Cj4gKw0KPiArNy4gU3RhcnQgdGVzdHBtZCwgc2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQg cHJpbnQNCj4gKw0KPiArOC4gU2VuZCBpbm5lciBkc3QgR1RQLVUgSVB2NCBwYWNrZXQsIGNoZWNr IFJTUyBjb3VsZCB3b3JrLCB2ZXJpZnkgdGhlDQo+IHF1ZXVlIGlzDQo+ICsgICBiZXR3ZWVuIDEg YW5kIDgsIHByaW50IFBLVF9SWF9SU1NfSEFTSDo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiArICAgIElQKHNyYz0i MS4xLjEuMSIsZHN0PSIyLjIuMi4yIikvVURQKCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2Vu ZCBkaWZmZXJlbnQgZHN0IGFkZHJlc3MgR1RQLVUgSVB2NCBwYWNrZXQsIGNoZWNrIHBtZCByZWNl aXZlcw0KPiBwYWNrZXQNCj4gKyAgIGZyb20gZGlmZmVyZW50IHF1ZXVlIGJ1dCBiZXR3ZWVuIDEg YW5kIDg6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9V X0hlYWRlcih0ZWlkPTMwKS8NCj4gKyAgICBJUChzcmM9IjEuMS4xLjEiLGRzdD0iMi4yLjIuMyIp L1VEUCgpL1JhdygneCcqMjApDQo+ICsNCj4gKzEwLiBTZW5kIGRpZmZlcmVudCBzcmMgYWRkcmVz cywgY2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldCBmcm9tIHNhbWUNCj4gcXVldWU6Og0KPiArDQo+ ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTMw KS8NCj4gKyAgICBJUChzcmM9IjEuMS4xLjIiLGRzdD0iMi4yLjIuMiIpL1VEUCgpL1JhdygneCcq MjApDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlOiBURUlEIGNvbnRyb2xzIEdUUC1VIElQdjYgcXVl dWUgaW4gcXVldWUgcmVnaW9uDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKzEuIENoZWNrIGZsb3cgdHlwZSB0byBwY3R5cGUg bWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGlu Zw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLVUgSVB2NiBmbG93IHR5cGUgaWQgMjMgdG8gcGN5dHBl IGlkIDIzIG1hcHBpbmcgaXRlbTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAw IHBjdHlwZSBtYXBwaW5nIHVwZGF0ZSAyMyAyMw0KPiArDQo+ICszLiBDaGVjayBmbG93IHB0eXBl IHRvIHBjdHlwZSBtYXBwaW5nIGFkZHMgMjMgdGhpcyBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRl c3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1V IElQdjYgaGFzaCBjb25maWd1cmU6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcg MCBwY3R5cGUgMjMgaGFzaF9pbnNldCBjbGVhciBhbGwNCj4gKw0KPiArNS4gVGVpZCB3b3JkcyBh cmUgNDQgYW5kIDQ1LCBlbmFibGUgaGFzaCBpbnB1dCBzZXQgZm9yIHRlaWQ6Og0KPiArDQo+ICsg ICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQg NDQNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNl dCBmaWVsZCA0NQ0KPiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDIzJ3MgUlNTOjoNCj4g Kw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjMNCj4gKw0KPiArNy4gU3Rh cnQgdGVzdHBtZCwgc2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJpbnQNCj4gKw0KPiAr OC4gU2VuZCB0ZWlkIEdUUC1VIElQdjYgcGFja2V0LCBjaGVjayBSU1MgY291bGQgd29yaywgdmVy aWZ5IHRoZSBxdWV1ZSBpcw0KPiArICAgYmV0d2VlbiAxMCBhbmQgMjUsIHByaW50IFBLVF9SWF9S U1NfSEFTSDo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQ X1VfSGVhZGVyKHRlaWQ9MHhmZSkvSVB2NigpLw0KPiArICAgIFVEUChzcG9ydD0xMDAsZHBvcnQ9 MjAwKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRpZmZlcmVudCB0ZWlkIEdUUC1VIElQ djQgcGFja2V0LCBjaGVjayBwbWQgcmVjZWl2ZXMgcGFja2V0IGZyb20NCj4gKyAgIGRpZmZlcmVu dCBxdWV1ZSBidXQgYmV0d2VlbiAxMCBhbmQgMjU6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQ KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTB4ZmYpL0lQdjYoKS8NCj4gKyAg ICBVRFAoc3BvcnQ9MTAwLGRwb3J0PTIwMCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArDQo+ICtUZXN0 IENhc2U6IFNwb3J0IGNvbnRyb2xzIEdUUC1VIElQdjYgcXVldWUgaW4gcXVldWUgcmVnaW9uDQo+ ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQo+ICsxLiBDaGVjayBmbG93IHR5cGUgdG8gcGN0eXBlIG1hcHBpbmc6Og0KPiArDQo+ICsg ICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArMi4gVXBkYXRl IEdUUC1VIElQdjYgZmxvdyB0eXBlIGlkIDIzIHRvIHBjeXRwZSBpZCAyMyBtYXBwaW5nIGl0ZW06 Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgbWFwcGluZyB1cGRh dGUgMjMgMjMNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBwdHlwZSB0byBwY3R5cGUgbWFwcGluZyBh ZGRzIDIzIHRoaXMgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBw Y3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBHVFAtVSBJUHY2IGhhc2ggY29uZmlndXJl OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5z ZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIFNwb3J0IHdvcmRzIGFyZSAyOSBhbmQgMzAsIGVuYWJs ZSBoYXNoIGlucHV0IHNldCBmb3Igc3BvcnQ6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBj b25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMjkNCj4gKyAgICB0ZXN0cG1k PiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAzMA0KPiArDQo+ ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDIzJ3MgUlNTOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+ IHBvcnQgY29uZmlnIGFsbCByc3MgMjMNCj4gKw0KPiArNy4gU3RhcnQgdGVzdHBtZCwgc2V0IGZ3 ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJpbnQNCj4gKw0KPiArOC4gU2VuZCBzcG9ydCBHVFAt VSBJUHY2IHBhY2tldCwgY2hlY2sgUlNTIGNvdWxkIHdvcmssIHZlcmlmeSB0aGUgcXVldWUNCj4g aXMNCj4gKyAgIGJldHdlZW4gMTAgYW5kIDI1LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0KPiAr DQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTMwKS9JUHY2KCkvDQo+ICsgICAgVURQKHNwb3J0PTEwMCxkcG9ydD0yMDApL1JhdygneCcqMjAp DQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IHNwb3J0IEdUUC1VIElQdjYgcGFja2V0LCBjaGVj ayBwbWQgcmVjZWl2ZXMgcGFja2V0IGZyb20NCj4gKyAgIGRpZmZlcmVudCBxdWV1ZSBidXQgYmV0 d2VlbiAxMCBhbmQgMjU6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIx NTIpL0dUUF9VX0hlYWRlcih0ZWlkPTMwKS9JUHY2KCkvDQo+ICsgICAgVURQKHNwb3J0PTEwMSxk cG9ydD0yMDApL1JhdygneCcqMjApDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlOiBEcG9ydCBjb250 cm9scyBHVFAtVSBJUHY2IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArMS4gQ2hlY2sg ZmxvdyB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cg cG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzIuIFVwZGF0ZSBHVFAtVSBJUHY2IGZsb3cg dHlwZSBpZCAyMyB0byBwY3l0cGUgaWQgMjMgbWFwcGluZyBpdGVtOjoNCj4gKw0KPiArICAgIHRl c3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBkYXRlIDIzIDIzDQo+ICsNCj4g KzMuIENoZWNrIGZsb3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcgYWRkcyAyMyB0aGlzIG1hcHBp bmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4g Kw0KPiArNC4gUmVzZXQgR1RQLVUgSVB2NiBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAgICB0 ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IGNsZWFyIGFsbA0KPiAr DQo+ICs1LiBEcG9ydCB3b3JkcyBhcmUgMjkgYW5kIDMwLCBlbmFibGUgaGFzaCBpbnB1dCBzZXQg Zm9yIGRwb3J0OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIz IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDI5DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBw Y3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMzANCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cg dHlwZSBpZCAyMydzIFJTUzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwg cnNzIDIzDQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUg b3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNlbmQgZHBvcnQgR1RQLVUgSVB2NiBwYWNrZXQsIGNo ZWNrIFJTUyBjb3VsZCB3b3JrLCB2ZXJpZnkgdGhlIHF1ZXVlDQo+ICsgICBpcyBiZXR3ZWVuIDEw IGFuZCAyNSwgcHJpbnQgUEtUX1JYX1JTU19IQVNIOjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9J UCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvSVB2NigpLw0KPiArICAg IFVEUChzcG9ydD0xMDAsZHBvcnQ9MjAwKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRp ZmZlcmVudCBkcG9ydCBHVFAtVSBJUHY2IHBhY2tldCwgY2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tl dCBmcm9tDQo+ICsgICBkaWZmZXJlbnQgcXVldWUgYnV0IGJldHdlZW4gMTAgYW5kIDI1OjoNCj4g Kw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVp ZD0zMCkvSVB2NigpLw0KPiArICAgIFVEUChzcG9ydD0xMDAsZHBvcnQ9MjAxKS9SYXcoJ3gnKjIw KQ0KPiArDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlOiBJbm5lciBJUHY2IHNyYyBjb250cm9scyBH VFAtVSBJUHY2IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbg0KPiArPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArMS4gQ2hl Y2sgZmxvdyB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNo b3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzIuIFVwZGF0ZSBHVFAtVSBJUHY2IGZs b3cgdHlwZSBpZCAyMyB0byBwY3l0cGUgaWQgMjMgbWFwcGluZyBpdGVtOjoNCj4gKw0KPiArICAg IHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBkYXRlIDIzIDIzDQo+ICsN Cj4gKzMuIENoZWNrIGZsb3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcgYWRkcyAyMyB0aGlzIG1h cHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcN Cj4gKw0KPiArNC4gUmVzZXQgR1RQLVUgSVB2NiBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAg ICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IGNsZWFyIGFsbA0K PiArDQo+ICs1LiBJbm5lciBJUHY2IHNyYyB3b3JkcyBhcmUgMTN+MjAsIGVuYWJsZSBoYXNoIGlu cHV0IHNldCBmb3IgaW5uZXIgc3JjOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmln IDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDEzDQo+ICsgICAgdGVzdHBtZD4gcG9y dCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMTQNCj4gKyAgICB0ZXN0 cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAxNQ0KPiAr ICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxk IDE2DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBz ZXQgZmllbGQgMTcNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNo X2luc2V0IHNldCBmaWVsZCAxOA0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBl IDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDE5DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcg MCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMjANCj4gKw0KPiArNi4gRW5hYmxlIGZs b3cgdHlwZSBpZCAyMydzIFJTUzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBh bGwgcnNzIDIzDQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFi bGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNlbmQgaW5uZXIgc3JjIGFkZHJlc3MgR1RQLVUg SVB2NiBwYWNrZXRzLCBjaGVjayBSU1MgY291bGQgd29yaywNCj4gdmVyaWZ5DQo+ICsgICB0aGUg cXVldWUgaXMgYmV0d2VlbiAxMCBhbmQgMjUsIHByaW50IFBLVF9SWF9SU1NfSEFTSDo6DQo+ICsN Cj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MzApLw0KPiArICAgIElQdjYoc3JjPSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcw OjAwMDEiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDow MDAxIikvVURQKCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2VuZCBkaWZmZXJlbnQgaW5uZXIg c3JjIEdUUC1VIElQdjYgcGFja2V0LCBjaGVjayBwbWQgcmVjZWl2ZXMgcGFja2V0DQo+ICsgICBm cm9tIGRpZmZlcmVudCBxdWV1ZSBidXQgZGJldHdlZW4gMTAgYW5kIDI1OjoNCj4gKw0KPiArICAg IHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ ICsgICAgSVB2NihzcmM9IjEwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAzNzA6MDAwMiIs DQo+ICsgICAgZHN0PSIyMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDEiKS9V RFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsxMC4gU2VuZCBkaWZmZXJlbnQgaW5uZXIgZHN0IEdU UC1VIElQdjYgcGFja2V0LCBjaGVjayBwbWQgcmVjZWl2ZXMgcGFja2V0DQo+ICsgICAgZnJvbSBz YW1lIHF1ZXVlOjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9H VFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ICsgICAgSVB2NihzcmM9IjEwMDE6MGRiODo4NWEzOjAw MDA6MDAwMDo4YTJlOjAzNzA6MDAwMSIsDQo+ICsgICAgZHN0PSIyMDAxOjBkYjg6ODVhMzowMDAw OjAwMDA6OGEyZTowMzcwOjAwMDIpL1VEUCgpL1JhdygneCcqMjApDQo+ICsNCj4gKw0KPiArDQo+ ICtUZXN0IENhc2U6IElubmVyIElQdjYgZHN0IGNvbnRyb2xzIEdUUC1VIElQdjYgcXVldWUgaW4g cXVldWUgcmVnaW9uDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsxLiBDaGVjayBmbG93IHR5cGUg dG8gcGN0eXBlIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0 eXBlIG1hcHBpbmcNCj4gKw0KPiArMi4gVXBkYXRlIEdUUC1VIElQdjYgZmxvdyB0eXBlIGlkIDIz IHRvIHBjeXRwZSBpZCAyMyBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9y dCBjb25maWcgMCBwY3R5cGUgbWFwcGluZyB1cGRhdGUgMjMgMjMNCj4gKw0KPiArMy4gQ2hlY2sg ZmxvdyBwdHlwZSB0byBwY3R5cGUgbWFwcGluZyBhZGRzIDIzIHRoaXMgbWFwcGluZzo6DQo+ICsN Cj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBS ZXNldCBHVFAtVSBJUHY2IGhhc2ggY29uZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBv cnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIElu bmVyIElQdjYgZHN0IHdvcmRzIGFyZSAyMX4yOCwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciBp bm5lciBkc3Q6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMg aGFzaF9pbnNldCBzZXQgZmllbGQgMjENCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBj dHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAyMg0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29u ZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDIzDQo+ICsgICAgdGVzdHBtZD4g cG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMjQNCj4gKyAgICB0 ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAyNQ0K PiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZp ZWxkIDI2DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNl dCBzZXQgZmllbGQgMjcNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBo YXNoX2luc2V0IHNldCBmaWVsZCAyOA0KPiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDIz J3MgUlNTOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjMNCj4g Kw0KPiArNy4gU3RhcnQgdGVzdHBtZCwgc2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJp bnQNCj4gKw0KPiArOC4gU2VuZCBpbm5lciBkc3QgR1RQLVUgSVB2NiBwYWNrZXRzLCBjaGVjayBS U1MgY291bGQgd29yaywgdmVyaWZ5IHRoZQ0KPiArICAgcXVldWUgaXMgYmV0d2VlbiAxMCBhbmQg MjUsIHByaW50IFBLVF9SWF9SU1NfSEFTSDo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9V RFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiArICAgIElQdjYoc3JjPSIx MDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDEiLA0KPiArICAgIGRzdD0iMjAw MTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAxIikvVURQKCkvUmF3KCd4JyoyMCkN Cj4gKw0KPiArOS4gU2VuZCBkaWZmZXJlbnQgaW5uZXIgZHN0IEdUUC1VIElQdjYgcGFja2V0cywg Y2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldA0KPiArICAgZnJvbSBkaWZmZXJlbnQgcXVldWUgYnV0 IGJldHdlZW4gMTAgYW5kIDI1OjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9y dD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ICsgICAgSVB2NihzcmM9IjEwMDE6MGRi ODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAzNzA6MDAwMSIsDQo+ICsgICAgZHN0PSIyMDAxOjBkYjg6 ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDIiKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ ICsxMC4gU2VuZCBkaWZmZXJlbnQgaW5uZXIgc3JjIEdUUC1VIElQdjYgcGFja2V0cywgY2hlY2sg cG1kIHJlY2VpdmVzDQo+IHBhY2tldA0KPiArICAgIGZyb20gc2FtZSBxdWV1ZTo6DQo+ICsNCj4g KyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzAp Lw0KPiArICAgIElQdjYoc3JjPSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAw MDIiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAx IikvVURQKCkvUmF3KCd4JyoyMCkNCj4gLS0NCj4gMi41LjUNCg0K