From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id ED164A04F5; Fri, 19 Jun 2020 08:19:58 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DA7D62C18; Fri, 19 Jun 2020 08:19:58 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id EDBCEE07 for ; Fri, 19 Jun 2020 08:19:56 +0200 (CEST) IronPort-SDR: /GcNYCG5bn6baJw/0uYfP+uXNCPnPc/AxoDIKUkRcKxz7Sp8GG2uhg1wNwtM0eHe59dXITbXxq 0fhePmf/QOFg== X-IronPort-AV: E=McAfee;i="6000,8403,9656"; a="123110869" X-IronPort-AV: E=Sophos;i="5.75,253,1589266800"; d="scan'208";a="123110869" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2020 23:19:56 -0700 IronPort-SDR: 5mRn8NlLIzQ8DGyUzmmlh9dwQbhbv1UwklxMebfE0AtATqZgOYVb1eZwMOACAfx2G1o0xKQjiC ctrkIlzSc7nA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,253,1589266800"; d="scan'208";a="263788826" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga008.fm.intel.com with ESMTP; 18 Jun 2020 23:19:56 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 18 Jun 2020 23:19:55 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.85]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0439.000; Fri, 19 Jun 2020 14:19:53 +0800 From: "Tu, Lijuan" To: Owen Hilyard , "dts@dpdk.org" CC: "dpdklab@iol.unh.edu" Thread-Topic: [dts] [PATCH] added mtu update test suite and test plan Thread-Index: AQHWRCQlEatN3r5uiEard4qfXCYviajfevSQ Date: Fri, 19 Jun 2020 06:19:52 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BC5FD63@SHSMSX101.ccr.corp.intel.com> References: <20200616212119.37730-1-ohilyard@iol.unh.edu> In-Reply-To: <20200616212119.37730-1-ohilyard@iol.unh.edu> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action 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] added mtu update test suite and 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: , Errors-To: dts-bounces@dpdk.org Sender: "dts" QXBwbGllZCwgdGhhbmtzDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBkdHMg PGR0cy1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgT3dlbiBIaWx5YXJkDQpTZW50OiAy MDIw5bm0NuaciDE35pelIDU6MjENClRvOiBkdHNAZHBkay5vcmcNCkNjOiBkcGRrbGFiQGlvbC51 bmguZWR1OyBvaGlseWFyZEBpb2wudW5oLmVkdQ0KU3ViamVjdDogW2R0c10gW1BBVENIXSBhZGRl ZCBtdHUgdXBkYXRlIHRlc3Qgc3VpdGUgYW5kIHRlc3QgcGxhbg0KDQphZGQgdGVzdCBwbGFuIGZv ciBtdHUgdXBkYXRlIGNoZWNrcw0KYWRkIHRlc3Qgc3VpdGUgZm9yIG10dSB1cGRhdGUgY2hlY2tz DQoNClNpZ25lZC1vZmYtYnk6IE93ZW4gSGlseWFyZCA8b2hpbHlhcmRAaW9sLnVuaC5lZHU+DQot LS0NCiB0ZXN0X3BsYW5zL210dV91cGRhdGVfdGVzdF9wbGFuLnJzdCB8IDE1NCArKysrKysrKysr KysrKysrDQogdGVzdHMvVGVzdFN1aXRlX210dV91cGRhdGUucHkgICAgICAgfCAyNjYgKysrKysr KysrKysrKysrKysrKysrKysrKysrKw0KIDIgZmlsZXMgY2hhbmdlZCwgNDIwIGluc2VydGlvbnMo KykNCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdF9wbGFucy9tdHVfdXBkYXRlX3Rlc3RfcGxhbi5y c3QNCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvVGVzdFN1aXRlX210dV91cGRhdGUucHkNCg0K ZGlmZiAtLWdpdCBhL3Rlc3RfcGxhbnMvbXR1X3VwZGF0ZV90ZXN0X3BsYW4ucnN0IGIvdGVzdF9w bGFucy9tdHVfdXBkYXRlX3Rlc3RfcGxhbi5yc3QNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAwMDAwMDAwLi5iNjJlYzE1DQotLS0gL2Rldi9udWxsDQorKysgYi90ZXN0X3BsYW5zL210dV91 cGRhdGVfdGVzdF9wbGFuLnJzdA0KQEAgLTAsMCArMSwxNTQgQEANCisuLiAjIEJTRCBMSUNFTlNF DQorICAgICMNCisgICAgIyBDb3B5cmlnaHQoYykgMjAxMC0yMDE0IEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAgICAjIENvcHlyaWdodCDCqSAyMDE4WywgMjAxOV0g VGhlIFVuaXZlcnNpdHkgb2YgTmV3IEhhbXBzaGlyZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisg ICAgIyBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAgICAjDQorICAgICMgUmVkaXN0cmlidXRpb24g YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQorICAg ICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zDQorICAgICMgYXJlIG1ldDoNCisgICAgIw0KKyAgICAjICAgKiBSZWRpc3Ry aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0K KyAgICAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIuDQorICAgICMgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICAgICMgICAgIG5vdGljZSwg dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbg0K KyAgICAjICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp ZGVkIHdpdGggdGhlDQorICAgICMgICAgIGRpc3RyaWJ1dGlvbi4NCisgICAgIyAgICogTmVpdGhl ciB0aGUgbmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cw0KKyAg ICAjICAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy b2R1Y3RzIGRlcml2ZWQNCisgICAgIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KKyAgICAjDQorICAgICMgVEhJUyBTT0ZU V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S Uw0KKyAgICAjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg SU5DTFVESU5HLCBCVVQgTk9UDQorICAgICMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SDQorICAgICMgQSBQQVJUSUNV TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH SFQNCisgICAgIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwNCisgICAgIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQorICAgICMgTElNSVRFRCBU TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV U0UsDQorICAgICMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZDQorICAgICMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVA0KKyAgICAjIChJTkNM VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg VEhFIFVTRQ0KKyAgICAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQorDQorPT09PT09PT09PT09PT09PT0NCitNVFUg Q2hlY2sgVGVzdHMNCis9PT09PT09PT09PT09PT09PQ0KKw0KK1RoZSBzdXBwb3J0IG9mIGp1bWJv IGZyYW1lcyBieSBQb2xsIE1vZGUgRHJpdmVycyBjb25zaXN0cyBpbiBlbmFibGluZyBhIA0KK3Bv cnQgdG8gcmVjZWl2ZSBKdW1ibyBGcmFtZXMgd2l0aCBhIGNvbmZpZ3VyYWJsZSBtYXhpbXVtIHBh Y2tldCBsZW5ndGggDQordGhhdCBpcyBncmVhdGVyIHRoYW4gdGhlIHN0YW5kYXJkIG1heGltdW0g RXRoZXJuZXQgZnJhbWUgbGVuZ3RoICgxNTE4IA0KK2J5dGVzKSwgdXAgdG8gYSBtYXhpbXVtIHZh bHVlIGltcG9zZWQgYnkgdGhlIGhhcmR3YXJlLg0KKw0KKy4uIG5vdGU6Og0KKw0KKyAgIE1heGlt dW0gUGFja2V0IExlbmd0aCA9IE1UVShNYXhpbXVtIFRyYW5zbWlzc2lvbiBVbml0KSArIDE0KHNy YyBtYWMgKyBkc3QgbWFjICsgTEVOL1RZUEUpICsgNChDUkMpDQorICAgZS5nLiwgMTUxOCA9IDE1 MDAgKyAxNCArIDQNCisNCitQcmVyZXF1aXNpdGVzDQorPT09PT09PT09PT09PQ0KKw0KK0lmIHVz aW5nIHZmaW8gdGhlIGtlcm5lbCBtdXN0IGJlID49IDMuNisgYW5kIFZULWQgbXVzdCBiZSBlbmFi bGVkIGluIA0KK2Jpb3MuV2hlbiB1c2luZyB2ZmlvLCB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5k cyB0byBsb2FkIHRoZSB2ZmlvIA0KK2RyaXZlciBhbmQgYmluZCBpdCB0byB0aGUgZGV2aWNlIHVu ZGVyIHRlc3Q6Og0KKw0KKyAgIG1vZHByb2JlIHZmaW8NCisgICBtb2Rwcm9iZSB2ZmlvLXBjaQ0K KyAgIHVzZXJ0b29scy9kcGRrLWRldmJpbmQucHkgLS1iaW5kPXZmaW8tcGNpIGRldmljZV9idXNf aWQNCisNCitBc3N1bWluZyB0aGF0IHBvcnRzIGBgMGBgIGFuZCBgYDFgYCBvZiB0aGUgdGVzdCB0 YXJnZXQgYXJlIGRpcmVjdGx5IA0KK2Nvbm5lY3RlZCB0byB0aGUgdHJhZmZpYyBnZW5lcmF0b3Is IGxhdW5jaCB0aGUgYGB0ZXN0cG1kYGAgYXBwbGljYXRpb24gDQord2l0aCB0aGUgZm9sbG93aW5n DQorYXJndW1lbnRzOjoNCisNCisgIC4vYnVpbGQvYXBwL3Rlc3RwbWQgLWMgZmZmZmZmIC1uIDYg LS0gLWkgLS1wb3J0bWFzaz0weDMgDQorIC0tbWF4LXBrdC1sZW49OTYwMCBcDQorICAtLXR4LW9m ZmxvYWRzPTB4MDAwMDgwMDANCisNCitUaGUgLW4gY29tbWFuZCBpcyB1c2VkIHRvIHNlbGVjdCB0 aGUgbnVtYmVyIG9mIG1lbW9yeSBjaGFubmVscy4gSXQgc2hvdWxkIG1hdGNoIHRoZSBudW1iZXIg b2YgbWVtb3J5IGNoYW5uZWxzIG9uIHRoYXQgc2V0dXAuDQorDQorU2V0dGluZyB0eC1vZmZsb2Fk IHRvIDB4ODAwMCBhbmQgdGhlIG1heGltdW0gcGFja2V0IGxlbmd0aCB0byA5NjAwIChDUkMgDQor aW5jbHVkZWQpIG1ha2VzIGlucHV0IEp1bWJvIEZyYW1lcyB0byBiZSBzdG9yZWQgaW4gbXVsdGlw bGUgYnVmZmVycyBieSANCit0aGUgaGFyZHdhcmUgUlggZW5naW5lLg0KKw0KK1N0YXJ0IHBhY2tl dCBmb3J3YXJkaW5nIGluIHRoZSBgYHRlc3RwbWRgYCBhcHBsaWNhdGlvbiB3aXRoIHRoZSANCitg YHN0YXJ0YGAgY29tbWFuZC4NCisNCitGdW5jdGlvbmFsIFRlc3RzIG9mIE1UVSBDaGVja3MNCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KK1Rlc3RpbmcgdGhlIHN1cHBvcnQg b2YgTVRVIFNpemUgQ2hlY2tzIGluIFBvbGwgTW9kZSBEcml2ZXJzIGNvbnNpc3RzIG9mIA0KK2Nv bmZpZ3VyaW5nIHRoZSBNVFUgdG8gYSBnaXZlbiB2YWx1ZSwgYW5kIHRoZW4gY2hlY2tpbmcgdGhh dCBEUERLIA0KK3JlZ2lzdGVycyB0aGUgY2hhbmdlIGluIE1UVSBzaXplLiBUaGVuLCBhIHBhY2tl dCBpcyBzZW50IHRoYXQgaXMgdGhlIA0KK3NpemUgb2YgdGhlIE1UVSwgdmFsaWRhdGluZyB0aGF0 IG5vIGVycm9yIHdhcyBwcm9kdWNlZC4gQSBwYWNrZXQgaXMgDQordGhlbiBzZW50IHdoaWNoIGlz IGxhcmdlciB0aGFuIHRoZSBNVFUgYnkgMTAwIGJ5dGVzLCB2YWxpZGF0aW5nIHRoYXQgYW4gDQor ZXJyb3IgaXMgcHJvZHVjZWQuIEFsbCB0ZXN0cyBhcmUgaWRlbnRpY2FsLCBpZ25vcmluZyB0aGUg Y2hhbmdlIGluIE1UVSANCithbmQgcGFja2V0IHNpemUuIEFzIHN1Y2gsIG9ubHkgMSB0ZXN0IGNh c2UgaGFzIGJlZW4gaW5jbHVkZWQgZm9yIA0KK2JyZXZpdHkuIFRoZSBzaXplZCBnaXZlbiBiZWxv dyBhcmUgdGhlIHNpemUgb2YgdGhlIElQIGhlYWRlciBhbmQgdGhlIA0KK3BheWxvYWQgb2YgdGhl IElQIFBhY2tldC4gRWFjaCB0ZXN0IHdpbGwgc2V0IHRoZSBNVFUgdG8gdGhhdCB2YWx1ZSwgDQor dGhlbiBzZW5kIDEgcGFja2V0IG9mIGV4YWN0bHkgdGhhdCBzaXplIHRoYXQgc2hvdWxkIHdvcmsg cHJvcGVybHkuDQorVGhlbiwgdGhlIHRlc3Qgd2lsbCBzZW5kIGEgcGFja2V0IHRoYXQgaXMgMTAw IGJ5dGVzIGxhcmdlciB0aGFuIHRoZSANCitNVFUsIHdoaWNoIHNob3VsZCBub3QgYmUgcmVjZWl2 ZWQuDQorDQorIy4gTVRVID0gMTUwMA0KKyMuIE1UVSA9IDI0MDANCisjLiBNVFUgPSA0ODAwDQor Iy4gTVRVID0gOTAwMA0KKw0KK1Rlc3QgQ2FzZTogTVRVIG9mIDE1MDANCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorU3RvcCBhbGwgcG9y dHM6Og0KKw0KKyAgICB0ZXN0cG1kPiBwb3J0IHN0b3AgYWxsDQorICAgIFN0b3BwaW5nIHBvcnRz Li4uDQorICAgIENoZWNraW5nIGxpbmsgc3RhdHVzZXMuLi4NCisgICAgRG9uZQ0KKw0KK1NldCBN VFUgc2l6ZSB0byAxNTAwIDo6DQorDQorICAgIHRlc3RwbWQ+IHBvcnQgY29uZmlnIG10dSAwIDE1 MDANCisgICAgdGVzdHBtZD4gcG9ydCBjb25maWcgbXR1IDEgMTUwMA0KKw0KK1Jlc3RhcnQgdGhl IHBvcnRzIDo6DQorDQorICAgIHRlc3RwbWQ+IHBvcnQgc3RhcnQgYWxsDQorICAgIFBvcnQgMDog M0M6RkQ6RkU6QjI6QUM6RjgNCisgICAgUG9ydCAxOiAzQzpGRDpGRTpCMjpBQzpGOQ0KKyAgICBQ b3J0IDI6IDNDOkZEOkZFOkIyOkFDOkZBDQorICAgIFBvcnQgMzogM0M6RkQ6RkU6QjI6QUM6RkIN CisgICAgQ2hlY2tpbmcgbGluayBzdGF0dXNlcy4uLg0KKyAgICBEb25lDQorDQorU2VuZCBhIHBh Y2tldCB3aXRoIHNpemUgMTUwMCBieXRlcyA6Og0KKw0KKyAgdGVzdHBtZD4gc2hvdyBwb3J0IHN0 YXRzIDANCisgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIE5JQyBzdGF0aXN0aWNzIGZvciBw b3J0IDAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyAgICBSWC1wYWNrZXRzOiAwICAgICAg ICAgIFJYLWVycm9yczogMCAgICAgICAgIFJYLWJ5dGVzOiAwDQorICAgIFRYLXBhY2tldHM6IDEg ICAgICAgICAgVFgtZXJyb3JzOiAwICAgICAgICAgVFgtYnl0ZXM6IDE1MDANCisgICAgDQorICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMNCisgIyMjIyMjDQorDQorICB0ZXN0cG1kPiBzaG93IHBvcnQgc3RhdHMgMQ0K Kw0KKyAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgTklDIHN0YXRpc3RpY3MgZm9yIHBvcnQg MSAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorICAgIFJYLXBhY2tldHM6IDEgICAgICAgICAg UlgtZXJyb3JzOiAwICAgICAgICAgUlgtYnl0ZXM6IDE1MDANCisgICAgVFgtcGFja2V0czogMCAg ICAgICAgICBUWC1lcnJvcnM6IDAgICAgICAgICBUWC1ieXRlczogMA0KKyAgICANCisgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIw0KKyAjIyMjIyMNCisNCitWZXJpZnkgdGhhdCBUWC1ieXRlcyBvbiBwb3J0IDAgYW5k IFJYLWJ5dGVzIG9uIHBvcnQgMSBhcmUgMTUwMA0KKw0KKw0KK1NlbmQgYSBwYWNrZXQgd2l0aCBz aXplIDE2MDAgYnl0ZXMgOjoNCisNCisgIHRlc3RwbWQ+IHNob3cgcG9ydCBzdGF0cyAwDQorDQor ICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBOSUMgc3RhdGlzdGljcyBmb3IgcG9ydCAwICAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisgICAgUlgtcGFja2V0czogMCAgICAgICAgICBSWC1l cnJvcnM6IDAgICAgICAgICBSWC1ieXRlczogMA0KKyAgICBUWC1wYWNrZXRzOiAxICAgICAgICAg IFRYLWVycm9yczogMCAgICAgICAgIFRYLWJ5dGVzOiAxNTAwDQorICAgIA0KKyAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjDQorICMjIyMjIw0KKw0KKyAgdGVzdHBtZD4gc2hvdyBwb3J0IHN0YXRzIDENCisNCisgICAg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIE5JQyBzdGF0aXN0aWNzIGZvciBwb3J0IDEgICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIw0KKyAgICBSWC1wYWNrZXRzOiAxICAgICAgICAgIFJYLWVycm9y czogMCAgICAgICAgIFJYLWJ5dGVzOiAxNTAwDQorICAgIFRYLXBhY2tldHM6IDAgICAgICAgICAg VFgtZXJyb3JzOiAwICAgICAgICAgVFgtYnl0ZXM6IDANCisgICAgDQorICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN CisgIyMjIyMjDQorDQorVmVyaWZ5IHRoYXQgVFgtYnl0ZXMgb24gcG9ydCAwIGFuZCBSWC1ieXRl cyBvbiBwb3J0IDEgYXJlIDE1MDANCmRpZmYgLS1naXQgYS90ZXN0cy9UZXN0U3VpdGVfbXR1X3Vw ZGF0ZS5weSBiL3Rlc3RzL1Rlc3RTdWl0ZV9tdHVfdXBkYXRlLnB5IG5ldyBmaWxlIG1vZGUgMTAw NjQ0IGluZGV4IDAwMDAwMDAuLjZlNDI1ZGMNCi0tLSAvZGV2L251bGwNCisrKyBiL3Rlc3RzL1Rl c3RTdWl0ZV9tdHVfdXBkYXRlLnB5DQpAQCAtMCwwICsxLDI2NiBAQA0KKyMgQlNEIExJQ0VOU0UN CisjDQorIyBDb3B5cmlnaHQoYykgMjAxMC0yMDE0IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLg0KKyMgQ29weXJpZ2h0IMKpIDIwMThbLCAyMDE5XSBUaGUgVW5pdmVyc2l0 eSBvZiBOZXcgSGFtcHNoaXJlLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyMgQWxsIHJpZ2h0cyBy ZXNlcnZlZC4NCisjDQorIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgIyANCittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0 ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgIyANCithcmUgbWV0Og0K KyMNCisjICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl IGFib3ZlIGNvcHlyaWdodA0KKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCisjICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KKyMgICAgIG5v dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l ciBpbg0KKyMgICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv dmlkZWQgd2l0aCB0aGUNCisjICAgICBkaXN0cmlidXRpb24uDQorIyAgICogTmVpdGhlciB0aGUg bmFtZSBvZiBJbnRlbCBDb3Jwb3JhdGlvbiBub3IgdGhlIG5hbWVzIG9mIGl0cw0KKyMgICAgIGNv bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy aXZlZA0KKyMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy aXR0ZW4gcGVybWlzc2lvbi4NCisjDQorIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICMgDQorIkFTIElTIiBBTkQgQU5Z IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgIyANCitM SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg RklUTkVTUyBGT1IgIyANCitBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCAjIA0KK09XTkVSIE9SIENPTlRSSUJVVE9SUyBC RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCAjIA0KK1NQRUNJ QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO T1QgIyANCitMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF UlZJQ0VTOyBMT1NTIE9GIFVTRSwgIyANCitEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgIyANCitUSEVPUlkgT0YgTElB QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUICMg DQorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ IE9VVCBPRiBUSEUgVVNFICMgDQorT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCisNCisiIiINCitEUERLIFRlc3Qgc3Vp dGUuDQorTVRVIENoZWNrcyBleGFtcGxlLg0KKyIiIg0KK2ltcG9ydCBvcw0KK2ltcG9ydCBzdWJw cm9jZXNzDQorZnJvbSB0aW1lIGltcG9ydCBzbGVlcA0KK2Zyb20gdHlwaW5nIGltcG9ydCBMaXN0 LCBUdXBsZQ0KKw0KK2ltcG9ydCB1dGlscw0KK2Zyb20gcG1kX291dHB1dCBpbXBvcnQgUG1kT3V0 cHV0DQorZnJvbSB0ZXN0X2Nhc2UgaW1wb3J0IFRlc3RDYXNlDQorDQorZnJvbSBwa3RnZW5fYmFz ZSBpbXBvcnQgVFJBTlNNSVRfU19CVVJTVA0KKw0KK2ltcG9ydCB1dGlscw0KK2ltcG9ydCByZQ0K K2ltcG9ydCB0aW1lDQorZnJvbSB0ZXN0X2Nhc2UgaW1wb3J0IFRlc3RDYXNlDQorZnJvbSBwa3Rn ZW4gaW1wb3J0IFRSQU5TTUlUX0NPTlQNCisNCitmcm9tIGZyYW1ld29yay5wYWNrZXQgaW1wb3J0 IFBhY2tldA0KK2Zyb20gZnJhbWV3b3JrLnNldHRpbmdzIGltcG9ydCBIRUFERVJfU0laRQ0KKw0K K0VUSEVSX0hFQURFUl9MRU4gPSAxOA0KK0lQX0hFQURFUl9MRU4gPSAyMA0KK0VUSEVSX1NUQU5E QVJEX01UVSA9IDE1MTgNCitFVEhFUl9KVU1CT19GUkFNRV9NVFUgPSA5MDAwDQorDQorDQorY2xh c3MgVGVzdE10dVVwZGF0ZShUZXN0Q2FzZSk6DQorICAgICMNCisgICAgIw0KKyAgICAjIEhlbHBl ciBtZXRob2RzIGFuZCBzZXR1cCBtZXRob2RzLg0KKyAgICAjDQorICAgICMgU29tZSBvZiB0aGVz ZSBtZXRob2RzIG1heSBub3QgYmUgdXNlZCBiZWNhdXNlIHRoZXkgd2VyZSBpbmxpbmVkIGZyb20g YSBjaGlsZA0KKyAgICAjIG9mIFRlc3RDYXNlLiBUaGlzIHdhcyBkb25lIGJlY2F1c2UgdGhlIGN1 cnJlbnQgdGVzdCBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0DQorICAgICMgaW5oZXJpdGFuY2UuDQor ICAgICMNCisgICAgZGVmIHRlYXJfZG93bihzZWxmKToNCisgICAgICAgICIiIg0KKyAgICAgICAg UnVuIGFmdGVyIGVhY2ggdGVzdCBjYXNlLg0KKyAgICAgICAgIiIiDQorICAgICAgICBzZWxmLmR1 dC5raWxsX2FsbCgpDQorDQorICAgIGRlZiB0ZWFyX2Rvd25fYWxsKHNlbGYpOg0KKyAgICAgICAg IiIiDQorICAgICAgICBXaGVuIHRoZSBjYXNlIG9mIHRoaXMgdGVzdCBzdWl0ZSBmaW5pc2hlZCwg dGhlIGVudmlyb25tZW50IHNob3VsZA0KKyAgICAgICAgY2xlYXIgdXAuDQorICAgICAgICAiIiIN CisgICAgICAgIHNlbGYudGVzdGVyLnNlbmRfZXhwZWN0KGYiaWZjb25maWcge3NlbGYudGVzdGVy LmdldF9pbnRlcmZhY2Uoc2VsZi50ZXN0ZXIuZ2V0X2xvY2FsX3BvcnQoc2VsZi5yeF9wb3J0KSl9 ICIgKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZiJtdHUge0VUSEVSX1NUQU5E QVJEX01UVX0iLCAiIyAiKQ0KKyAgICAgICAgc3VwZXIoKS50ZWFyX2Rvd25fYWxsKCkNCisNCisg ICAgZGVmIGV4ZWMoc2VsZiwgY29tbWFuZDogc3RyKSAtPiBzdHI6DQorICAgICAgICAiIiINCisg ICAgICAgIEFuIGFic3RyYWN0aW9uIHRvIHJlbW92ZSByZXBlYXRlZCBjb2RlIHRocm91Z2hvdXQg dGhlIHN1YmNsYXNzZXMgb2YgdGhpcyBjbGFzcw0KKyAgICAgICAgIiIiDQorICAgICAgICByZXR1 cm4gc2VsZi5kdXQuc2VuZF9leHBlY3QoY29tbWFuZCwgInRlc3RwbWQ+IikNCisNCisgICAgZGVm IGdldF9tYWNfYWRkcmVzc19mb3JfcG9ydChzZWxmLCBwb3J0X2lkOiBpbnQpIC0+IHN0cjoNCisg ICAgICAgIHJldHVybiBzZWxmLmR1dC5nZXRfbWFjX2FkZHJlc3MocG9ydF9pZCkNCisNCisgICAg ZGVmIHNlbmRfc2NhcHlfcGFja2V0KHNlbGYsIHBvcnRfaWQ6IGludCwgcGFja2V0OiBzdHIpOg0K KyAgICAgICAgaXRmID0gc2VsZi50ZXN0ZXIuZ2V0X2ludGVyZmFjZShwb3J0X2lkKQ0KKw0KKyAg ICAgICAgc2VsZi50ZXN0ZXIuc2NhcHlfZm9yZWdyb3VuZCgpDQorICAgICAgICBtYWMgPSBzZWxm LmR1dC5nZXRfbWFjX2FkZHJlc3MocG9ydF9pZCkNCisgICAgICAgIHNlbGYudGVzdGVyLnNjYXB5 X2FwcGVuZChmJ2R1dG1hYz0ie21hY30iJykNCisgICAgICAgIHNlbGYudGVzdGVyLnNjYXB5X2Fw cGVuZChmJ3NlbmRwKHtwYWNrZXR9LCBpZmFjZT0ie2l0Zn0iKScpDQorICAgICAgICByZXR1cm4g c2VsZi50ZXN0ZXIuc2NhcHlfZXhlY3V0ZSgpDQorDQorICAgIGRlZiBzZW5kX3BhY2tldF9vZl9z aXplX3RvX3BvcnQoc2VsZiwgcG9ydF9pZDogaW50LCBwa3RzaXplOiBpbnQpOg0KKw0KKyAgICAg ICAgIyBUaGUgcGFja2V0IHRvdGFsIHNpemUgaW5jbHVkZSBldGhlcm5ldCBoZWFkZXIsIGlwIGhl YWRlciwgYW5kIHBheWxvYWQuDQorICAgICAgICAjIGV0aGVybmV0IGhlYWRlciBsZW5ndGggaXMg MTggYnl0ZXMsIGlwIHN0YW5kYXJkIGhlYWRlciBsZW5ndGggaXMgMjAgYnl0ZXMuDQorICAgICAg ICAjIHBrdGxlbiA9IHBrdHNpemUgLSBFVEhFUl9IRUFERVJfTEVODQorICAgICAgICBwYWRkaW5n ID0gcGt0c2l6ZSAtIElQX0hFQURFUl9MRU4NCisgICAgICAgIG91dCA9IHNlbGYuc2VuZF9zY2Fw eV9wYWNrZXQocG9ydF9pZCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZidFdGhlcihkc3Q9ZHV0bWFjLCBzcmM9IjUyOjAwOjAwOjAwOjAwOjAwIikvSVAoKS9SYXcobG9h ZD0iXHg1MCIqe3BhZGRpbmd9KScpDQorICAgICAgICByZXR1cm4gb3V0DQorDQorDQorICAgIGRl ZiBzZW5kX3BhY2tldF9vZl9zaXplX3RvX3R4X3BvcnQoc2VsZiwgcGt0c2l6ZSwgcmVjZWl2ZWQ9 VHJ1ZSk6DQorICAgICAgICAiIiINCisgICAgICAgIFNlbmQgMSBwYWNrZXQgdG8gcG9ydGlkDQor ICAgICAgICAiIiINCisgICAgICAgIHR4X3BrdHNfb3JpLCB0eF9lcnJfb3JpLCBfID0gW2ludChf KSBmb3IgXyBpbiBzZWxmLmdldF9wb3J0X3N0YXR1c19yeChzZWxmLnJ4X3BvcnQpXQ0KKyAgICAg ICAgcnhfcGt0c19vcmksIHJ4X2Vycl9vcmksIF8gPSBbaW50KF8pIGZvciBfIGluIA0KKyBzZWxm LmdldF9wb3J0X3N0YXR1c190eChzZWxmLnR4X3BvcnQpXQ0KKw0KKyAgICAgICAgb3V0ID0gc2Vs Zi5zZW5kX3BhY2tldF9vZl9zaXplX3RvX3BvcnQoc2VsZi5yeF9wb3J0LCBwa3RzaXplKQ0KKw0K KyAgICAgICAgc2xlZXAoNSkNCisNCisgICAgICAgIHR4X3BrdHMsIHR4X2VyciwgXyA9IFtpbnQo XykgZm9yIF8gaW4gc2VsZi5nZXRfcG9ydF9zdGF0dXNfcngoc2VsZi5yeF9wb3J0KV0NCisgICAg ICAgIHJ4X3BrdHMsIHJ4X2VyciwgXyA9IFtpbnQoXykgZm9yIF8gaW4gDQorIHNlbGYuZ2V0X3Bv cnRfc3RhdHVzX3R4KHNlbGYudHhfcG9ydCldDQorDQorICAgICAgICB0eF9wa3RzX2RpZmZlcmVu Y2UgPSB0eF9wa3RzIC0gdHhfcGt0c19vcmkNCisgICAgICAgIHR4X2Vycl9kaWZmZXJlbmNlID0g dHhfZXJyIC0gdHhfZXJyX29yaQ0KKyAgICAgICAgcnhfcGt0c19kaWZmZXJlbmNlID0gcnhfcGt0 cyAtIHJ4X3BrdHNfb3JpDQorICAgICAgICByeF9lcnJfZGlmZmVyZW5jZSA9IHJ4X2VyciAtIHJ4 X2Vycl9vcmkNCisNCisgICAgICAgIGlmIHJlY2VpdmVkOg0KKyAgICAgICAgICAgIHNlbGYudmVy aWZ5KHR4X3BrdHNfZGlmZmVyZW5jZSA+PSAxLCAiTm8gcGFja2V0IHdhcyBzZW50IikNCisgICAg ICAgICAgICBzZWxmLnZlcmlmeSh0eF9wa3RzX2RpZmZlcmVuY2UgPT0gcnhfcGt0c19kaWZmZXJl bmNlLCAiZGlmZmVyZW50IG51bWJlcnMgb2YgcGFja2V0cyBzZW50IGFuZCByZWNlaXZlZCIpDQor ICAgICAgICAgICAgc2VsZi52ZXJpZnkodHhfZXJyX2RpZmZlcmVuY2UgPT0gMCwgInVuZXhwZWN0 ZWQgdHggZXJyb3IiKQ0KKyAgICAgICAgICAgIHNlbGYudmVyaWZ5KHJ4X2Vycl9kaWZmZXJlbmNl ID09IDAsICJ1bmV4cGVjdGVkIHJ4IGVycm9yIikNCisgICAgICAgIGVsc2U6DQorICAgICAgICAg ICAgc2VsZi52ZXJpZnkocnhfZXJyX2RpZmZlcmVuY2UgPT0gMSBvciB0eF9wa3RzX2RpZmZlcmVu Y2UgPT0gMCBvciB0eF9lcnJfZGlmZmVyZW5jZSA9PSAxLA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICJwYWNrZXQgdGhhdCBlaXRoZXIgc2hvdWxkIGhhdmUgZWl0aGVyIGNhdXNlZCBhbiBlcnJv ciAiICsNCisgICAgICAgICAgICAgICAgICAgICAgICAib3IgYmVlbiByZWplY3RlZCBmb3IgdHJh bnNtaXNzaW9uIHdhcyBub3QiKQ0KKyAgICAgICAgcmV0dXJuIG91dA0KKw0KKyAgICBkZWYgZ2V0 X3BvcnRfc3RhdHVzX3J4KHNlbGYsIHBvcnRpZCkgLT4gVHVwbGVbc3RyLCBzdHIsIHN0cl06DQor ICAgICAgICBzdGF0cyA9IHNlbGYucG1kb3V0LmdldF9wbWRfc3RhdHMocG9ydGlkKQ0KKyAgICAg ICAgcmV0dXJuIHN0YXRzWydSWC1wYWNrZXRzJ10sIHN0YXRzWydSWC1lcnJvcnMnXSwgDQorIHN0 YXRzWydSWC1ieXRlcyddDQorDQorICAgIGRlZiBnZXRfcG9ydF9zdGF0dXNfdHgoc2VsZiwgcG9y dGlkKSAtPiBUdXBsZVtzdHIsIHN0ciwgc3RyXToNCisgICAgICAgIHN0YXRzID0gc2VsZi5wbWRv dXQuZ2V0X3BtZF9zdGF0cyhwb3J0aWQpDQorICAgICAgICByZXR1cm4gc3RhdHNbJ1RYLXBhY2tl dHMnXSwgc3RhdHNbJ1RYLWVycm9ycyddLCANCisgc3RhdHNbJ1RYLWJ5dGVzJ10NCisNCisgICAg ZGVmIHNldF91cF9hbGwoc2VsZik6DQorICAgICAgICAiIiINCisgICAgICAgIFByZXJlcXVpc2l0 ZSBzdGVwcyBmb3IgZWFjaCB0ZXN0IHN1aXQuDQorICAgICAgICAiIiINCisgICAgICAgIHNlbGYu ZHV0X3BvcnRzID0gc2VsZi5kdXQuZ2V0X3BvcnRzKCkNCisgICAgICAgIHNlbGYudmVyaWZ5KGxl bihzZWxmLmR1dF9wb3J0cykgPj0gMiwgIkluc3VmZmljaWVudCBwb3J0cyIpDQorICAgICAgICBz ZWxmLnJ4X3BvcnQgPSBzZWxmLmR1dF9wb3J0c1swXQ0KKyAgICAgICAgc2VsZi50eF9wb3J0ID0g c2VsZi5kdXRfcG9ydHNbMV0NCisNCisgICAgICAgIGNvcmVzID0gc2VsZi5kdXQuZ2V0X2NvcmVf bGlzdCgiMVMvMkMvMVQiKQ0KKyAgICAgICAgc2VsZi5jb3JlbWFzayA9IHV0aWxzLmNyZWF0ZV9t YXNrKGNvcmVzKQ0KKw0KKyAgICAgICAgc2VsZi5wb3J0X21hc2sgPSB1dGlscy5jcmVhdGVfbWFz ayhbc2VsZi5yeF9wb3J0LCANCisgc2VsZi50eF9wb3J0XSkNCisNCisgICAgICAgIHNlbGYucG1k b3V0ID0gUG1kT3V0cHV0KHNlbGYuZHV0KQ0KKw0KKyAgICBkZWYgc2V0X3VwKHNlbGYpOg0KKyAg ICAgICAgIiIiDQorICAgICAgICBUaGlzIGlzIHRvIGNsZWFyIHVwIGVudmlyb25tZW50IGJlZm9y ZSB0aGUgY2FzZSBydW4uDQorICAgICAgICAiIiINCisgICAgICAgIHNlbGYuZHV0LmtpbGxfYWxs KCkNCisNCisgICAgZGVmIHRlYXJfZG93bihzZWxmKToNCisgICAgICAgICIiIg0KKyAgICAgICAg UnVuIGFmdGVyIGVhY2ggdGVzdCBjYXNlLg0KKyAgICAgICAgIiIiDQorICAgICAgICBzZWxmLmR1 dC5raWxsX2FsbCgpDQorDQorICAgIGRlZiB0ZWFyX2Rvd25fYWxsKHNlbGYpOg0KKyAgICAgICAg IiIiDQorICAgICAgICBXaGVuIHRoZSBjYXNlIG9mIHRoaXMgdGVzdCBzdWl0ZSBmaW5pc2hlZCwg dGhlIGVudmlyb25tZW50IHNob3VsZA0KKyAgICAgICAgY2xlYXIgdXAuDQorICAgICAgICAiIiIN CisgICAgICAgIHNlbGYuZHV0LmtpbGxfYWxsKCkNCisNCisgICAgZGVmIGFkbWluX3Rlc3Rlcl9w b3J0KHNlbGYsIGxvY2FsX3BvcnQsIHN0YXR1cyk6DQorICAgICAgICAiIiINCisgICAgICAgIERv IHNvbWUgb3BlcmF0aW9ucyB0byB0aGUgbmV0d29yayBpbnRlcmZhY2UgcG9ydCwgc3VjaCBhcyAi dXAiIG9yICJkb3duIi4NCisgICAgICAgICIiIg0KKyAgICAgICAgaWYgc2VsZi50ZXN0ZXIuZ2V0 X29zX3R5cGUoKSA9PSAnZnJlZWJzZCc6DQorICAgICAgICAgICAgc2VsZi50ZXN0ZXIuYWRtaW5f cG9ydHMobG9jYWxfcG9ydCwgc3RhdHVzKQ0KKyAgICAgICAgZWxzZToNCisgICAgICAgICAgICBl dGggPSBzZWxmLnRlc3Rlci5nZXRfaW50ZXJmYWNlKGxvY2FsX3BvcnQpDQorICAgICAgICAgICAg c2VsZi50ZXN0ZXIuYWRtaW5fcG9ydHNfbGludXgoZXRoLCBzdGF0dXMpDQorICAgICAgICB0aW1l LnNsZWVwKDEwKQ0KKw0KKyAgICBkZWYgc2V0X210dShzZWxmLCBtdHUpIC0+IE5vbmU6DQorICAg ICAgICAiIiINCisgICAgICAgIEEgZnVuY3Rpb24gd2hpY2ggc2V0cyB0aGUgTVRVIG9mIHRoZSBw b3J0cyBvbiB0aGUgdGVzdGVyIHRvIGEgcHJvdmlkZWQgdmFsdWUuDQorICAgICAgICBUaGlzIGZ1 bmN0aW9uIGlzIHByaW1hcmlseSB1c2VkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSB0ZXN0ZXIgd2ls bA0KKyAgICAgICAgYWx3YXlzIGJlIGFibGUgdG8gc2VuZCBwYWNrZXRzIHRoYXQgYXJlIGxhcmdl ciB0aGFuIGEgc3RhbmRhcmQgbXR1DQorICAgICAgICB3aGlsZSB0ZXN0aW5nLg0KKw0KKyAgICAg ICAgQHBhcmFtIG10dTogVGhlIGRlc2lyZWQgTVRVIGZvciBsb2NhbCBwb3J0cw0KKyAgICAgICAg QHJldHVybjogTm9uZQ0KKyAgICAgICAgIiIiDQorICAgICAgICBzZWxmLmFkbWluX3Rlc3Rlcl9w b3J0KHNlbGYudGVzdGVyLmdldF9sb2NhbF9wb3J0KHNlbGYudHhfcG9ydCksIGYibXR1IHttdHU6 ZH0iKQ0KKyAgICAjDQorICAgICMNCisgICAgIw0KKyAgICAjIFRlc3QgY2FzZXMuDQorICAgICMN CisNCisgICAgZGVmIGhlbHBlcl90ZXN0X211dF9jaGVja3Moc2VsZiwgcGFja2V0X3NpemUpOg0K KyAgICAgICAgIiIiDQorICAgICAgICBTZW5kcyBhIHBhY2tldCBvZiB0aGUgZ2l2ZW4gc2l6ZSBp bnRvIHRoZSB0ZXN0aW5nIG1hY2hpbmUuDQorICAgICAgICAiIiINCisgICAgICAgIHNlbGYuc2V0 X210dShwYWNrZXRfc2l6ZSArIDEpDQorDQorICAgICAgICBzZWxmLnBtZG91dC5zdGFydF90ZXN0 cG1kKCJEZWZhdWx0IikNCisgICAgICAgIHNlbGYuZXhlYygicG9ydCBzdG9wIGFsbCIpDQorICAg ICAgICBzZWxmLmV4ZWMoZiJwb3J0IGNvbmZpZyBtdHUgMCB7cGFja2V0X3NpemU6ZH0iKQ0KKyAg ICAgICAgc2VsZi5leGVjKGYicG9ydCBjb25maWcgbXR1IDEge3BhY2tldF9zaXplOmR9IikNCisg ICAgICAgIHNlbGYudmVyaWZ5KGludChzZWxmLnBtZG91dC5nZXRfZGV0YWlsX2Zyb21fcG9ydF9p bmZvKCJNVFU6ICIsICJcZCsiLCAwKSkgPT0gcGFja2V0X3NpemUsICJNVFUgZGlkIG5vdCB1cGRh dGUiKQ0KKyAgICAgICAgc2VsZi52ZXJpZnkoaW50KHNlbGYucG1kb3V0LmdldF9kZXRhaWxfZnJv bV9wb3J0X2luZm8oIk1UVTogIiwgDQorICJcZCsiLCAxKSkgPT0gcGFja2V0X3NpemUsICJNVFUg ZGlkIG5vdCB1cGRhdGUiKQ0KKw0KKyAgICAgICAgc2VsZi5leGVjKCJwb3J0IHN0YXJ0IGFsbCIp DQorICAgICAgICBzZWxmLmV4ZWMoInNldCBmd2QgbWFjIikNCisgICAgICAgIHNlbGYuZXhlYygi c3RhcnQiKQ0KKw0KKyAgICAgICAgc2VsZi5zZW5kX3BhY2tldF9vZl9zaXplX3RvX3R4X3BvcnQo cGFja2V0X3NpemUsIHJlY2VpdmVkPVRydWUpDQorICAgICAgICBzZWxmLnNlbmRfcGFja2V0X29m X3NpemVfdG9fdHhfcG9ydChwYWNrZXRfc2l6ZSArIDEwMCwgDQorIHJlY2VpdmVkPUZhbHNlKQ0K Kw0KKyAgICAgICAgc2VsZi5leGVjKCJzdG9wIikNCisgICAgICAgIHNlbGYucG1kb3V0LnF1aXQo KQ0KKw0KKyAgICBkZWYgdGVzdF9tdHVfY2hlY2tzXzE1MDAoc2VsZik6DQorICAgICAgICAiIiIN CisgICAgICAgIENoZWNrcyB0aGF0IHRoZSBwb3J0IHJlc3BvbmRzIHByb3Blcmx5IHRvIGhhdmlu ZyBpdCdzIE1UVSBzZXQgdG8gMTUwMCBhbmQNCisgICAgICAgICB0aGVuIGJlaW5nIHNlbnQgcGFj a2V0cyBvZiBzaXplIDE1MDAgYW5kIDE1MDEuDQorICAgICAgICAiIiINCisgICAgICAgIHNlbGYu aGVscGVyX3Rlc3RfbXV0X2NoZWNrcygxNTAwKQ0KKw0KKyAgICBkZWYgdGVzdF9tdHVfY2hlY2tz XzI0MDAoc2VsZik6DQorICAgICAgICAiIiINCisgICAgICAgIENoZWNrcyB0aGF0IHRoZSBwb3J0 IHJlc3BvbmRzIHByb3Blcmx5IHRvIGhhdmluZyBpdCdzIE1UVSBzZXQgdG8gMjQwMCBhbmQNCisg ICAgICAgICB0aGVuIGJlaW5nIHNlbnQgcGFja2V0cyBvZiBzaXplIDI0MDAgYW5kIDI0MDEuDQor ICAgICAgICAiIiINCisgICAgICAgIHNlbGYuaGVscGVyX3Rlc3RfbXV0X2NoZWNrcygyNDAwKQ0K Kw0KKyAgICBkZWYgdGVzdF9tdHVfY2hlY2tzXzQ4MDAoc2VsZik6DQorICAgICAgICAiIiINCisg ICAgICAgIENoZWNrcyB0aGF0IHRoZSBwb3J0IHJlc3BvbmRzIHByb3Blcmx5IHRvIGhhdmluZyBp dCdzIE1UVSBzZXQgdG8gNDgwMCBhbmQNCisgICAgICAgICB0aGVuIGJlaW5nIHNlbnQgcGFja2V0 cyBvZiBzaXplIDQ4MDAgYW5kIDQ4MDEuDQorICAgICAgICAiIiINCisgICAgICAgIHNlbGYuaGVs cGVyX3Rlc3RfbXV0X2NoZWNrcyg0ODAwKQ0KKw0KKyAgICBkZWYgdGVzdF9tdHVfY2hlY2tzXzkw MDAoc2VsZik6DQorICAgICAgICAiIiINCisgICAgICAgIENoZWNrcyB0aGF0IHRoZSBwb3J0IHJl c3BvbmRzIHByb3Blcmx5IHRvIGhhdmluZyBpdCdzIE1UVSBzZXQgdG8gOTAwMCBhbmQNCisgICAg ICAgICB0aGVuIGJlaW5nIHNlbnQgcGFja2V0cyBvZiBzaXplIDg5OTkgYW5kIDkwMDAuDQorICAg ICAgICAiIiINCisgICAgICAgIHNlbGYuaGVscGVyX3Rlc3RfbXV0X2NoZWNrcyg5MDAwKQ0KLS0N CjIuMjUuMQ0KDQo=