From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f187.i.mail.ru (f187.i.mail.ru [128.140.171.97]) (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 4CFC9441841 for ; Fri, 27 Mar 2020 12:06:26 +0300 (MSK) From: =?UTF-8?B?QWxleGFuZGVyIFRpa2hvbm92?= MIME-Version: 1.0 Date: Fri, 27 Mar 2020 12:06:21 +0300 Reply-To: =?UTF-8?B?QWxleGFuZGVyIFRpa2hvbm92?= Message-ID: <1585299981.780275216@f187.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--8f26Ef80f431eD4a59f0dAe2B1f8743E1585299981" In-Reply-To: <20200324081235.GB37444@pony.bronevichok.ru> References: <1584957603-30607-1-git-send-email-o.piskunov@tarantool.org> <20200324081235.GB37444@pony.bronevichok.ru> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v1=5D_Splitted_single_acce?= =?utf-8?q?ss=5Fescalation=2Etest=2Elua_to_a_set_of_small_independent_test?= =?utf-8?q?s=2E?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?T2xlZyBQaXNrdW5vdg==?= Cc: tarantool-patches@dev.tarantool.org ----ALT--8f26Ef80f431eD4a59f0dAe2B1f8743E1585299981 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIE9sZWcsIExHVE0sIHBsZWFzZSBwcm9jZWVkIHRvIEtpcmlsbCB0byBwdXNoLgoKwqAgCj7Q ktGC0L7RgNC90LjQuiwgMjQg0LzQsNGA0YLQsCAyMDIwLCAxMToxMiArMDM6MDAg0L7RgiBTZXJn ZXkgQnJvbm5pa292IDxzZXJnZXliQHRhcmFudG9vbC5vcmc+Ogo+wqAKPkxHVE0uCj4KPk9uIDEz OjAwIE1vbiAyMyBNYXIgLCBPbGVnIFBpc2t1bm92IHdyb3RlOgo+Pgo+PiBTcGxpdHRlZCBzaW5n bGUgYWNjZXNzX2VzY2FsYXRpb24udGVzdC5sdWEgdG8gYSBzZXQgb2Ygc21hbGwgaW5kZXBlbmRl bnQgdGVzdHMuCj4+Cj4+IEdpdGh1YjogIGh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFy YW50b29sL3RyZWUvb3Bpc2t1bm92L2FjY2Vzc19lc2NhbF90ZXN0X3NwbGl0Cj4+Cj4+IC0tLQo+ PiB0ZXN0L2JveC9hY2Nlc3NfZGVfZXNjYWxhdGlvbi5yZXN1bHQgfCA5MCArKysrKysrKysrKysr KysrKysKPj4gdGVzdC9ib3gvYWNjZXNzX2RlX2VzY2FsYXRpb24udGVzdC5sdWEgfCA1MCArKysr KysrKysrCj4+IHRlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uLnJlc3VsdCB8IDE0NCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiB0ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbi50ZXN0 Lmx1YSB8IDg5IC0tLS0tLS0tLS0tLS0tLS0tLQo+PiB0ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlv bl9naC02MTcucmVzdWx0IHwgNzAgKysrKysrKysrKysrKysKPj4gdGVzdC9ib3gvYWNjZXNzX2Vz Y2FsYXRpb25fZ2gtNjE3LnRlc3QubHVhIHwgNDggKysrKysrKysrKwo+PiA2IGZpbGVzIGNoYW5n ZWQsIDI1OCBpbnNlcnRpb25zKCspLCAyMzMgZGVsZXRpb25zKC0pCj4+IGNyZWF0ZSBtb2RlIDEw MDY0NCB0ZXN0L2JveC9hY2Nlc3NfZGVfZXNjYWxhdGlvbi5yZXN1bHQKPj4gY3JlYXRlIG1vZGUg MTAwNjQ0IHRlc3QvYm94L2FjY2Vzc19kZV9lc2NhbGF0aW9uLnRlc3QubHVhCj4+IGRlbGV0ZSBt b2RlIDEwMDY0NCB0ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbi5yZXN1bHQKPj4gZGVsZXRlIG1v ZGUgMTAwNjQ0IHRlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uLnRlc3QubHVhCj4+IGNyZWF0ZSBt b2RlIDEwMDY0NCB0ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbl9naC02MTcucmVzdWx0Cj4+IGNy ZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbl9naC02MTcudGVzdC5s dWEKPj4KPj4gZGlmZiAtLWdpdCBhL3Rlc3QvYm94L2FjY2Vzc19kZV9lc2NhbGF0aW9uLnJlc3Vs dCBiL3Rlc3QvYm94L2FjY2Vzc19kZV9lc2NhbGF0aW9uLnJlc3VsdAo+PiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwLi43OTllZDFjCj4+IC0tLSAvZGV2L251bGwKPj4gKysr IGIvdGVzdC9ib3gvYWNjZXNzX2RlX2VzY2FsYXRpb24ucmVzdWx0Cj4+IEBAIC0wLDAgKzEsOTAg QEAKPj4gK2ZpYmVyID0gcmVxdWlyZSgnZmliZXInKQo+PiArLS0tCj4+ICsuLi4KPj4gK25ldCA9 IHJlcXVpcmUoJ25ldC5ib3gnKQo+PiArLS0tCj4+ICsuLi4KPj4gK29zID0gcmVxdWlyZSgnb3Mn KQo+PiArLS0tCj4+ICsuLi4KPj4gKy0tIFRlc3QgZm9yIHByaXZpbGVnZSBkZS1lc2NhbGF0aW9u Cj4+ICstLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArLS0KPj4gKy0tICog Y3JlYXRlIGEgc2V0dWlkIGZ1bmN0aW9uIHdoaWNoIHJ1bnMgdW5kZXIgYSBkZXByaXZlZCB1c2Vy Cj4+ICstLSAqIGludm9rZSB0aGUgZnVuY3Rpb24sIGxldCBpdCBzbGVlcAo+PiArLS0gKiBpbnZv a2UgYSBmdW5jdGlvbiB3aGljaCBzaG91bGQgaGF2ZSBwcml2aWxlZ2VzCj4+ICstLQo+PiArLS0g ZGVmaW5lIGZ1bmN0aW9ucwo+PiArY2hhbm5lbCA9IGZpYmVyLmNoYW5uZWwoMSkKPj4gKy0tLQo+ PiArLi4uCj4+ICtmdW5jdGlvbiBzZXR1aWQoKSBjaGFubmVsOmdldCgpIGVuZAo+PiArLS0tCj4+ ICsuLi4KPj4gK2Z1bmN0aW9uIGVzY2FsYXRpb24oKSByZXR1cm4gYm94LnNwYWNlLl9zcGFjZTpn ZXR7Ym94LnNjaGVtYS5TUEFDRV9JRH0gfj0gbmlsIGVuZAo+PiArLS0tCj4+ICsuLi4KPj4gKy0t IGNyZWF0ZSBhIGRlcHJpdmVkIHVzZXIKPj4gK2JveC5zY2hlbWEudXNlci5jcmVhdGUoJ3VuZGVy cHJpdmlsZWdlZCcpCj4+ICstLS0KPj4gKy4uLgo+PiArYm94LnNjaGVtYS51c2VyLmdyYW50KCd1 bmRlcnByaXZpbGVnZWQnLCAncmVhZCx3cml0ZScsICdzcGFjZScsICdfZnVuYycpCj4+ICstLS0K Pj4gKy4uLgo+PiArYm94LnNjaGVtYS51c2VyLmdyYW50KCd1bmRlcnByaXZpbGVnZWQnLCAnY3Jl YXRlJywgJ2Z1bmN0aW9uJykKPj4gKy0tLQo+PiArLi4uCj4+ICtib3guc2Vzc2lvbi5zdSgndW5k ZXJwcml2aWxlZ2VkJykKPj4gKy0tLQo+PiArLi4uCj4+ICtib3guc2NoZW1hLmZ1bmMuY3JlYXRl KCdzZXR1aWQnLCB7c2V0dWlkPXRydWV9KQo+PiArLS0tCj4+ICsuLi4KPj4gK2JveC5zZXNzaW9u LnN1KCdhZG1pbicpCj4+ICstLS0KPj4gKy4uLgo+PiArLS0KPj4gKy0tIGNyZWF0ZSBhIGRlcHJp dmVkIGZ1bmN0aW9uCj4+ICstLQo+PiArYm94LnNjaGVtYS5mdW5jLmNyZWF0ZSgnZXNjYWxhdGlv bicpCj4+ICstLS0KPj4gKy4uLgo+PiArYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdl eGVjdXRlJywgJ2Z1bmN0aW9uJywgJ3NldHVpZCcpCj4+ICstLS0KPj4gKy4uLgo+PiArYm94LnNj aGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywgJ2VzY2FsYXRp b24nKQo+PiArLS0tCj4+ICsuLi4KPj4gK2JveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAn cmVhZCcsICdzcGFjZScsICdfc3BhY2UnKQo+PiArLS0tCj4+ICsuLi4KPj4gK2Nvbm5lY3Rpb24g PSBuZXQ6Y29ubmVjdChvcy5nZXRlbnYoIkxJU1RFTiIpKQo+PiArLS0tCj4+ICsuLi4KPj4gK2Jh Y2tncm91bmQgPSBmaWJlci5jcmVhdGUoZnVuY3Rpb24oKSBjb25uZWN0aW9uOmNhbGwoInNldHVp ZCIpIGVuZCkKPj4gKy0tLQo+PiArLi4uCj4+ICtjb25uZWN0aW9uOmNhbGwoImVzY2FsYXRpb24i KQo+PiArLS0tCj4+ICstIHRydWUKPj4gKy4uLgo+PiArY2hhbm5lbDpwdXQodHJ1ZSkKPj4gKy0t LQo+PiArLSB0cnVlCj4+ICsuLi4KPj4gKy0tIHRlYXIgZG93bgo+PiArYm94LnNjaGVtYS5mdW5j LmRyb3AoJ3NldHVpZCcpCj4+ICstLS0KPj4gKy4uLgo+PiArYm94LnNjaGVtYS51c2VyLmRyb3Ao J3VuZGVycHJpdmlsZWdlZCcpCj4+ICstLS0KPj4gKy4uLgo+PiArYm94LnNjaGVtYS5mdW5jLmRy b3AoJ2VzY2FsYXRpb24nKQo+PiArLS0tCj4+ICsuLi4KPj4gK2JveC5zY2hlbWEudXNlci5yZXZv a2UoJ2d1ZXN0JywgJ3JlYWQnLCAnc3BhY2UnLCAnX3NwYWNlJykKPj4gKy0tLQo+PiArLi4uCj4+ ICtjb25uZWN0aW9uOmNsb3NlKCkKPj4gKy0tLQo+PiArLi4uCj4+IGRpZmYgLS1naXQgYS90ZXN0 L2JveC9hY2Nlc3NfZGVfZXNjYWxhdGlvbi50ZXN0Lmx1YSBiL3Rlc3QvYm94L2FjY2Vzc19kZV9l c2NhbGF0aW9uLnRlc3QubHVhCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAw MDAuLmU2MjFmZDAKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi90ZXN0L2JveC9hY2Nlc3NfZGVf ZXNjYWxhdGlvbi50ZXN0Lmx1YQo+PiBAQCAtMCwwICsxLDUwIEBACj4+ICtmaWJlciA9IHJlcXVp cmUoJ2ZpYmVyJykKPj4gK25ldCA9IHJlcXVpcmUoJ25ldC5ib3gnKQo+PiArb3MgPSByZXF1aXJl KCdvcycpCj4+ICsKPj4gKy0tIFRlc3QgZm9yIHByaXZpbGVnZSBkZS1lc2NhbGF0aW9uCj4+ICst LSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArCj4+ICstLQo+PiArLS0gKiBj cmVhdGUgYSBzZXR1aWQgZnVuY3Rpb24gd2hpY2ggcnVucyB1bmRlciBhIGRlcHJpdmVkIHVzZXIK Pj4gKy0tICogaW52b2tlIHRoZSBmdW5jdGlvbiwgbGV0IGl0IHNsZWVwCj4+ICstLSAqIGludm9r ZSBhIGZ1bmN0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHByaXZpbGVnZXMKPj4gKy0tCj4+ICsKPj4g Ky0tIGRlZmluZSBmdW5jdGlvbnMKPj4gKwo+PiArY2hhbm5lbCA9IGZpYmVyLmNoYW5uZWwoMSkK Pj4gK2Z1bmN0aW9uIHNldHVpZCgpIGNoYW5uZWw6Z2V0KCkgZW5kCj4+ICsKPj4gK2Z1bmN0aW9u IGVzY2FsYXRpb24oKSByZXR1cm4gYm94LnNwYWNlLl9zcGFjZTpnZXR7Ym94LnNjaGVtYS5TUEFD RV9JRH0gfj0gbmlsIGVuZAo+PiArCj4+ICstLSBjcmVhdGUgYSBkZXByaXZlZCB1c2VyCj4+ICsK Pj4gK2JveC5zY2hlbWEudXNlci5jcmVhdGUoJ3VuZGVycHJpdmlsZWdlZCcpCj4+ICtib3guc2No ZW1hLnVzZXIuZ3JhbnQoJ3VuZGVycHJpdmlsZWdlZCcsICdyZWFkLHdyaXRlJywgJ3NwYWNlJywg J19mdW5jJykKPj4gK2JveC5zY2hlbWEudXNlci5ncmFudCgndW5kZXJwcml2aWxlZ2VkJywgJ2Ny ZWF0ZScsICdmdW5jdGlvbicpCj4+ICtib3guc2Vzc2lvbi5zdSgndW5kZXJwcml2aWxlZ2VkJykK Pj4gK2JveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ3NldHVpZCcsIHtzZXR1aWQ9dHJ1ZX0pCj4+ICti b3guc2Vzc2lvbi5zdSgnYWRtaW4nKQo+PiArLS0KPj4gKy0tIGNyZWF0ZSBhIGRlcHJpdmVkIGZ1 bmN0aW9uCj4+ICstLQo+PiArCj4+ICtib3guc2NoZW1hLmZ1bmMuY3JlYXRlKCdlc2NhbGF0aW9u JykKPj4gK2JveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlv bicsICdzZXR1aWQnKQo+PiArYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRl JywgJ2Z1bmN0aW9uJywgJ2VzY2FsYXRpb24nKQo+PiArYm94LnNjaGVtYS51c2VyLmdyYW50KCdn dWVzdCcsICdyZWFkJywgJ3NwYWNlJywgJ19zcGFjZScpCj4+ICsKPj4gK2Nvbm5lY3Rpb24gPSBu ZXQ6Y29ubmVjdChvcy5nZXRlbnYoIkxJU1RFTiIpKQo+PiArCj4+ICtiYWNrZ3JvdW5kID0gZmli ZXIuY3JlYXRlKGZ1bmN0aW9uKCkgY29ubmVjdGlvbjpjYWxsKCJzZXR1aWQiKSBlbmQpCj4+ICtj b25uZWN0aW9uOmNhbGwoImVzY2FsYXRpb24iKQo+PiArY2hhbm5lbDpwdXQodHJ1ZSkKPj4gKwo+ PiArLS0gdGVhciBkb3duCj4+ICsKPj4gK2JveC5zY2hlbWEuZnVuYy5kcm9wKCdzZXR1aWQnKQo+ PiArYm94LnNjaGVtYS51c2VyLmRyb3AoJ3VuZGVycHJpdmlsZWdlZCcpCj4+ICtib3guc2NoZW1h LmZ1bmMuZHJvcCgnZXNjYWxhdGlvbicpCj4+ICtib3guc2NoZW1hLnVzZXIucmV2b2tlKCdndWVz dCcsICdyZWFkJywgJ3NwYWNlJywgJ19zcGFjZScpCj4+ICtjb25uZWN0aW9uOmNsb3NlKCkKPj4g ZGlmZiAtLWdpdCBhL3Rlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uLnJlc3VsdCBiL3Rlc3QvYm94 L2FjY2Vzc19lc2NhbGF0aW9uLnJlc3VsdAo+PiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPj4g aW5kZXggZGY4YTk0Ny4uMDAwMDAwMAo+PiAtLS0gYS90ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlv bi5yZXN1bHQKPj4gKysrIC9kZXYvbnVsbAo+PiBAQCAtMSwxNDQgKzAsMCBAQAo+PiAtZmliZXIg PSByZXF1aXJlKCdmaWJlcicpCj4+IC0tLS0KPj4gLS4uLgo+PiAtbmV0ID0gcmVxdWlyZSgnbmV0 LmJveCcpCj4+IC0tLS0KPj4gLS4uLgo+PiAtbG9nID0gcmVxdWlyZSgnbG9nJykKPj4gLS0tLQo+ PiAtLi4uCj4+IC1qc29uID0gcmVxdWlyZSgnanNvbicpCj4+IC0tLS0KPj4gLS4uLgo+PiAtb3Mg PSByZXF1aXJlKCdvcycpCj4+IC0tLS0KPj4gLS4uLgo+PiAtLS0gZ2gtNjE3OiBndWVzdCBhY2Nl c3MgZGVuaWVkIGJlY2F1c2Ugb2Ygc2V0dWlkCj4+IC0tLSBmdW5jdGlvbiBpbnZvY2F0aW9uLgo+ PiAtLS0gVGVzdCBmb3IgcHJpdmlsZWdlIGVzY2FsYXRpb24KPj4gLS0tIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4+IC0tLSAqIGNyZWF0ZSBhIHNldHVpZCBmdW5jdGlvbiB3aGljaCBj aGFuZ2VzIGVmZmVjdGl2ZSBpZAo+PiAtLS0gdG8gc3VwZXJ1c2VyCj4+IC0tLSAqIGludm9rZSBp dCB2aWEgdGhlIGJpbmFyeSBwcm90b2NvbAo+PiAtLS0gKiB3aGlsZSB0aGUgZnVuY3Rpb24gaXMg cnVubmluZywgaW52b2tlIGEgbm9uLXNldHVpZCBmdW5jdGlvbgo+PiAtLS0gd2hpY2ggcmVhZHMg YSBzeXN0ZW0gc3BhY2UuCj4+IC0tLQo+PiAtLS0gVGhlIGludm9rZWQgZnVuY3Rpb24gc2hvdWxk IGdldCAiQWNjZXNzIGRlbmllZCIgZXJyb3IsCj4+IC0tLSB0aGVyZSBzaG91bGQgYmUgbm8gcHJp dmlsZWdlIGVzY2FsYXRpb24uCj4+IC0tLSBkZWZpbmUgZnVuY3Rpb25zCj4+IC1jaGFubmVsID0g ZmliZXIuY2hhbm5lbCgxKQo+PiAtLS0tCj4+IC0uLi4KPj4gLWZ1bmN0aW9uIHNldHVpZCgpIGNo YW5uZWw6Z2V0KCkgZW5kCj4+IC0tLS0KPj4gLS4uLgo+PiAtZnVuY3Rpb24gZXNjYWxhdGlvbigp IHJldHVybiBib3guc3BhY2UuX3NwYWNlOmdldHtib3guc2NoZW1hLlNQQUNFX0lEfSB+PSBuaWwg ZW5kCj4+IC0tLS0KPj4gLS4uLgo+PiAtLS0gc2V0IHVwIGdyYW50cwo+PiAtYm94LnNjaGVtYS5m dW5jLmNyZWF0ZSgnc2V0dWlkJywge3NldHVpZD10cnVlfSkKPj4gLS0tLQo+PiAtLi4uCj4+IC1i b3guc2NoZW1hLmZ1bmMuY3JlYXRlKCdlc2NhbGF0aW9uJykKPj4gLS0tLQo+PiAtLi4uCj4+IC1i b3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1ZXN0JywgJ2V4ZWN1dGUnLCAnZnVuY3Rpb24nLCAnc2V0 dWlkJykKPj4gLS0tLQo+PiAtLi4uCj4+IC1ib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1ZXN0Jywg J2V4ZWN1dGUnLCAnZnVuY3Rpb24nLCAnZXNjYWxhdGlvbicpCj4+IC0tLS0KPj4gLS4uLgo+PiAt Y29ubmVjdGlvbiA9IG5ldDpjb25uZWN0KG9zLmdldGVudigiTElTVEVOIikpCj4+IC0tLS0KPj4g LS4uLgo+PiAtYmFja2dyb3VuZCA9IGZpYmVyLmNyZWF0ZShmdW5jdGlvbigpIGNvbm5lY3Rpb246 Y2FsbCgic2V0dWlkIikgZW5kKQo+PiAtLS0tCj4+IC0uLi4KPj4gLWNvbm5lY3Rpb246Y2FsbCgi ZXNjYWxhdGlvbiIpCj4+IC0tLS0KPj4gLS0gZXJyb3I6IFJlYWQgYWNjZXNzIHRvIHNwYWNlICdf c3BhY2UnIGlzIGRlbmllZCBmb3IgdXNlciAnZ3Vlc3QnCj4+IC0uLi4KPj4gLWNoYW5uZWw6cHV0 KHRydWUpCj4+IC0tLS0KPj4gLS0gdHJ1ZQo+PiAtLi4uCj4+IC0tLQo+PiAtLS0gdGVhciBkb3du IHRoZSBmdW5jdGlvbnM7IHRoZSBncmFudHMgYXJlIGRyb3BwZWQgcmVjdXJzaXZlbHkKPj4gLS0t Cj4+IC1ib3guc2NoZW1hLmZ1bmMuZHJvcCgnc2V0dWlkJykKPj4gLS0tLQo+PiAtLi4uCj4+IC1i b3guc2NoZW1hLmZ1bmMuZHJvcCgnZXNjYWxhdGlvbicpCj4+IC0tLS0KPj4gLS4uLgo+PiAtY29u bmVjdGlvbjpjbG9zZSgpCj4+IC0tLS0KPj4gLS4uLgo+PiAtLS0gVGVzdCBmb3IgcHJpdmlsZWdl IGRlLWVzY2FsYXRpb24KPj4gLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ IC0tLQo+PiAtLS0gKiBjcmVhdGUgYSBzZXR1aWQgZnVuY3Rpb24gd2hpY2ggcnVucyB1bmRlciBh IGRlcHJpdmVkIHVzZXIKPj4gLS0tICogaW52b2tlIHRoZSBmdW5jdGlvbiwgbGV0IGl0IHNsZWVw Cj4+IC0tLSAqIGludm9rZSBhIGZ1bmN0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHByaXZpbGVnZXMK Pj4gLS0tCj4+IC0tLSBjcmVhdGUgYSBkZXByaXZlZCB1c2VyCj4+IC1ib3guc2NoZW1hLnVzZXIu Y3JlYXRlKCd1bmRlcnByaXZpbGVnZWQnKQo+PiAtLS0tCj4+IC0uLi4KPj4gLWJveC5zY2hlbWEu dXNlci5ncmFudCgndW5kZXJwcml2aWxlZ2VkJywgJ3JlYWQsd3JpdGUnLCAnc3BhY2UnLCAnX2Z1 bmMnKQo+PiAtLS0tCj4+IC0uLi4KPj4gLWJveC5zY2hlbWEudXNlci5ncmFudCgndW5kZXJwcml2 aWxlZ2VkJywgJ2NyZWF0ZScsICdmdW5jdGlvbicpCj4+IC0tLS0KPj4gLS4uLgo+PiAtYm94LnNl c3Npb24uc3UoJ3VuZGVycHJpdmlsZWdlZCcpCj4+IC0tLS0KPj4gLS4uLgo+PiAtYm94LnNjaGVt YS5mdW5jLmNyZWF0ZSgnc2V0dWlkJywge3NldHVpZD10cnVlfSkKPj4gLS0tLQo+PiAtLi4uCj4+ IC1ib3guc2Vzc2lvbi5zdSgnYWRtaW4nKQo+PiAtLS0tCj4+IC0uLi4KPj4gLS0tCj4+IC0tLSBj cmVhdGUgYSBkZXByaXZlZCBmdW5jdGlvbgo+PiAtLS0KPj4gLWJveC5zY2hlbWEuZnVuYy5jcmVh dGUoJ2VzY2FsYXRpb24nKQo+PiAtLS0tCj4+IC0uLi4KPj4gLWJveC5zY2hlbWEudXNlci5ncmFu dCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsICdzZXR1aWQnKQo+PiAtLS0tCj4+IC0u Li4KPj4gLWJveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlv bicsICdlc2NhbGF0aW9uJykKPj4gLS0tLQo+PiAtLi4uCj4+IC1ib3guc2NoZW1hLnVzZXIuZ3Jh bnQoJ2d1ZXN0JywgJ3JlYWQnLCAnc3BhY2UnLCAnX3NwYWNlJykKPj4gLS0tLQo+PiAtLi4uCj4+ IC1jb25uZWN0aW9uID0gbmV0OmNvbm5lY3Qob3MuZ2V0ZW52KCJMSVNURU4iKSkKPj4gLS0tLQo+ PiAtLi4uCj4+IC1iYWNrZ3JvdW5kID0gZmliZXIuY3JlYXRlKGZ1bmN0aW9uKCkgY29ubmVjdGlv bjpjYWxsKCJzZXR1aWQiKSBlbmQpCj4+IC0tLS0KPj4gLS4uLgo+PiAtY29ubmVjdGlvbjpjYWxs KCJlc2NhbGF0aW9uIikKPj4gLS0tLQo+PiAtLSB0cnVlCj4+IC0uLi4KPj4gLWNoYW5uZWw6cHV0 KHRydWUpCj4+IC0tLS0KPj4gLS0gdHJ1ZQo+PiAtLi4uCj4+IC0tLSB0ZWFyIGRvd24KPj4gLWJv eC5zY2hlbWEudXNlci5kcm9wKCd1bmRlcnByaXZpbGVnZWQnKQo+PiAtLS0tCj4+IC0uLi4KPj4g LWJveC5zY2hlbWEuZnVuYy5kcm9wKCdlc2NhbGF0aW9uJykKPj4gLS0tLQo+PiAtLi4uCj4+IC1i b3guc2NoZW1hLnVzZXIucmV2b2tlKCdndWVzdCcsICdyZWFkJywgJ3NwYWNlJywgJ19zcGFjZScp Cj4+IC0tLS0KPj4gLS4uLgo+PiAtY29ubmVjdGlvbjpjbG9zZSgpCj4+IC0tLS0KPj4gLS4uLgo+ PiBkaWZmIC0tZ2l0IGEvdGVzdC9ib3gvYWNjZXNzX2VzY2FsYXRpb24udGVzdC5sdWEgYi90ZXN0 L2JveC9hY2Nlc3NfZXNjYWxhdGlvbi50ZXN0Lmx1YQo+PiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKPj4gaW5kZXggOWYzNWYyMS4uMDAwMDAwMAo+PiAtLS0gYS90ZXN0L2JveC9hY2Nlc3NfZXNj YWxhdGlvbi50ZXN0Lmx1YQo+PiArKysgL2Rldi9udWxsCj4+IEBAIC0xLDg5ICswLDAgQEAKPj4g LWZpYmVyID0gcmVxdWlyZSgnZmliZXInKQo+PiAtbmV0ID0gcmVxdWlyZSgnbmV0LmJveCcpCj4+ IC1sb2cgPSByZXF1aXJlKCdsb2cnKQo+PiAtanNvbiA9IHJlcXVpcmUoJ2pzb24nKQo+PiAtb3Mg PSByZXF1aXJlKCdvcycpCj4+IC0KPj4gLS0tIGdoLTYxNzogZ3Vlc3QgYWNjZXNzIGRlbmllZCBi ZWNhdXNlIG9mIHNldHVpZAo+PiAtLS0gZnVuY3Rpb24gaW52b2NhdGlvbi4KPj4gLQo+PiAtLS0g VGVzdCBmb3IgcHJpdmlsZWdlIGVzY2FsYXRpb24KPj4gLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4+IC0tLSAqIGNyZWF0ZSBhIHNldHVpZCBmdW5jdGlvbiB3aGljaCBjaGFuZ2Vz IGVmZmVjdGl2ZSBpZAo+PiAtLS0gdG8gc3VwZXJ1c2VyCj4+IC0tLSAqIGludm9rZSBpdCB2aWEg dGhlIGJpbmFyeSBwcm90b2NvbAo+PiAtLS0gKiB3aGlsZSB0aGUgZnVuY3Rpb24gaXMgcnVubmlu ZywgaW52b2tlIGEgbm9uLXNldHVpZCBmdW5jdGlvbgo+PiAtLS0gd2hpY2ggcmVhZHMgYSBzeXN0 ZW0gc3BhY2UuCj4+IC0tLQo+PiAtLS0gVGhlIGludm9rZWQgZnVuY3Rpb24gc2hvdWxkIGdldCAi QWNjZXNzIGRlbmllZCIgZXJyb3IsCj4+IC0tLSB0aGVyZSBzaG91bGQgYmUgbm8gcHJpdmlsZWdl IGVzY2FsYXRpb24uCj4+IC0KPj4gLS0tIGRlZmluZSBmdW5jdGlvbnMKPj4gLQo+PiAtY2hhbm5l bCA9IGZpYmVyLmNoYW5uZWwoMSkKPj4gLWZ1bmN0aW9uIHNldHVpZCgpIGNoYW5uZWw6Z2V0KCkg ZW5kCj4+IC0KPj4gLWZ1bmN0aW9uIGVzY2FsYXRpb24oKSByZXR1cm4gYm94LnNwYWNlLl9zcGFj ZTpnZXR7Ym94LnNjaGVtYS5TUEFDRV9JRH0gfj0gbmlsIGVuZAo+PiAtCj4+IC0tLSBzZXQgdXAg Z3JhbnRzCj4+IC0KPj4gLWJveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ3NldHVpZCcsIHtzZXR1aWQ9 dHJ1ZX0pCj4+IC1ib3guc2NoZW1hLmZ1bmMuY3JlYXRlKCdlc2NhbGF0aW9uJykKPj4gLQo+PiAt Ym94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywgJ3Nl dHVpZCcpCj4+IC1ib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1ZXN0JywgJ2V4ZWN1dGUnLCAnZnVu Y3Rpb24nLCAnZXNjYWxhdGlvbicpCj4+IC0KPj4gLQo+PiAtY29ubmVjdGlvbiA9IG5ldDpjb25u ZWN0KG9zLmdldGVudigiTElTVEVOIikpCj4+IC0KPj4gLWJhY2tncm91bmQgPSBmaWJlci5jcmVh dGUoZnVuY3Rpb24oKSBjb25uZWN0aW9uOmNhbGwoInNldHVpZCIpIGVuZCkKPj4gLWNvbm5lY3Rp b246Y2FsbCgiZXNjYWxhdGlvbiIpCj4+IC1jaGFubmVsOnB1dCh0cnVlKQo+PiAtCj4+IC0tLQo+ PiAtLS0gdGVhciBkb3duIHRoZSBmdW5jdGlvbnM7IHRoZSBncmFudHMgYXJlIGRyb3BwZWQgcmVj dXJzaXZlbHkKPj4gLS0tCj4+IC0KPj4gLWJveC5zY2hlbWEuZnVuYy5kcm9wKCdzZXR1aWQnKQo+ PiAtYm94LnNjaGVtYS5mdW5jLmRyb3AoJ2VzY2FsYXRpb24nKQo+PiAtCj4+IC1jb25uZWN0aW9u OmNsb3NlKCkKPj4gLQo+PiAtLS0gVGVzdCBmb3IgcHJpdmlsZWdlIGRlLWVzY2FsYXRpb24KPj4g LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IC0KPj4gLS0tCj4+IC0tLSAq IGNyZWF0ZSBhIHNldHVpZCBmdW5jdGlvbiB3aGljaCBydW5zIHVuZGVyIGEgZGVwcml2ZWQgdXNl cgo+PiAtLS0gKiBpbnZva2UgdGhlIGZ1bmN0aW9uLCBsZXQgaXQgc2xlZXAKPj4gLS0tICogaW52 b2tlIGEgZnVuY3Rpb24gd2hpY2ggc2hvdWxkIGhhdmUgcHJpdmlsZWdlcwo+PiAtLS0KPj4gLQo+ PiAtLS0gY3JlYXRlIGEgZGVwcml2ZWQgdXNlcgo+PiAtCj4+IC1ib3guc2NoZW1hLnVzZXIuY3Jl YXRlKCd1bmRlcnByaXZpbGVnZWQnKQo+PiAtYm94LnNjaGVtYS51c2VyLmdyYW50KCd1bmRlcnBy aXZpbGVnZWQnLCAncmVhZCx3cml0ZScsICdzcGFjZScsICdfZnVuYycpCj4+IC1ib3guc2NoZW1h LnVzZXIuZ3JhbnQoJ3VuZGVycHJpdmlsZWdlZCcsICdjcmVhdGUnLCAnZnVuY3Rpb24nKQo+PiAt Ym94LnNlc3Npb24uc3UoJ3VuZGVycHJpdmlsZWdlZCcpCj4+IC1ib3guc2NoZW1hLmZ1bmMuY3Jl YXRlKCdzZXR1aWQnLCB7c2V0dWlkPXRydWV9KQo+PiAtYm94LnNlc3Npb24uc3UoJ2FkbWluJykK Pj4gLS0tCj4+IC0tLSBjcmVhdGUgYSBkZXByaXZlZCBmdW5jdGlvbgo+PiAtLS0KPj4gLQo+PiAt Ym94LnNjaGVtYS5mdW5jLmNyZWF0ZSgnZXNjYWxhdGlvbicpCj4+IC1ib3guc2NoZW1hLnVzZXIu Z3JhbnQoJ2d1ZXN0JywgJ2V4ZWN1dGUnLCAnZnVuY3Rpb24nLCAnc2V0dWlkJykKPj4gLWJveC5z Y2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsICdlc2NhbGF0 aW9uJykKPj4gLWJveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAncmVhZCcsICdzcGFjZScs ICdfc3BhY2UnKQo+PiAtCj4+IC1jb25uZWN0aW9uID0gbmV0OmNvbm5lY3Qob3MuZ2V0ZW52KCJM SVNURU4iKSkKPj4gLQo+PiAtYmFja2dyb3VuZCA9IGZpYmVyLmNyZWF0ZShmdW5jdGlvbigpIGNv bm5lY3Rpb246Y2FsbCgic2V0dWlkIikgZW5kKQo+PiAtY29ubmVjdGlvbjpjYWxsKCJlc2NhbGF0 aW9uIikKPj4gLWNoYW5uZWw6cHV0KHRydWUpCj4+IC0KPj4gLS0tIHRlYXIgZG93bgo+PiAtCj4+ IC1ib3guc2NoZW1hLnVzZXIuZHJvcCgndW5kZXJwcml2aWxlZ2VkJykKPj4gLWJveC5zY2hlbWEu ZnVuYy5kcm9wKCdlc2NhbGF0aW9uJykKPj4gLWJveC5zY2hlbWEudXNlci5yZXZva2UoJ2d1ZXN0 JywgJ3JlYWQnLCAnc3BhY2UnLCAnX3NwYWNlJykKPj4gLWNvbm5lY3Rpb246Y2xvc2UoKQo+PiBk aWZmIC0tZ2l0IGEvdGVzdC9ib3gvYWNjZXNzX2VzY2FsYXRpb25fZ2gtNjE3LnJlc3VsdCBiL3Rl c3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uX2doLTYxNy5yZXN1bHQKPj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPj4gaW5kZXggMDAwMDAwMC4uYmY5YzkzZgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L3Rlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uX2doLTYxNy5yZXN1bHQKPj4gQEAgLTAsMCArMSw3 MCBAQAo+PiArZmliZXIgPSByZXF1aXJlKCdmaWJlcicpCj4+ICstLS0KPj4gKy4uLgo+PiArbmV0 ID0gcmVxdWlyZSgnbmV0LmJveCcpCj4+ICstLS0KPj4gKy4uLgo+PiArb3MgPSByZXF1aXJlKCdv cycpCj4+ICstLS0KPj4gKy4uLgo+PiArLS0gZ2gtNjE3OiBndWVzdCBhY2Nlc3MgZGVuaWVkIGJl Y2F1c2Ugb2Ygc2V0dWlkCj4+ICstLSBmdW5jdGlvbiBpbnZvY2F0aW9uLgo+PiArLS0gVGVzdCBm b3IgcHJpdmlsZWdlIGVzY2FsYXRpb24KPj4gKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4+ICstLSAqIGNyZWF0ZSBhIHNldHVpZCBmdW5jdGlvbiB3aGljaCBjaGFuZ2VzIGVmZmVj dGl2ZSBpZAo+PiArLS0gdG8gc3VwZXJ1c2VyCj4+ICstLSAqIGludm9rZSBpdCB2aWEgdGhlIGJp bmFyeSBwcm90b2NvbAo+PiArLS0gKiB3aGlsZSB0aGUgZnVuY3Rpb24gaXMgcnVubmluZywgaW52 b2tlIGEgbm9uLXNldHVpZCBmdW5jdGlvbgo+PiArLS0gd2hpY2ggcmVhZHMgYSBzeXN0ZW0gc3Bh Y2UuCj4+ICstLQo+PiArLS0gVGhlIGludm9rZWQgZnVuY3Rpb24gc2hvdWxkIGdldCAiQWNjZXNz IGRlbmllZCIgZXJyb3IsCj4+ICstLSB0aGVyZSBzaG91bGQgYmUgbm8gcHJpdmlsZWdlIGVzY2Fs YXRpb24uCj4+ICstLSBkZWZpbmUgZnVuY3Rpb25zCj4+ICtjaGFubmVsID0gZmliZXIuY2hhbm5l bCgxKQo+PiArLS0tCj4+ICsuLi4KPj4gK2Z1bmN0aW9uIHNldHVpZCgpIGNoYW5uZWw6Z2V0KCkg ZW5kCj4+ICstLS0KPj4gKy4uLgo+PiArZnVuY3Rpb24gZXNjYWxhdGlvbigpIHJldHVybiBib3gu c3BhY2UuX3NwYWNlOmdldHtib3guc2NoZW1hLlNQQUNFX0lEfSB+PSBuaWwgZW5kCj4+ICstLS0K Pj4gKy4uLgo+PiArLS0gc2V0IHVwIGdyYW50cwo+PiArYm94LnNjaGVtYS5mdW5jLmNyZWF0ZSgn c2V0dWlkJywge3NldHVpZD10cnVlfSkKPj4gKy0tLQo+PiArLi4uCj4+ICtib3guc2NoZW1hLmZ1 bmMuY3JlYXRlKCdlc2NhbGF0aW9uJykKPj4gKy0tLQo+PiArLi4uCj4+ICtib3guc2NoZW1hLnVz ZXIuZ3JhbnQoJ2d1ZXN0JywgJ2V4ZWN1dGUnLCAnZnVuY3Rpb24nLCAnc2V0dWlkJykKPj4gKy0t LQo+PiArLi4uCj4+ICtib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1ZXN0JywgJ2V4ZWN1dGUnLCAn ZnVuY3Rpb24nLCAnZXNjYWxhdGlvbicpCj4+ICstLS0KPj4gKy4uLgo+PiArY29ubmVjdGlvbiA9 IG5ldDpjb25uZWN0KG9zLmdldGVudigiTElTVEVOIikpCj4+ICstLS0KPj4gKy4uLgo+PiArYmFj a2dyb3VuZCA9IGZpYmVyLmNyZWF0ZShmdW5jdGlvbigpIGNvbm5lY3Rpb246Y2FsbCgic2V0dWlk IikgZW5kKQo+PiArLS0tCj4+ICsuLi4KPj4gK2Nvbm5lY3Rpb246Y2FsbCgiZXNjYWxhdGlvbiIp Cj4+ICstLS0KPj4gKy0gZXJyb3I6IFJlYWQgYWNjZXNzIHRvIHNwYWNlICdfc3BhY2UnIGlzIGRl bmllZCBmb3IgdXNlciAnZ3Vlc3QnCj4+ICsuLi4KPj4gK2NoYW5uZWw6cHV0KHRydWUpCj4+ICst LS0KPj4gKy0gdHJ1ZQo+PiArLi4uCj4+ICstLQo+PiArLS0gdGVhciBkb3duIHRoZSBmdW5jdGlv bnM7IHRoZSBncmFudHMgYXJlIGRyb3BwZWQgcmVjdXJzaXZlbHkKPj4gKy0tCj4+ICtib3guc2No ZW1hLmZ1bmMuZHJvcCgnc2V0dWlkJykKPj4gKy0tLQo+PiArLi4uCj4+ICtib3guc2NoZW1hLmZ1 bmMuZHJvcCgnZXNjYWxhdGlvbicpCj4+ICstLS0KPj4gKy4uLgo+PiArY29ubmVjdGlvbjpjbG9z ZSgpCj4+ICstLS0KPj4gKy4uLgo+PiBkaWZmIC0tZ2l0IGEvdGVzdC9ib3gvYWNjZXNzX2VzY2Fs YXRpb25fZ2gtNjE3LnRlc3QubHVhIGIvdGVzdC9ib3gvYWNjZXNzX2VzY2FsYXRpb25fZ2gtNjE3 LnRlc3QubHVhCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAuLjJjN2I0 MGYKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi90ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbl9n aC02MTcudGVzdC5sdWEKPj4gQEAgLTAsMCArMSw0OCBAQAo+PiArZmliZXIgPSByZXF1aXJlKCdm aWJlcicpCj4+ICtuZXQgPSByZXF1aXJlKCduZXQuYm94JykKPj4gK29zID0gcmVxdWlyZSgnb3Mn KQo+PiArCj4+ICstLSBnaC02MTc6IGd1ZXN0IGFjY2VzcyBkZW5pZWQgYmVjYXVzZSBvZiBzZXR1 aWQKPj4gKy0tIGZ1bmN0aW9uIGludm9jYXRpb24uCj4+ICsKPj4gKy0tIFRlc3QgZm9yIHByaXZp bGVnZSBlc2NhbGF0aW9uCj4+ICstLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiAr LS0gKiBjcmVhdGUgYSBzZXR1aWQgZnVuY3Rpb24gd2hpY2ggY2hhbmdlcyBlZmZlY3RpdmUgaWQK Pj4gKy0tIHRvIHN1cGVydXNlcgo+PiArLS0gKiBpbnZva2UgaXQgdmlhIHRoZSBiaW5hcnkgcHJv dG9jb2wKPj4gKy0tICogd2hpbGUgdGhlIGZ1bmN0aW9uIGlzIHJ1bm5pbmcsIGludm9rZSBhIG5v bi1zZXR1aWQgZnVuY3Rpb24KPj4gKy0tIHdoaWNoIHJlYWRzIGEgc3lzdGVtIHNwYWNlLgo+PiAr LS0KPj4gKy0tIFRoZSBpbnZva2VkIGZ1bmN0aW9uIHNob3VsZCBnZXQgIkFjY2VzcyBkZW5pZWQi IGVycm9yLAo+PiArLS0gdGhlcmUgc2hvdWxkIGJlIG5vIHByaXZpbGVnZSBlc2NhbGF0aW9uLgo+ PiArCj4+ICstLSBkZWZpbmUgZnVuY3Rpb25zCj4+ICsKPj4gK2NoYW5uZWwgPSBmaWJlci5jaGFu bmVsKDEpCj4+ICtmdW5jdGlvbiBzZXR1aWQoKSBjaGFubmVsOmdldCgpIGVuZAo+PiArCj4+ICtm dW5jdGlvbiBlc2NhbGF0aW9uKCkgcmV0dXJuIGJveC5zcGFjZS5fc3BhY2U6Z2V0e2JveC5zY2hl bWEuU1BBQ0VfSUR9IH49IG5pbCBlbmQKPj4gKwo+PiArLS0gc2V0IHVwIGdyYW50cwo+PiArCj4+ ICtib3guc2NoZW1hLmZ1bmMuY3JlYXRlKCdzZXR1aWQnLCB7c2V0dWlkPXRydWV9KQo+PiArYm94 LnNjaGVtYS5mdW5jLmNyZWF0ZSgnZXNjYWxhdGlvbicpCj4+ICsKPj4gK2JveC5zY2hlbWEudXNl ci5ncmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsICdzZXR1aWQnKQo+PiArYm94 LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywgJ2VzY2Fs YXRpb24nKQo+PiArCj4+ICsKPj4gK2Nvbm5lY3Rpb24gPSBuZXQ6Y29ubmVjdChvcy5nZXRlbnYo IkxJU1RFTiIpKQo+PiArCj4+ICtiYWNrZ3JvdW5kID0gZmliZXIuY3JlYXRlKGZ1bmN0aW9uKCkg Y29ubmVjdGlvbjpjYWxsKCJzZXR1aWQiKSBlbmQpCj4+ICtjb25uZWN0aW9uOmNhbGwoImVzY2Fs YXRpb24iKQo+PiArY2hhbm5lbDpwdXQodHJ1ZSkKPj4gKwo+PiArLS0KPj4gKy0tIHRlYXIgZG93 biB0aGUgZnVuY3Rpb25zOyB0aGUgZ3JhbnRzIGFyZSBkcm9wcGVkIHJlY3Vyc2l2ZWx5Cj4+ICst LQo+PiArCj4+ICtib3guc2NoZW1hLmZ1bmMuZHJvcCgnc2V0dWlkJykKPj4gK2JveC5zY2hlbWEu ZnVuYy5kcm9wKCdlc2NhbGF0aW9uJykKPj4gKwo+PiArY29ubmVjdGlvbjpjbG9zZSgpCj4+IC0t Cj4+IDEuOC4zLjEKPj4KPi0tCj5zZXJnZXliQCAKwqAKwqAKLS0KQWxleGFuZGVyIFRpa2hvbm92 CsKg ----ALT--8f26Ef80f431eD4a59f0dAe2B1f8743E1585299981 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGkgT2xlZywgTEdUTSwgcGxlYXNlIHByb2NlZWQgdG8gS2lyaWxs IHRvIHB1c2guPGJyPjxicj4mbmJzcDs8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4 IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij7QktGC0L7R gNC90LjQuiwgMjQg0LzQsNGA0YLQsCAyMDIwLCAxMToxMiArMDM6MDAg0L7RgiBTZXJnZXkgQnJv bm5pa292ICZsdDtzZXJnZXliQHRhcmFudG9vbC5vcmcmZ3Q7Ojxicj4mbmJzcDs8ZGl2IGlkPSIi PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PHN0eWxlIHR5cGU9InRleHQv Y3NzIj48L3N0eWxlPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTU4NTAzNzU1NjIxMDQ4ODE1NDhfQk9E WSI+TEdUTS48YnI+PGJyPk9uIDEzOjAwIE1vbiAyMyBNYXIgLCBPbGVnIFBpc2t1bm92IHdyb3Rl OjxkaXYgY2xhc3M9Im1haWwtcXVvdGUtY29sbGFwc2UiPiZndDs8YnI+Jmd0OyBTcGxpdHRlZCBz aW5nbGUgYWNjZXNzX2VzY2FsYXRpb24udGVzdC5sdWEgdG8gYSBzZXQgb2Ygc21hbGwgaW5kZXBl bmRlbnQgdGVzdHMuPGJyPiZndDs8YnI+Jmd0OyBHaXRodWI6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0 aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL3RyZWUvb3Bpc2t1bm92L2FjY2Vzc19lc2NhbF90 ZXN0X3NwbGl0IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90 YXJhbnRvb2wvdHJlZS9vcGlza3Vub3YvYWNjZXNzX2VzY2FsX3Rlc3Rfc3BsaXQ8L2E+PGJyPiZn dDs8YnI+Jmd0OyAtLS08YnI+Jmd0OyB0ZXN0L2JveC9hY2Nlc3NfZGVfZXNjYWxhdGlvbi5yZXN1 bHQgfCA5MCArKysrKysrKysrKysrKysrKys8YnI+Jmd0OyB0ZXN0L2JveC9hY2Nlc3NfZGVfZXNj YWxhdGlvbi50ZXN0Lmx1YSB8IDUwICsrKysrKysrKys8YnI+Jmd0OyB0ZXN0L2JveC9hY2Nlc3Nf ZXNjYWxhdGlvbi5yZXN1bHQgfCAxNDQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+ Jmd0OyB0ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbi50ZXN0Lmx1YSB8IDg5IC0tLS0tLS0tLS0t LS0tLS0tLTxicj4mZ3Q7IHRlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uX2doLTYxNy5yZXN1bHQg fCA3MCArKysrKysrKysrKysrKzxicj4mZ3Q7IHRlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uX2do LTYxNy50ZXN0Lmx1YSB8IDQ4ICsrKysrKysrKys8YnI+Jmd0OyA2IGZpbGVzIGNoYW5nZWQsIDI1 OCBpbnNlcnRpb25zKCspLCAyMzMgZGVsZXRpb25zKC0pPGJyPiZndDsgY3JlYXRlIG1vZGUgMTAw NjQ0IHRlc3QvYm94L2FjY2Vzc19kZV9lc2NhbGF0aW9uLnJlc3VsdDxicj4mZ3Q7IGNyZWF0ZSBt b2RlIDEwMDY0NCB0ZXN0L2JveC9hY2Nlc3NfZGVfZXNjYWxhdGlvbi50ZXN0Lmx1YTxicj4mZ3Q7 IGRlbGV0ZSBtb2RlIDEwMDY0NCB0ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbi5yZXN1bHQ8YnI+ Jmd0OyBkZWxldGUgbW9kZSAxMDA2NDQgdGVzdC9ib3gvYWNjZXNzX2VzY2FsYXRpb24udGVzdC5s dWE8YnI+Jmd0OyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9ib3gvYWNjZXNzX2VzY2FsYXRpb25f Z2gtNjE3LnJlc3VsdDxicj4mZ3Q7IGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L2JveC9hY2Nlc3Nf ZXNjYWxhdGlvbl9naC02MTcudGVzdC5sdWE8YnI+Jmd0Ozxicj4mZ3Q7IGRpZmYgLS1naXQgYS90 ZXN0L2JveC9hY2Nlc3NfZGVfZXNjYWxhdGlvbi5yZXN1bHQgYi90ZXN0L2JveC9hY2Nlc3NfZGVf ZXNjYWxhdGlvbi5yZXN1bHQ8YnI+Jmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NDxicj4mZ3Q7IGlu ZGV4IDAwMDAwMDAuLjc5OWVkMWM8YnI+Jmd0OyAtLS0gL2Rldi9udWxsPGJyPiZndDsgKysrIGIv dGVzdC9ib3gvYWNjZXNzX2RlX2VzY2FsYXRpb24ucmVzdWx0PGJyPiZndDsgQEAgLTAsMCArMSw5 MCBAQDxicj4mZ3Q7ICtmaWJlciA9IHJlcXVpcmUoJ2ZpYmVyJyk8YnI+Jmd0OyArLS0tPGJyPiZn dDsgKy4uLjxicj4mZ3Q7ICtuZXQgPSByZXF1aXJlKCduZXQuYm94Jyk8YnI+Jmd0OyArLS0tPGJy PiZndDsgKy4uLjxicj4mZ3Q7ICtvcyA9IHJlcXVpcmUoJ29zJyk8YnI+Jmd0OyArLS0tPGJyPiZn dDsgKy4uLjxicj4mZ3Q7ICstLSBUZXN0IGZvciBwcml2aWxlZ2UgZGUtZXNjYWxhdGlvbjxicj4m Z3Q7ICstLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj4mZ3Q7ICstLTxicj4m Z3Q7ICstLSAqIGNyZWF0ZSBhIHNldHVpZCBmdW5jdGlvbiB3aGljaCBydW5zIHVuZGVyIGEgZGVw cml2ZWQgdXNlcjxicj4mZ3Q7ICstLSAqIGludm9rZSB0aGUgZnVuY3Rpb24sIGxldCBpdCBzbGVl cDxicj4mZ3Q7ICstLSAqIGludm9rZSBhIGZ1bmN0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHByaXZp bGVnZXM8YnI+Jmd0OyArLS08YnI+Jmd0OyArLS0gZGVmaW5lIGZ1bmN0aW9uczxicj4mZ3Q7ICtj aGFubmVsID0gZmliZXIuY2hhbm5lbCgxKTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLi4uPGJyPiZn dDsgK2Z1bmN0aW9uIHNldHVpZCgpIGNoYW5uZWw6Z2V0KCkgZW5kPGJyPiZndDsgKy0tLTxicj4m Z3Q7ICsuLi48YnI+Jmd0OyArZnVuY3Rpb24gZXNjYWxhdGlvbigpIHJldHVybiBib3guc3BhY2Uu X3NwYWNlOmdldHtib3guc2NoZW1hLlNQQUNFX0lEfSB+PSBuaWwgZW5kPGJyPiZndDsgKy0tLTxi cj4mZ3Q7ICsuLi48YnI+Jmd0OyArLS0gY3JlYXRlIGEgZGVwcml2ZWQgdXNlcjxicj4mZ3Q7ICti b3guc2NoZW1hLnVzZXIuY3JlYXRlKCd1bmRlcnByaXZpbGVnZWQnKTxicj4mZ3Q7ICstLS08YnI+ Jmd0OyArLi4uPGJyPiZndDsgK2JveC5zY2hlbWEudXNlci5ncmFudCgndW5kZXJwcml2aWxlZ2Vk JywgJ3JlYWQsd3JpdGUnLCAnc3BhY2UnLCAnX2Z1bmMnKTxicj4mZ3Q7ICstLS08YnI+Jmd0OyAr Li4uPGJyPiZndDsgK2JveC5zY2hlbWEudXNlci5ncmFudCgndW5kZXJwcml2aWxlZ2VkJywgJ2Ny ZWF0ZScsICdmdW5jdGlvbicpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyArYm94 LnNlc3Npb24uc3UoJ3VuZGVycHJpdmlsZWdlZCcpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48 YnI+Jmd0OyArYm94LnNjaGVtYS5mdW5jLmNyZWF0ZSgnc2V0dWlkJywge3NldHVpZD10cnVlfSk8 YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICtib3guc2Vzc2lvbi5zdSgnYWRtaW4n KTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLi4uPGJyPiZndDsgKy0tPGJyPiZndDsgKy0tIGNyZWF0 ZSBhIGRlcHJpdmVkIGZ1bmN0aW9uPGJyPiZndDsgKy0tPGJyPiZndDsgK2JveC5zY2hlbWEuZnVu Yy5jcmVhdGUoJ2VzY2FsYXRpb24nKTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLi4uPGJyPiZndDsg K2JveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsICdz ZXR1aWQnKTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLi4uPGJyPiZndDsgK2JveC5zY2hlbWEudXNl ci5ncmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsICdlc2NhbGF0aW9uJyk8YnI+ Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICtib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1 ZXN0JywgJ3JlYWQnLCAnc3BhY2UnLCAnX3NwYWNlJyk8YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4u Ljxicj4mZ3Q7ICtjb25uZWN0aW9uID0gbmV0OmNvbm5lY3Qob3MuZ2V0ZW52KCJMSVNURU4iKSk8 YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICtiYWNrZ3JvdW5kID0gZmliZXIuY3Jl YXRlKGZ1bmN0aW9uKCkgY29ubmVjdGlvbjpjYWxsKCJzZXR1aWQiKSBlbmQpPGJyPiZndDsgKy0t LTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyArY29ubmVjdGlvbjpjYWxsKCJlc2NhbGF0aW9uIik8YnI+ Jmd0OyArLS0tPGJyPiZndDsgKy0gdHJ1ZTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyArY2hhbm5lbDpw dXQodHJ1ZSk8YnI+Jmd0OyArLS0tPGJyPiZndDsgKy0gdHJ1ZTxicj4mZ3Q7ICsuLi48YnI+Jmd0 OyArLS0gdGVhciBkb3duPGJyPiZndDsgK2JveC5zY2hlbWEuZnVuYy5kcm9wKCdzZXR1aWQnKTxi cj4mZ3Q7ICstLS08YnI+Jmd0OyArLi4uPGJyPiZndDsgK2JveC5zY2hlbWEudXNlci5kcm9wKCd1 bmRlcnByaXZpbGVnZWQnKTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLi4uPGJyPiZndDsgK2JveC5z Y2hlbWEuZnVuYy5kcm9wKCdlc2NhbGF0aW9uJyk8YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxi cj4mZ3Q7ICtib3guc2NoZW1hLnVzZXIucmV2b2tlKCdndWVzdCcsICdyZWFkJywgJ3NwYWNlJywg J19zcGFjZScpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyArY29ubmVjdGlvbjpj bG9zZSgpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVz dC9ib3gvYWNjZXNzX2RlX2VzY2FsYXRpb24udGVzdC5sdWEgYi90ZXN0L2JveC9hY2Nlc3NfZGVf ZXNjYWxhdGlvbi50ZXN0Lmx1YTxicj4mZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0PGJyPiZndDsg aW5kZXggMDAwMDAwMC4uZTYyMWZkMDxicj4mZ3Q7IC0tLSAvZGV2L251bGw8YnI+Jmd0OyArKysg Yi90ZXN0L2JveC9hY2Nlc3NfZGVfZXNjYWxhdGlvbi50ZXN0Lmx1YTxicj4mZ3Q7IEBAIC0wLDAg KzEsNTAgQEA8YnI+Jmd0OyArZmliZXIgPSByZXF1aXJlKCdmaWJlcicpPGJyPiZndDsgK25ldCA9 IHJlcXVpcmUoJ25ldC5ib3gnKTxicj4mZ3Q7ICtvcyA9IHJlcXVpcmUoJ29zJyk8YnI+Jmd0OyAr PGJyPiZndDsgKy0tIFRlc3QgZm9yIHByaXZpbGVnZSBkZS1lc2NhbGF0aW9uPGJyPiZndDsgKy0t IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPiZndDsgKzxicj4mZ3Q7ICstLTxi cj4mZ3Q7ICstLSAqIGNyZWF0ZSBhIHNldHVpZCBmdW5jdGlvbiB3aGljaCBydW5zIHVuZGVyIGEg ZGVwcml2ZWQgdXNlcjxicj4mZ3Q7ICstLSAqIGludm9rZSB0aGUgZnVuY3Rpb24sIGxldCBpdCBz bGVlcDxicj4mZ3Q7ICstLSAqIGludm9rZSBhIGZ1bmN0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHBy aXZpbGVnZXM8YnI+Jmd0OyArLS08YnI+Jmd0OyArPGJyPiZndDsgKy0tIGRlZmluZSBmdW5jdGlv bnM8YnI+Jmd0OyArPGJyPiZndDsgK2NoYW5uZWwgPSBmaWJlci5jaGFubmVsKDEpPGJyPiZndDsg K2Z1bmN0aW9uIHNldHVpZCgpIGNoYW5uZWw6Z2V0KCkgZW5kPGJyPiZndDsgKzxicj4mZ3Q7ICtm dW5jdGlvbiBlc2NhbGF0aW9uKCkgcmV0dXJuIGJveC5zcGFjZS5fc3BhY2U6Z2V0e2JveC5zY2hl bWEuU1BBQ0VfSUR9IH49IG5pbCBlbmQ8YnI+Jmd0OyArPGJyPiZndDsgKy0tIGNyZWF0ZSBhIGRl cHJpdmVkIHVzZXI8YnI+Jmd0OyArPGJyPiZndDsgK2JveC5zY2hlbWEudXNlci5jcmVhdGUoJ3Vu ZGVycHJpdmlsZWdlZCcpPGJyPiZndDsgK2JveC5zY2hlbWEudXNlci5ncmFudCgndW5kZXJwcml2 aWxlZ2VkJywgJ3JlYWQsd3JpdGUnLCAnc3BhY2UnLCAnX2Z1bmMnKTxicj4mZ3Q7ICtib3guc2No ZW1hLnVzZXIuZ3JhbnQoJ3VuZGVycHJpdmlsZWdlZCcsICdjcmVhdGUnLCAnZnVuY3Rpb24nKTxi cj4mZ3Q7ICtib3guc2Vzc2lvbi5zdSgndW5kZXJwcml2aWxlZ2VkJyk8YnI+Jmd0OyArYm94LnNj aGVtYS5mdW5jLmNyZWF0ZSgnc2V0dWlkJywge3NldHVpZD10cnVlfSk8YnI+Jmd0OyArYm94LnNl c3Npb24uc3UoJ2FkbWluJyk8YnI+Jmd0OyArLS08YnI+Jmd0OyArLS0gY3JlYXRlIGEgZGVwcml2 ZWQgZnVuY3Rpb248YnI+Jmd0OyArLS08YnI+Jmd0OyArPGJyPiZndDsgK2JveC5zY2hlbWEuZnVu Yy5jcmVhdGUoJ2VzY2FsYXRpb24nKTxicj4mZ3Q7ICtib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1 ZXN0JywgJ2V4ZWN1dGUnLCAnZnVuY3Rpb24nLCAnc2V0dWlkJyk8YnI+Jmd0OyArYm94LnNjaGVt YS51c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywgJ2VzY2FsYXRpb24n KTxicj4mZ3Q7ICtib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1ZXN0JywgJ3JlYWQnLCAnc3BhY2Un LCAnX3NwYWNlJyk8YnI+Jmd0OyArPGJyPiZndDsgK2Nvbm5lY3Rpb24gPSBuZXQ6Y29ubmVjdChv cy5nZXRlbnYoIkxJU1RFTiIpKTxicj4mZ3Q7ICs8YnI+Jmd0OyArYmFja2dyb3VuZCA9IGZpYmVy LmNyZWF0ZShmdW5jdGlvbigpIGNvbm5lY3Rpb246Y2FsbCgic2V0dWlkIikgZW5kKTxicj4mZ3Q7 ICtjb25uZWN0aW9uOmNhbGwoImVzY2FsYXRpb24iKTxicj4mZ3Q7ICtjaGFubmVsOnB1dCh0cnVl KTxicj4mZ3Q7ICs8YnI+Jmd0OyArLS0gdGVhciBkb3duPGJyPiZndDsgKzxicj4mZ3Q7ICtib3gu c2NoZW1hLmZ1bmMuZHJvcCgnc2V0dWlkJyk8YnI+Jmd0OyArYm94LnNjaGVtYS51c2VyLmRyb3Ao J3VuZGVycHJpdmlsZWdlZCcpPGJyPiZndDsgK2JveC5zY2hlbWEuZnVuYy5kcm9wKCdlc2NhbGF0 aW9uJyk8YnI+Jmd0OyArYm94LnNjaGVtYS51c2VyLnJldm9rZSgnZ3Vlc3QnLCAncmVhZCcsICdz cGFjZScsICdfc3BhY2UnKTxicj4mZ3Q7ICtjb25uZWN0aW9uOmNsb3NlKCk8YnI+Jmd0OyBkaWZm IC0tZ2l0IGEvdGVzdC9ib3gvYWNjZXNzX2VzY2FsYXRpb24ucmVzdWx0IGIvdGVzdC9ib3gvYWNj ZXNzX2VzY2FsYXRpb24ucmVzdWx0PGJyPiZndDsgZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0PGJy PiZndDsgaW5kZXggZGY4YTk0Ny4uMDAwMDAwMDxicj4mZ3Q7IC0tLSBhL3Rlc3QvYm94L2FjY2Vz c19lc2NhbGF0aW9uLnJlc3VsdDxicj4mZ3Q7ICsrKyAvZGV2L251bGw8YnI+Jmd0OyBAQCAtMSwx NDQgKzAsMCBAQDxicj4mZ3Q7IC1maWJlciA9IHJlcXVpcmUoJ2ZpYmVyJyk8YnI+Jmd0OyAtLS0t PGJyPiZndDsgLS4uLjxicj4mZ3Q7IC1uZXQgPSByZXF1aXJlKCduZXQuYm94Jyk8YnI+Jmd0OyAt LS0tPGJyPiZndDsgLS4uLjxicj4mZ3Q7IC1sb2cgPSByZXF1aXJlKCdsb2cnKTxicj4mZ3Q7IC0t LS08YnI+Jmd0OyAtLi4uPGJyPiZndDsgLWpzb24gPSByZXF1aXJlKCdqc29uJyk8YnI+Jmd0OyAt LS0tPGJyPiZndDsgLS4uLjxicj4mZ3Q7IC1vcyA9IHJlcXVpcmUoJ29zJyk8YnI+Jmd0OyAtLS0t PGJyPiZndDsgLS4uLjxicj4mZ3Q7IC0tLSBnaC02MTc6IGd1ZXN0IGFjY2VzcyBkZW5pZWQgYmVj YXVzZSBvZiBzZXR1aWQ8YnI+Jmd0OyAtLS0gZnVuY3Rpb24gaW52b2NhdGlvbi48YnI+Jmd0OyAt LS0gVGVzdCBmb3IgcHJpdmlsZWdlIGVzY2FsYXRpb248YnI+Jmd0OyAtLS0gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS08YnI+Jmd0OyAtLS0gKiBjcmVhdGUgYSBzZXR1aWQgZnVuY3Rpb24g d2hpY2ggY2hhbmdlcyBlZmZlY3RpdmUgaWQ8YnI+Jmd0OyAtLS0gdG8gc3VwZXJ1c2VyPGJyPiZn dDsgLS0tICogaW52b2tlIGl0IHZpYSB0aGUgYmluYXJ5IHByb3RvY29sPGJyPiZndDsgLS0tICog d2hpbGUgdGhlIGZ1bmN0aW9uIGlzIHJ1bm5pbmcsIGludm9rZSBhIG5vbi1zZXR1aWQgZnVuY3Rp b248YnI+Jmd0OyAtLS0gd2hpY2ggcmVhZHMgYSBzeXN0ZW0gc3BhY2UuPGJyPiZndDsgLS0tPGJy PiZndDsgLS0tIFRoZSBpbnZva2VkIGZ1bmN0aW9uIHNob3VsZCBnZXQgIkFjY2VzcyBkZW5pZWQi IGVycm9yLDxicj4mZ3Q7IC0tLSB0aGVyZSBzaG91bGQgYmUgbm8gcHJpdmlsZWdlIGVzY2FsYXRp b24uPGJyPiZndDsgLS0tIGRlZmluZSBmdW5jdGlvbnM8YnI+Jmd0OyAtY2hhbm5lbCA9IGZpYmVy LmNoYW5uZWwoMSk8YnI+Jmd0OyAtLS0tPGJyPiZndDsgLS4uLjxicj4mZ3Q7IC1mdW5jdGlvbiBz ZXR1aWQoKSBjaGFubmVsOmdldCgpIGVuZDxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4uPGJyPiZn dDsgLWZ1bmN0aW9uIGVzY2FsYXRpb24oKSByZXR1cm4gYm94LnNwYWNlLl9zcGFjZTpnZXR7Ym94 LnNjaGVtYS5TUEFDRV9JRH0gfj0gbmlsIGVuZDxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4uPGJy PiZndDsgLS0tIHNldCB1cCBncmFudHM8YnI+Jmd0OyAtYm94LnNjaGVtYS5mdW5jLmNyZWF0ZSgn c2V0dWlkJywge3NldHVpZD10cnVlfSk8YnI+Jmd0OyAtLS0tPGJyPiZndDsgLS4uLjxicj4mZ3Q7 IC1ib3guc2NoZW1hLmZ1bmMuY3JlYXRlKCdlc2NhbGF0aW9uJyk8YnI+Jmd0OyAtLS0tPGJyPiZn dDsgLS4uLjxicj4mZ3Q7IC1ib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1ZXN0JywgJ2V4ZWN1dGUn LCAnZnVuY3Rpb24nLCAnc2V0dWlkJyk8YnI+Jmd0OyAtLS0tPGJyPiZndDsgLS4uLjxicj4mZ3Q7 IC1ib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1ZXN0JywgJ2V4ZWN1dGUnLCAnZnVuY3Rpb24nLCAn ZXNjYWxhdGlvbicpPGJyPiZndDsgLS0tLTxicj4mZ3Q7IC0uLi48YnI+Jmd0OyAtY29ubmVjdGlv biA9IG5ldDpjb25uZWN0KG9zLmdldGVudigiTElTVEVOIikpPGJyPiZndDsgLS0tLTxicj4mZ3Q7 IC0uLi48YnI+Jmd0OyAtYmFja2dyb3VuZCA9IGZpYmVyLmNyZWF0ZShmdW5jdGlvbigpIGNvbm5l Y3Rpb246Y2FsbCgic2V0dWlkIikgZW5kKTxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4uPGJyPiZn dDsgLWNvbm5lY3Rpb246Y2FsbCgiZXNjYWxhdGlvbiIpPGJyPiZndDsgLS0tLTxicj4mZ3Q7IC0t IGVycm9yOiBSZWFkIGFjY2VzcyB0byBzcGFjZSAnX3NwYWNlJyBpcyBkZW5pZWQgZm9yIHVzZXIg J2d1ZXN0Jzxicj4mZ3Q7IC0uLi48YnI+Jmd0OyAtY2hhbm5lbDpwdXQodHJ1ZSk8YnI+Jmd0OyAt LS0tPGJyPiZndDsgLS0gdHJ1ZTxicj4mZ3Q7IC0uLi48YnI+Jmd0OyAtLS08YnI+Jmd0OyAtLS0g dGVhciBkb3duIHRoZSBmdW5jdGlvbnM7IHRoZSBncmFudHMgYXJlIGRyb3BwZWQgcmVjdXJzaXZl bHk8YnI+Jmd0OyAtLS08YnI+Jmd0OyAtYm94LnNjaGVtYS5mdW5jLmRyb3AoJ3NldHVpZCcpPGJy PiZndDsgLS0tLTxicj4mZ3Q7IC0uLi48YnI+Jmd0OyAtYm94LnNjaGVtYS5mdW5jLmRyb3AoJ2Vz Y2FsYXRpb24nKTxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4uPGJyPiZndDsgLWNvbm5lY3Rpb246 Y2xvc2UoKTxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4uPGJyPiZndDsgLS0tIFRlc3QgZm9yIHBy aXZpbGVnZSBkZS1lc2NhbGF0aW9uPGJyPiZndDsgLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tPGJyPiZndDsgLS0tPGJyPiZndDsgLS0tICogY3JlYXRlIGEgc2V0dWlkIGZ1bmN0 aW9uIHdoaWNoIHJ1bnMgdW5kZXIgYSBkZXByaXZlZCB1c2VyPGJyPiZndDsgLS0tICogaW52b2tl IHRoZSBmdW5jdGlvbiwgbGV0IGl0IHNsZWVwPGJyPiZndDsgLS0tICogaW52b2tlIGEgZnVuY3Rp b24gd2hpY2ggc2hvdWxkIGhhdmUgcHJpdmlsZWdlczxicj4mZ3Q7IC0tLTxicj4mZ3Q7IC0tLSBj cmVhdGUgYSBkZXByaXZlZCB1c2VyPGJyPiZndDsgLWJveC5zY2hlbWEudXNlci5jcmVhdGUoJ3Vu ZGVycHJpdmlsZWdlZCcpPGJyPiZndDsgLS0tLTxicj4mZ3Q7IC0uLi48YnI+Jmd0OyAtYm94LnNj aGVtYS51c2VyLmdyYW50KCd1bmRlcnByaXZpbGVnZWQnLCAncmVhZCx3cml0ZScsICdzcGFjZScs ICdfZnVuYycpPGJyPiZndDsgLS0tLTxicj4mZ3Q7IC0uLi48YnI+Jmd0OyAtYm94LnNjaGVtYS51 c2VyLmdyYW50KCd1bmRlcnByaXZpbGVnZWQnLCAnY3JlYXRlJywgJ2Z1bmN0aW9uJyk8YnI+Jmd0 OyAtLS0tPGJyPiZndDsgLS4uLjxicj4mZ3Q7IC1ib3guc2Vzc2lvbi5zdSgndW5kZXJwcml2aWxl Z2VkJyk8YnI+Jmd0OyAtLS0tPGJyPiZndDsgLS4uLjxicj4mZ3Q7IC1ib3guc2NoZW1hLmZ1bmMu Y3JlYXRlKCdzZXR1aWQnLCB7c2V0dWlkPXRydWV9KTxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4u PGJyPiZndDsgLWJveC5zZXNzaW9uLnN1KCdhZG1pbicpPGJyPiZndDsgLS0tLTxicj4mZ3Q7IC0u Li48YnI+Jmd0OyAtLS08YnI+Jmd0OyAtLS0gY3JlYXRlIGEgZGVwcml2ZWQgZnVuY3Rpb248YnI+ Jmd0OyAtLS08YnI+Jmd0OyAtYm94LnNjaGVtYS5mdW5jLmNyZWF0ZSgnZXNjYWxhdGlvbicpPGJy PiZndDsgLS0tLTxicj4mZ3Q7IC0uLi48YnI+Jmd0OyAtYm94LnNjaGVtYS51c2VyLmdyYW50KCdn dWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywgJ3NldHVpZCcpPGJyPiZndDsgLS0tLTxicj4m Z3Q7IC0uLi48YnI+Jmd0OyAtYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRl JywgJ2Z1bmN0aW9uJywgJ2VzY2FsYXRpb24nKTxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4uPGJy PiZndDsgLWJveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAncmVhZCcsICdzcGFjZScsICdf c3BhY2UnKTxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4uPGJyPiZndDsgLWNvbm5lY3Rpb24gPSBu ZXQ6Y29ubmVjdChvcy5nZXRlbnYoIkxJU1RFTiIpKTxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLi4u PGJyPiZndDsgLWJhY2tncm91bmQgPSBmaWJlci5jcmVhdGUoZnVuY3Rpb24oKSBjb25uZWN0aW9u OmNhbGwoInNldHVpZCIpIGVuZCk8YnI+Jmd0OyAtLS0tPGJyPiZndDsgLS4uLjxicj4mZ3Q7IC1j b25uZWN0aW9uOmNhbGwoImVzY2FsYXRpb24iKTxicj4mZ3Q7IC0tLS08YnI+Jmd0OyAtLSB0cnVl PGJyPiZndDsgLS4uLjxicj4mZ3Q7IC1jaGFubmVsOnB1dCh0cnVlKTxicj4mZ3Q7IC0tLS08YnI+ Jmd0OyAtLSB0cnVlPGJyPiZndDsgLS4uLjxicj4mZ3Q7IC0tLSB0ZWFyIGRvd248YnI+Jmd0OyAt Ym94LnNjaGVtYS51c2VyLmRyb3AoJ3VuZGVycHJpdmlsZWdlZCcpPGJyPiZndDsgLS0tLTxicj4m Z3Q7IC0uLi48YnI+Jmd0OyAtYm94LnNjaGVtYS5mdW5jLmRyb3AoJ2VzY2FsYXRpb24nKTxicj4m Z3Q7IC0tLS08YnI+Jmd0OyAtLi4uPGJyPiZndDsgLWJveC5zY2hlbWEudXNlci5yZXZva2UoJ2d1 ZXN0JywgJ3JlYWQnLCAnc3BhY2UnLCAnX3NwYWNlJyk8YnI+Jmd0OyAtLS0tPGJyPiZndDsgLS4u Ljxicj4mZ3Q7IC1jb25uZWN0aW9uOmNsb3NlKCk8YnI+Jmd0OyAtLS0tPGJyPiZndDsgLS4uLjxi cj4mZ3Q7IGRpZmYgLS1naXQgYS90ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbi50ZXN0Lmx1YSBi L3Rlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uLnRlc3QubHVhPGJyPiZndDsgZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0PGJyPiZndDsgaW5kZXggOWYzNWYyMS4uMDAwMDAwMDxicj4mZ3Q7IC0tLSBh L3Rlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uLnRlc3QubHVhPGJyPiZndDsgKysrIC9kZXYvbnVs bDxicj4mZ3Q7IEBAIC0xLDg5ICswLDAgQEA8YnI+Jmd0OyAtZmliZXIgPSByZXF1aXJlKCdmaWJl cicpPGJyPiZndDsgLW5ldCA9IHJlcXVpcmUoJ25ldC5ib3gnKTxicj4mZ3Q7IC1sb2cgPSByZXF1 aXJlKCdsb2cnKTxicj4mZ3Q7IC1qc29uID0gcmVxdWlyZSgnanNvbicpPGJyPiZndDsgLW9zID0g cmVxdWlyZSgnb3MnKTxicj4mZ3Q7IC08YnI+Jmd0OyAtLS0gZ2gtNjE3OiBndWVzdCBhY2Nlc3Mg ZGVuaWVkIGJlY2F1c2Ugb2Ygc2V0dWlkPGJyPiZndDsgLS0tIGZ1bmN0aW9uIGludm9jYXRpb24u PGJyPiZndDsgLTxicj4mZ3Q7IC0tLSBUZXN0IGZvciBwcml2aWxlZ2UgZXNjYWxhdGlvbjxicj4m Z3Q7IC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj4mZ3Q7IC0tLSAqIGNyZWF0 ZSBhIHNldHVpZCBmdW5jdGlvbiB3aGljaCBjaGFuZ2VzIGVmZmVjdGl2ZSBpZDxicj4mZ3Q7IC0t LSB0byBzdXBlcnVzZXI8YnI+Jmd0OyAtLS0gKiBpbnZva2UgaXQgdmlhIHRoZSBiaW5hcnkgcHJv dG9jb2w8YnI+Jmd0OyAtLS0gKiB3aGlsZSB0aGUgZnVuY3Rpb24gaXMgcnVubmluZywgaW52b2tl IGEgbm9uLXNldHVpZCBmdW5jdGlvbjxicj4mZ3Q7IC0tLSB3aGljaCByZWFkcyBhIHN5c3RlbSBz cGFjZS48YnI+Jmd0OyAtLS08YnI+Jmd0OyAtLS0gVGhlIGludm9rZWQgZnVuY3Rpb24gc2hvdWxk IGdldCAiQWNjZXNzIGRlbmllZCIgZXJyb3IsPGJyPiZndDsgLS0tIHRoZXJlIHNob3VsZCBiZSBu byBwcml2aWxlZ2UgZXNjYWxhdGlvbi48YnI+Jmd0OyAtPGJyPiZndDsgLS0tIGRlZmluZSBmdW5j dGlvbnM8YnI+Jmd0OyAtPGJyPiZndDsgLWNoYW5uZWwgPSBmaWJlci5jaGFubmVsKDEpPGJyPiZn dDsgLWZ1bmN0aW9uIHNldHVpZCgpIGNoYW5uZWw6Z2V0KCkgZW5kPGJyPiZndDsgLTxicj4mZ3Q7 IC1mdW5jdGlvbiBlc2NhbGF0aW9uKCkgcmV0dXJuIGJveC5zcGFjZS5fc3BhY2U6Z2V0e2JveC5z Y2hlbWEuU1BBQ0VfSUR9IH49IG5pbCBlbmQ8YnI+Jmd0OyAtPGJyPiZndDsgLS0tIHNldCB1cCBn cmFudHM8YnI+Jmd0OyAtPGJyPiZndDsgLWJveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ3NldHVpZCcs IHtzZXR1aWQ9dHJ1ZX0pPGJyPiZndDsgLWJveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ2VzY2FsYXRp b24nKTxicj4mZ3Q7IC08YnI+Jmd0OyAtYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdl eGVjdXRlJywgJ2Z1bmN0aW9uJywgJ3NldHVpZCcpPGJyPiZndDsgLWJveC5zY2hlbWEudXNlci5n cmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsICdlc2NhbGF0aW9uJyk8YnI+Jmd0 OyAtPGJyPiZndDsgLTxicj4mZ3Q7IC1jb25uZWN0aW9uID0gbmV0OmNvbm5lY3Qob3MuZ2V0ZW52 KCJMSVNURU4iKSk8YnI+Jmd0OyAtPGJyPiZndDsgLWJhY2tncm91bmQgPSBmaWJlci5jcmVhdGUo ZnVuY3Rpb24oKSBjb25uZWN0aW9uOmNhbGwoInNldHVpZCIpIGVuZCk8YnI+Jmd0OyAtY29ubmVj dGlvbjpjYWxsKCJlc2NhbGF0aW9uIik8YnI+Jmd0OyAtY2hhbm5lbDpwdXQodHJ1ZSk8YnI+Jmd0 OyAtPGJyPiZndDsgLS0tPGJyPiZndDsgLS0tIHRlYXIgZG93biB0aGUgZnVuY3Rpb25zOyB0aGUg Z3JhbnRzIGFyZSBkcm9wcGVkIHJlY3Vyc2l2ZWx5PGJyPiZndDsgLS0tPGJyPiZndDsgLTxicj4m Z3Q7IC1ib3guc2NoZW1hLmZ1bmMuZHJvcCgnc2V0dWlkJyk8YnI+Jmd0OyAtYm94LnNjaGVtYS5m dW5jLmRyb3AoJ2VzY2FsYXRpb24nKTxicj4mZ3Q7IC08YnI+Jmd0OyAtY29ubmVjdGlvbjpjbG9z ZSgpPGJyPiZndDsgLTxicj4mZ3Q7IC0tLSBUZXN0IGZvciBwcml2aWxlZ2UgZGUtZXNjYWxhdGlv bjxicj4mZ3Q7IC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj4mZ3Q7IC08 YnI+Jmd0OyAtLS08YnI+Jmd0OyAtLS0gKiBjcmVhdGUgYSBzZXR1aWQgZnVuY3Rpb24gd2hpY2gg cnVucyB1bmRlciBhIGRlcHJpdmVkIHVzZXI8YnI+Jmd0OyAtLS0gKiBpbnZva2UgdGhlIGZ1bmN0 aW9uLCBsZXQgaXQgc2xlZXA8YnI+Jmd0OyAtLS0gKiBpbnZva2UgYSBmdW5jdGlvbiB3aGljaCBz aG91bGQgaGF2ZSBwcml2aWxlZ2VzPGJyPiZndDsgLS0tPGJyPiZndDsgLTxicj4mZ3Q7IC0tLSBj cmVhdGUgYSBkZXByaXZlZCB1c2VyPGJyPiZndDsgLTxicj4mZ3Q7IC1ib3guc2NoZW1hLnVzZXIu Y3JlYXRlKCd1bmRlcnByaXZpbGVnZWQnKTxicj4mZ3Q7IC1ib3guc2NoZW1hLnVzZXIuZ3JhbnQo J3VuZGVycHJpdmlsZWdlZCcsICdyZWFkLHdyaXRlJywgJ3NwYWNlJywgJ19mdW5jJyk8YnI+Jmd0 OyAtYm94LnNjaGVtYS51c2VyLmdyYW50KCd1bmRlcnByaXZpbGVnZWQnLCAnY3JlYXRlJywgJ2Z1 bmN0aW9uJyk8YnI+Jmd0OyAtYm94LnNlc3Npb24uc3UoJ3VuZGVycHJpdmlsZWdlZCcpPGJyPiZn dDsgLWJveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ3NldHVpZCcsIHtzZXR1aWQ9dHJ1ZX0pPGJyPiZn dDsgLWJveC5zZXNzaW9uLnN1KCdhZG1pbicpPGJyPiZndDsgLS0tPGJyPiZndDsgLS0tIGNyZWF0 ZSBhIGRlcHJpdmVkIGZ1bmN0aW9uPGJyPiZndDsgLS0tPGJyPiZndDsgLTxicj4mZ3Q7IC1ib3gu c2NoZW1hLmZ1bmMuY3JlYXRlKCdlc2NhbGF0aW9uJyk8YnI+Jmd0OyAtYm94LnNjaGVtYS51c2Vy LmdyYW50KCdndWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywgJ3NldHVpZCcpPGJyPiZndDsg LWJveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsICdl c2NhbGF0aW9uJyk8YnI+Jmd0OyAtYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdyZWFk JywgJ3NwYWNlJywgJ19zcGFjZScpPGJyPiZndDsgLTxicj4mZ3Q7IC1jb25uZWN0aW9uID0gbmV0 OmNvbm5lY3Qob3MuZ2V0ZW52KCJMSVNURU4iKSk8YnI+Jmd0OyAtPGJyPiZndDsgLWJhY2tncm91 bmQgPSBmaWJlci5jcmVhdGUoZnVuY3Rpb24oKSBjb25uZWN0aW9uOmNhbGwoInNldHVpZCIpIGVu ZCk8YnI+Jmd0OyAtY29ubmVjdGlvbjpjYWxsKCJlc2NhbGF0aW9uIik8YnI+Jmd0OyAtY2hhbm5l bDpwdXQodHJ1ZSk8YnI+Jmd0OyAtPGJyPiZndDsgLS0tIHRlYXIgZG93bjxicj4mZ3Q7IC08YnI+ Jmd0OyAtYm94LnNjaGVtYS51c2VyLmRyb3AoJ3VuZGVycHJpdmlsZWdlZCcpPGJyPiZndDsgLWJv eC5zY2hlbWEuZnVuYy5kcm9wKCdlc2NhbGF0aW9uJyk8YnI+Jmd0OyAtYm94LnNjaGVtYS51c2Vy LnJldm9rZSgnZ3Vlc3QnLCAncmVhZCcsICdzcGFjZScsICdfc3BhY2UnKTxicj4mZ3Q7IC1jb25u ZWN0aW9uOmNsb3NlKCk8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvdGVzdC9ib3gvYWNjZXNzX2VzY2Fs YXRpb25fZ2gtNjE3LnJlc3VsdCBiL3Rlc3QvYm94L2FjY2Vzc19lc2NhbGF0aW9uX2doLTYxNy5y ZXN1bHQ8YnI+Jmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NDxicj4mZ3Q7IGluZGV4IDAwMDAwMDAu LmJmOWM5M2Y8YnI+Jmd0OyAtLS0gL2Rldi9udWxsPGJyPiZndDsgKysrIGIvdGVzdC9ib3gvYWNj ZXNzX2VzY2FsYXRpb25fZ2gtNjE3LnJlc3VsdDxicj4mZ3Q7IEBAIC0wLDAgKzEsNzAgQEA8YnI+ Jmd0OyArZmliZXIgPSByZXF1aXJlKCdmaWJlcicpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48 YnI+Jmd0OyArbmV0ID0gcmVxdWlyZSgnbmV0LmJveCcpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsu Li48YnI+Jmd0OyArb3MgPSByZXF1aXJlKCdvcycpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48 YnI+Jmd0OyArLS0gZ2gtNjE3OiBndWVzdCBhY2Nlc3MgZGVuaWVkIGJlY2F1c2Ugb2Ygc2V0dWlk PGJyPiZndDsgKy0tIGZ1bmN0aW9uIGludm9jYXRpb24uPGJyPiZndDsgKy0tIFRlc3QgZm9yIHBy aXZpbGVnZSBlc2NhbGF0aW9uPGJyPiZndDsgKy0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tPGJyPiZndDsgKy0tICogY3JlYXRlIGEgc2V0dWlkIGZ1bmN0aW9uIHdoaWNoIGNoYW5nZXMg ZWZmZWN0aXZlIGlkPGJyPiZndDsgKy0tIHRvIHN1cGVydXNlcjxicj4mZ3Q7ICstLSAqIGludm9r ZSBpdCB2aWEgdGhlIGJpbmFyeSBwcm90b2NvbDxicj4mZ3Q7ICstLSAqIHdoaWxlIHRoZSBmdW5j dGlvbiBpcyBydW5uaW5nLCBpbnZva2UgYSBub24tc2V0dWlkIGZ1bmN0aW9uPGJyPiZndDsgKy0t IHdoaWNoIHJlYWRzIGEgc3lzdGVtIHNwYWNlLjxicj4mZ3Q7ICstLTxicj4mZ3Q7ICstLSBUaGUg aW52b2tlZCBmdW5jdGlvbiBzaG91bGQgZ2V0ICJBY2Nlc3MgZGVuaWVkIiBlcnJvciw8YnI+Jmd0 OyArLS0gdGhlcmUgc2hvdWxkIGJlIG5vIHByaXZpbGVnZSBlc2NhbGF0aW9uLjxicj4mZ3Q7ICst LSBkZWZpbmUgZnVuY3Rpb25zPGJyPiZndDsgK2NoYW5uZWwgPSBmaWJlci5jaGFubmVsKDEpPGJy PiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyArZnVuY3Rpb24gc2V0dWlkKCkgY2hhbm5l bDpnZXQoKSBlbmQ8YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICtmdW5jdGlvbiBl c2NhbGF0aW9uKCkgcmV0dXJuIGJveC5zcGFjZS5fc3BhY2U6Z2V0e2JveC5zY2hlbWEuU1BBQ0Vf SUR9IH49IG5pbCBlbmQ8YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICstLSBzZXQg dXAgZ3JhbnRzPGJyPiZndDsgK2JveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ3NldHVpZCcsIHtzZXR1 aWQ9dHJ1ZX0pPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyArYm94LnNjaGVtYS5m dW5jLmNyZWF0ZSgnZXNjYWxhdGlvbicpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+Jmd0 OyArYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywg J3NldHVpZCcpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICsuLi48YnI+Jmd0OyArYm94LnNjaGVtYS51 c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywgJ2VzY2FsYXRpb24nKTxi cj4mZ3Q7ICstLS08YnI+Jmd0OyArLi4uPGJyPiZndDsgK2Nvbm5lY3Rpb24gPSBuZXQ6Y29ubmVj dChvcy5nZXRlbnYoIkxJU1RFTiIpKTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLi4uPGJyPiZndDsg K2JhY2tncm91bmQgPSBmaWJlci5jcmVhdGUoZnVuY3Rpb24oKSBjb25uZWN0aW9uOmNhbGwoInNl dHVpZCIpIGVuZCk8YnI+Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICtjb25uZWN0aW9u OmNhbGwoImVzY2FsYXRpb24iKTxicj4mZ3Q7ICstLS08YnI+Jmd0OyArLSBlcnJvcjogUmVhZCBh Y2Nlc3MgdG8gc3BhY2UgJ19zcGFjZScgaXMgZGVuaWVkIGZvciB1c2VyICdndWVzdCc8YnI+Jmd0 OyArLi4uPGJyPiZndDsgK2NoYW5uZWw6cHV0KHRydWUpPGJyPiZndDsgKy0tLTxicj4mZ3Q7ICst IHRydWU8YnI+Jmd0OyArLi4uPGJyPiZndDsgKy0tPGJyPiZndDsgKy0tIHRlYXIgZG93biB0aGUg ZnVuY3Rpb25zOyB0aGUgZ3JhbnRzIGFyZSBkcm9wcGVkIHJlY3Vyc2l2ZWx5PGJyPiZndDsgKy0t PGJyPiZndDsgK2JveC5zY2hlbWEuZnVuYy5kcm9wKCdzZXR1aWQnKTxicj4mZ3Q7ICstLS08YnI+ Jmd0OyArLi4uPGJyPiZndDsgK2JveC5zY2hlbWEuZnVuYy5kcm9wKCdlc2NhbGF0aW9uJyk8YnI+ Jmd0OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7ICtjb25uZWN0aW9uOmNsb3NlKCk8YnI+Jmd0 OyArLS0tPGJyPiZndDsgKy4uLjxicj4mZ3Q7IGRpZmYgLS1naXQgYS90ZXN0L2JveC9hY2Nlc3Nf ZXNjYWxhdGlvbl9naC02MTcudGVzdC5sdWEgYi90ZXN0L2JveC9hY2Nlc3NfZXNjYWxhdGlvbl9n aC02MTcudGVzdC5sdWE8YnI+Jmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NDxicj4mZ3Q7IGluZGV4 IDAwMDAwMDAuLjJjN2I0MGY8YnI+Jmd0OyAtLS0gL2Rldi9udWxsPGJyPiZndDsgKysrIGIvdGVz dC9ib3gvYWNjZXNzX2VzY2FsYXRpb25fZ2gtNjE3LnRlc3QubHVhPGJyPiZndDsgQEAgLTAsMCAr MSw0OCBAQDxicj4mZ3Q7ICtmaWJlciA9IHJlcXVpcmUoJ2ZpYmVyJyk8YnI+Jmd0OyArbmV0ID0g cmVxdWlyZSgnbmV0LmJveCcpPGJyPiZndDsgK29zID0gcmVxdWlyZSgnb3MnKTxicj4mZ3Q7ICs8 YnI+Jmd0OyArLS0gZ2gtNjE3OiBndWVzdCBhY2Nlc3MgZGVuaWVkIGJlY2F1c2Ugb2Ygc2V0dWlk PGJyPiZndDsgKy0tIGZ1bmN0aW9uIGludm9jYXRpb24uPGJyPiZndDsgKzxicj4mZ3Q7ICstLSBU ZXN0IGZvciBwcml2aWxlZ2UgZXNjYWxhdGlvbjxicj4mZ3Q7ICstLSAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLTxicj4mZ3Q7ICstLSAqIGNyZWF0ZSBhIHNldHVpZCBmdW5jdGlvbiB3aGlj aCBjaGFuZ2VzIGVmZmVjdGl2ZSBpZDxicj4mZ3Q7ICstLSB0byBzdXBlcnVzZXI8YnI+Jmd0OyAr LS0gKiBpbnZva2UgaXQgdmlhIHRoZSBiaW5hcnkgcHJvdG9jb2w8YnI+Jmd0OyArLS0gKiB3aGls ZSB0aGUgZnVuY3Rpb24gaXMgcnVubmluZywgaW52b2tlIGEgbm9uLXNldHVpZCBmdW5jdGlvbjxi cj4mZ3Q7ICstLSB3aGljaCByZWFkcyBhIHN5c3RlbSBzcGFjZS48YnI+Jmd0OyArLS08YnI+Jmd0 OyArLS0gVGhlIGludm9rZWQgZnVuY3Rpb24gc2hvdWxkIGdldCAiQWNjZXNzIGRlbmllZCIgZXJy b3IsPGJyPiZndDsgKy0tIHRoZXJlIHNob3VsZCBiZSBubyBwcml2aWxlZ2UgZXNjYWxhdGlvbi48 YnI+Jmd0OyArPGJyPiZndDsgKy0tIGRlZmluZSBmdW5jdGlvbnM8YnI+Jmd0OyArPGJyPiZndDsg K2NoYW5uZWwgPSBmaWJlci5jaGFubmVsKDEpPGJyPiZndDsgK2Z1bmN0aW9uIHNldHVpZCgpIGNo YW5uZWw6Z2V0KCkgZW5kPGJyPiZndDsgKzxicj4mZ3Q7ICtmdW5jdGlvbiBlc2NhbGF0aW9uKCkg cmV0dXJuIGJveC5zcGFjZS5fc3BhY2U6Z2V0e2JveC5zY2hlbWEuU1BBQ0VfSUR9IH49IG5pbCBl bmQ8YnI+Jmd0OyArPGJyPiZndDsgKy0tIHNldCB1cCBncmFudHM8YnI+Jmd0OyArPGJyPiZndDsg K2JveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ3NldHVpZCcsIHtzZXR1aWQ9dHJ1ZX0pPGJyPiZndDsg K2JveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ2VzY2FsYXRpb24nKTxicj4mZ3Q7ICs8YnI+Jmd0OyAr Ym94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdleGVjdXRlJywgJ2Z1bmN0aW9uJywgJ3Nl dHVpZCcpPGJyPiZndDsgK2JveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAnZXhlY3V0ZScs ICdmdW5jdGlvbicsICdlc2NhbGF0aW9uJyk8YnI+Jmd0OyArPGJyPiZndDsgKzxicj4mZ3Q7ICtj b25uZWN0aW9uID0gbmV0OmNvbm5lY3Qob3MuZ2V0ZW52KCJMSVNURU4iKSk8YnI+Jmd0OyArPGJy PiZndDsgK2JhY2tncm91bmQgPSBmaWJlci5jcmVhdGUoZnVuY3Rpb24oKSBjb25uZWN0aW9uOmNh bGwoInNldHVpZCIpIGVuZCk8YnI+Jmd0OyArY29ubmVjdGlvbjpjYWxsKCJlc2NhbGF0aW9uIik8 YnI+Jmd0OyArY2hhbm5lbDpwdXQodHJ1ZSk8YnI+Jmd0OyArPGJyPiZndDsgKy0tPGJyPiZndDsg Ky0tIHRlYXIgZG93biB0aGUgZnVuY3Rpb25zOyB0aGUgZ3JhbnRzIGFyZSBkcm9wcGVkIHJlY3Vy c2l2ZWx5PGJyPiZndDsgKy0tPGJyPiZndDsgKzxicj4mZ3Q7ICtib3guc2NoZW1hLmZ1bmMuZHJv cCgnc2V0dWlkJyk8YnI+Jmd0OyArYm94LnNjaGVtYS5mdW5jLmRyb3AoJ2VzY2FsYXRpb24nKTxi cj4mZ3Q7ICs8YnI+Jmd0OyArY29ubmVjdGlvbjpjbG9zZSgpPGJyPiZndDsgLS08YnI+Jmd0OyAx LjguMy4xPGJyPiZndDs8L2Rpdj48YnI+LS08YnI+c2VyZ2V5YkA8L2Rpdj48L2Rpdj48L2Rpdj48 L2Rpdj48L2Jsb2NrcXVvdGU+Jm5ic3A7PGRpdj4mbmJzcDs8L2Rpdj48ZGl2IGRhdGEtc2lnbmF0 dXJlLXdpZGdldD0iY29udGFpbmVyIj48ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGVu dCI+PGRpdj4tLTxicj5BbGV4YW5kZXIgVGlraG9ub3Y8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PiZu YnNwOzwvZGl2PjwvZGl2PjwvQk9EWT48L0hUTUw+Cg== ----ALT--8f26Ef80f431eD4a59f0dAe2B1f8743E1585299981--