From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id ECC584C74 for ; Thu, 8 Mar 2018 09:09:40 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Mar 2018 00:09:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,440,1515484800"; d="scan'208";a="36936660" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga001.jf.intel.com with ESMTP; 08 Mar 2018 00:09:40 -0800 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 8 Mar 2018 00:09:39 -0800 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 8 Mar 2018 00:09:39 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.125]) by shsmsx102.ccr.corp.intel.com ([169.254.2.124]) with mapi id 14.03.0319.002; Thu, 8 Mar 2018 16:09:38 +0800 From: "Lin, Xueqin" To: "Liu, Yong" , "dts@dpdk.org" Thread-Topic: [dts] [dts PATCH]: test plans: add ddp gtp ipv6 test plan Thread-Index: AQHTnlWwI8DdFvfyCUSDvAagAZZY+6PFgyaAgACmLiA= Date: Thu, 8 Mar 2018 08:09:38 +0000 Message-ID: <0D300480287911409D9FF92C1FA2A3355B2B2236@SHSMSX104.ccr.corp.intel.com> References: <1517795116-71193-1-git-send-email-xueqin.lin@intel.com> <86228AFD5BCD8E4EBFD2B90117B5E81E62FAB4B4@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <86228AFD5BCD8E4EBFD2B90117B5E81E62FAB4B4@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] [dts PATCH]: test plans: add ddp gtp ipv6 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:09:42 -0000 SGkgTWFydmluLA0KSSBub3RpY2VkIGFuZCBjb25zaWRlcmVkIHRoaXMgbmFtZSBiZWZvcmUsIGJ1 dCBkb24ndCBoYXZlIGEgc2F0aXNmYWN0b3J5IGFuc3dlci4NClRoZSBKSVJBICBmZWF0dXJlIG5h bWUgaXMgRERQIEdUUCBJUFY2LCBidXQgc29tZSBJUFY2IGhhcyByZWFsaXplZCBhbmQgdGVzdGVk IGluIEREUCBHVFAuDQpGZWF0dXJlIHJlcXVpcmVtZW50cyBhcmUgbW9yZSBmdW5jdGlvbnMgZm9y IEREUCBHVFAsIGJ1dCBzb21lIHNjZW5hcmlvcyBhcmUgZGlmZmVyZW50IGZyb20gRERQIEdUUC4N Ck1heWJlIGRkcCBndHAgcXJlZ2lvbiBpcyBiZXR0ZXIuICBBcmUgeW91IGFncmVlPyANCg0KQmVz dCByZWdhcmRzLA0KWHVlcWluDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206 IExpdSwgWW9uZyANClNlbnQ6IFRodXJzZGF5LCBNYXJjaCA4LCAyMDE4IDI6MDIgUE0NClRvOiBM aW4sIFh1ZXFpbiA8eHVlcWluLmxpbkBpbnRlbC5jb20+OyBkdHNAZHBkay5vcmcNCkNjOiBMaW4s IFh1ZXFpbiA8eHVlcWluLmxpbkBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2R0c10gW2R0cyBQ QVRDSF06IHRlc3QgcGxhbnM6IGFkZCBkZHAgZ3RwIGlwdjYgdGVzdCBwbGFuDQoNCkhpIFh1ZXFp biwNCkFzIHRlc3QgcGxhbiBpcyBuYW1lcyBhcyBpcHY2LCB3aHkgSVB2NCByZWxhdGVkIHRlc3Qg Y2FzZSBleGlzdGluZyBpbiB0aGlzIHRlc3QgcGxhbj8NCklzIGl0IGJldHRlciB0aGF0IHBsYWNl IHRoZW0gaW4gZGRwX2d0cF90ZXN0X3BsYW4/DQoNCitUZXN0IENhc2U6IElubmVyIElQIGRzdCBj b250cm9scyBHVFAtVSBJUHY0IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbiBUZXN0IA0KK0Nhc2U6IFRF SUQgY29udHJvbHMgR1RQLVUgSVB2NCBxdWV1ZSBpbiBxdWV1ZSByZWdpb24NCg0KVGhhbmtzLA0K TWFydmluDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZHRzIFttYWls dG86ZHRzLWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBYdWVxaW4gTGluDQo+IFNlbnQ6 IE1vbmRheSwgRmVicnVhcnkgMDUsIDIwMTggOTo0NSBBTQ0KPiBUbzogZHRzQGRwZGsub3JnDQo+ IENjOiBMaW4sIFh1ZXFpbiA8eHVlcWluLmxpbkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtkdHNd IFtkdHMgUEFUQ0hdOiB0ZXN0IHBsYW5zOiBhZGQgZGRwIGd0cCBpcHY2IHRlc3QgcGxhbg0KPiAN Cj4gLS0tDQo+ICB0ZXN0X3BsYW5zL2RkcF9ndHBfaXB2Nl90ZXN0X3BsYW4ucnN0IHwgNzAwDQo+ ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIDEgZmlsZSBjaGFuZ2VkLCA3 MDAgaW5zZXJ0aW9ucygrKQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RfcGxhbnMvZGRwX2d0 cF9pcHY2X3Rlc3RfcGxhbi5yc3QNCj4gDQo+IGRpZmYgLS1naXQgYS90ZXN0X3BsYW5zL2RkcF9n dHBfaXB2Nl90ZXN0X3BsYW4ucnN0DQo+IGIvdGVzdF9wbGFucy9kZHBfZ3RwX2lwdjZfdGVzdF9w bGFuLnJzdA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwLi4wZTg0NWJk DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvdGVzdF9wbGFucy9kZHBfZ3RwX2lwdjZfdGVzdF9w bGFuLnJzdA0KPiBAQCAtMCwwICsxLDcwMCBAQA0KPiArLi4gQ29weXJpZ2h0IChjKSA8MjAxNz4s IEludGVsIENvcnBvcmF0aW9uDQo+ICsgICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiArDQo+ICsg ICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo IG9yIHdpdGhvdXQNCj4gKyAgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0 aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KPiArICAgYXJlIG1ldDoNCj4gKw0KPiArICAg LSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv cHlyaWdodA0KPiArICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg Zm9sbG93aW5nIGRpc2NsYWltZXIuDQo+ICsNCj4gKyAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJp bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4gKyAgICAgbm90 aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy IGluDQo+ICsgICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv dmlkZWQgd2l0aCB0aGUNCj4gKyAgICAgZGlzdHJpYnV0aW9uLg0KPiArDQo+ICsgICAtIE5laXRo ZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMNCj4g KyAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k dWN0cyBkZXJpdmVkDQo+ICsgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCj4gKw0KPiArICAgVEhJUyBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUw0KPiArICAg IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs IEJVVCBOT1QNCj4gKyAgIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQo+ICsgICBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQ0KPiArICAgQ09QWVJJR0hUIE9X TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULA0K PiArICAgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB TUFHRVMNCj4gKyAgIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg T0YgU1VCU1RJVFVURSBHT09EUyBPUg0KPiArICAgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pDQo+ICsgICBIT1dFVkVSIENB VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs DQo+ICsgICBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP UiBPVEhFUldJU0UpDQo+ICsgICBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEDQo+ICsgICBPRiBUSEUgUE9TU0lCSUxJVFkg T0YgU1VDSCBEQU1BR0UuDQo+ICsNCj4gKz09PT09PT09PT09PT0NCj4gK0REUCBHVFAgSVB2Ng0K PiArPT09PT09PT09PT09PQ0KPiArDQo+ICtERFAgcHJvZmlsZSAweDgwMDAwMDA4IGFkZHMgc3Vw cG9ydCBmb3IgR1RQIHdpdGggSVB2NCBvciBJUHY2IHBheWxvYWQuDQo+ICtUaGUgdGVzdCBjYXNl IHBsYW4gZm9jdXMgb24gbW9yZSBERFAgR1RQIHJlcXVpcmVtZW50cyBhcyBiZWxvdy4gRm9yIA0K PiArRERQIEdUUCBpbnRyb2R1Y3Rpb24sIHBsZWFzZSByZWZlciB0byBERFAgR1RQIHRlc3QgcGxh bi4NCj4gKw0KPiArUmVxdWlyZW1lbnRzDQo+ICs9PT09PT09PT09PT0NCj4gKzEuIEdUUC1DIGRp c3RyaWJ1dGVkIHRvIGNvbnRyb2wgcGxhbmUgcXVldWVzIHJlZ2lvbiB1c2luZyBvdXRlciBJUA0K PiArICAgZGVzdGluYXRpb24gYWRkcmVzcyBhcyBoYXNoIGlucHV0IHNldCAodGhlcmUgaXMgbm8g aW5uZXIgSVAgaGVhZGVycw0KPiArICAgZm9yIEdUUC1DIHBhY2tldHMpDQo+ICsyLiBHVFAtVSBk aXN0cmlidXRlZCB0byBkYXRhIHBsYW5lIHF1ZXVlcyByZWdpb24gdXNpbmcgaW5uZXIgSVAgc291 cmNlDQo+ICsgICBhZGRyZXNzIGFzIGhhc2ggaW5wdXQgc2V0Lg0KPiArMy4gR1RQLUMgZGlzdHJp YnV0ZWQgdG8gY29udHJvbCBwbGFuZSBxdWV1ZXMgcmVnaW9uIHVzaW5nIFRFSUQgYXMgaGFzaA0K PiArICAgaW5wdXQgc2V0Lg0KPiArNC4gR1RQLVUgZGlzdHJpYnV0ZWQgdG8gZGF0YSBwbGFuZSBx dWV1ZXMgcmVnaW9uIHVzaW5nIFRFSUQgYW5kIGlubmVyDQo+ICsgICBwYWNrZXQgNS10dXBsZSBh cyBoYXNoIGlucHV0IHNldC4NCj4gKw0KPiArRlZMIHN1cHBvcnRzIHF1ZXVlIHJlZ2lvbnMgY29u ZmlndXJhdGlvbiBmb3IgUlNTLCBzbyBkaWZmZXJlbnQgDQo+ICt0cmFmZmljIGNsYXNzZXMgb3Ig ZGlmZmVyZW50IHBhY2tldCBjbGFzc2lmaWNhdGlvbiB0eXBlcyBjYW4gYmUgDQo+ICtzZXBhcmF0 ZWQgdG8gZGlmZmVyZW50IHF1ZXVlIHJlZ2lvbnMgd2hpY2ggaW5jbHVkZXMgc2V2ZXJhbCBxdWV1 ZXMuIA0KPiArU3VwcG9ydCB0byBzZXQgaGFzaCBpbnB1dCBzZXQgaW5mbyBmb3IgUlNTIGZsZXhp YmxlIHBheWxvYWQsIHRoZW4gDQo+ICtlbmFibGUgbmV3IHByb3RvY29scycgUlNTLg0KPiArRHlu YW1pYyBmbG93IHR5cGUgZmVhdHVyZSBpbnRyb2R1Y2VzIEdUUCBwY3R5cGUgYW5kIGZsb3cgdHlw ZSwgZGVzaWduIA0KPiArYW5kIGFkZCBxdWV1ZSByZWdpb24vcXVldWUgcmFuZ2UgbWFwcGluZyBh cyBiZWxvdyB0YWJsZS4gRm9yIG1vcmUNCj4gZGV0YWlsZWQNCj4gK2FuZCByZWxhdGl2ZSBpbmZv cm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIGR5bmFtaWMgZmxvdyB0eXBlIGFuZCBxdWV1ZSANCj4g K3JlZ2lvbiB0ZXN0IHBsYW46Og0KPiArDQo+ICsgICAgDQo+ICsgKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0NCj4gKyAt DQo+ICsNCj4gKyAgICB8IFBhY2tldCBUeXBlIHwgICBQQ1R5cGVzICB8IEZsb3cgVHlwZXMgfCBR dWV1ZSByZWdpb24gfCBRdWV1ZSByYW5nZQ0KPiB8DQo+ICsgICAgDQo+ICsgKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0N Cj4gKyAtDQo+ICsNCj4gKyAgICB8IEdUUC1VIElQdjQgIHwgICAgIDIyICAgICB8ICAgIDI2ICAg ICAgfCAgICAgIDAgICAgICAgfCAgICAgMX44DQo+IHwNCj4gKyAgICANCj4gKyArLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQ0KPiArIC0NCj4gKw0KPiArICAgIHwgR1RQLVUgSVB2NiAgfCAgICAgMjMgICAgIHwgICAgMjMg ICAgICB8ICAgICAgMSAgICAgICB8ICAgICAxMH4yNQ0KPiB8DQo+ICsgICAgDQo+ICsgKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0NCj4gKyAtDQo+ICsNCj4gKyAgICB8IEdUUC1VIFBBWTQgIHwgICAgIDI0ICAgICB8ICAg IDI0ICAgICAgfCAgICAgIDIgICAgICAgfCAgICAgMzB+MzcNCj4gfA0KPiArICAgIA0KPiArICst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tDQo+ICsgLQ0KPiArDQo+ICsgICAgfCBHVFAtQyBQQVk0ICB8ICAgICAyNSAgICAg fCAgICAyNSAgICAgIHwgICAgICAzICAgICAgIHwgICAgIDQwfjU1DQo+IHwNCj4gKyAgICANCj4g KyArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQ0KPiArIC0NCj4gKw0KPiArDQo+ICtQcmVyZXF1aXNpdGVzDQo+ICs9PT09 PT09PT09PT09DQo+ICsNCj4gKzEuIEhvc3QgUEYgaW4gRFBESyBkcml2ZXI6Og0KPiArDQo+ICsg ICAgLi90b29scy9kcGRrLWRldmJpbmQucHkgLWIgaWdiX3VpbyA4MTowMC4wDQo+ICsNCj4gKzIu IFN0YXJ0IHRlc3RwbWQgb24gaG9zdCwgc2V0IGNoYWluZWQgcG9ydCB0b3BvbG9neSBtb2RlLCBh ZGQgdHhxL3J4cSB0bw0KPiArICAgZW5hYmxlIG11bHRpLXF1ZXVlcy4gSW4gZ2VuZXJhbCwgUEYn cyBtYXggcXVldWUgaXMgNjQ6Og0KPiArDQo+ICsgICAgLi90ZXN0cG1kIC1jIGYgLW4gNCAtLSAt aSAtLXBvcnQtdG9wb2xvZ3k9Y2hhaW5lZCAtLXR4cT02NCANCj4gKyAtLXJ4cT02NA0KPiArDQo+ ICtMb2FkL2RlbGV0ZSBkeW5hbWljIGRldmljZSBwZXJzb25hbGl6YXRpb24gDQo+ICs9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKw0KPiArMS4gU3RvcCB0ZXN0 cG1kIHBvcnQgYmVmb3JlIGxvYWRpbmcgcHJvZmlsZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kID4g cG9ydCBzdG9wIGFsbA0KPiArDQo+ICsyLiBMb2FkIGd0cC5wa2dvIGZpbGUgdG8gdGhlIG1lbW9y eSBidWZmZXIsIHNhdmUgb3JpZ2luYWwgY29uZmlndXJhdGlvbg0KPiArICAgYW5kIHJldHVybiBp biB0aGUgc2FtZSBidWZmZXIgdG8gdGhlIGd0cC5iYWsgZmlsZTo6DQo+ICsNCj4gKyAgICB0ZXN0 cG1kID4gZGRwIGFkZCAocG9ydF9pZCkgL3RtcC9ndHAucGtnbywvdG1wL2d0cC5iYWsNCj4gKw0K PiArMy4gUmVtb3ZlIHByb2ZpbGUgZnJvbSB0aGUgbmV0d29yayBhZGFwdGVyIGFuZCByZXN0b3Jl IG9yaWdpbmFsDQo+ICsgICBjb25maWd1cmF0aW9uOjoNCj4gKw0KPiArICAgIHRlc3RwbWQgPiBk ZHAgZGVsIChwb3J0X2lkKSAvdG1wL2d0cC5iYWsNCj4gKw0KPiArNC4gU3RhcnQgdGVzdHBtZCBw b3J0OjoNCj4gKw0KPiArICAgIHRlc3RwbWQgPiBwb3J0IHN0YXJ0IGFsbA0KPiArDQo+ICtOb3Rl Og0KPiArDQo+ICsxLiBHdHAucGtnbyBwcm9maWxlIGlzIG5vdCByZWxlYXNlZCBieSBORCB5ZXQs IG9ubHkgaGF2ZSBlbmdpbmVlciANCj4gK3ZlcnNpb24NCj4gZm9yDQo+ICsgICBpbnRlcm5hbCB1 c2Ugc28gZmFyLiBQbGFuIHRvIGtlZXAgcHVibGljIHJlZmVyZW5jZSBwcm9maWxlcyBhdCBJbnRl bA0KPiArICAgRGV2ZWxvcGVyIFpvbmUsIHJlbGVhc2UgdmVyc2lvbnMgb2YgcHJvZmlsZXMgYW5k IHN1cHBseSBsaW5rIGxhdGVyLg0KPiArDQo+ICsyLiBMb2FkaW5nIEREUCBpcyB0aGUgcHJlcmVx dWlzaXRlIGZvciBiZWxvdyBHVFAgcmVsYXRpdmUgY2FzZXMuIExvYWQNCj4gKyAgIHByb2ZpbGUg YWdhaW4gb25jZSByZXN0YXJ0aW5nIHRlc3RwbWQgdG8gbGV0IHNvZnR3YXJlIGRldGVjdCB0aGlz DQo+ICsgICBldmVudCwgYWx0aG91Z2ggaGFzIOKAnHByb2ZpbGUgaGFzIGFscmVhZHkgZXhpc3Rl ZOKAnSByZW1pbmRlci4gT3BlcmF0ZQ0KPiArICAgZ2xvYmFsIHJlc2V0IG9yIGxhbmNvbmYgdG9v bCB0byByZWNvdmVyIG9yaWdpbmFsIHNldHRpbmcuIEdsb2JhbCByZXNldA0KPiArICAgdHJpZ2dl ciByZWcgaXMgMHhiODE5MCwgZmlyc3QgY21kIGlzIGNvcmUgcmVzZXQsIHNlY29uZCBjbWQgaXMg Z2xvYmFsDQo+ICsgICByZXNldDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kID4gd3JpdGUgcmVnIDAg MHhiODE5MCAxDQo+ICsgICAgdGVzdHBtZCA+IHdyaXRlIHJlZyAwIDB4YjgxOTAgMg0KPiArDQo+ ICsNCj4gK0Zsb3cgdHlwZSBhbmQgcXVldWUgcmVnaW9uIG1hcHBpbmcgc2V0dGluZyANCj4gKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArMS4gQXMgYWJvdmUg bWFwcGluZyB0YWJsZSwgc2V0IHF1ZXVlIHJlZ2lvbiBvbiBhIHBvcnQ6Og0KPiArDQo+ICsgICAg dGVzdHBtZD4gc2V0IHBvcnQgMCBxdWV1ZS1yZWdpb24gcmVnaW9uX2lkIDAgcXVldWVfc3RhcnRf aW5kZXggMQ0KPiBxdWV1ZV9udW0gOA0KPiArICAgIHRlc3RwbWQ+IHNldCBwb3J0IDAgcXVldWUt cmVnaW9uIHJlZ2lvbl9pZCAxIHF1ZXVlX3N0YXJ0X2luZGV4IDEwDQo+IHF1ZXVlX251bSAxNg0K PiArICAgIHRlc3RwbWQ+IHNldCBwb3J0IDAgcXVldWUtcmVnaW9uIHJlZ2lvbl9pZCAyIHF1ZXVl X3N0YXJ0X2luZGV4IDMwDQo+IHF1ZXVlX251bSA4DQo+ICsgICAgdGVzdHBtZD4gc2V0IHBvcnQg MCBxdWV1ZS1yZWdpb24gcmVnaW9uX2lkIDMgcXVldWVfc3RhcnRfaW5kZXggNDANCj4gcXVldWVf bnVtIDE2DQo+ICsNCj4gKzIuIFNldCB0aGUgbWFwcGluZyBvZiBmbG93IHR5cGUgdG8gcmVnaW9u IGluZGV4IG9uIGEgcG9ydDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVl LXJlZ2lvbiByZWdpb25faWQgMCBmbG93dHlwZSAyNg0KPiArICAgIHRlc3RwbWQ+IHNldCBwb3J0 IDAgcXVldWUtcmVnaW9uIHJlZ2lvbl9pZCAxIGZsb3d0eXBlIDIzDQo+ICsgICAgdGVzdHBtZD4g c2V0IHBvcnQgMCBxdWV1ZS1yZWdpb24gcmVnaW9uX2lkIDIgZmxvd3R5cGUgMjQNCj4gKyAgICB0 ZXN0cG1kPiBzZXQgcG9ydCAwIHF1ZXVlLXJlZ2lvbiByZWdpb25faWQgMyBmbG93dHlwZSAyNQ0K PiArICAgIHRlc3RwbWQ+IHNldCBwb3J0IDAgcXVldWUtcmVnaW9uIGZsdXNoIG9uDQo+ICsNCj4g KzMuIGZsdXNoIGFsbCBxdWV1ZSByZWdpb25zOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNldCBw b3J0IDAgcXVldWUtcmVnaW9uIGZsdXNoIG9mZg0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogT3V0 ZXIgSVB2NiBkc3QgY29udHJvbHMgR1RQLUMgcXVldWUgaW4gcXVldWUgcmVnaW9uIA0KPiArPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCj4gKw0KPiArMS4gQ2hlY2sgZmxvdyBwdHlwZSB0byBwY3R5cGUgbWFwcGluZzo6DQo+ICsN Cj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICsyLiBV cGRhdGUgR1RQLUMgZmxvdyB0eXBlIGlkIDI1IHRvIHBjeXRwZSBpZCAyNSBtYXBwaW5nIGl0ZW06 Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgbWFwcGluZyB1cGRh dGUgMjUgMjUNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBwdHlwZSB0byBwY3R5cGUgbWFwcGluZyBh ZGRzIDI1IHRoaXMgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBHVFAtQyBoYXNoIGNvbmZpZ3Vy ZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyNSBoYXNoX2lu c2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBPdXRlciBkc3QgYWRkcmVzcyB3b3JkcyBhcmUgNTB+ NTcsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBmb3Igb3V0ZXINCj4gZHN0OjoNCj4gKw0KPiArICAg IHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDUw DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjUgaGFzaF9pbnNldCBzZXQg ZmllbGQgNTENCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyNSBoYXNoX2lu c2V0IHNldCBmaWVsZCA1Mg0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1 IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDUzDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBw Y3R5cGUgMjUgaGFzaF9pbnNldCBzZXQgZmllbGQgNTQNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNv bmZpZyAwIHBjdHlwZSAyNSBoYXNoX2luc2V0IHNldCBmaWVsZCA1NQ0KPiArICAgIHRlc3RwbWQ+ IHBvcnQgY29uZmlnIDAgcGN0eXBlIDI1IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDU2DQo+ICsgICAg dGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjUgaGFzaF9pbnNldCBzZXQgZmllbGQgNTcN Cj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyNSdzIFJTUzo6DQo+ICsNCj4gKyAgICB0 ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDI1DQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQs IHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNlbmQgb3V0 ZXIgZHN0IEdUUC1DIHBhY2tldCwgY2hlY2sgUlNTIGNvdWxkIHdvcmssIHZlcmlmeSB0aGUgcXVl dWUgaXMNCj4gKyAgIGJldHdlZW4gNDAgYW5kIDU1LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0K PiArDQo+ICsgICAgcD1FdGhlcigpL0lQdjYoc3JjPSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6 OGEyZTowMzcwOjAwMDEiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhh MmU6MDM3MDowMDAxIikvVURQKGRwb3J0PTIxMjMpLw0KPiArICAgIEdUUF9VX0hlYWRlcigpL1Jh dygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IG91dGVyIGRzdCBHVFAtQyBwYWNr ZXQsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQgZnJvbQ0KPiArICAgZGlmZmVyZW50IHF1ZXVl IGJ1dCBiZXR3ZWVuIDQwIGFuZCA1NTo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVB2NihzcmM9 IjEwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAzNzA6MDAwMSIsDQo+ICsgICAgZHN0PSIy MDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDIiKS9VRFAoZHBvcnQ9MjEyMykv DQo+ICsgICAgR1RQX1VfSGVhZGVyKCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArMTAuIFNlbmQgZGlm ZmVyZW50IG91dGVyIHNyYyBHVFAtQyBwYWNrZXQsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQg ZnJvbQ0KPiArICAgIHNhbWUgcXVldWU6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQdjYoc3Jj PSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDIiLA0KPiArICAgIGRzdD0i MjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAxIikvDQo+ICsgICAgVURQKGRw b3J0PTIxMjMpL0dUUF9VX0hlYWRlcigpL1JhdygneCcqMjApDQo+ICsNCj4gKw0KPiArVGVzdCBD YXNlOiBURUlEIGNvbnRyb2xzIEdUUC1DIHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbiANCj4gKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKw0KPiAr MS4gQ2hlY2sgZmxvdyBwdHlwZSB0byBwY3R5cGUgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0 cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLUMg ZmxvdyB0eXBlIGlkIDI1IHRvIHBjeXRwZSBpZCAyNSBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsg ICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgbWFwcGluZyB1cGRhdGUgMjUgMjUNCj4g Kw0KPiArMy4gQ2hlY2sgZmxvdyBwdHlwZSB0byBwY3R5cGUgbWFwcGluZyBhZGRzIDI1IHRoaXMg bWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBHVFAtQyBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4g KyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyNSBoYXNoX2luc2V0IGNsZWFyIGFs bA0KPiArDQo+ICs1LiBUZWlkIHdvcmRzIGFyZSA0NCBhbmQgNDUsIGVuYWJsZSBoYXNoIGlucHV0 IHNldCBmb3IgdGVpZDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlw ZSAyNSBoYXNoX2luc2V0IHNldCBmaWVsZCA0NA0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmln IDAgcGN0eXBlIDI1IGhhc2hfaW5zZXQgc2V0IGZpZWxkIDQ1DQo+ICsNCj4gKzYuIEVuYWJsZSBm bG93IHR5cGUgaWQgMjUncyBSU1M6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcg YWxsIHJzcyAyNQ0KPiArDQo+ICs3LiBTdGFydCB0ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5h YmxlIG91dHB1dCBwcmludA0KPiArDQo+ICs4LiBTZW5kIHRlaWQgR1RQLUMgcGFja2V0LCBjaGVj ayBSU1MgY291bGQgd29yaywgdmVyaWZ5IHRoZSBxdWV1ZSBpcw0KPiArICAgYmV0d2VlbiA0MCBh bmQgNTUsIHByaW50IFBLVF9SWF9SU1NfSEFTSDo6DQo+ICsNCj4gKyAgICANCj4gKyBwPUV0aGVy KCkvSVB2NigpL1VEUChkcG9ydD0yMTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weGZlKS9SYXcoJ3gn KjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRpZmZlcmVudCB0ZWlkIEdUUC1DIHBhY2tldCwgY2hlY2sg cmVjZWl2ZSBwYWNrZXQgZnJvbSBkaWZmZXJlbnQNCj4gKyAgIHF1ZXVlIGJ1dCBiZXR3ZWVuIDQw IGFuZCA1NTo6DQo+ICsNCj4gKyAgICANCj4gKyBwPUV0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0y MTIzKS9HVFBfVV9IZWFkZXIodGVpZD0weGZmKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4gK1Rl c3QgQ2FzZTogVEVJRCBjb250cm9scyBHVFAtVSBJUHY0IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbiAN Cj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KPiArMS4gQ2hlY2sgZmxvdyB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nOjoNCj4gKw0KPiAr ICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzIuIFVwZGF0 ZSBHVFAtVSBJUHY0IGZsb3cgdHlwZSBpZCAyNiB0byBwY3l0cGUgaWQgMjIgbWFwcGluZyBpdGVt OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBk YXRlIDIyIDI2DQo+ICsNCj4gKzMuIENoZWNrIGZsb3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcg YWRkcyAyNiB0aGlzIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAg cGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArNC4gUmVzZXQgR1RQLVUgSVB2NCBoYXNoIGNvbmZpZ3Vy ZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNoX2lu c2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBUZWlkIHdvcmRzIGFyZSA0NCBhbmQgNDUsIGVuYWJs ZSBoYXNoIGlucHV0IHNldCBmb3IgdGVpZDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNv bmZpZyAwIHBjdHlwZSAyMiBoYXNoX2luc2V0IHNldCBmaWVsZCA0NA0KPiArICAgIHRlc3RwbWQ+ IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDQ1DQo+ICsNCj4g KzYuIEVuYWJsZSBmbG93IHR5cGUgaWQgMjYncyBSU1M6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4g cG9ydCBjb25maWcgYWxsIHJzcyAyNg0KPiArDQo+ICs3LiBTdGFydCB0ZXN0cG1kLCBzZXQgZndk IHJ4b25seSwgZW5hYmxlIG91dHB1dCBwcmludA0KPiArDQo+ICs4LiBTZW5kIHRlaWQgR1RQLVUg SVB2NCBwYWNrZXQsIGNoZWNrIFJTUyBjb3VsZCB3b3JrLCB2ZXJpZnkgdGhlIHF1ZXVlIGlzDQo+ ICsgICBiZXR3ZWVuIDEgYW5kIDgsIHByaW50IFBLVF9SWF9SU1NfSEFTSDo6DQo+ICsNCj4gKw0K PiBwPUV0aGVyKCkvSVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGZl KS9JUCgpL1JhdygneCcqDQo+IDIwKQ0KPiArDQo+ICs5LiBTZW5kIGRpZmZlcmVudCB0ZWlkIEdU UC1VIElQdjQgcGFja2V0LCBjaGVjayByZWNlaXZlIHBhY2tldCBmcm9tDQo+IGRpZmZlcmVudA0K PiArICAgcXVldWUgYnV0IGJldHdlZW4gMSBhbmQgODo6DQo+ICsNCj4gKw0KPiBwPUV0aGVyKCkv SVB2NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGZmKS9JUCgpL1Jhdygn eCcqDQo+IDIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogU3BvcnQgY29udHJvbHMgR1RQLVUg SVB2NCBxdWV1ZSBpbiBxdWV1ZSByZWdpb24gDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsxLiBDaGVjayBmbG93IHR5cGUg dG8gcGN0eXBlIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0 eXBlIG1hcHBpbmcNCj4gKw0KPiArMi4gVXBkYXRlIEdUUC1VIElQdjQgZmxvdyB0eXBlIGlkIDI2 IHRvIHBjeXRwZSBpZCAyMiBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9y dCBjb25maWcgMCBwY3R5cGUgbWFwcGluZyB1cGRhdGUgMjIgMjYNCj4gKw0KPiArMy4gQ2hlY2sg ZmxvdyBwdHlwZSB0byBwY3R5cGUgbWFwcGluZyBhZGRzIDI2IHRoaXMgbWFwcGluZzo6DQo+ICsN Cj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBS ZXNldCBHVFAtVSBJUHY0IGhhc2ggY29uZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBv cnQgY29uZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIFNw b3J0IHdvcmRzIGFyZSAyOSBhbmQgMzAsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBmb3Igc3BvcnQ6 Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNl dCBzZXQgZmllbGQgMjkNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBo YXNoX2luc2V0IHNldCBmaWVsZCAzMA0KPiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDI2 J3MgUlNTOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjYNCj4g Kw0KPiArNy4gU3RhcnQgdGVzdHBtZCwgc2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJp bnQNCj4gKw0KPiArOC4gU2VuZCBzcG9ydCBHVFAtVSBJUHY0IHBhY2tldCwgY2hlY2sgUlNTIGNv dWxkIHdvcmssIHZlcmlmeSB0aGUgDQo+ICtxdWV1ZQ0KPiBpcw0KPiArICAgYmV0d2VlbiAxIGFu ZCA4LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQdjYo KS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApL0lQKCkvDQo+ICsgICAgVURQ KHNwb3J0PTEwMCxkcG9ydD0yMDApL1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVy ZW50IHNwb3J0IEdUUC1VIElQdjQgcGFja2V0LCBjaGVjayBwbWQgcmVjZWl2ZXMgcGFja2V0IGZy b20NCj4gKyAgIGRpZmZlcmVudCBxdWV1ZSBidXQgYmV0d2VlbiAxIGFuZCA4OjoNCj4gKw0KPiAr ICAgIHA9RXRoZXIoKS9JUHY2KCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTMw KS9JUCgpLw0KPiArICAgIFVEUChzcG9ydD0xMDEsZHBvcnQ9MjAwKS9SYXcoJ3gnKjIwKQ0KPiAr DQo+ICsNCj4gK1Rlc3QgQ2FzZTogRHBvcnQgY29udHJvbHMgR1RQLVUgSVB2NCBxdWV1ZSBpbiBx dWV1ZSByZWdpb24gDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQo+ICsxLiBDaGVjayBmbG93IHR5cGUgdG8gcGN0eXBlIG1hcHBp bmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4g Kw0KPiArMi4gVXBkYXRlIEdUUC1VIElQdjQgZmxvdyB0eXBlIGlkIDI2IHRvIHBjeXRwZSBpZCAy MiBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5 cGUgbWFwcGluZyB1cGRhdGUgMjIgMjYNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBwdHlwZSB0byBw Y3R5cGUgbWFwcGluZyBhZGRzIDI2IHRoaXMgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1k PiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBHVFAtVSBJUHY0 IGhhc2ggY29uZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0 eXBlIDIyIGhhc2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIERwb3J0IHdvcmRzIGFyZSAy OSBhbmQgMzAsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBmb3IgZHBvcnQ6Og0KPiArDQo+ICsgICAg dGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBzZXQgZmllbGQgMjkN Cj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNoX2luc2V0IHNldCBm aWVsZCAzMA0KPiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDI2J3MgUlNTOjoNCj4gKw0K PiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjYNCj4gKw0KPiArNy4gU3RhcnQg dGVzdHBtZCwgc2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJpbnQNCj4gKw0KPiArOC4g U2VuZCBkcHJvdCBHVFAtVSBJUHY0IHBhY2tldCwgY2hlY2sgUlNTIGNvdWxkIHdvcmssIHZlcmlm eSB0aGUgDQo+ICtxdWV1ZQ0KPiBpcw0KPiArICAgYmV0d2VlbiAxIGFuZCA4LCBwcmludCBQS1Rf UlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQdjYoKS9VRFAoZHBvcnQ9MjE1 MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApL0lQKCkvDQo+ICsgICAgVURQKHNwb3J0PTEwMCxkcG9y dD0yMDApL1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IGRwb3J0IEdUUC1V IElQdjQgcGFja2V0LCBjaGVjayByZWNlaXZlIHBhY2tldCBmcm9tDQo+IGRpZmZlcmVudA0KPiAr ICAgcXVldWUgYnV0IGJldHdlZW4gMSBhbmQgODo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVB2 NigpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvSVAoKS8NCj4gKyAgICBV RFAoc3BvcnQ9MTAwLGRwb3J0PTIwMSkvUmF3KCd4JyoyMCkNCj4gKw0KPiArDQo+ICtUZXN0IENh c2U6IElubmVyIElQIHNyYyBjb250cm9scyBHVFAtVSBJUHY0IHF1ZXVlIGluIHF1ZXVlIHJlZ2lv biANCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQo+ICsxLiBDaGVjayBmbG93IHR5cGUgdG8gcGN0eXBlIG1hcHBpbmc6 Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0K PiArMi4gVXBkYXRlIEdUUC1VIElQdjQgZmxvdyB0eXBlIGlkIDI2IHRvIHBjeXRwZSBpZCAyMiBt YXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUg bWFwcGluZyB1cGRhdGUgMjIgMjYNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBwdHlwZSB0byBwY3R5 cGUgbWFwcGluZyBhZGRzIDI2IHRoaXMgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBz aG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBHVFAtVSBJUHY0IGhh c2ggY29uZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBl IDIyIGhhc2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIElubmVyIHNvdXJjZSB3b3JkcyBh cmUgMTUgYW5kIDE2LCBlbmFibGUgaGFzaCBpbnB1dCBzZXQgZm9yIGlubmVyIHNyYzo6DQo+ICsN Cj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMiBoYXNoX2luc2V0IHNldCBm aWVsZCAxNQ0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5z ZXQgc2V0IGZpZWxkIDE2DQo+ICsNCj4gKzYuIEVuYWJsZSBmbG93IHR5cGUgaWQgMjYncyBSU1M6 Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgYWxsIHJzcyAyNg0KPiArDQo+ICs3 LiBTdGFydCB0ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5hYmxlIG91dHB1dCBwcmludA0KPiAr DQo+ICs4LiBTZW5kIGlubmVyIHNyYyBHVFAtVSBJUHY0IHBhY2tldCwgY2hlY2sgUlNTIGNvdWxk IHdvcmssIHZlcmlmeSB0aGUNCj4gcXVldWUgaXMNCj4gKyAgIGJldHdlZW4gMSBhbmQgOCwgcHJp bnQgUEtUX1JYX1JTU19IQVNIOjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9y dD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ICsgICAgSVAoc3JjPSIxLjEuMS4xIixk c3Q9IjIuMi4yLjIiKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRpZmZlcmVu dCBzcmMgR1RQLVUgSVB2NCBwYWNrZXQsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQgDQo+ICtm cm9tDQo+IGRpZmZlcmVudA0KPiArICAgcXVldWUgYnV0IGJldHdlZW4gMSBhbmQgODo6DQo+ICsN Cj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9 MzApLw0KPiArICAgIElQKHNyYz0iMS4xLjEuMiIsZHN0PSIyLjIuMi4yIikvVURQKCkvUmF3KCd4 JyoyMCkNCj4gKw0KPiArMTAuIFNlbmQgZGlmZmVyZW50IGRzdCBHVFAtVSBJUHY0IHBhY2tldCwg Y2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldCANCj4gK2Zyb20NCj4gc2FtZQ0KPiArICAgIHF1ZXVl OjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFk ZXIodGVpZD0zMCkvDQo+ICsgICAgSVAoc3JjPSIxLjEuMS4xIixkc3Q9IjIuMi4yLjMiKS9VRFAo KS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogSW5uZXIgSVAgZHN0IGNvbnRy b2xzIEdUUC1VIElQdjQgcXVldWUgaW4gcXVldWUgcmVnaW9uIA0KPiArPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKzEu IENoZWNrIGZsb3cgdHlwZSB0byBwY3R5cGUgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1k PiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICsyLiBVcGRhdGUgR1RQLVUgSVB2 NCBmbG93IHR5cGUgaWQgMjYgdG8gcGN5dHBlIGlkIDIyIG1hcHBpbmcgaXRlbTo6DQo+ICsNCj4g KyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSBtYXBwaW5nIHVwZGF0ZSAyMiAyNg0K PiArDQo+ICszLiBDaGVjayBmbG93IHB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nIGFkZHMgMjYgdGhp cyBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBw aW5nDQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1VIElQdjQgaGFzaCBjb25maWd1cmU6Og0KPiArDQo+ ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBjbGVhciBh bGwNCj4gKw0KPiArNS4gSW5uZXIgZHN0IHdvcmRzIGFyZSAyNyBhbmQgMjgsIGVuYWJsZSBoYXNo IGlucHV0IHNldCBmb3IgaW5uZXIgZHN0OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29u ZmlnIDAgcGN0eXBlIDIyIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDI3DQo+ICsgICAgdGVzdHBtZD4g cG9ydCBjb25maWcgMCBwY3R5cGUgMjIgaGFzaF9pbnNldCBzZXQgZmllbGQgMjgNCj4gKw0KPiAr Ni4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyNidzIFJTUzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBw b3J0IGNvbmZpZyBhbGwgcnNzIDI2DQo+ICsNCj4gKzcuIFN0YXJ0IHRlc3RwbWQsIHNldCBmd2Qg cnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNlbmQgaW5uZXIgZHN0IEdU UC1VIElQdjQgcGFja2V0LCBjaGVjayBSU1MgY291bGQgd29yaywgdmVyaWZ5IHRoZQ0KPiBxdWV1 ZSBpcw0KPiArICAgYmV0d2VlbiAxIGFuZCA4LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0KPiAr DQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQKGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlk PTMwKS8NCj4gKyAgICBJUChzcmM9IjEuMS4xLjEiLGRzdD0iMi4yLjIuMiIpL1VEUCgpL1Jhdygn eCcqMjApDQo+ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IGRzdCBhZGRyZXNzIEdUUC1VIElQdjQg cGFja2V0LCBjaGVjayBwbWQgcmVjZWl2ZXMNCj4gcGFja2V0DQo+ICsgICBmcm9tIGRpZmZlcmVu dCBxdWV1ZSBidXQgYmV0d2VlbiAxIGFuZCA4OjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgp L1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ICsgICAgSVAoc3JjPSIx LjEuMS4xIixkc3Q9IjIuMi4yLjMiKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsxMC4gU2Vu ZCBkaWZmZXJlbnQgc3JjIGFkZHJlc3MsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQgZnJvbSBz YW1lDQo+IHF1ZXVlOjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUy KS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvDQo+ICsgICAgSVAoc3JjPSIxLjEuMS4yIixkc3Q9IjIu Mi4yLjIiKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogVEVJRCBj b250cm9scyBHVFAtVSBJUHY2IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbiANCj4gKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArMS4gQ2hl Y2sgZmxvdyB0eXBlIHRvIHBjdHlwZSBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNo b3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzIuIFVwZGF0ZSBHVFAtVSBJUHY2IGZs b3cgdHlwZSBpZCAyMyB0byBwY3l0cGUgaWQgMjMgbWFwcGluZyBpdGVtOjoNCj4gKw0KPiArICAg IHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIG1hcHBpbmcgdXBkYXRlIDIzIDIzDQo+ICsN Cj4gKzMuIENoZWNrIGZsb3cgcHR5cGUgdG8gcGN0eXBlIG1hcHBpbmcgYWRkcyAyMyB0aGlzIG1h cHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcN Cj4gKw0KPiArNC4gUmVzZXQgR1RQLVUgSVB2NiBoYXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAg ICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IGNsZWFyIGFsbA0K PiArDQo+ICs1LiBUZWlkIHdvcmRzIGFyZSA0NCBhbmQgNDUsIGVuYWJsZSBoYXNoIGlucHV0IHNl dCBmb3IgdGVpZDo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAy MyBoYXNoX2luc2V0IHNldCBmaWVsZCA0NA0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAg cGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDQ1DQo+ICsNCj4gKzYuIEVuYWJsZSBmbG93 IHR5cGUgaWQgMjMncyBSU1M6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgYWxs IHJzcyAyMw0KPiArDQo+ICs3LiBTdGFydCB0ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5hYmxl IG91dHB1dCBwcmludA0KPiArDQo+ICs4LiBTZW5kIHRlaWQgR1RQLVUgSVB2NiBwYWNrZXQsIGNo ZWNrIFJTUyBjb3VsZCB3b3JrLCB2ZXJpZnkgdGhlIHF1ZXVlIGlzDQo+ICsgICBiZXR3ZWVuIDEw IGFuZCAyNSwgcHJpbnQgUEtUX1JYX1JTU19IQVNIOjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9J UCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0weGZlKS9JUHY2KCkvDQo+ICsg ICAgVURQKHNwb3J0PTEwMCxkcG9ydD0yMDApL1JhdygneCcqMjApDQo+ICsNCj4gKzkuIFNlbmQg ZGlmZmVyZW50IHRlaWQgR1RQLVUgSVB2NCBwYWNrZXQsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNr ZXQgZnJvbQ0KPiArICAgZGlmZmVyZW50IHF1ZXVlIGJ1dCBiZXR3ZWVuIDEwIGFuZCAyNTo6DQo+ ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRl aWQ9MHhmZikvSVB2NigpLw0KPiArICAgIFVEUChzcG9ydD0xMDAsZHBvcnQ9MjAwKS9SYXcoJ3gn KjIwKQ0KPiArDQo+ICsNCj4gK1Rlc3QgQ2FzZTogU3BvcnQgY29udHJvbHMgR1RQLVUgSVB2NiBx dWV1ZSBpbiBxdWV1ZSByZWdpb24gDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsxLiBDaGVjayBmbG93IHR5cGUgdG8gcGN0 eXBlIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1h cHBpbmcNCj4gKw0KPiArMi4gVXBkYXRlIEdUUC1VIElQdjYgZmxvdyB0eXBlIGlkIDIzIHRvIHBj eXRwZSBpZCAyMyBtYXBwaW5nIGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25m aWcgMCBwY3R5cGUgbWFwcGluZyB1cGRhdGUgMjMgMjMNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBw dHlwZSB0byBwY3R5cGUgbWFwcGluZyBhZGRzIDIzIHRoaXMgbWFwcGluZzo6DQo+ICsNCj4gKyAg ICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBH VFAtVSBJUHY2IGhhc2ggY29uZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29u ZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIFNwb3J0IHdv cmRzIGFyZSAyOSBhbmQgMzAsIGVuYWJsZSBoYXNoIGlucHV0IHNldCBmb3Igc3BvcnQ6Og0KPiAr DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQg ZmllbGQgMjkNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2lu c2V0IHNldCBmaWVsZCAzMA0KPiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDIzJ3MgUlNT OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjMNCj4gKw0KPiAr Ny4gU3RhcnQgdGVzdHBtZCwgc2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJpbnQNCj4g Kw0KPiArOC4gU2VuZCBzcG9ydCBHVFAtVSBJUHY2IHBhY2tldCwgY2hlY2sgUlNTIGNvdWxkIHdv cmssIHZlcmlmeSB0aGUgDQo+ICtxdWV1ZQ0KPiBpcw0KPiArICAgYmV0d2VlbiAxMCBhbmQgMjUs IHByaW50IFBLVF9SWF9SU1NfSEFTSDo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApL0lQdjYoKS8NCj4gKyAgICBVRFAoc3Bv cnQ9MTAwLGRwb3J0PTIwMCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2VuZCBkaWZmZXJlbnQg c3BvcnQgR1RQLVUgSVB2NiBwYWNrZXQsIGNoZWNrIHBtZCByZWNlaXZlcyBwYWNrZXQgZnJvbQ0K PiArICAgZGlmZmVyZW50IHF1ZXVlIGJ1dCBiZXR3ZWVuIDEwIGFuZCAyNTo6DQo+ICsNCj4gKyAg ICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApL0lQ djYoKS8NCj4gKyAgICBVRFAoc3BvcnQ9MTAxLGRwb3J0PTIwMCkvUmF3KCd4JyoyMCkNCj4gKw0K PiArDQo+ICtUZXN0IENhc2U6IERwb3J0IGNvbnRyb2xzIEdUUC1VIElQdjYgcXVldWUgaW4gcXVl dWUgcmVnaW9uIA0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KPiArMS4gQ2hlY2sgZmxvdyB0eXBlIHRvIHBjdHlwZSBtYXBwaW5n OjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsN Cj4gKzIuIFVwZGF0ZSBHVFAtVSBJUHY2IGZsb3cgdHlwZSBpZCAyMyB0byBwY3l0cGUgaWQgMjMg bWFwcGluZyBpdGVtOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBl IG1hcHBpbmcgdXBkYXRlIDIzIDIzDQo+ICsNCj4gKzMuIENoZWNrIGZsb3cgcHR5cGUgdG8gcGN0 eXBlIG1hcHBpbmcgYWRkcyAyMyB0aGlzIG1hcHBpbmc6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4g c2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArNC4gUmVzZXQgR1RQLVUgSVB2NiBo YXNoIGNvbmZpZ3VyZTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlw ZSAyMyBoYXNoX2luc2V0IGNsZWFyIGFsbA0KPiArDQo+ICs1LiBEcG9ydCB3b3JkcyBhcmUgMjkg YW5kIDMwLCBlbmFibGUgaGFzaCBpbnB1dCBzZXQgZm9yIGRwb3J0OjoNCj4gKw0KPiArICAgIHRl c3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDI5DQo+ ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmll bGQgMzANCj4gKw0KPiArNi4gRW5hYmxlIGZsb3cgdHlwZSBpZCAyMydzIFJTUzo6DQo+ICsNCj4g KyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBhbGwgcnNzIDIzDQo+ICsNCj4gKzcuIFN0YXJ0IHRl c3RwbWQsIHNldCBmd2Qgcnhvbmx5LCBlbmFibGUgb3V0cHV0IHByaW50DQo+ICsNCj4gKzguIFNl bmQgZHBvcnQgR1RQLVUgSVB2NiBwYWNrZXQsIGNoZWNrIFJTUyBjb3VsZCB3b3JrLCB2ZXJpZnkg dGhlIHF1ZXVlDQo+ICsgICBpcyBiZXR3ZWVuIDEwIGFuZCAyNSwgcHJpbnQgUEtUX1JYX1JTU19I QVNIOjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9I ZWFkZXIodGVpZD0zMCkvSVB2NigpLw0KPiArICAgIFVEUChzcG9ydD0xMDAsZHBvcnQ9MjAwKS9S YXcoJ3gnKjIwKQ0KPiArDQo+ICs5LiBTZW5kIGRpZmZlcmVudCBkcG9ydCBHVFAtVSBJUHY2IHBh Y2tldCwgY2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tldCBmcm9tDQo+ICsgICBkaWZmZXJlbnQgcXVl dWUgYnV0IGJldHdlZW4gMTAgYW5kIDI1OjoNCj4gKw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VE UChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVpZD0zMCkvSVB2NigpLw0KPiArICAgIFVEUChz cG9ydD0xMDAsZHBvcnQ9MjAxKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4gKw0KPiArVGVzdCBD YXNlOiBJbm5lciBJUHY2IHNyYyBjb250cm9scyBHVFAtVSBJUHY2IHF1ZXVlIGluIHF1ZXVlIHJl Z2lvbiANCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NCj4gKzEuIENoZWNrIGZsb3cgdHlwZSB0byBwY3R5cGUgbWFw cGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBvcnQgMCBwY3R5cGUgbWFwcGluZw0K PiArDQo+ICsyLiBVcGRhdGUgR1RQLVUgSVB2NiBmbG93IHR5cGUgaWQgMjMgdG8gcGN5dHBlIGlk IDIzIG1hcHBpbmcgaXRlbTo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBj dHlwZSBtYXBwaW5nIHVwZGF0ZSAyMyAyMw0KPiArDQo+ICszLiBDaGVjayBmbG93IHB0eXBlIHRv IHBjdHlwZSBtYXBwaW5nIGFkZHMgMjMgdGhpcyBtYXBwaW5nOjoNCj4gKw0KPiArICAgIHRlc3Rw bWQ+IHNob3cgcG9ydCAwIHBjdHlwZSBtYXBwaW5nDQo+ICsNCj4gKzQuIFJlc2V0IEdUUC1VIElQ djYgaGFzaCBjb25maWd1cmU6Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBw Y3R5cGUgMjMgaGFzaF9pbnNldCBjbGVhciBhbGwNCj4gKw0KPiArNS4gSW5uZXIgSVB2NiBzcmMg d29yZHMgYXJlIDEzfjIwLCBlbmFibGUgaGFzaCBpbnB1dCBzZXQgZm9yIGlubmVyIHNyYzo6DQo+ ICsNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNl dCBmaWVsZCAxMw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hf aW5zZXQgc2V0IGZpZWxkIDE0DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUg MjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMTUNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAw IHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAxNg0KPiArICAgIHRlc3RwbWQ+IHBvcnQg Y29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDE3DQo+ICsgICAgdGVzdHBt ZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMTgNCj4gKyAg ICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAx OQ0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0 IGZpZWxkIDIwDQo+ICsNCj4gKzYuIEVuYWJsZSBmbG93IHR5cGUgaWQgMjMncyBSU1M6Og0KPiAr DQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgYWxsIHJzcyAyMw0KPiArDQo+ICs3LiBTdGFy dCB0ZXN0cG1kLCBzZXQgZndkIHJ4b25seSwgZW5hYmxlIG91dHB1dCBwcmludA0KPiArDQo+ICs4 LiBTZW5kIGlubmVyIHNyYyBhZGRyZXNzIEdUUC1VIElQdjYgcGFja2V0cywgY2hlY2sgUlNTIGNv dWxkIHdvcmssDQo+IHZlcmlmeQ0KPiArICAgdGhlIHF1ZXVlIGlzIGJldHdlZW4gMTAgYW5kIDI1 LCBwcmludCBQS1RfUlhfUlNTX0hBU0g6Og0KPiArDQo+ICsgICAgcD1FdGhlcigpL0lQKCkvVURQ KGRwb3J0PTIxNTIpL0dUUF9VX0hlYWRlcih0ZWlkPTMwKS8NCj4gKyAgICBJUHY2KHNyYz0iMTAw MTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAxIiwNCj4gKyAgICBkc3Q9IjIwMDE6 MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAzNzA6MDAwMSIpL1VEUCgpL1JhdygneCcqMjApDQo+ ICsNCj4gKzkuIFNlbmQgZGlmZmVyZW50IGlubmVyIHNyYyBHVFAtVSBJUHY2IHBhY2tldCwgY2hl Y2sgcG1kIHJlY2VpdmVzIHBhY2tldA0KPiArICAgZnJvbSBkaWZmZXJlbnQgcXVldWUgYnV0IGRi ZXR3ZWVuIDEwIGFuZCAyNTo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9 MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiArICAgIElQdjYoc3JjPSIxMDAxOjBkYjg6 ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDIiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1 YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAxIikvVURQKCkvUmF3KCd4JyoyMCkNCj4gKw0KPiAr MTAuIFNlbmQgZGlmZmVyZW50IGlubmVyIGRzdCBHVFAtVSBJUHY2IHBhY2tldCwgY2hlY2sgcG1k IHJlY2VpdmVzIHBhY2tldA0KPiArICAgIGZyb20gc2FtZSBxdWV1ZTo6DQo+ICsNCj4gKyAgICBw PUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiAr ICAgIElQdjYoc3JjPSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDEiLA0K PiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAyKS9VRFAo KS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlOiBJbm5lciBJUHY2IGRz dCBjb250cm9scyBHVFAtVSBJUHY2IHF1ZXVlIGluIHF1ZXVlIHJlZ2lvbiANCj4gKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KPiArPT09PSAxLiBDaGVjayBmbG93IHR5cGUgdG8gcGN0eXBlIG1hcHBpbmc6Og0KPiAr DQo+ICsgICAgdGVzdHBtZD4gc2hvdyBwb3J0IDAgcGN0eXBlIG1hcHBpbmcNCj4gKw0KPiArMi4g VXBkYXRlIEdUUC1VIElQdjYgZmxvdyB0eXBlIGlkIDIzIHRvIHBjeXRwZSBpZCAyMyBtYXBwaW5n IGl0ZW06Og0KPiArDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgbWFwcGlu ZyB1cGRhdGUgMjMgMjMNCj4gKw0KPiArMy4gQ2hlY2sgZmxvdyBwdHlwZSB0byBwY3R5cGUgbWFw cGluZyBhZGRzIDIzIHRoaXMgbWFwcGluZzo6DQo+ICsNCj4gKyAgICB0ZXN0cG1kPiBzaG93IHBv cnQgMCBwY3R5cGUgbWFwcGluZw0KPiArDQo+ICs0LiBSZXNldCBHVFAtVSBJUHY2IGhhc2ggY29u ZmlndXJlOjoNCj4gKw0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhh c2hfaW5zZXQgY2xlYXIgYWxsDQo+ICsNCj4gKzUuIElubmVyIElQdjYgZHN0IHdvcmRzIGFyZSAy MX4yOCwgZW5hYmxlIGhhc2ggaW5wdXQgc2V0IGZvciBpbm5lciBkc3Q6Og0KPiArDQo+ICsgICAg dGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMjEN Cj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBm aWVsZCAyMg0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5z ZXQgc2V0IGZpZWxkIDIzDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgMCBwY3R5cGUgMjMg aGFzaF9pbnNldCBzZXQgZmllbGQgMjQNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBj dHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAyNQ0KPiArICAgIHRlc3RwbWQ+IHBvcnQgY29u ZmlnIDAgcGN0eXBlIDIzIGhhc2hfaW5zZXQgc2V0IGZpZWxkIDI2DQo+ICsgICAgdGVzdHBtZD4g cG9ydCBjb25maWcgMCBwY3R5cGUgMjMgaGFzaF9pbnNldCBzZXQgZmllbGQgMjcNCj4gKyAgICB0 ZXN0cG1kPiBwb3J0IGNvbmZpZyAwIHBjdHlwZSAyMyBoYXNoX2luc2V0IHNldCBmaWVsZCAyOA0K PiArDQo+ICs2LiBFbmFibGUgZmxvdyB0eXBlIGlkIDIzJ3MgUlNTOjoNCj4gKw0KPiArICAgIHRl c3RwbWQ+IHBvcnQgY29uZmlnIGFsbCByc3MgMjMNCj4gKw0KPiArNy4gU3RhcnQgdGVzdHBtZCwg c2V0IGZ3ZCByeG9ubHksIGVuYWJsZSBvdXRwdXQgcHJpbnQNCj4gKw0KPiArOC4gU2VuZCBpbm5l ciBkc3QgR1RQLVUgSVB2NiBwYWNrZXRzLCBjaGVjayBSU1MgY291bGQgd29yaywgdmVyaWZ5IHRo ZQ0KPiArICAgcXVldWUgaXMgYmV0d2VlbiAxMCBhbmQgMjUsIHByaW50IFBLVF9SWF9SU1NfSEFT SDo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAoZHBvcnQ9MjE1MikvR1RQX1VfSGVh ZGVyKHRlaWQ9MzApLw0KPiArICAgIElQdjYoc3JjPSIxMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6 OGEyZTowMzcwOjAwMDEiLA0KPiArICAgIGRzdD0iMjAwMTowZGI4Ojg1YTM6MDAwMDowMDAwOjhh MmU6MDM3MDowMDAxIikvVURQKCkvUmF3KCd4JyoyMCkNCj4gKw0KPiArOS4gU2VuZCBkaWZmZXJl bnQgaW5uZXIgZHN0IEdUUC1VIElQdjYgcGFja2V0cywgY2hlY2sgcG1kIHJlY2VpdmVzIHBhY2tl dA0KPiArICAgZnJvbSBkaWZmZXJlbnQgcXVldWUgYnV0IGJldHdlZW4gMTAgYW5kIDI1OjoNCj4g Kw0KPiArICAgIHA9RXRoZXIoKS9JUCgpL1VEUChkcG9ydD0yMTUyKS9HVFBfVV9IZWFkZXIodGVp ZD0zMCkvDQo+ICsgICAgSVB2NihzcmM9IjEwMDE6MGRiODo4NWEzOjAwMDA6MDAwMDo4YTJlOjAz NzA6MDAwMSIsDQo+ICsgICAgZHN0PSIyMDAxOjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcw OjAwMDIiKS9VRFAoKS9SYXcoJ3gnKjIwKQ0KPiArDQo+ICsxMC4gU2VuZCBkaWZmZXJlbnQgaW5u ZXIgc3JjIEdUUC1VIElQdjYgcGFja2V0cywgY2hlY2sgcG1kIHJlY2VpdmVzDQo+IHBhY2tldA0K PiArICAgIGZyb20gc2FtZSBxdWV1ZTo6DQo+ICsNCj4gKyAgICBwPUV0aGVyKCkvSVAoKS9VRFAo ZHBvcnQ9MjE1MikvR1RQX1VfSGVhZGVyKHRlaWQ9MzApLw0KPiArICAgIElQdjYoc3JjPSIxMDAx OjBkYjg6ODVhMzowMDAwOjAwMDA6OGEyZTowMzcwOjAwMDIiLA0KPiArICAgIGRzdD0iMjAwMTow ZGI4Ojg1YTM6MDAwMDowMDAwOjhhMmU6MDM3MDowMDAxIikvVURQKCkvUmF3KCd4JyoyMCkNCj4g LS0NCj4gMi41LjUNCg0K