From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 1486AFFA for ; Wed, 30 Aug 2017 10:39:33 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Aug 2017 01:39:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,448,1498546800"; d="scan'208";a="1189716443" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga001.fm.intel.com with ESMTP; 30 Aug 2017 01:39:33 -0700 Received: from fmsmsx157.amr.corp.intel.com (10.18.116.73) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 30 Aug 2017 01:39:32 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX157.amr.corp.intel.com (10.18.116.73) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 30 Aug 2017 01:39:32 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.219]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.117]) with mapi id 14.03.0319.002; Wed, 30 Aug 2017 16:39:30 +0800 From: "Liu, Yong" To: "Xie, BeibeiX" , "dts@dpdk.org" CC: "Xie, BeibeiX" Thread-Topic: [dts] [PATCH V1] tests/vf_daemon:fix can't receive packets failure Thread-Index: AQHTITiUnrsD0iCMf0CCGdLHOuY9uqKckY0g Date: Wed, 30 Aug 2017 08:39:29 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E62E9571F@SHSMSX103.ccr.corp.intel.com> References: <1504060535-101574-1-git-send-email-beibeix.xie@intel.com> In-Reply-To: <1504060535-101574-1-git-send-email-beibeix.xie@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 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 V1] tests/vf_daemon:fix can't receive packets failure X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Aug 2017 08:39:35 -0000 QmVpYmVpLCBzb21lIGNvbW1lbnRzIGJlbG93Lg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IGR0cyBbbWFpbHRvOmR0cy1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYg T2YgeGllLGJlaWJlaQ0KPiBTZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAzMCwgMjAxNyAxMDozNiBB TQ0KPiBUbzogZHRzQGRwZGsub3JnDQo+IENjOiBYaWUsIEJlaWJlaVggPGJlaWJlaXgueGllQGlu dGVsLmNvbT4NCj4gU3ViamVjdDogW2R0c10gW1BBVENIIFYxXSB0ZXN0cy92Zl9kYWVtb246Zml4 IGNhbid0IHJlY2VpdmUgcGFja2V0cw0KPiBmYWlsdXJlDQo+IA0KPiAxLiBBZGQgd29yay13cm9u ZyBmb3IgdmYgbGluayBkb3duDQo+IDIuIG1vdmUg4oCYcXVpdCB0ZXN0cG1k4oCZIGZyb20gdGhl IGVuZCBvZiBlYWNoIGNhc2UgdG8g4oCYdGVhcl9kb3du4oCZDQo+IDMuIHRlc3Rfdmxhbl9hbnRp c3Bvb2Y6IGNoYW5nZSAicnhfdmxhbiBhZGQgPGlkPiBwb3J0IDAgdmYgMSIgb24gaG9zdCBkdXQN Cj4gdG8gInJ4X3ZsYW4gYWRkIDxpZD4gcG9ydCIgb24gVkYgdG8gc2V0IHZsYW4gZmlsdGVyLCBi ZWNhdXNlIHRoZXJlIGFyZQ0KPiBzb21lIGNoYW5nZXMgb24gInJ4X3ZsYW4gYWRkIDxpZD4gcG9y dCAwIHZmIDEiIGZlYXR1cmUgaW4gbGFzdCBjeWNsZSB0bw0KPiBtZWV0IEFUJlQgcmVxdWlyZW1l bnQNCg0KQ2FuJ3QgZ2V0IGNsZWFyIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgaGFzIGJlZW4gY2hh bmdlZCwgcGxlYXNlIGhpZ2hsaWdodCB0aGUgZGlmZmVyZW5jZS4NCg0KPiA0LiBmaXggdHlwb3MN Cj4gDQo+IFNpZ25lZC1vZmYtYnk6IHhpZSxiZWliZWkgPGJlaWJlaXgueGllQGludGVsLmNvbT4N Cj4gLS0tDQo+ICB0ZXN0cy9UZXN0U3VpdGVfdmZfZGFlbW9uLnB5IHwgMTk5ICsrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tDQo+IC0tLS0tDQo+ICAxIGZpbGUgY2hhbmdlZCwg MTAyIGluc2VydGlvbnMoKyksIDk3IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3Rl c3RzL1Rlc3RTdWl0ZV92Zl9kYWVtb24ucHkgYi90ZXN0cy9UZXN0U3VpdGVfdmZfZGFlbW9uLnB5 DQo+IGluZGV4IGM5YzA5Y2YuLjdiMWU5NzAgMTAwNjQ0DQo+IC0tLSBhL3Rlc3RzL1Rlc3RTdWl0 ZV92Zl9kYWVtb24ucHkNCj4gKysrIGIvdGVzdHMvVGVzdFN1aXRlX3ZmX2RhZW1vbi5weQ0KPiBA QCAtMzAsNiArMzAsMjUgQEAgY2xhc3MgVGVzdHZmX2RhZW1vbihUZXN0Q2FzZSk6DQo+ICAgICAg ZGVmIHNldF91cChzZWxmKToNCj4gICAgICAgICAgc2VsZi5zZXR1cF92bV9lbnYoKQ0KPiANCj4g KyAgICBkZWYgc3RhcnRfdGVzdHBtZChzZWxmKToNCj4gKwlzZWxmLmR1dF90ZXN0cG1kLnN0YXJ0 X3Rlc3RwbWQoIkRlZmF1bHQiLCAiLS1wb3J0LXRvcG9sb2d5PWNoYWluZWQiKQ0KPiArCXNlbGYu dm0wX3Rlc3RwbWQuc3RhcnRfdGVzdHBtZChWTV9DT1JFU19NQVNLLCAnLS1wb3J0LQ0KPiB0b3Bv bG9neT1jaGFpbmVkJykNCj4gKwl0aW1lLnNsZWVwKDEwKQ0KPiArDQo+ICsgICAgZGVmIGNoZWNr X3ZmX2xpbmtfc3RhdHVzKHNlbGYpOg0KPiArICAgICAgICBzZWxmLnN0YXJ0X3Rlc3RwbWQoKQ0K PiArICAgICAgICBmb3IgaSBpbiByYW5nZSg1KToNCj4gKyAgICAgICAgICAgIG91dCA9IHNlbGYu dm0wX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3Nob3cgcG9ydCBpbmZvIDAnKQ0KPiArICAgICAgICAg ICAgcHJpbnQgb3V0DQo+ICsgICAgICAgICAgICBpZiAnTGluayBzdGF0dXM6IGRvd24nIGluIG91 dDoNCj4gKyAgICAgICAgICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnF1aXQoKQ0KPiArICAgICAg ICAgICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQucXVpdCgpDQo+ICsgICAgICAgICAgICAgICAgdGlt ZS5zbGVlcCgyKQ0KPiArICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRfdGVzdHBtZCgpDQo+ICsN Cj4gKyAgICAgICAgICAgIGVsc2UgOg0KPiArICAgICAgICAgICAgICAgIGJyZWFrDQo+ICsNCg0K VGhlcmUncyBubyBtZWFuaW5nIGZvciBtYWtpbmcgbGluayByZWFkeSBieSByZXN0YXJ0aW5nIHRl c3RwbWQuDQpUaGUgcHJvY2VzcyBzaG91bGQgYmU6DQoxLCBzdGFydCB0ZXN0cG1kIG9uIGhvc3Qv Z3Vlc3QNCjIsIHdhaXQgc29tZSBzZWNvbmRzIGxpa2UgMTBzDQozLCBtYWtlIHN1cmUgbGluayBp cyByZWFkeQ0KNCwgaWYgbGluayBub3QgcmVhZHksIHRlc3QgY2FzZSBzaG91bGQgYmUgZmFpbGVk DQoNCj4gICAgICBkZWYgYmluZF9uaWNfZHJpdmVyKHNlbGYsIHBvcnRzLCBkcml2ZXI9IiIpOg0K PiAgICAgICAgICBpZiBkcml2ZXIgPT0gImlnYl91aW8iOg0KPiAgICAgICAgICAgICAgZm9yIHBv cnQgaW4gcG9ydHM6DQo+IEBAIC02Niw4ICs4NSwxMyBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRl c3RDYXNlKToNCj4gICAgICAgICAgZm9yIHBvcnQgaW4gc2VsZi5zcmlvdl92ZnNfcG9ydDoNCj4g ICAgICAgICAgICAgICAgICBwb3J0LmJpbmRfZHJpdmVyKCdwY2ktc3R1YicpDQo+ICAgICAgICAg IHRpbWUuc2xlZXAoMSkNCj4gKw0KPiAgICAgICAgICBzZWxmLmR1dF90ZXN0cG1kID0gUG1kT3V0 cHV0KHNlbGYuZHV0KQ0KPiAtICAgICAgICB0aW1lLnNsZWVwKDEpDQo+ICsgICAgICAgIHNlbGYu ZHV0X3Rlc3RwbWQuc3RhcnRfdGVzdHBtZCgNCj4gKyAgICAgICAgICAgICJEZWZhdWx0IiwgIi0t cnhxPTQgLS10eHE9NCAtLXBvcnQtdG9wb2xvZ3k9Y2hhaW5lZCIpDQo+ICsgICAgICAgIHNlbGYu ZHV0X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoInN0YXJ0IikNCj4gKyAgICAgICAgdGltZS5zbGVlcCg1 KQ0KPiArDQo+ICAgICAgICAgIHZmMF9wcm9wID0geydvcHRfaG9zdCc6IHNlbGYuc3Jpb3ZfdmZz X3BvcnRbMF0ucGNpfQ0KPiANCj4gICAgICAgICAgIyBzZXQgdXAgVk0wIEVOVg0KPiBAQCAtOTgs NyArMTIyLDcgQEAgY2xhc3MgVGVzdHZmX2RhZW1vbihUZXN0Q2FzZSk6DQo+ICAgICAgICAgIHNl bGYudm0xX3Rlc3RwbWQgPSBQbWRPdXRwdXQoc2VsZi52bTFfZHV0KQ0KPiANCj4gICAgICAgICAg c2VsZi5lbnZfZG9uZSA9IFRydWUNCj4gLQ0KPiArICAgICAgICBzZWxmLmR1dF90ZXN0cG1kLnF1 aXQoKQ0KPiAgICAgIGRlZiBkZXN0cm95X3ZtX2VudihzZWxmKToNCj4gDQo+ICAgICAgICAgIGlm IGdldGF0dHIoc2VsZiwgJ3ZtMCcsIE5vbmUpOg0KPiBAQCAtMTE3LDEzICsxNDEsMTQgQEAgY2xh c3MgVGVzdHZmX2RhZW1vbihUZXN0Q2FzZSk6DQo+ICAgICAgICAgICAgICBzZWxmLnZtMS5zdG9w KCkNCj4gICAgICAgICAgICAgIHNlbGYudm0xID0gTm9uZQ0KPiANCj4gKyAgICAgICAgc2VsZi5k dXQudmlydF9leGl0KCkNCj4gKw0KPiAgICAgICAgICBpZiBnZXRhdHRyKHNlbGYsICd1c2VkX2R1 dF9wb3J0JywgTm9uZSk6DQo+ICAgICAgICAgICAgICBzZWxmLmR1dC5kZXN0cm95X3NyaW92X3Zm c19ieV9wb3J0KHNlbGYudXNlZF9kdXRfcG9ydCkNCj4gICAgICAgICAgICAgIHBvcnQgPSBzZWxm LmR1dC5wb3J0c19pbmZvW3NlbGYudXNlZF9kdXRfcG9ydF1bJ3BvcnQnXQ0KPiAgICAgICAgICAg ICAgc2VsZi51c2VkX2R1dF9wb3J0ID0gTm9uZQ0KPiANCj4gICAgICAgICAgc2VsZi5lbnZfZG9u ZSA9IEZhbHNlDQo+IC0NCj4gDQo+ICAgICAgZGVmIHNlbmRfcGFja2V0KHNlbGYsIGRzdF9tYWMs IHZsYW5faWQsIHBrdHNpemUsIG51bSk6DQo+ICAgICAgICAgICIiIg0KPiBAQCAtMTM1LDcgKzE2 MCw4IEBAIGNsYXNzIFRlc3R2Zl9kYWVtb24oVGVzdENhc2UpOg0KPiAgICAgICAgICAgICAgcGt0 ID0gUGFja2V0KHBrdF90eXBlPSdWTEFOX1VEUCcsIHBrdF9sZW4gPSBwa3RzaXplKQ0KPiAgICAg ICAgICAgICAgcGt0LmNvbmZpZ19sYXllcigndmxhbicsIHsndmxhbic6IHZsYW5faWR9KQ0KPiAg ICAgICAgICBwa3QuY29uZmlnX2xheWVyKCdldGhlcicsIHsnZHN0JzogZHN0X21hY30pDQo+IC0g ICAgICAgIGluc3QgPSBzbmlmZl9wYWNrZXRzKHNlbGYudGVzdGVyX2ludGYsIHRpbWVvdXQ9NSkN Cj4gKw0KPiArICAgICAgICBpbnN0ID0gc25pZmZfcGFja2V0cyhzZWxmLnRlc3Rlcl9pbnRmLCB0 aW1lb3V0PTMwKQ0KPiAgICAgICAgICBwa3Quc2VuZF9wa3QodHhfcG9ydD1zZWxmLnRlc3Rlcl9p bnRmLCBjb3VudD1udW0pDQo+ICAgICAgICAgIHJldHVybiBpbnN0DQo+IA0KPiBAQCAtMTY5LDcg KzE5NSw3IEBAIGNsYXNzIFRlc3R2Zl9kYWVtb24oVGVzdENhc2UpOg0KPiAgICAgICAgICBPdXRw dXQ6IHRlc3RwbWQgb3V0cHV0IG1lc3NhZ2UNCj4gICAgICAgICAgIiIiDQo+ICAgICAgICAgIGlu c3QgPSBzZWxmLnNlbmRfcGFja2V0KGRzdF9tYWMsIHZsYW5faWQgLCBwa3RzaXplLCBudW0pDQo+ IC0gICAgICAgIG91dCA9IHNlbGYudm0wX2R1dC5nZXRfc2Vzc2lvbl9vdXRwdXQodGltZW91dD0y KQ0KPiArICAgICAgICBvdXQgPSBzZWxmLnZtMF9kdXQuZ2V0X3Nlc3Npb25fb3V0cHV0KHRpbWVv dXQ9MTApDQo+ICAgICAgICAgIHJldHVybiBvdXQNCj4gDQo+ICAgICAgZGVmIHNlbmRfYW5kX3Zs YW5zdHJpcChzZWxmLCBkc3RfbWFjLCB2bGFuX2lkID0gMCwgcGt0c2l6ZSA9IDY0LCBudW0NCj4g PSAxKToNCj4gQEAgLTIwMCw5ICsyMjYsNyBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RDYXNl KToNCj4gICAgICAgICAgSWYgaW5zZXJ0IHZsYW4gaWQgYXMgMX40MDk1LCBtZWFucyBlbmFibGlu ZyB2bGFuIGlkIGluc2VydGlvbiBhbmQNCj4gICAgICAgICAgdmxhbiBpZCBhcyBjb25maWd1cmVk IHZhbHVlDQo+ICAgICAgICAgICIiIg0KPiAtICAgICAgICBzZWxmLmR1dF90ZXN0cG1kLnN0YXJ0 X3Rlc3RwbWQoIkRlZmF1bHQiLCAiLS1wb3J0LQ0KPiB0b3BvbG9neT1jaGFpbmVkIikNCj4gLSAg ICAgICAgc2VsZi52bTBfdGVzdHBtZC5zdGFydF90ZXN0cG1kKFZNX0NPUkVTX01BU0ssICctLXBv cnQtDQo+IHRvcG9sb2d5PWNoYWluZWQnKQ0KPiAtDQo+ICsgICAgICAgIHNlbGYuY2hlY2tfdmZf bGlua19zdGF0dXMoKQ0KPiAgICAgICAgICBzZWxmLnZmMF9tYWMgPSBzZWxmLnZtMF90ZXN0cG1k LmdldF9wb3J0X21hYygwKQ0KPiANCj4gICAgICAgICAgc2VsZi52bTBfdGVzdHBtZC5leGVjdXRl X2NtZCgnc2V0IGZ3ZCBtYWMnKQ0KPiBAQCAtMjExLDcgKzIzNSw3IEBAIGNsYXNzIFRlc3R2Zl9k YWVtb24oVGVzdENhc2UpOg0KPiAgICAgICAgICAjRGlzYWJsZSB2bGFuIGluc2VydCB3aGljaCBt ZWFucyBpbnNlcnQgdmxhbiBpZCBhcyAwDQo+ICAgICAgICAgIHJ4X3ZsYW4gPSAwDQo+ICAgICAg ICAgIHNlbGYuZHV0X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3NldCB2ZiB2bGFuIGluc2VydCAwIDAg JXMnICUNCj4gcnhfdmxhbikNCj4gLSAgICAgICAgdGltZS5zbGVlcCgxKQ0KPiArICAgICAgICB0 aW1lLnNsZWVwKDMpDQo+ICAgICAgICAgIHZsYW5zID0gc2VsZi5zZW5kX2FuZF92bGFuc3RyaXAo c2VsZi52ZjBfbWFjKQ0KPiAgICAgICAgICBzZWxmLnZlcmlmeShyeF92bGFuIG5vdCBpbiB2bGFu cywNCj4gICAgICAgICAgICAgICJGYWlsZWQgdG8gZGlzYWJsZSB2bGFuIGluc2VydCEhISIpDQo+ IEBAIC0yMjEsMjggKzI0NSwyNCBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RDYXNlKToNCj4g ICAgICAgICAgcnhfdmxhbnMgPSBbMSwgcmFuZG9tX3ZsYW4sIE1BWF9WTEFOXQ0KPiAgICAgICAg ICBmb3IgcnhfdmxhbiBpbiByeF92bGFuczoNCj4gICAgICAgICAgICAgIHNlbGYuZHV0X3Rlc3Rw bWQuZXhlY3V0ZV9jbWQoJ3NldCB2ZiB2bGFuIGluc2VydCAwIDAgJXMnJQ0KPiByeF92bGFuKQ0K PiAtICAgICAgICAgICAgdGltZS5zbGVlcCgxKQ0KPiArICAgICAgICAgICAgdGltZS5zbGVlcCgz KQ0KPiAgICAgICAgICAgICAgdmxhbnMgPSBzZWxmLnNlbmRfYW5kX3ZsYW5zdHJpcChzZWxmLnZm MF9tYWMpDQo+ICAgICAgICAgICAgICBzZWxmLnZlcmlmeShyeF92bGFuIGluIHZsYW5zLCJGYWls ZWQgdG8gZW5hYmxlIHZsYW4gaW5zZXJ0DQo+IHBhY2tldCEhISIpDQo+IA0KPiAtICAgICAgICBz ZWxmLnZtMF90ZXN0cG1kLnF1aXQoKQ0KPiAtICAgICAgICBzZWxmLmR1dF90ZXN0cG1kLnF1aXQo KQ0KPiAtDQo+ICsgICAgICAgIHNlbGYudm0wX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3N0b3AnKQ0K PiANCj4gICAgICBkZWYgdGVzdF9tdWx0aWNhc3RfbW9kZShzZWxmKToNCj4gICAgICAgICAgIiIi DQo+ICAgICAgICAgIEVuYWJsZS9kaXNhYmxlIG11bHRpY2FzdCBwcm9taXNjdW91cyBtb2RlIGZv ciBhIFZGIGZyb20gUEYNCj4gICAgICAgICAgIiIiDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3Rw bWQuc3RhcnRfdGVzdHBtZCgiRGVmYXVsdCIsICItLXBvcnQtDQo+IHRvcG9sb2d5PWNoYWluZWQi KQ0KPiAtICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoVk1fQ09SRVNfTUFT SywgJy0tcG9ydC0NCj4gdG9wb2xvZ3k9Y2hhaW5lZCcpDQo+IC0NCj4gKyAgICAgICAgc2VsZi5j aGVja192Zl9saW5rX3N0YXR1cygpDQo+ICAgICAgICAgIHNlbGYudmYwX21hYyA9IHNlbGYudm0w X3Rlc3RwbWQuZ2V0X3BvcnRfbWFjKDApDQo+IA0KPiAgICAgICAgICBzZWxmLnZtMF90ZXN0cG1k LmV4ZWN1dGVfY21kKCdzZXQgZndkIHJ4b25seScpDQo+ICAgICAgICAgIHNlbGYudm0wX3Rlc3Rw bWQuZXhlY3V0ZV9jbWQoJ3NldCB2ZXJib3NlIDEnKQ0KPiAgICAgICAgICBzZWxmLnZtMF90ZXN0 cG1kLmV4ZWN1dGVfY21kKCdzdGFydCcpDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuZXhl Y3V0ZV9jbWQoJ3NldCB2ZiBwcm9taXNjIDAgMCBvZmYnKQ0KPiAtICAgICAgICBzZWxmLmR1dF90 ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgdmYgYWxsbXVsdGkgMCAwIG9mZicpDQo+ICsgICAgICAg IHNlbGYuZHV0X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3NldCB2ZiBwcm9taXNjIDAgMCBvZmYnKQ0K PiArICAgICAgICBzZWxmLmR1dF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgdmYgYWxsbXVsdGkg MCAwIG9mZicpDQo+ICAgICAgICAgIG11bHRpX21hYyA9ICdGMzowMDozMzoyMjoxMTowMCcNCj4g ICAgICAgICAgb3V0ID0gc2VsZi5zZW5kX2FuZF9wbWRvdXQobXVsdGlfbWFjKQ0KPiAgICAgICAg ICBzZWxmLnZlcmlmeSgicmVjZWl2ZWQiIG5vdCBpbiBvdXQsDQo+IEBAIC0yNTgsMjMgKzI3OCwx OSBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RDYXNlKToNCj4gICAgICAgICAgc2VsZi52ZXJp ZnkoInJlY2VpdmVkIiBpbiBvdXQsICJGYWlsZWQgdG8gZW5hYmxlIHZmIG11bHRpY2FzdA0KPiBt b2RlISEhIikNCj4gICAgICAgICAgc2VsZi52ZXJpZnkoImRzdD0lcyIgJSBtdWx0aV9tYWMgaW4g b3V0LA0KPiAgICAgICAgICAgICAgIkZhaWxlZCB0byBlbmFibGUgdmYgbXVsdGljYXN0IG1vZGUh ISEiKQ0KPiAtDQo+ICsNCj4gICAgICAgICAgb3V0ID0gc2VsZi5zZW5kX2FuZF9wbWRvdXQoc2Vs Zi52ZjBfbWFjKQ0KPiAgICAgICAgICBzZWxmLnZlcmlmeSgicmVjZWl2ZWQiIGluIG91dCwgIkZh aWxlZCB0byBlbmFibGUgdmYgbXVsdGljYXN0DQo+IG1vZGUhISEiKQ0KPiAgICAgICAgICBzZWxm LnZlcmlmeSgiZHN0PSVzIiAlIHNlbGYudmYwX21hYyBpbiBvdXQsDQo+ICAgICAgICAgICAgICAi RmFpbGVkIHRvIGVuYWJsZSB2ZiBtdWx0aWNhc3QgbW9kZSEhISIpDQo+IC0NCj4gLSAgICAgICAg c2VsZi52bTBfdGVzdHBtZC5xdWl0KCkNCj4gLSAgICAgICAgc2VsZi5kdXRfdGVzdHBtZC5xdWl0 KCkNCj4gLQ0KPiArDQo+ICsgICAgICAgIHNlbGYudm0wX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3N0 b3AnKQ0KPiANCj4gICAgICBkZWYgdGVzdF9wcm9taXNjX21vZGUoc2VsZik6DQo+ICAgICAgICAg ICIiIg0KPiAgICAgICAgICBFbmFibGUvZGlzYWJsZSBwcm9taXNjdW91cyBtb2RlIGZvciBhIFZG IGZyb20gUEYNCj4gICAgICAgICAgIiIiDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuc3Rh cnRfdGVzdHBtZCgiRGVmYXVsdCIsICItLXBvcnQtDQo+IHRvcG9sb2d5PWNoYWluZWQiKQ0KPiAt ICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoVk1fQ09SRVNfTUFTSywgJy0t cG9ydC0NCj4gdG9wb2xvZ3k9Y2hhaW5lZCcpDQo+IC0NCj4gKyAgICAgICAgc2VsZi5jaGVja192 Zl9saW5rX3N0YXR1cygpDQo+ICAgICAgICAgIHNlbGYudmYwX21hYyA9IHNlbGYudm0wX3Rlc3Rw bWQuZ2V0X3BvcnRfbWFjKDApDQo+IA0KPiAgICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLmV4ZWN1 dGVfY21kKCdzZXQgZndkIHJ4b25seScpDQo+IEBAIC0yODMsNiArMjk5LDcgQEAgY2xhc3MgVGVz dHZmX2RhZW1vbihUZXN0Q2FzZSk6DQo+ICAgICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuZXhlY3V0 ZV9jbWQoJ3NldCB2ZiBwcm9taXNjIDAgMCBvZmYnKQ0KPiANCj4gICAgICAgICAgd3JvbmdfbWFj ID0gJzlFOkFDOjcyOjQ5OjQzOjExJw0KPiArICAgICAgICB0aW1lLnNsZWVwKDEwKQ0KPiAgICAg ICAgICBvdXQgPSBzZWxmLnNlbmRfYW5kX3BtZG91dCh3cm9uZ19tYWMpDQo+ICAgICAgICAgIHNl bGYudmVyaWZ5KCJyZWNlaXZlZCIgbm90IGluIG91dCwNCj4gICAgICAgICAgICAgICJGYWlsZWQg dG8gZGlzYWJsZSB2ZiBwcm9taXNjIG1vZGUhISEiKQ0KPiBAQCAtMjkzLDYgKzMxMCw3IEBAIGNs YXNzIFRlc3R2Zl9kYWVtb24oVGVzdENhc2UpOg0KPiAgICAgICAgICAgICAgIkZhaWxlZCB0byBk aXNhYmxlIHZmIHByb21pc2MgbW9kZSEhISIpDQo+IA0KPiAgICAgICAgICBzZWxmLmR1dF90ZXN0 cG1kLmV4ZWN1dGVfY21kKCdzZXQgdmYgcHJvbWlzYyAwIDAgb24nKQ0KPiArICAgICAgICB0aW1l LnNsZWVwKDUpDQo+ICAgICAgICAgIG91dCA9IHNlbGYuc2VuZF9hbmRfcG1kb3V0KHdyb25nX21h YykNCj4gICAgICAgICAgc2VsZi52ZXJpZnkoInJlY2VpdmVkIiBpbiBvdXQsICJGYWlsZWQgdG8g ZW5hYmxlIHZmIHByb21pc2MNCj4gbW9kZSEhISIpDQo+ICAgICAgICAgIHNlbGYudmVyaWZ5KCJk c3Q9JXMiICUgd3JvbmdfbWFjIGluIG91dCwNCj4gQEAgLTMwMiwxOCArMzIwLDE0IEBAIGNsYXNz IFRlc3R2Zl9kYWVtb24oVGVzdENhc2UpOg0KPiAgICAgICAgICBzZWxmLnZlcmlmeSgicmVjZWl2 ZWQiIGluIG91dCwgIkZhaWxlZCB0byBlbmFibGUgdmYgcHJvbWlzYw0KPiBtb2RlISEhIikNCj4g ICAgICAgICAgc2VsZi52ZXJpZnkoImRzdD0lcyIgJSBzZWxmLnZmMF9tYWMgaW4gb3V0LA0KPiAg ICAgICAgICAgICAgIkZhaWxlZCB0byBlbmFibGUgdmYgcHJvbWlzYyBtb2RlISEhIikNCj4gLQ0K PiAtICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnF1aXQoKQ0KPiAtICAgICAgICBzZWxmLmR1dF90 ZXN0cG1kLnF1aXQoKQ0KPiANCj4gLQ0KPiArICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLmV4ZWN1 dGVfY21kKCdzdG9wJykNCj4gKw0KPiAgICAgIGRlZiB0ZXN0X2Jyb2FkY2FzdF9tb2RlKHNlbGYp Og0KPiAgICAgICAgICAiIiINCj4gICAgICAgICAgRW5hYmxlL2Rpc2FibGUgYnJvYWRjYXN0IG1v ZGUgZm9yIGEgVkYgZnJvbSBQRg0KPiAgICAgICAgICAiIiINCj4gLSAgICAgICAgc2VsZi5kdXRf dGVzdHBtZC5zdGFydF90ZXN0cG1kKCJEZWZhdWx0IiwgIi0tcG9ydC0NCj4gdG9wb2xvZ3k9Y2hh aW5lZCIpDQo+IC0gICAgICAgIHNlbGYudm0wX3Rlc3RwbWQuc3RhcnRfdGVzdHBtZChWTV9DT1JF U19NQVNLLCAnLS1wb3J0LQ0KPiB0b3BvbG9neT1jaGFpbmVkJykNCj4gLQ0KPiArICAgICAgICBz ZWxmLmNoZWNrX3ZmX2xpbmtfc3RhdHVzKCkNCj4gICAgICAgICAgc2VsZi52ZjBfbWFjID0gc2Vs Zi52bTBfdGVzdHBtZC5nZXRfcG9ydF9tYWMoMCkNCj4gDQo+ICAgICAgICAgIHNlbGYudm0wX3Rl c3RwbWQuZXhlY3V0ZV9jbWQoJ3NldCBmd2Qgcnhvbmx5JykNCj4gQEAgLTMyNywyMyArMzQxLDIy IEBAIGNsYXNzIFRlc3R2Zl9kYWVtb24oVGVzdENhc2UpOg0KPiAgICAgICAgICAgICAgIkZhaWxl ZCB0byBkaXNhYmxlIHZmIGJyb2FkY2FzdCBtb2RlISEhIikNCj4gDQo+ICAgICAgICAgIHNlbGYu ZHV0X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3NldCB2ZiBicm9hZGNhc3QgMCAwIG9uJykNCj4gKyAg ICAgICAgIyB0aGUgY29uZmlnIG5vdCBlZmZlY3RpdmUgaW1tZWRpYXRlbHkuDQo+ICsgICAgICAg IHRpbWUuc2xlZXAoMTApDQo+ICsNCj4gICAgICAgICAgb3V0ID0gc2VsZi5zZW5kX2FuZF9wbWRv dXQoZHN0X21hYykNCj4gICAgICAgICAgc2VsZi52ZXJpZnkoInJlY2VpdmVkIiBpbiBvdXQsICJG YWlsZWQgdG8gZW5hYmxlIHZmIGJyb2FkY2FzdA0KPiBtb2RlISEhIikNCj4gICAgICAgICAgc2Vs Zi52ZXJpZnkoImRzdD0lcyIgJSBkc3RfbWFjIGluIG91dCwNCj4gICAgICAgICAgICAgICJGYWls ZWQgdG8gZW5hYmxlIHZmIGJyb2FkY2FzdCBtb2RlISEhIikNCj4gDQo+IC0gICAgICAgIHNlbGYu dm0wX3Rlc3RwbWQucXVpdCgpDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQucXVpdCgpDQo+ IC0NCj4gDQo+ICAgICAgZGVmIHRlc3RfdmZfbXR1KHNlbGYpOg0KPiAgICAgICAgICAiIiINCj4g ICAgICAgICAgRW5hYmxlIFZGIE1UVSBjaGFuZ2UNCj4gICAgICAgICAgIiIiDQo+IC0gICAgICAg IHNlbGYuZHV0LnNlbmRfZXhwZWN0KCJpZmNvbmZpZyAlcyBtdHUgOTAwMCIgJSBzZWxmLnRlc3Rl cl9pbnRmLA0KPiAiIyIpDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuc3RhcnRfdGVzdHBt ZCgiRGVmYXVsdCIsICItLXBvcnQtDQo+IHRvcG9sb2d5PWNoYWluZWQiKQ0KPiAtICAgICAgICBz ZWxmLnZtMF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoVk1fQ09SRVNfTUFTSywgJy0tcG9ydC0NCj4g dG9wb2xvZ3k9Y2hhaW5lZCcpDQo+IC0NCj4gKyAgICAgICAgc2VsZi50ZXN0ZXIuc2VuZF9leHBl Y3QoImlmY29uZmlnICVzIG10dSA5MDAwIiAlIHNlbGYudGVzdGVyX2ludGYsDQo+ICIjIikNCj4g KyAgICAgICAgc2VsZi5jaGVja192Zl9saW5rX3N0YXR1cygpDQo+ICsgICAgICAgIHRpbWUuc2xl ZXAoMTApDQo+ICAgICAgICAgIHNlbGYudmYwX21hYyA9IHNlbGYudm0wX3Rlc3RwbWQuZ2V0X3Bv cnRfbWFjKDApDQo+IA0KPiAgICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdz ZXQgZndkIG1hYycpDQo+IEBAIC0zNjYsMTUgKzM3OSwxNCBAQCBjbGFzcyBUZXN0dmZfZGFlbW9u KFRlc3RDYXNlKToNCj4gDQo+ICAgICAgICAgIHNlbGYudm0wX3Rlc3RwbWQucXVpdCgpDQo+ICAg ICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQucXVpdCgpDQo+IC0gICAgICAgIHNlbGYuZHV0LnNlbmRf ZXhwZWN0KCJpZmNvbmZpZyAlcyBtdHUgMTUwMCIgJSBzZWxmLnRlc3Rlcl9pbnRmLA0KPiAiIyIp DQo+ICsgICAgICAgIHNlbGYudGVzdGVyLnNlbmRfZXhwZWN0KCJpZmNvbmZpZyAlcyBtdHUgMTUw MCIgJSBzZWxmLnRlc3Rlcl9pbnRmLA0KPiAiIyIpDQo+IA0KPiANCj4gICAgICBkZWYgdGVzdF92 bGFuX3RhZyhzZWxmKToNCj4gICAgICAgICAgIiIiDQo+ICAgICAgICAgIEVuYWJsZS9kaXNhYmxl IHZsYW4gdGFnIGZvciBhIFZGIGZyb20gUEYNCj4gICAgICAgICAgIiIiDQo+IC0gICAgICAgIHNl bGYuZHV0X3Rlc3RwbWQuc3RhcnRfdGVzdHBtZCgiRGVmYXVsdCIsICItLXBvcnQtDQo+IHRvcG9s b2d5PWNoYWluZWQiKQ0KPiAtICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQo Vk1fQ09SRVNfTUFTSywgJy0tcG9ydC0NCj4gdG9wb2xvZ3k9Y2hhaW5lZCcpDQo+ICsgICAgICAg IHNlbGYuY2hlY2tfdmZfbGlua19zdGF0dXMoKQ0KPiANCj4gICAgICAgICAgc2VsZi52ZjBfbWFj ID0gc2VsZi52bTBfdGVzdHBtZC5nZXRfcG9ydF9tYWMoMCkNCj4gDQo+IEBAIC0zODYsMzcgKzM5 OCwzNCBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RDYXNlKToNCj4gICAgICAgICAgZm9yIHJ4 X3ZsYW4gaW4gcnhfdmxhbnM6DQo+ICAgICAgICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLmV4ZWN1 dGVfY21kKCdyeF92bGFuIGFkZCAlcyAwJyAlIHJ4X3ZsYW4pDQo+ICAgICAgICAgICAgICBzZWxm LmR1dF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgdmYgdmxhbiB0YWcgMCAwIG9mZicpDQo+IC0g ICAgICAgICAgICB0aW1lLnNsZWVwKDEpDQo+ICsgICAgICAgICAgICB0aW1lLnNsZWVwKDMpDQo+ ICAgICAgICAgICAgICBvdXQgPSBzZWxmLnNlbmRfYW5kX21hY3N0cmlwKHNlbGYudmYwX21hYywg cnhfdmxhbikNCj4gICAgICAgICAgICAgIHNlbGYudmVyaWZ5KHNlbGYudmYwX21hYy5sb3dlcigp IG5vdCBpbiBvdXQsDQo+ICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBkaXNhYmxlIHZsYW4g dGFnISEhIikNCj4gDQo+ICAgICAgICAgICAgICBzZWxmLmR1dF90ZXN0cG1kLmV4ZWN1dGVfY21k KCdzZXQgdmYgdmxhbiB0YWcgMCAwIG9uJykNCj4gLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkN Cj4gKyAgICAgICAgICAgIHRpbWUuc2xlZXAoMykNCj4gICAgICAgICAgICAgIG91dCA9IHNlbGYu c2VuZF9hbmRfbWFjc3RyaXAoc2VsZi52ZjBfbWFjLCByeF92bGFuKQ0KPiAgICAgICAgICAgICAg c2VsZi52ZXJpZnkoc2VsZi52ZjBfbWFjLmxvd2VyKCkgaW4gb3V0LA0KPiAgICAgICAgICAgICAg ICAgICJGYWlsZWQgdG8gZW5hYmxlIHZsYW4gdGFnISEhIikNCj4gDQo+IC0gICAgICAgIHNlbGYu dm0wX3Rlc3RwbWQucXVpdCgpDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQucXVpdCgpDQo+ IC0NCj4gDQo+ICAgICAgZGVmIHRlc3RfdHhfbG9vcGJhY2soc2VsZik6DQo+ICAgICAgICAgICIi Ig0KPiAgICAgICAgICBFbmFibGUvZGlzYWJsZSBUWCBsb29wYmFjayBmcm9tIFBGDQo+ICAgICAg ICAgICIiIg0KPiAtICAgICAgICBzZWxmLmR1dF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoIkRlZmF1 bHQiLCAiLS1wb3J0LQ0KPiB0b3BvbG9neT1jaGFpbmVkIikNCj4gLSAgICAgICAgc2VsZi52bTBf dGVzdHBtZC5zdGFydF90ZXN0cG1kKFZNX0NPUkVTX01BU0ssICctLXBvcnQtDQo+IHRvcG9sb2d5 PWNoYWluZWQnKQ0KPiArICAgICAgICBzZWxmLmNoZWNrX3ZmX2xpbmtfc3RhdHVzKCkNCj4gICAg ICAgICAgc2VsZi52ZjBfbWFjID0gc2VsZi52bTBfdGVzdHBtZC5nZXRfcG9ydF9tYWMoMCkNCj4g ICAgICAgICAgc2VsZi52bTFfdGVzdHBtZC5zdGFydF90ZXN0cG1kKFZNX0NPUkVTX01BU0ssDQo+ ICAgICAgICAgICAgICAgICAgJy0tcG9ydC10b3BvbG9neT1jaGFpbmVkIC0tZXRoLXBlZXI9MCwl cycgJSBzZWxmLnZmMF9tYWMpDQo+IC0NCj4gKyAgICAgICAgdGltZS5zbGVlcCgxMCkNCj4gICAg ICAgICAgc2VsZi52bTBfdGVzdHBtZC5leGVjdXRlX2NtZCgnc2V0IGZ3ZCByeG9ubHknKQ0KPiAg ICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgdmVyYm9zZSAxJykNCj4g ICAgICAgICAgc2VsZi52bTBfdGVzdHBtZC5leGVjdXRlX2NtZCgnc3RhcnQnKQ0KPiAgICAgICAg ICBzZWxmLmR1dF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgdHggbG9vcGJhY2sgMCBvZmYnKQ0K PiArICAgICAgICB0aW1lLnNsZWVwKDUpDQo+IA0KPiAtICAgICAgICBpbnN0ID0gc25pZmZfcGFj a2V0cyhzZWxmLnRlc3Rlcl9pbnRmLCB0aW1lb3V0PTUpDQo+ICsgICAgICAgIGluc3QgPSBzbmlm Zl9wYWNrZXRzKHNlbGYudGVzdGVyX2ludGYsIHRpbWVvdXQ9MTApDQo+IA0KPiAgICAgICAgICBz ZWxmLnZtMV90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgYnVyc3QgNScpDQo+ICAgICAgICAgIHNl bGYudm0xX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3N0YXJ0IHR4X2ZpcnN0JykNCj4gQEAgLTQzMCw4 ICs0MzksOSBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RDYXNlKToNCj4gDQo+ICAgICAgICAg IHNlbGYudm0wX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3N0YXJ0JykNCj4gICAgICAgICAgc2VsZi5k dXRfdGVzdHBtZC5leGVjdXRlX2NtZCgnc2V0IHR4IGxvb3BiYWNrIDAgb24nKQ0KPiArICAgICAg ICB0aW1lLnNsZWVwKDMpDQo+IA0KPiAtICAgICAgICBpbnN0ID0gc25pZmZfcGFja2V0cyhzZWxm LnRlc3Rlcl9pbnRmLCB0aW1lb3V0PTUpDQo+ICsgICAgICAgIGluc3QgPSBzbmlmZl9wYWNrZXRz KHNlbGYudGVzdGVyX2ludGYsIHRpbWVvdXQ9MTApDQo+IA0KPiAgICAgICAgICBzZWxmLnZtMV90 ZXN0cG1kLmV4ZWN1dGVfY21kKCdzdG9wJykNCj4gICAgICAgICAgc2VsZi52bTFfdGVzdHBtZC5l eGVjdXRlX2NtZCgnc3RhcnQgdHhfZmlyc3QnKQ0KPiBAQCAtNDQxLDE3ICs0NTEsMTIgQEAgY2xh c3MgVGVzdHZmX2RhZW1vbihUZXN0Q2FzZSk6DQo+ICAgICAgICAgICAgICAiRmFpbGVkIHRvIGVu YWJsZSB0eCBsb29wYmFjayEhISIpDQo+ICAgICAgICAgIHNlbGYudmVyaWZ5KCJSWC1wYWNrZXRz OiA1IiBpbiBvdXQsICJGYWlsZWQgdG8gZW5hYmxlIHR4DQo+IGxvb3BiYWNrISEhIikNCj4gDQo+ IC0gICAgICAgIHNlbGYudm0wX3Rlc3RwbWQucXVpdCgpDQo+IC0gICAgICAgIHNlbGYudm0xX3Rl c3RwbWQucXVpdCgpDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQucXVpdCgpDQo+IC0NCj4g DQo+ICAgICAgZGVmIHRlc3RfYWxsX3F1ZXVlc19kcm9wKHNlbGYpOg0KPiAgICAgICAgICAiIiIN Cj4gICAgICAgICAgRW5hYmxlL2Rpc2FibGUgZHJvcCBlbmFibGUgYml0IGZvciBhbGwgcXVldWVz IGZyb20gUEYNCj4gICAgICAgICAgIiIiDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuc3Rh cnRfdGVzdHBtZCgiRGVmYXVsdCIsICItLXBvcnQtDQo+IHRvcG9sb2d5PWNoYWluZWQiKQ0KPiAt ICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoVk1fQ09SRVNfTUFTSywgJy0t cG9ydC0NCj4gdG9wb2xvZ3k9Y2hhaW5lZCcpDQo+ICsgICAgICAgIHNlbGYuY2hlY2tfdmZfbGlu a19zdGF0dXMoKQ0KPiAgICAgICAgICBzZWxmLnZtMV90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoVk1f Q09SRVNfTUFTSywgJy0tcG9ydC0NCj4gdG9wb2xvZ3k9Y2hhaW5lZCcpDQo+IA0KPiAgICAgICAg ICBzZWxmLnZtMF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgZndkIHJ4b25seScpDQo+IEBAIC00 NzYsMTcgKzQ4MSwxNCBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RDYXNlKToNCj4gICAgICAg ICAgb3V0ID0gc2VsZi52bTBfdGVzdHBtZC5leGVjdXRlX2NtZCgnc2hvdyBwb3J0IHN0YXRzIDAn KQ0KPiAgICAgICAgICBzZWxmLnZlcmlmeSgiUlgtcGFja2V0czogNDAiIGluIG91dCwNCj4gICAg ICAgICAgICAgICJGYWlsZWQgdG8gZW5hYmxlIGFsbCBxdWV1ZXMgZHJvcCEhISIpDQo+IC0NCj4g LSAgICAgICAgc2VsZi52bTBfdGVzdHBtZC5xdWl0KCkNCj4gLSAgICAgICAgc2VsZi52bTFfdGVz dHBtZC5xdWl0KCkNCj4gLSAgICAgICAgc2VsZi5kdXRfdGVzdHBtZC5xdWl0KCkNCj4gDQo+IA0K PiAtICAgIGRlZiB0ZXN0X21hY19hbnRpc3Bvb2Yoc2VsZik6DQo+ICsgICAgZGVmIHRlc3Rfem1h Y19hbnRpc3Bvb2Yoc2VsZik6DQo+ICAgICAgICAgICIiIg0KPiAgICAgICAgICBFbmFibGUvZGlz YWJsZSBtYWMgYW50aS1zcG9vZiBmb3IgYSBWRiBmcm9tIFBGDQo+ICAgICAgICAgICIiIg0KPiAg ICAgICAgICBmYWtlX21hYyA9ICcwMDoxMToyMjozMzo0NDo1NScNCj4gKyAgICAgICAgdGltZS5z bGVlcCg1KQ0KPiAgICAgICAgICBzZWxmLnZtMF9kdXQuc2VuZF9leHBlY3QoInNlZCAtaSAtZSAn L3VpbnQ2NF90IG9sX2ZsYWdzID0gMDsvYSAiDQo+ICtcDQo+ICAgICAgICAgICAgICAiXHN0cnVj dCBldGhlcl9hZGRyIGZha2VfbWFjID0gey5hZGRyX2J5dGVzID0gezB4MDAsIDB4MTEsDQo+IDB4 MjIsIDB4MzMsIDB4NDQsIDB4NTV9LH07JyIgK1wNCj4gICAgICAgICAgICAgICIgYXBwL3Rlc3Qt cG1kL21hY3N3YXAuYyIsICIjICIsIDMwKQ0KPiBAQCAtNDk0LDE2ICs0OTYsMjIgQEAgY2xhc3Mg VGVzdHZmX2RhZW1vbihUZXN0Q2FzZSk6DQo+ICAgICAgICAgICAgICAiIGFwcC90ZXN0LXBtZC9t YWNzd2FwLmMiLCAiIyAiLCAzMCkNCj4gICAgICAgICAgc2VsZi52bTBfZHV0LnNlbmRfZXhwZWN0 KCJzZWQgLWkgLWUgJy9ldGhlcl9hZGRyX2NvcHkoJmV0aF9oZHItDQo+ID5zX2FkZHIsICZldGhf aGRyLT5kX2FkZHIpOy9hICIgK1wNCj4gICAgICAgICAgICAgICJcZXRoZXJfYWRkcl9jb3B5KCZm YWtlX21hYywgJmV0aF9oZHItPnNfYWRkcik7JyBhcHAvdGVzdC0NCj4gcG1kL21hY3N3YXAuYyIs ICIjICIsIDMwKQ0KPiArICAgICAgICB0aW1lLnNsZWVwKDMpDQo+ICsNCj4gICAgICAgICAgc2Vs Zi52bTBfZHV0LmJ1aWxkX2luc3RhbGxfZHBkayhzZWxmLnRhcmdldCkNCj4gLSAgICAgICAgc2Vs Zi5kdXRfdGVzdHBtZC5zdGFydF90ZXN0cG1kKCJEZWZhdWx0IiwgIi0tcG9ydC0NCj4gdG9wb2xv Z3k9Y2hhaW5lZCIpDQo+IC0gICAgICAgIHNlbGYudm0wX3Rlc3RwbWQuc3RhcnRfdGVzdHBtZChW TV9DT1JFU19NQVNLLCAnLS1wb3J0LQ0KPiB0b3BvbG9neT1jaGFpbmVkJykNCj4gKyAgICAgICAg dGltZS5zbGVlcCg1KQ0KPiArDQo+ICsgICAgICAgIHNlbGYuY2hlY2tfdmZfbGlua19zdGF0dXMo KQ0KPiAgICAgICAgICBzZWxmLnZmMF9tYWMgPSBzZWxmLnZtMF90ZXN0cG1kLmdldF9wb3J0X21h YygwKQ0KPiANCj4gICAgICAgICAgc2VsZi52bTBfdGVzdHBtZC5leGVjdXRlX2NtZCgnc2V0IGZ3 ZCBtYWNzd2FwJykNCj4gICAgICAgICAgc2VsZi5kdXRfdGVzdHBtZC5leGVjdXRlX2NtZCgnc2V0 IHZmIG1hYyBhbnRpc3Bvb2YgMCAwIG9mZicpDQo+ICAgICAgICAgIHNlbGYudm0wX3Rlc3RwbWQu ZXhlY3V0ZV9jbWQoJ3N0YXJ0JykNCj4gKyAgICAgICAgdGltZS5zbGVlcCg1KQ0KPiArDQo+ICAg ICAgICAgIGR1bXBvdXQgPSBzZWxmLnNlbmRfYW5kX21hY3N0cmlwKHNlbGYudmYwX21hYykNCj4g ICAgICAgICAgb3V0ID0gc2VsZi52bTBfdGVzdHBtZC5leGVjdXRlX2NtZCgnc3RvcCcpDQo+ICsN Cj4gICAgICAgICAgc2VsZi52ZXJpZnkoZmFrZV9tYWMgaW4gZHVtcG91dCwNCj4gICAgICAgICAg ICAgICJGYWlsZWQgdG8gZGlzYWJsZSB2ZiBtYWMgYW5zcG9vZiEhISIpDQo+ICAgICAgICAgIHNl bGYudmVyaWZ5KCJSWC1wYWNrZXRzOiAxIiBpbiBvdXQsICJGYWlsZWQgdG8gcmVjZWl2ZSBwYWNr ZXQhISEiKQ0KPiBAQCAtNTExLDcgKzUxOSw4IEBAIGNsYXNzIFRlc3R2Zl9kYWVtb24oVGVzdENh c2UpOg0KPiAgICAgICAgICAgICAgIkZhaWxlZCB0byBkaXNhYmxlIG1hYyBhbnRpc3Bvb2YhISEi KQ0KPiANCj4gICAgICAgICAgc2VsZi5kdXRfdGVzdHBtZC5leGVjdXRlX2NtZCgnc2V0IHZmIG1h YyBhbnRpc3Bvb2YgMCAwIG9uJykNCj4gLSAgICAgICAgb3V0ID0gc2VsZi52bTBfdGVzdHBtZC5l eGVjdXRlX2NtZCgnc3RhcnQnKQ0KPiArICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLmV4ZWN1dGVf Y21kKCdzdGFydCcpDQo+ICsgICAgICAgIHRpbWUuc2xlZXAoMykNCj4gICAgICAgICAgZHVtcG91 dCA9IHNlbGYuc2VuZF9hbmRfbWFjc3RyaXAoc2VsZi52ZjBfbWFjKQ0KPiAgICAgICAgICBvdXQg PSBzZWxmLnZtMF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzdG9wJykNCj4gICAgICAgICAgc2VsZi52 ZXJpZnkoZmFrZV9tYWMgbm90IGluIGR1bXBvdXQsICJGYWlsZWQgdG8gZW5hYmxlIHZmIG1hYw0K PiBhbnNwb29mISEhIikNCj4gQEAgLTUyNywxNSArNTM2LDE4IEBAIGNsYXNzIFRlc3R2Zl9kYWVt b24oVGVzdENhc2UpOg0KPiAgICAgICAgICBzZWxmLnZtMF9kdXQuc2VuZF9leHBlY3QoInNlZCAt aSAnL2V0aGVyX2FkZHJfY29weSgmZXRoX2hkci0NCj4gPnNfYWRkciwgJmV0aF9oZHItPmRfYWRk cik7L2EgIiArXA0KPiAgICAgICAgICAgICAgIlxldGhlcl9hZGRyX2NvcHkoJmFkZHIsICZldGhf aGRyLT5zX2FkZHIpOycgYXBwL3Rlc3QtDQo+IHBtZC9tYWNzd2FwLmMiLCAiIyAiLCAzMCkNCj4g ICAgICAgICAgc2VsZi52bTBfZHV0LmJ1aWxkX2luc3RhbGxfZHBkayhzZWxmLnRhcmdldCkNCj4g LQ0KPiAtDQo+ICsNCj4gKw0KPiAgICAgIGRlZiB0ZXN0X3ZmX21hY19zZXQoc2VsZik6DQo+ICAg ICAgICAgICIiIg0KPiAgICAgICAgICBTZXQgTUFDIGFkZHJlc3MgZm9yIGEgVkYgZnJvbSBQRg0K PiAgICAgICAgICAiIiINCj4gICAgICAgICAgZXhwZWN0X21hYyA9ICdBMjoyMjozMzo0NDo1NTo2 NicNCj4gLSAgICAgICAgc2VsZi5kdXRfdGVzdHBtZC5zdGFydF90ZXN0cG1kKCJEZWZhdWx0Iiwg Ii0tcG9ydC0NCj4gdG9wb2xvZ3k9Y2hhaW5lZCIpDQo+ICsgICAgICAgIHNlbGYuY2hlY2tfdmZf bGlua19zdGF0dXMoKQ0KPiArICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnF1aXQoKQ0KPiAgICAg ICAgICBzZWxmLmR1dF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgdmYgbWFjIGFkZHIgMCAwICVz JyAlDQo+IGV4cGVjdF9tYWMpDQo+ICsgICAgICAgIHRpbWUuc2xlZXAoNSkNCj4gKw0KPiAgICAg ICAgICBvdXQgPSBzZWxmLnZtMF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoDQo+ICAgICAgICAgICAg ICBWTV9DT1JFU19NQVNLLCAnLS1wb3J0LXRvcG9sb2d5PWNoYWluZWQnKQ0KPiAgICAgICAgICBz ZWxmLnZlcmlmeSgiJXMiICUgZXhwZWN0X21hYyBpbiBvdXQsICJGYWlsZWQgdG8gc2V0IHZmIG1h YyEhISIpDQo+IEBAIC01NDYsMTcgKzU1OCwxMyBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RD YXNlKToNCj4gICAgICAgICAgb3V0ID0gc2VsZi5zZW5kX2FuZF9tYWNzdHJpcChzZWxmLnZmMF9t YWMpDQo+ICAgICAgICAgIHNlbGYudmVyaWZ5KGV4cGVjdF9tYWMubG93ZXIoKSBpbiBvdXQsDQo+ ICAgICAgICAgICAgICAiRmFpbGVkIHRvIHJlY2VpdmUgcGFja2V0IG9uIHNldHRlZCB2ZiBtYWMh ISEiKQ0KPiAtDQo+IC0gICAgICAgIHNlbGYudm0wX3Rlc3RwbWQucXVpdCgpDQo+IC0gICAgICAg IHNlbGYuZHV0X3Rlc3RwbWQucXVpdCgpDQo+IC0NCj4gKw0KPiANCj4gICAgICBkZWYgdGVzdF92 bGFuX2FudGlzcG9vZihzZWxmKToNCj4gICAgICAgICAgIiIiDQo+ICAgICAgICAgIEVuYWJsZS9k aXNhYmxlIHZsYW4gYW50aXNwb29mIGZvciBhIFZGIGZyb20gUEYNCj4gICAgICAgICAgIiIiDQo+ IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuc3RhcnRfdGVzdHBtZCgiRGVmYXVsdCIsICItLXBv cnQtDQo+IHRvcG9sb2d5PWNoYWluZWQiKQ0KPiAtICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnN0 YXJ0X3Rlc3RwbWQoVk1fQ09SRVNfTUFTSywgJy0tcG9ydC0NCj4gdG9wb2xvZ3k9Y2hhaW5lZCcp DQo+ICsgICAgICAgIHNlbGYuY2hlY2tfdmZfbGlua19zdGF0dXMoKQ0KPiANCj4gICAgICAgICAg c2VsZi52ZjBfbWFjID0gc2VsZi52bTBfdGVzdHBtZC5nZXRfcG9ydF9tYWMoMCkNCj4gICAgICAg ICAgdmYwX21hY19sb3dlciA9IHNlbGYudmYwX21hYy5sb3dlcigpDQo+IEBAIC01NjUsNyArNTcz LDggQEAgY2xhc3MgVGVzdHZmX2RhZW1vbihUZXN0Q2FzZSk6DQo+ICAgICAgICAgIHVubWF0Y2hf dmxhbiA9IChyYW5kb21fdmxhbiArIDIpICUgNDA5Ng0KPiAgICAgICAgICBzZWxmLnZtMF90ZXN0 cG1kLmV4ZWN1dGVfY21kKCdzZXQgZndkIG1hYycpDQo+ICAgICAgICAgIHNlbGYudm0wX3Rlc3Rw bWQuZXhlY3V0ZV9jbWQoJ3N0YXJ0JykNCj4gLSAgICAgICAgc2VsZi5kdXRfdGVzdHBtZC5leGVj dXRlX2NtZCgncnhfdmxhbiBhZGQgJWQgcG9ydCAwIHZmIDEnICUNCj4gbWF0Y2hfdmxhbikNCj4g KyAgICAgICAgI3NlbGYuZHV0X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3J4X3ZsYW4gYWRkICVkIHBv cnQgMCB2ZiAxJyAlDQo+IG1hdGNoX3ZsYW4pDQo+ICsgICAgICAgIHNlbGYudm0wX3Rlc3RwbWQu ZXhlY3V0ZV9jbWQoJ3J4X3ZsYW4gYWRkICVkIDAnICUgbWF0Y2hfdmxhbikNCj4gICAgICAgICAg aWYgc2VsZi5rZHJpdmVyID09ICJpNDBlIjoNCj4gICAgICAgICAgICAgIHNlbGYuZHV0X3Rlc3Rw bWQuZXhlY3V0ZV9jbWQoJ3NldCB2ZiB2bGFuIHN0cmlwcSAwIDAgb2ZmJykNCj4gICAgICAgICAg ZWxzZToNCj4gQEAgLTU3NCw3ICs1ODMsNyBAQCBjbGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RDYXNl KToNCj4gICAgICAgICAgICAgIHNlbGYudm0wX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3ZsYW4gc2V0 IHN0cmlwIG9mZiAwJykNCj4gDQo+ICAgICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuZXhlY3V0ZV9j bWQoJ3NldCB2ZiB2bGFuIGFudGlzcG9vZiAwIDAgb2ZmJykNCj4gLSAgICAgICAgdGltZS5zbGVl cCgxKQ0KPiArICAgICAgICB0aW1lLnNsZWVwKDEwKQ0KPiAgICAgICAgICBvdXQgPSBzZWxmLnNl bmRfYW5kX21hY3N0cmlwKHNlbGYudmYwX21hYyxtYXRjaF92bGFuKQ0KPiAgICAgICAgICBzZWxm LnZlcmlmeSh2ZjBfbWFjX2xvd2VyIGluIG91dCwNCj4gICAgICAgICAgICAgICJGYWlsZWQgdG8g ZGlzYWJsZSB2bGFuIGFudGlzcG9vZiB3aXRoIG1hdGNoIHZsYW4hISEiKQ0KPiBAQCAtNTg4LDcg KzU5Nyw3IEBAIGNsYXNzIFRlc3R2Zl9kYWVtb24oVGVzdENhc2UpOg0KPiAgICAgICAgICBpZiBz ZWxmLmtkcml2ZXIgPT0gIml4Z2JlIjoNCj4gICAgICAgICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQu ZXhlY3V0ZV9jbWQoJ3NldCB2ZiBtYWMgYW50aXNwb29mIDAgMCBvbicpDQo+ICAgICAgICAgIHNl bGYuZHV0X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3NldCB2ZiB2bGFuIGFudGlzcG9vZiAwIDAgb24n KQ0KPiAtICAgICAgICB0aW1lLnNsZWVwKDEpDQo+ICsgICAgICAgIHRpbWUuc2xlZXAoMykNCj4g DQo+ICAgICAgICAgIG91dCA9IHNlbGYuc2VuZF9hbmRfbWFjc3RyaXAoc2VsZi52ZjBfbWFjLG1h dGNoX3ZsYW4pDQo+ICAgICAgICAgIHNlbGYudmVyaWZ5KHZmMF9tYWNfbG93ZXIgaW4gb3V0LA0K PiBAQCAtNjAxLDE4ICs2MTAsMTMgQEAgY2xhc3MgVGVzdHZmX2RhZW1vbihUZXN0Q2FzZSk6DQo+ ICAgICAgICAgIG91dCA9IHNlbGYuc2VuZF9hbmRfbWFjc3RyaXAoc2VsZi52ZjBfbWFjKQ0KPiAg ICAgICAgICBzZWxmLnZlcmlmeSh2ZjBfbWFjX2xvd2VyIG5vdCBpbiBvdXQsDQo+ICAgICAgICAg ICAgICAiRmFpbGVkIHRvIGVuYWJsZSB2bGFuIGFudGlzcG9vZiB3aXRoIG5vIHZsYW4hISEiKQ0K PiAtDQo+IC0gICAgICAgIHNlbGYudm0wX3Rlc3RwbWQucXVpdCgpDQo+IC0gICAgICAgIHNlbGYu ZHV0X3Rlc3RwbWQucXVpdCgpDQo+IA0KPiANCj4gICAgICBkZWYgdGVzdF92bGFuX3N0cmlwKHNl bGYpOg0KPiAgICAgICAgICAiIiINCj4gICAgICAgICAgRW5hYmxlL2Rpc2FibGUgdGhlIFZMQU4g c3RyaXAgZm9yIGFsbCBxdWV1ZXMgaW4gYSBwb29sIGZvciBhIFZGDQo+IGZyb20gUEYNCj4gICAg ICAgICAgIiIiDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuc3RhcnRfdGVzdHBtZCgiRGVm YXVsdCIsICItLXBvcnQtDQo+IHRvcG9sb2d5PWNoYWluZWQiKQ0KPiAtICAgICAgICBzZWxmLnZt MF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoVk1fQ09SRVNfTUFTSywgJy0tcG9ydC0NCj4gdG9wb2xv Z3k9Y2hhaW5lZCcpDQo+IC0NCj4gKyAgICAgICAgc2VsZi5jaGVja192Zl9saW5rX3N0YXR1cygp DQo+ICAgICAgICAgIHNlbGYudmYwX21hYyA9IHNlbGYudm0wX3Rlc3RwbWQuZ2V0X3BvcnRfbWFj KDApDQo+IA0KPiAgICAgICAgICByYW5kb21fdmxhbiA9IHJhbmRvbS5yYW5kaW50KDEsIE1BWF9W TEFOIC0gMSkNCj4gQEAgLTYyMywzMiArNjI3LDMwIEBAIGNsYXNzIFRlc3R2Zl9kYWVtb24oVGVz dENhc2UpOg0KPiAgICAgICAgICBmb3IgcnhfdmxhbiBpbiByeF92bGFuczoNCj4gICAgICAgICAg ICAgIHNlbGYudm0wX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3J4X3ZsYW4gYWRkICVzIDAnICUgcnhf dmxhbikNCj4gICAgICAgICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3NldCB2 ZiB2bGFuIHN0cmlwcSAwIDAgb2ZmJykNCj4gLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkNCj4g KyAgICAgICAgICAgIHRpbWUuc2xlZXAoMykNCj4gICAgICAgICAgICAgIG91dCA9IHNlbGYuc2Vu ZF9hbmRfdmxhbnN0cmlwKHNlbGYudmYwX21hYyxyeF92bGFuKQ0KPiAgICAgICAgICAgICAgc2Vs Zi52ZXJpZnkocnhfdmxhbiBpbiBvdXQsICJGYWlsZWQgdG8gZGlzYWJsZSBzdHJpcCB2bGFuISEh IikNCj4gDQo+ICAgICAgICAgICAgICBzZWxmLmR1dF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQg dmYgdmxhbiBzdHJpcHEgMCAwIG9uJykNCj4gLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkNCj4g KyAgICAgICAgICAgIHRpbWUuc2xlZXAoMykNCj4gICAgICAgICAgICAgIG91dCA9IHNlbGYuc2Vu ZF9hbmRfdmxhbnN0cmlwKHNlbGYudmYwX21hYyxyeF92bGFuKQ0KPiAgICAgICAgICAgICAgc2Vs Zi52ZXJpZnkocnhfdmxhbiBub3QgaW4gb3V0LCAiRmFpbGVkIHRvIGRpc2FibGUgc3RyaXANCj4g dmxhbiEhISIpDQo+IA0KPiAtICAgICAgICBzZWxmLnZtMF90ZXN0cG1kLnF1aXQoKQ0KPiAtICAg ICAgICBzZWxmLmR1dF90ZXN0cG1kLnF1aXQoKQ0KPiAtDQo+IA0KPiAgICAgIGRlZiB0ZXN0X3Zs YW5fZmlsdGVyKHNlbGYpOg0KPiAgICAgICAgICAiIiINCj4gICAgICAgICAgQWRkL1JlbW92ZSB2 bGFuIGZpbHRlciBmb3IgYSBWRiBmcm9tIFBGDQo+ICAgICAgICAgICIiIg0KPiAtICAgICAgICBz ZWxmLmR1dF90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoIkRlZmF1bHQiLCAiLS1wb3J0LQ0KPiB0b3Bv bG9neT1jaGFpbmVkIikNCj4gLSAgICAgICAgc2VsZi52bTBfdGVzdHBtZC5zdGFydF90ZXN0cG1k KFZNX0NPUkVTX01BU0ssICctLXBvcnQtDQo+IHRvcG9sb2d5PWNoYWluZWQnKQ0KPiAtDQo+ICsg ICAgICAgIHNlbGYuY2hlY2tfdmZfbGlua19zdGF0dXMoKQ0KPiAgICAgICAgICBzZWxmLnZtMF90 ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgZndkIHJ4b25seScpDQo+ICsgICAgICAgIHNlbGYudm0w X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3Nob3cgcG9ydCBpbmZvIDAnKQ0KPiAgICAgICAgICBzZWxm LnZtMF90ZXN0cG1kLmV4ZWN1dGVfY21kKCdzZXQgdmVyYm9zZSAxJykNCj4gICAgICAgICAgc2Vs Zi52bTBfdGVzdHBtZC5leGVjdXRlX2NtZCgnc3RhcnQnKQ0KPiANCj4gICAgICAgICAgd3Jvbmdf bWFjID0gJzlFOkFDOjcyOjQ5OjQzOjExJw0KPiArDQo+ICAgICAgICAgIG91dCA9IHNlbGYuc2Vu ZF9hbmRfcG1kb3V0KHdyb25nX21hYykNCj4gKw0KPiAgICAgICAgICBzZWxmLnZlcmlmeSgiZHN0 PSVzIiAlIHdyb25nX21hYyBpbiBvdXQsDQo+ICAgICAgICAgICAgICAiRmFpbGVkIHRvIHJlY2Vp dmUgdW50YWdnZWQgcGFja2V0ISEhIikNCj4gICAgICAgICAgcmFuZG9tX3ZsYW4gPSByYW5kb20u cmFuZGludCgxLCBNQVhfVkxBTikNCj4gQEAgLTY2MSw3ICs2NjMsOCBAQCBjbGFzcyBUZXN0dmZf ZGFlbW9uKFRlc3RDYXNlKToNCj4gICAgICAgICAgcnhfdmxhbnMgPSBbMSwgcmFuZG9tX3ZsYW4s IE1BWF9WTEFOXQ0KPiAgICAgICAgICBmb3IgcnhfdmxhbiBpbiByeF92bGFuczoNCj4gICAgICAg ICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQuZXhlY3V0ZV9jbWQoJ3J4X3ZsYW4gYWRkICVzIHBvcnQg MCB2ZiAxJyUNCj4gcnhfdmxhbikNCj4gLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkNCj4gKyAg ICAgICAgICAgIHRpbWUuc2xlZXAoNSkNCj4gKw0KPiAgICAgICAgICAgICAgb3V0ID0gc2VsZi5z ZW5kX2FuZF9wbWRvdXQod3JvbmdfbWFjLCByeF92bGFuKQ0KPiAgICAgICAgICAgICAgc2VsZi52 ZXJpZnkoImRzdD0lcyIgJSB3cm9uZ19tYWMgaW4gb3V0LA0KPiAgICAgICAgICAgICAgICAgICJG YWlsZWQgdG8gZW5hYmxlIHZsYW4gZmlsdGVyISEhIikNCj4gQEAgLTY3NSw2ICs2NzgsNyBAQCBj bGFzcyBUZXN0dmZfZGFlbW9uKFRlc3RDYXNlKToNCj4gICAgICAgICAgICAgIHNlbGYudmVyaWZ5 KCJkc3Q9JXMiICUgd3JvbmdfbWFjIG5vdCBpbiBvdXQsDQo+ICAgICAgICAgICAgICAgICAgIkZh aWxlZCB0byBlbmFibGUgdmxhbiBmaWx0ZXIhISEiKQ0KPiAgICAgICAgICAgICAgc2VsZi5kdXRf dGVzdHBtZC5leGVjdXRlX2NtZCgncnhfdmxhbiBybSAlcyBwb3J0IDAgdmYgMSclDQo+IHJ4X3Zs YW4pDQo+ICsgICAgICAgICAgICB0aW1lLnNsZWVwKDMpDQo+ICAgICAgICAgICAgICBvdXQgPSBz ZWxmLnNlbmRfYW5kX3BtZG91dCh3cm9uZ19tYWMsIHJ4X3ZsYW4pDQo+ICAgICAgICAgICAgICBz ZWxmLnZlcmlmeSgiZHN0PSVzIiAlIHdyb25nX21hYyBpbiBvdXQsDQo+ICAgICAgICAgICAgICAg ICAgIkZhaWxlZCB0byBkaXNhYmxlIHZsYW4gZmlsdGVyISEhIikNCj4gQEAgLTY4OSwxMSArNjkz LDEyIEBAIGNsYXNzIFRlc3R2Zl9kYWVtb24oVGVzdENhc2UpOg0KPiAgICAgICAgICBzZWxmLnZl cmlmeSgiZHN0PSVzIiAlIHdyb25nX21hYyBpbiBvdXQsDQo+ICAgICAgICAgICAgICAiRmFpbGVk IHRvIHJlY2VpdmUgdW50YWdnZWQgcGFja2V0ISEhIikNCj4gDQo+IC0gICAgICAgIHNlbGYudm0w X3Rlc3RwbWQucXVpdCgpDQo+IC0gICAgICAgIHNlbGYuZHV0X3Rlc3RwbWQucXVpdCgpDQo+IC0N Cj4gDQo+ICAgICAgZGVmIHRlYXJfZG93bihzZWxmKToNCj4gKyAgICAgICAgc2VsZi52bTBfdGVz dHBtZC5xdWl0KCkNCj4gKyAgICAgICAgc2VsZi52bTFfdGVzdHBtZC5xdWl0KCkNCj4gKyAgICAg ICAgc2VsZi5kdXRfdGVzdHBtZC5xdWl0KCkNCj4gKyAgICAgICAgdGltZS5zbGVlcCgzKQ0KPiAg ICAgICAgICBzZWxmLnZtMF9kdXQua2lsbF9hbGwoKQ0KPiAgICAgICAgICBzZWxmLnZtMV9kdXQu a2lsbF9hbGwoKQ0KPiAgICAgICAgICBwYXNzDQo+IC0tDQo+IDIuNS41DQoNCg==