From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f510.i.mail.ru (f510.i.mail.ru [217.69.138.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 6BD2546970E for ; Mon, 23 Dec 2019 23:48:39 +0300 (MSK) From: =?UTF-8?B?SWx5YSBLb3NhcmV2?= MIME-Version: 1.0 Date: Mon, 23 Dec 2019 23:48:38 +0300 Reply-To: =?UTF-8?B?SWx5YSBLb3NhcmV2?= Message-ID: <1577134118.991839298@f510.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--2FJSQ3yhiPmjJhuuXg4LMmhC3dqgcvKb1577134118" In-Reply-To: <38fddb43-0cb4-53a5-47a2-a0c506630e17@tarantool.org> References: <20191210143638.16751-1-i.kosarev@tarantool.org> <38fddb43-0cb4-53a5-47a2-a0c506630e17@tarantool.org> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v3=5D_test=3A_fix_flaky_so?= =?utf-8?q?cket_test?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?VmxhZGlzbGF2IFNocGlsZXZveQ==?= Cc: tarantool-patches@dev.tarantool.org ----ALT--2FJSQ3yhiPmjJhuuXg4LMmhC3dqgcvKb1577134118 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGkhCgpUaGFua3MgZm9yIHlvdXIgcmV2aWV3LgozIGFuc3dlcnMgYXJlIGJlbG93LgpTZW50IHY0 IGluY2x1ZGluZyBhbGwgcHJvcG9zZWQgY2hhbmdlcyB3aXRoIG1pbm9yIGZpeGVzLgpUaGVyZSBh cmUgMiBjb21tZW50cyBpbiB0aGF0IHNlY3Rpb24uIAo+0JLRgtC+0YDQvdC40LosIDE3INC00LXQ utCw0LHRgNGPIDIwMTksIDM6MDMgKzAzOjAwINC+0YIgVmxhZGlzbGF2IFNocGlsZXZveSA8di5z aHBpbGV2b3lAdGFyYW50b29sLm9yZz46Cj4KPlRoYW5rcyBmb3IgdGhlIHBhdGNoIQo+Cj5TZWUg NiBjb21tZW50cyBiZWxvdywgYW5kIDIgcmV2aWV3IGZpeCBjb21taXRzIGluIHRoZQo+ZW5kLgo+ Cj5PbiAxMC8xMi8yMDE5IDE1OjM2LCBJbHlhIEtvc2FyZXYgd3JvdGU6Cj4+IHRlc3Q6IGZpeCBm bGFreSBzb2NrZXQgdGVzdAo+MS4gWW91J3ZlIGR1cGxpY2F0ZWQgdGhlIGNvbW1pdCB0aXRsZSBp biB0aGUKPmNvbW1pdCBtZXNzYWdlLgo+Cj4+IAo+PiBzb2NrZXQudGVzdCBoYWQgYSBudW1iZXIg b2YgZmxha3kgcHJvYmxlbXM6Cj4+IC0gc29ja2V0IHJlYWRpbmVzcyBleHBlY3RhdGlvbgo+PiAt IHJhY2UgY29uZGl0aW9ucyBvbiBzb2NrZXQgc2h1dGRvd24gaW4gZW11bGF0aW9uIHRlc3QgY2Fz ZXMKPj4gLSB0Y3Bfc2VydmVyIHN0YWJpbGl0eSBpbiBzb2NrZXQgcmVjZWl2ZSBpbmNvbnNpc3Rl bnQgYmVoYXZpb3IgY2FzZQo+PiBOb3cgdGhleSBhcmUgc29sdmVkLiBQb3J0IHJhbmRvbWl6YXRp b24gaXMgaW1wcm92ZWQuCj4+IFNvY2tldCB0ZXN0IGlzIG5vdCBmcmFnaWxlIGFueW1vcmUuCj4K PjIuIEl0IGRlcGVuZHMgb24gZGVmaW5pdGlvbiBvZiAnZnJhZ2lsZSB0ZXN0Jy4gQW55IHRlc3Qg dXNpbmcgVURQCj5jYW4gZmFpbCB1bmRlciBzdWZmaWNpZW50bHkgaGlnaCBsb2FkLiBBbmQgdGhp cyB0ZXN0IGlzIG5vdCBhbgo+ZXhjZXB0aW9uLiBBZnRlciB5b3VyIGFuZCBteSBmaXhlcyBpdCBm YWlscyBleHRyZW1lbHkgcmFyZSwgYnV0Cj5zdGlsbCBmYWlscy4gVGhhdCBoYXBwZW5zIHVuZGVy IGh1Z2UgbG9hZCB3aGVuIHRoZSBrZXJuZWwgc3RhcnRzCj5kcm9wcGluZyBVRFAgcGFja2V0cy4g Tm90IGRlbGl2ZXJzIHRoZW0gd2l0aCBhIGRlbGF5LCBidXQgZHJvcHMuCj4KPkJ1dCBJIGd1ZXNz IHllYWgsIHdlIGNhbiByZW1vdmUgdGhlICdmcmFnaWxlJyBmbGFnLiBVbmxlc3Mgb3VyCj50ZXN0 IHN1aXRlIHdpbGwgZXZlciB0cnkgdG8gcnVuIDY0IHNvY2tldCB0ZXN0cyBpbiBwYXJhbGxlbCBh Cj5jb3VwbGUgb2YgdGltZXMuCj4KPj4gCj4+IENsb3NlcyAjNDQ1MSwgIzQ0MjYsICM0NDY5Cj4+ IC0tLQo+PiBCcmFuY2g6ICBodHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC90 cmVlL2kua29zYXJldi9naC00NDI2LTQ0NTEtZml4LXNvY2tldC10ZXN0Cj4+IElzc3VlczogIGh0 dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL2lzc3Vlcy80NDI2Cj4+ICBodHRw czovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9pc3N1ZXMvNDQ1MQo+PiAgaHR0cHM6 Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvaXNzdWVzLzQ0NjkKPj4gCj4+IENoYW5n ZXMgaW4gdjI6Cj4+IC0gcmVjb25zaWRlcmVkIHNvY2tldCByZWFkaW5lc3MgZXhwZWN0YXRpb24K Pj4gLSByZWR1Y2VkIGNvbmRpdGlvbnMgd2FpdGluZyB0aW1lCj4+IAo+PiBDaGFuZ2VzIGluIHYz Ogo+PiAtIHJlY29uc2lkZXJlZCBleHBlY3RhdGlvbnMgdG8gdW5pZnkgdGhlbQo+PiAtIHNpbXBs aWZpZWQgcmFuZG9taXphdGlvbgo+PiAKPj4gIHRlc3QvYXBwL3NvY2tldC5yZXN1bHQgICB8IDE1 OSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPj4gIHRlc3QvYXBwL3Nv Y2tldC50ZXN0Lmx1YSB8IDEyMyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPj4gIHRl c3QvYXBwL3N1aXRlLmluaSAgICAgICB8ICAgMSAtCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDE3OCBp bnNlcnRpb25zKCspLCAxMDUgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvdGVzdC9h cHAvc29ja2V0LnJlc3VsdCBiL3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQKPj4gaW5kZXggZmQyOTk0 MjRjOTYuLjI1YWQ5MDM0Mzc0IDEwMDY0NAo+PiAtLS0gYS90ZXN0L2FwcC9zb2NrZXQucmVzdWx0 Cj4+ICsrKyBiL3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQKPj4gQEAgLTI3OCwxNCArMjc4LDE0IEBA IHM6ZXJyb3IoKQo+PiAgLS0tCj4+ICAtIG51bGwKPj4gIC4uLgo+PiAtczpsaXN0ZW4oMTI4KQo+ PiArczpsaXN0ZW4oV0FJVF9DT05EX1RJTUUpCj4KPjMuIEkgc3VnZ2VzdCB5b3UgdG8gcmVhZCBz b2NrZXQubHVhIHNvdXJjZSBjb2RlLiBMaXN0ZW4gdGFrZXMKPmJhY2tsb2cgc2l6ZSwgbm90IGEg dGltZW91dC4gVGhlIHNhbWUgY29tbWVudCB0byBtYW55IG90aGVyCj5wbGFjZXMuIAozLiBSaWdo dC4gTXkgYmFkLgo+Cj4KPj4gIC0tLQo+PiAgLSB0cnVlCj4+ICAuLi4KPj4gIHNldnJlcyA9IHt9 Cj4+ICAtLS0KPj4gIC4uLgo+PiAtdHlwZShyZXF1aXJlKCdmaWJlcicpLmNyZWF0ZShmdW5jdGlv bigpIHM6cmVhZGFibGUoKSBkbyBsb2NhbCBzYyA9IHM6YWNjZXB0KCkgdGFibGUuaW5zZXJ0KHNl dnJlcywgc2MpIHNjOnN5c3dyaXRlKCdvaycpIHNjOmNsb3NlKCkgZW5kIGVuZCkpCj4+ICt0eXBl KHJlcXVpcmUoJ2ZpYmVyJykuY3JlYXRlKGZ1bmN0aW9uKCkgczpyZWFkYWJsZShXQUlUX0NPTkRf VElNRSkgZG8gbG9jYWwgc2MgPSBzOmFjY2VwdCgpIHRhYmxlLmluc2VydChzZXZyZXMsIHNjKSBz YzpzeXN3cml0ZSgnb2snKSBzYzpjbG9zZSgpIGVuZCBlbmQpKQo+Cj40LiA6cmVhZGFibGUoKSBo YXMgaW5maW5pdHkgdGltZW91dC4gV2hlbiB5b3UgbWFkZSBpdCBXQUlUX0NPTkRfVElNRSwKPnlv dSBjZXJ0YWlubHkgZGlkbid0IGltcHJvdmUgdGhlIHRlc3Qgc3RhYmlsaXR5LiBUaGUgc2FtZSBp biBvdGhlcgo+c2ltaWxhciBwbGFjZXMuIAo0LiBPaywgaSBzZWUsIHdlIGRvbid0IG5lZWQgdG8g dG91Y2ggaW5maW5pdGUgdGltZW91dCBjYXNlcy4KPgo+Cj4+ICAtLS0KPj4gIC0gdXNlcmRhdGEK Pj4gIC4uLgo+PiBAQCAtMTAwNCw3ICsxMDA0LDcgQEAgc29ja2V0LnRjcF9jb25uZWN0KCd1bml4 LycsIHBhdGgpLCBlcnJubygpID09IGVycm5vLkVDT05OUkVGVVNFRAo+PiAgLSBudWxsCj4+ICAt IHRydWUKPj4gIC4uLgo+PiAtczpsaXN0ZW4oKQo+PiArczpsaXN0ZW4oV0FJVF9DT05EX1RJTUUp Cj4+ICAtLS0KPj4gIC0gdHJ1ZQo+PiAgLi4uCj4+IEBAIC0xMDc0LDYgKzEwNzQsOSBAQCBtYXN0 ZXI6c2V0c29ja29wdCgnU09MX1NPQ0tFVCcsICdTT19SRVVTRUFERFInLCB0cnVlKQo+PiAgLS0t Cj4+ICAtIHRydWUKPj4gIC4uLgo+PiArbWF0aC5yYW5kb21zZWVkKGZpYmVyLnRpbWUoKSkKPgo+ NS4gVGhpcyBsaW5lIGJlY29tZXMgdXNlbGVzcyB3aGVuIHlvdSd2ZSBpbmNyZWFzZWQgdGhlIHRp bWVvdXQuCj5Nb3Jlb3ZlciwgdGhlIHJhbmRvbSBwb3J0IHNlYXJjaCBiZWxvdyBhbHNvIGRvZXMg bm90IG1ha2UgYW55Cj5zZW5zZS4gWW91IGNvdWxkIHVzZSBwb3J0IDAgdG8gYmluZCB0byBhbnkg ZnJlZSBwb3J0IGluc3RlYWQgb2YKPm1hbnVhbCBndWVzc2luZyBmb3IgdGhlIGtlcm5lbC4gCjUu IE5pY2UsIGkgZGlkbid0IGNvbnNpZGVyIHRoaXMgcG9zc2liaWxpdHkuIFRoZXJlZm9yZSB3ZSBk b24ndApuZWVkIHRvIHBlcmZvcm0gbWFudWFsIHJhbmRvbSBwb3J0IHNlYXJjaC4KPgo+Cj4+ICst LS0KPj4gKy4uLgo+PiAgcG9ydCA9IDMyNzY4ICsgbWF0aC5yYW5kb20oMCwgMzI3NjcpCj4+ICAt LS0KPj4gIC4uLgo+PiBAQCAtMjIzMSw3ICsyMjM5LDE3IEBAIHRlc3RfcnVuOmNtZCgic2V0b3B0 IGRlbGltaXRlciAnJyIpOwo+PiAgcmVjZWl2aW5nX3NvY2tldCA9IHNvY2tldCgnQUZfSU5FVCcs ICdTT0NLX0RHUkFNJywgJ3VkcCcpCj4+ICAtLS0KPj4gIC4uLgo+PiAtcmVjZWl2aW5nX3NvY2tl dDpiaW5kKCcxMjcuMC4wLjEnLCAwKQo+PiArdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVsaW1pdGVy ICc7JyIpCj4+ICstLS0KPj4gKy0gdHJ1ZQo+PiArLi4uCj4+ICt0ZXN0X3J1bjp3YWl0X2NvbmQo ZnVuY3Rpb24oKQo+PiArICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OmJpbmQoJzEyNy4wLjAu MScsIDMyNzY4ICsgbWF0aC5yYW5kb20oMCwgMzI3NjcpKQo+PiArZW5kLCBXQUlUX0NPTkRfVElN RSk7Cj4KPjYuIFdoeT8gQmluZCB3aXRoIDAgcG9ydCBmaW5kcyBhIHN1aXRhYmxlIHBvcnQuIFlv dSBkb24ndAo+bmVlZCB0byBkbyByYW5kb20gZ3Vlc3NpbmcuIFRoZSBzYW1lIGluIG1hbnkgb3Ro ZXIgcGxhY2VzLgo+Cj4+ICstLS0KPj4gKy0gdHJ1ZQo+PiArLi4uCj4+ICt0ZXN0X3J1bjpjbWQo InNldG9wdCBkZWxpbWl0ZXIgJyciKTsKPj4gIC0tLQo+PiAgLSB0cnVlCj4+ICAuLi4KPkJlbG93 IGFyZSAyIG15IGNvbW1pdHMuIEZpcnN0IHdpdGggcmV2aWV3IGZpeGVzIHRvIHRoZSBwYXRjaC4g U2Vjb25kCj53aXRoIHN0YWJpbGl6YXRpb24gb2YgVURQIHRlc3RzICh3ZWxsLCBub3QgMTAwJSBz dGFiaWxpdHksIGJ1dCBtdWNoCj5iZXR0ZXIuIDEwMCUgd291bGQgcmVxdWlyZSB0byByZXdvcmsg dGhlIHRlc3RzIHRvbyBtdWNoIGxvb3NpbmcgdGhlaXIKPnB1cnBvc2UpLgo+Cj5QbGVhc2UsIHJl dmlldyB0aGVtLCBzcXVhaHMgaWYgeW91IGFncmVlLCBhbmQgc2VuZCB0byBhIHNlY29uZCByZXZp ZXcKPnRvIHNvbWVvbmUuIEZvciBleGFtcGxlIHRvIEFsZXhhbmRlci4gQnV0IHRha2luZyBpbnRv IGFjY291bnQgdXJnZW5jeQo+b2YgMi4zLjEgbWF5YmUgd2UgY2FuJ3Qgd2FpdCBzZXZlcmFsIHdl ZWtzIG1vcmUsIHNvIGFzayBLaXJpbGwuCj4KPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Cj5jb21taXQg ZmMxMWZmYmQ5MTM1NTU0YjJiOTE3Mjg0ODMxODlhYmFiYTg2YzM2ZQo+QXV0aG9yOiBWbGFkaXNs YXYgU2hwaWxldm95IDwgdi5zaHBpbGV2b3lAdGFyYW50b29sLm9yZyA+Cj5EYXRlOiAgIE1vbiBE ZWMgMTYgMjM6MzM6MjEgMjAxOSArMDEwMAo+Cj7CoMKgwqDCoFJldmlldyBmaXhlcwo+Cj5kaWZm IC0tZ2l0IGEvdGVzdC9hcHAvc29ja2V0LnJlc3VsdCBiL3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQK PmluZGV4IDI1YWQ5MDM0My4uNTYzNTE5MzE1IDEwMDY0NAo+LS0tIGEvdGVzdC9hcHAvc29ja2V0 LnJlc3VsdAo+KysrIGIvdGVzdC9hcHAvc29ja2V0LnJlc3VsdAo+QEAgLTI3OCwxNCArMjc4LDE0 IEBAIHM6ZXJyb3IoKQo+wqAtLS0KPsKgLSBudWxsCj7CoC4uLgo+LXM6bGlzdGVuKFdBSVRfQ09O RF9USU1FKQo+K3M6bGlzdGVuKDEyOCkKPsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4KPsKgc2V2cmVz ID0ge30KPsKgLS0tCj7CoC4uLgo+LXR5cGUocmVxdWlyZSgnZmliZXInKS5jcmVhdGUoZnVuY3Rp b24oKSBzOnJlYWRhYmxlKFdBSVRfQ09ORF9USU1FKSBkbyBsb2NhbCBzYyA9IHM6YWNjZXB0KCkg dGFibGUuaW5zZXJ0KHNldnJlcywgc2MpIHNjOnN5c3dyaXRlKCdvaycpIHNjOmNsb3NlKCkgZW5k IGVuZCkpCj4rdHlwZShyZXF1aXJlKCdmaWJlcicpLmNyZWF0ZShmdW5jdGlvbigpIHM6cmVhZGFi bGUoKSBkbyBsb2NhbCBzYyA9IHM6YWNjZXB0KCkgdGFibGUuaW5zZXJ0KHNldnJlcywgc2MpIHNj OnN5c3dyaXRlKCdvaycpIHNjOmNsb3NlKCkgZW5kIGVuZCkpCj7CoC0tLQo+wqAtIHVzZXJkYXRh Cj7CoC4uLgo+QEAgLTQ0MCw3ICs0NDAsNyBAQCBzOmJpbmQoJzEyNy4wLjAuMScsIDApCj7CoC0t LQo+wqAtIHRydWUKPsKgLi4uCj4tczpsaXN0ZW4oV0FJVF9DT05EX1RJTUUpCj4rczpsaXN0ZW4o MTI4KQo+wqAtLS0KPsKgLSB0cnVlCj7CoC4uLgo+QEAgLTQ4NSw3ICs0ODUsNyBAQCBzYTpyZWFk KDMpCj7CoC0tLQo+wqAtIG9ybAo+wqAuLi4KPi1zYzp3cml0YWJsZShXQUlUX0NPTkRfVElNRSkK PitzYzp3cml0YWJsZSgpCj7CoC0tLQo+wqAtIHRydWUKPsKgLi4uCj5AQCAtNTEzLDcgKzUxMyw3 IEBAIHNhOnJlYWQoMSwgLjAxKQo+wqAtLS0KPsKgLSBudWxsCj7CoC4uLgo+LXNjOndyaXRhYmxl KFdBSVRfQ09ORF9USU1FKQo+K3NjOndyaXRhYmxlKCkKPsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4K PkBAIC01NDYsNyArNTQ2LDcgQEAgc2M6c2VuZCgnSGVsbG8nKQo+wqAtLS0KPsKgLSA1Cj7CoC4u Lgo+LXNhOnJlYWRhYmxlKFdBSVRfQ09ORF9USU1FKQo+K3NhOnJlYWRhYmxlKCkKPsKgLS0tCj7C oC0gdHJ1ZQo+wqAuLi4KPkBAIC02NDYsNyArNjQ2LDcgQEAgc2Mgfj0gbmlsCj7CoC0tLQo+wqAt IHRydWUKPsKgLi4uCj4tczpsaXN0ZW4oV0FJVF9DT05EX1RJTUUpCj4rczpsaXN0ZW4oMTIzNCkK PsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4KPkBAIC02NjUsNyArNjY1LDcgQEAgc2M6ZXJyb3IoKQo+ wqAtLS0KPsKgLSBudWxsCj7CoC4uLgo+LXM6cmVhZGFibGUoV0FJVF9DT05EX1RJTUUpCj4rczpy ZWFkYWJsZSgpCj7CoC0tLQo+wqAtIHRydWUKPsKgLi4uCj5AQCAtNzU0LDcgKzc1NCw3IEBAIHN0 cmluZy5tYXRjaCh0b3N0cmluZyhzYyksICcsIHBlZXInKSA9PSBuaWwKPsKgLS0tCj7CoC0gdHJ1 ZQo+wqAuLi4KPi1zYzp3cml0YWJsZShXQUlUX0NPTkRfVElNRSkKPitzYzp3cml0YWJsZSgpCj7C oC0tLQo+wqAtIHRydWUKPsKgLi4uCj5AQCAtOTU3LDcgKzk1Nyw3IEBAIHM6YmluZCgnMTI3LjAu MC4xJywgMCkKPsKgcG9ydCA9IHM6bmFtZSgpLnBvcnQKPsKgLS0tCj7CoC4uLgo+LXM6bGlzdGVu KFdBSVRfQ09ORF9USU1FKQo+K3M6bGlzdGVuKCkKPsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4KPkBA IC0xMDA0LDcgKzEwMDQsNyBAQCBzb2NrZXQudGNwX2Nvbm5lY3QoJ3VuaXgvJywgcGF0aCksIGVy cm5vKCkgPT0gZXJybm8uRUNPTk5SRUZVU0VECj7CoC0gbnVsbAo+wqAtIHRydWUKPsKgLi4uCj4t czpsaXN0ZW4oV0FJVF9DT05EX1RJTUUpCj4rczpsaXN0ZW4oKQo+wqAtLS0KPsKgLSB0cnVlCj7C oC4uLgo+QEAgLTEwNzAsMzkgKzEwNzAsMjEgQEAgcyA9IG5pbAo+wqBtYXN0ZXIgPSBzb2NrZXQo J1BGX0lORVQnLCAnU09DS19TVFJFQU0nLCAndGNwJykKPsKgLS0tCj7CoC4uLgo+LW1hc3Rlcjpz ZXRzb2Nrb3B0KCdTT0xfU09DS0VUJywgJ1NPX1JFVVNFQUREUicsIHRydWUpCj4rbWFzdGVyOmJp bmQoJzEyNy4wLjAuMScsIDApCj7CoC0tLQo+wqAtIHRydWUKPsKgLi4uCj4tbWF0aC5yYW5kb21z ZWVkKGZpYmVyLnRpbWUoKSkKPi0tLS0KPi0uLi4KPi1wb3J0ID0gMzI3NjggKyBtYXRoLnJhbmRv bSgwLCAzMjc2NykKPitwb3J0ID0gbWFzdGVyOm5hbWUoKS5wb3J0Cj7CoC0tLQo+wqAuLi4KPi0t LSBTT19SRVVTRUFERFIgYWxsb3dzIHRvIGJpbmQgdG8gdGhlIHNhbWUgc291cmNlIGFkZHI6cG9y dCB0d2ljZSwKPi0tLSBzbyBsaXN0ZW4oKSBjYW4gcmV0dXJuIEVBRERSSU5VU0UgYW5kIHNvIHdl IGNoZWNrIGl0IHdpdGhpbgo+LS0tIHdhaXRfY29uZCgpLgo+wqB0ZXN0X3J1bjpjbWQoInNldG9w dCBkZWxpbWl0ZXIgJzsnIikKPsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4KPi10ZXN0X3J1bjp3YWl0 X2NvbmQoZnVuY3Rpb24oKQo+LSAgICBsb2NhbCBvayA9IG1hc3RlcjpiaW5kKCcxMjcuMC4wLjEn LCBwb3J0KQo+LSAgICBsb2NhbCBvayA9IG9rIGFuZCBtYXN0ZXI6bGlzdGVuKFdBSVRfQ09ORF9U SU1FKQo+LSAgICBpZiBub3Qgb2sgdGhlbgo+LSAgICAgICAgcG9ydCA9IDMyNzY4ICsgbWF0aC5y YW5kb20oMzI3NjgpCj4tICAgICAgICByZXR1cm4gZmFsc2UsIG1hc3RlcjplcnJvcigpCj4tICAg IGVuZAo+LSAgICByZXR1cm4gdHJ1ZQo+LWVuZCwgV0FJVF9DT05EX1RJTUUpOwo+LS0tLQo+LS0g dHJ1ZQo+LS4uLgo+wqBmdW5jdGlvbiBnaDM2MSgpCj7CoMKgwqDCoMKgbG9jYWwgcyA9IHNvY2tl dCgnUEZfSU5FVCcsICdTT0NLX1NUUkVBTScsICd0Y3AnKQo+wqDCoMKgwqDCoHM6c3lzY29ubmVj dCgnMTI3LjAuMC4xJywgcG9ydCkKPi0gICAgczp3YWl0KFdBSVRfQ09ORF9USU1FKQo+KyAgICBz OndhaXQoKQo+wqDCoMKgwqDCoHJlcyA9IHM6cmVhZCgxMjAwKQo+wqBlbmQ7Cj7CoC0tLQo+QEAg LTExNDksNyArMTEzMSw3IEBAIHM6ZXJyb3IoKQo+wqAtLS0KPsKgLSBudWxsCj7CoC4uLgo+LXM6 bGlzdGVuKFdBSVRfQ09ORF9USU1FKQo+K3M6bGlzdGVuKDEyOCkKPsKgLS0tCj7CoC0gdHJ1ZQo+ wqAuLi4KPkBAIC0xMTU5LDcgKzExNDEsNyBAQCB0ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0 ZXIgJzsnIikKPsKgLi4uCj7CoGYgPSBmaWJlci5jcmVhdGUoZnVuY3Rpb24oKQo+wqDCoMKgwqDC oGZvciBpPTEsMiBkbwo+LSAgICAgICAgczpyZWFkYWJsZShXQUlUX0NPTkRfVElNRSkKPisgICAg ICAgIHM6cmVhZGFibGUoKQo+wqDCoMKgwqDCoMKgwqDCoMKgbG9jYWwgc2MgPSBzOmFjY2VwdCgp Cj7CoMKgwqDCoMKgwqDCoMKgwqBzYzp3cml0ZSgnb2shJykKPsKgwqDCoMKgwqDCoMKgwqDCoHNj OnNodXRkb3duKCkKPkBAIC0xNTM1LDcgKzE1MTcsNyBAQCBzOmJpbmQoJ3VuaXgvJywgcGF0aCkK PsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4KPi1zOmxpc3RlbihXQUlUX0NPTkRfVElNRSkKPitzOmxp c3RlbigpCj7CoC0tLQo+wqAtIHRydWUKPsKgLi4uCj5AQCAtMTc2Miw3ICsxNzQ0LDcgQEAgczpi aW5kKCcxMjcuMC4wLjEnLCAwKSAtLSBlcnJvciBoYW5kbGluZwo+wqAtIG51bGwKPsKgLSBJbnZh bGlkIGFyZ3VtZW50Cj7CoC4uLgo+LXM6bGlzdGVuKFdBSVRfQ09ORF9USU1FKQo+K3M6bGlzdGVu KDEwKQo+wqAtLS0KPsKgLSAxCj7CoC4uLgo+QEAgLTIyMzksMTcgKzIyMjEsNyBAQCB0ZXN0X3J1 bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJyciKTsKPsKgcmVjZWl2aW5nX3NvY2tldCA9IHNvY2tl dCgnQUZfSU5FVCcsICdTT0NLX0RHUkFNJywgJ3VkcCcpCj7CoC0tLQo+wqAuLi4KPi10ZXN0X3J1 bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJzsnIikKPi0tLS0KPi0tIHRydWUKPi0uLi4KPi10ZXN0 X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKQo+LSAgICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpi aW5kKCcxMjcuMC4wLjEnLCAzMjc2OCArIG1hdGgucmFuZG9tKDAsIDMyNzY3KSkKPi1lbmQsIFdB SVRfQ09ORF9USU1FKTsKPi0tLS0KPi0tIHRydWUKPi0uLi4KPi10ZXN0X3J1bjpjbWQoInNldG9w dCBkZWxpbWl0ZXIgJyciKTsKPityZWNlaXZpbmdfc29ja2V0OmJpbmQoJzEyNy4wLjAuMScsIDAp Cj7CoC0tLQo+wqAtIHRydWUKPsKgLi4uCj5AQCAtMjY0MywyMSArMjYxNSwxMSBAQCBsaXN0ZW5p bmdfc29ja2V0OnNldHNvY2tvcHQoJ1NPTF9TT0NLRVQnLCAnU09fUkVVU0VBRERSJywgdHJ1ZSkK PsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4KPi10ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIg JzsnIikKPi0tLS0KPi0tIHRydWUKPi0uLi4KPi10ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24o KQo+LSAgICByZXR1cm4gbGlzdGVuaW5nX3NvY2tldDpiaW5kKCcxMjcuMC4wLjEnLCAzMjc2OCAr IG1hdGgucmFuZG9tKDAsIDMyNzY3KSkKPi1lbmQsIFdBSVRfQ09ORF9USU1FKTsKPi0tLS0KPi0t IHRydWUKPi0uLi4KPi10ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJyciKTsKPitsaXN0 ZW5pbmdfc29ja2V0OmJpbmQoJzEyNy4wLjAuMScsIDApCj7CoC0tLQo+wqAtIHRydWUKPsKgLi4u Cj4tbGlzdGVuaW5nX3NvY2tldDpsaXN0ZW4oV0FJVF9DT05EX1RJTUUpCj4rbGlzdGVuaW5nX3Nv Y2tldDpsaXN0ZW4oKQo+wqAtLS0KPsKgLSB0cnVlCj7CoC4uLgo+QEAgLTI2NzEsMTggKzI2MzMs MTIgQEAgc2VuZGluZ19zb2NrZXQ6c3lzY29ubmVjdCgnMTI3LjAuMC4xJywgbGlzdGVuaW5nX3Nv Y2tldF9wb3J0KSBvciBlcnJubygpID09IGVycm4KPsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4KPi10 ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJzsnIikKPitsaXN0ZW5pbmdfc29ja2V0OnJl YWRhYmxlKFdBSVRfQ09ORF9USU1FKQo+wqAtLS0KPsKgLSB0cnVlCj7CoC4uLgo+LXJlY2Vpdmlu Z19zb2NrZXQgPSB0ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKQo+LSAgICByZXR1cm4gbGlz dGVuaW5nX3NvY2tldDphY2NlcHQoKQo+LWVuZCwgV0FJVF9DT05EX1RJTUUpOwo+LS0tLQo+LS4u Lgo+LXRlc3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAnJyIpOwo+K3JlY2VpdmluZ19zb2Nr ZXQgPSBsaXN0ZW5pbmdfc29ja2V0OmFjY2VwdCgpCj7CoC0tLQo+LS0gdHJ1ZQo+wqAuLi4KPsKg c2VuZGluZ19zb2NrZXQ6d3JpdGUobWVzc2FnZSkKPsKgLS0tCj5AQCAtMjg2NCw0NiArMjgyMCw0 MSBAQCBjb3VudGVyID0gMAo+wqBmbiA9IGZ1bmN0aW9uKHMpIGNvdW50ZXIgPSAwOyB3aGlsZSB0 cnVlIGRvIHM6d3JpdGUoKHRvc3RyaW5nKGNvdW50ZXIpKTpyZXAoY2hhbjpnZXQoKSkpOyBjb3Vu dGVyID0gY291bnRlciArIDEgZW5kIGVuZAo+wqAtLS0KPsKgLi4uCj4tc3J2ID0gbmlsCj4rc3J2 ID0gc29ja2V0LnRjcF9zZXJ2ZXIoJzAuMC4wLjAnLCAwLCBmbikKPsKgLS0tCj7CoC4uLgo+LXRl c3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAnOyciKQo+K3MgPSBzb2NrZXQuY29ubmVjdCgn bG9jYWxob3N0Jywgc3J2Om5hbWUoKS5wb3J0KQo+wqAtLS0KPi0tIHRydWUKPsKgLi4uCj4tdGVz dF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkKPi0gICAgcG9ydCA9IDMyNzY4ICsgbWF0aC5yYW5k b20oMCwgMzI3NjcpCj4tICAgIHNydiA9IHNvY2tldC50Y3Bfc2VydmVyKCcwLjAuMC4wJywgcG9y dCwgZm4pCj4tICAgIHJldHVybiBzcnYgfj0gbmlsCj4tZW5kLCBXQUlUX0NPTkRfVElNRSk7Cj4r Y2hhbjpwdXQoNSkKPsKgLS0tCj7CoC0gdHJ1ZQo+wqAuLi4KPi1yZWNlaXZlMSA9IG5pbDsgcmVj ZWl2ZTIgPSBuaWw7Cj4rY2hhbjpwdXQoNSkKPsKgLS0tCj4rLSB0cnVlCj7CoC4uLgo+LWlmIHNy diB+PSBuaWwgdGhlbgo+LSAgICBzID0gc29ja2V0LmNvbm5lY3QoJ2xvY2FsaG9zdCcsIHBvcnQp Cj4tICAgIGNoYW46cHV0KDUpCj4tICAgIGNoYW46cHV0KDUpCj4tICAgIHJlY2VpdmUxID0gczpy ZWNlaXZlKDUpCj4tICAgIGNoYW46cHV0KDUpCj4tICAgIHM6c2V0dGltZW91dCgxKQo+LSAgICBy ZWNlaXZlMiA9IHM6cmVjZWl2ZSgnKmEnKQo+LSAgICBzOmNsb3NlKCkKPi0gICAgc3J2OmNsb3Nl KCkKPi1lbmQ7Cj4rczpyZWNlaXZlKDUpCj7CoC0tLQo+Ky0gJzAwMDAwJwo+wqAuLi4KPi10ZXN0 X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJyciKTsKPitjaGFuOnB1dCg1KQo+wqAtLS0KPsKg LSB0cnVlCj7CoC4uLgo+LXJlY2VpdmUxCj4rczpzZXR0aW1lb3V0KDEpCj7CoC0tLQo+LS0gJzAw MDAwJwo+Ky0gMQo+wqAuLi4KPi1yZWNlaXZlMgo+K3M6cmVjZWl2ZSgnKmEnKQo+wqAtLS0KPsKg LSAnMTExMTEyMjIyMicKPsKgLi4uCj4rczpjbG9zZSgpCj4rLS0tCj4rLSAxCj4rLi4uCj4rc3J2 OmNsb3NlKCkKPistLS0KPistIHRydWUKPisuLi4KPmRpZmYgLS1naXQgYS90ZXN0L2FwcC9zb2Nr ZXQudGVzdC5sdWEgYi90ZXN0L2FwcC9zb2NrZXQudGVzdC5sdWEKPmluZGV4IDk3ZGFjNzk0ZS4u OWJhNmIyODkzIDEwMDY0NAo+LS0tIGEvdGVzdC9hcHAvc29ja2V0LnRlc3QubHVhCj4rKysgYi90 ZXN0L2FwcC9zb2NrZXQudGVzdC5sdWEKPkBAIC05MSw5ICs5MSw5IEBAIHM6c2V0c29ja29wdCgn U09MX1NPQ0tFVCcsICdTT19SRVVTRUFERFInLCB0cnVlKQo+wqBzOmVycm9yKCkKPsKgczpiaW5k KCcxMjcuMC4wLjEnLCAwKQo+wqBzOmVycm9yKCkKPi1zOmxpc3RlbihXQUlUX0NPTkRfVElNRSkK PitzOmxpc3RlbigxMjgpCj7CoHNldnJlcyA9IHt9Cj4tdHlwZShyZXF1aXJlKCdmaWJlcicpLmNy ZWF0ZShmdW5jdGlvbigpIHM6cmVhZGFibGUoV0FJVF9DT05EX1RJTUUpIGRvIGxvY2FsIHNjID0g czphY2NlcHQoKSB0YWJsZS5pbnNlcnQoc2V2cmVzLCBzYykgc2M6c3lzd3JpdGUoJ29rJykgc2M6 Y2xvc2UoKSBlbmQgZW5kKSkKPit0eXBlKHJlcXVpcmUoJ2ZpYmVyJykuY3JlYXRlKGZ1bmN0aW9u KCkgczpyZWFkYWJsZSgpIGRvIGxvY2FsIHNjID0gczphY2NlcHQoKSB0YWJsZS5pbnNlcnQoc2V2 cmVzLCBzYykgc2M6c3lzd3JpdGUoJ29rJykgc2M6Y2xvc2UoKSBlbmQgZW5kKSkKPsKgI3NldnJl cwo+Cj7CoHNjID0gc29ja2V0KCdQRl9JTkVUJywgJ1NPQ0tfU1RSRUFNJywgJ3RjcCcpCj5AQCAt MTM1LDcgKzEzNSw3IEBAIHM6Y2xvc2UoKQo+wqBzID0gc29ja2V0KCdQRl9JTkVUJywgJ1NPQ0tf U1RSRUFNJywgJ3RjcCcpCj7CoHM6c2V0c29ja29wdCgnU09MX1NPQ0tFVCcsICdTT19SRVVTRUFE RFInLCB0cnVlKQo+wqBzOmJpbmQoJzEyNy4wLjAuMScsIDApCj4tczpsaXN0ZW4oV0FJVF9DT05E X1RJTUUpCj4rczpsaXN0ZW4oMTI4KQo+Cj7CoHNjID0gc29ja2V0KCdQRl9JTkVUJywgJ1NPQ0tf U1RSRUFNJywgJ3RjcCcpCj4KPkBAIC0xNTAsMTQgKzE1MCwxNCBAQCBhZGRyMi5mYW1pbHkgPT0g YWRkci5mYW1pbHkKPsKgc2E6bm9uYmxvY2soMSkKPsKgc2E6cmVhZCg4KQo+wqBzYTpyZWFkKDMp Cj4tc2M6d3JpdGFibGUoV0FJVF9DT05EX1RJTUUpCj4rc2M6d3JpdGFibGUoKQo+wqBzYzp3cml0 ZSgnLCBhZ2FpbicpCj7CoHNhOnJlYWQoOCkKPsKgc2E6ZXJyb3IoKQo+wqBzdHJpbmcubGVuKHNh OnJlYWQoMCkpCj7CoHR5cGUoc2E6cmVhZCgwKSkKPsKgc2E6cmVhZCgxLCAuMDEpCj4tc2M6d3Jp dGFibGUoV0FJVF9DT05EX1RJTUUpCj4rc2M6d3JpdGFibGUoKQo+Cj7CoC0tIGdoLTM5NzkgQ2hl Y2sgZm9yIGVycm9ycyB3aGVuIGFyZ3VtZW50IGlzIG5lZ2F0aXZlLgo+Cj5AQCAtMTcwLDcgKzE3 MCw3IEBAIHNjOnNlbmQoJ2FiYycpCj7CoHNhOnJlYWQoMykKPgo+wqBzYzpzZW5kKCdIZWxsbycp Cj4tc2E6cmVhZGFibGUoV0FJVF9DT05EX1RJTUUpCj4rc2E6cmVhZGFibGUoKQo+wqBzYTpyZWN2 KCkKPsKgc2E6cmVjdigpCj4KPkBAIC0xOTgsMTQgKzE5OCwxNCBAQCBwYXRoID0gJ3RhcmFudG9v bC10ZXN0LXNvY2tldCcKPsKgb3MucmVtb3ZlKHBhdGgpCj7CoHM6YmluZCgndW5peC8nLCBwYXRo KQo+wqBzYyB+PSBuaWwKPi1zOmxpc3RlbihXQUlUX0NPTkRfVElNRSkKPitzOmxpc3RlbigxMjM0 KQo+Cj7CoHNjID0gc29ja2V0KCdQRl9VTklYJywgJ1NPQ0tfU1RSRUFNJywgMCkKPsKgc2M6bm9u YmxvY2sodHJ1ZSkKPsKgc2M6c3lzY29ubmVjdCgndW5peC8nLCBwYXRoKQo+wqBzYzplcnJvcigp Cj4KPi1zOnJlYWRhYmxlKFdBSVRfQ09ORF9USU1FKQo+K3M6cmVhZGFibGUoKQo+wqBzYSA9IHM6 YWNjZXB0KCkKPsKgc2E6bm9uYmxvY2sodHJ1ZSkKPsKgc2E6c2VuZCgnSGVsbG8sIHdvcmxkJykK PkBAIC0yNDMsNyArMjQzLDcgQEAgc2M6Z2V0c29ja29wdCgnU09MX1NPQ0tFVCcsICdTT19FUlJP UicpCj7CoHNjOm5vbmJsb2NrKHRydWUpCj7CoHNjOnN5c2Nvbm5lY3QoJzEyNy4wLjAuMScsIDM0 NTgpIG9yIGVycm5vKCkgPT0gZXJybm8uRUlOUFJPR1JFU1Mgb3IgZXJybm8oKSA9PSBlcnJuby5F Q09OTlJFRlVTRUQKPsKgc3RyaW5nLm1hdGNoKHRvc3RyaW5nKHNjKSwgJywgcGVlcicpID09IG5p bAo+LXNjOndyaXRhYmxlKFdBSVRfQ09ORF9USU1FKQo+K3NjOndyaXRhYmxlKCkKPsKgc3RyaW5n Lm1hdGNoKHRvc3RyaW5nKHNjKSwgJywgcGVlcicpID09IG5pbAo+wqBzb2NrZXRfZXJyb3IgPSBz YzpnZXRzb2Nrb3B0KCdTT0xfU09DS0VUJywgJ1NPX0VSUk9SJykKPsKgc29ja2V0X2Vycm9yID09 IGVycm5vLkVDT05OUkVGVVNFRCBvciBzb2NrZXRfZXJyb3IgPT0gMAo+QEAgLTMwNyw3ICszMDcs NyBAQCBzb2NrZXQudGNwX2Nvbm5lY3QoJzEyNy4wLjAuMScsIDgwLCAwLjAwMDAwMDAwMDAxKQo+ wqBzID0gc29ja2V0KCdBRl9JTkVUJywgJ1NPQ0tfU1RSRUFNJywgJ3RjcCcpCj7CoHM6YmluZCgn MTI3LjAuMC4xJywgMCkKPsKgcG9ydCA9IHM6bmFtZSgpLnBvcnQKPi1zOmxpc3RlbihXQUlUX0NP TkRfVElNRSkKPitzOmxpc3RlbigpCj7CoHNjLCBlID0gc29ja2V0LnRjcF9jb25uZWN0KCcxMjcu MC4wLjEnLCBwb3J0KSwgZXJybm8oKQo+wqBzYyB+PSBuaWwKPsKgZSA9PSAwCj5AQCAtMzIxLDcg KzMyMSw3IEBAIF8gPSBvcy5yZW1vdmUocGF0aCkKPsKgcyA9IHNvY2tldCgnQUZfVU5JWCcsICdT T0NLX1NUUkVBTScsIDApCj7CoHM6YmluZCgndW5peC8nLCBwYXRoKQo+wqBzb2NrZXQudGNwX2Nv bm5lY3QoJ3VuaXgvJywgcGF0aCksIGVycm5vKCkgPT0gZXJybm8uRUNPTk5SRUZVU0VECj4tczps aXN0ZW4oV0FJVF9DT05EX1RJTUUpCj4rczpsaXN0ZW4oKQo+wqBzYywgZSA9IHNvY2tldC50Y3Bf Y29ubmVjdCgndW5peC8nLCBwYXRoKSwgZXJybm8oKQo+wqBzYyB+PSBuaWwKPsKgZQo+QEAgLTM0 MiwyNiArMzQyLDEzIEBAIHMgPSBuaWwKPgo+wqAtLSByYW5kb20gcG9ydAo+wqBtYXN0ZXIgPSBz b2NrZXQoJ1BGX0lORVQnLCAnU09DS19TVFJFQU0nLCAndGNwJykKPi1tYXN0ZXI6c2V0c29ja29w dCgnU09MX1NPQ0tFVCcsICdTT19SRVVTRUFERFInLCB0cnVlKQo+LW1hdGgucmFuZG9tc2VlZChm aWJlci50aW1lKCkpCj4tcG9ydCA9IDMyNzY4ICsgbWF0aC5yYW5kb20oMCwgMzI3NjcpCj4tLS0g U09fUkVVU0VBRERSIGFsbG93cyB0byBiaW5kIHRvIHRoZSBzYW1lIHNvdXJjZSBhZGRyOnBvcnQg dHdpY2UsCj4tLS0gc28gbGlzdGVuKCkgY2FuIHJldHVybiBFQUREUklOVVNFIGFuZCBzbyB3ZSBj aGVjayBpdCB3aXRoaW4KPi0tLSB3YWl0X2NvbmQoKS4KPittYXN0ZXI6YmluZCgnMTI3LjAuMC4x JywgMCkKPitwb3J0ID0gbWFzdGVyOm5hbWUoKS5wb3J0IAoxLiBXZSBuZWVkIHRvIHN0YXJ0IGxp c3RlbmluZyBoZXJlLgo+Cj7CoHRlc3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAnOyciKQo+ LXRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpCj4tICAgIGxvY2FsIG9rID0gbWFzdGVyOmJp bmQoJzEyNy4wLjAuMScsIHBvcnQpCj4tICAgIGxvY2FsIG9rID0gb2sgYW5kIG1hc3RlcjpsaXN0 ZW4oV0FJVF9DT05EX1RJTUUpCj4tICAgIGlmIG5vdCBvayB0aGVuCj4tICAgICAgICBwb3J0ID0g MzI3NjggKyBtYXRoLnJhbmRvbSgzMjc2OCkKPi0gICAgICAgIHJldHVybiBmYWxzZSwgbWFzdGVy OmVycm9yKCkKPi0gICAgZW5kCj4tICAgIHJldHVybiB0cnVlCj4tZW5kLCBXQUlUX0NPTkRfVElN RSk7Cj7CoGZ1bmN0aW9uIGdoMzYxKCkKPsKgwqDCoMKgwqBsb2NhbCBzID0gc29ja2V0KCdQRl9J TkVUJywgJ1NPQ0tfU1RSRUFNJywgJ3RjcCcpCj7CoMKgwqDCoMKgczpzeXNjb25uZWN0KCcxMjcu MC4wLjEnLCBwb3J0KQo+LSAgICBzOndhaXQoV0FJVF9DT05EX1RJTUUpCj4rICAgIHM6d2FpdCgp Cj7CoMKgwqDCoMKgcmVzID0gczpyZWFkKDEyMDApCj7CoGVuZDsKPsKgdGVzdF9ydW46Y21kKCJz ZXRvcHQgZGVsaW1pdGVyICcnIik7Cj5AQCAtMzc4LDExICszNjUsMTEgQEAgczpzZXRzb2Nrb3B0 KCdTT0xfU09DS0VUJywgJ1NPX1JFVVNFQUREUicsIHRydWUpCj7CoHM6ZXJyb3IoKQo+wqBzOmJp bmQoJ3VuaXgvJywgcGF0aCkKPsKgczplcnJvcigpCj4tczpsaXN0ZW4oV0FJVF9DT05EX1RJTUUp Cj4rczpsaXN0ZW4oMTI4KQo+wqB0ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJzsnIikK PsKgZiA9IGZpYmVyLmNyZWF0ZShmdW5jdGlvbigpCj7CoMKgwqDCoMKgZm9yIGk9MSwyIGRvCj4t ICAgICAgICBzOnJlYWRhYmxlKFdBSVRfQ09ORF9USU1FKQo+KyAgICAgICAgczpyZWFkYWJsZSgp Cj7CoMKgwqDCoMKgwqDCoMKgwqBsb2NhbCBzYyA9IHM6YWNjZXB0KCkKPsKgwqDCoMKgwqDCoMKg wqDCoHNjOndyaXRlKCdvayEnKQo+wqDCoMKgwqDCoMKgwqDCoMKgc2M6c2h1dGRvd24oKQo+QEAg LTUwNyw3ICs0OTQsNyBAQCBfID0gb3MucmVtb3ZlKHBhdGgpCj7CoC0tIFRlc3QgdGhhdCBzb2Nr ZXQgaXMgY2xvc2VkIG9uIEdDCj7CoHMgPSBzb2NrZXQoJ0FGX1VOSVgnLCAnU09DS19TVFJFQU0n LCAwKQo+wqBzOmJpbmQoJ3VuaXgvJywgcGF0aCkKPi1zOmxpc3RlbihXQUlUX0NPTkRfVElNRSkK PitzOmxpc3RlbigpCj7CoHMgPSBuaWwKPsKgd2hpbGUgc29ja2V0LnRjcF9jb25uZWN0KCd1bml4 LycsIHBhdGgpIGRvIGNvbGxlY3RnYXJiYWdlKCdjb2xsZWN0JykgZW5kCj7CoF8gPSBvcy5yZW1v dmUocGF0aCkKPkBAIC02MDMsNyArNTkwLDcgQEAgczpzZXRvcHRpb24oJ3RjcC1ub2RlbGF5Jywg dHJ1ZSkKPsKgczpzZXRvcHRpb24oJ3Vua25vd24nLCB0cnVlKQo+wqBzOmJpbmQoJzEyNy4wLjAu MScsIDApCj7CoHM6YmluZCgnMTI3LjAuMC4xJywgMCkgLS0gZXJyb3IgaGFuZGxpbmcKPi1zOmxp c3RlbihXQUlUX0NPTkRfVElNRSkKPitzOmxpc3RlbigxMCkKPsKgcyAtLSB0cmFuc2Zvcm1lZCB0 byB0Y3B7c2VydmVyfSBzb2NrZXQKPsKgaG9zdCwgcG9ydCwgZmFtaWx5ID0gczpnZXRzb2NrbmFt ZSgpCj7CoGhvc3QgPT0gJzEyNy4wLjAuMScsIHR5cGUocG9ydCkgPT0gJ3N0cmluZycsIGZhbWls eSA9PSAnaW5ldCcKPkBAIC03NjMsMTEgKzc1MCw3IEBAIGVuZDsKPsKgdGVzdF9ydW46Y21kKCJz ZXRvcHQgZGVsaW1pdGVyICcnIik7Cj4KPsKgcmVjZWl2aW5nX3NvY2tldCA9IHNvY2tldCgnQUZf SU5FVCcsICdTT0NLX0RHUkFNJywgJ3VkcCcpCj4tdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVsaW1p dGVyICc7JyIpCj4tdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkKPi0gICAgcmV0dXJuIHJl Y2VpdmluZ19zb2NrZXQ6YmluZCgnMTI3LjAuMC4xJywgMzI3NjggKyBtYXRoLnJhbmRvbSgwLCAz Mjc2NykpCj4tZW5kLCBXQUlUX0NPTkRfVElNRSk7Cj4tdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVs aW1pdGVyICcnIik7Cj4rcmVjZWl2aW5nX3NvY2tldDpiaW5kKCcxMjcuMC4wLjEnLCAwKQo+wqBy ZWNlaXZpbmdfc29ja2V0X3BvcnQgPSByZWNlaXZpbmdfc29ja2V0Om5hbWUoKS5wb3J0Cj7CoHNl bmRpbmdfc29ja2V0ID0gc29ja2V0KCdBRl9JTkVUJywgJ1NPQ0tfREdSQU0nLCAndWRwJykKPgo+ QEAgLTkwMiwyMCArODg1LDEzIEBAIG1lc3NhZ2UgPSBzdHJpbmcucmVwKCd4JywgbWVzc2FnZV9s ZW4pCj4KPsKgbGlzdGVuaW5nX3NvY2tldCA9IHNvY2tldCgnQUZfSU5FVCcsICdTT0NLX1NUUkVB TScsICd0Y3AnKQo+wqBsaXN0ZW5pbmdfc29ja2V0OnNldHNvY2tvcHQoJ1NPTF9TT0NLRVQnLCAn U09fUkVVU0VBRERSJywgdHJ1ZSkKPi10ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJzsn IikKPi10ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKQo+LSAgICByZXR1cm4gbGlzdGVuaW5n X3NvY2tldDpiaW5kKCcxMjcuMC4wLjEnLCAzMjc2OCArIG1hdGgucmFuZG9tKDAsIDMyNzY3KSkK Pi1lbmQsIFdBSVRfQ09ORF9USU1FKTsKPi10ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIg JyciKTsKPi1saXN0ZW5pbmdfc29ja2V0Omxpc3RlbihXQUlUX0NPTkRfVElNRSkKPitsaXN0ZW5p bmdfc29ja2V0OmJpbmQoJzEyNy4wLjAuMScsIDApCj4rbGlzdGVuaW5nX3NvY2tldDpsaXN0ZW4o KQo+wqBsaXN0ZW5pbmdfc29ja2V0X3BvcnQgPSBsaXN0ZW5pbmdfc29ja2V0Om5hbWUoKS5wb3J0 Cj7CoHNlbmRpbmdfc29ja2V0ID0gc29ja2V0KCdBRl9JTkVUJywgJ1NPQ0tfU1RSRUFNJywgJ3Rj cCcpCj7CoHNlbmRpbmdfc29ja2V0OnN5c2Nvbm5lY3QoJzEyNy4wLjAuMScsIGxpc3RlbmluZ19z b2NrZXRfcG9ydCkgb3IgZXJybm8oKSA9PSBlcnJuby5FSU5QUk9HUkVTUwo+LXRlc3RfcnVuOmNt ZCgic2V0b3B0IGRlbGltaXRlciAnOyciKQo+LXJlY2VpdmluZ19zb2NrZXQgPSB0ZXN0X3J1bjp3 YWl0X2NvbmQoZnVuY3Rpb24oKQo+LSAgICByZXR1cm4gbGlzdGVuaW5nX3NvY2tldDphY2NlcHQo KQo+LWVuZCwgV0FJVF9DT05EX1RJTUUpOwo+LXRlc3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRl ciAnJyIpOwo+K2xpc3RlbmluZ19zb2NrZXQ6cmVhZGFibGUoV0FJVF9DT05EX1RJTUUpCj4rcmVj ZWl2aW5nX3NvY2tldCA9IGxpc3RlbmluZ19zb2NrZXQ6YWNjZXB0KCkKPsKgc2VuZGluZ19zb2Nr ZXQ6d3JpdGUobWVzc2FnZSkKPgo+wqAtLSBjYXNlOiByZWN2ZnJvbSByZWFkcyBmaXJzdCA1MTIg Ynl0ZXMgZnJvbSB0aGUgbWVzc2FnZSB3aXRoIHRjcAo+QEAgLTk4MywyNiArOTU5LDE0IEBAIHRl c3RfcnVuOmNtZCgiY2xlYXIgZmlsdGVyIikKPsKgY2hhbiA9IGZpYmVyLmNoYW5uZWwoKQo+wqBj b3VudGVyID0gMAo+wqBmbiA9IGZ1bmN0aW9uKHMpIGNvdW50ZXIgPSAwOyB3aGlsZSB0cnVlIGRv IHM6d3JpdGUoKHRvc3RyaW5nKGNvdW50ZXIpKTpyZXAoY2hhbjpnZXQoKSkpOyBjb3VudGVyID0g Y291bnRlciArIDEgZW5kIGVuZAo+LXNydiA9IG5pbAo+LXRlc3RfcnVuOmNtZCgic2V0b3B0IGRl bGltaXRlciAnOyciKQo+LXRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpCj4tICAgIHBvcnQg PSAzMjc2OCArIG1hdGgucmFuZG9tKDAsIDMyNzY3KQo+LSAgICBzcnYgPSBzb2NrZXQudGNwX3Nl cnZlcignMC4wLjAuMCcsIHBvcnQsIGZuKQo+LSAgICByZXR1cm4gc3J2IH49IG5pbAo+LWVuZCwg V0FJVF9DT05EX1RJTUUpOwo+LXJlY2VpdmUxID0gbmlsOyByZWNlaXZlMiA9IG5pbDsKPi1pZiBz cnYgfj0gbmlsIHRoZW4KPi0gICAgcyA9IHNvY2tldC5jb25uZWN0KCdsb2NhbGhvc3QnLCBwb3J0 KQo+LSAgICBjaGFuOnB1dCg1KQo+LSAgICBjaGFuOnB1dCg1KQo+LSAgICByZWNlaXZlMSA9IHM6 cmVjZWl2ZSg1KQo+LSAgICBjaGFuOnB1dCg1KQo+LSAgICBzOnNldHRpbWVvdXQoMSkKPi0gICAg cmVjZWl2ZTIgPSBzOnJlY2VpdmUoJyphJykKPi0gICAgczpjbG9zZSgpCj4tICAgIHNydjpjbG9z ZSgpCj4tZW5kOwo+LXRlc3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAnJyIpOwo+LXJlY2Vp dmUxCj4tcmVjZWl2ZTIKPitzcnYgPSBzb2NrZXQudGNwX3NlcnZlcignMC4wLjAuMCcsIDAsIGZu KQo+K3MgPSBzb2NrZXQuY29ubmVjdCgnbG9jYWxob3N0Jywgc3J2Om5hbWUoKS5wb3J0KQo+K2No YW46cHV0KDUpCj4rY2hhbjpwdXQoNSkKPitzOnJlY2VpdmUoNSkKPitjaGFuOnB1dCg1KQo+K3M6 c2V0dGltZW91dCgxKQo+K3M6cmVjZWl2ZSgnKmEnKQo+K3M6Y2xvc2UoKQo+K3NydjpjbG9zZSgp CjIuIEl0IHN0aWxsIHNlZW1zIHRvIG1lIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBoYW5nIG9uIGNo YW46cHV0KCkgZXZlbgppbiBjYXNlIHNlcnZlciBmYWlscyB0byBzdGFydCwgYXMgZmFyIGFzIGl0 IG1ha2VzIG91dHB1dCBsZXNzIGNsZWFyLgpIb3dldmVyLCBhbHRlcm5hdGl2ZSBjb25zdHJ1Y3Rp b24gYWxzbyBzZWVtcyB0byBiZSBxdWl0ZSBjb25mdXNpbmcuCkNvbnNpZGVyaW5nIHRoYXQgaXQg c2hvdWxkbid0IGFsc28gZmFpbCBhbnkgbW9yZSwgaSBzZWUgd2h5IGl0IGlzCmJldHRlciB0byBs ZWF2ZSB1bndyYXBwZWQgY29uc3RydWN0aW9uLgo+Cj4KPj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Cj5j b21taXQgNWE1Y2QwMWEwYzY2NWYyNDM4ZTA1ZmViNDZkZGU5NjQ4MjhmNmMwMQo+QXV0aG9yOiBW bGFkaXNsYXYgU2hwaWxldm95IDwgdi5zaHBpbGV2b3lAdGFyYW50b29sLm9yZyA+Cj5EYXRlOiAg IFR1ZSBEZWMgMTcgMDA6MjA6MDEgMjAxOSArMDEwMAo+Cj7CoMKgwqDCoE1ha2UgVURQIG1vcmUg dGFibGUgb24gTWFjCj4KPmRpZmYgLS1naXQgYS90ZXN0L2FwcC9zb2NrZXQucmVzdWx0IGIvdGVz dC9hcHAvc29ja2V0LnJlc3VsdAo+aW5kZXggNTYzNTE5MzE1Li5jYjM4OTdlZTEgMTAwNjQ0Cj4t LS0gYS90ZXN0L2FwcC9zb2NrZXQucmVzdWx0Cj4rKysgYi90ZXN0L2FwcC9zb2NrZXQucmVzdWx0 Cj5AQCAtMjI4Miw3ICsyMjgyLDkgQEAgc2VuZHRvX3plcm8oc2VuZGluZ19zb2NrZXQsICcxMjcu MC4wLjEnLCByZWNlaXZpbmdfc29ja2V0X3BvcnQpCj7CoC0tLQo+wqAtIDAKPsKgLi4uCj4tcmVj ZWl2ZWRfbWVzc2FnZSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdigpCj4rcmVjZWl2ZWRfbWVzc2Fn ZSA9IHRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpICAgICAgICBcCj4rICAgIHJldHVybiBy ZWNlaXZpbmdfc29ja2V0OnJlY3YoKSAgICAgICAgICAgICAgICAgICAgICBcCj4rZW5kLCBXQUlU X0NPTkRfVElNRSkKPsKgLS0tCj7CoC4uLgo+wqBlID0gcmVjZWl2aW5nX3NvY2tldDplcnJubygp Cj5AQCAtMjMwNSw3ICsyMzA3LDkgQEAgc2VuZHRvX3plcm8oc2VuZGluZ19zb2NrZXQsICcxMjcu MC4wLjEnLCByZWNlaXZpbmdfc29ja2V0X3BvcnQpCj7CoC0tLQo+wqAtIDAKPsKgLi4uCj4tcmVj ZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oKQo+K3JlY2Vp dmVkX21lc3NhZ2UsIGZyb20gPSB0ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKSAgXAo+KyAg ICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpyZWN2ZnJvbSgpICAgICAgICAgICAgICAgICAgXAo+ K2VuZCwgV0FJVF9DT05EX1RJTUUpCj7CoC0tLQo+wqAuLi4KPsKgZSA9IHJlY2VpdmluZ19zb2Nr ZXQ6ZXJybm8oKQo+QEAgLTIzODIsNyArMjM4Niw5IEBAIHNlbmR0b196ZXJvKHNlbmRpbmdfc29j a2V0LCAnMTI3LjAuMC4xJywgcmVjZWl2aW5nX3NvY2tldF9wb3J0KQo+wqAtLS0KPsKgLSAwCj7C oC4uLgo+LXJlY2VpdmVkX21lc3NhZ2UgPSByZWNlaXZpbmdfc29ja2V0OnJlY3YoNTEyKQo+K3Jl Y2VpdmVkX21lc3NhZ2UgPSB0ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKSAgICAgICAgXAo+ KyAgICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpyZWN2KDUxMikgICAgICAgICAgICAgICAgICAg XAo+K2VuZCwgV0FJVF9DT05EX1RJTUUpCj7CoC0tLQo+wqAuLi4KPsKgZSA9IHJlY2VpdmluZ19z b2NrZXQ6ZXJybm8oKQo+QEAgLTI0MDUsNyArMjQxMSw5IEBAIHNlbmR0b196ZXJvKHNlbmRpbmdf c29ja2V0LCAnMTI3LjAuMC4xJywgcmVjZWl2aW5nX3NvY2tldF9wb3J0KQo+wqAtLS0KPsKgLSAw Cj7CoC4uLgo+LXJlY2VpdmVkX21lc3NhZ2UsIGZyb20gPSByZWNlaXZpbmdfc29ja2V0OnJlY3Zm cm9tKDUxMikKPityZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1 bmN0aW9uKCkgIFwKPisgICAgcmV0dXJuIHJlY2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oNTEyKSAg ICAgICAgICAgICAgIFwKPitlbmQsIFdBSVRfQ09ORF9USU1FKQo+wqAtLS0KPsKgLi4uCj7CoGUg PSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCkKPkBAIC0yNDQyLDcgKzI0NTAsOSBAQCBzZW5kaW5n X3NvY2tldDpzZW5kdG8oJzEyNy4wLjAuMScsIHJlY2VpdmluZ19zb2NrZXRfcG9ydCwgbWVzc2Fn ZSkKPsKgLS0tCj7CoC0gMTAyNQo+wqAuLi4KPi1yZWNlaXZlZF9tZXNzYWdlID0gcmVjZWl2aW5n X3NvY2tldDpyZWN2KCkKPityZWNlaXZlZF9tZXNzYWdlID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1 bmN0aW9uKCkgICAgICAgIFwKPisgICAgcmV0dXJuIHJlY2VpdmluZ19zb2NrZXQ6cmVjdigpICAg ICAgICAgICAgICAgICAgICAgIFwKPitlbmQsIFdBSVRfQ09ORF9USU1FKQo+wqAtLS0KPsKgLi4u Cj7CoGUgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCkKPkBAIC0yNDc0LDcgKzI0ODQsOSBAQCBz ZW5kaW5nX3NvY2tldDpzZW5kdG8oJzEyNy4wLjAuMScsIHJlY2VpdmluZ19zb2NrZXRfcG9ydCwg bWVzc2FnZSkKPsKgLS0tCj7CoC0gMTAyNQo+wqAuLi4KPi1yZWNlaXZlZF9tZXNzYWdlLCBmcm9t ID0gcmVjZWl2aW5nX3NvY2tldDpyZWN2ZnJvbSgpCj4rcmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9 IHRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpICBcCj4rICAgIHJldHVybiByZWNlaXZpbmdf c29ja2V0OnJlY3Zmcm9tKCkgICAgICAgICAgICAgICAgICBcCj4rZW5kLCBXQUlUX0NPTkRfVElN RSkKPsKgLS0tCj7CoC4uLgo+wqBlID0gcmVjZWl2aW5nX3NvY2tldDplcnJubygpCj5AQCAtMjUx Myw3ICsyNTI1LDkgQEAgc2VuZGluZ19zb2NrZXQ6c2VuZHRvKCcxMjcuMC4wLjEnLCByZWNlaXZp bmdfc29ja2V0X3BvcnQsIG1lc3NhZ2UpCj7CoC0tLQo+wqAtIDEwMjUKPsKgLi4uCj4tcmVjZWl2 ZWRfbWVzc2FnZSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdig1MTIpCj4rcmVjZWl2ZWRfbWVzc2Fn ZSA9IHRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpICAgICAgICBcCj4rICAgIHJldHVybiBy ZWNlaXZpbmdfc29ja2V0OnJlY3YoNTEyKSAgICAgICAgICAgICAgICAgICBcCj4rZW5kLCBXQUlU X0NPTkRfVElNRSkKPsKgLS0tCj7CoC4uLgo+wqBlID0gcmVjZWl2aW5nX3NvY2tldDplcnJubygp Cj5AQCAtMjU1Niw3ICsyNTcwLDkgQEAgc2VuZGluZ19zb2NrZXQ6c2VuZHRvKCcxMjcuMC4wLjEn LCByZWNlaXZpbmdfc29ja2V0X3BvcnQsIG1lc3NhZ2UpCj7CoC0tLQo+wqAtIDEwMjUKPsKgLi4u Cj4tcmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oNTEy KQo+K3JlY2VpdmVkX21lc3NhZ2UsIGZyb20gPSB0ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24o KSAgXAo+KyAgICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpyZWN2ZnJvbSg1MTIpICAgICAgICAg ICAgICAgXAo+K2VuZCwgV0FJVF9DT05EX1RJTUUpCj7CoC0tLQo+wqAuLi4KPsKgZSA9IHJlY2Vp dmluZ19zb2NrZXQ6ZXJybm8oKQo+QEAgLTI2NDUsNyArMjY2MSw5IEBAIHNlbmRpbmdfc29ja2V0 OndyaXRlKG1lc3NhZ2UpCj7CoC0gNTEzCj7CoC4uLgo+wqAtLSBjYXNlOiByZWN2ZnJvbSByZWFk cyBmaXJzdCA1MTIgYnl0ZXMgZnJvbSB0aGUgbWVzc2FnZSB3aXRoIHRjcAo+LXJlY2VpdmVkX21l c3NhZ2UsIGZyb20gPSByZWNlaXZpbmdfc29ja2V0OnJlY3Zmcm9tKCkKPityZWNlaXZlZF9tZXNz YWdlLCBmcm9tID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgIFwKPisgICAgcmV0dXJu IHJlY2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oKSAgICAgICAgICAgICAgICAgIFwKPitlbmQsIFdB SVRfQ09ORF9USU1FKQo+wqAtLS0KPsKgLi4uCj7CoGUgPSByZWNlaXZpbmdfc29ja2V0OmVycm5v KCkKPmRpZmYgLS1naXQgYS90ZXN0L2FwcC9zb2NrZXQudGVzdC5sdWEgYi90ZXN0L2FwcC9zb2Nr ZXQudGVzdC5sdWEKPmluZGV4IDliYTZiMjg5My4uYTA4MDM1MTlkIDEwMDY0NAo+LS0tIGEvdGVz dC9hcHAvc29ja2V0LnRlc3QubHVhCj4rKysgYi90ZXN0L2FwcC9zb2NrZXQudGVzdC5sdWEKPkBA IC03NzIsNyArNzcyLDkgQEAgZSA9PSBlcnJuby5FQUdBSU4gLS0gZXhwZWN0ZWQgdHJ1ZQo+Cj7C oC0tIGNhc2U6IHJlY3YsIHplcm8gZGF0YWdyYW0KPsKgc2VuZHRvX3plcm8oc2VuZGluZ19zb2Nr ZXQsICcxMjcuMC4wLjEnLCByZWNlaXZpbmdfc29ja2V0X3BvcnQpCj4tcmVjZWl2ZWRfbWVzc2Fn ZSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdigpCj4rcmVjZWl2ZWRfbWVzc2FnZSA9IHRlc3RfcnVu OndhaXRfY29uZChmdW5jdGlvbigpICAgICAgICBcCj4rICAgIHJldHVybiByZWNlaXZpbmdfc29j a2V0OnJlY3YoKSAgICAgICAgICAgICAgICAgICAgICBcCj4rZW5kLCBXQUlUX0NPTkRfVElNRSkK PsKgZSA9IHJlY2VpdmluZ19zb2NrZXQ6ZXJybm8oKQo+wqByZWNlaXZlZF9tZXNzYWdlID09ICcn IC0tIGV4cGVjdGVkIHRydWUKPsKgcmVjZWl2ZWRfbWVzc2FnZQo+QEAgLTc4MCw3ICs3ODIsOSBA QCBlID09IDAgLS0gZXhwZWN0ZWQgdHJ1ZQo+Cj7CoC0tIGNhc2U6IHJlY3Zmcm9tLCB6ZXJvIGRh dGFncmFtCj7CoHNlbmR0b196ZXJvKHNlbmRpbmdfc29ja2V0LCAnMTI3LjAuMC4xJywgcmVjZWl2 aW5nX3NvY2tldF9wb3J0KQo+LXJlY2VpdmVkX21lc3NhZ2UsIGZyb20gPSByZWNlaXZpbmdfc29j a2V0OnJlY3Zmcm9tKCkKPityZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gdGVzdF9ydW46d2FpdF9j b25kKGZ1bmN0aW9uKCkgIFwKPisgICAgcmV0dXJuIHJlY2VpdmluZ19zb2NrZXQ6cmVjdmZyb20o KSAgICAgICAgICAgICAgICAgIFwKPitlbmQsIFdBSVRfQ09ORF9USU1FKQo+wqBlID0gcmVjZWl2 aW5nX3NvY2tldDplcnJubygpCj7CoHJlY2VpdmVkX21lc3NhZ2UgPT0gJycgLS0gZXhwZWN0ZWQg dHJ1ZQo+wqByZWNlaXZlZF9tZXNzYWdlCj5AQCAtODA2LDcgKzgxMCw5IEBAIGUgPT0gZXJybm8u RUFHQUlOIC0tIGV4cGVjdGVkIHRydWUKPgo+wqAtLSBjYXNlOiByZWN2LCB6ZXJvIGRhdGFncmFt LCBleHBsaWNpdCBzaXplCj7CoHNlbmR0b196ZXJvKHNlbmRpbmdfc29ja2V0LCAnMTI3LjAuMC4x JywgcmVjZWl2aW5nX3NvY2tldF9wb3J0KQo+LXJlY2VpdmVkX21lc3NhZ2UgPSByZWNlaXZpbmdf c29ja2V0OnJlY3YoNTEyKQo+K3JlY2VpdmVkX21lc3NhZ2UgPSB0ZXN0X3J1bjp3YWl0X2NvbmQo ZnVuY3Rpb24oKSAgICAgICAgXAo+KyAgICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpyZWN2KDUx MikgICAgICAgICAgICAgICAgICAgXAo+K2VuZCwgV0FJVF9DT05EX1RJTUUpCj7CoGUgPSByZWNl aXZpbmdfc29ja2V0OmVycm5vKCkKPsKgcmVjZWl2ZWRfbWVzc2FnZSA9PSAnJyAtLSBleHBlY3Rl ZCB0cnVlCj7CoHJlY2VpdmVkX21lc3NhZ2UKPkBAIC04MTQsNyArODIwLDkgQEAgZSA9PSAwIC0t IGV4cGVjdGVkIHRydWUKPgo+wqAtLSBjYXNlOiByZWN2ZnJvbSwgemVybyBkYXRhZ3JhbSwgZXhw bGljaXQgc2l6ZQo+wqBzZW5kdG9femVybyhzZW5kaW5nX3NvY2tldCwgJzEyNy4wLjAuMScsIHJl Y2VpdmluZ19zb2NrZXRfcG9ydCkKPi1yZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gcmVjZWl2aW5n X3NvY2tldDpyZWN2ZnJvbSg1MTIpCj4rcmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHRlc3RfcnVu OndhaXRfY29uZChmdW5jdGlvbigpICBcCj4rICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJl Y3Zmcm9tKDUxMikgICAgICAgICAgICAgICBcCj4rZW5kLCBXQUlUX0NPTkRfVElNRSkKPsKgZSA9 IHJlY2VpdmluZ19zb2NrZXQ6ZXJybm8oKQo+wqByZWNlaXZlZF9tZXNzYWdlID09ICcnIC0tIGV4 cGVjdGVkIHRydWUKPsKgcmVjZWl2ZWRfbWVzc2FnZQo+QEAgLTgyNyw3ICs4MzUsOSBAQCBtZXNz YWdlID0gc3RyaW5nLnJlcCgneCcsIG1lc3NhZ2VfbGVuKQo+Cj7CoC0tIGNhc2U6IHJlY3YsIG5v bi16ZXJvIGxlbmd0aCBkYXRhZ3JhbSwgdGhlIGJ1ZmZlciBzaXplIHNob3VsZCBiZSBldmFsdWF0 ZWQKPsKgc2VuZGluZ19zb2NrZXQ6c2VuZHRvKCcxMjcuMC4wLjEnLCByZWNlaXZpbmdfc29ja2V0 X3BvcnQsIG1lc3NhZ2UpCj4tcmVjZWl2ZWRfbWVzc2FnZSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVj digpCj4rcmVjZWl2ZWRfbWVzc2FnZSA9IHRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpICAg ICAgICBcCj4rICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJlY3YoKSAgICAgICAgICAgICAg ICAgICAgICBcCj4rZW5kLCBXQUlUX0NPTkRfVElNRSkKPsKgZSA9IHJlY2VpdmluZ19zb2NrZXQ6 ZXJybm8oKQo+wqByZWNlaXZlZF9tZXNzYWdlID09IG1lc3NhZ2UgLS0gZXhwZWN0ZWQgdHJ1ZQo+ wqByZWNlaXZlZF9tZXNzYWdlOmxlbigpCj5AQCAtODM4LDcgKzg0OCw5IEBAIGUKPsKgLS0gY2Fz ZTogcmVjdmZyb20sIG5vbi16ZXJvIGxlbmd0aCBkYXRhZ3JhbSwgdGhlIGJ1ZmZlciBzaXplIHNo b3VsZCBiZQo+wqAtLSBldmFsdWF0ZWQKPsKgc2VuZGluZ19zb2NrZXQ6c2VuZHRvKCcxMjcuMC4w LjEnLCByZWNlaXZpbmdfc29ja2V0X3BvcnQsIG1lc3NhZ2UpCj4tcmVjZWl2ZWRfbWVzc2FnZSwg ZnJvbSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oKQo+K3JlY2VpdmVkX21lc3NhZ2UsIGZy b20gPSB0ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKSAgXAo+KyAgICByZXR1cm4gcmVjZWl2 aW5nX3NvY2tldDpyZWN2ZnJvbSgpICAgICAgICAgICAgICAgICAgXAo+K2VuZCwgV0FJVF9DT05E X1RJTUUpCj7CoGUgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCkKPsKgcmVjZWl2ZWRfbWVzc2Fn ZSA9PSBtZXNzYWdlIC0tIGV4cGVjdGVkIHRydWUKPsKgcmVjZWl2ZWRfbWVzc2FnZTpsZW4oKQo+ QEAgLTg1MCw3ICs4NjIsOSBAQCBlCj4KPsKgLS0gY2FzZTogcmVjdiB0cnVuY2F0ZXMgYSBkYXRh Z3JhbSBsYXJnZXIgdGhlbiB0aGUgYnVmZmVyIG9mIGFuIGV4cGxpY2l0IHNpemUKPsKgc2VuZGlu Z19zb2NrZXQ6c2VuZHRvKCcxMjcuMC4wLjEnLCByZWNlaXZpbmdfc29ja2V0X3BvcnQsIG1lc3Nh Z2UpCj4tcmVjZWl2ZWRfbWVzc2FnZSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdig1MTIpCj4rcmVj ZWl2ZWRfbWVzc2FnZSA9IHRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpICAgICAgICBcCj4r ICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJlY3YoNTEyKSAgICAgICAgICAgICAgICAgICBc Cj4rZW5kLCBXQUlUX0NPTkRfVElNRSkKPsKgZSA9IHJlY2VpdmluZ19zb2NrZXQ6ZXJybm8oKQo+ wqByZWNlaXZlZF9tZXNzYWdlID09IG1lc3NhZ2U6c3ViKDEsIDUxMikgLS0gZXhwZWN0ZWQgdHJ1 ZQo+wqByZWNlaXZlZF9tZXNzYWdlOmxlbigpID09IDUxMiAtLSBleHBlY3RlZCB0cnVlCj5AQCAt ODY2LDcgKzg4MCw5IEBAIG1lc3NhZ2UgPSBzdHJpbmcucmVwKCd5JywgbWVzc2FnZV9sZW4pCj4K PsKgLS0gY2FzZTogcmVjdmZyb20gdHJ1bmNhdGVzIGEgZGF0YWdyYW0gbGFyZ2VyIHRoZW4gdGhl IGJ1ZmZlciBvZiBhbiBleHBsaWNpdCBzaXplCj7CoHNlbmRpbmdfc29ja2V0OnNlbmR0bygnMTI3 LjAuMC4xJywgcmVjZWl2aW5nX3NvY2tldF9wb3J0LCBtZXNzYWdlKQo+LXJlY2VpdmVkX21lc3Nh Z2UsIGZyb20gPSByZWNlaXZpbmdfc29ja2V0OnJlY3Zmcm9tKDUxMikKPityZWNlaXZlZF9tZXNz YWdlLCBmcm9tID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgIFwKPisgICAgcmV0dXJu IHJlY2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oNTEyKSAgICAgICAgICAgICAgIFwKPitlbmQsIFdB SVRfQ09ORF9USU1FKQo+wqBlID0gcmVjZWl2aW5nX3NvY2tldDplcnJubygpCj7CoHJlY2VpdmVk X21lc3NhZ2UgPT0gbWVzc2FnZTpzdWIoMSwgNTEyKSAtLSBleHBlY3RlZCB0cnVlCj7CoHJlY2Vp dmVkX21lc3NhZ2U6bGVuKCkgPT0gNTEyIC0tIGV4cGVjdGVkIHRydWUKPkBAIC04OTUsNyArOTEx LDkgQEAgcmVjZWl2aW5nX3NvY2tldCA9IGxpc3RlbmluZ19zb2NrZXQ6YWNjZXB0KCkKPsKgc2Vu ZGluZ19zb2NrZXQ6d3JpdGUobWVzc2FnZSkKPgo+wqAtLSBjYXNlOiByZWN2ZnJvbSByZWFkcyBm aXJzdCA1MTIgYnl0ZXMgZnJvbSB0aGUgbWVzc2FnZSB3aXRoIHRjcAo+LXJlY2VpdmVkX21lc3Nh Z2UsIGZyb20gPSByZWNlaXZpbmdfc29ja2V0OnJlY3Zmcm9tKCkKPityZWNlaXZlZF9tZXNzYWdl LCBmcm9tID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgIFwKPisgICAgcmV0dXJuIHJl Y2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oKSAgICAgICAgICAgICAgICAgIFwKPitlbmQsIFdBSVRf Q09ORF9USU1FKQo+wqBlID0gcmVjZWl2aW5nX3NvY2tldDplcnJubygpCj7CoHJlY2VpdmVkX21l c3NhZ2UgPT0gbWVzc2FnZTpzdWIoMSwgNTEyKSAtLSBleHBlY3RlZCB0cnVlCj7CoHJlY2VpdmVk X21lc3NhZ2U6bGVuKCkgPT0gNTEyIC0tIGV4cGVjdGVkIHRydWUKCgotLSAKSWx5YSBLb3NhcmV2 Cg== ----ALT--2FJSQ3yhiPmjJhuuXg4LMmhC3dqgcvKb1577134118 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPkhpITxicj48YnI+VGhhbmtzIGZvciB5b3VyIHJldmlldy48YnI+PHByZSBz dHlsZT0id2hpdGUtc3BhY2U6IHByZS13cmFwOyIgZGF0YS1tY2Utc3R5bGU9IndoaXRlLXNwYWNl OiBwcmUtd3JhcDsiPjMgYW5zd2VycyBhcmUgYmVsb3cuPC9wcmU+PHA+U2VudCB2NCBpbmNsdWRp bmcgYWxsIHByb3Bvc2VkIGNoYW5nZXMgd2l0aCBtaW5vciBmaXhlcy48YnI+VGhlcmUgYXJlIDIg Y29tbWVudHMgaW4gdGhhdCBzZWN0aW9uLjwvcD48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxl ZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij4K CdCS0YLQvtGA0L3QuNC6LCAxNyDQtNC10LrQsNCx0YDRjyAyMDE5LCAzOjAzICswMzowMCDQvtGC IFZsYWRpc2xhdiBTaHBpbGV2b3kgJmx0O3Yuc2hwaWxldm95QHRhcmFudG9vbC5vcmcmZ3Q7Ojxi cj48YnI+PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxk aXY+PGRpdiBpZD0ic3R5bGVfMTU3NjU0MTAxMDE4MjEwMjExNjBfQk9EWSI+VGhhbmtzIGZvciB0 aGUgcGF0Y2ghPGJyPjxicj4KU2VlIDYgY29tbWVudHMgYmVsb3csIGFuZCAyIHJldmlldyBmaXgg Y29tbWl0cyBpbiB0aGU8YnI+CmVuZC48YnI+PGJyPgpPbiAxMC8xMi8yMDE5IDE1OjM2LCBJbHlh IEtvc2FyZXYgd3JvdGU6PGJyPgomZ3Q7IHRlc3Q6IGZpeCBmbGFreSBzb2NrZXQgdGVzdDxicj4K ICAgIAoxLiBZb3UndmUgZHVwbGljYXRlZCB0aGUgY29tbWl0IHRpdGxlIGluIHRoZTxicj4KY29t bWl0IG1lc3NhZ2UuPGJyPjxicj4KJmd0OyA8YnI+CiZndDsgc29ja2V0LnRlc3QgaGFkIGEgbnVt YmVyIG9mIGZsYWt5IHByb2JsZW1zOjxicj4KJmd0OyAtIHNvY2tldCByZWFkaW5lc3MgZXhwZWN0 YXRpb248YnI+CiZndDsgLSByYWNlIGNvbmRpdGlvbnMgb24gc29ja2V0IHNodXRkb3duIGluIGVt dWxhdGlvbiB0ZXN0IGNhc2VzPGJyPgomZ3Q7IC0gdGNwX3NlcnZlciBzdGFiaWxpdHkgaW4gc29j a2V0IHJlY2VpdmUgaW5jb25zaXN0ZW50IGJlaGF2aW9yIGNhc2U8YnI+CiZndDsgTm93IHRoZXkg YXJlIHNvbHZlZC4gUG9ydCByYW5kb21pemF0aW9uIGlzIGltcHJvdmVkLjxicj4KJmd0OyBTb2Nr ZXQgdGVzdCBpcyBub3QgZnJhZ2lsZSBhbnltb3JlLjxicj48YnI+CjIuIEl0IGRlcGVuZHMgb24g ZGVmaW5pdGlvbiBvZiAnZnJhZ2lsZSB0ZXN0Jy4gQW55IHRlc3QgdXNpbmcgVURQPGJyPgpjYW4g ZmFpbCB1bmRlciBzdWZmaWNpZW50bHkgaGlnaCBsb2FkLiBBbmQgdGhpcyB0ZXN0IGlzIG5vdCBh bjxicj4KZXhjZXB0aW9uLiBBZnRlciB5b3VyIGFuZCBteSBmaXhlcyBpdCBmYWlscyBleHRyZW1l bHkgcmFyZSwgYnV0PGJyPgpzdGlsbCBmYWlscy4gVGhhdCBoYXBwZW5zIHVuZGVyIGh1Z2UgbG9h ZCB3aGVuIHRoZSBrZXJuZWwgc3RhcnRzPGJyPgpkcm9wcGluZyBVRFAgcGFja2V0cy4gTm90IGRl bGl2ZXJzIHRoZW0gd2l0aCBhIGRlbGF5LCBidXQgZHJvcHMuPGJyPjxicj4KQnV0IEkgZ3Vlc3Mg eWVhaCwgd2UgY2FuIHJlbW92ZSB0aGUgJ2ZyYWdpbGUnIGZsYWcuIFVubGVzcyBvdXI8YnI+CnRl c3Qgc3VpdGUgd2lsbCBldmVyIHRyeSB0byBydW4gNjQgc29ja2V0IHRlc3RzIGluIHBhcmFsbGVs IGE8YnI+CmNvdXBsZSBvZiB0aW1lcy48YnI+PGJyPgomZ3Q7IDxicj4KJmd0OyBDbG9zZXMgIzQ0 NTEsICM0NDI2LCAjNDQ2OTxicj4KJmd0OyAtLS08YnI+CiZndDsgQnJhbmNoOiA8YSBocmVmPSJo dHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC90cmVlL2kua29zYXJldi9naC00 NDI2LTQ0NTEtZml4LXNvY2tldC10ZXN0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIu Y29tL3RhcmFudG9vbC90YXJhbnRvb2wvdHJlZS9pLmtvc2FyZXYvZ2gtNDQyNi00NDUxLWZpeC1z b2NrZXQtdGVzdDwvYT48YnI+CiZndDsgSXNzdWVzOiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j b20vdGFyYW50b29sL3RhcmFudG9vbC9pc3N1ZXMvNDQyNiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBz Oi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL2lzc3Vlcy80NDI2PC9hPjxicj4KJmd0 OyAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29s L2lzc3Vlcy80NDUxIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9v bC90YXJhbnRvb2wvaXNzdWVzLzQ0NTE8L2E+PGJyPgomZ3Q7ICAgICAgICAgPGEgaHJlZj0iaHR0 cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvaXNzdWVzLzQ0NjkiIHRhcmdldD0i X2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9pc3N1ZXMvNDQ2 OTwvYT48YnI+CiZndDsgPGJyPgomZ3Q7IENoYW5nZXMgaW4gdjI6PGJyPgomZ3Q7IC0gcmVjb25z aWRlcmVkIHNvY2tldCByZWFkaW5lc3MgZXhwZWN0YXRpb248YnI+CiZndDsgLSByZWR1Y2VkIGNv bmRpdGlvbnMgd2FpdGluZyB0aW1lPGJyPgomZ3Q7IDxicj4KJmd0OyBDaGFuZ2VzIGluIHYzOjxi cj4KJmd0OyAtIHJlY29uc2lkZXJlZCBleHBlY3RhdGlvbnMgdG8gdW5pZnkgdGhlbTxicj4KJmd0 OyAtIHNpbXBsaWZpZWQgcmFuZG9taXphdGlvbjxicj4KJmd0OyA8YnI+CiZndDsgIHRlc3QvYXBw L3NvY2tldC5yZXN1bHQgICB8IDE1OSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS08YnI+CiZndDsgIHRlc3QvYXBwL3NvY2tldC50ZXN0Lmx1YSB8IDEyMyArKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS08YnI+CiZndDsgIHRlc3QvYXBwL3N1aXRlLmluaSAgICAgICB8 ICAgMSAtPGJyPgomZ3Q7ICAzIGZpbGVzIGNoYW5nZWQsIDE3OCBpbnNlcnRpb25zKCspLCAxMDUg ZGVsZXRpb25zKC0pPGJyPgomZ3Q7IDxicj4KJmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC9hcHAvc29j a2V0LnJlc3VsdCBiL3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQ8YnI+CiZndDsgaW5kZXggZmQyOTk0 MjRjOTYuLjI1YWQ5MDM0Mzc0IDEwMDY0NDxicj4KJmd0OyAtLS0gYS90ZXN0L2FwcC9zb2NrZXQu cmVzdWx0PGJyPgomZ3Q7ICsrKyBiL3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQ8YnI+CiZndDsgQEAg LTI3OCwxNCArMjc4LDE0IEBAIHM6ZXJyb3IoKTxicj4KJmd0OyAgLS0tPGJyPgomZ3Q7ICAtIG51 bGw8YnI+CiZndDsgIC4uLjxicj4KJmd0OyAtczpsaXN0ZW4oMTI4KTxicj4KJmd0OyArczpsaXN0 ZW4oV0FJVF9DT05EX1RJTUUpPGJyPjxicj4KMy4gSSBzdWdnZXN0IHlvdSB0byByZWFkIHNvY2tl dC5sdWEgc291cmNlIGNvZGUuIExpc3RlbiB0YWtlczxicj4KYmFja2xvZyBzaXplLCBub3QgYSB0 aW1lb3V0LiBUaGUgc2FtZSBjb21tZW50IHRvIG1hbnkgb3RoZXI8YnI+CnBsYWNlcy48L2Rpdj48 L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+My4gUmlnaHQuIE15IGJhZC48YnI+PGJsb2Nr cXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsg cGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMt cmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTU3NjU0MTAxMDE4MjEwMjExNjBfQk9E WSI+PGJyPjxicj4KJmd0OyAgLS0tPGJyPgomZ3Q7ICAtIHRydWU8YnI+CiZndDsgIC4uLjxicj4K Jmd0OyAgc2V2cmVzID0ge308YnI+CiZndDsgIC0tLTxicj4KJmd0OyAgLi4uPGJyPgomZ3Q7IC10 eXBlKHJlcXVpcmUoJ2ZpYmVyJykuY3JlYXRlKGZ1bmN0aW9uKCkgczpyZWFkYWJsZSgpIGRvIGxv Y2FsIHNjID0gczphY2NlcHQoKSB0YWJsZS5pbnNlcnQoc2V2cmVzLCBzYykgc2M6c3lzd3JpdGUo J29rJykgc2M6Y2xvc2UoKSBlbmQgZW5kKSk8YnI+CiZndDsgK3R5cGUocmVxdWlyZSgnZmliZXIn KS5jcmVhdGUoZnVuY3Rpb24oKSBzOnJlYWRhYmxlKFdBSVRfQ09ORF9USU1FKSBkbyBsb2NhbCBz YyA9IHM6YWNjZXB0KCkgdGFibGUuaW5zZXJ0KHNldnJlcywgc2MpIHNjOnN5c3dyaXRlKCdvaycp IHNjOmNsb3NlKCkgZW5kIGVuZCkpPGJyPjxicj4KNC4gOnJlYWRhYmxlKCkgaGFzIGluZmluaXR5 IHRpbWVvdXQuIFdoZW4geW91IG1hZGUgaXQgV0FJVF9DT05EX1RJTUUsPGJyPgp5b3UgY2VydGFp bmx5IGRpZG4ndCBpbXByb3ZlIHRoZSB0ZXN0IHN0YWJpbGl0eS4gVGhlIHNhbWUgaW4gb3RoZXI8 YnI+CnNpbWlsYXIgcGxhY2VzLjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT40 LiBPaywgaSBzZWUsIHdlIGRvbid0IG5lZWQgdG8gdG91Y2ggaW5maW5pdGUgdGltZW91dCBjYXNl cy48YnI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBt YXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJq cy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTU3NjU0MTAxMDE4 MjEwMjExNjBfQk9EWSI+PGJyPjxicj4KJmd0OyAgLS0tPGJyPgomZ3Q7ICAtIHVzZXJkYXRhPGJy PgomZ3Q7ICAuLi48YnI+CiZndDsgQEAgLTEwMDQsNyArMTAwNCw3IEBAIHNvY2tldC50Y3BfY29u bmVjdCgndW5peC8nLCBwYXRoKSwgZXJybm8oKSA9PSBlcnJuby5FQ09OTlJFRlVTRUQ8YnI+CiZn dDsgIC0gbnVsbDxicj4KJmd0OyAgLSB0cnVlPGJyPgomZ3Q7ICAuLi48YnI+CiZndDsgLXM6bGlz dGVuKCk8YnI+CiZndDsgK3M6bGlzdGVuKFdBSVRfQ09ORF9USU1FKTxicj4KJmd0OyAgLS0tPGJy PgomZ3Q7ICAtIHRydWU8YnI+CiZndDsgIC4uLjxicj4KJmd0OyBAQCAtMTA3NCw2ICsxMDc0LDkg QEAgbWFzdGVyOnNldHNvY2tvcHQoJ1NPTF9TT0NLRVQnLCAnU09fUkVVU0VBRERSJywgdHJ1ZSk8 YnI+CiZndDsgIC0tLTxicj4KJmd0OyAgLSB0cnVlPGJyPgomZ3Q7ICAuLi48YnI+CiZndDsgK21h dGgucmFuZG9tc2VlZChmaWJlci50aW1lKCkpPGJyPjxicj4KNS4gVGhpcyBsaW5lIGJlY29tZXMg dXNlbGVzcyB3aGVuIHlvdSd2ZSBpbmNyZWFzZWQgdGhlIHRpbWVvdXQuPGJyPgpNb3Jlb3Zlciwg dGhlIHJhbmRvbSBwb3J0IHNlYXJjaCBiZWxvdyBhbHNvIGRvZXMgbm90IG1ha2UgYW55PGJyPgpz ZW5zZS4gWW91IGNvdWxkIHVzZSBwb3J0IDAgdG8gYmluZCB0byBhbnkgZnJlZSBwb3J0IGluc3Rl YWQgb2Y8YnI+Cm1hbnVhbCBndWVzc2luZyBmb3IgdGhlIGtlcm5lbC48L2Rpdj48L2Rpdj48L2Rp dj48L2Rpdj48L2Jsb2NrcXVvdGU+NS4gTmljZSwgaSBkaWRuJ3QgY29uc2lkZXIgdGhpcyBwb3Nz aWJpbGl0eS4gVGhlcmVmb3JlIHdlIGRvbid0PGJyPm5lZWQgdG8gcGVyZm9ybSBtYW51YWwgcmFu ZG9tIHBvcnQgc2VhcmNoLjxicj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNv bGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIi PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHls ZV8xNTc2NTQxMDEwMTgyMTAyMTE2MF9CT0RZIj48YnI+PGJyPgomZ3Q7ICstLS08YnI+CiZndDsg Ky4uLjxicj4KJmd0OyAgcG9ydCA9IDMyNzY4ICsgbWF0aC5yYW5kb20oMCwgMzI3NjcpPGJyPgom Z3Q7ICAtLS08YnI+CiZndDsgIC4uLjxicj4KJmd0OyBAQCAtMjIzMSw3ICsyMjM5LDE3IEBAIHRl c3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAnJyIpOzxicj4KJmd0OyAgcmVjZWl2aW5nX3Nv Y2tldCA9IHNvY2tldCgnQUZfSU5FVCcsICdTT0NLX0RHUkFNJywgJ3VkcCcpPGJyPgomZ3Q7ICAt LS08YnI+CiZndDsgIC4uLjxicj4KJmd0OyAtcmVjZWl2aW5nX3NvY2tldDpiaW5kKCcxMjcuMC4w LjEnLCAwKTxicj4KJmd0OyArdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVsaW1pdGVyICc7JyIpPGJy PgomZ3Q7ICstLS08YnI+CiZndDsgKy0gdHJ1ZTxicj4KJmd0OyArLi4uPGJyPgomZ3Q7ICt0ZXN0 X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKTxicj4KJmd0OyArICAgIHJldHVybiByZWNlaXZpbmdf c29ja2V0OmJpbmQoJzEyNy4wLjAuMScsIDMyNzY4ICsgbWF0aC5yYW5kb20oMCwgMzI3NjcpKTxi cj4KJmd0OyArZW5kLCBXQUlUX0NPTkRfVElNRSk7PGJyPjxicj4KNi4gV2h5PyBCaW5kIHdpdGgg MCBwb3J0IGZpbmRzIGEgc3VpdGFibGUgcG9ydC4gWW91IGRvbid0PGJyPgpuZWVkIHRvIGRvIHJh bmRvbSBndWVzc2luZy4gVGhlIHNhbWUgaW4gbWFueSBvdGhlciBwbGFjZXMuPGJyPjxicj4KJmd0 OyArLS0tPGJyPgomZ3Q7ICstIHRydWU8YnI+CiZndDsgKy4uLjxicj4KJmd0OyArdGVzdF9ydW46 Y21kKCJzZXRvcHQgZGVsaW1pdGVyICcnIik7PGJyPgomZ3Q7ICAtLS08YnI+CiZndDsgIC0gdHJ1 ZTxicj4KJmd0OyAgLi4uPGJyPgpCZWxvdyBhcmUgMiBteSBjb21taXRzLiBGaXJzdCB3aXRoIHJl dmlldyBmaXhlcyB0byB0aGUgcGF0Y2guIFNlY29uZDxicj4Kd2l0aCBzdGFiaWxpemF0aW9uIG9m IFVEUCB0ZXN0cyAod2VsbCwgbm90IDEwMCUgc3RhYmlsaXR5LCBidXQgbXVjaDxicj4KYmV0dGVy LiAxMDAlIHdvdWxkIHJlcXVpcmUgdG8gcmV3b3JrIHRoZSB0ZXN0cyB0b28gbXVjaCBsb29zaW5n IHRoZWlyPGJyPgpwdXJwb3NlKS48YnI+PGJyPgpQbGVhc2UsIHJldmlldyB0aGVtLCBzcXVhaHMg aWYgeW91IGFncmVlLCBhbmQgc2VuZCB0byBhIHNlY29uZCByZXZpZXc8YnI+CnRvIHNvbWVvbmUu IEZvciBleGFtcGxlIHRvIEFsZXhhbmRlci4gQnV0IHRha2luZyBpbnRvIGFjY291bnQgdXJnZW5j eTxicj4Kb2YgMi4zLjEgbWF5YmUgd2UgY2FuJ3Qgd2FpdCBzZXZlcmFsIHdlZWtzIG1vcmUsIHNv IGFzayBLaXJpbGwuPGJyPjxicj4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PGJyPjxicj4KY29tbWl0IGZj MTFmZmJkOTEzNTU1NGIyYjkxNzI4NDgzMTg5YWJhYmE4NmMzNmU8YnI+CkF1dGhvcjogVmxhZGlz bGF2IFNocGlsZXZveSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnYuc2hwaWxldm95QHRhcmFudG9vbC5v cmciPnYuc2hwaWxldm95QHRhcmFudG9vbC5vcmc8L2E+Jmd0Ozxicj4KRGF0ZTogICBNb24gRGVj IDE2IDIzOjMzOjIxIDIwMTkgKzAxMDA8YnI+PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtS ZXZpZXcgZml4ZXM8YnI+PGJyPgpkaWZmIC0tZ2l0IGEvdGVzdC9hcHAvc29ja2V0LnJlc3VsdCBi L3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQ8YnI+CmluZGV4IDI1YWQ5MDM0My4uNTYzNTE5MzE1IDEw MDY0NDxicj4KLS0tIGEvdGVzdC9hcHAvc29ja2V0LnJlc3VsdDxicj4KKysrIGIvdGVzdC9hcHAv c29ja2V0LnJlc3VsdDxicj4KQEAgLTI3OCwxNCArMjc4LDE0IEBAIHM6ZXJyb3IoKTxicj4KJm5i c3A7LS0tPGJyPgombmJzcDstIG51bGw8YnI+CiZuYnNwOy4uLjxicj4KLXM6bGlzdGVuKFdBSVRf Q09ORF9USU1FKTxicj4KK3M6bGlzdGVuKDEyOCk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0 cnVlPGJyPgombmJzcDsuLi48YnI+CiZuYnNwO3NldnJlcyA9IHt9PGJyPgombmJzcDstLS08YnI+ CiZuYnNwOy4uLjxicj4KLXR5cGUocmVxdWlyZSgnZmliZXInKS5jcmVhdGUoZnVuY3Rpb24oKSBz OnJlYWRhYmxlKFdBSVRfQ09ORF9USU1FKSBkbyBsb2NhbCBzYyA9IHM6YWNjZXB0KCkgdGFibGUu aW5zZXJ0KHNldnJlcywgc2MpIHNjOnN5c3dyaXRlKCdvaycpIHNjOmNsb3NlKCkgZW5kIGVuZCkp PGJyPgordHlwZShyZXF1aXJlKCdmaWJlcicpLmNyZWF0ZShmdW5jdGlvbigpIHM6cmVhZGFibGUo KSBkbyBsb2NhbCBzYyA9IHM6YWNjZXB0KCkgdGFibGUuaW5zZXJ0KHNldnJlcywgc2MpIHNjOnN5 c3dyaXRlKCdvaycpIHNjOmNsb3NlKCkgZW5kIGVuZCkpPGJyPgombmJzcDstLS08YnI+CiZuYnNw Oy0gdXNlcmRhdGE8YnI+CiZuYnNwOy4uLjxicj4KQEAgLTQ0MCw3ICs0NDAsNyBAQCBzOmJpbmQo JzEyNy4wLjAuMScsIDApPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gdHJ1ZTxicj4KJm5ic3A7 Li4uPGJyPgotczpsaXN0ZW4oV0FJVF9DT05EX1RJTUUpPGJyPgorczpsaXN0ZW4oMTI4KTxicj4K Jm5ic3A7LS0tPGJyPgombmJzcDstIHRydWU8YnI+CiZuYnNwOy4uLjxicj4KQEAgLTQ4NSw3ICs0 ODUsNyBAQCBzYTpyZWFkKDMpPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gb3JsPGJyPgombmJz cDsuLi48YnI+Ci1zYzp3cml0YWJsZShXQUlUX0NPTkRfVElNRSk8YnI+CitzYzp3cml0YWJsZSgp PGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gdHJ1ZTxicj4KJm5ic3A7Li4uPGJyPgpAQCAtNTEz LDcgKzUxMyw3IEBAIHNhOnJlYWQoMSwgLjAxKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDstIG51 bGw8YnI+CiZuYnNwOy4uLjxicj4KLXNjOndyaXRhYmxlKFdBSVRfQ09ORF9USU1FKTxicj4KK3Nj OndyaXRhYmxlKCk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0cnVlPGJyPgombmJzcDsuLi48 YnI+CkBAIC01NDYsNyArNTQ2LDcgQEAgc2M6c2VuZCgnSGVsbG8nKTxicj4KJm5ic3A7LS0tPGJy PgombmJzcDstIDU8YnI+CiZuYnNwOy4uLjxicj4KLXNhOnJlYWRhYmxlKFdBSVRfQ09ORF9USU1F KTxicj4KK3NhOnJlYWRhYmxlKCk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0cnVlPGJyPgom bmJzcDsuLi48YnI+CkBAIC02NDYsNyArNjQ2LDcgQEAgc2Mgfj0gbmlsPGJyPgombmJzcDstLS08 YnI+CiZuYnNwOy0gdHJ1ZTxicj4KJm5ic3A7Li4uPGJyPgotczpsaXN0ZW4oV0FJVF9DT05EX1RJ TUUpPGJyPgorczpsaXN0ZW4oMTIzNCk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0cnVlPGJy PgombmJzcDsuLi48YnI+CkBAIC02NjUsNyArNjY1LDcgQEAgc2M6ZXJyb3IoKTxicj4KJm5ic3A7 LS0tPGJyPgombmJzcDstIG51bGw8YnI+CiZuYnNwOy4uLjxicj4KLXM6cmVhZGFibGUoV0FJVF9D T05EX1RJTUUpPGJyPgorczpyZWFkYWJsZSgpPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gdHJ1 ZTxicj4KJm5ic3A7Li4uPGJyPgpAQCAtNzU0LDcgKzc1NCw3IEBAIHN0cmluZy5tYXRjaCh0b3N0 cmluZyhzYyksICcsIHBlZXInKSA9PSBuaWw8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0cnVl PGJyPgombmJzcDsuLi48YnI+Ci1zYzp3cml0YWJsZShXQUlUX0NPTkRfVElNRSk8YnI+CitzYzp3 cml0YWJsZSgpPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gdHJ1ZTxicj4KJm5ic3A7Li4uPGJy PgpAQCAtOTU3LDcgKzk1Nyw3IEBAIHM6YmluZCgnMTI3LjAuMC4xJywgMCk8YnI+CiZuYnNwO3Bv cnQgPSBzOm5hbWUoKS5wb3J0PGJyPgombmJzcDstLS08YnI+CiZuYnNwOy4uLjxicj4KLXM6bGlz dGVuKFdBSVRfQ09ORF9USU1FKTxicj4KK3M6bGlzdGVuKCk8YnI+CiZuYnNwOy0tLTxicj4KJm5i c3A7LSB0cnVlPGJyPgombmJzcDsuLi48YnI+CkBAIC0xMDA0LDcgKzEwMDQsNyBAQCBzb2NrZXQu dGNwX2Nvbm5lY3QoJ3VuaXgvJywgcGF0aCksIGVycm5vKCkgPT0gZXJybm8uRUNPTk5SRUZVU0VE PGJyPgombmJzcDstIG51bGw8YnI+CiZuYnNwOy0gdHJ1ZTxicj4KJm5ic3A7Li4uPGJyPgotczps aXN0ZW4oV0FJVF9DT05EX1RJTUUpPGJyPgorczpsaXN0ZW4oKTxicj4KJm5ic3A7LS0tPGJyPgom bmJzcDstIHRydWU8YnI+CiZuYnNwOy4uLjxicj4KQEAgLTEwNzAsMzkgKzEwNzAsMjEgQEAgcyA9 IG5pbDxicj4KJm5ic3A7bWFzdGVyID0gc29ja2V0KCdQRl9JTkVUJywgJ1NPQ0tfU1RSRUFNJywg J3RjcCcpPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy4uLjxicj4KLW1hc3RlcjpzZXRzb2Nrb3B0 KCdTT0xfU09DS0VUJywgJ1NPX1JFVVNFQUREUicsIHRydWUpPGJyPgorbWFzdGVyOmJpbmQoJzEy Ny4wLjAuMScsIDApPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gdHJ1ZTxicj4KJm5ic3A7Li4u PGJyPgotbWF0aC5yYW5kb21zZWVkKGZpYmVyLnRpbWUoKSk8YnI+Ci0tLS08YnI+Ci0uLi48YnI+ Ci1wb3J0ID0gMzI3NjggKyBtYXRoLnJhbmRvbSgwLCAzMjc2Nyk8YnI+Citwb3J0ID0gbWFzdGVy Om5hbWUoKS5wb3J0PGJyPgombmJzcDstLS08YnI+CiZuYnNwOy4uLjxicj4KLS0tIFNPX1JFVVNF QUREUiBhbGxvd3MgdG8gYmluZCB0byB0aGUgc2FtZSBzb3VyY2UgYWRkcjpwb3J0IHR3aWNlLDxi cj4KLS0tIHNvIGxpc3RlbigpIGNhbiByZXR1cm4gRUFERFJJTlVTRSBhbmQgc28gd2UgY2hlY2sg aXQgd2l0aGluPGJyPgotLS0gd2FpdF9jb25kKCkuPGJyPgombmJzcDt0ZXN0X3J1bjpjbWQoInNl dG9wdCBkZWxpbWl0ZXIgJzsnIik8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0cnVlPGJyPgom bmJzcDsuLi48YnI+Ci10ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKTxicj4KLSAgICBsb2Nh bCBvayA9IG1hc3RlcjpiaW5kKCcxMjcuMC4wLjEnLCBwb3J0KTxicj4KLSAgICBsb2NhbCBvayA9 IG9rIGFuZCBtYXN0ZXI6bGlzdGVuKFdBSVRfQ09ORF9USU1FKTxicj4KLSAgICBpZiBub3Qgb2sg dGhlbjxicj4KLSAgICAgICAgcG9ydCA9IDMyNzY4ICsgbWF0aC5yYW5kb20oMzI3NjgpPGJyPgot ICAgICAgICByZXR1cm4gZmFsc2UsIG1hc3RlcjplcnJvcigpPGJyPgotICAgIGVuZDxicj4KLSAg ICByZXR1cm4gdHJ1ZTxicj4KLWVuZCwgV0FJVF9DT05EX1RJTUUpOzxicj4KLS0tLTxicj4KLS0g dHJ1ZTxicj4KLS4uLjxicj4KJm5ic3A7ZnVuY3Rpb24gZ2gzNjEoKTxicj4KJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7bG9jYWwgcyA9IHNvY2tldCgnUEZfSU5FVCcsICdTT0NLX1NUUkVB TScsICd0Y3AnKTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7czpzeXNjb25uZWN0 KCcxMjcuMC4wLjEnLCBwb3J0KTxicj4KLSAgICBzOndhaXQoV0FJVF9DT05EX1RJTUUpPGJyPgor ICAgIHM6d2FpdCgpPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXMgPSBzOnJl YWQoMTIwMCk8YnI+CiZuYnNwO2VuZDs8YnI+CiZuYnNwOy0tLTxicj4KQEAgLTExNDksNyArMTEz MSw3IEBAIHM6ZXJyb3IoKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDstIG51bGw8YnI+CiZuYnNw Oy4uLjxicj4KLXM6bGlzdGVuKFdBSVRfQ09ORF9USU1FKTxicj4KK3M6bGlzdGVuKDEyOCk8YnI+ CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0cnVlPGJyPgombmJzcDsuLi48YnI+CkBAIC0xMTU5LDcg KzExNDEsNyBAQCB0ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJzsnIik8YnI+CiZuYnNw Oy4uLjxicj4KJm5ic3A7ZiA9IGZpYmVyLmNyZWF0ZShmdW5jdGlvbigpPGJyPgombmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtmb3IgaT0xLDIgZG88YnI+Ci0gICAgICAgIHM6cmVhZGFibGUo V0FJVF9DT05EX1RJTUUpPGJyPgorICAgICAgICBzOnJlYWRhYmxlKCk8YnI+CiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xvY2FsIHNjID0gczph Y2NlcHQoKTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7c2M6d3JpdGUoJ29rIScpPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzYzpzaHV0ZG93bigpPGJyPgpAQCAtMTUzNSw3ICsx NTE3LDcgQEAgczpiaW5kKCd1bml4LycsIHBhdGgpPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0g dHJ1ZTxicj4KJm5ic3A7Li4uPGJyPgotczpsaXN0ZW4oV0FJVF9DT05EX1RJTUUpPGJyPgorczps aXN0ZW4oKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDstIHRydWU8YnI+CiZuYnNwOy4uLjxicj4K QEAgLTE3NjIsNyArMTc0NCw3IEBAIHM6YmluZCgnMTI3LjAuMC4xJywgMCkgLS0gZXJyb3IgaGFu ZGxpbmc8YnI+CiZuYnNwOy0gbnVsbDxicj4KJm5ic3A7LSBJbnZhbGlkIGFyZ3VtZW50PGJyPgom bmJzcDsuLi48YnI+Ci1zOmxpc3RlbihXQUlUX0NPTkRfVElNRSk8YnI+CitzOmxpc3RlbigxMCk8 YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSAxPGJyPgombmJzcDsuLi48YnI+CkBAIC0yMjM5LDE3 ICsyMjIxLDcgQEAgdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVsaW1pdGVyICcnIik7PGJyPgombmJz cDtyZWNlaXZpbmdfc29ja2V0ID0gc29ja2V0KCdBRl9JTkVUJywgJ1NPQ0tfREdSQU0nLCAndWRw Jyk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7Li4uPGJyPgotdGVzdF9ydW46Y21kKCJzZXRvcHQg ZGVsaW1pdGVyICc7JyIpPGJyPgotLS0tPGJyPgotLSB0cnVlPGJyPgotLi4uPGJyPgotdGVzdF9y dW46d2FpdF9jb25kKGZ1bmN0aW9uKCk8YnI+Ci0gICAgcmV0dXJuIHJlY2VpdmluZ19zb2NrZXQ6 YmluZCgnMTI3LjAuMC4xJywgMzI3NjggKyBtYXRoLnJhbmRvbSgwLCAzMjc2NykpPGJyPgotZW5k LCBXQUlUX0NPTkRfVElNRSk7PGJyPgotLS0tPGJyPgotLSB0cnVlPGJyPgotLi4uPGJyPgotdGVz dF9ydW46Y21kKCJzZXRvcHQgZGVsaW1pdGVyICcnIik7PGJyPgorcmVjZWl2aW5nX3NvY2tldDpi aW5kKCcxMjcuMC4wLjEnLCAwKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDstIHRydWU8YnI+CiZu YnNwOy4uLjxicj4KQEAgLTI2NDMsMjEgKzI2MTUsMTEgQEAgbGlzdGVuaW5nX3NvY2tldDpzZXRz b2Nrb3B0KCdTT0xfU09DS0VUJywgJ1NPX1JFVVNFQUREUicsIHRydWUpPGJyPgombmJzcDstLS08 YnI+CiZuYnNwOy0gdHJ1ZTxicj4KJm5ic3A7Li4uPGJyPgotdGVzdF9ydW46Y21kKCJzZXRvcHQg ZGVsaW1pdGVyICc7JyIpPGJyPgotLS0tPGJyPgotLSB0cnVlPGJyPgotLi4uPGJyPgotdGVzdF9y dW46d2FpdF9jb25kKGZ1bmN0aW9uKCk8YnI+Ci0gICAgcmV0dXJuIGxpc3RlbmluZ19zb2NrZXQ6 YmluZCgnMTI3LjAuMC4xJywgMzI3NjggKyBtYXRoLnJhbmRvbSgwLCAzMjc2NykpPGJyPgotZW5k LCBXQUlUX0NPTkRfVElNRSk7PGJyPgotLS0tPGJyPgotLSB0cnVlPGJyPgotLi4uPGJyPgotdGVz dF9ydW46Y21kKCJzZXRvcHQgZGVsaW1pdGVyICcnIik7PGJyPgorbGlzdGVuaW5nX3NvY2tldDpi aW5kKCcxMjcuMC4wLjEnLCAwKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDstIHRydWU8YnI+CiZu YnNwOy4uLjxicj4KLWxpc3RlbmluZ19zb2NrZXQ6bGlzdGVuKFdBSVRfQ09ORF9USU1FKTxicj4K K2xpc3RlbmluZ19zb2NrZXQ6bGlzdGVuKCk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0cnVl PGJyPgombmJzcDsuLi48YnI+CkBAIC0yNjcxLDE4ICsyNjMzLDEyIEBAIHNlbmRpbmdfc29ja2V0 OnN5c2Nvbm5lY3QoJzEyNy4wLjAuMScsIGxpc3RlbmluZ19zb2NrZXRfcG9ydCkgb3IgZXJybm8o KSA9PSBlcnJuPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gdHJ1ZTxicj4KJm5ic3A7Li4uPGJy PgotdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVsaW1pdGVyICc7JyIpPGJyPgorbGlzdGVuaW5nX3Nv Y2tldDpyZWFkYWJsZShXQUlUX0NPTkRfVElNRSk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0 cnVlPGJyPgombmJzcDsuLi48YnI+Ci1yZWNlaXZpbmdfc29ja2V0ID0gdGVzdF9ydW46d2FpdF9j b25kKGZ1bmN0aW9uKCk8YnI+Ci0gICAgcmV0dXJuIGxpc3RlbmluZ19zb2NrZXQ6YWNjZXB0KCk8 YnI+Ci1lbmQsIFdBSVRfQ09ORF9USU1FKTs8YnI+Ci0tLS08YnI+Ci0uLi48YnI+Ci10ZXN0X3J1 bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJyciKTs8YnI+CityZWNlaXZpbmdfc29ja2V0ID0gbGlz dGVuaW5nX3NvY2tldDphY2NlcHQoKTxicj4KJm5ic3A7LS0tPGJyPgotLSB0cnVlPGJyPgombmJz cDsuLi48YnI+CiZuYnNwO3NlbmRpbmdfc29ja2V0OndyaXRlKG1lc3NhZ2UpPGJyPgombmJzcDst LS08YnI+CkBAIC0yODY0LDQ2ICsyODIwLDQxIEBAIGNvdW50ZXIgPSAwPGJyPgombmJzcDtmbiA9 IGZ1bmN0aW9uKHMpIGNvdW50ZXIgPSAwOyB3aGlsZSB0cnVlIGRvIHM6d3JpdGUoKHRvc3RyaW5n KGNvdW50ZXIpKTpyZXAoY2hhbjpnZXQoKSkpOyBjb3VudGVyID0gY291bnRlciArIDEgZW5kIGVu ZDxicj4KJm5ic3A7LS0tPGJyPgombmJzcDsuLi48YnI+Ci1zcnYgPSBuaWw8YnI+CitzcnYgPSBz b2NrZXQudGNwX3NlcnZlcignMC4wLjAuMCcsIDAsIGZuKTxicj4KJm5ic3A7LS0tPGJyPgombmJz cDsuLi48YnI+Ci10ZXN0X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJzsnIik8YnI+CitzID0g c29ja2V0LmNvbm5lY3QoJ2xvY2FsaG9zdCcsIHNydjpuYW1lKCkucG9ydCk8YnI+CiZuYnNwOy0t LTxicj4KLS0gdHJ1ZTxicj4KJm5ic3A7Li4uPGJyPgotdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0 aW9uKCk8YnI+Ci0gICAgcG9ydCA9IDMyNzY4ICsgbWF0aC5yYW5kb20oMCwgMzI3NjcpPGJyPgot ICAgIHNydiA9IHNvY2tldC50Y3Bfc2VydmVyKCcwLjAuMC4wJywgcG9ydCwgZm4pPGJyPgotICAg IHJldHVybiBzcnYgfj0gbmlsPGJyPgotZW5kLCBXQUlUX0NPTkRfVElNRSk7PGJyPgorY2hhbjpw dXQoNSk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0cnVlPGJyPgombmJzcDsuLi48YnI+Ci1y ZWNlaXZlMSA9IG5pbDsgcmVjZWl2ZTIgPSBuaWw7PGJyPgorY2hhbjpwdXQoNSk8YnI+CiZuYnNw Oy0tLTxicj4KKy0gdHJ1ZTxicj4KJm5ic3A7Li4uPGJyPgotaWYgc3J2IH49IG5pbCB0aGVuPGJy PgotICAgIHMgPSBzb2NrZXQuY29ubmVjdCgnbG9jYWxob3N0JywgcG9ydCk8YnI+Ci0gICAgY2hh bjpwdXQoNSk8YnI+Ci0gICAgY2hhbjpwdXQoNSk8YnI+Ci0gICAgcmVjZWl2ZTEgPSBzOnJlY2Vp dmUoNSk8YnI+Ci0gICAgY2hhbjpwdXQoNSk8YnI+Ci0gICAgczpzZXR0aW1lb3V0KDEpPGJyPgot ICAgIHJlY2VpdmUyID0gczpyZWNlaXZlKCcqYScpPGJyPgotICAgIHM6Y2xvc2UoKTxicj4KLSAg ICBzcnY6Y2xvc2UoKTxicj4KLWVuZDs8YnI+CitzOnJlY2VpdmUoNSk8YnI+CiZuYnNwOy0tLTxi cj4KKy0gJzAwMDAwJzxicj4KJm5ic3A7Li4uPGJyPgotdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVs aW1pdGVyICcnIik7PGJyPgorY2hhbjpwdXQoNSk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSB0 cnVlPGJyPgombmJzcDsuLi48YnI+Ci1yZWNlaXZlMTxicj4KK3M6c2V0dGltZW91dCgxKTxicj4K Jm5ic3A7LS0tPGJyPgotLSAnMDAwMDAnPGJyPgorLSAxPGJyPgombmJzcDsuLi48YnI+Ci1yZWNl aXZlMjxicj4KK3M6cmVjZWl2ZSgnKmEnKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDstICcxMTEx MTIyMjIyJzxicj4KJm5ic3A7Li4uPGJyPgorczpjbG9zZSgpPGJyPgorLS0tPGJyPgorLSAxPGJy PgorLi4uPGJyPgorc3J2OmNsb3NlKCk8YnI+CistLS08YnI+CistIHRydWU8YnI+CisuLi48YnI+ CmRpZmYgLS1naXQgYS90ZXN0L2FwcC9zb2NrZXQudGVzdC5sdWEgYi90ZXN0L2FwcC9zb2NrZXQu dGVzdC5sdWE8YnI+CmluZGV4IDk3ZGFjNzk0ZS4uOWJhNmIyODkzIDEwMDY0NDxicj4KLS0tIGEv dGVzdC9hcHAvc29ja2V0LnRlc3QubHVhPGJyPgorKysgYi90ZXN0L2FwcC9zb2NrZXQudGVzdC5s dWE8YnI+CkBAIC05MSw5ICs5MSw5IEBAIHM6c2V0c29ja29wdCgnU09MX1NPQ0tFVCcsICdTT19S RVVTRUFERFInLCB0cnVlKTxicj4KJm5ic3A7czplcnJvcigpPGJyPgombmJzcDtzOmJpbmQoJzEy Ny4wLjAuMScsIDApPGJyPgombmJzcDtzOmVycm9yKCk8YnI+Ci1zOmxpc3RlbihXQUlUX0NPTkRf VElNRSk8YnI+CitzOmxpc3RlbigxMjgpPGJyPgombmJzcDtzZXZyZXMgPSB7fTxicj4KLXR5cGUo cmVxdWlyZSgnZmliZXInKS5jcmVhdGUoZnVuY3Rpb24oKSBzOnJlYWRhYmxlKFdBSVRfQ09ORF9U SU1FKSBkbyBsb2NhbCBzYyA9IHM6YWNjZXB0KCkgdGFibGUuaW5zZXJ0KHNldnJlcywgc2MpIHNj OnN5c3dyaXRlKCdvaycpIHNjOmNsb3NlKCkgZW5kIGVuZCkpPGJyPgordHlwZShyZXF1aXJlKCdm aWJlcicpLmNyZWF0ZShmdW5jdGlvbigpIHM6cmVhZGFibGUoKSBkbyBsb2NhbCBzYyA9IHM6YWNj ZXB0KCkgdGFibGUuaW5zZXJ0KHNldnJlcywgc2MpIHNjOnN5c3dyaXRlKCdvaycpIHNjOmNsb3Nl KCkgZW5kIGVuZCkpPGJyPgombmJzcDsjc2V2cmVzPGJyPjxicj4KJm5ic3A7c2MgPSBzb2NrZXQo J1BGX0lORVQnLCAnU09DS19TVFJFQU0nLCAndGNwJyk8YnI+CkBAIC0xMzUsNyArMTM1LDcgQEAg czpjbG9zZSgpPGJyPgombmJzcDtzID0gc29ja2V0KCdQRl9JTkVUJywgJ1NPQ0tfU1RSRUFNJywg J3RjcCcpPGJyPgombmJzcDtzOnNldHNvY2tvcHQoJ1NPTF9TT0NLRVQnLCAnU09fUkVVU0VBRERS JywgdHJ1ZSk8YnI+CiZuYnNwO3M6YmluZCgnMTI3LjAuMC4xJywgMCk8YnI+Ci1zOmxpc3RlbihX QUlUX0NPTkRfVElNRSk8YnI+CitzOmxpc3RlbigxMjgpPGJyPjxicj4KJm5ic3A7c2MgPSBzb2Nr ZXQoJ1BGX0lORVQnLCAnU09DS19TVFJFQU0nLCAndGNwJyk8YnI+PGJyPgpAQCAtMTUwLDE0ICsx NTAsMTQgQEAgYWRkcjIuZmFtaWx5ID09IGFkZHIuZmFtaWx5PGJyPgombmJzcDtzYTpub25ibG9j aygxKTxicj4KJm5ic3A7c2E6cmVhZCg4KTxicj4KJm5ic3A7c2E6cmVhZCgzKTxicj4KLXNjOndy aXRhYmxlKFdBSVRfQ09ORF9USU1FKTxicj4KK3NjOndyaXRhYmxlKCk8YnI+CiZuYnNwO3NjOndy aXRlKCcsIGFnYWluJyk8YnI+CiZuYnNwO3NhOnJlYWQoOCk8YnI+CiZuYnNwO3NhOmVycm9yKCk8 YnI+CiZuYnNwO3N0cmluZy5sZW4oc2E6cmVhZCgwKSk8YnI+CiZuYnNwO3R5cGUoc2E6cmVhZCgw KSk8YnI+CiZuYnNwO3NhOnJlYWQoMSwgLjAxKTxicj4KLXNjOndyaXRhYmxlKFdBSVRfQ09ORF9U SU1FKTxicj4KK3NjOndyaXRhYmxlKCk8YnI+PGJyPgombmJzcDstLSBnaC0zOTc5IENoZWNrIGZv ciBlcnJvcnMgd2hlbiBhcmd1bWVudCBpcyBuZWdhdGl2ZS48YnI+PGJyPgpAQCAtMTcwLDcgKzE3 MCw3IEBAIHNjOnNlbmQoJ2FiYycpPGJyPgombmJzcDtzYTpyZWFkKDMpPGJyPjxicj4KJm5ic3A7 c2M6c2VuZCgnSGVsbG8nKTxicj4KLXNhOnJlYWRhYmxlKFdBSVRfQ09ORF9USU1FKTxicj4KK3Nh OnJlYWRhYmxlKCk8YnI+CiZuYnNwO3NhOnJlY3YoKTxicj4KJm5ic3A7c2E6cmVjdigpPGJyPjxi cj4KQEAgLTE5OCwxNCArMTk4LDE0IEBAIHBhdGggPSAndGFyYW50b29sLXRlc3Qtc29ja2V0Jzxi cj4KJm5ic3A7b3MucmVtb3ZlKHBhdGgpPGJyPgombmJzcDtzOmJpbmQoJ3VuaXgvJywgcGF0aCk8 YnI+CiZuYnNwO3NjIH49IG5pbDxicj4KLXM6bGlzdGVuKFdBSVRfQ09ORF9USU1FKTxicj4KK3M6 bGlzdGVuKDEyMzQpPGJyPjxicj4KJm5ic3A7c2MgPSBzb2NrZXQoJ1BGX1VOSVgnLCAnU09DS19T VFJFQU0nLCAwKTxicj4KJm5ic3A7c2M6bm9uYmxvY2sodHJ1ZSk8YnI+CiZuYnNwO3NjOnN5c2Nv bm5lY3QoJ3VuaXgvJywgcGF0aCk8YnI+CiZuYnNwO3NjOmVycm9yKCk8YnI+PGJyPgotczpyZWFk YWJsZShXQUlUX0NPTkRfVElNRSk8YnI+CitzOnJlYWRhYmxlKCk8YnI+CiZuYnNwO3NhID0gczph Y2NlcHQoKTxicj4KJm5ic3A7c2E6bm9uYmxvY2sodHJ1ZSk8YnI+CiZuYnNwO3NhOnNlbmQoJ0hl bGxvLCB3b3JsZCcpPGJyPgpAQCAtMjQzLDcgKzI0Myw3IEBAIHNjOmdldHNvY2tvcHQoJ1NPTF9T T0NLRVQnLCAnU09fRVJST1InKTxicj4KJm5ic3A7c2M6bm9uYmxvY2sodHJ1ZSk8YnI+CiZuYnNw O3NjOnN5c2Nvbm5lY3QoJzEyNy4wLjAuMScsIDM0NTgpIG9yIGVycm5vKCkgPT0gZXJybm8uRUlO UFJPR1JFU1Mgb3IgZXJybm8oKSA9PSBlcnJuby5FQ09OTlJFRlVTRUQ8YnI+CiZuYnNwO3N0cmlu Zy5tYXRjaCh0b3N0cmluZyhzYyksICcsIHBlZXInKSA9PSBuaWw8YnI+Ci1zYzp3cml0YWJsZShX QUlUX0NPTkRfVElNRSk8YnI+CitzYzp3cml0YWJsZSgpPGJyPgombmJzcDtzdHJpbmcubWF0Y2go dG9zdHJpbmcoc2MpLCAnLCBwZWVyJykgPT0gbmlsPGJyPgombmJzcDtzb2NrZXRfZXJyb3IgPSBz YzpnZXRzb2Nrb3B0KCdTT0xfU09DS0VUJywgJ1NPX0VSUk9SJyk8YnI+CiZuYnNwO3NvY2tldF9l cnJvciA9PSBlcnJuby5FQ09OTlJFRlVTRUQgb3Igc29ja2V0X2Vycm9yID09IDA8YnI+CkBAIC0z MDcsNyArMzA3LDcgQEAgc29ja2V0LnRjcF9jb25uZWN0KCcxMjcuMC4wLjEnLCA4MCwgMC4wMDAw MDAwMDAwMSk8YnI+CiZuYnNwO3MgPSBzb2NrZXQoJ0FGX0lORVQnLCAnU09DS19TVFJFQU0nLCAn dGNwJyk8YnI+CiZuYnNwO3M6YmluZCgnMTI3LjAuMC4xJywgMCk8YnI+CiZuYnNwO3BvcnQgPSBz Om5hbWUoKS5wb3J0PGJyPgotczpsaXN0ZW4oV0FJVF9DT05EX1RJTUUpPGJyPgorczpsaXN0ZW4o KTxicj4KJm5ic3A7c2MsIGUgPSBzb2NrZXQudGNwX2Nvbm5lY3QoJzEyNy4wLjAuMScsIHBvcnQp LCBlcnJubygpPGJyPgombmJzcDtzYyB+PSBuaWw8YnI+CiZuYnNwO2UgPT0gMDxicj4KQEAgLTMy MSw3ICszMjEsNyBAQCBfID0gb3MucmVtb3ZlKHBhdGgpPGJyPgombmJzcDtzID0gc29ja2V0KCdB Rl9VTklYJywgJ1NPQ0tfU1RSRUFNJywgMCk8YnI+CiZuYnNwO3M6YmluZCgndW5peC8nLCBwYXRo KTxicj4KJm5ic3A7c29ja2V0LnRjcF9jb25uZWN0KCd1bml4LycsIHBhdGgpLCBlcnJubygpID09 IGVycm5vLkVDT05OUkVGVVNFRDxicj4KLXM6bGlzdGVuKFdBSVRfQ09ORF9USU1FKTxicj4KK3M6 bGlzdGVuKCk8YnI+CiZuYnNwO3NjLCBlID0gc29ja2V0LnRjcF9jb25uZWN0KCd1bml4LycsIHBh dGgpLCBlcnJubygpPGJyPgombmJzcDtzYyB+PSBuaWw8YnI+CiZuYnNwO2U8YnI+CkBAIC0zNDIs MjYgKzM0MiwxMyBAQCBzID0gbmlsPGJyPjxicj4KJm5ic3A7LS0gcmFuZG9tIHBvcnQ8YnI+CiZu YnNwO21hc3RlciA9IHNvY2tldCgnUEZfSU5FVCcsICdTT0NLX1NUUkVBTScsICd0Y3AnKTxicj4K LW1hc3RlcjpzZXRzb2Nrb3B0KCdTT0xfU09DS0VUJywgJ1NPX1JFVVNFQUREUicsIHRydWUpPGJy PgotbWF0aC5yYW5kb21zZWVkKGZpYmVyLnRpbWUoKSk8YnI+Ci1wb3J0ID0gMzI3NjggKyBtYXRo LnJhbmRvbSgwLCAzMjc2Nyk8YnI+Ci0tLSBTT19SRVVTRUFERFIgYWxsb3dzIHRvIGJpbmQgdG8g dGhlIHNhbWUgc291cmNlIGFkZHI6cG9ydCB0d2ljZSw8YnI+Ci0tLSBzbyBsaXN0ZW4oKSBjYW4g cmV0dXJuIEVBRERSSU5VU0UgYW5kIHNvIHdlIGNoZWNrIGl0IHdpdGhpbjxicj4KLS0tIHdhaXRf Y29uZCgpLjxicj4KK21hc3RlcjpiaW5kKCcxMjcuMC4wLjEnLCAwKTxicj4KK3BvcnQgPSBtYXN0 ZXI6bmFtZSgpLnBvcnQ8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+MS4gV2Ug bmVlZCB0byBzdGFydCBsaXN0ZW5pbmcgaGVyZS48YnI+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRl ci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4 OyI+PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+ PGRpdiBpZD0ic3R5bGVfMTU3NjU0MTAxMDE4MjEwMjExNjBfQk9EWSI+PGJyPgombmJzcDt0ZXN0 X3J1bjpjbWQoInNldG9wdCBkZWxpbWl0ZXIgJzsnIik8YnI+Ci10ZXN0X3J1bjp3YWl0X2NvbmQo ZnVuY3Rpb24oKTxicj4KLSAgICBsb2NhbCBvayA9IG1hc3RlcjpiaW5kKCcxMjcuMC4wLjEnLCBw b3J0KTxicj4KLSAgICBsb2NhbCBvayA9IG9rIGFuZCBtYXN0ZXI6bGlzdGVuKFdBSVRfQ09ORF9U SU1FKTxicj4KLSAgICBpZiBub3Qgb2sgdGhlbjxicj4KLSAgICAgICAgcG9ydCA9IDMyNzY4ICsg bWF0aC5yYW5kb20oMzI3NjgpPGJyPgotICAgICAgICByZXR1cm4gZmFsc2UsIG1hc3RlcjplcnJv cigpPGJyPgotICAgIGVuZDxicj4KLSAgICByZXR1cm4gdHJ1ZTxicj4KLWVuZCwgV0FJVF9DT05E X1RJTUUpOzxicj4KJm5ic3A7ZnVuY3Rpb24gZ2gzNjEoKTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7bG9jYWwgcyA9IHNvY2tldCgnUEZfSU5FVCcsICdTT0NLX1NUUkVBTScsICd0 Y3AnKTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7czpzeXNjb25uZWN0KCcxMjcu MC4wLjEnLCBwb3J0KTxicj4KLSAgICBzOndhaXQoV0FJVF9DT05EX1RJTUUpPGJyPgorICAgIHM6 d2FpdCgpPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXMgPSBzOnJlYWQoMTIw MCk8YnI+CiZuYnNwO2VuZDs8YnI+CiZuYnNwO3Rlc3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRl ciAnJyIpOzxicj4KQEAgLTM3OCwxMSArMzY1LDExIEBAIHM6c2V0c29ja29wdCgnU09MX1NPQ0tF VCcsICdTT19SRVVTRUFERFInLCB0cnVlKTxicj4KJm5ic3A7czplcnJvcigpPGJyPgombmJzcDtz OmJpbmQoJ3VuaXgvJywgcGF0aCk8YnI+CiZuYnNwO3M6ZXJyb3IoKTxicj4KLXM6bGlzdGVuKFdB SVRfQ09ORF9USU1FKTxicj4KK3M6bGlzdGVuKDEyOCk8YnI+CiZuYnNwO3Rlc3RfcnVuOmNtZCgi c2V0b3B0IGRlbGltaXRlciAnOyciKTxicj4KJm5ic3A7ZiA9IGZpYmVyLmNyZWF0ZShmdW5jdGlv bigpPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmb3IgaT0xLDIgZG88YnI+Ci0g ICAgICAgIHM6cmVhZGFibGUoV0FJVF9DT05EX1RJTUUpPGJyPgorICAgICAgICBzOnJlYWRhYmxl KCk8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2xvY2FsIHNjID0gczphY2NlcHQoKTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c2M6d3JpdGUoJ29rIScpPGJyPgombmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzYzpzaHV0ZG93bigp PGJyPgpAQCAtNTA3LDcgKzQ5NCw3IEBAIF8gPSBvcy5yZW1vdmUocGF0aCk8YnI+CiZuYnNwOy0t IFRlc3QgdGhhdCBzb2NrZXQgaXMgY2xvc2VkIG9uIEdDPGJyPgombmJzcDtzID0gc29ja2V0KCdB Rl9VTklYJywgJ1NPQ0tfU1RSRUFNJywgMCk8YnI+CiZuYnNwO3M6YmluZCgndW5peC8nLCBwYXRo KTxicj4KLXM6bGlzdGVuKFdBSVRfQ09ORF9USU1FKTxicj4KK3M6bGlzdGVuKCk8YnI+CiZuYnNw O3MgPSBuaWw8YnI+CiZuYnNwO3doaWxlIHNvY2tldC50Y3BfY29ubmVjdCgndW5peC8nLCBwYXRo KSBkbyBjb2xsZWN0Z2FyYmFnZSgnY29sbGVjdCcpIGVuZDxicj4KJm5ic3A7XyA9IG9zLnJlbW92 ZShwYXRoKTxicj4KQEAgLTYwMyw3ICs1OTAsNyBAQCBzOnNldG9wdGlvbigndGNwLW5vZGVsYXkn LCB0cnVlKTxicj4KJm5ic3A7czpzZXRvcHRpb24oJ3Vua25vd24nLCB0cnVlKTxicj4KJm5ic3A7 czpiaW5kKCcxMjcuMC4wLjEnLCAwKTxicj4KJm5ic3A7czpiaW5kKCcxMjcuMC4wLjEnLCAwKSAt LSBlcnJvciBoYW5kbGluZzxicj4KLXM6bGlzdGVuKFdBSVRfQ09ORF9USU1FKTxicj4KK3M6bGlz dGVuKDEwKTxicj4KJm5ic3A7cyAtLSB0cmFuc2Zvcm1lZCB0byB0Y3B7c2VydmVyfSBzb2NrZXQ8 YnI+CiZuYnNwO2hvc3QsIHBvcnQsIGZhbWlseSA9IHM6Z2V0c29ja25hbWUoKTxicj4KJm5ic3A7 aG9zdCA9PSAnMTI3LjAuMC4xJywgdHlwZShwb3J0KSA9PSAnc3RyaW5nJywgZmFtaWx5ID09ICdp bmV0Jzxicj4KQEAgLTc2MywxMSArNzUwLDcgQEAgZW5kOzxicj4KJm5ic3A7dGVzdF9ydW46Y21k KCJzZXRvcHQgZGVsaW1pdGVyICcnIik7PGJyPjxicj4KJm5ic3A7cmVjZWl2aW5nX3NvY2tldCA9 IHNvY2tldCgnQUZfSU5FVCcsICdTT0NLX0RHUkFNJywgJ3VkcCcpPGJyPgotdGVzdF9ydW46Y21k KCJzZXRvcHQgZGVsaW1pdGVyICc7JyIpPGJyPgotdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9u KCk8YnI+Ci0gICAgcmV0dXJuIHJlY2VpdmluZ19zb2NrZXQ6YmluZCgnMTI3LjAuMC4xJywgMzI3 NjggKyBtYXRoLnJhbmRvbSgwLCAzMjc2NykpPGJyPgotZW5kLCBXQUlUX0NPTkRfVElNRSk7PGJy PgotdGVzdF9ydW46Y21kKCJzZXRvcHQgZGVsaW1pdGVyICcnIik7PGJyPgorcmVjZWl2aW5nX3Nv Y2tldDpiaW5kKCcxMjcuMC4wLjEnLCAwKTxicj4KJm5ic3A7cmVjZWl2aW5nX3NvY2tldF9wb3J0 ID0gcmVjZWl2aW5nX3NvY2tldDpuYW1lKCkucG9ydDxicj4KJm5ic3A7c2VuZGluZ19zb2NrZXQg PSBzb2NrZXQoJ0FGX0lORVQnLCAnU09DS19ER1JBTScsICd1ZHAnKTxicj48YnI+CkBAIC05MDIs MjAgKzg4NSwxMyBAQCBtZXNzYWdlID0gc3RyaW5nLnJlcCgneCcsIG1lc3NhZ2VfbGVuKTxicj48 YnI+CiZuYnNwO2xpc3RlbmluZ19zb2NrZXQgPSBzb2NrZXQoJ0FGX0lORVQnLCAnU09DS19TVFJF QU0nLCAndGNwJyk8YnI+CiZuYnNwO2xpc3RlbmluZ19zb2NrZXQ6c2V0c29ja29wdCgnU09MX1NP Q0tFVCcsICdTT19SRVVTRUFERFInLCB0cnVlKTxicj4KLXRlc3RfcnVuOmNtZCgic2V0b3B0IGRl bGltaXRlciAnOyciKTxicj4KLXRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpPGJyPgotICAg IHJldHVybiBsaXN0ZW5pbmdfc29ja2V0OmJpbmQoJzEyNy4wLjAuMScsIDMyNzY4ICsgbWF0aC5y YW5kb20oMCwgMzI3NjcpKTxicj4KLWVuZCwgV0FJVF9DT05EX1RJTUUpOzxicj4KLXRlc3RfcnVu OmNtZCgic2V0b3B0IGRlbGltaXRlciAnJyIpOzxicj4KLWxpc3RlbmluZ19zb2NrZXQ6bGlzdGVu KFdBSVRfQ09ORF9USU1FKTxicj4KK2xpc3RlbmluZ19zb2NrZXQ6YmluZCgnMTI3LjAuMC4xJywg MCk8YnI+CitsaXN0ZW5pbmdfc29ja2V0Omxpc3RlbigpPGJyPgombmJzcDtsaXN0ZW5pbmdfc29j a2V0X3BvcnQgPSBsaXN0ZW5pbmdfc29ja2V0Om5hbWUoKS5wb3J0PGJyPgombmJzcDtzZW5kaW5n X3NvY2tldCA9IHNvY2tldCgnQUZfSU5FVCcsICdTT0NLX1NUUkVBTScsICd0Y3AnKTxicj4KJm5i c3A7c2VuZGluZ19zb2NrZXQ6c3lzY29ubmVjdCgnMTI3LjAuMC4xJywgbGlzdGVuaW5nX3NvY2tl dF9wb3J0KSBvciBlcnJubygpID09IGVycm5vLkVJTlBST0dSRVNTPGJyPgotdGVzdF9ydW46Y21k KCJzZXRvcHQgZGVsaW1pdGVyICc7JyIpPGJyPgotcmVjZWl2aW5nX3NvY2tldCA9IHRlc3RfcnVu OndhaXRfY29uZChmdW5jdGlvbigpPGJyPgotICAgIHJldHVybiBsaXN0ZW5pbmdfc29ja2V0OmFj Y2VwdCgpPGJyPgotZW5kLCBXQUlUX0NPTkRfVElNRSk7PGJyPgotdGVzdF9ydW46Y21kKCJzZXRv cHQgZGVsaW1pdGVyICcnIik7PGJyPgorbGlzdGVuaW5nX3NvY2tldDpyZWFkYWJsZShXQUlUX0NP TkRfVElNRSk8YnI+CityZWNlaXZpbmdfc29ja2V0ID0gbGlzdGVuaW5nX3NvY2tldDphY2NlcHQo KTxicj4KJm5ic3A7c2VuZGluZ19zb2NrZXQ6d3JpdGUobWVzc2FnZSk8YnI+PGJyPgombmJzcDst LSBjYXNlOiByZWN2ZnJvbSByZWFkcyBmaXJzdCA1MTIgYnl0ZXMgZnJvbSB0aGUgbWVzc2FnZSB3 aXRoIHRjcDxicj4KQEAgLTk4MywyNiArOTU5LDE0IEBAIHRlc3RfcnVuOmNtZCgiY2xlYXIgZmls dGVyIik8YnI+CiZuYnNwO2NoYW4gPSBmaWJlci5jaGFubmVsKCk8YnI+CiZuYnNwO2NvdW50ZXIg PSAwPGJyPgombmJzcDtmbiA9IGZ1bmN0aW9uKHMpIGNvdW50ZXIgPSAwOyB3aGlsZSB0cnVlIGRv IHM6d3JpdGUoKHRvc3RyaW5nKGNvdW50ZXIpKTpyZXAoY2hhbjpnZXQoKSkpOyBjb3VudGVyID0g Y291bnRlciArIDEgZW5kIGVuZDxicj4KLXNydiA9IG5pbDxicj4KLXRlc3RfcnVuOmNtZCgic2V0 b3B0IGRlbGltaXRlciAnOyciKTxicj4KLXRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpPGJy PgotICAgIHBvcnQgPSAzMjc2OCArIG1hdGgucmFuZG9tKDAsIDMyNzY3KTxicj4KLSAgICBzcnYg PSBzb2NrZXQudGNwX3NlcnZlcignMC4wLjAuMCcsIHBvcnQsIGZuKTxicj4KLSAgICByZXR1cm4g c3J2IH49IG5pbDxicj4KLWVuZCwgV0FJVF9DT05EX1RJTUUpOzxicj4KLXJlY2VpdmUxID0gbmls OyByZWNlaXZlMiA9IG5pbDs8YnI+Ci1pZiBzcnYgfj0gbmlsIHRoZW48YnI+Ci0gICAgcyA9IHNv Y2tldC5jb25uZWN0KCdsb2NhbGhvc3QnLCBwb3J0KTxicj4KLSAgICBjaGFuOnB1dCg1KTxicj4K LSAgICBjaGFuOnB1dCg1KTxicj4KLSAgICByZWNlaXZlMSA9IHM6cmVjZWl2ZSg1KTxicj4KLSAg ICBjaGFuOnB1dCg1KTxicj4KLSAgICBzOnNldHRpbWVvdXQoMSk8YnI+Ci0gICAgcmVjZWl2ZTIg PSBzOnJlY2VpdmUoJyphJyk8YnI+Ci0gICAgczpjbG9zZSgpPGJyPgotICAgIHNydjpjbG9zZSgp PGJyPgotZW5kOzxicj4KLXRlc3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAnJyIpOzxicj4K LXJlY2VpdmUxPGJyPgotcmVjZWl2ZTI8YnI+CitzcnYgPSBzb2NrZXQudGNwX3NlcnZlcignMC4w LjAuMCcsIDAsIGZuKTxicj4KK3MgPSBzb2NrZXQuY29ubmVjdCgnbG9jYWxob3N0Jywgc3J2Om5h bWUoKS5wb3J0KTxicj4KK2NoYW46cHV0KDUpPGJyPgorY2hhbjpwdXQoNSk8YnI+CitzOnJlY2Vp dmUoNSk8YnI+CitjaGFuOnB1dCg1KTxicj4KK3M6c2V0dGltZW91dCgxKTxicj4KK3M6cmVjZWl2 ZSgnKmEnKTxicj4KK3M6Y2xvc2UoKTxicj4KK3NydjpjbG9zZSgpPC9kaXY+PC9kaXY+PC9kaXY+ PC9kaXY+PC9ibG9ja3F1b3RlPjxwPjIuIEl0IHN0aWxsIHNlZW1zIHRvIG1lIHRoYXQgd2UgZG9u J3Qgd2FudCB0byBoYW5nIG9uIGNoYW46cHV0KCkgZXZlbjxicj5pbiBjYXNlIHNlcnZlciBmYWls cyB0byBzdGFydCwgYXMgZmFyIGFzIGl0IG1ha2VzIG91dHB1dCBsZXNzIGNsZWFyLjxicj5Ib3dl dmVyLCBhbHRlcm5hdGl2ZSBjb25zdHJ1Y3Rpb24gYWxzbyBzZWVtcyB0byBiZSBxdWl0ZSBjb25m dXNpbmcuPGJyPkNvbnNpZGVyaW5nIHRoYXQgaXQgc2hvdWxkbid0IGFsc28gZmFpbCBhbnkgbW9y ZSwgaSBzZWUgd2h5IGl0IGlzPGJyPmJldHRlciB0byBsZWF2ZSB1bndyYXBwZWQgY29uc3RydWN0 aW9uLjwvcD48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7 IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9 ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNTc2NTQxMDEw MTgyMTAyMTE2MF9CT0RZIj48YnI+PGJyPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08YnI+PGJyPgpjb21t aXQgNWE1Y2QwMWEwYzY2NWYyNDM4ZTA1ZmViNDZkZGU5NjQ4MjhmNmMwMTxicj4KQXV0aG9yOiBW bGFkaXNsYXYgU2hwaWxldm95ICZsdDs8YSBocmVmPSJtYWlsdG86di5zaHBpbGV2b3lAdGFyYW50 b29sLm9yZyI+di5zaHBpbGV2b3lAdGFyYW50b29sLm9yZzwvYT4mZ3Q7PGJyPgpEYXRlOiAgIFR1 ZSBEZWMgMTcgMDA6MjA6MDEgMjAxOSArMDEwMDxicj48YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO01ha2UgVURQIG1vcmUgdGFibGUgb24gTWFjPGJyPjxicj4KZGlmZiAtLWdpdCBhL3Rlc3Qv YXBwL3NvY2tldC5yZXN1bHQgYi90ZXN0L2FwcC9zb2NrZXQucmVzdWx0PGJyPgppbmRleCA1NjM1 MTkzMTUuLmNiMzg5N2VlMSAxMDA2NDQ8YnI+Ci0tLSBhL3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQ8 YnI+CisrKyBiL3Rlc3QvYXBwL3NvY2tldC5yZXN1bHQ8YnI+CkBAIC0yMjgyLDcgKzIyODIsOSBA QCBzZW5kdG9femVybyhzZW5kaW5nX3NvY2tldCwgJzEyNy4wLjAuMScsIHJlY2VpdmluZ19zb2Nr ZXRfcG9ydCk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSAwPGJyPgombmJzcDsuLi48YnI+Ci1y ZWNlaXZlZF9tZXNzYWdlID0gcmVjZWl2aW5nX3NvY2tldDpyZWN2KCk8YnI+CityZWNlaXZlZF9t ZXNzYWdlID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgICAgICAgIFw8YnI+CisgICAg cmV0dXJuIHJlY2VpdmluZ19zb2NrZXQ6cmVjdigpICAgICAgICAgICAgICAgICAgICAgIFw8YnI+ CitlbmQsIFdBSVRfQ09ORF9USU1FKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDsuLi48YnI+CiZu YnNwO2UgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCk8YnI+CkBAIC0yMzA1LDcgKzIzMDcsOSBA QCBzZW5kdG9femVybyhzZW5kaW5nX3NvY2tldCwgJzEyNy4wLjAuMScsIHJlY2VpdmluZ19zb2Nr ZXRfcG9ydCk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSAwPGJyPgombmJzcDsuLi48YnI+Ci1y ZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gcmVjZWl2aW5nX3NvY2tldDpyZWN2ZnJvbSgpPGJyPgor cmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpICBc PGJyPgorICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJlY3Zmcm9tKCkgICAgICAgICAgICAg ICAgICBcPGJyPgorZW5kLCBXQUlUX0NPTkRfVElNRSk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7 Li4uPGJyPgombmJzcDtlID0gcmVjZWl2aW5nX3NvY2tldDplcnJubygpPGJyPgpAQCAtMjM4Miw3 ICsyMzg2LDkgQEAgc2VuZHRvX3plcm8oc2VuZGluZ19zb2NrZXQsICcxMjcuMC4wLjEnLCByZWNl aXZpbmdfc29ja2V0X3BvcnQpPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gMDxicj4KJm5ic3A7 Li4uPGJyPgotcmVjZWl2ZWRfbWVzc2FnZSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdig1MTIpPGJy PgorcmVjZWl2ZWRfbWVzc2FnZSA9IHRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpICAgICAg ICBcPGJyPgorICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJlY3YoNTEyKSAgICAgICAgICAg ICAgICAgICBcPGJyPgorZW5kLCBXQUlUX0NPTkRfVElNRSk8YnI+CiZuYnNwOy0tLTxicj4KJm5i c3A7Li4uPGJyPgombmJzcDtlID0gcmVjZWl2aW5nX3NvY2tldDplcnJubygpPGJyPgpAQCAtMjQw NSw3ICsyNDExLDkgQEAgc2VuZHRvX3plcm8oc2VuZGluZ19zb2NrZXQsICcxMjcuMC4wLjEnLCBy ZWNlaXZpbmdfc29ja2V0X3BvcnQpPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy0gMDxicj4KJm5i c3A7Li4uPGJyPgotcmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVj dmZyb20oNTEyKTxicj4KK3JlY2VpdmVkX21lc3NhZ2UsIGZyb20gPSB0ZXN0X3J1bjp3YWl0X2Nv bmQoZnVuY3Rpb24oKSAgXDxicj4KKyAgICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpyZWN2ZnJv bSg1MTIpICAgICAgICAgICAgICAgXDxicj4KK2VuZCwgV0FJVF9DT05EX1RJTUUpPGJyPgombmJz cDstLS08YnI+CiZuYnNwOy4uLjxicj4KJm5ic3A7ZSA9IHJlY2VpdmluZ19zb2NrZXQ6ZXJybm8o KTxicj4KQEAgLTI0NDIsNyArMjQ1MCw5IEBAIHNlbmRpbmdfc29ja2V0OnNlbmR0bygnMTI3LjAu MC4xJywgcmVjZWl2aW5nX3NvY2tldF9wb3J0LCBtZXNzYWdlKTxicj4KJm5ic3A7LS0tPGJyPgom bmJzcDstIDEwMjU8YnI+CiZuYnNwOy4uLjxicj4KLXJlY2VpdmVkX21lc3NhZ2UgPSByZWNlaXZp bmdfc29ja2V0OnJlY3YoKTxicj4KK3JlY2VpdmVkX21lc3NhZ2UgPSB0ZXN0X3J1bjp3YWl0X2Nv bmQoZnVuY3Rpb24oKSAgICAgICAgXDxicj4KKyAgICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpy ZWN2KCkgICAgICAgICAgICAgICAgICAgICAgXDxicj4KK2VuZCwgV0FJVF9DT05EX1RJTUUpPGJy PgombmJzcDstLS08YnI+CiZuYnNwOy4uLjxicj4KJm5ic3A7ZSA9IHJlY2VpdmluZ19zb2NrZXQ6 ZXJybm8oKTxicj4KQEAgLTI0NzQsNyArMjQ4NCw5IEBAIHNlbmRpbmdfc29ja2V0OnNlbmR0bygn MTI3LjAuMC4xJywgcmVjZWl2aW5nX3NvY2tldF9wb3J0LCBtZXNzYWdlKTxicj4KJm5ic3A7LS0t PGJyPgombmJzcDstIDEwMjU8YnI+CiZuYnNwOy4uLjxicj4KLXJlY2VpdmVkX21lc3NhZ2UsIGZy b20gPSByZWNlaXZpbmdfc29ja2V0OnJlY3Zmcm9tKCk8YnI+CityZWNlaXZlZF9tZXNzYWdlLCBm cm9tID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgIFw8YnI+CisgICAgcmV0dXJuIHJl Y2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oKSAgICAgICAgICAgICAgICAgIFw8YnI+CitlbmQsIFdB SVRfQ09ORF9USU1FKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDsuLi48YnI+CiZuYnNwO2UgPSBy ZWNlaXZpbmdfc29ja2V0OmVycm5vKCk8YnI+CkBAIC0yNTEzLDcgKzI1MjUsOSBAQCBzZW5kaW5n X3NvY2tldDpzZW5kdG8oJzEyNy4wLjAuMScsIHJlY2VpdmluZ19zb2NrZXRfcG9ydCwgbWVzc2Fn ZSk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSAxMDI1PGJyPgombmJzcDsuLi48YnI+Ci1yZWNl aXZlZF9tZXNzYWdlID0gcmVjZWl2aW5nX3NvY2tldDpyZWN2KDUxMik8YnI+CityZWNlaXZlZF9t ZXNzYWdlID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgICAgICAgIFw8YnI+CisgICAg cmV0dXJuIHJlY2VpdmluZ19zb2NrZXQ6cmVjdig1MTIpICAgICAgICAgICAgICAgICAgIFw8YnI+ CitlbmQsIFdBSVRfQ09ORF9USU1FKTxicj4KJm5ic3A7LS0tPGJyPgombmJzcDsuLi48YnI+CiZu YnNwO2UgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCk8YnI+CkBAIC0yNTU2LDcgKzI1NzAsOSBA QCBzZW5kaW5nX3NvY2tldDpzZW5kdG8oJzEyNy4wLjAuMScsIHJlY2VpdmluZ19zb2NrZXRfcG9y dCwgbWVzc2FnZSk8YnI+CiZuYnNwOy0tLTxicj4KJm5ic3A7LSAxMDI1PGJyPgombmJzcDsuLi48 YnI+Ci1yZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gcmVjZWl2aW5nX3NvY2tldDpyZWN2ZnJvbSg1 MTIpPGJyPgorcmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHRlc3RfcnVuOndhaXRfY29uZChmdW5j dGlvbigpICBcPGJyPgorICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJlY3Zmcm9tKDUxMikg ICAgICAgICAgICAgICBcPGJyPgorZW5kLCBXQUlUX0NPTkRfVElNRSk8YnI+CiZuYnNwOy0tLTxi cj4KJm5ic3A7Li4uPGJyPgombmJzcDtlID0gcmVjZWl2aW5nX3NvY2tldDplcnJubygpPGJyPgpA QCAtMjY0NSw3ICsyNjYxLDkgQEAgc2VuZGluZ19zb2NrZXQ6d3JpdGUobWVzc2FnZSk8YnI+CiZu YnNwOy0gNTEzPGJyPgombmJzcDsuLi48YnI+CiZuYnNwOy0tIGNhc2U6IHJlY3Zmcm9tIHJlYWRz IGZpcnN0IDUxMiBieXRlcyBmcm9tIHRoZSBtZXNzYWdlIHdpdGggdGNwPGJyPgotcmVjZWl2ZWRf bWVzc2FnZSwgZnJvbSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdmZyb20oKTxicj4KK3JlY2VpdmVk X21lc3NhZ2UsIGZyb20gPSB0ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKSAgXDxicj4KKyAg ICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpyZWN2ZnJvbSgpICAgICAgICAgICAgICAgICAgXDxi cj4KK2VuZCwgV0FJVF9DT05EX1RJTUUpPGJyPgombmJzcDstLS08YnI+CiZuYnNwOy4uLjxicj4K Jm5ic3A7ZSA9IHJlY2VpdmluZ19zb2NrZXQ6ZXJybm8oKTxicj4KZGlmZiAtLWdpdCBhL3Rlc3Qv YXBwL3NvY2tldC50ZXN0Lmx1YSBiL3Rlc3QvYXBwL3NvY2tldC50ZXN0Lmx1YTxicj4KaW5kZXgg OWJhNmIyODkzLi5hMDgwMzUxOWQgMTAwNjQ0PGJyPgotLS0gYS90ZXN0L2FwcC9zb2NrZXQudGVz dC5sdWE8YnI+CisrKyBiL3Rlc3QvYXBwL3NvY2tldC50ZXN0Lmx1YTxicj4KQEAgLTc3Miw3ICs3 NzIsOSBAQCBlID09IGVycm5vLkVBR0FJTiAtLSBleHBlY3RlZCB0cnVlPGJyPjxicj4KJm5ic3A7 LS0gY2FzZTogcmVjdiwgemVybyBkYXRhZ3JhbTxicj4KJm5ic3A7c2VuZHRvX3plcm8oc2VuZGlu Z19zb2NrZXQsICcxMjcuMC4wLjEnLCByZWNlaXZpbmdfc29ja2V0X3BvcnQpPGJyPgotcmVjZWl2 ZWRfbWVzc2FnZSA9IHJlY2VpdmluZ19zb2NrZXQ6cmVjdigpPGJyPgorcmVjZWl2ZWRfbWVzc2Fn ZSA9IHRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpICAgICAgICBcPGJyPgorICAgIHJldHVy biByZWNlaXZpbmdfc29ja2V0OnJlY3YoKSAgICAgICAgICAgICAgICAgICAgICBcPGJyPgorZW5k LCBXQUlUX0NPTkRfVElNRSk8YnI+CiZuYnNwO2UgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCk8 YnI+CiZuYnNwO3JlY2VpdmVkX21lc3NhZ2UgPT0gJycgLS0gZXhwZWN0ZWQgdHJ1ZTxicj4KJm5i c3A7cmVjZWl2ZWRfbWVzc2FnZTxicj4KQEAgLTc4MCw3ICs3ODIsOSBAQCBlID09IDAgLS0gZXhw ZWN0ZWQgdHJ1ZTxicj48YnI+CiZuYnNwOy0tIGNhc2U6IHJlY3Zmcm9tLCB6ZXJvIGRhdGFncmFt PGJyPgombmJzcDtzZW5kdG9femVybyhzZW5kaW5nX3NvY2tldCwgJzEyNy4wLjAuMScsIHJlY2Vp dmluZ19zb2NrZXRfcG9ydCk8YnI+Ci1yZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gcmVjZWl2aW5n X3NvY2tldDpyZWN2ZnJvbSgpPGJyPgorcmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHRlc3RfcnVu OndhaXRfY29uZChmdW5jdGlvbigpICBcPGJyPgorICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0 OnJlY3Zmcm9tKCkgICAgICAgICAgICAgICAgICBcPGJyPgorZW5kLCBXQUlUX0NPTkRfVElNRSk8 YnI+CiZuYnNwO2UgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCk8YnI+CiZuYnNwO3JlY2VpdmVk X21lc3NhZ2UgPT0gJycgLS0gZXhwZWN0ZWQgdHJ1ZTxicj4KJm5ic3A7cmVjZWl2ZWRfbWVzc2Fn ZTxicj4KQEAgLTgwNiw3ICs4MTAsOSBAQCBlID09IGVycm5vLkVBR0FJTiAtLSBleHBlY3RlZCB0 cnVlPGJyPjxicj4KJm5ic3A7LS0gY2FzZTogcmVjdiwgemVybyBkYXRhZ3JhbSwgZXhwbGljaXQg c2l6ZTxicj4KJm5ic3A7c2VuZHRvX3plcm8oc2VuZGluZ19zb2NrZXQsICcxMjcuMC4wLjEnLCBy ZWNlaXZpbmdfc29ja2V0X3BvcnQpPGJyPgotcmVjZWl2ZWRfbWVzc2FnZSA9IHJlY2VpdmluZ19z b2NrZXQ6cmVjdig1MTIpPGJyPgorcmVjZWl2ZWRfbWVzc2FnZSA9IHRlc3RfcnVuOndhaXRfY29u ZChmdW5jdGlvbigpICAgICAgICBcPGJyPgorICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJl Y3YoNTEyKSAgICAgICAgICAgICAgICAgICBcPGJyPgorZW5kLCBXQUlUX0NPTkRfVElNRSk8YnI+ CiZuYnNwO2UgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCk8YnI+CiZuYnNwO3JlY2VpdmVkX21l c3NhZ2UgPT0gJycgLS0gZXhwZWN0ZWQgdHJ1ZTxicj4KJm5ic3A7cmVjZWl2ZWRfbWVzc2FnZTxi cj4KQEAgLTgxNCw3ICs4MjAsOSBAQCBlID09IDAgLS0gZXhwZWN0ZWQgdHJ1ZTxicj48YnI+CiZu YnNwOy0tIGNhc2U6IHJlY3Zmcm9tLCB6ZXJvIGRhdGFncmFtLCBleHBsaWNpdCBzaXplPGJyPgom bmJzcDtzZW5kdG9femVybyhzZW5kaW5nX3NvY2tldCwgJzEyNy4wLjAuMScsIHJlY2VpdmluZ19z b2NrZXRfcG9ydCk8YnI+Ci1yZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gcmVjZWl2aW5nX3NvY2tl dDpyZWN2ZnJvbSg1MTIpPGJyPgorcmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHRlc3RfcnVuOndh aXRfY29uZChmdW5jdGlvbigpICBcPGJyPgorICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJl Y3Zmcm9tKDUxMikgICAgICAgICAgICAgICBcPGJyPgorZW5kLCBXQUlUX0NPTkRfVElNRSk8YnI+ CiZuYnNwO2UgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCk8YnI+CiZuYnNwO3JlY2VpdmVkX21l c3NhZ2UgPT0gJycgLS0gZXhwZWN0ZWQgdHJ1ZTxicj4KJm5ic3A7cmVjZWl2ZWRfbWVzc2FnZTxi cj4KQEAgLTgyNyw3ICs4MzUsOSBAQCBtZXNzYWdlID0gc3RyaW5nLnJlcCgneCcsIG1lc3NhZ2Vf bGVuKTxicj48YnI+CiZuYnNwOy0tIGNhc2U6IHJlY3YsIG5vbi16ZXJvIGxlbmd0aCBkYXRhZ3Jh bSwgdGhlIGJ1ZmZlciBzaXplIHNob3VsZCBiZSBldmFsdWF0ZWQ8YnI+CiZuYnNwO3NlbmRpbmdf c29ja2V0OnNlbmR0bygnMTI3LjAuMC4xJywgcmVjZWl2aW5nX3NvY2tldF9wb3J0LCBtZXNzYWdl KTxicj4KLXJlY2VpdmVkX21lc3NhZ2UgPSByZWNlaXZpbmdfc29ja2V0OnJlY3YoKTxicj4KK3Jl Y2VpdmVkX21lc3NhZ2UgPSB0ZXN0X3J1bjp3YWl0X2NvbmQoZnVuY3Rpb24oKSAgICAgICAgXDxi cj4KKyAgICByZXR1cm4gcmVjZWl2aW5nX3NvY2tldDpyZWN2KCkgICAgICAgICAgICAgICAgICAg ICAgXDxicj4KK2VuZCwgV0FJVF9DT05EX1RJTUUpPGJyPgombmJzcDtlID0gcmVjZWl2aW5nX3Nv Y2tldDplcnJubygpPGJyPgombmJzcDtyZWNlaXZlZF9tZXNzYWdlID09IG1lc3NhZ2UgLS0gZXhw ZWN0ZWQgdHJ1ZTxicj4KJm5ic3A7cmVjZWl2ZWRfbWVzc2FnZTpsZW4oKTxicj4KQEAgLTgzOCw3 ICs4NDgsOSBAQCBlPGJyPgombmJzcDstLSBjYXNlOiByZWN2ZnJvbSwgbm9uLXplcm8gbGVuZ3Ro IGRhdGFncmFtLCB0aGUgYnVmZmVyIHNpemUgc2hvdWxkIGJlPGJyPgombmJzcDstLSBldmFsdWF0 ZWQ8YnI+CiZuYnNwO3NlbmRpbmdfc29ja2V0OnNlbmR0bygnMTI3LjAuMC4xJywgcmVjZWl2aW5n X3NvY2tldF9wb3J0LCBtZXNzYWdlKTxicj4KLXJlY2VpdmVkX21lc3NhZ2UsIGZyb20gPSByZWNl aXZpbmdfc29ja2V0OnJlY3Zmcm9tKCk8YnI+CityZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gdGVz dF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgIFw8YnI+CisgICAgcmV0dXJuIHJlY2VpdmluZ19z b2NrZXQ6cmVjdmZyb20oKSAgICAgICAgICAgICAgICAgIFw8YnI+CitlbmQsIFdBSVRfQ09ORF9U SU1FKTxicj4KJm5ic3A7ZSA9IHJlY2VpdmluZ19zb2NrZXQ6ZXJybm8oKTxicj4KJm5ic3A7cmVj ZWl2ZWRfbWVzc2FnZSA9PSBtZXNzYWdlIC0tIGV4cGVjdGVkIHRydWU8YnI+CiZuYnNwO3JlY2Vp dmVkX21lc3NhZ2U6bGVuKCk8YnI+CkBAIC04NTAsNyArODYyLDkgQEAgZTxicj48YnI+CiZuYnNw Oy0tIGNhc2U6IHJlY3YgdHJ1bmNhdGVzIGEgZGF0YWdyYW0gbGFyZ2VyIHRoZW4gdGhlIGJ1ZmZl ciBvZiBhbiBleHBsaWNpdCBzaXplPGJyPgombmJzcDtzZW5kaW5nX3NvY2tldDpzZW5kdG8oJzEy Ny4wLjAuMScsIHJlY2VpdmluZ19zb2NrZXRfcG9ydCwgbWVzc2FnZSk8YnI+Ci1yZWNlaXZlZF9t ZXNzYWdlID0gcmVjZWl2aW5nX3NvY2tldDpyZWN2KDUxMik8YnI+CityZWNlaXZlZF9tZXNzYWdl ID0gdGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgICAgICAgIFw8YnI+CisgICAgcmV0dXJu IHJlY2VpdmluZ19zb2NrZXQ6cmVjdig1MTIpICAgICAgICAgICAgICAgICAgIFw8YnI+CitlbmQs IFdBSVRfQ09ORF9USU1FKTxicj4KJm5ic3A7ZSA9IHJlY2VpdmluZ19zb2NrZXQ6ZXJybm8oKTxi cj4KJm5ic3A7cmVjZWl2ZWRfbWVzc2FnZSA9PSBtZXNzYWdlOnN1YigxLCA1MTIpIC0tIGV4cGVj dGVkIHRydWU8YnI+CiZuYnNwO3JlY2VpdmVkX21lc3NhZ2U6bGVuKCkgPT0gNTEyIC0tIGV4cGVj dGVkIHRydWU8YnI+CkBAIC04NjYsNyArODgwLDkgQEAgbWVzc2FnZSA9IHN0cmluZy5yZXAoJ3kn LCBtZXNzYWdlX2xlbik8YnI+PGJyPgombmJzcDstLSBjYXNlOiByZWN2ZnJvbSB0cnVuY2F0ZXMg YSBkYXRhZ3JhbSBsYXJnZXIgdGhlbiB0aGUgYnVmZmVyIG9mIGFuIGV4cGxpY2l0IHNpemU8YnI+ CiZuYnNwO3NlbmRpbmdfc29ja2V0OnNlbmR0bygnMTI3LjAuMC4xJywgcmVjZWl2aW5nX3NvY2tl dF9wb3J0LCBtZXNzYWdlKTxicj4KLXJlY2VpdmVkX21lc3NhZ2UsIGZyb20gPSByZWNlaXZpbmdf c29ja2V0OnJlY3Zmcm9tKDUxMik8YnI+CityZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gdGVzdF9y dW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgIFw8YnI+CisgICAgcmV0dXJuIHJlY2VpdmluZ19zb2Nr ZXQ6cmVjdmZyb20oNTEyKSAgICAgICAgICAgICAgIFw8YnI+CitlbmQsIFdBSVRfQ09ORF9USU1F KTxicj4KJm5ic3A7ZSA9IHJlY2VpdmluZ19zb2NrZXQ6ZXJybm8oKTxicj4KJm5ic3A7cmVjZWl2 ZWRfbWVzc2FnZSA9PSBtZXNzYWdlOnN1YigxLCA1MTIpIC0tIGV4cGVjdGVkIHRydWU8YnI+CiZu YnNwO3JlY2VpdmVkX21lc3NhZ2U6bGVuKCkgPT0gNTEyIC0tIGV4cGVjdGVkIHRydWU8YnI+CkBA IC04OTUsNyArOTExLDkgQEAgcmVjZWl2aW5nX3NvY2tldCA9IGxpc3RlbmluZ19zb2NrZXQ6YWNj ZXB0KCk8YnI+CiZuYnNwO3NlbmRpbmdfc29ja2V0OndyaXRlKG1lc3NhZ2UpPGJyPjxicj4KJm5i c3A7LS0gY2FzZTogcmVjdmZyb20gcmVhZHMgZmlyc3QgNTEyIGJ5dGVzIGZyb20gdGhlIG1lc3Nh Z2Ugd2l0aCB0Y3A8YnI+Ci1yZWNlaXZlZF9tZXNzYWdlLCBmcm9tID0gcmVjZWl2aW5nX3NvY2tl dDpyZWN2ZnJvbSgpPGJyPgorcmVjZWl2ZWRfbWVzc2FnZSwgZnJvbSA9IHRlc3RfcnVuOndhaXRf Y29uZChmdW5jdGlvbigpICBcPGJyPgorICAgIHJldHVybiByZWNlaXZpbmdfc29ja2V0OnJlY3Zm cm9tKCkgICAgICAgICAgICAgICAgICBcPGJyPgorZW5kLCBXQUlUX0NPTkRfVElNRSk8YnI+CiZu YnNwO2UgPSByZWNlaXZpbmdfc29ja2V0OmVycm5vKCk8YnI+CiZuYnNwO3JlY2VpdmVkX21lc3Nh Z2UgPT0gbWVzc2FnZTpzdWIoMSwgNTEyKSAtLSBleHBlY3RlZCB0cnVlPGJyPgombmJzcDtyZWNl aXZlZF9tZXNzYWdlOmxlbigpID09IDUxMiAtLSBleHBlY3RlZCB0cnVlPGJyPjwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT4KPGJyPgo8YnI+LS0gPGJyPklseWEgS29zYXJldjxi cj48L0JPRFk+PC9IVE1MPgo= ----ALT--2FJSQ3yhiPmjJhuuXg4LMmhC3dqgcvKb1577134118--