From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id F36336EC40; Mon, 16 Aug 2021 21:22:33 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org F36336EC40 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1629138154; bh=eLvL8P2macWfJQsTQo62TK68tFdFmEzFYMLqF8M3Qdg=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=XDsGTVkaZGeZgzWLxSO26EUDjYf4PSfxLCpchrySeAs2cBEYnJrvujyZoIGSxL1aV PNjyX0ZoENsM2ivb0VjyXdOj5pRj4HVHpQBO7oe/sVOBsh8/EDyNfpmbhNZY6rjSDI xy1PQYS+vFRZpzrBhtxFguhipuRjajV7svdyIV1M= Received: from f708.i.mail.ru (f708.i.mail.ru [128.140.172.123]) (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 ADD1E6EC40 for ; Mon, 16 Aug 2021 21:22:31 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org ADD1E6EC40 Received: by f708.i.mail.ru with local (envelope-from ) id 1mFhFl-0003ik-Kt; Mon, 16 Aug 2021 21:22:30 +0300 Received: by e.mail.ru with HTTP; Mon, 16 Aug 2021 21:22:29 +0300 To: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16291315490771329628 Date: Mon, 16 Aug 2021 21:22:29 +0300 X-Priority: 3 (Normal) Message-ID: <1629138149.356678902@f708.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--50JHoNa2YmXLik7bomNBnCqV1MEsrhGK1629138149" In-Reply-To: References: <1629119889.207698545@f480.i.mail.ru> X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 119C1F4DF6A9251C771EFB8797C310D110F53893027EB2B1223A201959CBA8498FD872164937FA4C0B3CBA67A37ADB1F02E5EC695AF522CFF6F2E7CD0B37343A85D9EDB84AEBEA98 X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE71AFCD3CE9EB0EC07D82A6BABE6F325AC08BE7437D75B48FABCF491FFA38154B613377AFFFEAFD269176DF2183F8FC7C090AE7DF0B40174E1C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE72E2D36A15E1833D8EA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38BBCA57AF85F7723F2C9D05689F4D26E8946ACD524E6840A51CC7F00164DA146DAFE8445B8C89999728AA50765F7900637F6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F7900637F6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA7E827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8BEB1A37DF9DABAA8F75ECD9A6C639B01B4E70A05D1297E1BBCB5012B2E24CD356 X-B7AD71C0: AC4F5C86D027EB782CDD5689AFBDA7A213B5FB47DCBC3458F0AFF96BAACF4158235E5A14AD4A4A4625E192CAD1D9E79D0B18DC6AC13D9A1C4CC5B08E4077F9C1 X-C1DE0DAB: 0D63561A33F958A5D0D83861B5BEF9D4168B16B72FE3AF1FCF93F7EB83C57711BDC6A1CF3F042BAD6DF99611D93F60EFD827CA74CCEABFF3699F904B3F4130E343918A1A30D5E7FCCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34F0A5F58274334C95D3297D7B496ACC79D783A97BE96E0954EB9ED8B1DABCC37685047C4BF2B29F2B1D7E09C32AA3244CC5A1096BC25F5ED8324BBA5FBBB4046BBBA718C7E6A9E042927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhXzYnu9pFyH9EYhS3XnUtMg== X-Mailru-MI: 1000000400800 X-Mailru-Sender: 9482C2B233321BD2465D4E70DD29B4414DC55EF889FEC7C9007E68D934E98BA6E371E57AAD92D2F4AD5D4B8E81F7A7E1AC168D0AD13401F852CFCCE780E3CD899E6F1D7E72A3EAB4093DA5C00B83CE844E30AD2C116090084C994F938BAD770067EA787935ED9F1B X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v2_2/2=5D_box=3A_allow_up?= =?utf-8?q?grading_from_version_1=2E6?= X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: =?utf-8?b?0JHQsNCx0LjQvSDQntC70LXQsyB2aWEgVGFyYW50b29sLXBhdGNoZXM=?= Reply-To: =?UTF-8?B?0JHQsNCx0LjQvSDQntC70LXQsw==?= Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--50JHoNa2YmXLik7bomNBnCqV1MEsrhGK1629138149 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 ClRoYW5rcyBmb3IgZml4ZXMuIExHVE0uICDQv9C+0L3QtdC00LXQu9GM0L3QuNC6LCAxNiDQsNCy 0LPRg9GB0YLQsCAyMDIx0LMuLCAxOTozMiArMDM6MDAg0L7RgiBTZXJnZSBQZXRyZW5rbyAgc2Vy Z2VwZXRyZW5rb0B0YXJhbnRvb2wub3JnIDoKCj4KPgo+MTYuMDguMjAyMSAxNjoxOCwg0JHQsNCx 0LjQvSDQntC70LXQsyDQv9C40YjQtdGCOgo+IFRoYW5rcyBmb3IgeW91ciBwYXRjaC4gTEdUTSBi dXQgY29uc2lkZXIgc2V2ZXJhbCBuaXRzIGJlbG93Lgo+Cj4KPlRoYW5rcyBmb3IgdGhlIHJldmll dyEgUGxlYXNlLCBmaW5kIG15IGFuc3dlcnMgYW5kIGluY3JlbWVudGFsIGRpZmYgYmVsb3cuCj4K PiDQn9GP0YLQvdC40YbQsCwgMTMg0LDQstCz0YPRgdGC0LAgMjAyMSwgMjozNSArMDM6MDAg0L7R giBTZXJnZSBQZXRyZW5rbyB2aWEKPiBUYXJhbnRvb2wtcGF0Y2hlcyA8IHRhcmFudG9vbC1wYXRj aGVzQGRldi50YXJhbnRvb2wub3JnPiA6Cj4gRGlyZWN0IHVwZ3JhZGUgc3VwcG9ydCBmcm9tIHBy ZS0xLjcuNSB2ZXJzaW9ucyB3YXMgcmVtb3ZlZCBpbiBjb21taXQKPiA3ZDNiODBlNzgyMDZjNDc5 Y2FiNzViNDg5MzYyOWNmYTE5MzIyNTJlCj4gKEZvcmJpZCB1cGdyYWRlIGZyb20gVGFyYW50b29s IDwgMS43LjUgYW5kIHJlZmFjdG9yIHVwZ3JhZGUubHVhKQo+IFRoZSByZWFzb24gZm9yIHRoYXQg d2FzIHRoZSBtYW5kYXRvcnkgc3BhY2UgZm9ybWF0IGNoZWNrcyBpbnRyb2R1Y2VkCj4gYmFjayB0 aGVuLiBXaXRoIHRoZXNlIHNwYWNlIGZvcm1hdCBjaGVja3MsIG9sZCBzY2hlbWEgY291bGRuJ3Qg YmUKPiByZWNvdmVyZWQgb24gbmV3IFRhcmFudG9vbCB2ZXJzaW9ucywgYmVjYXVzZSBuZXdlciB2 ZXJzaW9ucyBoYWQKPiBkaWZmZXJlbnQgc3lzdGVtIHNwYWNlIGZvcm1hdHMuIFNvIG9sZCBzY2hl bWEgY291bGRuJ3QgYmUgdXBncmFkZWQKPiBiZWNhdXNlIGl0IGNvdWxkbid0IGV2ZW4gYmUgcmVj b3ZlcmVkLgo+Cj4gQWN0dWFsbHkgdGhpcyB3YXMgcmF0aGVyIGluY29udmVuaWVudC4gT25lIGhh ZCB0byBwZXJmb3JtIGFuIGV4dHJhCj4gdXBncmFkZSBzdGVwIHdoZW4gdXBncmFkaW5nIGZyb20s IHNheSwgMS42IHRvIDIueDogaW5zdGVhZCBvZgo+IHBlcmZvcm1pbmcgYSBkaXJlY3QgdXBncmFk ZSBvbmUgaGFkIHRvIGRvIDEuNiAtPiAxLjEwIC0+IDIueCB1cGdyYWRlCj4gd2hpY2ggdGFrZXMg dHdpY2UgdGhlIHRpbWUuCj4KPiBNYWtlIGl0IHBvc3NpYmxlIHRvIGJvb3QgZnJvbSBzbmFwc2hv dHMgY29taW5nIGZyb20gVGFyYW50b29sIHZlcnNpb24KPiAxLjYuOCBhbmQgYWJvdmUuCj4KPiBJ biBvcmRlciB0byBkbyBzbywgaW50cm9kdWNlIGJlZm9yZV9yZXBsYWNlIHRyaWdnZXJzIG9uIHN5 c3RlbSBzcGFjZXMsCj4gd2hpY2ggd29yayBkdXJpbmcgc25hcHNob3QveGxvZyByZWNvdmVyeS4g VGhlIHRyaWdnZXJzIHdpbGwgc2V0IHR1cGxlCj4gZm9ybWF0cyB0byB0aGUgb25lcyBzdXBwb3J0 ZWQgYnkgY3VycmVudCBUYXJhbnRvb2wgKDIueCkuIFRoaXMgd2F5IHRoZQo+IHJlY292ZXJlZCBk YXRhIHdpbGwgaGF2ZSB0aGUgY29ycmVjdCBmb3JtYXQgZm9yIGEgdXN1YWwgc2NoZW1hCj4gdXBn cmFkZS4KPgo+IEFsc28gYWRkIHVwZ3JhZGVfdG9fMV83XzUoKSBoYW5kbGVyLCB3aGljaCBmaW5p c2hlcyB0cmFuc2Zvcm1hdGlvbiBvZgo+IG9sZCBzY2hlbWEgdG8gMS43LjUuIFRoZSBoYW5kbGVy IGlzIGZpcmVkIHRvZ2V0aGVyIHdpdGggb3RoZXIKPiBib3guc2NoZW1hLnVwZ3JhZGUoKSBoYW5k bGVycywgc28gdGhlcmUncyBubyB1c2VyLXZpc2libGUgYmVoYXZpb3VyCj4gY2hhbmdlLgo+Cj4g U2lkZSBub3RlOiBpdCB3b3VsZCBiZSBncmVhdCB0byB1c2UgdGhlIHNhbWUgdGVjaG5pcXVlIHRv IGFsbG93Cj4gYm9vdGluZwo+IGZyb20gcHJlLTEuNi44IHNuYXBzaG90cy4gVW5mb3J0dW5hdGVs eSwgdGhpcyBpcyBub3QgcG9zc2libGUuCj4KPiBDdXJyZW50IHRyaWdnZXJzIGRvbid0IGJyZWFr IHRoZSBvcmRlciBvZiBzY2hlbWEgdXBncmFkZXMsIHNvIDEuNy4xCj4gdXBncmFkZXMgY29tZSBi ZWZvcmUgMS43LjIgYW5kIDEuNy41LiBUaGlzIGlzIGJlY2F1c2UgYWxsIHRoZSB1cGdyYWRlcwo+ IGluIHRoZXNlIHZlcnNpb25zIGFyZSByZXBsYWNpbmcgZXhpc3RpbmcgdHVwbGVzIGFuZCBub3Qg aW5zZXJ0aW5nIG5ldwo+IG9uZXMsIHNvIHRoZSB1cGdyYWRlcyBtYXkgYmUgaGFuZGxlZCBieSB0 aGUgYmVmb3JlX3JlcGxhY2UgdHJpZ2dlcnMuCj4KPiBVcGdyYWRlIHRvIDEuNi44IHJlcXVpcmVz IGluc2VydGluZyBuZXcgdHVwbGVzOiBjcmVhdGluZyBzeXN2aWV3cywKPiBsaWtlCj4gX3ZzcGFj ZSwgX3Z1c2VyIGFuZCBzbyBvbi4gVGhpcyBjYW4ndCBiZSBkb25lIGZyb20gdGhlIGJlZm9yZV9y ZXBsYWNlCj4gdHJpZ2dlcnMsIHNvIHdlIHdvdWxkIGhhdmUgdG8gcnVuIHRyaWdnZXJzIGZvciAx LjcueCBmaXJzdCB3aGljaCB3b3VsZAo+IGFsbG93IFRhcmFudG9vbCB0byByZWNvdmVyIHRoZSBz bmFwc2hvdCwgYW5kIHRoZW4gcnVuIGFuIHVwZ3JhZGUKPiBoYW5kbGVyIGZvcgo+IDEuNi44LiBU aGlzIGxvb2tzIHJlYWxseSBtZXNzeS4KPgo+IENsb3NlcyAjNTg5NAo+IC0tLQo+IMKgc3JjL2Jv eC9sdWEvbG9hZF9jZmcubHVhIHwgMTQgKwo+IMKgc3JjL2JveC9sdWEvdXBncmFkZS5sdWEgfCAy NzYgKysrKysrKysrKystCj4gwqB0ZXN0L3hsb2cvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS5y ZXN1bHQgfCA0MDAgKysrKysrKysrKysrKysrKysrCj4gwqB0ZXN0L3hsb2cvZ2gtNTg5NC1wcmUt MS43LjctdXBncmFkZS50ZXN0Lmx1YSB8IDc3ICsrKysKPiDCoC4uLi8xLjYuOC9naC01ODk0LXBy ZS0xLjcuNy11cGdyYWRlL2ZpbGwubHVhIHwgMSArCj4gwqAuLi4vMS43LjEvZ2gtNTg5NC1wcmUt MS43LjctdXBncmFkZS9maWxsLmx1YSB8IDEgKwo+IMKgLi4uLzEuNy4yL2doLTU4OTQtcHJlLTEu Ny43LXVwZ3JhZGUvZmlsbC5sdWEgfCAxICsKPiDCoC4uLi8xLjcuNS9naC01ODk0LXByZS0xLjcu Ny11cGdyYWRlL2ZpbGwubHVhIHwgMSArCj4gwqB0ZXN0L3hsb2cvdXBncmFkZS9maWxsLmx1YSB8 IDQgKwo+IMKgOSBmaWxlcyBjaGFuZ2VkLCA3NzMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3hsb2cvZ2gtNTg5NC1wcmUtMS43LjctdXBn cmFkZS5yZXN1bHQKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3hsb2cvZ2gtNTg5NC1wcmUt MS43LjctdXBncmFkZS50ZXN0Lmx1YQo+IMKgY3JlYXRlIG1vZGUgMTIwMDAwCj4gdGVzdC94bG9n L3VwZ3JhZGUvMS42LjgvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YQo+IMKgY3Jl YXRlIG1vZGUgMTIwMDAwCj4gdGVzdC94bG9nL3VwZ3JhZGUvMS43LjEvZ2gtNTg5NC1wcmUtMS43 LjctdXBncmFkZS9maWxsLmx1YQo+IMKgY3JlYXRlIG1vZGUgMTIwMDAwCj4gdGVzdC94bG9nL3Vw Z3JhZGUvMS43LjIvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YQo+IMKgY3JlYXRl IG1vZGUgMTIwMDAwCj4gdGVzdC94bG9nL3VwZ3JhZGUvMS43LjUvZ2gtNTg5NC1wcmUtMS43Ljct dXBncmFkZS9maWxsLmx1YQo+Cj4gZGlmZiAtLWdpdCBhL3NyYy9ib3gvbHVhL2xvYWRfY2ZnLmx1 YSBiL3NyYy9ib3gvbHVhL2xvYWRfY2ZnLmx1YQo+IGluZGV4IDRkZjcwYzIxMC4uN2E4Y2FiM2Zk IDEwMDY0NAo+IC0tLSBhL3NyYy9ib3gvbHVhL2xvYWRfY2ZnLmx1YQo+ICsrKyBiL3NyYy9ib3gv bHVhL2xvYWRfY2ZnLmx1YQo+IEBAIC03MTksOSArNzE5LDIzIEBAIGxvY2FsIGZ1bmN0aW9uIGxv YWRfY2ZnKGNmZykKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoF9fY2FsbCA9IGxvY2tlZChy ZWxvYWRfY2ZnKSwKPiDCoMKgwqDCoMKgwqDCoMKgwqB9KQo+Cj4gKyAtLSBDaGVjayBzY2hlbWEg dmVyc2lvbiBvZiB0aGUgc25hcHNob3Qgd2UncmUgYWJvdXQgdG8gcmVjb3ZlciwKPiBpZiBhbnku Cj4gKyAtLSBTb21lIHNjaGVtYSB2ZXJzaW9ucyAoYmVsb3cgMS43LjUpIGFyZSBpbmNvbXBhdGli bGUgd2l0aAo+IFRhcmFudG9vbCAyLngKPiArIC0tIFdoZW4gcmVjb3ZlcmluZyBmcm9tIHN1Y2gg YW4gb2xkIHNuYXBzaG90LCBzcGVjaWFsIHJlY292ZXJ5Cj4gdHJpZ2dlcnMgb24KPiArIC0tIHN5 c3RlbSBzcGFjZXMgYXJlIG5lZWRlZCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHJlY292ZXIgYW5k Cj4gdXBncmFkZQo+ICsgLS0gdGhlIHNjaGVtYSB0aGVuLgo+ICsgbG9jYWwgc25hcF9kaXIgPSBi b3guY2ZnLm1lbXR4X2Rpcgo+ICsgbG9jYWwgc25hcF92ZXJzaW9uID0gcHJpdmF0ZS5nZXRfc25h cHNob3RfdmVyc2lvbihzbmFwX2RpcikKPiArIGlmIHNuYXBfdmVyc2lvbiB0aGVuCj4gKyBwcml2 YXRlLnNldF9yZWNvdmVyeV90cmlnZ2VycyhzbmFwX3ZlcnNpb24pCj4gKyBlbmQKPiArCj4gwqDC oMKgwqDCoC0tIFRoaXMgY2FsbCBlaXRoZXIgc3VjY2VlZHMgb3IgY2FsbHMgcGFuaWMoKSAvIGV4 aXQoKS4KPiDCoMKgwqDCoMKgcHJpdmF0ZS5jZmdfbG9hZCgpCj4KPiArIGlmIHNuYXBfdmVyc2lv biB0aGVuCj4gKyBwcml2YXRlLmNsZWFyX3JlY292ZXJ5X3RyaWdnZXJzKCkKPiArIGVuZAo+IMKg wqDCoMKgwqAtLSBUaGlzIGJsb2NrIGRvZXMgbm90IHJhaXNlIGFuIGVycm9yOiBhbGwgbmVjZXNz YXJ5IGNoZWNrcwo+IMKgwqDCoMKgwqAtLSBhbHJlYWR5IHBlcmZvcm1lZCBpbiBwcml2YXRlLmNm Z19jaGVjaygpLiBTZWUgCj4gwqDCoMKgwqDCoC0tIGNvbW1lbnQuCj4gZGlmZiAtLWdpdCBhL3Ny Yy9ib3gvbHVhL3VwZ3JhZGUubHVhIGIvc3JjL2JveC9sdWEvdXBncmFkZS5sdWEKPiBpbmRleCA2 YWJjZTUwZjQuLjkyNWFkYWIxOCAxMDA2NDQKPiAtLS0gYS9zcmMvYm94L2x1YS91cGdyYWRlLmx1 YQo+ICsrKyBiL3NyYy9ib3gvbHVhL3VwZ3JhZGUubHVhCj4gQEAgLTEsNiArMSw4IEBACj4gwqBs b2NhbCBsb2cgPSByZXF1aXJlKCdsb2cnKQo+IMKgbG9jYWwgYml0ID0gcmVxdWlyZSgnYml0JykK PiDCoGxvY2FsIGpzb24gPSByZXF1aXJlKCdqc29uJykKPiArbG9jYWwgZmlvID0gcmVxdWlyZSgn ZmlvJykKPiArbG9jYWwgeGxvZyA9IHJlcXVpcmUoJ3hsb2cnKQo+Cj4gwqAtLSBHdWVzdCB1c2Vy IGlkIC0gdGhlIGRlZmF1bHQgdXNlcgo+IMKgbG9jYWwgR1VFU1QgPSAwCj4gQEAgLTg2LDYgKzg4 LDQwIEBAIGxvY2FsIGZ1bmN0aW9uIHNldF9zeXN0ZW1fdHJpZ2dlcnModmFsKQo+IMKgwqDCoMKg wqBmb3JlYWNoX3N5c3RlbV9zcGFjZShmdW5jdGlvbihzKSBzOnJ1bl90cmlnZ2Vycyh2YWwpIGVu ZCkKPiDCoGVuZAo+Cj4gKy0tIEdldCBzY2hlbWEgdmVyc2lvbiwgc3RvcmVkIGluIF9zY2hlbWEg c3lzdGVtIHNwYWNlLCBieSByZWFkaW5nCj4gdGhlIGxhdGVzdAo+ICstLSBzbmFwc2hvdCBmaWxl IGZyb20gdGhlIHNuYXBfZGlyLiBVc2VmdWwgdG8gZGVmaW5lCj4gc2NoZW1hX3ZlcnNpb24gYmVm b3JlCj4gKy0tIHJlY292ZXJpbmcgdGhlIHNuYXBzaG90LCBiZWNhdXNlIHNvbWUgc2NoZW1hIHZl cnNpb25zIGFyZSB0b28KPiBvbGQgYW5kIGNhbm5vdAo+ICstLSBiZSByZWNvdmVyZWQgbm9ybWFs bHkuCj4gK2xvY2FsIGZ1bmN0aW9uIGdldF9zbmFwc2hvdF92ZXJzaW9uKHNuYXBfZGlyKQo+ICsg bG9jYWwgc25hcF9wYXR0ZXJuID0gc25hcF9kaXIuLicvJy4uc3RyaW5nLnJlcCgnWzAtOV0nLCAy MCkuLicuc25hcCcKPgo+IFByb2JhYmx5IHdlIGNvdWxkIHVzZSBmaW8ucGF0aGpvaW4gaGVyZQo+ Cj5ZZXAsIHN1cmUuIENoYW5nZWQuCj4KPiArIGxvY2FsIHNuYXBfbGlzdCA9IGZpby5nbG9iKHNu YXBfcGF0dGVybikKPiArIHRhYmxlLnNvcnQoc25hcF9saXN0KQo+ICsgbG9jYWwgc25hcCA9IHNu YXBfbGlzdFsjc25hcF9saXN0XQo+ICsgaWYgbm90IHNuYXAgdGhlbgo+ICsgcmV0dXJuIG5pbAo+ ICsgZW5kCj4gKyBsb2NhbCB2ZXJzaW9uID0gbmlsCj4gKyBmb3IgXywgcm93IGluIHhsb2cucGFp cnMoc25hcCkgZG8KPiArIGxvY2FsIHNpZCA9IHJvdy5CT0RZIGFuZCByb3cuQk9EWS5zcGFjZV9p ZAo+ICsgaWYgc2lkID09IGJveC5zY2hlbWEuU0NIRU1BX0lEIHRoZW4KPiArIGxvY2FsIHR1cGxl ID0gcm93LkJPRFkudHVwbGUKPiArIGlmIHR1cGxlIGFuZCB0dXBsZVsxXSA9PSAndmVyc2lvbicg dGhlbgo+ICsgbG9jYWwgbWFqb3IsIG1pbm9yLCBwYXRjaCA9IHR1cGxlWzJdLCB0dXBsZVszXSwg dHVwbGVbNF0gb3IgMAo+Cj4gQ291bGQgaXQgYmUgcmVwbGFjZWQgd2l0aMKgdHVwbGU6dW5wYWNr KDIsIDQpPwo+Cj5ZZXAuIEZpeGVkIGFzIHdlbGwuCj4KPiArIGlmIG1ham9yIGFuZCBtaW5vciBh bmQgcGF0Y2ggYW5kIHR5cGUobWFqb3IpID09ICdudW1iZXInIGFuZAo+ICsgdHlwZShtaW5vcikg PT0gJ251bWJlcicgYW5kIHR5cGUocGF0Y2gpID09ICdudW1iZXInIHRoZW4KPgo+IEhlcmUgeW91 IHVzZSB0eXBlKCkgPT0gbnVtYmVyIGNoZWNrcy7CoENvdWxkIGl0IGJlIGRpZmZlcmVudD8gSW4g Y2FzZSAKPiBvZiBicm9rZW4gc25hcD8KPgo+WWVwLCB0aGF0J3MgYSBjaGVjayBmb3IgYSBicm9r ZW4gc25hcC4KPiBTbywgd2Ugc2hvdWxkIGxvZyBpdCBJIGFzc3VtZS4gVGhlIHNhbWUgZm9yIHNp bWlsYXIgcGxhY2VzIGJlbG93Lgo+Cj5BZGRlZCBsb2dnaW5nLgo+Cj4gKyB2ZXJzaW9uID0gbWt2 ZXJzaW9uKG1ham9yLCBtaW5vciwgcGF0Y2gpCj4gKyBicmVhawo+ICsgZW5kCj4gKyBlbmQKPiAr IGVsc2VpZiBzaWQgYW5kIHNpZCA+IGJveC5zY2hlbWEuU0NIRU1BX0lEIHRoZW4KPiArIC0tIEV4 aXQgZWFybHkgaWYgdmVyc2lvbiB3YXNuJ3QgZm91bmQgaW4gX3NjaGVtYSBzcGFjZS4KPiArIC0t IFNuYXBzaG90IHJvd3MgYXJlIG9yZGVyZWQgYnkgc3BhY2UgaWQuCj4gKyBicmVhawo+ICsgZW5k Cj4gKyBlbmQKPiArIHJldHVybiB2ZXJzaW9uCj4gK2VuZAo+ICsKPiDCoC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gwqAtLSBCb290c3RyYXAKPiDCoC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g QEAgLTEzMSw2ICsxNjcsMTQ0IEBAIGxvY2FsIGZ1bmN0aW9uIGNyZWF0ZV9zeXN2aWV3KHNvdXJj ZV9pZCwKPiB0YXJnZXRfaWQpCj4gwqDCoMKgwqDCoGVuZAo+IMKgZW5kCj4KPiArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiArLS0gVGFyYW50b29sIDEuNy4xCj4gKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gK2xvY2FsIGZ1bmN0aW9uIHVzZXJfdHJpZ18xXzdfMShfLCB0dXBsZSkKPiArIGlm IHR1cGxlIGFuZCB0dXBsZVszXSA9PSAnZ3Vlc3QnIGFuZCBub3QgdHVwbGVbNV0gdGhlbgo+Cj4g SSB0aGluayBpdOKAmXMgYmV0dGVyIHRvIHVzZSBleHBsaWNpdCBjaGVjayBmb3IgdHVwbGVbNV0g dmFsdWUuCj4gSWYgaXTigJlzIGEgYm9vbGVhbiB2YWx1ZSBjb3VsZCBpdCBiZSBib3guTlVMTD8K Pgo+bm90IGJveC5OVUxMIHJldHVybnMgZmFsc2UsIHdoaWxlIG5vdCBuaWwgcmV0dXJucyB0cnVl Lgo+Cj5PbiB0aGUgb3RoZXIgaGFuZCwgYm94Lk5VTEwgPT0gbmlsIHJldHVybnMgdHJ1ZS4KPgo+ U28gSSdkIHJhdGhlciBsZWF2ZSB0aGlzIGNoZWNrLgo+Cj4KPkhlcmUncyB0aGUgZnVsbCBkaWZm Ogo+Cj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ZGlmZiAt LWdpdCBhL3NyYy9ib3gvbHVhL3VwZ3JhZGUubHVhIGIvc3JjL2JveC9sdWEvdXBncmFkZS5sdWEK PmluZGV4IDkyNWFkYWIxOC4uMDFlMjJhYTdjIDEwMDY0NAo+LS0tIGEvc3JjL2JveC9sdWEvdXBn cmFkZS5sdWEKPisrKyBiL3NyYy9ib3gvbHVhL3VwZ3JhZGUubHVhCj5AQCAtODgsMTIgKzg4LDIz IEBAIGxvY2FsIGZ1bmN0aW9uIHNldF9zeXN0ZW1fdHJpZ2dlcnModmFsKQo+wqDCoMKgwqDCoCBm b3JlYWNoX3N5c3RlbV9zcGFjZShmdW5jdGlvbihzKSBzOnJ1bl90cmlnZ2Vycyh2YWwpIGVuZCkK PsKgwqBlbmQKPgo+K2xvY2FsIGZ1bmN0aW9uIHZlcnNpb25fZnJvbV90dXBsZSh0dXBsZSkKPivC oMKgwqAgbG9jYWwgbWFqb3IsIG1pbm9yLCBwYXRjaCA9IHR1cGxlOnVucGFjaygyLCA0KQo+K8Kg wqDCoCBwYXRjaCA9IHBhdGNoIG9yIDAKPivCoMKgwqAgaWYgbWFqb3IgYW5kIG1pbm9yIGFuZCB0 eXBlKG1ham9yKSA9PSAnbnVtYmVyJyBhbmQKPivCoMKgwqDCoMKgwqAgdHlwZShtaW5vcikgPT0g J251bWJlcicgYW5kIHR5cGUocGF0Y2gpID09ICdudW1iZXInIHRoZW4KPivCoMKgwqDCoMKgwqDC oCByZXR1cm4gbWt2ZXJzaW9uKG1ham9yLCBtaW5vciwgcGF0Y2gpCj4rwqDCoMKgIGVuZAo+K8Kg wqDCoCByZXR1cm4gbmlsCj4rZW5kCj4rCj7CoMKgLS0gR2V0IHNjaGVtYSB2ZXJzaW9uLCBzdG9y ZWQgaW4gX3NjaGVtYSBzeXN0ZW0gc3BhY2UsIGJ5IHJlYWRpbmcgdGhlIAo+bGF0ZXN0Cj7CoMKg LS0gc25hcHNob3QgZmlsZSBmcm9tIHRoZSBzbmFwX2Rpci4gVXNlZnVsIHRvIGRlZmluZSBzY2hl bWFfdmVyc2lvbiBiZWZvcmUKPsKgwqAtLSByZWNvdmVyaW5nIHRoZSBzbmFwc2hvdCwgYmVjYXVz ZSBzb21lIHNjaGVtYSB2ZXJzaW9ucyBhcmUgdG9vIG9sZCAKPmFuZCBjYW5ub3QKPsKgwqAtLSBi ZSByZWNvdmVyZWQgbm9ybWFsbHkuCj7CoMKgbG9jYWwgZnVuY3Rpb24gZ2V0X3NuYXBzaG90X3Zl cnNpb24oc25hcF9kaXIpCj4twqDCoMKgIGxvY2FsIHNuYXBfcGF0dGVybiA9IHNuYXBfZGlyLi4n LycuLnN0cmluZy5yZXAoJ1swLTldJywgMjApLi4nLnNuYXAnCj4rwqDCoMKgIGxvY2FsIHNuYXBf cGF0dGVybiA9IGZpby5wYXRoam9pbihzbmFwX2RpciwKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJp bmcucmVwKCdbMC05XScsIDIwKS4uJy5zbmFwJykKPsKgwqDCoMKgwqAgbG9jYWwgc25hcF9saXN0 ID0gZmlvLmdsb2Ioc25hcF9wYXR0ZXJuKQo+wqDCoMKgwqDCoCB0YWJsZS5zb3J0KHNuYXBfbGlz dCkKPsKgwqDCoMKgwqAgbG9jYWwgc25hcCA9IHNuYXBfbGlzdFsjc25hcF9saXN0XQo+QEAgLTEw NiwxMiArMTE3LDE0IEBAIGxvY2FsIGZ1bmN0aW9uIGdldF9zbmFwc2hvdF92ZXJzaW9uKHNuYXBf ZGlyKQo+wqDCoMKgwqDCoMKgwqDCoMKgIGlmIHNpZCA9PSBib3guc2NoZW1hLlNDSEVNQV9JRCB0 aGVuCj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2NhbCB0dXBsZSA9IHJvdy5CT0RZLnR1 cGxlCj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiB0dXBsZSBhbmQgdHVwbGVbMV0gPT0g J3ZlcnNpb24nIHRoZW4KPi3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9jYWwgbWFq b3IsIG1pbm9yLCBwYXRjaCA9IHR1cGxlWzJdLCB0dXBsZVszXSwgCj50dXBsZVs0XSBvciAwCj4t wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIG1ham9yIGFuZCBtaW5vciBhbmQgcGF0 Y2ggYW5kIHR5cGUobWFqb3IpID09IAo+J251bWJlcicgYW5kCj4twqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHR5cGUobWlub3IpID09ICdudW1iZXInIGFuZCB0eXBlKHBhdGNo KSA9PSAnbnVtYmVyJyB0aGVuCj4twqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdmVyc2lvbiA9IG1rdmVyc2lvbihtYWpvciwgbWlub3IsIHBhdGNoKQo+LcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGxvY2FsIG1ham9yLCBtaW5vciwgcGF0Y2ggPSB0dXBsZTp1bnBhY2soMiwgNCkK PivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGF0Y2ggPSBwYXRjaCBvciAwCj4rwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZlcnNpb24gPSB2ZXJzaW9uX2Zyb21fdHVwbGUo dHVwbGUpCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIG5vdCB2ZXJzaW9uIHRo ZW4KPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2cuZXJyb3IoIkNv cnJ1cHRlZCB2ZXJzaW9uIHR1cGxlIGluIHNwYWNlIAo+J19zY2hlbWEnICIuLgo+K8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgImluIHNu YXBzaG90ICclcyc6ICVzICIsIHNuYXAsIHR1cGxlKQo+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBlbmQKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWsKPsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVuZAo+wqDCoMKgwqDCoMKgwqDCoMKgIGVsc2VpZiBz aWQgYW5kIHNpZCA+IGJveC5zY2hlbWEuU0NIRU1BX0lEIHRoZW4KPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIC0tIEV4aXQgZWFybHkgaWYgdmVyc2lvbiB3YXNuJ3QgZm91bmQgaW4gX3NjaGVt YSBzcGFjZS4KPkBAIC0xMjg0LDEwICsxMjk3LDggQEAgbG9jYWwgcmVjb3ZlcnlfdHJpZ2dlcnMg PSB7Cj7CoMKgLS0gc25hcHNob3QpLCB0aGUgdHJpZ2dlcnMgaGVscGluZyByZWNvdmVyIHRoZSBv bGQgc2NoZW1hIHNob3VsZCBiZSAKPnJlbW92ZWQuCj7CoMKgbG9jYWwgZnVuY3Rpb24gc2NoZW1h X3RyaWdfbGFzdChfLCB0dXBsZSkKPsKgwqDCoMKgwqAgaWYgdHVwbGUgYW5kIHR1cGxlWzFdID09 ICd2ZXJzaW9uJyB0aGVuCj4twqDCoMKgwqDCoMKgwqAgbG9jYWwgbWFqb3IsIG1pbm9yLCBwYXRj aCA9IHR1cGxlWzJdLCB0dXBsZVszXSwgdHVwbGVbNF0gb3IgMAo+LcKgwqDCoMKgwqDCoMKgIGlm IG1ham9yIGFuZCBtaW5vciBhbmQgcGF0Y2ggYW5kIHR5cGUobWFqb3IpID09ICdudW1iZXInIGFu ZAo+LcKgwqDCoMKgwqDCoMKgwqDCoMKgIHR5cGUobWlub3IpID09ICdudW1iZXInIGFuZCB0eXBl KHBhdGNoKSA9PSAnbnVtYmVyJyB0aGVuCj4twqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2NhbCB2 ZXJzaW9uID0gbWt2ZXJzaW9uKG1ham9yLCBtaW5vciwgcGF0Y2gpCj4rwqDCoMKgwqDCoMKgwqAg bG9jYWwgdmVyc2lvbiA9IHZlcnNpb25fZnJvbV90dXBsZSh0dXBsZSkKPivCoMKgwqDCoMKgwqDC oCBpZiB2ZXJzaW9uIHRoZW4KPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxvZy5pbmZvKCJS ZWNvdmVyeSB0cmlnZ2VyOiByZWNvdmVyZWQgc2NoZW1hIHZlcnNpb24gJXMuICIuLgo+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIlJlbW92aW5nIG91dGRhdGVk IHJlY292ZXJ5IHRyaWdnZXJzLiIsIHZlcnNpb24pCj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBib3guaW50ZXJuYWwuY2xlYXJfcmVjb3ZlcnlfdHJpZ2dlcnModmVyc2lvbikKPgo+Cj49PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Cj4gKyBsb2NhbCBhdXRo X21ldGhvZF9saXN0ID0ge30KPiArIGF1dGhfbWV0aG9kX2xpc3RbImNoYXAtc2hhMSJdID0gYm94 LnNjaGVtYS51c2VyLnBhc3N3b3JkKCIiKQo+ICsgdHVwbGUgPSB0dXBsZTp1cGRhdGV7eyc9Jywg NSwgYXV0aF9tZXRob2RfbGlzdH19Cj4gKyBsb2cuaW5mbygiU2V0IGVtcHR5IHBhc3N3b3JkIHRv IHVzZXIgJ2d1ZXN0JyIpCj4gKyBlbmQKPiArIHJldHVybiB0dXBsZQo+ICtlbmQKPiArCj4gKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKy0tIFRhcmFudG9vbCAxLjcuMgo+ICstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+ICtsb2NhbCBmdW5jdGlvbiBpbmRleF90cmlnXzFfN18yKF8sIHR1cGxl KQo+ICsgbG9jYWwgZmllbGRfdHlwZXNfdjE2ID0gewo+ICsgbnVtID0gJ3Vuc2lnbmVkJywKPiAr IGludCA9ICdpbnRlZ2VyJywKPiArIHN0ciA9ICdzdHJpbmcnLAo+ICsgfQo+ICsgaWYgbm90IHR1 cGxlIHRoZW4KPiArIHJldHVybiB0dXBsZQo+ICsgZW5kCj4gKyBsb2NhbCBwYXJ0cyA9IHR1cGxl WzZdCj4gKyBsb2NhbCBjaGFuZ2VkID0gZmFsc2UKPiArIGZvciBfLCBwYXJ0IGluIHBhaXJzKHBh cnRzKSBkbwo+ICsgbG9jYWwgZmllbGRfdHlwZSA9IHBhcnRbMl06bG93ZXIoKQo+ICsgaWYgZmll bGRfdHlwZXNfdjE2W2ZpZWxkX3R5cGVdIH49IG5pbCB0aGVuCj4gKyBwYXJ0WzJdID0gZmllbGRf dHlwZXNfdjE2W2ZpZWxkX3R5cGVdCj4gKyBjaGFuZ2VkID0gdHJ1ZQo+ICsgZW5kCj4gKyBlbmQK PiArIGlmIGNoYW5nZWQgdGhlbgo+ICsgbG9nLmluZm8oIlVwZGF0ZSBpbmRleCAnJXMnIG9uIHNw YWNlICclcyc6IHNldCBwYXJ0cyB0byAlcyIsCj4gdHVwbGVbM10sCj4gKyBib3guc3BhY2VbdHVw bGVbMV1dLm5hbWUsIGpzb24uZW5jb2RlKHBhcnRzKSkKPiArIHR1cGxlID0gdHVwbGU6dXBkYXRl e3snPScsIDYsIHBhcnRzfX0KPiArIGVuZAo+ICsgcmV0dXJuIHR1cGxlCj4gK2VuZAo+ICsKPiAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiArLS0gVGFyYW50b29sIDEuNy41Cj4gKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gK2xvY2FsIGZ1bmN0aW9uIGNyZWF0ZV90cnVuY2F0ZV9zcGFjZSgp Cj4gKyBsb2NhbCBfdHJ1bmNhdGUgPSBib3guc3BhY2VbYm94LnNjaGVtYS5UUlVOQ0FURV9JRF0K PiArCj4gKyBsb2cuaW5mbygiY3JlYXRlIHNwYWNlIF90cnVuY2F0ZSIpCj4gKyBib3guc3BhY2Uu X3NwYWNlOmluc2VydHsKPiArIF90cnVuY2F0ZS5pZCwgQURNSU4sICdfdHJ1bmNhdGUnLCAnbWVt dHgnLCAwLCBzZXRtYXAoe30pLAo+ICsge3tuYW1lID0gJ2lkJywgdHlwZSA9ICd1bnNpZ25lZCd9 LCB7bmFtZSA9ICdjb3VudCcsIHR5cGUgPQo+ICd1bnNpZ25lZCd9fQo+ICsgfQo+ICsKPiArIGxv Zy5pbmZvKCJjcmVhdGUgaW5kZXggcHJpbWFyeSBvbiBfdHJ1bmNhdGUiKQo+ICsgYm94LnNwYWNl Ll9pbmRleDppbnNlcnR7Cj4gKyBfdHJ1bmNhdGUuaWQsIDAsICdwcmltYXJ5JywgJ3RyZWUnLCB7 dW5pcXVlID0gdHJ1ZX0sIHt7MCwKPiAndW5zaWduZWQnfX0KPiArIH0KPiArCj4gKyBsb2NhbCBf cHJpdiA9IGJveC5zcGFjZVtib3guc2NoZW1hLlBSSVZfSURdCj4gKyBfcHJpdjppbnNlcnR7QURN SU4sIFBVQkxJQywgJ3NwYWNlJywgX3RydW5jYXRlLmlkLCBib3gucHJpdi5XfQo+ICtlbmQKPiAr Cj4gK2xvY2FsIGZ1bmN0aW9uIHVwZ3JhZGVfdG9fMV83XzUoKQo+ICsgY3JlYXRlX3RydW5jYXRl X3NwYWNlKCkKPiArZW5kCj4gKwo+ICtsb2NhbCBmdW5jdGlvbiB1c2VyX3RyaWdfMV83XzUoXywg dHVwbGUpCj4gKyBpZiB0dXBsZSBhbmQgbm90IHR1cGxlWzVdIHRoZW4KPiArIHR1cGxlID0gdHVw bGU6dXBkYXRle3snPScsIDUsIHNldG1hcCh7fSl9fQo+ICsgbG9nLmluZm8oIlNldCBlbXB0eSBw YXNzd29yZCB0byAlcyAnJXMnIiwgdHVwbGVbNF0sIHR1cGxlWzNdKQo+ICsgZW5kCj4gKyByZXR1 cm4gdHVwbGUKPiArZW5kCj4gKwo+ICtsb2NhbCBzcGFjZV9mb3JtYXRzXzFfN181ID0gewo+ICsg X3NjaGVtYSA9IHsKPiArIHtuYW1lID0gJ2tleScsIHR5cGUgPSAnc3RyaW5nJ30sCj4gKyB9LAo+ ICsgX3NwYWNlID0gewo+ICsge25hbWUgPSAnaWQnLCB0eXBlID0gJ3Vuc2lnbmVkJ30sCj4gKyB7 bmFtZSA9ICdvd25lcicsIHR5cGUgPSAndW5zaWduZWQnfSwKPiArIHtuYW1lID0gJ25hbWUnLCB0 eXBlID0gJ3N0cmluZyd9LAo+ICsge25hbWUgPSAnZW5naW5lJywgdHlwZSA9ICdzdHJpbmcnfSwK PiArIHtuYW1lID0gJ2ZpZWxkX2NvdW50JywgdHlwZSA9ICd1bnNpZ25lZCd9LAo+ICsge25hbWUg PSAnZmxhZ3MnLCB0eXBlID0gJ21hcCd9LAo+ICsge25hbWUgPSAnZm9ybWF0JywgdHlwZSA9ICdh cnJheSd9LAo+ICsgfSwKPiArIF9pbmRleCA9IHsKPiArIHtuYW1lID0gJ2lkJywgdHlwZSA9ICd1 bnNpZ25lZCd9LAo+ICsge25hbWUgPSAnaWlkJywgdHlwZSA9ICd1bnNpZ25lZCd9LAo+ICsge25h bWUgPSAnbmFtZScsIHR5cGUgPSAnc3RyaW5nJ30sCj4gKyB7bmFtZSA9ICd0eXBlJywgdHlwZSA9 ICdzdHJpbmcnfSwKPiArIHtuYW1lID0gJ29wdHMnLCB0eXBlID0gJ21hcCd9LAo+ICsge25hbWUg PSAncGFydHMnLCB0eXBlID0gJ2FycmF5J30sCj4gKyB9LAo+ICsgX2Z1bmMgPSB7Cj4gKyB7bmFt ZSA9ICdpZCcsIHR5cGUgPSAndW5zaWduZWQnfSwKPiArIHtuYW1lID0gJ293bmVyJywgdHlwZSA9 ICd1bnNpZ25lZCd9LAo+ICsge25hbWUgPSAnbmFtZScsIHR5cGUgPSAnc3RyaW5nJ30sCj4gKyB7 bmFtZSA9ICdzZXR1aWQnLCB0eXBlID0gJ3Vuc2lnbmVkJ30sCj4gKyB9LAo+ICsgX3VzZXIgPSB7 Cj4gKyB7bmFtZSA9ICdpZCcsIHR5cGUgPSAndW5zaWduZWQnfSwKPiArIHtuYW1lID0gJ293bmVy JywgdHlwZSA9ICd1bnNpZ25lZCd9LAo+ICsge25hbWUgPSAnbmFtZScsIHR5cGUgPSAnc3RyaW5n J30sCj4gKyB7bmFtZSA9ICd0eXBlJywgdHlwZSA9ICdzdHJpbmcnfSwKPiArIHtuYW1lID0gJ2F1 dGgnLCB0eXBlID0gJ21hcCd9LAo+ICsgfSwKPiArIF9wcml2ID0gewo+ICsge25hbWUgPSAnZ3Jh bnRvcicsIHR5cGUgPSAndW5zaWduZWQnfSwKPiArIHtuYW1lID0gJ2dyYW50ZWUnLCB0eXBlID0g J3Vuc2lnbmVkJ30sCj4gKyB7bmFtZSA9ICdvYmplY3RfdHlwZScsIHR5cGUgPSAnc3RyaW5nJ30s Cj4gKyB7bmFtZSA9ICdvYmplY3RfaWQnLCB0eXBlID0gJ3Vuc2lnbmVkJ30sCj4gKyB7bmFtZSA9 ICdwcml2aWxlZ2UnLCB0eXBlID0gJ3Vuc2lnbmVkJ30sCj4gKyB9LAo+ICsgX2NsdXN0ZXIgPSB7 Cj4gKyB7bmFtZSA9ICdpZCcsIHR5cGUgPSAndW5zaWduZWQnfSwKPiArIHtuYW1lID0gJ3V1aWQn LCB0eXBlID0gJ3N0cmluZyd9LAo+ICsgfSwKPiArfQo+ICsKPiArc3BhY2VfZm9ybWF0c18xXzdf NS5fdnNwYWNlID0gc3BhY2VfZm9ybWF0c18xXzdfNS5fc3BhY2UKPiArc3BhY2VfZm9ybWF0c18x XzdfNS5fdmluZGV4ID0gc3BhY2VfZm9ybWF0c18xXzdfNS5faW5kZXgKPiArc3BhY2VfZm9ybWF0 c18xXzdfNS5fdmZ1bmMgPSBzcGFjZV9mb3JtYXRzXzFfN181Ll9mdW5jCj4gK3NwYWNlX2Zvcm1h dHNfMV83XzUuX3Z1c2VyID0gc3BhY2VfZm9ybWF0c18xXzdfNS5fdXNlcgo+ICtzcGFjZV9mb3Jt YXRzXzFfN181Ll92cHJpdiA9IHNwYWNlX2Zvcm1hdHNfMV83XzUuX3ByaXYKPiArCj4gK2xvY2Fs IGZ1bmN0aW9uIHNwYWNlX3RyaWdfMV83XzUoXywgdHVwbGUpCj4gKyBpZiB0dXBsZSBhbmQgc3Bh Y2VfZm9ybWF0c18xXzdfNVt0dXBsZVszXV0gYW5kCj4gKyBub3QgdGFibGUuZXF1YWxzKHNwYWNl X2Zvcm1hdHNfMV83XzVbdHVwbGVbM11dLCB0dXBsZVs3XSkgdGhlbgo+ICsgdHVwbGUgPSB0dXBs ZTp1cGRhdGV7eyc9JywgNywgc3BhY2VfZm9ybWF0c18xXzdfNVt0dXBsZVszXV19fQo+ICsgbG9n LmluZm8oIlVwZGF0ZSBzcGFjZSAnJXMnIGZvcm1hdDogbmV3IGZvcm1hdCAlcyIsIHR1cGxlWzNd LAo+ICsganNvbi5lbmNvZGUodHVwbGVbN10pKQo+ICsgZW5kCj4gKyByZXR1cm4gdHVwbGUKPiAr ZW5kCj4gKwo+IMKgbG9jYWwgZnVuY3Rpb24gaW5pdGlhbF8xXzdfNSgpCj4gwqDCoMKgwqDCoC0t IHN0aWNrIHRvIHRoZSBmb2xsb3dpbmcgY29udmVudGlvbjoKPiDCoMKgwqDCoMKgLS0gcHJlZmVy IHVzZXIgaWQgKG93bmVyIGlkKSBpbiBmaWVsZCAjMQo+IEBAIC00NTIsNiArNjI2LDE1IEBAIGxv Y2FsIGZ1bmN0aW9uIHVwZ3JhZGVfdG9fMV83XzcoKQo+IMKgwqDCoMKgwqBfcHJpdjpyZXBsYWNl KHtBRE1JTiwgU1VQRVIsICd1bml2ZXJzZScsIDAsIDQyOTQ5NjcyOTV9KQo+IMKgZW5kCj4KPiAr bG9jYWwgZnVuY3Rpb24gcHJpdl90cmlnXzFfN183KF8sIHR1cGxlKQo+ICsgaWYgdHVwbGUgYW5k IHR1cGxlWzJdID09IEFETUlOIGFuZCB0dXBsZVszXSA9PSAndW5pdmVyc2UnIGFuZAo+ICsgdHVw bGVbNV0gfj0gYm94LnByaXYuQUxMIHRoZW4KPiArIHR1cGxlID0gdHVwbGU6dXBkYXRle3snPScs IDUsIGJveC5wcml2LkFMTH19Cj4gKyBsb2cuaW5mbygiR3JhbnQgYWxsIHByaXZpbGVnZXMgdG8g dXNlciAnYWRtaW4nIikKPiArIGVuZAo+ICsgcmV0dXJuIHR1cGxlCj4gK2VuZAo+ICsKPiDCoC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gwqAtLS0gVGFyYW50b29sIDEuMTAuMAo+IMKgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiBAQCAtMTAyMSw2ICsxMjA0LDcgQEAgZW5kCj4gwqAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+Cj4gwqBsb2NhbCBoYW5kbGVycyA9IHsKPiArIHt2ZXJzaW9uID0g bWt2ZXJzaW9uKDEsIDcsIDUpLCBmdW5jID0gdXBncmFkZV90b18xXzdfNSwgYXV0bz10cnVlfSwK PiDCoMKgwqDCoMKge3ZlcnNpb24gPSBta3ZlcnNpb24oMSwgNywgNiksIGZ1bmMgPSB1cGdyYWRl X3RvXzFfN182LCBhdXRvCj4gPSB0cnVlfSwKPiDCoMKgwqDCoMKge3ZlcnNpb24gPSBta3ZlcnNp b24oMSwgNywgNyksIGZ1bmMgPSB1cGdyYWRlX3RvXzFfN183LCBhdXRvCj4gPSB0cnVlfSwKPiDC oMKgwqDCoMKge3ZlcnNpb24gPSBta3ZlcnNpb24oMSwgMTAsIDApLCBmdW5jID0gdXBncmFkZV90 b18xXzEwXzAsCj4gYXV0byA9IHRydWV9LAo+IEBAIC0xMDYxLDEzICsxMjQ1LDk4IEBAIGxvY2Fs IGZ1bmN0aW9uIHNjaGVtYV9uZWVkc191cGdyYWRlKCkKPiDCoMKgwqDCoMKgcmV0dXJuIGZhbHNl Cj4gwqBlbmQKPgo+ICtsb2NhbCB0cmlnX29sZGVzdF92ZXJzaW9uID0gbmlsCj4gKwo+ICstLSBT b21lIHNjaGVtYSBjaGFuZ2VzIGJlZm9yZSB2ZXJzaW9uIDEuNy43IG1ha2UgaXQgaW1wb3NzaWJs ZSB0bwo+IHJlY292ZXIgZnJvbQo+ICstLSBvbGRlciBzbmFwc2hvdC4gVGhlIHRhYmxlIGJlbG93 IGNvbnNpc3RzIG9mIGJlZm9yZV9yZXBsYWNlCj4gdHJpZ2dlcnMgb24gc3lzdGVtCj4gKy0tIHNw YWNlcywgd2hpY2ggbWFrZSBvbGQgc25hcHNob3Qgc2NoZW1hIGNvbXBhdGlibGUgd2l0aCBjdXJy ZW50Cj4gVGFyYW50b29sCj4gKy0tICh2ZXJzaW9uIDIueCkuIFRoZSB0cmlnZ2VycyByZXBsYWNl IG9sZCBmb3JtYXQgdHVwbGVzIHdpdGggbmV3Cj4gb25lcwo+ICstLSBpbi1tZW1vcnksIHRodXMg bWFraW5nIGl0IHBvc3NpYmxlIHRvIHJlY292ZXIgZnJvbSBhIHJhdGhlcgo+IG9sZCBzbmFwc2hv dAo+ICstLSAodXAgdG8gc2NoZW1hIHZlcnNpb24gMS42LjgpLiBPbmNlIHRoZSBzbmFwc2hvdCBp cyByZWNvdmVyZWQsCj4gYSBub3JtYWwKPiArLS0gdXBncmFkZSBwcm9jZWR1cmUgbWF5IHNldCBz Y2hlbWEgdmVyc2lvbiB0byB0aGUgbGF0ZXN0IG9uZS4KPiArLS0KPiArLS0gVGhlIHRyaWdnZXJz IG1vc3RseSByZXBlYXQgdGhlIGNvcnJlc3BvbmRpbmcgdXBncmFkZV90b18xXzdfeAo+IGZ1bmN0 aW9ucywKPiArLS0gd2hpY2ggd2VyZSB1c2VkIHdoZW4gcHJlLTEuNy54IHNuYXBzaG90IHNjaGVt YSB3YXMgc3RpbGwKPiByZWNvdmVyYWJsZS4KPiArLS0KPiArLS0gV2hlbiB0aGUgdHJpZ2dlcnMg YXJlIHVzZWQgKGkuZS4gd2hlbiBzbmFwc2hvdCBzY2hlbWEgdmVyc2lvbgo+IGlzIGJlbG93IDEu Ny41LAo+ICstLSB0aGUgdXBncmFkZSBwcm9jZWR1cmUgd29ya3MgYXMgZm9sbG93czoKPiArLS0g KiBmaXJzdCB0aGUgc25hcHNob3QgaXMgcmVjb3ZlcmVkIGFuZCAxLjcuNS1jb21wYXRpYmxlIHNj aGVtYQo+IGlzIGFwcGxpZWQgdG8KPiArLS0gaXQgaW4tbWVtb3J5IHdpdGggdGhlIGhlbHAgb2Yg dHJpZ2dlcnMuCj4gKy0tICogdGhlbiB1c3VhbCB1cGdyYWRlX3RvX1hfWF9YKCkgaGFuZGxlcnMg bWF5IGJlIGZpcmVkIHRvIHR1cm4KPiBzY2hlbWEgaW50byB0aGUKPiArLS0gbGF0ZXN0IG9uZS4K PiArbG9jYWwgcmVjb3ZlcnlfdHJpZ2dlcnMgPSB7Cj4gKyB7dmVyc2lvbiA9IG1rdmVyc2lvbigx LCA3LCAxKSwgdGJsID0gewo+ICsgX3VzZXIgPSB1c2VyX3RyaWdfMV83XzEsCj4gKyB9fSwKPiAr IHt2ZXJzaW9uID0gbWt2ZXJzaW9uKDEsIDcsIDIpLCB0YmwgPSB7Cj4gKyBfaW5kZXggPSBpbmRl eF90cmlnXzFfN18yLAo+ICsgfX0sCj4gKyB7dmVyc2lvbiA9IG1rdmVyc2lvbigxLCA3LCA1KSwg dGJsID0gewo+ICsgX3NwYWNlID0gc3BhY2VfdHJpZ18xXzdfNSwKPiArIF91c2VyID0gdXNlcl90 cmlnXzFfN181LAo+ICsgfX0sCj4gKyB7dmVyc2lvbiA9IG1rdmVyc2lvbigxLCA3LCA3KSwgdGJs ID0gewo+ICsgX3ByaXYgPSBwcml2X3RyaWdfMV83XzcsCj4gKyB9fSwKPiArfQo+ICsKPiArLS0g T25jZSBuZXdlciBzY2hlbWEgdmVyc2lvbiBpcyByZWNvdmVyZWQgKHNheSwgZnJvbSBhbiB4bG9n Cj4gZm9sbG93aW5nIHRoZSBvbGQKPiArLS0gc25hcHNob3QpLCB0aGUgdHJpZ2dlcnMgaGVscGlu ZyByZWNvdmVyIHRoZSBvbGQgc2NoZW1hIHNob3VsZAo+IGJlIHJlbW92ZWQuCj4gK2xvY2FsIGZ1 bmN0aW9uIHNjaGVtYV90cmlnX2xhc3QoXywgdHVwbGUpCj4gKyBpZiB0dXBsZSBhbmQgdHVwbGVb MV0gPT0gJ3ZlcnNpb24nIHRoZW4KPiArIGxvY2FsIG1ham9yLCBtaW5vciwgcGF0Y2ggPSB0dXBs ZVsyXSwgdHVwbGVbM10sIHR1cGxlWzRdIG9yIDAKPiArIGlmIG1ham9yIGFuZCBtaW5vciBhbmQg cGF0Y2ggYW5kIHR5cGUobWFqb3IpID09ICdudW1iZXInIGFuZAo+ICsgdHlwZShtaW5vcikgPT0g J251bWJlcicgYW5kIHR5cGUocGF0Y2gpID09ICdudW1iZXInIHRoZW4KPiArIGxvY2FsIHZlcnNp b24gPSBta3ZlcnNpb24obWFqb3IsIG1pbm9yLCBwYXRjaCkKPiArIGxvZy5pbmZvKCJSZWNvdmVy eSB0cmlnZ2VyOiByZWNvdmVyZWQgc2NoZW1hIHZlcnNpb24gJXMuICIuLgo+ICsgIlJlbW92aW5n IG91dGRhdGVkIHJlY292ZXJ5IHRyaWdnZXJzLiIsIHZlcnNpb24pCj4gKyBib3guaW50ZXJuYWwu Y2xlYXJfcmVjb3ZlcnlfdHJpZ2dlcnModmVyc2lvbikKPiArIHRyaWdfb2xkZXN0X3ZlcnNpb24g PSB2ZXJzaW9uCj4gKyBlbmQKPiArIGVuZAo+ICsgcmV0dXJuIHR1cGxlCj4gK2VuZAo+ICsKPiAr cmVjb3ZlcnlfdHJpZ2dlcnNbI3JlY292ZXJ5X3RyaWdnZXJzXS50YmxbJ19zY2hlbWEnXSA9Cj4g c2NoZW1hX3RyaWdfbGFzdAo+ICsKPiArbG9jYWwgZnVuY3Rpb24gb25faW5pdF9zZXRfcmVjb3Zl cnlfdHJpZ2dlcnMoKQo+ICsgbG9nLmluZm8oIlJlY292ZXJpbmcgc25hcHNob3Qgd2l0aCBzY2hl bWEgdmVyc2lvbiAlcyIsCj4gdHJpZ19vbGRlc3RfdmVyc2lvbikKPiArIGZvciBfLCB0cmlnX3Ri bCBpbiBpcGFpcnMocmVjb3ZlcnlfdHJpZ2dlcnMpIGRvCj4gKyBpZiB0cmlnX3RibC52ZXJzaW9u ID4gdHJpZ19vbGRlc3RfdmVyc2lvbiB0aGVuCj4gKyBmb3Igc3BhY2UsIHRyaWcgaW4gcGFpcnMo dHJpZ190YmwudGJsKSBkbwo+ICsgYm94LnNwYWNlW3NwYWNlXTpiZWZvcmVfcmVwbGFjZSh0cmln KQo+ICsgbG9nLmluZm8oIlNldCByZWNvdmVyeSB0cmlnZ2VyIG9uIHNwYWNlICclcycgdG8gY29t cGx5IHdpdGggIi4uCj4gKyAidmVyc2lvbiAlcyBmb3JtYXQiLCBzcGFjZSwgdHJpZ190YmwudmVy c2lvbikKPiArIGVuZAo+ICsgZW5kCj4gKyBlbmQKPiArZW5kCj4gKwo+ICtsb2NhbCBmdW5jdGlv biBzZXRfcmVjb3ZlcnlfdHJpZ2dlcnModmVyc2lvbikKPiArIHRyaWdfb2xkZXN0X3ZlcnNpb24g PSB2ZXJzaW9uCj4gKyBib3guY3RsLm9uX3NjaGVtYV9pbml0KG9uX2luaXRfc2V0X3JlY292ZXJ5 X3RyaWdnZXJzKQo+ICtlbmQKPiArCj4gK2xvY2FsIGZ1bmN0aW9uIGNsZWFyX3JlY292ZXJ5X3Ry aWdnZXJzKHZlcnNpb24pCj4gKyBmb3IgXywgdHJpZ190YmwgaW4gaXBhaXJzKHJlY292ZXJ5X3Ry aWdnZXJzKSBkbwo+ICsgaWYgdHJpZ190YmwudmVyc2lvbiA+IHRyaWdfb2xkZXN0X3ZlcnNpb24g YW5kCj4gKyAobm90IHZlcnNpb24gb3IgdHJpZ190YmwudmVyc2lvbiA8ID0gdmVyc2lvbikgdGhl bgo+ICsgZm9yIHNwYWNlLCB0cmlnIGluIHBhaXJzKHRyaWdfdGJsLnRibCkgZG8KPiArIGJveC5z cGFjZVtzcGFjZV06YmVmb3JlX3JlcGxhY2UobmlsLCB0cmlnKQo+ICsgbG9nLmluZm8oIlJlbW92 ZSByZWNvdmVyeSB0cmlnZ2VyIG9uIHNwYWNlICclcycgZm9yIHZlcnNpb24gJXMiLAo+ICsgc3Bh Y2UsIHRyaWdfdGJsLnZlcnNpb24pCj4gKyBlbmQKPiArIGVuZAo+ICsgZW5kCj4gK2VuZAo+ICsK PiDCoGxvY2FsIGZ1bmN0aW9uIHVwZ3JhZGUob3B0aW9ucykKPiDCoMKgwqDCoMKgb3B0aW9ucyA9 IG9wdGlvbnMgb3Ige30KPiDCoMKgwqDCoMKgc2V0bWV0YXRhYmxlKG9wdGlvbnMsIHtfX2luZGV4 ID0ge2F1dG8gPSBmYWxzZX19KQo+Cj4gwqDCoMKgwqDCoGxvY2FsIHZlcnNpb24gPSBnZXRfdmVy c2lvbigpCj4gLSBpZiB2ZXJzaW9uIDwgbWt2ZXJzaW9uKDEsIDcsIDUpIHRoZW4KPiAtIGxvZy53 YXJuKCdjYW4gdXBncmFkZSBmcm9tIDEuNy41IG9ubHknKQo+ICsgaWYgdmVyc2lvbiA8IG1rdmVy c2lvbigxLCA2LCA4KSB0aGVuCj4gKyBsb2cud2FybignY2FuIHVwZ3JhZGUgZnJvbSAxLjYuOCBv bmx5JykKPiDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4KPiDCoMKgwqDCoMKgZW5kCj4KPiBAQCAt MTExMCwzICsxMzc5LDYgQEAgZW5kCj4gwqBib3guc2NoZW1hLnVwZ3JhZGUgPSB1cGdyYWRlOwo+ IMKgYm94LmludGVybmFsLmJvb3RzdHJhcCA9IGJvb3RzdHJhcDsKPiDCoGJveC5pbnRlcm5hbC5z Y2hlbWFfbmVlZHNfdXBncmFkZSA9IHNjaGVtYV9uZWVkc191cGdyYWRlOwo+ICtib3guaW50ZXJu YWwuZ2V0X3NuYXBzaG90X3ZlcnNpb24gPSBnZXRfc25hcHNob3RfdmVyc2lvbjsKPiArYm94Lmlu dGVybmFsLnNldF9yZWNvdmVyeV90cmlnZ2VycyA9IHNldF9yZWNvdmVyeV90cmlnZ2VyczsKPiAr Ym94LmludGVybmFsLmNsZWFyX3JlY292ZXJ5X3RyaWdnZXJzID0gY2xlYXJfcmVjb3ZlcnlfdHJp Z2dlcnM7Cj4gZGlmZiAtLWdpdCBhL3Rlc3QveGxvZy9naC01ODk0LXByZS0xLjcuNy11cGdyYWRl LnJlc3VsdAo+IGIvdGVzdC94bG9nL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUucmVzdWx0Cj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAuLmFiYTVhNTZhYgo+IC0tLSAv ZGV2L251bGwKPiArKysgYi90ZXN0L3hsb2cvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS5yZXN1 bHQKPiBAQCAtMCwwICsxLDQwMCBAQAo+ICstLSB0ZXN0LXJ1biByZXN1bHQgZmlsZSB2ZXJzaW9u IDIKPiArdGVzdF9ydW4gPSByZXF1aXJlKCd0ZXN0X3J1bicpLm5ldygpCj4gKyB8IC0tLQo+ICsg fCAuLi4KPiArCj4gKy0tIFVwZ3JhZGUgZnJvbSAxLjYuOC4KPiArdGVzdF9ydW46Y21kKCdjcmVh dGUgc2VydmVyIHVwZ3JhZGUgd2l0aCBzY3JpcHQ9Inhsb2cvdXBncmFkZS5sdWEiLCBcCj4gKyB3 b3JrZGlyPSJ4bG9nL3VwZ3JhZGUvMS42LjgvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZSInKQo+ ICsgfCAtLS0KPiArIHwgLSB0cnVlCj4gKyB8IC4uLgo+ICt0ZXN0X3J1bjpjbWQoJ3N0YXJ0IHNl cnZlciB1cGdyYWRlJykKPiArIHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArdGVzdF9y dW46c3dpdGNoKCd1cGdyYWRlJykKPiArIHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiAr Cj4gK2Fzc2VydChub3QgYm94LmludGVybmFsLnNjaGVtYV9uZWVkc191cGdyYWRlKCkpCj4gKyB8 IC0tLQo+ICsgfCAtIHRydWUKPiArIHwgLi4uCj4gK2JveC5zcGFjZS5kaXN0cm86c2VsZWN0e30K PiArIHwgLS0tCj4gKyB8IC0gLSBbJ2RlYmlhbicsICdzYXJnZScsIDMxLCAxMTE4MDU5MjAwXQo+ ICsgfCAtIFsnZGViaWFuJywgJ2V0Y2gnLCA0MCwgMTE3NjAzMzYwMF0KPiArIHwgLSBbJ3VidW50 dScsICd0cnVzdHknLCAxNDA0LCAxMzk3NzM2MDAwXQo+ICsgfCAtIFsndWJ1bnR1JywgJ3Zpdmlk JywgMTUwNCwgMTQyOTc5MDQwMF0KPiArIHwgLSBbJ3VidW50dScsICd3aWx5JywgMTUxMCwgMTQ0 NTUxNTIwMF0KPiArIHwgLSBbJ2RlYmlhbicsICd3aGVlenknLCA3MCwgMTM2NzY2ODgwMF0KPiAr IHwgLSBbJ2RlYmlhbicsICdzcXVlZXplJywgNjAsIDEyOTY5MDcyMDBdCj4gKyB8IC0gWydkZWJp YW4nLCAnbGVubnknLCA1MCwgMTIzNDYxMjgwMF0KPiArIHwgLSBbJ2RlYmlhbicsICdqZXNzaWUn LCA4MCwgMTQzMDA0OTYwMF0KPiArIHwgLSBbJ3VidW50dScsICdwcmVjaXNlJywgMTUxMCwgMTMz NTQ0MTYwMF0KPiArIHwgLSBbJ2RlYmlhbicsICd3b29keScsIDMwLCAxMDI3MDgwMDAwXQo+ICsg fCAuLi4KPiArYm94LnNwYWNlLl9pbmRleDpzZWxlY3R7Ym94LnNwYWNlLmRpc3Ryby5pZH0KPiAr IHwgLS0tCj4gKyB8IC0gLSBbNTEyLCAwLCAncHJpbWFyeScsICdoYXNoJywgeyd1bmlxdWUnOiB0 cnVlfSwgW1swLAo+ICdzdHJpbmcnXSwgWzEsICdzdHJpbmcnXSwgWwo+ICsgfCAyLCAndW5zaWdu ZWQnXV1dCj4gKyB8IC0gWzUxMiwgMSwgJ2NvZGVuYW1lJywgJ2hhc2gnLCB7J3VuaXF1ZSc6IHRy dWV9LCBbWzEsICdzdHJpbmcnXV1dCj4gKyB8IC0gWzUxMiwgMiwgJ3RpbWUnLCAndHJlZScsIHsn dW5pcXVlJzogZmFsc2V9LCBbWzMsICd1bnNpZ25lZCddXV0KPiArIHwgLi4uCj4gK2JveC5zcGFj ZS5fc3BhY2U6Zm9ybWF0KCkKPiArIHwgLS0tCj4gKyB8IC0gW3snbmFtZSc6ICdpZCcsICd0eXBl JzogJ3Vuc2lnbmVkJ30sIHsnbmFtZSc6ICdvd25lcicsCj4gJ3R5cGUnOiAndW5zaWduZWQnfSwg eyduYW1lJzogJ25hbWUnLAo+ICsgfCAndHlwZSc6ICdzdHJpbmcnfSwgeyduYW1lJzogJ2VuZ2lu ZScsICd0eXBlJzogJ3N0cmluZyd9LAo+IHsnbmFtZSc6ICdmaWVsZF9jb3VudCcsCj4gKyB8ICd0 eXBlJzogJ3Vuc2lnbmVkJ30sIHsnbmFtZSc6ICdmbGFncycsICd0eXBlJzogJ21hcCd9LAo+IHsn bmFtZSc6ICdmb3JtYXQnLCAndHlwZSc6ICdhcnJheSd9XQo+ICsgfCAuLi4KPiArYm94LnNjaGVt YS51c2VyLmluZm8oJ2FkbWluJykKPiArIHwgLS0tCj4gKyB8IC0gLSAtCj4gcmVhZCx3cml0ZSxl eGVjdXRlLHNlc3Npb24sdXNhZ2UsY3JlYXRlLGRyb3AsYWx0ZXIscmVmZXJlbmNlLHRyaWdnZXIs aW5zZXJ0LHVwZGF0ZSxkZWxldGUKPiArIHwgLSB1bml2ZXJzZQo+ICsgfCAtCj4gKyB8IC4uLgo+ ICtib3guc2NoZW1hLnVzZXIuaW5mbygnZ3Vlc3QnKQo+ICsgfCAtLS0KPiArIHwgLSAtIC0gZXhl Y3V0ZQo+ICsgfCAtIHJvbGUKPiArIHwgLSBwdWJsaWMKPiArIHwgLSAtIHNlc3Npb24sdXNhZ2UK PiArIHwgLSB1bml2ZXJzZQo+ICsgfCAtCj4gKyB8IC4uLgo+ICtib3guc2NoZW1hLnVzZXIuaW5m bygnc29tZXVzZXInKQo+ICsgfCAtLS0KPiArIHwgLSAtIC0gZXhlY3V0ZQo+ICsgfCAtIGZ1bmN0 aW9uCj4gKyB8IC0gc29tZW90aGVyZnVuYwo+ICsgfCAtIC0gZXhlY3V0ZQo+ICsgfCAtIHJvbGUK PiArIHwgLSBwdWJsaWMKPiArIHwgLSAtIGV4ZWN1dGUKPiArIHwgLSByb2xlCj4gKyB8IC0gc29t ZXJvbGUKPiArIHwgLSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRlcgo+ICsgfCAtIHNwYWNlCj4gKyB8 IC0gdGVtcG9yYXJ5Cj4gKyB8IC0gLSBzZXNzaW9uLHVzYWdlCj4gKyB8IC0gdW5pdmVyc2UKPiAr IHwgLQo+ICsgfCAuLi4KPiArYm94LnNjaGVtYS5yb2xlLmluZm8oJ3NvbWVyb2xlJykKPiArIHwg LS0tCj4gKyB8IC0gLSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRlcgo+ICsgfCAtIHNwYWNlCj4gKyB8 IC0gZGlzdHJvCj4gKyB8IC4uLgo+ICsKPiArdGVzdF9ydW46c3dpdGNoKCdkZWZhdWx0JykKPiAr IHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArdGVzdF9ydW46Y21kKCdzdG9wIHNlcnZl ciB1cGdyYWRlJykKPiArIHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArdGVzdF9ydW46 Y21kKCdkZWxldGUgc2VydmVyIHVwZ3JhZGUnKQo+ICsgfCAtLS0KPiArIHwgLSB0cnVlCj4gKyB8 IC4uLgo+ICsKPiArLS0gVXBncmFkZSBmcm9tIDEuNy4xLgo+ICt0ZXN0X3J1bjpjbWQoJ2NyZWF0 ZSBzZXJ2ZXIgdXBncmFkZSB3aXRoIHNjcmlwdD0ieGxvZy91cGdyYWRlLmx1YSIsIFwKPiArIHdv cmtkaXI9Inhsb2cvdXBncmFkZS8xLjcuMS9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlIicpCj4g KyB8IC0tLQo+ICsgfCAtIHRydWUKPiArIHwgLi4uCj4gK3Rlc3RfcnVuOmNtZCgnc3RhcnQgc2Vy dmVyIHVwZ3JhZGUnKQo+ICsgfCAtLS0KPiArIHwgLSB0cnVlCj4gKyB8IC4uLgo+ICt0ZXN0X3J1 bjpzd2l0Y2goJ3VwZ3JhZGUnKQo+ICsgfCAtLS0KPiArIHwgLSB0cnVlCj4gKyB8IC4uLgo+ICsK PiArYXNzZXJ0KG5vdCBib3guaW50ZXJuYWwuc2NoZW1hX25lZWRzX3VwZ3JhZGUoKSkKPiArIHwg LS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArYm94LnNwYWNlLmRpc3RybzpzZWxlY3R7fQo+ ICsgfCAtLS0KPiArIHwgLSAtIFsnZGViaWFuJywgJ2V0Y2gnLCA0MCwgMTE3NjAzMzYwMF0KPiAr IHwgLSBbJ2RlYmlhbicsICdzYXJnZScsIDMxLCAxMTE4MDU5MjAwXQo+ICsgfCAtIFsndWJ1bnR1 JywgJ3dpbHknLCAxNTEwLCAxNDQ1NTE1MjAwXQo+ICsgfCAtIFsndWJ1bnR1JywgJ3RydXN0eScs IDE0MDQsIDEzOTc3MzYwMDBdCj4gKyB8IC0gWyd1YnVudHUnLCAndml2aWQnLCAxNTA0LCAxNDI5 NzkwNDAwXQo+ICsgfCAtIFsnZGViaWFuJywgJ3doZWV6eScsIDcwLCAxMzY3NjY4ODAwXQo+ICsg fCAtIFsnZGViaWFuJywgJ3NxdWVlemUnLCA2MCwgMTI5NjkwNzIwMF0KPiArIHwgLSBbJ2RlYmlh bicsICdsZW5ueScsIDUwLCAxMjM0NjEyODAwXQo+ICsgfCAtIFsnZGViaWFuJywgJ2plc3NpZScs IDgwLCAxNDMwMDQ5NjAwXQo+ICsgfCAtIFsndWJ1bnR1JywgJ3ByZWNpc2UnLCAxNTEwLCAxMzM1 NDQxNjAwXQo+ICsgfCAtIFsnZGViaWFuJywgJ3dvb2R5JywgMzAsIDEwMjcwODAwMDBdCj4gKyB8 IC4uLgo+ICtib3guc3BhY2UuX2luZGV4OnNlbGVjdHtib3guc3BhY2UuZGlzdHJvLmlkfQo+ICsg fCAtLS0KPiArIHwgLSAtIFs1MTIsIDAsICdwcmltYXJ5JywgJ2hhc2gnLCB7J3VuaXF1ZSc6IHRy dWV9LCBbWzAsCj4gJ3N0cmluZyddLCBbMSwgJ3N0cmluZyddLCBbCj4gKyB8IDIsICd1bnNpZ25l ZCddXV0KPiArIHwgLSBbNTEyLCAxLCAnY29kZW5hbWUnLCAnaGFzaCcsIHsndW5pcXVlJzogdHJ1 ZX0sIFtbMSwgJ3N0cmluZyddXV0KPiArIHwgLSBbNTEyLCAyLCAndGltZScsICd0cmVlJywgeyd1 bmlxdWUnOiBmYWxzZX0sIFtbMywgJ3Vuc2lnbmVkJ11dXQo+ICsgfCAuLi4KPiArYm94LnNwYWNl Ll9zcGFjZTpmb3JtYXQoKQo+ICsgfCAtLS0KPiArIHwgLSBbeyduYW1lJzogJ2lkJywgJ3R5cGUn OiAndW5zaWduZWQnfSwgeyduYW1lJzogJ293bmVyJywKPiAndHlwZSc6ICd1bnNpZ25lZCd9LCB7 J25hbWUnOiAnbmFtZScsCj4gKyB8ICd0eXBlJzogJ3N0cmluZyd9LCB7J25hbWUnOiAnZW5naW5l JywgJ3R5cGUnOiAnc3RyaW5nJ30sCj4geyduYW1lJzogJ2ZpZWxkX2NvdW50JywKPiArIHwgJ3R5 cGUnOiAndW5zaWduZWQnfSwgeyduYW1lJzogJ2ZsYWdzJywgJ3R5cGUnOiAnbWFwJ30sCj4geydu YW1lJzogJ2Zvcm1hdCcsICd0eXBlJzogJ2FycmF5J31dCj4gKyB8IC4uLgo+ICtib3guc2NoZW1h LnVzZXIuaW5mbygnYWRtaW4nKQo+ICsgfCAtLS0KPiArIHwgLSAtIC0KPiByZWFkLHdyaXRlLGV4 ZWN1dGUsc2Vzc2lvbix1c2FnZSxjcmVhdGUsZHJvcCxhbHRlcixyZWZlcmVuY2UsdHJpZ2dlcixp bnNlcnQsdXBkYXRlLGRlbGV0ZQo+ICsgfCAtIHVuaXZlcnNlCj4gKyB8IC0KPiArIHwgLi4uCj4g K2JveC5zY2hlbWEudXNlci5pbmZvKCdndWVzdCcpCj4gKyB8IC0tLQo+ICsgfCAtIC0gLSBleGVj dXRlCj4gKyB8IC0gcm9sZQo+ICsgfCAtIHB1YmxpYwo+ICsgfCAtIC0gc2Vzc2lvbix1c2FnZQo+ ICsgfCAtIHVuaXZlcnNlCj4gKyB8IC0KPiArIHwgLi4uCj4gK2JveC5zY2hlbWEudXNlci5pbmZv KCdzb21ldXNlcicpCj4gKyB8IC0tLQo+ICsgfCAtIC0gLSBleGVjdXRlCj4gKyB8IC0gZnVuY3Rp b24KPiArIHwgLSBzb21lb3RoZXJmdW5jCj4gKyB8IC0gLSBleGVjdXRlCj4gKyB8IC0gcm9sZQo+ ICsgfCAtIHB1YmxpYwo+ICsgfCAtIC0gZXhlY3V0ZQo+ICsgfCAtIHJvbGUKPiArIHwgLSBzb21l cm9sZQo+ICsgfCAtIC0gcmVhZCx3cml0ZSxkcm9wLGFsdGVyCj4gKyB8IC0gc3BhY2UKPiArIHwg LSB0ZW1wb3JhcnkKPiArIHwgLSAtIHNlc3Npb24sdXNhZ2UKPiArIHwgLSB1bml2ZXJzZQo+ICsg fCAtCj4gKyB8IC4uLgo+ICtib3guc2NoZW1hLnJvbGUuaW5mbygnc29tZXJvbGUnKQo+ICsgfCAt LS0KPiArIHwgLSAtIC0gcmVhZCx3cml0ZSxkcm9wLGFsdGVyCj4gKyB8IC0gc3BhY2UKPiArIHwg LSBkaXN0cm8KPiArIHwgLi4uCj4gKwo+ICt0ZXN0X3J1bjpzd2l0Y2goJ2RlZmF1bHQnKQo+ICsg fCAtLS0KPiArIHwgLSB0cnVlCj4gKyB8IC4uLgo+ICt0ZXN0X3J1bjpjbWQoJ3N0b3Agc2VydmVy IHVwZ3JhZGUnKQo+ICsgfCAtLS0KPiArIHwgLSB0cnVlCj4gKyB8IC4uLgo+ICt0ZXN0X3J1bjpj bWQoJ2RlbGV0ZSBzZXJ2ZXIgdXBncmFkZScpCj4gKyB8IC0tLQo+ICsgfCAtIHRydWUKPiArIHwg Li4uCj4gKwo+ICstLSBVcGdyYWRlIGZyb20gMS43LjIuCj4gK3Rlc3RfcnVuOmNtZCgnY3JlYXRl IHNlcnZlciB1cGdyYWRlIHdpdGggc2NyaXB0PSJ4bG9nL3VwZ3JhZGUubHVhIiwgXAo+ICsgd29y a2Rpcj0ieGxvZy91cGdyYWRlLzEuNy4yL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUiJykKPiAr IHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArdGVzdF9ydW46Y21kKCdzdGFydCBzZXJ2 ZXIgdXBncmFkZScpCj4gKyB8IC0tLQo+ICsgfCAtIHRydWUKPiArIHwgLi4uCj4gK3Rlc3RfcnVu OnN3aXRjaCgndXBncmFkZScpCj4gKyB8IC0tLQo+ICsgfCAtIHRydWUKPiArIHwgLi4uCj4gKwo+ ICthc3NlcnQobm90IGJveC5pbnRlcm5hbC5zY2hlbWFfbmVlZHNfdXBncmFkZSgpKQo+ICsgfCAt LS0KPiArIHwgLSB0cnVlCj4gKyB8IC4uLgo+ICtib3guc3BhY2UuZGlzdHJvOnNlbGVjdHt9Cj4g KyB8IC0tLQo+ICsgfCAtIC0gWydkZWJpYW4nLCAnc2FyZ2UnLCAzMSwgMTExODA1OTIwMF0KPiAr IHwgLSBbJ2RlYmlhbicsICdldGNoJywgNDAsIDExNzYwMzM2MDBdCj4gKyB8IC0gWyd1YnVudHUn LCAndHJ1c3R5JywgMTQwNCwgMTM5NzczNjAwMF0KPiArIHwgLSBbJ3VidW50dScsICd2aXZpZCcs IDE1MDQsIDE0Mjk3OTA0MDBdCj4gKyB8IC0gWydkZWJpYW4nLCAnbGVubnknLCA1MCwgMTIzNDYx MjgwMF0KPiArIHwgLSBbJ2RlYmlhbicsICd3aGVlenknLCA3MCwgMTM2NzY2ODgwMF0KPiArIHwg LSBbJ2RlYmlhbicsICdzcXVlZXplJywgNjAsIDEyOTY5MDcyMDBdCj4gKyB8IC0gWyd1YnVudHUn LCAnd2lseScsIDE1MTAsIDE0NDU1MTUyMDBdCj4gKyB8IC0gWydkZWJpYW4nLCAnamVzc2llJywg ODAsIDE0MzAwNDk2MDBdCj4gKyB8IC0gWyd1YnVudHUnLCAncHJlY2lzZScsIDE1MTAsIDEzMzU0 NDE2MDBdCj4gKyB8IC0gWydkZWJpYW4nLCAnd29vZHknLCAzMCwgMTAyNzA4MDAwMF0KPiArIHwg Li4uCj4gK2JveC5zcGFjZS5faW5kZXg6c2VsZWN0e2JveC5zcGFjZS5kaXN0cm8uaWR9Cj4gKyB8 IC0tLQo+ICsgfCAtIC0gWzUxMiwgMCwgJ3ByaW1hcnknLCAnaGFzaCcsIHsndW5pcXVlJzogdHJ1 ZX0sIFtbMCwKPiAnc3RyaW5nJ10sIFsxLCAnc3RyaW5nJ10sIFsKPiArIHwgMiwgJ3Vuc2lnbmVk J11dXQo+ICsgfCAtIFs1MTIsIDEsICdjb2RlbmFtZScsICdoYXNoJywgeyd1bmlxdWUnOiB0cnVl fSwgW1sxLCAnc3RyaW5nJ11dXQo+ICsgfCAtIFs1MTIsIDIsICd0aW1lJywgJ3RyZWUnLCB7J3Vu aXF1ZSc6IGZhbHNlfSwgW1szLCAndW5zaWduZWQnXV1dCj4gKyB8IC4uLgo+ICtib3guc3BhY2Uu X3NwYWNlOmZvcm1hdCgpCj4gKyB8IC0tLQo+ICsgfCAtIFt7J25hbWUnOiAnaWQnLCAndHlwZSc6 ICd1bnNpZ25lZCd9LCB7J25hbWUnOiAnb3duZXInLAo+ICd0eXBlJzogJ3Vuc2lnbmVkJ30sIHsn bmFtZSc6ICduYW1lJywKPiArIHwgJ3R5cGUnOiAnc3RyaW5nJ30sIHsnbmFtZSc6ICdlbmdpbmUn LCAndHlwZSc6ICdzdHJpbmcnfSwKPiB7J25hbWUnOiAnZmllbGRfY291bnQnLAo+ICsgfCAndHlw ZSc6ICd1bnNpZ25lZCd9LCB7J25hbWUnOiAnZmxhZ3MnLCAndHlwZSc6ICdtYXAnfSwKPiB7J25h bWUnOiAnZm9ybWF0JywgJ3R5cGUnOiAnYXJyYXknfV0KPiArIHwgLi4uCj4gK2JveC5zY2hlbWEu dXNlci5pbmZvKCdhZG1pbicpCj4gKyB8IC0tLQo+ICsgfCAtIC0gLQo+IHJlYWQsd3JpdGUsZXhl Y3V0ZSxzZXNzaW9uLHVzYWdlLGNyZWF0ZSxkcm9wLGFsdGVyLHJlZmVyZW5jZSx0cmlnZ2VyLGlu c2VydCx1cGRhdGUsZGVsZXRlCj4gKyB8IC0gdW5pdmVyc2UKPiArIHwgLQo+ICsgfCAuLi4KPiAr Ym94LnNjaGVtYS51c2VyLmluZm8oJ2d1ZXN0JykKPiArIHwgLS0tCj4gKyB8IC0gLSAtIGV4ZWN1 dGUKPiArIHwgLSByb2xlCj4gKyB8IC0gcHVibGljCj4gKyB8IC0gLSBzZXNzaW9uLHVzYWdlCj4g KyB8IC0gdW5pdmVyc2UKPiArIHwgLQo+ICsgfCAuLi4KPiArYm94LnNjaGVtYS51c2VyLmluZm8o J3NvbWV1c2VyJykKPiArIHwgLS0tCj4gKyB8IC0gLSAtIGV4ZWN1dGUKPiArIHwgLSBmdW5jdGlv bgo+ICsgfCAtIHNvbWVvdGhlcmZ1bmMKPiArIHwgLSAtIGV4ZWN1dGUKPiArIHwgLSByb2xlCj4g KyB8IC0gcHVibGljCj4gKyB8IC0gLSBleGVjdXRlCj4gKyB8IC0gcm9sZQo+ICsgfCAtIHNvbWVy b2xlCj4gKyB8IC0gLSByZWFkLHdyaXRlLGRyb3AsYWx0ZXIKPiArIHwgLSBzcGFjZQo+ICsgfCAt IHRlbXBvcmFyeQo+ICsgfCAtIC0gc2Vzc2lvbix1c2FnZQo+ICsgfCAtIHVuaXZlcnNlCj4gKyB8 IC0KPiArIHwgLi4uCj4gK2JveC5zY2hlbWEucm9sZS5pbmZvKCdzb21lcm9sZScpCj4gKyB8IC0t LQo+ICsgfCAtIC0gLSByZWFkLHdyaXRlLGRyb3AsYWx0ZXIKPiArIHwgLSBzcGFjZQo+ICsgfCAt IGRpc3Rybwo+ICsgfCAuLi4KPiArCj4gK3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpCj4gKyB8 IC0tLQo+ICsgfCAtIHRydWUKPiArIHwgLi4uCj4gK3Rlc3RfcnVuOmNtZCgnc3RvcCBzZXJ2ZXIg dXBncmFkZScpCj4gKyB8IC0tLQo+ICsgfCAtIHRydWUKPiArIHwgLi4uCj4gK3Rlc3RfcnVuOmNt ZCgnZGVsZXRlIHNlcnZlciB1cGdyYWRlJykKPiArIHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAu Li4KPiArCj4gKy0tIFVwZ3JhZGUgZnJvbSAxLjcuNS4KPiArdGVzdF9ydW46Y21kKCdjcmVhdGUg c2VydmVyIHVwZ3JhZGUgd2l0aCBzY3JpcHQ9Inhsb2cvdXBncmFkZS5sdWEiLCBcCj4gKyB3b3Jr ZGlyPSJ4bG9nL3VwZ3JhZGUvMS43LjUvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZSInKQo+ICsg fCAtLS0KPiArIHwgLSB0cnVlCj4gKyB8IC4uLgo+ICt0ZXN0X3J1bjpjbWQoJ3N0YXJ0IHNlcnZl ciB1cGdyYWRlJykKPiArIHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArdGVzdF9ydW46 c3dpdGNoKCd1cGdyYWRlJykKPiArIHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArCj4g K2Fzc2VydChub3QgYm94LmludGVybmFsLnNjaGVtYV9uZWVkc191cGdyYWRlKCkpCj4gKyB8IC0t LQo+ICsgfCAtIHRydWUKPiArIHwgLi4uCj4gK2JveC5zcGFjZS5kaXN0cm86c2VsZWN0e30KPiAr IHwgLS0tCj4gKyB8IC0gLSBbJ2RlYmlhbicsICdldGNoJywgNDAsIDExNzYwMzM2MDBdCj4gKyB8 IC0gWydkZWJpYW4nLCAnc2FyZ2UnLCAzMSwgMTExODA1OTIwMF0KPiArIHwgLSBbJ2RlYmlhbics ICdsZW5ueScsIDUwLCAxMjM0NjEyODAwXQo+ICsgfCAtIFsndWJ1bnR1JywgJ3RydXN0eScsIDE0 MDQsIDEzOTc3MzYwMDBdCj4gKyB8IC0gWyd1YnVudHUnLCAndml2aWQnLCAxNTA0LCAxNDI5Nzkw NDAwXQo+ICsgfCAtIFsnZGViaWFuJywgJ3doZWV6eScsIDcwLCAxMzY3NjY4ODAwXQo+ICsgfCAt IFsnZGViaWFuJywgJ3NxdWVlemUnLCA2MCwgMTI5NjkwNzIwMF0KPiArIHwgLSBbJ3VidW50dScs ICd3aWx5JywgMTUxMCwgMTQ0NTUxNTIwMF0KPiArIHwgLSBbJ2RlYmlhbicsICdqZXNzaWUnLCA4 MCwgMTQzMDA0OTYwMF0KPiArIHwgLSBbJ3VidW50dScsICdwcmVjaXNlJywgMTUxMCwgMTMzNTQ0 MTYwMF0KPiArIHwgLSBbJ2RlYmlhbicsICd3b29keScsIDMwLCAxMDI3MDgwMDAwXQo+ICsgfCAu Li4KPiArYm94LnNwYWNlLl9pbmRleDpzZWxlY3R7Ym94LnNwYWNlLmRpc3Ryby5pZH0KPiArIHwg LS0tCj4gKyB8IC0gLSBbNTEyLCAwLCAncHJpbWFyeScsICdoYXNoJywgeyd1bmlxdWUnOiB0cnVl fSwgW1swLAo+ICdzdHJpbmcnXSwgWzEsICdzdHJpbmcnXSwgWwo+ICsgfCAyLCAndW5zaWduZWQn XV1dCj4gKyB8IC0gWzUxMiwgMSwgJ2NvZGVuYW1lJywgJ2hhc2gnLCB7J3VuaXF1ZSc6IHRydWV9 LCBbWzEsICdzdHJpbmcnXV1dCj4gKyB8IC0gWzUxMiwgMiwgJ3RpbWUnLCAndHJlZScsIHsndW5p cXVlJzogZmFsc2V9LCBbWzMsICd1bnNpZ25lZCddXV0KPiArIHwgLi4uCj4gK2JveC5zcGFjZS5f c3BhY2U6Zm9ybWF0KCkKPiArIHwgLS0tCj4gKyB8IC0gW3snbmFtZSc6ICdpZCcsICd0eXBlJzog J3Vuc2lnbmVkJ30sIHsnbmFtZSc6ICdvd25lcicsCj4gJ3R5cGUnOiAndW5zaWduZWQnfSwgeydu YW1lJzogJ25hbWUnLAo+ICsgfCAndHlwZSc6ICdzdHJpbmcnfSwgeyduYW1lJzogJ2VuZ2luZScs ICd0eXBlJzogJ3N0cmluZyd9LAo+IHsnbmFtZSc6ICdmaWVsZF9jb3VudCcsCj4gKyB8ICd0eXBl JzogJ3Vuc2lnbmVkJ30sIHsnbmFtZSc6ICdmbGFncycsICd0eXBlJzogJ21hcCd9LAo+IHsnbmFt ZSc6ICdmb3JtYXQnLCAndHlwZSc6ICdhcnJheSd9XQo+ICsgfCAuLi4KPiArYm94LnNjaGVtYS51 c2VyLmluZm8oJ2FkbWluJykKPiArIHwgLS0tCj4gKyB8IC0gLSAtCj4gcmVhZCx3cml0ZSxleGVj dXRlLHNlc3Npb24sdXNhZ2UsY3JlYXRlLGRyb3AsYWx0ZXIscmVmZXJlbmNlLHRyaWdnZXIsaW5z ZXJ0LHVwZGF0ZSxkZWxldGUKPiArIHwgLSB1bml2ZXJzZQo+ICsgfCAtCj4gKyB8IC4uLgo+ICti b3guc2NoZW1hLnVzZXIuaW5mbygnZ3Vlc3QnKQo+ICsgfCAtLS0KPiArIHwgLSAtIC0gZXhlY3V0 ZQo+ICsgfCAtIHJvbGUKPiArIHwgLSBwdWJsaWMKPiArIHwgLSAtIHNlc3Npb24sdXNhZ2UKPiAr IHwgLSB1bml2ZXJzZQo+ICsgfCAtCj4gKyB8IC4uLgo+ICtib3guc2NoZW1hLnVzZXIuaW5mbygn c29tZXVzZXInKQo+ICsgfCAtLS0KPiArIHwgLSAtIC0gZXhlY3V0ZQo+ICsgfCAtIGZ1bmN0aW9u Cj4gKyB8IC0gc29tZW90aGVyZnVuYwo+ICsgfCAtIC0gZXhlY3V0ZQo+ICsgfCAtIHJvbGUKPiAr IHwgLSBwdWJsaWMKPiArIHwgLSAtIGV4ZWN1dGUKPiArIHwgLSByb2xlCj4gKyB8IC0gc29tZXJv bGUKPiArIHwgLSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRlcgo+ICsgfCAtIHNwYWNlCj4gKyB8IC0g dGVtcG9yYXJ5Cj4gKyB8IC0gLSBzZXNzaW9uLHVzYWdlCj4gKyB8IC0gdW5pdmVyc2UKPiArIHwg LQo+ICsgfCAuLi4KPiArYm94LnNjaGVtYS5yb2xlLmluZm8oJ3NvbWVyb2xlJykKPiArIHwgLS0t Cj4gKyB8IC0gLSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRlcgo+ICsgfCAtIHNwYWNlCj4gKyB8IC0g ZGlzdHJvCj4gKyB8IC4uLgo+ICsKPiArdGVzdF9ydW46c3dpdGNoKCdkZWZhdWx0JykKPiArIHwg LS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArdGVzdF9ydW46Y21kKCdzdG9wIHNlcnZlciB1 cGdyYWRlJykKPiArIHwgLS0tCj4gKyB8IC0gdHJ1ZQo+ICsgfCAuLi4KPiArdGVzdF9ydW46Y21k KCdkZWxldGUgc2VydmVyIHVwZ3JhZGUnKQo+ICsgfCAtLS0KPiArIHwgLSB0cnVlCj4gKyB8IC4u Lgo+IGRpZmYgLS1naXQgYS90ZXN0L3hsb2cvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS50ZXN0 Lmx1YQo+IGIvdGVzdC94bG9nL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUudGVzdC5sdWEKPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMC4uOTA5NmJjYjdhCj4gLS0tIC9k ZXYvbnVsbAo+ICsrKyBiL3Rlc3QveGxvZy9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlLnRlc3Qu bHVhCj4gQEAgLTAsMCArMSw3NyBAQAo+ICt0ZXN0X3J1biA9IHJlcXVpcmUoJ3Rlc3RfcnVuJyku bmV3KCkKPiArCj4gKy0tIFVwZ3JhZGUgZnJvbSAxLjYuOC4KPiArdGVzdF9ydW46Y21kKCdjcmVh dGUgc2VydmVyIHVwZ3JhZGUgd2l0aCBzY3JpcHQ9Inhsb2cvdXBncmFkZS5sdWEiLCBcCj4gKyB3 b3JrZGlyPSJ4bG9nL3VwZ3JhZGUvMS42LjgvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZSInKQo+ ICt0ZXN0X3J1bjpjbWQoJ3N0YXJ0IHNlcnZlciB1cGdyYWRlJykKPiArdGVzdF9ydW46c3dpdGNo KCd1cGdyYWRlJykKPiArCj4gK2Fzc2VydChub3QgYm94LmludGVybmFsLnNjaGVtYV9uZWVkc191 cGdyYWRlKCkpCj4gK2JveC5zcGFjZS5kaXN0cm86c2VsZWN0e30KPiArYm94LnNwYWNlLl9pbmRl eDpzZWxlY3R7Ym94LnNwYWNlLmRpc3Ryby5pZH0KPiArYm94LnNwYWNlLl9zcGFjZTpmb3JtYXQo KQo+ICtib3guc2NoZW1hLnVzZXIuaW5mbygnYWRtaW4nKQo+ICtib3guc2NoZW1hLnVzZXIuaW5m bygnZ3Vlc3QnKQo+ICtib3guc2NoZW1hLnVzZXIuaW5mbygnc29tZXVzZXInKQo+ICtib3guc2No ZW1hLnJvbGUuaW5mbygnc29tZXJvbGUnKQo+ICsKPiArdGVzdF9ydW46c3dpdGNoKCdkZWZhdWx0 JykKPiArdGVzdF9ydW46Y21kKCdzdG9wIHNlcnZlciB1cGdyYWRlJykKPiArdGVzdF9ydW46Y21k KCdkZWxldGUgc2VydmVyIHVwZ3JhZGUnKQo+ICsKPiArLS0gVXBncmFkZSBmcm9tIDEuNy4xLgo+ ICt0ZXN0X3J1bjpjbWQoJ2NyZWF0ZSBzZXJ2ZXIgdXBncmFkZSB3aXRoIHNjcmlwdD0ieGxvZy91 cGdyYWRlLmx1YSIsIFwKPiArIHdvcmtkaXI9Inhsb2cvdXBncmFkZS8xLjcuMS9naC01ODk0LXBy ZS0xLjcuNy11cGdyYWRlIicpCj4gK3Rlc3RfcnVuOmNtZCgnc3RhcnQgc2VydmVyIHVwZ3JhZGUn KQo+ICt0ZXN0X3J1bjpzd2l0Y2goJ3VwZ3JhZGUnKQo+ICsKPiArYXNzZXJ0KG5vdCBib3guaW50 ZXJuYWwuc2NoZW1hX25lZWRzX3VwZ3JhZGUoKSkKPiArYm94LnNwYWNlLmRpc3RybzpzZWxlY3R7 fQo+ICtib3guc3BhY2UuX2luZGV4OnNlbGVjdHtib3guc3BhY2UuZGlzdHJvLmlkfQo+ICtib3gu c3BhY2UuX3NwYWNlOmZvcm1hdCgpCj4gK2JveC5zY2hlbWEudXNlci5pbmZvKCdhZG1pbicpCj4g K2JveC5zY2hlbWEudXNlci5pbmZvKCdndWVzdCcpCj4gK2JveC5zY2hlbWEudXNlci5pbmZvKCdz b21ldXNlcicpCj4gK2JveC5zY2hlbWEucm9sZS5pbmZvKCdzb21lcm9sZScpCj4gKwo+ICt0ZXN0 X3J1bjpzd2l0Y2goJ2RlZmF1bHQnKQo+ICt0ZXN0X3J1bjpjbWQoJ3N0b3Agc2VydmVyIHVwZ3Jh ZGUnKQo+ICt0ZXN0X3J1bjpjbWQoJ2RlbGV0ZSBzZXJ2ZXIgdXBncmFkZScpCj4gKwo+ICstLSBV cGdyYWRlIGZyb20gMS43LjIuCj4gK3Rlc3RfcnVuOmNtZCgnY3JlYXRlIHNlcnZlciB1cGdyYWRl IHdpdGggc2NyaXB0PSJ4bG9nL3VwZ3JhZGUubHVhIiwgXAo+ICsgd29ya2Rpcj0ieGxvZy91cGdy YWRlLzEuNy4yL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUiJykKPiArdGVzdF9ydW46Y21kKCdz dGFydCBzZXJ2ZXIgdXBncmFkZScpCj4gK3Rlc3RfcnVuOnN3aXRjaCgndXBncmFkZScpCj4gKwo+ ICthc3NlcnQobm90IGJveC5pbnRlcm5hbC5zY2hlbWFfbmVlZHNfdXBncmFkZSgpKQo+ICtib3gu c3BhY2UuZGlzdHJvOnNlbGVjdHt9Cj4gK2JveC5zcGFjZS5faW5kZXg6c2VsZWN0e2JveC5zcGFj ZS5kaXN0cm8uaWR9Cj4gK2JveC5zcGFjZS5fc3BhY2U6Zm9ybWF0KCkKPiArYm94LnNjaGVtYS51 c2VyLmluZm8oJ2FkbWluJykKPiArYm94LnNjaGVtYS51c2VyLmluZm8oJ2d1ZXN0JykKPiArYm94 LnNjaGVtYS51c2VyLmluZm8oJ3NvbWV1c2VyJykKPiArYm94LnNjaGVtYS5yb2xlLmluZm8oJ3Nv bWVyb2xlJykKPiArCj4gK3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpCj4gK3Rlc3RfcnVuOmNt ZCgnc3RvcCBzZXJ2ZXIgdXBncmFkZScpCj4gK3Rlc3RfcnVuOmNtZCgnZGVsZXRlIHNlcnZlciB1 cGdyYWRlJykKPiArCj4gKy0tIFVwZ3JhZGUgZnJvbSAxLjcuNS4KPiArdGVzdF9ydW46Y21kKCdj cmVhdGUgc2VydmVyIHVwZ3JhZGUgd2l0aCBzY3JpcHQ9Inhsb2cvdXBncmFkZS5sdWEiLCBcCj4g KyB3b3JrZGlyPSJ4bG9nL3VwZ3JhZGUvMS43LjUvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZSIn KQo+ICt0ZXN0X3J1bjpjbWQoJ3N0YXJ0IHNlcnZlciB1cGdyYWRlJykKPiArdGVzdF9ydW46c3dp dGNoKCd1cGdyYWRlJykKPiArCj4gK2Fzc2VydChub3QgYm94LmludGVybmFsLnNjaGVtYV9uZWVk c191cGdyYWRlKCkpCj4gK2JveC5zcGFjZS5kaXN0cm86c2VsZWN0e30KPiArYm94LnNwYWNlLl9p bmRleDpzZWxlY3R7Ym94LnNwYWNlLmRpc3Ryby5pZH0KPiArYm94LnNwYWNlLl9zcGFjZTpmb3Jt YXQoKQo+ICtib3guc2NoZW1hLnVzZXIuaW5mbygnYWRtaW4nKQo+ICtib3guc2NoZW1hLnVzZXIu aW5mbygnZ3Vlc3QnKQo+ICtib3guc2NoZW1hLnVzZXIuaW5mbygnc29tZXVzZXInKQo+ICtib3gu c2NoZW1hLnJvbGUuaW5mbygnc29tZXJvbGUnKQo+ICsKPiArdGVzdF9ydW46c3dpdGNoKCdkZWZh dWx0JykKPiArdGVzdF9ydW46Y21kKCdzdG9wIHNlcnZlciB1cGdyYWRlJykKPiArdGVzdF9ydW46 Y21kKCdkZWxldGUgc2VydmVyIHVwZ3JhZGUnKQo+IGRpZmYgLS1naXQKPiBhL3Rlc3QveGxvZy91 cGdyYWRlLzEuNi44L2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmlsbC5sdWEKPiBiL3Rlc3Qv eGxvZy91cGdyYWRlLzEuNi44L2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmlsbC5sdWEKPiBu ZXcgZmlsZSBtb2RlIDEyMDAwMAo+IGluZGV4IDAwMDAwMDAwMC4uMmYyYTg0OTYyCj4gLS0tIC9k ZXYvbnVsbAo+ICsrKyBiL3Rlc3QveGxvZy91cGdyYWRlLzEuNi44L2doLTU4OTQtcHJlLTEuNy43 LXVwZ3JhZGUvZmlsbC5sdWEKPiBAQCAtMCwwICsxIEBACj4gKy4uLy4uL2ZpbGwubHVhCj4gXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4gZGlmZiAtLWdpdAo+IGEvdGVzdC94bG9nL3VwZ3Jh ZGUvMS43LjEvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YQo+IGIvdGVzdC94bG9n L3VwZ3JhZGUvMS43LjEvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YQo+IG5ldyBm aWxlIG1vZGUgMTIwMDAwCj4gaW5kZXggMDAwMDAwMDAwLi4yZjJhODQ5NjIKPiAtLS0gL2Rldi9u dWxsCj4gKysrIGIvdGVzdC94bG9nL3VwZ3JhZGUvMS43LjEvZ2gtNTg5NC1wcmUtMS43LjctdXBn cmFkZS9maWxsLmx1YQo+IEBAIC0wLDAgKzEgQEAKPiArLi4vLi4vZmlsbC5sdWEKPiBcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKPiBkaWZmIC0tZ2l0Cj4gYS90ZXN0L3hsb2cvdXBncmFkZS8x LjcuMi9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlL2ZpbGwubHVhCj4gYi90ZXN0L3hsb2cvdXBn cmFkZS8xLjcuMi9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlL2ZpbGwubHVhCj4gbmV3IGZpbGUg bW9kZSAxMjAwMDAKPiBpbmRleCAwMDAwMDAwMDAuLjJmMmE4NDk2Mgo+IC0tLSAvZGV2L251bGwK PiArKysgYi90ZXN0L3hsb2cvdXBncmFkZS8xLjcuMi9naC01ODk0LXByZS0xLjcuNy11cGdyYWRl L2ZpbGwubHVhCj4gQEAgLTAsMCArMSBAQAo+ICsuLi8uLi9maWxsLmx1YQo+IFwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQo+IGRpZmYgLS1naXQKPiBhL3Rlc3QveGxvZy91cGdyYWRlLzEuNy41 L2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmlsbC5sdWEKPiBiL3Rlc3QveGxvZy91cGdyYWRl LzEuNy41L2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmlsbC5sdWEKPiBuZXcgZmlsZSBtb2Rl IDEyMDAwMAo+IGluZGV4IDAwMDAwMDAwMC4uMmYyYTg0OTYyCj4gLS0tIC9kZXYvbnVsbAo+ICsr KyBiL3Rlc3QveGxvZy91cGdyYWRlLzEuNy41L2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmls bC5sdWEKPiBAQCAtMCwwICsxIEBACj4gKy4uLy4uL2ZpbGwubHVhCj4gXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCj4gZGlmZiAtLWdpdCBhL3Rlc3QveGxvZy91cGdyYWRlL2ZpbGwubHVhIGIv dGVzdC94bG9nL3VwZ3JhZGUvZmlsbC5sdWEKPiBpbmRleCAwZWYxYThiYjkuLjMxMGMxY2E3MiAx MDA2NDQKPiAtLS0gYS90ZXN0L3hsb2cvdXBncmFkZS9maWxsLmx1YQo+ICsrKyBiL3Rlc3QveGxv Zy91cGdyYWRlL2ZpbGwubHVhCj4gQEAgLTU2LDQgKzU2LDggQEAgZW5kCj4gwqBib3guc2NoZW1h LmZ1bmMuY3JlYXRlKCdzb21lb3RoZXJmdW5jJykKPiDCoGJveC5zY2hlbWEudXNlci5ncmFudCgn c29tZXVzZXInLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsCj4gJ3NvbWVvdGhlcmZ1bmMnKQo+IMKg Ym94LnNjaGVtYS51c2VyLmdyYW50KCdzb21ldXNlcicsICdyZWFkLHdyaXRlJywgJ3NwYWNlJywg J3RlbXBvcmFyeScpCj4gKwo+ICtib3guc2NoZW1hLnVwZ3JhZGUoKQo+ICtib3guc25hcHNob3Qo KQo+ICsKPiDCoG9zLmV4aXQoMCkKPiAtLQo+IDIuMzAuMSAoQXBwbGUgR2l0LTEzMCkKPgo+IC0t Cj4gT2xlZyBCYWJpbgo+Cj4tLSAKPlNlcmdlIFBldHJlbmtvCg== ----ALT--50JHoNa2YmXLik7bomNBnCqV1MEsrhGK1629138149 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxwIHN0eWxlPSdtYXJnaW4tdG9wOiAwcHg7JyBkaXI9Imx0ciI+VGhhbmtz IGZvciBmaXhlcy4gTEdUTS4gPC9wPgrQv9C+0L3QtdC00LXQu9GM0L3QuNC6LCAxNiDQsNCy0LPR g9GB0YLQsCAyMDIx0LMuLCAxOTozMiArMDM6MDAg0L7RgiBTZXJnZSBQZXRyZW5rbyA8YSBocmVm PSJtYWlsdG86c2VyZ2VwZXRyZW5rb0B0YXJhbnRvb2wub3JnIj5zZXJnZXBldHJlbmtvQHRhcmFu dG9vbC5vcmc8L2E+Ojxicj48YnI+PGJsb2NrcXVvdGUgaWQ9Im1haWwtYXBwLWF1dG8tcXVvdGUi IGNpdGU9IjE2MjkxMzE1NDkwNzcxMzI5NjI4IiBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlk ICMwMDVGRjk7IG1hcmdpbjowcHggMHB4IDBweCAxMHB4OyBwYWRkaW5nOjBweCAwcHggMHB4IDEw cHg7Ij4KCgoKCgoKPGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj4KCTxzdHls ZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT4KIAk8ZGl2ID4KCQk8YmFzZSB0YXJnZXQ9Il9zZWxm IiBocmVmPSJodHRwczovL2UubWFpbC5ydS8iIC8+CgkJCiAgICAgICAgICAgIDxkaXYgaWQ9InN0 eWxlXzE2MjkxMzE1NDkwNzcxMzI5NjI4X0JPRFkiPjxicj4KPGJyPgoxNi4wOC4yMDIxIDE2OjE4 LCDQkdCw0LHQuNC9INCe0LvQtdCzINC/0LjRiNC10YI6PGJyPgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA+IFRoYW5rcyBmb3IgeW91ciBwYXRjaC4gTEdUTSBidXQgY29uc2lkZXIg c2V2ZXJhbCBuaXRzIGJlbG93Ljxicj4KPjxicj4KICAgICAgPGJyPgpUaGFua3MgZm9yIHRoZSBy ZXZpZXchIFBsZWFzZSwgZmluZCBteSBhbnN3ZXJzIGFuZCBpbmNyZW1lbnRhbCBkaWZmIGJlbG93 Ljxicj4KPjxicj4KPiAgICAg0J/Rj9GC0L3QuNGG0LAsIDEzINCw0LLQs9GD0YHRgtCwIDIwMjEs IDI6MzUgKzAzOjAwINC+0YIgU2VyZ2UgUGV0cmVua28gdmlhPGJyPgo+ICAgICBUYXJhbnRvb2wt cGF0Y2hlcyA8PGEgaHJlZj0ibWFpbHRvOnRhcmFudG9vbC1wYXRjaGVzQGRldi50YXJhbnRvb2wu b3JnIj50YXJhbnRvb2wtcGF0Y2hlc0BkZXYudGFyYW50b29sLm9yZzwvYT4+Ojxicj4KPiAgICAg RGlyZWN0IHVwZ3JhZGUgc3VwcG9ydCBmcm9tIHByZS0xLjcuNSB2ZXJzaW9ucyB3YXMgcmVtb3Zl ZCBpbiBjb21taXQ8YnI+Cj4gICAgIDdkM2I4MGU3ODIwNmM0NzljYWI3NWI0ODkzNjI5Y2ZhMTkz MjI1MmU8YnI+Cj4gICAgIChGb3JiaWQgdXBncmFkZSBmcm9tIFRhcmFudG9vbCA8IDEuNy41IGFu ZCByZWZhY3RvciB1cGdyYWRlLmx1YSk8YnI+Cj4gICAgIFRoZSByZWFzb24gZm9yIHRoYXQgd2Fz IHRoZSBtYW5kYXRvcnkgc3BhY2UgZm9ybWF0IGNoZWNrcyBpbnRyb2R1Y2VkPGJyPgo+ICAgICBi YWNrIHRoZW4uIFdpdGggdGhlc2Ugc3BhY2UgZm9ybWF0IGNoZWNrcywgb2xkIHNjaGVtYSBjb3Vs ZG4ndCBiZTxicj4KPiAgICAgcmVjb3ZlcmVkIG9uIG5ldyBUYXJhbnRvb2wgdmVyc2lvbnMsIGJl Y2F1c2UgbmV3ZXIgdmVyc2lvbnMgaGFkPGJyPgo+ICAgICBkaWZmZXJlbnQgc3lzdGVtIHNwYWNl IGZvcm1hdHMuIFNvIG9sZCBzY2hlbWEgY291bGRuJ3QgYmUgdXBncmFkZWQ8YnI+Cj4gICAgIGJl Y2F1c2UgaXQgY291bGRuJ3QgZXZlbiBiZSByZWNvdmVyZWQuPGJyPgo+PGJyPgo+ICAgICBBY3R1 YWxseSB0aGlzIHdhcyByYXRoZXIgaW5jb252ZW5pZW50LiBPbmUgaGFkIHRvIHBlcmZvcm0gYW4g ZXh0cmE8YnI+Cj4gICAgIHVwZ3JhZGUgc3RlcCB3aGVuIHVwZ3JhZGluZyBmcm9tLCBzYXksIDEu NiB0byAyLng6IGluc3RlYWQgb2Y8YnI+Cj4gICAgIHBlcmZvcm1pbmcgYSBkaXJlY3QgdXBncmFk ZSBvbmUgaGFkIHRvIGRvIDEuNiAtPiAxLjEwIC0+IDIueCB1cGdyYWRlPGJyPgo+ICAgICB3aGlj aCB0YWtlcyB0d2ljZSB0aGUgdGltZS48YnI+Cj48YnI+Cj4gICAgIE1ha2UgaXQgcG9zc2libGUg dG8gYm9vdCBmcm9tIHNuYXBzaG90cyBjb21pbmcgZnJvbSBUYXJhbnRvb2wgdmVyc2lvbjxicj4K PiAgICAgMS42LjggYW5kIGFib3ZlLjxicj4KPjxicj4KPiAgICAgSW4gb3JkZXIgdG8gZG8gc28s IGludHJvZHVjZSBiZWZvcmVfcmVwbGFjZSB0cmlnZ2VycyBvbiBzeXN0ZW0gc3BhY2VzLDxicj4K PiAgICAgd2hpY2ggd29yayBkdXJpbmcgc25hcHNob3QveGxvZyByZWNvdmVyeS4gVGhlIHRyaWdn ZXJzIHdpbGwgc2V0IHR1cGxlPGJyPgo+ICAgICBmb3JtYXRzIHRvIHRoZSBvbmVzIHN1cHBvcnRl ZCBieSBjdXJyZW50IFRhcmFudG9vbCAoMi54KS4gVGhpcyB3YXkgdGhlPGJyPgo+ICAgICByZWNv dmVyZWQgZGF0YSB3aWxsIGhhdmUgdGhlIGNvcnJlY3QgZm9ybWF0IGZvciBhIHVzdWFsIHNjaGVt YTxicj4KPiAgICAgdXBncmFkZS48YnI+Cj48YnI+Cj4gICAgIEFsc28gYWRkIHVwZ3JhZGVfdG9f MV83XzUoKSBoYW5kbGVyLCB3aGljaCBmaW5pc2hlcyB0cmFuc2Zvcm1hdGlvbiBvZjxicj4KPiAg ICAgb2xkIHNjaGVtYSB0byAxLjcuNS4gVGhlIGhhbmRsZXIgaXMgZmlyZWQgdG9nZXRoZXIgd2l0 aCBvdGhlcjxicj4KPiAgICAgYm94LnNjaGVtYS51cGdyYWRlKCkgaGFuZGxlcnMsIHNvIHRoZXJl J3Mgbm8gdXNlci12aXNpYmxlIGJlaGF2aW91cjxicj4KPiAgICAgY2hhbmdlLjxicj4KPjxicj4K PiAgICAgU2lkZSBub3RlOiBpdCB3b3VsZCBiZSBncmVhdCB0byB1c2UgdGhlIHNhbWUgdGVjaG5p cXVlIHRvIGFsbG93PGJyPgo+ICAgICBib290aW5nPGJyPgo+ICAgICBmcm9tIHByZS0xLjYuOCBz bmFwc2hvdHMuIFVuZm9ydHVuYXRlbHksIHRoaXMgaXMgbm90IHBvc3NpYmxlLjxicj4KPjxicj4K PiAgICAgQ3VycmVudCB0cmlnZ2VycyBkb24ndCBicmVhayB0aGUgb3JkZXIgb2Ygc2NoZW1hIHVw Z3JhZGVzLCBzbyAxLjcuMTxicj4KPiAgICAgdXBncmFkZXMgY29tZSBiZWZvcmUgMS43LjIgYW5k IDEuNy41LiBUaGlzIGlzIGJlY2F1c2UgYWxsIHRoZSB1cGdyYWRlczxicj4KPiAgICAgaW4gdGhl c2UgdmVyc2lvbnMgYXJlIHJlcGxhY2luZyBleGlzdGluZyB0dXBsZXMgYW5kIG5vdCBpbnNlcnRp bmcgbmV3PGJyPgo+ICAgICBvbmVzLCBzbyB0aGUgdXBncmFkZXMgbWF5IGJlIGhhbmRsZWQgYnkg dGhlIGJlZm9yZV9yZXBsYWNlIHRyaWdnZXJzLjxicj4KPjxicj4KPiAgICAgVXBncmFkZSB0byAx LjYuOCByZXF1aXJlcyBpbnNlcnRpbmcgbmV3IHR1cGxlczogY3JlYXRpbmcgc3lzdmlld3MsPGJy Pgo+ICAgICBsaWtlPGJyPgo+ICAgICBfdnNwYWNlLCBfdnVzZXIgYW5kIHNvIG9uLiBUaGlzIGNh bid0IGJlIGRvbmUgZnJvbSB0aGUgYmVmb3JlX3JlcGxhY2U8YnI+Cj4gICAgIHRyaWdnZXJzLCBz byB3ZSB3b3VsZCBoYXZlIHRvIHJ1biB0cmlnZ2VycyBmb3IgMS43LnggZmlyc3Qgd2hpY2ggd291 bGQ8YnI+Cj4gICAgIGFsbG93IFRhcmFudG9vbCB0byByZWNvdmVyIHRoZSBzbmFwc2hvdCwgYW5k IHRoZW4gcnVuIGFuIHVwZ3JhZGU8YnI+Cj4gICAgIGhhbmRsZXIgZm9yPGJyPgo+ICAgICAxLjYu OC4gVGhpcyBsb29rcyByZWFsbHkgbWVzc3kuPGJyPgo+PGJyPgo+ICAgICBDbG9zZXMgIzU4OTQ8 YnI+Cj4gICAgIC0tLTxicj4KPiAgICAgwqBzcmMvYm94L2x1YS9sb2FkX2NmZy5sdWEgfCAxNCAr PGJyPgo+ICAgICDCoHNyYy9ib3gvbHVhL3VwZ3JhZGUubHVhIHwgMjc2ICsrKysrKysrKysrLTxi cj4KPiAgICAgwqB0ZXN0L3hsb2cvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS5yZXN1bHQgfCA0 MDAgKysrKysrKysrKysrKysrKysrPGJyPgo+ICAgICDCoHRlc3QveGxvZy9naC01ODk0LXByZS0x LjcuNy11cGdyYWRlLnRlc3QubHVhIHwgNzcgKysrKzxicj4KPiAgICAgwqAuLi4vMS42LjgvZ2gt NTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YSB8IDEgKzxicj4KPiAgICAgwqAuLi4vMS43 LjEvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YSB8IDEgKzxicj4KPiAgICAgwqAu Li4vMS43LjIvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YSB8IDEgKzxicj4KPiAg ICAgwqAuLi4vMS43LjUvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YSB8IDEgKzxi cj4KPiAgICAgwqB0ZXN0L3hsb2cvdXBncmFkZS9maWxsLmx1YSB8IDQgKzxicj4KPiAgICAgwqA5 IGZpbGVzIGNoYW5nZWQsIDc3MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKTxicj4KPiAg ICAgwqBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC94bG9nL2doLTU4OTQtcHJlLTEuNy43LXVwZ3Jh ZGUucmVzdWx0PGJyPgo+ICAgICDCoGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L3hsb2cvZ2gtNTg5 NC1wcmUtMS43LjctdXBncmFkZS50ZXN0Lmx1YTxicj4KPiAgICAgwqBjcmVhdGUgbW9kZSAxMjAw MDA8YnI+Cj4gICAgIHRlc3QveGxvZy91cGdyYWRlLzEuNi44L2doLTU4OTQtcHJlLTEuNy43LXVw Z3JhZGUvZmlsbC5sdWE8YnI+Cj4gICAgIMKgY3JlYXRlIG1vZGUgMTIwMDAwPGJyPgo+ICAgICB0 ZXN0L3hsb2cvdXBncmFkZS8xLjcuMS9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlL2ZpbGwubHVh PGJyPgo+ICAgICDCoGNyZWF0ZSBtb2RlIDEyMDAwMDxicj4KPiAgICAgdGVzdC94bG9nL3VwZ3Jh ZGUvMS43LjIvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YTxicj4KPiAgICAgwqBj cmVhdGUgbW9kZSAxMjAwMDA8YnI+Cj4gICAgIHRlc3QveGxvZy91cGdyYWRlLzEuNy41L2doLTU4 OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmlsbC5sdWE8YnI+Cj48YnI+Cj4gICAgIGRpZmYgLS1naXQg YS9zcmMvYm94L2x1YS9sb2FkX2NmZy5sdWEgYi9zcmMvYm94L2x1YS9sb2FkX2NmZy5sdWE8YnI+ Cj4gICAgIGluZGV4IDRkZjcwYzIxMC4uN2E4Y2FiM2ZkIDEwMDY0NDxicj4KPiAgICAgLS0tIGEv c3JjL2JveC9sdWEvbG9hZF9jZmcubHVhPGJyPgo+ICAgICArKysgYi9zcmMvYm94L2x1YS9sb2Fk X2NmZy5sdWE8YnI+Cj4gICAgIEBAIC03MTksOSArNzE5LDIzIEBAIGxvY2FsIGZ1bmN0aW9uIGxv YWRfY2ZnKGNmZyk8YnI+Cj4gICAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgX19jYWxsID0g bG9ja2VkKHJlbG9hZF9jZmcpLDxicj4KPiAgICAgwqDCoMKgwqDCoMKgwqDCoMKgfSk8YnI+Cj48 YnI+Cj4gICAgICsgLS0gQ2hlY2sgc2NoZW1hIHZlcnNpb24gb2YgdGhlIHNuYXBzaG90IHdlJ3Jl IGFib3V0IHRvIHJlY292ZXIsPGJyPgo+ICAgICBpZiBhbnkuPGJyPgo+ICAgICArIC0tIFNvbWUg c2NoZW1hIHZlcnNpb25zIChiZWxvdyAxLjcuNSkgYXJlIGluY29tcGF0aWJsZSB3aXRoPGJyPgo+ ICAgICBUYXJhbnRvb2wgMi54PGJyPgo+ICAgICArIC0tIFdoZW4gcmVjb3ZlcmluZyBmcm9tIHN1 Y2ggYW4gb2xkIHNuYXBzaG90LCBzcGVjaWFsIHJlY292ZXJ5PGJyPgo+ICAgICB0cmlnZ2VycyBv bjxicj4KPiAgICAgKyAtLSBzeXN0ZW0gc3BhY2VzIGFyZSBuZWVkZWQgaW4gb3JkZXIgdG8gYmUg YWJsZSB0byByZWNvdmVyIGFuZDxicj4KPiAgICAgdXBncmFkZTxicj4KPiAgICAgKyAtLSB0aGUg c2NoZW1hIHRoZW4uPGJyPgo+ICAgICArIGxvY2FsIHNuYXBfZGlyID0gYm94LmNmZy5tZW10eF9k aXI8YnI+Cj4gICAgICsgbG9jYWwgc25hcF92ZXJzaW9uID0gcHJpdmF0ZS5nZXRfc25hcHNob3Rf dmVyc2lvbihzbmFwX2Rpcik8YnI+Cj4gICAgICsgaWYgc25hcF92ZXJzaW9uIHRoZW48YnI+Cj4g ICAgICsgcHJpdmF0ZS5zZXRfcmVjb3ZlcnlfdHJpZ2dlcnMoc25hcF92ZXJzaW9uKTxicj4KPiAg ICAgKyBlbmQ8YnI+Cj4gICAgICs8YnI+Cj4gICAgIMKgwqDCoMKgwqAtLSBUaGlzIGNhbGwgZWl0 aGVyIHN1Y2NlZWRzIG9yIGNhbGxzIHBhbmljKCkgLyBleGl0KCkuPGJyPgo+ICAgICDCoMKgwqDC oMKgcHJpdmF0ZS5jZmdfbG9hZCgpPGJyPgo+PGJyPgo+ICAgICArIGlmIHNuYXBfdmVyc2lvbiB0 aGVuPGJyPgo+ICAgICArIHByaXZhdGUuY2xlYXJfcmVjb3ZlcnlfdHJpZ2dlcnMoKTxicj4KPiAg ICAgKyBlbmQ8YnI+Cj4gICAgIMKgwqDCoMKgwqAtLSBUaGlzIGJsb2NrIGRvZXMgbm90IHJhaXNl IGFuIGVycm9yOiBhbGwgbmVjZXNzYXJ5IGNoZWNrczxicj4KPiAgICAgwqDCoMKgwqDCoC0tIGFs cmVhZHkgcGVyZm9ybWVkIGluIHByaXZhdGUuY2ZnX2NoZWNrKCkuIFNlZSA8ZHluYW1pY19jZmc+ PGJyPgo+ICAgICDCoMKgwqDCoMKgLS0gY29tbWVudC48YnI+Cj4gICAgIGRpZmYgLS1naXQgYS9z cmMvYm94L2x1YS91cGdyYWRlLmx1YSBiL3NyYy9ib3gvbHVhL3VwZ3JhZGUubHVhPGJyPgo+ICAg ICBpbmRleCA2YWJjZTUwZjQuLjkyNWFkYWIxOCAxMDA2NDQ8YnI+Cj4gICAgIC0tLSBhL3NyYy9i b3gvbHVhL3VwZ3JhZGUubHVhPGJyPgo+ICAgICArKysgYi9zcmMvYm94L2x1YS91cGdyYWRlLmx1 YTxicj4KPiAgICAgQEAgLTEsNiArMSw4IEBAPGJyPgo+ICAgICDCoGxvY2FsIGxvZyA9IHJlcXVp cmUoJ2xvZycpPGJyPgo+ICAgICDCoGxvY2FsIGJpdCA9IHJlcXVpcmUoJ2JpdCcpPGJyPgo+ICAg ICDCoGxvY2FsIGpzb24gPSByZXF1aXJlKCdqc29uJyk8YnI+Cj4gICAgICtsb2NhbCBmaW8gPSBy ZXF1aXJlKCdmaW8nKTxicj4KPiAgICAgK2xvY2FsIHhsb2cgPSByZXF1aXJlKCd4bG9nJyk8YnI+ Cj48YnI+Cj4gICAgIMKgLS0gR3Vlc3QgdXNlciBpZCAtIHRoZSBkZWZhdWx0IHVzZXI8YnI+Cj4g ICAgIMKgbG9jYWwgR1VFU1QgPSAwPGJyPgo+ICAgICBAQCAtODYsNiArODgsNDAgQEAgbG9jYWwg ZnVuY3Rpb24gc2V0X3N5c3RlbV90cmlnZ2Vycyh2YWwpPGJyPgo+ICAgICDCoMKgwqDCoMKgZm9y ZWFjaF9zeXN0ZW1fc3BhY2UoZnVuY3Rpb24ocykgczpydW5fdHJpZ2dlcnModmFsKSBlbmQpPGJy Pgo+ICAgICDCoGVuZDxicj4KPjxicj4KPiAgICAgKy0tIEdldCBzY2hlbWEgdmVyc2lvbiwgc3Rv cmVkIGluIF9zY2hlbWEgc3lzdGVtIHNwYWNlLCBieSByZWFkaW5nPGJyPgo+ICAgICB0aGUgbGF0 ZXN0PGJyPgo+ICAgICArLS0gc25hcHNob3QgZmlsZSBmcm9tIHRoZSBzbmFwX2Rpci4gVXNlZnVs IHRvIGRlZmluZTxicj4KPiAgICAgc2NoZW1hX3ZlcnNpb24gYmVmb3JlPGJyPgo+ICAgICArLS0g cmVjb3ZlcmluZyB0aGUgc25hcHNob3QsIGJlY2F1c2Ugc29tZSBzY2hlbWEgdmVyc2lvbnMgYXJl IHRvbzxicj4KPiAgICAgb2xkIGFuZCBjYW5ub3Q8YnI+Cj4gICAgICstLSBiZSByZWNvdmVyZWQg bm9ybWFsbHkuPGJyPgo+ICAgICArbG9jYWwgZnVuY3Rpb24gZ2V0X3NuYXBzaG90X3ZlcnNpb24o c25hcF9kaXIpPGJyPgo+ICAgICArIGxvY2FsIHNuYXBfcGF0dGVybiA9IHNuYXBfZGlyLi4nLycu LnN0cmluZy5yZXAoJ1swLTldJywgMjApLi4nLnNuYXAnPGJyPgo+PGJyPgo+IFByb2JhYmx5IHdl IGNvdWxkIHVzZSBmaW8ucGF0aGpvaW4gaGVyZTxicj4KPGJyPgpZZXAsIHN1cmUuIENoYW5nZWQu PGJyPgo8YnI+Cj4gICAgICsgbG9jYWwgc25hcF9saXN0ID0gZmlvLmdsb2Ioc25hcF9wYXR0ZXJu KTxicj4KPiAgICAgKyB0YWJsZS5zb3J0KHNuYXBfbGlzdCk8YnI+Cj4gICAgICsgbG9jYWwgc25h cCA9IHNuYXBfbGlzdFsjc25hcF9saXN0XTxicj4KPiAgICAgKyBpZiBub3Qgc25hcCB0aGVuPGJy Pgo+ICAgICArIHJldHVybiBuaWw8YnI+Cj4gICAgICsgZW5kPGJyPgo+ICAgICArIGxvY2FsIHZl cnNpb24gPSBuaWw8YnI+Cj4gICAgICsgZm9yIF8sIHJvdyBpbiB4bG9nLnBhaXJzKHNuYXApIGRv PGJyPgo+ICAgICArIGxvY2FsIHNpZCA9IHJvdy5CT0RZIGFuZCByb3cuQk9EWS5zcGFjZV9pZDxi cj4KPiAgICAgKyBpZiBzaWQgPT0gYm94LnNjaGVtYS5TQ0hFTUFfSUQgdGhlbjxicj4KPiAgICAg KyBsb2NhbCB0dXBsZSA9IHJvdy5CT0RZLnR1cGxlPGJyPgo+ICAgICArIGlmIHR1cGxlIGFuZCB0 dXBsZVsxXSA9PSAndmVyc2lvbicgdGhlbjxicj4KPiAgICAgKyBsb2NhbCBtYWpvciwgbWlub3Is IHBhdGNoID0gdHVwbGVbMl0sIHR1cGxlWzNdLCB0dXBsZVs0XSBvciAwPGJyPgo+PGJyPgo+IENv dWxkIGl0IGJlIHJlcGxhY2VkIHdpdGjCoHR1cGxlOnVucGFjaygyLCA0KT88YnI+Cjxicj4KWWVw LiBGaXhlZCBhcyB3ZWxsLjxicj4KPGJyPgo+ICAgICArIGlmIG1ham9yIGFuZCBtaW5vciBhbmQg cGF0Y2ggYW5kIHR5cGUobWFqb3IpID09ICdudW1iZXInIGFuZDxicj4KPiAgICAgKyB0eXBlKG1p bm9yKSA9PSAnbnVtYmVyJyBhbmQgdHlwZShwYXRjaCkgPT0gJ251bWJlcicgdGhlbjxicj4KPjxi cj4KPiBIZXJlIHlvdSB1c2UgdHlwZSgpID09IG51bWJlciBjaGVja3MuwqBDb3VsZCBpdCBiZSBk aWZmZXJlbnQ/IEluIGNhc2UgPGJyPgo+IG9mIGJyb2tlbiBzbmFwPzxicj4KPGJyPgpZZXAsIHRo YXQncyBhIGNoZWNrIGZvciBhIGJyb2tlbiBzbmFwLjxicj4KPiBTbywgd2Ugc2hvdWxkIGxvZyBp dCBJIGFzc3VtZS4gVGhlIHNhbWUgZm9yIHNpbWlsYXIgcGxhY2VzIGJlbG93Ljxicj4KPGJyPgpB ZGRlZCBsb2dnaW5nLjxicj4KPGJyPgo+ICAgICArIHZlcnNpb24gPSBta3ZlcnNpb24obWFqb3Is IG1pbm9yLCBwYXRjaCk8YnI+Cj4gICAgICsgYnJlYWs8YnI+Cj4gICAgICsgZW5kPGJyPgo+ICAg ICArIGVuZDxicj4KPiAgICAgKyBlbHNlaWYgc2lkIGFuZCBzaWQgPiBib3guc2NoZW1hLlNDSEVN QV9JRCB0aGVuPGJyPgo+ICAgICArIC0tIEV4aXQgZWFybHkgaWYgdmVyc2lvbiB3YXNuJ3QgZm91 bmQgaW4gX3NjaGVtYSBzcGFjZS48YnI+Cj4gICAgICsgLS0gU25hcHNob3Qgcm93cyBhcmUgb3Jk ZXJlZCBieSBzcGFjZSBpZC48YnI+Cj4gICAgICsgYnJlYWs8YnI+Cj4gICAgICsgZW5kPGJyPgo+ ICAgICArIGVuZDxicj4KPiAgICAgKyByZXR1cm4gdmVyc2lvbjxicj4KPiAgICAgK2VuZDxicj4K PiAgICAgKzxicj4KPiAgICAgwqAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj4KPiAgICAgwqAt LSBCb290c3RyYXA8YnI+Cj4gICAgIMKgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+Cj4gICAg IEBAIC0xMzEsNiArMTY3LDE0NCBAQCBsb2NhbCBmdW5jdGlvbiBjcmVhdGVfc3lzdmlldyhzb3Vy Y2VfaWQsPGJyPgo+ICAgICB0YXJnZXRfaWQpPGJyPgo+ICAgICDCoMKgwqDCoMKgZW5kPGJyPgo+ ICAgICDCoGVuZDxicj4KPjxicj4KPiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPgo+ ICAgICArLS0gVGFyYW50b29sIDEuNy4xPGJyPgo+ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS08YnI+Cj4gICAgICtsb2NhbCBmdW5jdGlvbiB1c2VyX3RyaWdfMV83XzEoXywgdHVwbGUpPGJy Pgo+ICAgICArIGlmIHR1cGxlIGFuZCB0dXBsZVszXSA9PSAnZ3Vlc3QnIGFuZCBub3QgdHVwbGVb NV0gdGhlbjxicj4KPjxicj4KPiBJIHRoaW5rIGl04oCZcyBiZXR0ZXIgdG8gdXNlIGV4cGxpY2l0 IGNoZWNrIGZvciB0dXBsZVs1XSB2YWx1ZS48YnI+Cj4gSWYgaXTigJlzIGEgYm9vbGVhbiB2YWx1 ZSBjb3VsZCBpdCBiZSBib3guTlVMTD88YnI+Cjxicj4Kbm90IGJveC5OVUxMIHJldHVybnMgZmFs c2UsIHdoaWxlIG5vdCBuaWwgcmV0dXJucyB0cnVlLjxicj4KPGJyPgpPbiB0aGUgb3RoZXIgaGFu ZCwgYm94Lk5VTEwgPT0gbmlsIHJldHVybnMgdHJ1ZS48YnI+Cjxicj4KU28gSSdkIHJhdGhlciBs ZWF2ZSB0aGlzIGNoZWNrLjxicj4KPGJyPgo8YnI+CkhlcmUncyB0aGUgZnVsbCBkaWZmOjxicj4K PGJyPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTxicj4KZGlm ZiAtLWdpdCBhL3NyYy9ib3gvbHVhL3VwZ3JhZGUubHVhIGIvc3JjL2JveC9sdWEvdXBncmFkZS5s dWE8YnI+CmluZGV4IDkyNWFkYWIxOC4uMDFlMjJhYTdjIDEwMDY0NDxicj4KLS0tIGEvc3JjL2Jv eC9sdWEvdXBncmFkZS5sdWE8YnI+CisrKyBiL3NyYy9ib3gvbHVhL3VwZ3JhZGUubHVhPGJyPgpA QCAtODgsMTIgKzg4LDIzIEBAIGxvY2FsIGZ1bmN0aW9uIHNldF9zeXN0ZW1fdHJpZ2dlcnModmFs KTxicj4KwqDCoMKgwqDCoCBmb3JlYWNoX3N5c3RlbV9zcGFjZShmdW5jdGlvbihzKSBzOnJ1bl90 cmlnZ2Vycyh2YWwpIGVuZCk8YnI+CsKgwqBlbmQ8YnI+Cjxicj4KK2xvY2FsIGZ1bmN0aW9uIHZl cnNpb25fZnJvbV90dXBsZSh0dXBsZSk8YnI+CivCoMKgwqAgbG9jYWwgbWFqb3IsIG1pbm9yLCBw YXRjaCA9IHR1cGxlOnVucGFjaygyLCA0KTxicj4KK8KgwqDCoCBwYXRjaCA9IHBhdGNoIG9yIDA8 YnI+CivCoMKgwqAgaWYgbWFqb3IgYW5kIG1pbm9yIGFuZCB0eXBlKG1ham9yKSA9PSAnbnVtYmVy JyBhbmQ8YnI+CivCoMKgwqDCoMKgwqAgdHlwZShtaW5vcikgPT0gJ251bWJlcicgYW5kIHR5cGUo cGF0Y2gpID09ICdudW1iZXInIHRoZW48YnI+CivCoMKgwqDCoMKgwqDCoCByZXR1cm4gbWt2ZXJz aW9uKG1ham9yLCBtaW5vciwgcGF0Y2gpPGJyPgorwqDCoMKgIGVuZDxicj4KK8KgwqDCoCByZXR1 cm4gbmlsPGJyPgorZW5kPGJyPgorPGJyPgrCoMKgLS0gR2V0IHNjaGVtYSB2ZXJzaW9uLCBzdG9y ZWQgaW4gX3NjaGVtYSBzeXN0ZW0gc3BhY2UsIGJ5IHJlYWRpbmcgdGhlIDxicj4KbGF0ZXN0PGJy PgrCoMKgLS0gc25hcHNob3QgZmlsZSBmcm9tIHRoZSBzbmFwX2Rpci4gVXNlZnVsIHRvIGRlZmlu ZSBzY2hlbWFfdmVyc2lvbiBiZWZvcmU8YnI+CsKgwqAtLSByZWNvdmVyaW5nIHRoZSBzbmFwc2hv dCwgYmVjYXVzZSBzb21lIHNjaGVtYSB2ZXJzaW9ucyBhcmUgdG9vIG9sZCA8YnI+CmFuZCBjYW5u b3Q8YnI+CsKgwqAtLSBiZSByZWNvdmVyZWQgbm9ybWFsbHkuPGJyPgrCoMKgbG9jYWwgZnVuY3Rp b24gZ2V0X3NuYXBzaG90X3ZlcnNpb24oc25hcF9kaXIpPGJyPgotwqDCoMKgIGxvY2FsIHNuYXBf cGF0dGVybiA9IHNuYXBfZGlyLi4nLycuLnN0cmluZy5yZXAoJ1swLTldJywgMjApLi4nLnNuYXAn PGJyPgorwqDCoMKgIGxvY2FsIHNuYXBfcGF0dGVybiA9IGZpby5wYXRoam9pbihzbmFwX2Rpciw8 YnI+CivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJpbmcucmVwKCdbMC05XScsIDIwKS4uJy5zbmFwJyk8 YnI+CsKgwqDCoMKgwqAgbG9jYWwgc25hcF9saXN0ID0gZmlvLmdsb2Ioc25hcF9wYXR0ZXJuKTxi cj4KwqDCoMKgwqDCoCB0YWJsZS5zb3J0KHNuYXBfbGlzdCk8YnI+CsKgwqDCoMKgwqAgbG9jYWwg c25hcCA9IHNuYXBfbGlzdFsjc25hcF9saXN0XTxicj4KQEAgLTEwNiwxMiArMTE3LDE0IEBAIGxv Y2FsIGZ1bmN0aW9uIGdldF9zbmFwc2hvdF92ZXJzaW9uKHNuYXBfZGlyKTxicj4KwqDCoMKgwqDC oMKgwqDCoMKgIGlmIHNpZCA9PSBib3guc2NoZW1hLlNDSEVNQV9JRCB0aGVuPGJyPgrCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBsb2NhbCB0dXBsZSA9IHJvdy5CT0RZLnR1cGxlPGJyPgrCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiB0dXBsZSBhbmQgdHVwbGVbMV0gPT0gJ3ZlcnNpb24n IHRoZW48YnI+Ci3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9jYWwgbWFqb3IsIG1p bm9yLCBwYXRjaCA9IHR1cGxlWzJdLCB0dXBsZVszXSwgPGJyPgp0dXBsZVs0XSBvciAwPGJyPgot wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIG1ham9yIGFuZCBtaW5vciBhbmQgcGF0 Y2ggYW5kIHR5cGUobWFqb3IpID09IDxicj4KJ251bWJlcicgYW5kPGJyPgotwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHR5cGUobWlub3IpID09ICdudW1iZXInIGFuZCB0eXBl KHBhdGNoKSA9PSAnbnVtYmVyJyB0aGVuPGJyPgotwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgdmVyc2lvbiA9IG1rdmVyc2lvbihtYWpvciwgbWlub3IsIHBhdGNoKTxicj4K LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrPGJyPgorwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxvY2FsIG1ham9yLCBtaW5vciwgcGF0Y2ggPSB0dXBs ZTp1bnBhY2soMiwgNCk8YnI+CivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGF0Y2gg PSBwYXRjaCBvciAwPGJyPgorwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZlcnNpb24g PSB2ZXJzaW9uX2Zyb21fdHVwbGUodHVwbGUpPGJyPgorwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGlmIG5vdCB2ZXJzaW9uIHRoZW48YnI+CivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBsb2cuZXJyb3IoIkNvcnJ1cHRlZCB2ZXJzaW9uIHR1cGxlIGluIHNwYWNl IDxicj4KJ19zY2hlbWEnICIuLjxicj4KK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgImluIHNuYXBzaG90ICclcyc6ICVzICIsIHNuYXAs IHR1cGxlKTxicj4KwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbmQ8YnI+CivC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs8YnI+CsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGVuZDxicj4KwqDCoMKgwqDCoMKgwqDCoMKgIGVsc2VpZiBzaWQgYW5kIHNpZCA+ IGJveC5zY2hlbWEuU0NIRU1BX0lEIHRoZW48YnI+CsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC0tIEV4aXQgZWFybHkgaWYgdmVyc2lvbiB3YXNuJ3QgZm91bmQgaW4gX3NjaGVtYSBzcGFjZS48 YnI+CkBAIC0xMjg0LDEwICsxMjk3LDggQEAgbG9jYWwgcmVjb3ZlcnlfdHJpZ2dlcnMgPSB7PGJy PgrCoMKgLS0gc25hcHNob3QpLCB0aGUgdHJpZ2dlcnMgaGVscGluZyByZWNvdmVyIHRoZSBvbGQg c2NoZW1hIHNob3VsZCBiZSA8YnI+CnJlbW92ZWQuPGJyPgrCoMKgbG9jYWwgZnVuY3Rpb24gc2No ZW1hX3RyaWdfbGFzdChfLCB0dXBsZSk8YnI+CsKgwqDCoMKgwqAgaWYgdHVwbGUgYW5kIHR1cGxl WzFdID09ICd2ZXJzaW9uJyB0aGVuPGJyPgotwqDCoMKgwqDCoMKgwqAgbG9jYWwgbWFqb3IsIG1p bm9yLCBwYXRjaCA9IHR1cGxlWzJdLCB0dXBsZVszXSwgdHVwbGVbNF0gb3IgMDxicj4KLcKgwqDC oMKgwqDCoMKgIGlmIG1ham9yIGFuZCBtaW5vciBhbmQgcGF0Y2ggYW5kIHR5cGUobWFqb3IpID09 ICdudW1iZXInIGFuZDxicj4KLcKgwqDCoMKgwqDCoMKgwqDCoMKgIHR5cGUobWlub3IpID09ICdu dW1iZXInIGFuZCB0eXBlKHBhdGNoKSA9PSAnbnVtYmVyJyB0aGVuPGJyPgotwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBsb2NhbCB2ZXJzaW9uID0gbWt2ZXJzaW9uKG1ham9yLCBtaW5vciwgcGF0Y2gp PGJyPgorwqDCoMKgwqDCoMKgwqAgbG9jYWwgdmVyc2lvbiA9IHZlcnNpb25fZnJvbV90dXBsZSh0 dXBsZSk8YnI+CivCoMKgwqDCoMKgwqDCoCBpZiB2ZXJzaW9uIHRoZW48YnI+CsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGxvZy5pbmZvKCJSZWNvdmVyeSB0cmlnZ2VyOiByZWNvdmVyZWQgc2No ZW1hIHZlcnNpb24gJXMuICIuLjxicj4KwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgIlJlbW92aW5nIG91dGRhdGVkIHJlY292ZXJ5IHRyaWdnZXJzLiIsIHZlcnNp b24pPGJyPgrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBib3guaW50ZXJuYWwuY2xlYXJfcmVj b3ZlcnlfdHJpZ2dlcnModmVyc2lvbik8YnI+Cjxicj4KPGJyPgo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PTxicj4KPjxicj4KPiAgICAgKyBsb2NhbCBhdXRoX21l dGhvZF9saXN0ID0ge308YnI+Cj4gICAgICsgYXV0aF9tZXRob2RfbGlzdFsiY2hhcC1zaGExIl0g PSBib3guc2NoZW1hLnVzZXIucGFzc3dvcmQoIiIpPGJyPgo+ICAgICArIHR1cGxlID0gdHVwbGU6 dXBkYXRle3snPScsIDUsIGF1dGhfbWV0aG9kX2xpc3R9fTxicj4KPiAgICAgKyBsb2cuaW5mbygi U2V0IGVtcHR5IHBhc3N3b3JkIHRvIHVzZXIgJ2d1ZXN0JyIpPGJyPgo+ICAgICArIGVuZDxicj4K PiAgICAgKyByZXR1cm4gdHVwbGU8YnI+Cj4gICAgICtlbmQ8YnI+Cj4gICAgICs8YnI+Cj4gICAg ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj4KPiAgICAgKy0tIFRhcmFudG9vbCAxLjcuMjxi cj4KPiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPgo+ICAgICArbG9jYWwgZnVuY3Rp b24gaW5kZXhfdHJpZ18xXzdfMihfLCB0dXBsZSk8YnI+Cj4gICAgICsgbG9jYWwgZmllbGRfdHlw ZXNfdjE2ID0gezxicj4KPiAgICAgKyBudW0gPSAndW5zaWduZWQnLDxicj4KPiAgICAgKyBpbnQg PSAnaW50ZWdlcicsPGJyPgo+ICAgICArIHN0ciA9ICdzdHJpbmcnLDxicj4KPiAgICAgKyB9PGJy Pgo+ICAgICArIGlmIG5vdCB0dXBsZSB0aGVuPGJyPgo+ICAgICArIHJldHVybiB0dXBsZTxicj4K PiAgICAgKyBlbmQ8YnI+Cj4gICAgICsgbG9jYWwgcGFydHMgPSB0dXBsZVs2XTxicj4KPiAgICAg KyBsb2NhbCBjaGFuZ2VkID0gZmFsc2U8YnI+Cj4gICAgICsgZm9yIF8sIHBhcnQgaW4gcGFpcnMo cGFydHMpIGRvPGJyPgo+ICAgICArIGxvY2FsIGZpZWxkX3R5cGUgPSBwYXJ0WzJdOmxvd2VyKCk8 YnI+Cj4gICAgICsgaWYgZmllbGRfdHlwZXNfdjE2W2ZpZWxkX3R5cGVdIH49IG5pbCB0aGVuPGJy Pgo+ICAgICArIHBhcnRbMl0gPSBmaWVsZF90eXBlc192MTZbZmllbGRfdHlwZV08YnI+Cj4gICAg ICsgY2hhbmdlZCA9IHRydWU8YnI+Cj4gICAgICsgZW5kPGJyPgo+ICAgICArIGVuZDxicj4KPiAg ICAgKyBpZiBjaGFuZ2VkIHRoZW48YnI+Cj4gICAgICsgbG9nLmluZm8oIlVwZGF0ZSBpbmRleCAn JXMnIG9uIHNwYWNlICclcyc6IHNldCBwYXJ0cyB0byAlcyIsPGJyPgo+ICAgICB0dXBsZVszXSw8 YnI+Cj4gICAgICsgYm94LnNwYWNlW3R1cGxlWzFdXS5uYW1lLCBqc29uLmVuY29kZShwYXJ0cykp PGJyPgo+ICAgICArIHR1cGxlID0gdHVwbGU6dXBkYXRle3snPScsIDYsIHBhcnRzfX08YnI+Cj4g ICAgICsgZW5kPGJyPgo+ICAgICArIHJldHVybiB0dXBsZTxicj4KPiAgICAgK2VuZDxicj4KPiAg ICAgKzxicj4KPiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPgo+ICAgICArLS0gVGFy YW50b29sIDEuNy41PGJyPgo+ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+Cj4gICAg ICtsb2NhbCBmdW5jdGlvbiBjcmVhdGVfdHJ1bmNhdGVfc3BhY2UoKTxicj4KPiAgICAgKyBsb2Nh bCBfdHJ1bmNhdGUgPSBib3guc3BhY2VbYm94LnNjaGVtYS5UUlVOQ0FURV9JRF08YnI+Cj4gICAg ICs8YnI+Cj4gICAgICsgbG9nLmluZm8oImNyZWF0ZSBzcGFjZSBfdHJ1bmNhdGUiKTxicj4KPiAg ICAgKyBib3guc3BhY2UuX3NwYWNlOmluc2VydHs8YnI+Cj4gICAgICsgX3RydW5jYXRlLmlkLCBB RE1JTiwgJ190cnVuY2F0ZScsICdtZW10eCcsIDAsIHNldG1hcCh7fSksPGJyPgo+ICAgICArIHt7 bmFtZSA9ICdpZCcsIHR5cGUgPSAndW5zaWduZWQnfSwge25hbWUgPSAnY291bnQnLCB0eXBlID08 YnI+Cj4gICAgICd1bnNpZ25lZCd9fTxicj4KPiAgICAgKyB9PGJyPgo+ICAgICArPGJyPgo+ICAg ICArIGxvZy5pbmZvKCJjcmVhdGUgaW5kZXggcHJpbWFyeSBvbiBfdHJ1bmNhdGUiKTxicj4KPiAg ICAgKyBib3guc3BhY2UuX2luZGV4Omluc2VydHs8YnI+Cj4gICAgICsgX3RydW5jYXRlLmlkLCAw LCAncHJpbWFyeScsICd0cmVlJywge3VuaXF1ZSA9IHRydWV9LCB7ezAsPGJyPgo+ICAgICAndW5z aWduZWQnfX08YnI+Cj4gICAgICsgfTxicj4KPiAgICAgKzxicj4KPiAgICAgKyBsb2NhbCBfcHJp diA9IGJveC5zcGFjZVtib3guc2NoZW1hLlBSSVZfSURdPGJyPgo+ICAgICArIF9wcml2Omluc2Vy dHtBRE1JTiwgUFVCTElDLCAnc3BhY2UnLCBfdHJ1bmNhdGUuaWQsIGJveC5wcml2Lld9PGJyPgo+ ICAgICArZW5kPGJyPgo+ICAgICArPGJyPgo+ICAgICArbG9jYWwgZnVuY3Rpb24gdXBncmFkZV90 b18xXzdfNSgpPGJyPgo+ICAgICArIGNyZWF0ZV90cnVuY2F0ZV9zcGFjZSgpPGJyPgo+ICAgICAr ZW5kPGJyPgo+ICAgICArPGJyPgo+ICAgICArbG9jYWwgZnVuY3Rpb24gdXNlcl90cmlnXzFfN181 KF8sIHR1cGxlKTxicj4KPiAgICAgKyBpZiB0dXBsZSBhbmQgbm90IHR1cGxlWzVdIHRoZW48YnI+ Cj4gICAgICsgdHVwbGUgPSB0dXBsZTp1cGRhdGV7eyc9JywgNSwgc2V0bWFwKHt9KX19PGJyPgo+ ICAgICArIGxvZy5pbmZvKCJTZXQgZW1wdHkgcGFzc3dvcmQgdG8gJXMgJyVzJyIsIHR1cGxlWzRd LCB0dXBsZVszXSk8YnI+Cj4gICAgICsgZW5kPGJyPgo+ICAgICArIHJldHVybiB0dXBsZTxicj4K PiAgICAgK2VuZDxicj4KPiAgICAgKzxicj4KPiAgICAgK2xvY2FsIHNwYWNlX2Zvcm1hdHNfMV83 XzUgPSB7PGJyPgo+ICAgICArIF9zY2hlbWEgPSB7PGJyPgo+ICAgICArIHtuYW1lID0gJ2tleScs IHR5cGUgPSAnc3RyaW5nJ30sPGJyPgo+ICAgICArIH0sPGJyPgo+ICAgICArIF9zcGFjZSA9IHs8 YnI+Cj4gICAgICsge25hbWUgPSAnaWQnLCB0eXBlID0gJ3Vuc2lnbmVkJ30sPGJyPgo+ICAgICAr IHtuYW1lID0gJ293bmVyJywgdHlwZSA9ICd1bnNpZ25lZCd9LDxicj4KPiAgICAgKyB7bmFtZSA9 ICduYW1lJywgdHlwZSA9ICdzdHJpbmcnfSw8YnI+Cj4gICAgICsge25hbWUgPSAnZW5naW5lJywg dHlwZSA9ICdzdHJpbmcnfSw8YnI+Cj4gICAgICsge25hbWUgPSAnZmllbGRfY291bnQnLCB0eXBl ID0gJ3Vuc2lnbmVkJ30sPGJyPgo+ICAgICArIHtuYW1lID0gJ2ZsYWdzJywgdHlwZSA9ICdtYXAn fSw8YnI+Cj4gICAgICsge25hbWUgPSAnZm9ybWF0JywgdHlwZSA9ICdhcnJheSd9LDxicj4KPiAg ICAgKyB9LDxicj4KPiAgICAgKyBfaW5kZXggPSB7PGJyPgo+ICAgICArIHtuYW1lID0gJ2lkJywg dHlwZSA9ICd1bnNpZ25lZCd9LDxicj4KPiAgICAgKyB7bmFtZSA9ICdpaWQnLCB0eXBlID0gJ3Vu c2lnbmVkJ30sPGJyPgo+ICAgICArIHtuYW1lID0gJ25hbWUnLCB0eXBlID0gJ3N0cmluZyd9LDxi cj4KPiAgICAgKyB7bmFtZSA9ICd0eXBlJywgdHlwZSA9ICdzdHJpbmcnfSw8YnI+Cj4gICAgICsg e25hbWUgPSAnb3B0cycsIHR5cGUgPSAnbWFwJ30sPGJyPgo+ICAgICArIHtuYW1lID0gJ3BhcnRz JywgdHlwZSA9ICdhcnJheSd9LDxicj4KPiAgICAgKyB9LDxicj4KPiAgICAgKyBfZnVuYyA9IHs8 YnI+Cj4gICAgICsge25hbWUgPSAnaWQnLCB0eXBlID0gJ3Vuc2lnbmVkJ30sPGJyPgo+ICAgICAr IHtuYW1lID0gJ293bmVyJywgdHlwZSA9ICd1bnNpZ25lZCd9LDxicj4KPiAgICAgKyB7bmFtZSA9 ICduYW1lJywgdHlwZSA9ICdzdHJpbmcnfSw8YnI+Cj4gICAgICsge25hbWUgPSAnc2V0dWlkJywg dHlwZSA9ICd1bnNpZ25lZCd9LDxicj4KPiAgICAgKyB9LDxicj4KPiAgICAgKyBfdXNlciA9IHs8 YnI+Cj4gICAgICsge25hbWUgPSAnaWQnLCB0eXBlID0gJ3Vuc2lnbmVkJ30sPGJyPgo+ICAgICAr IHtuYW1lID0gJ293bmVyJywgdHlwZSA9ICd1bnNpZ25lZCd9LDxicj4KPiAgICAgKyB7bmFtZSA9 ICduYW1lJywgdHlwZSA9ICdzdHJpbmcnfSw8YnI+Cj4gICAgICsge25hbWUgPSAndHlwZScsIHR5 cGUgPSAnc3RyaW5nJ30sPGJyPgo+ICAgICArIHtuYW1lID0gJ2F1dGgnLCB0eXBlID0gJ21hcCd9 LDxicj4KPiAgICAgKyB9LDxicj4KPiAgICAgKyBfcHJpdiA9IHs8YnI+Cj4gICAgICsge25hbWUg PSAnZ3JhbnRvcicsIHR5cGUgPSAndW5zaWduZWQnfSw8YnI+Cj4gICAgICsge25hbWUgPSAnZ3Jh bnRlZScsIHR5cGUgPSAndW5zaWduZWQnfSw8YnI+Cj4gICAgICsge25hbWUgPSAnb2JqZWN0X3R5 cGUnLCB0eXBlID0gJ3N0cmluZyd9LDxicj4KPiAgICAgKyB7bmFtZSA9ICdvYmplY3RfaWQnLCB0 eXBlID0gJ3Vuc2lnbmVkJ30sPGJyPgo+ICAgICArIHtuYW1lID0gJ3ByaXZpbGVnZScsIHR5cGUg PSAndW5zaWduZWQnfSw8YnI+Cj4gICAgICsgfSw8YnI+Cj4gICAgICsgX2NsdXN0ZXIgPSB7PGJy Pgo+ICAgICArIHtuYW1lID0gJ2lkJywgdHlwZSA9ICd1bnNpZ25lZCd9LDxicj4KPiAgICAgKyB7 bmFtZSA9ICd1dWlkJywgdHlwZSA9ICdzdHJpbmcnfSw8YnI+Cj4gICAgICsgfSw8YnI+Cj4gICAg ICt9PGJyPgo+ICAgICArPGJyPgo+ICAgICArc3BhY2VfZm9ybWF0c18xXzdfNS5fdnNwYWNlID0g c3BhY2VfZm9ybWF0c18xXzdfNS5fc3BhY2U8YnI+Cj4gICAgICtzcGFjZV9mb3JtYXRzXzFfN181 Ll92aW5kZXggPSBzcGFjZV9mb3JtYXRzXzFfN181Ll9pbmRleDxicj4KPiAgICAgK3NwYWNlX2Zv cm1hdHNfMV83XzUuX3ZmdW5jID0gc3BhY2VfZm9ybWF0c18xXzdfNS5fZnVuYzxicj4KPiAgICAg K3NwYWNlX2Zvcm1hdHNfMV83XzUuX3Z1c2VyID0gc3BhY2VfZm9ybWF0c18xXzdfNS5fdXNlcjxi cj4KPiAgICAgK3NwYWNlX2Zvcm1hdHNfMV83XzUuX3Zwcml2ID0gc3BhY2VfZm9ybWF0c18xXzdf NS5fcHJpdjxicj4KPiAgICAgKzxicj4KPiAgICAgK2xvY2FsIGZ1bmN0aW9uIHNwYWNlX3RyaWdf MV83XzUoXywgdHVwbGUpPGJyPgo+ICAgICArIGlmIHR1cGxlIGFuZCBzcGFjZV9mb3JtYXRzXzFf N181W3R1cGxlWzNdXSBhbmQ8YnI+Cj4gICAgICsgbm90IHRhYmxlLmVxdWFscyhzcGFjZV9mb3Jt YXRzXzFfN181W3R1cGxlWzNdXSwgdHVwbGVbN10pIHRoZW48YnI+Cj4gICAgICsgdHVwbGUgPSB0 dXBsZTp1cGRhdGV7eyc9JywgNywgc3BhY2VfZm9ybWF0c18xXzdfNVt0dXBsZVszXV19fTxicj4K PiAgICAgKyBsb2cuaW5mbygiVXBkYXRlIHNwYWNlICclcycgZm9ybWF0OiBuZXcgZm9ybWF0ICVz IiwgdHVwbGVbM10sPGJyPgo+ICAgICArIGpzb24uZW5jb2RlKHR1cGxlWzddKSk8YnI+Cj4gICAg ICsgZW5kPGJyPgo+ICAgICArIHJldHVybiB0dXBsZTxicj4KPiAgICAgK2VuZDxicj4KPiAgICAg Kzxicj4KPiAgICAgwqBsb2NhbCBmdW5jdGlvbiBpbml0aWFsXzFfN181KCk8YnI+Cj4gICAgIMKg wqDCoMKgwqAtLSBzdGljayB0byB0aGUgZm9sbG93aW5nIGNvbnZlbnRpb246PGJyPgo+ICAgICDC oMKgwqDCoMKgLS0gcHJlZmVyIHVzZXIgaWQgKG93bmVyIGlkKSBpbiBmaWVsZCAjMTxicj4KPiAg ICAgQEAgLTQ1Miw2ICs2MjYsMTUgQEAgbG9jYWwgZnVuY3Rpb24gdXBncmFkZV90b18xXzdfNygp PGJyPgo+ICAgICDCoMKgwqDCoMKgX3ByaXY6cmVwbGFjZSh7QURNSU4sIFNVUEVSLCAndW5pdmVy c2UnLCAwLCA0Mjk0OTY3Mjk1fSk8YnI+Cj4gICAgIMKgZW5kPGJyPgo+PGJyPgo+ICAgICArbG9j YWwgZnVuY3Rpb24gcHJpdl90cmlnXzFfN183KF8sIHR1cGxlKTxicj4KPiAgICAgKyBpZiB0dXBs ZSBhbmQgdHVwbGVbMl0gPT0gQURNSU4gYW5kIHR1cGxlWzNdID09ICd1bml2ZXJzZScgYW5kPGJy Pgo+ICAgICArIHR1cGxlWzVdIH49IGJveC5wcml2LkFMTCB0aGVuPGJyPgo+ICAgICArIHR1cGxl ID0gdHVwbGU6dXBkYXRle3snPScsIDUsIGJveC5wcml2LkFMTH19PGJyPgo+ICAgICArIGxvZy5p bmZvKCJHcmFudCBhbGwgcHJpdmlsZWdlcyB0byB1c2VyICdhZG1pbiciKTxicj4KPiAgICAgKyBl bmQ8YnI+Cj4gICAgICsgcmV0dXJuIHR1cGxlPGJyPgo+ICAgICArZW5kPGJyPgo+ICAgICArPGJy Pgo+ICAgICDCoC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPgo+ICAgICDCoC0tLSBUYXJhbnRv b2wgMS4xMC4wPGJyPgo+ICAgICDCoC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPgo+ICAgICBA QCAtMTAyMSw2ICsxMjA0LDcgQEAgZW5kPGJyPgo+ICAgICDCoC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tPGJyPgo+PGJyPgo+ICAgICDCoGxvY2FsIGhhbmRsZXJzID0gezxicj4KPiAgICAgKyB7dmVy c2lvbiA9IG1rdmVyc2lvbigxLCA3LCA1KSwgZnVuYyA9IHVwZ3JhZGVfdG9fMV83XzUsIGF1dG89 dHJ1ZX0sPGJyPgo+ICAgICDCoMKgwqDCoMKge3ZlcnNpb24gPSBta3ZlcnNpb24oMSwgNywgNiks IGZ1bmMgPSB1cGdyYWRlX3RvXzFfN182LCBhdXRvPGJyPgo+ICAgICA9IHRydWV9LDxicj4KPiAg ICAgwqDCoMKgwqDCoHt2ZXJzaW9uID0gbWt2ZXJzaW9uKDEsIDcsIDcpLCBmdW5jID0gdXBncmFk ZV90b18xXzdfNywgYXV0bzxicj4KPiAgICAgPSB0cnVlfSw8YnI+Cj4gICAgIMKgwqDCoMKgwqB7 dmVyc2lvbiA9IG1rdmVyc2lvbigxLCAxMCwgMCksIGZ1bmMgPSB1cGdyYWRlX3RvXzFfMTBfMCw8 YnI+Cj4gICAgIGF1dG8gPSB0cnVlfSw8YnI+Cj4gICAgIEBAIC0xMDYxLDEzICsxMjQ1LDk4IEBA IGxvY2FsIGZ1bmN0aW9uIHNjaGVtYV9uZWVkc191cGdyYWRlKCk8YnI+Cj4gICAgIMKgwqDCoMKg wqByZXR1cm4gZmFsc2U8YnI+Cj4gICAgIMKgZW5kPGJyPgo+PGJyPgo+ICAgICArbG9jYWwgdHJp Z19vbGRlc3RfdmVyc2lvbiA9IG5pbDxicj4KPiAgICAgKzxicj4KPiAgICAgKy0tIFNvbWUgc2No ZW1hIGNoYW5nZXMgYmVmb3JlIHZlcnNpb24gMS43LjcgbWFrZSBpdCBpbXBvc3NpYmxlIHRvPGJy Pgo+ICAgICByZWNvdmVyIGZyb208YnI+Cj4gICAgICstLSBvbGRlciBzbmFwc2hvdC4gVGhlIHRh YmxlIGJlbG93IGNvbnNpc3RzIG9mIGJlZm9yZV9yZXBsYWNlPGJyPgo+ICAgICB0cmlnZ2VycyBv biBzeXN0ZW08YnI+Cj4gICAgICstLSBzcGFjZXMsIHdoaWNoIG1ha2Ugb2xkIHNuYXBzaG90IHNj aGVtYSBjb21wYXRpYmxlIHdpdGggY3VycmVudDxicj4KPiAgICAgVGFyYW50b29sPGJyPgo+ICAg ICArLS0gKHZlcnNpb24gMi54KS4gVGhlIHRyaWdnZXJzIHJlcGxhY2Ugb2xkIGZvcm1hdCB0dXBs ZXMgd2l0aCBuZXc8YnI+Cj4gICAgIG9uZXM8YnI+Cj4gICAgICstLSBpbi1tZW1vcnksIHRodXMg bWFraW5nIGl0IHBvc3NpYmxlIHRvIHJlY292ZXIgZnJvbSBhIHJhdGhlcjxicj4KPiAgICAgb2xk IHNuYXBzaG90PGJyPgo+ICAgICArLS0gKHVwIHRvIHNjaGVtYSB2ZXJzaW9uIDEuNi44KS4gT25j ZSB0aGUgc25hcHNob3QgaXMgcmVjb3ZlcmVkLDxicj4KPiAgICAgYSBub3JtYWw8YnI+Cj4gICAg ICstLSB1cGdyYWRlIHByb2NlZHVyZSBtYXkgc2V0IHNjaGVtYSB2ZXJzaW9uIHRvIHRoZSBsYXRl c3Qgb25lLjxicj4KPiAgICAgKy0tPGJyPgo+ICAgICArLS0gVGhlIHRyaWdnZXJzIG1vc3RseSBy ZXBlYXQgdGhlIGNvcnJlc3BvbmRpbmcgdXBncmFkZV90b18xXzdfeDxicj4KPiAgICAgZnVuY3Rp b25zLDxicj4KPiAgICAgKy0tIHdoaWNoIHdlcmUgdXNlZCB3aGVuIHByZS0xLjcueCBzbmFwc2hv dCBzY2hlbWEgd2FzIHN0aWxsPGJyPgo+ICAgICByZWNvdmVyYWJsZS48YnI+Cj4gICAgICstLTxi cj4KPiAgICAgKy0tIFdoZW4gdGhlIHRyaWdnZXJzIGFyZSB1c2VkIChpLmUuIHdoZW4gc25hcHNo b3Qgc2NoZW1hIHZlcnNpb248YnI+Cj4gICAgIGlzIGJlbG93IDEuNy41LDxicj4KPiAgICAgKy0t IHRoZSB1cGdyYWRlIHByb2NlZHVyZSB3b3JrcyBhcyBmb2xsb3dzOjxicj4KPiAgICAgKy0tICog Zmlyc3QgdGhlIHNuYXBzaG90IGlzIHJlY292ZXJlZCBhbmQgMS43LjUtY29tcGF0aWJsZSBzY2hl bWE8YnI+Cj4gICAgIGlzIGFwcGxpZWQgdG88YnI+Cj4gICAgICstLSBpdCBpbi1tZW1vcnkgd2l0 aCB0aGUgaGVscCBvZiB0cmlnZ2Vycy48YnI+Cj4gICAgICstLSAqIHRoZW4gdXN1YWwgdXBncmFk ZV90b19YX1hfWCgpIGhhbmRsZXJzIG1heSBiZSBmaXJlZCB0byB0dXJuPGJyPgo+ICAgICBzY2hl bWEgaW50byB0aGU8YnI+Cj4gICAgICstLSBsYXRlc3Qgb25lLjxicj4KPiAgICAgK2xvY2FsIHJl Y292ZXJ5X3RyaWdnZXJzID0gezxicj4KPiAgICAgKyB7dmVyc2lvbiA9IG1rdmVyc2lvbigxLCA3 LCAxKSwgdGJsID0gezxicj4KPiAgICAgKyBfdXNlciA9IHVzZXJfdHJpZ18xXzdfMSw8YnI+Cj4g ICAgICsgfX0sPGJyPgo+ICAgICArIHt2ZXJzaW9uID0gbWt2ZXJzaW9uKDEsIDcsIDIpLCB0Ymwg PSB7PGJyPgo+ICAgICArIF9pbmRleCA9IGluZGV4X3RyaWdfMV83XzIsPGJyPgo+ICAgICArIH19 LDxicj4KPiAgICAgKyB7dmVyc2lvbiA9IG1rdmVyc2lvbigxLCA3LCA1KSwgdGJsID0gezxicj4K PiAgICAgKyBfc3BhY2UgPSBzcGFjZV90cmlnXzFfN181LDxicj4KPiAgICAgKyBfdXNlciA9IHVz ZXJfdHJpZ18xXzdfNSw8YnI+Cj4gICAgICsgfX0sPGJyPgo+ICAgICArIHt2ZXJzaW9uID0gbWt2 ZXJzaW9uKDEsIDcsIDcpLCB0YmwgPSB7PGJyPgo+ICAgICArIF9wcml2ID0gcHJpdl90cmlnXzFf N183LDxicj4KPiAgICAgKyB9fSw8YnI+Cj4gICAgICt9PGJyPgo+ICAgICArPGJyPgo+ICAgICAr LS0gT25jZSBuZXdlciBzY2hlbWEgdmVyc2lvbiBpcyByZWNvdmVyZWQgKHNheSwgZnJvbSBhbiB4 bG9nPGJyPgo+ICAgICBmb2xsb3dpbmcgdGhlIG9sZDxicj4KPiAgICAgKy0tIHNuYXBzaG90KSwg dGhlIHRyaWdnZXJzIGhlbHBpbmcgcmVjb3ZlciB0aGUgb2xkIHNjaGVtYSBzaG91bGQ8YnI+Cj4g ICAgIGJlIHJlbW92ZWQuPGJyPgo+ICAgICArbG9jYWwgZnVuY3Rpb24gc2NoZW1hX3RyaWdfbGFz dChfLCB0dXBsZSk8YnI+Cj4gICAgICsgaWYgdHVwbGUgYW5kIHR1cGxlWzFdID09ICd2ZXJzaW9u JyB0aGVuPGJyPgo+ICAgICArIGxvY2FsIG1ham9yLCBtaW5vciwgcGF0Y2ggPSB0dXBsZVsyXSwg dHVwbGVbM10sIHR1cGxlWzRdIG9yIDA8YnI+Cj4gICAgICsgaWYgbWFqb3IgYW5kIG1pbm9yIGFu ZCBwYXRjaCBhbmQgdHlwZShtYWpvcikgPT0gJ251bWJlcicgYW5kPGJyPgo+ICAgICArIHR5cGUo bWlub3IpID09ICdudW1iZXInIGFuZCB0eXBlKHBhdGNoKSA9PSAnbnVtYmVyJyB0aGVuPGJyPgo+ ICAgICArIGxvY2FsIHZlcnNpb24gPSBta3ZlcnNpb24obWFqb3IsIG1pbm9yLCBwYXRjaCk8YnI+ Cj4gICAgICsgbG9nLmluZm8oIlJlY292ZXJ5IHRyaWdnZXI6IHJlY292ZXJlZCBzY2hlbWEgdmVy c2lvbiAlcy4gIi4uPGJyPgo+ICAgICArICJSZW1vdmluZyBvdXRkYXRlZCByZWNvdmVyeSB0cmln Z2Vycy4iLCB2ZXJzaW9uKTxicj4KPiAgICAgKyBib3guaW50ZXJuYWwuY2xlYXJfcmVjb3Zlcnlf dHJpZ2dlcnModmVyc2lvbik8YnI+Cj4gICAgICsgdHJpZ19vbGRlc3RfdmVyc2lvbiA9IHZlcnNp b248YnI+Cj4gICAgICsgZW5kPGJyPgo+ICAgICArIGVuZDxicj4KPiAgICAgKyByZXR1cm4gdHVw bGU8YnI+Cj4gICAgICtlbmQ8YnI+Cj4gICAgICs8YnI+Cj4gICAgICtyZWNvdmVyeV90cmlnZ2Vy c1sjcmVjb3ZlcnlfdHJpZ2dlcnNdLnRibFsnX3NjaGVtYSddID08YnI+Cj4gICAgIHNjaGVtYV90 cmlnX2xhc3Q8YnI+Cj4gICAgICs8YnI+Cj4gICAgICtsb2NhbCBmdW5jdGlvbiBvbl9pbml0X3Nl dF9yZWNvdmVyeV90cmlnZ2VycygpPGJyPgo+ICAgICArIGxvZy5pbmZvKCJSZWNvdmVyaW5nIHNu YXBzaG90IHdpdGggc2NoZW1hIHZlcnNpb24gJXMiLDxicj4KPiAgICAgdHJpZ19vbGRlc3RfdmVy c2lvbik8YnI+Cj4gICAgICsgZm9yIF8sIHRyaWdfdGJsIGluIGlwYWlycyhyZWNvdmVyeV90cmln Z2VycykgZG88YnI+Cj4gICAgICsgaWYgdHJpZ190YmwudmVyc2lvbiA+IHRyaWdfb2xkZXN0X3Zl cnNpb24gdGhlbjxicj4KPiAgICAgKyBmb3Igc3BhY2UsIHRyaWcgaW4gcGFpcnModHJpZ190Ymwu dGJsKSBkbzxicj4KPiAgICAgKyBib3guc3BhY2Vbc3BhY2VdOmJlZm9yZV9yZXBsYWNlKHRyaWcp PGJyPgo+ICAgICArIGxvZy5pbmZvKCJTZXQgcmVjb3ZlcnkgdHJpZ2dlciBvbiBzcGFjZSAnJXMn IHRvIGNvbXBseSB3aXRoICIuLjxicj4KPiAgICAgKyAidmVyc2lvbiAlcyBmb3JtYXQiLCBzcGFj ZSwgdHJpZ190YmwudmVyc2lvbik8YnI+Cj4gICAgICsgZW5kPGJyPgo+ICAgICArIGVuZDxicj4K PiAgICAgKyBlbmQ8YnI+Cj4gICAgICtlbmQ8YnI+Cj4gICAgICs8YnI+Cj4gICAgICtsb2NhbCBm dW5jdGlvbiBzZXRfcmVjb3ZlcnlfdHJpZ2dlcnModmVyc2lvbik8YnI+Cj4gICAgICsgdHJpZ19v bGRlc3RfdmVyc2lvbiA9IHZlcnNpb248YnI+Cj4gICAgICsgYm94LmN0bC5vbl9zY2hlbWFfaW5p dChvbl9pbml0X3NldF9yZWNvdmVyeV90cmlnZ2Vycyk8YnI+Cj4gICAgICtlbmQ8YnI+Cj4gICAg ICs8YnI+Cj4gICAgICtsb2NhbCBmdW5jdGlvbiBjbGVhcl9yZWNvdmVyeV90cmlnZ2Vycyh2ZXJz aW9uKTxicj4KPiAgICAgKyBmb3IgXywgdHJpZ190YmwgaW4gaXBhaXJzKHJlY292ZXJ5X3RyaWdn ZXJzKSBkbzxicj4KPiAgICAgKyBpZiB0cmlnX3RibC52ZXJzaW9uID4gdHJpZ19vbGRlc3RfdmVy c2lvbiBhbmQ8YnI+Cj4gICAgICsgKG5vdCB2ZXJzaW9uIG9yIHRyaWdfdGJsLnZlcnNpb24gPD0g dmVyc2lvbikgdGhlbjxicj4KPiAgICAgKyBmb3Igc3BhY2UsIHRyaWcgaW4gcGFpcnModHJpZ190 YmwudGJsKSBkbzxicj4KPiAgICAgKyBib3guc3BhY2Vbc3BhY2VdOmJlZm9yZV9yZXBsYWNlKG5p bCwgdHJpZyk8YnI+Cj4gICAgICsgbG9nLmluZm8oIlJlbW92ZSByZWNvdmVyeSB0cmlnZ2VyIG9u IHNwYWNlICclcycgZm9yIHZlcnNpb24gJXMiLDxicj4KPiAgICAgKyBzcGFjZSwgdHJpZ190Ymwu dmVyc2lvbik8YnI+Cj4gICAgICsgZW5kPGJyPgo+ICAgICArIGVuZDxicj4KPiAgICAgKyBlbmQ8 YnI+Cj4gICAgICtlbmQ8YnI+Cj4gICAgICs8YnI+Cj4gICAgIMKgbG9jYWwgZnVuY3Rpb24gdXBn cmFkZShvcHRpb25zKTxicj4KPiAgICAgwqDCoMKgwqDCoG9wdGlvbnMgPSBvcHRpb25zIG9yIHt9 PGJyPgo+ICAgICDCoMKgwqDCoMKgc2V0bWV0YXRhYmxlKG9wdGlvbnMsIHtfX2luZGV4ID0ge2F1 dG8gPSBmYWxzZX19KTxicj4KPjxicj4KPiAgICAgwqDCoMKgwqDCoGxvY2FsIHZlcnNpb24gPSBn ZXRfdmVyc2lvbigpPGJyPgo+ICAgICAtIGlmIHZlcnNpb24gPCBta3ZlcnNpb24oMSwgNywgNSkg dGhlbjxicj4KPiAgICAgLSBsb2cud2FybignY2FuIHVwZ3JhZGUgZnJvbSAxLjcuNSBvbmx5Jyk8 YnI+Cj4gICAgICsgaWYgdmVyc2lvbiA8IG1rdmVyc2lvbigxLCA2LCA4KSB0aGVuPGJyPgo+ICAg ICArIGxvZy53YXJuKCdjYW4gdXBncmFkZSBmcm9tIDEuNi44IG9ubHknKTxicj4KPiAgICAgwqDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuPGJyPgo+ICAgICDCoMKgwqDCoMKgZW5kPGJyPgo+PGJyPgo+ ICAgICBAQCAtMTExMCwzICsxMzc5LDYgQEAgZW5kPGJyPgo+ICAgICDCoGJveC5zY2hlbWEudXBn cmFkZSA9IHVwZ3JhZGU7PGJyPgo+ICAgICDCoGJveC5pbnRlcm5hbC5ib290c3RyYXAgPSBib290 c3RyYXA7PGJyPgo+ICAgICDCoGJveC5pbnRlcm5hbC5zY2hlbWFfbmVlZHNfdXBncmFkZSA9IHNj aGVtYV9uZWVkc191cGdyYWRlOzxicj4KPiAgICAgK2JveC5pbnRlcm5hbC5nZXRfc25hcHNob3Rf dmVyc2lvbiA9IGdldF9zbmFwc2hvdF92ZXJzaW9uOzxicj4KPiAgICAgK2JveC5pbnRlcm5hbC5z ZXRfcmVjb3ZlcnlfdHJpZ2dlcnMgPSBzZXRfcmVjb3ZlcnlfdHJpZ2dlcnM7PGJyPgo+ICAgICAr Ym94LmludGVybmFsLmNsZWFyX3JlY292ZXJ5X3RyaWdnZXJzID0gY2xlYXJfcmVjb3ZlcnlfdHJp Z2dlcnM7PGJyPgo+ICAgICBkaWZmIC0tZ2l0IGEvdGVzdC94bG9nL2doLTU4OTQtcHJlLTEuNy43 LXVwZ3JhZGUucmVzdWx0PGJyPgo+ICAgICBiL3Rlc3QveGxvZy9naC01ODk0LXByZS0xLjcuNy11 cGdyYWRlLnJlc3VsdDxicj4KPiAgICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQ8YnI+Cj4gICAgIGlu ZGV4IDAwMDAwMDAwMC4uYWJhNWE1NmFiPGJyPgo+ICAgICAtLS0gL2Rldi9udWxsPGJyPgo+ICAg ICArKysgYi90ZXN0L3hsb2cvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS5yZXN1bHQ8YnI+Cj4g ICAgIEBAIC0wLDAgKzEsNDAwIEBAPGJyPgo+ICAgICArLS0gdGVzdC1ydW4gcmVzdWx0IGZpbGUg dmVyc2lvbiAyPGJyPgo+ICAgICArdGVzdF9ydW4gPSByZXF1aXJlKCd0ZXN0X3J1bicpLm5ldygp PGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArPGJyPgo+ICAg ICArLS0gVXBncmFkZSBmcm9tIDEuNi44Ljxicj4KPiAgICAgK3Rlc3RfcnVuOmNtZCgnY3JlYXRl IHNlcnZlciB1cGdyYWRlIHdpdGggc2NyaXB0PSJ4bG9nL3VwZ3JhZGUubHVhIiwgXDxicj4KPiAg ICAgKyB3b3JrZGlyPSJ4bG9nL3VwZ3JhZGUvMS42LjgvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFk ZSInKTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0gdHJ1ZTxicj4KPiAgICAgKyB8 IC4uLjxicj4KPiAgICAgK3Rlc3RfcnVuOmNtZCgnc3RhcnQgc2VydmVyIHVwZ3JhZGUnKTxicj4K PiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0gdHJ1ZTxicj4KPiAgICAgKyB8IC4uLjxicj4K PiAgICAgK3Rlc3RfcnVuOnN3aXRjaCgndXBncmFkZScpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ ICAgICArIHwgLSB0cnVlPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArPGJyPgo+ICAgICAr YXNzZXJ0KG5vdCBib3guaW50ZXJuYWwuc2NoZW1hX25lZWRzX3VwZ3JhZGUoKSk8YnI+Cj4gICAg ICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIHRydWU8YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAg ICtib3guc3BhY2UuZGlzdHJvOnNlbGVjdHt9PGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICAr IHwgLSAtIFsnZGViaWFuJywgJ3NhcmdlJywgMzEsIDExMTgwNTkyMDBdPGJyPgo+ICAgICArIHwg LSBbJ2RlYmlhbicsICdldGNoJywgNDAsIDExNzYwMzM2MDBdPGJyPgo+ICAgICArIHwgLSBbJ3Vi dW50dScsICd0cnVzdHknLCAxNDA0LCAxMzk3NzM2MDAwXTxicj4KPiAgICAgKyB8IC0gWyd1YnVu dHUnLCAndml2aWQnLCAxNTA0LCAxNDI5NzkwNDAwXTxicj4KPiAgICAgKyB8IC0gWyd1YnVudHUn LCAnd2lseScsIDE1MTAsIDE0NDU1MTUyMDBdPGJyPgo+ICAgICArIHwgLSBbJ2RlYmlhbicsICd3 aGVlenknLCA3MCwgMTM2NzY2ODgwMF08YnI+Cj4gICAgICsgfCAtIFsnZGViaWFuJywgJ3NxdWVl emUnLCA2MCwgMTI5NjkwNzIwMF08YnI+Cj4gICAgICsgfCAtIFsnZGViaWFuJywgJ2xlbm55Jywg NTAsIDEyMzQ2MTI4MDBdPGJyPgo+ICAgICArIHwgLSBbJ2RlYmlhbicsICdqZXNzaWUnLCA4MCwg MTQzMDA0OTYwMF08YnI+Cj4gICAgICsgfCAtIFsndWJ1bnR1JywgJ3ByZWNpc2UnLCAxNTEwLCAx MzM1NDQxNjAwXTxicj4KPiAgICAgKyB8IC0gWydkZWJpYW4nLCAnd29vZHknLCAzMCwgMTAyNzA4 MDAwMF08YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICtib3guc3BhY2UuX2luZGV4OnNlbGVj dHtib3guc3BhY2UuZGlzdHJvLmlkfTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0g LSBbNTEyLCAwLCAncHJpbWFyeScsICdoYXNoJywgeyd1bmlxdWUnOiB0cnVlfSwgW1swLDxicj4K PiAgICAgJ3N0cmluZyddLCBbMSwgJ3N0cmluZyddLCBbPGJyPgo+ICAgICArIHwgMiwgJ3Vuc2ln bmVkJ11dXTxicj4KPiAgICAgKyB8IC0gWzUxMiwgMSwgJ2NvZGVuYW1lJywgJ2hhc2gnLCB7J3Vu aXF1ZSc6IHRydWV9LCBbWzEsICdzdHJpbmcnXV1dPGJyPgo+ICAgICArIHwgLSBbNTEyLCAyLCAn dGltZScsICd0cmVlJywgeyd1bmlxdWUnOiBmYWxzZX0sIFtbMywgJ3Vuc2lnbmVkJ11dXTxicj4K PiAgICAgKyB8IC4uLjxicj4KPiAgICAgK2JveC5zcGFjZS5fc3BhY2U6Zm9ybWF0KCk8YnI+Cj4g ICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIFt7J25hbWUnOiAnaWQnLCAndHlwZSc6ICd1bnNp Z25lZCd9LCB7J25hbWUnOiAnb3duZXInLDxicj4KPiAgICAgJ3R5cGUnOiAndW5zaWduZWQnfSwg eyduYW1lJzogJ25hbWUnLDxicj4KPiAgICAgKyB8ICd0eXBlJzogJ3N0cmluZyd9LCB7J25hbWUn OiAnZW5naW5lJywgJ3R5cGUnOiAnc3RyaW5nJ30sPGJyPgo+ICAgICB7J25hbWUnOiAnZmllbGRf Y291bnQnLDxicj4KPiAgICAgKyB8ICd0eXBlJzogJ3Vuc2lnbmVkJ30sIHsnbmFtZSc6ICdmbGFn cycsICd0eXBlJzogJ21hcCd9LDxicj4KPiAgICAgeyduYW1lJzogJ2Zvcm1hdCcsICd0eXBlJzog J2FycmF5J31dPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArYm94LnNjaGVtYS51c2VyLmlu Zm8oJ2FkbWluJyk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIC0gLTxicj4KPiAg ICAgcmVhZCx3cml0ZSxleGVjdXRlLHNlc3Npb24sdXNhZ2UsY3JlYXRlLGRyb3AsYWx0ZXIscmVm ZXJlbmNlLHRyaWdnZXIsaW5zZXJ0LHVwZGF0ZSxkZWxldGU8YnI+Cj4gICAgICsgfCAtIHVuaXZl cnNlPGJyPgo+ICAgICArIHwgLTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK2JveC5zY2hl bWEudXNlci5pbmZvKCdndWVzdCcpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSAt IC0gZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0gcm9sZTxicj4KPiAgICAgKyB8IC0gcHVibGljPGJy Pgo+ICAgICArIHwgLSAtIHNlc3Npb24sdXNhZ2U8YnI+Cj4gICAgICsgfCAtIHVuaXZlcnNlPGJy Pgo+ICAgICArIHwgLTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK2JveC5zY2hlbWEudXNl ci5pbmZvKCdzb21ldXNlcicpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSAtIC0g ZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0gZnVuY3Rpb248YnI+Cj4gICAgICsgfCAtIHNvbWVvdGhl cmZ1bmM8YnI+Cj4gICAgICsgfCAtIC0gZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0gcm9sZTxicj4K PiAgICAgKyB8IC0gcHVibGljPGJyPgo+ICAgICArIHwgLSAtIGV4ZWN1dGU8YnI+Cj4gICAgICsg fCAtIHJvbGU8YnI+Cj4gICAgICsgfCAtIHNvbWVyb2xlPGJyPgo+ICAgICArIHwgLSAtIHJlYWQs d3JpdGUsZHJvcCxhbHRlcjxicj4KPiAgICAgKyB8IC0gc3BhY2U8YnI+Cj4gICAgICsgfCAtIHRl bXBvcmFyeTxicj4KPiAgICAgKyB8IC0gLSBzZXNzaW9uLHVzYWdlPGJyPgo+ICAgICArIHwgLSB1 bml2ZXJzZTxicj4KPiAgICAgKyB8IC08YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICtib3gu c2NoZW1hLnJvbGUuaW5mbygnc29tZXJvbGUnKTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAg KyB8IC0gLSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRlcjxicj4KPiAgICAgKyB8IC0gc3BhY2U8YnI+ Cj4gICAgICsgfCAtIGRpc3Rybzxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgKzxicj4KPiAg ICAgK3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAg ICArIHwgLSB0cnVlPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArdGVzdF9ydW46Y21kKCdz dG9wIHNlcnZlciB1cGdyYWRlJyk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIHRy dWU8YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICt0ZXN0X3J1bjpjbWQoJ2RlbGV0ZSBzZXJ2 ZXIgdXBncmFkZScpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSB0cnVlPGJyPgo+ ICAgICArIHwgLi4uPGJyPgo+ICAgICArPGJyPgo+ICAgICArLS0gVXBncmFkZSBmcm9tIDEuNy4x Ljxicj4KPiAgICAgK3Rlc3RfcnVuOmNtZCgnY3JlYXRlIHNlcnZlciB1cGdyYWRlIHdpdGggc2Ny aXB0PSJ4bG9nL3VwZ3JhZGUubHVhIiwgXDxicj4KPiAgICAgKyB3b3JrZGlyPSJ4bG9nL3VwZ3Jh ZGUvMS43LjEvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZSInKTxicj4KPiAgICAgKyB8IC0tLTxi cj4KPiAgICAgKyB8IC0gdHJ1ZTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK3Rlc3RfcnVu OmNtZCgnc3RhcnQgc2VydmVyIHVwZ3JhZGUnKTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAg KyB8IC0gdHJ1ZTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK3Rlc3RfcnVuOnN3aXRjaCgn dXBncmFkZScpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSB0cnVlPGJyPgo+ICAg ICArIHwgLi4uPGJyPgo+ICAgICArPGJyPgo+ICAgICArYXNzZXJ0KG5vdCBib3guaW50ZXJuYWwu c2NoZW1hX25lZWRzX3VwZ3JhZGUoKSk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAt IHRydWU8YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICtib3guc3BhY2UuZGlzdHJvOnNlbGVj dHt9PGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSAtIFsnZGViaWFuJywgJ2V0Y2gn LCA0MCwgMTE3NjAzMzYwMF08YnI+Cj4gICAgICsgfCAtIFsnZGViaWFuJywgJ3NhcmdlJywgMzEs IDExMTgwNTkyMDBdPGJyPgo+ICAgICArIHwgLSBbJ3VidW50dScsICd3aWx5JywgMTUxMCwgMTQ0 NTUxNTIwMF08YnI+Cj4gICAgICsgfCAtIFsndWJ1bnR1JywgJ3RydXN0eScsIDE0MDQsIDEzOTc3 MzYwMDBdPGJyPgo+ICAgICArIHwgLSBbJ3VidW50dScsICd2aXZpZCcsIDE1MDQsIDE0Mjk3OTA0 MDBdPGJyPgo+ICAgICArIHwgLSBbJ2RlYmlhbicsICd3aGVlenknLCA3MCwgMTM2NzY2ODgwMF08 YnI+Cj4gICAgICsgfCAtIFsnZGViaWFuJywgJ3NxdWVlemUnLCA2MCwgMTI5NjkwNzIwMF08YnI+ Cj4gICAgICsgfCAtIFsnZGViaWFuJywgJ2xlbm55JywgNTAsIDEyMzQ2MTI4MDBdPGJyPgo+ICAg ICArIHwgLSBbJ2RlYmlhbicsICdqZXNzaWUnLCA4MCwgMTQzMDA0OTYwMF08YnI+Cj4gICAgICsg fCAtIFsndWJ1bnR1JywgJ3ByZWNpc2UnLCAxNTEwLCAxMzM1NDQxNjAwXTxicj4KPiAgICAgKyB8 IC0gWydkZWJpYW4nLCAnd29vZHknLCAzMCwgMTAyNzA4MDAwMF08YnI+Cj4gICAgICsgfCAuLi48 YnI+Cj4gICAgICtib3guc3BhY2UuX2luZGV4OnNlbGVjdHtib3guc3BhY2UuZGlzdHJvLmlkfTxi cj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0gLSBbNTEyLCAwLCAncHJpbWFyeScsICdo YXNoJywgeyd1bmlxdWUnOiB0cnVlfSwgW1swLDxicj4KPiAgICAgJ3N0cmluZyddLCBbMSwgJ3N0 cmluZyddLCBbPGJyPgo+ICAgICArIHwgMiwgJ3Vuc2lnbmVkJ11dXTxicj4KPiAgICAgKyB8IC0g WzUxMiwgMSwgJ2NvZGVuYW1lJywgJ2hhc2gnLCB7J3VuaXF1ZSc6IHRydWV9LCBbWzEsICdzdHJp bmcnXV1dPGJyPgo+ICAgICArIHwgLSBbNTEyLCAyLCAndGltZScsICd0cmVlJywgeyd1bmlxdWUn OiBmYWxzZX0sIFtbMywgJ3Vuc2lnbmVkJ11dXTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAg K2JveC5zcGFjZS5fc3BhY2U6Zm9ybWF0KCk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsg fCAtIFt7J25hbWUnOiAnaWQnLCAndHlwZSc6ICd1bnNpZ25lZCd9LCB7J25hbWUnOiAnb3duZXIn LDxicj4KPiAgICAgJ3R5cGUnOiAndW5zaWduZWQnfSwgeyduYW1lJzogJ25hbWUnLDxicj4KPiAg ICAgKyB8ICd0eXBlJzogJ3N0cmluZyd9LCB7J25hbWUnOiAnZW5naW5lJywgJ3R5cGUnOiAnc3Ry aW5nJ30sPGJyPgo+ICAgICB7J25hbWUnOiAnZmllbGRfY291bnQnLDxicj4KPiAgICAgKyB8ICd0 eXBlJzogJ3Vuc2lnbmVkJ30sIHsnbmFtZSc6ICdmbGFncycsICd0eXBlJzogJ21hcCd9LDxicj4K PiAgICAgeyduYW1lJzogJ2Zvcm1hdCcsICd0eXBlJzogJ2FycmF5J31dPGJyPgo+ICAgICArIHwg Li4uPGJyPgo+ICAgICArYm94LnNjaGVtYS51c2VyLmluZm8oJ2FkbWluJyk8YnI+Cj4gICAgICsg fCAtLS08YnI+Cj4gICAgICsgfCAtIC0gLTxicj4KPiAgICAgcmVhZCx3cml0ZSxleGVjdXRlLHNl c3Npb24sdXNhZ2UsY3JlYXRlLGRyb3AsYWx0ZXIscmVmZXJlbmNlLHRyaWdnZXIsaW5zZXJ0LHVw ZGF0ZSxkZWxldGU8YnI+Cj4gICAgICsgfCAtIHVuaXZlcnNlPGJyPgo+ICAgICArIHwgLTxicj4K PiAgICAgKyB8IC4uLjxicj4KPiAgICAgK2JveC5zY2hlbWEudXNlci5pbmZvKCdndWVzdCcpPGJy Pgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSAtIC0gZXhlY3V0ZTxicj4KPiAgICAgKyB8 IC0gcm9sZTxicj4KPiAgICAgKyB8IC0gcHVibGljPGJyPgo+ICAgICArIHwgLSAtIHNlc3Npb24s dXNhZ2U8YnI+Cj4gICAgICsgfCAtIHVuaXZlcnNlPGJyPgo+ICAgICArIHwgLTxicj4KPiAgICAg KyB8IC4uLjxicj4KPiAgICAgK2JveC5zY2hlbWEudXNlci5pbmZvKCdzb21ldXNlcicpPGJyPgo+ ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSAtIC0gZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0g ZnVuY3Rpb248YnI+Cj4gICAgICsgfCAtIHNvbWVvdGhlcmZ1bmM8YnI+Cj4gICAgICsgfCAtIC0g ZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0gcm9sZTxicj4KPiAgICAgKyB8IC0gcHVibGljPGJyPgo+ ICAgICArIHwgLSAtIGV4ZWN1dGU8YnI+Cj4gICAgICsgfCAtIHJvbGU8YnI+Cj4gICAgICsgfCAt IHNvbWVyb2xlPGJyPgo+ICAgICArIHwgLSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRlcjxicj4KPiAg ICAgKyB8IC0gc3BhY2U8YnI+Cj4gICAgICsgfCAtIHRlbXBvcmFyeTxicj4KPiAgICAgKyB8IC0g LSBzZXNzaW9uLHVzYWdlPGJyPgo+ICAgICArIHwgLSB1bml2ZXJzZTxicj4KPiAgICAgKyB8IC08 YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICtib3guc2NoZW1hLnJvbGUuaW5mbygnc29tZXJv bGUnKTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0gLSAtIHJlYWQsd3JpdGUsZHJv cCxhbHRlcjxicj4KPiAgICAgKyB8IC0gc3BhY2U8YnI+Cj4gICAgICsgfCAtIGRpc3Rybzxicj4K PiAgICAgKyB8IC4uLjxicj4KPiAgICAgKzxicj4KPiAgICAgK3Rlc3RfcnVuOnN3aXRjaCgnZGVm YXVsdCcpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSB0cnVlPGJyPgo+ICAgICAr IHwgLi4uPGJyPgo+ICAgICArdGVzdF9ydW46Y21kKCdzdG9wIHNlcnZlciB1cGdyYWRlJyk8YnI+ Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIHRydWU8YnI+Cj4gICAgICsgfCAuLi48YnI+ Cj4gICAgICt0ZXN0X3J1bjpjbWQoJ2RlbGV0ZSBzZXJ2ZXIgdXBncmFkZScpPGJyPgo+ICAgICAr IHwgLS0tPGJyPgo+ICAgICArIHwgLSB0cnVlPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICAr PGJyPgo+ICAgICArLS0gVXBncmFkZSBmcm9tIDEuNy4yLjxicj4KPiAgICAgK3Rlc3RfcnVuOmNt ZCgnY3JlYXRlIHNlcnZlciB1cGdyYWRlIHdpdGggc2NyaXB0PSJ4bG9nL3VwZ3JhZGUubHVhIiwg XDxicj4KPiAgICAgKyB3b3JrZGlyPSJ4bG9nL3VwZ3JhZGUvMS43LjIvZ2gtNTg5NC1wcmUtMS43 LjctdXBncmFkZSInKTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0gdHJ1ZTxicj4K PiAgICAgKyB8IC4uLjxicj4KPiAgICAgK3Rlc3RfcnVuOmNtZCgnc3RhcnQgc2VydmVyIHVwZ3Jh ZGUnKTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0gdHJ1ZTxicj4KPiAgICAgKyB8 IC4uLjxicj4KPiAgICAgK3Rlc3RfcnVuOnN3aXRjaCgndXBncmFkZScpPGJyPgo+ICAgICArIHwg LS0tPGJyPgo+ICAgICArIHwgLSB0cnVlPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArPGJy Pgo+ICAgICArYXNzZXJ0KG5vdCBib3guaW50ZXJuYWwuc2NoZW1hX25lZWRzX3VwZ3JhZGUoKSk8 YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIHRydWU8YnI+Cj4gICAgICsgfCAuLi48 YnI+Cj4gICAgICtib3guc3BhY2UuZGlzdHJvOnNlbGVjdHt9PGJyPgo+ICAgICArIHwgLS0tPGJy Pgo+ICAgICArIHwgLSAtIFsnZGViaWFuJywgJ3NhcmdlJywgMzEsIDExMTgwNTkyMDBdPGJyPgo+ ICAgICArIHwgLSBbJ2RlYmlhbicsICdldGNoJywgNDAsIDExNzYwMzM2MDBdPGJyPgo+ICAgICAr IHwgLSBbJ3VidW50dScsICd0cnVzdHknLCAxNDA0LCAxMzk3NzM2MDAwXTxicj4KPiAgICAgKyB8 IC0gWyd1YnVudHUnLCAndml2aWQnLCAxNTA0LCAxNDI5NzkwNDAwXTxicj4KPiAgICAgKyB8IC0g WydkZWJpYW4nLCAnbGVubnknLCA1MCwgMTIzNDYxMjgwMF08YnI+Cj4gICAgICsgfCAtIFsnZGVi aWFuJywgJ3doZWV6eScsIDcwLCAxMzY3NjY4ODAwXTxicj4KPiAgICAgKyB8IC0gWydkZWJpYW4n LCAnc3F1ZWV6ZScsIDYwLCAxMjk2OTA3MjAwXTxicj4KPiAgICAgKyB8IC0gWyd1YnVudHUnLCAn d2lseScsIDE1MTAsIDE0NDU1MTUyMDBdPGJyPgo+ICAgICArIHwgLSBbJ2RlYmlhbicsICdqZXNz aWUnLCA4MCwgMTQzMDA0OTYwMF08YnI+Cj4gICAgICsgfCAtIFsndWJ1bnR1JywgJ3ByZWNpc2Un LCAxNTEwLCAxMzM1NDQxNjAwXTxicj4KPiAgICAgKyB8IC0gWydkZWJpYW4nLCAnd29vZHknLCAz MCwgMTAyNzA4MDAwMF08YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICtib3guc3BhY2UuX2lu ZGV4OnNlbGVjdHtib3guc3BhY2UuZGlzdHJvLmlkfTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAg ICAgKyB8IC0gLSBbNTEyLCAwLCAncHJpbWFyeScsICdoYXNoJywgeyd1bmlxdWUnOiB0cnVlfSwg W1swLDxicj4KPiAgICAgJ3N0cmluZyddLCBbMSwgJ3N0cmluZyddLCBbPGJyPgo+ICAgICArIHwg MiwgJ3Vuc2lnbmVkJ11dXTxicj4KPiAgICAgKyB8IC0gWzUxMiwgMSwgJ2NvZGVuYW1lJywgJ2hh c2gnLCB7J3VuaXF1ZSc6IHRydWV9LCBbWzEsICdzdHJpbmcnXV1dPGJyPgo+ICAgICArIHwgLSBb NTEyLCAyLCAndGltZScsICd0cmVlJywgeyd1bmlxdWUnOiBmYWxzZX0sIFtbMywgJ3Vuc2lnbmVk J11dXTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK2JveC5zcGFjZS5fc3BhY2U6Zm9ybWF0 KCk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIFt7J25hbWUnOiAnaWQnLCAndHlw ZSc6ICd1bnNpZ25lZCd9LCB7J25hbWUnOiAnb3duZXInLDxicj4KPiAgICAgJ3R5cGUnOiAndW5z aWduZWQnfSwgeyduYW1lJzogJ25hbWUnLDxicj4KPiAgICAgKyB8ICd0eXBlJzogJ3N0cmluZyd9 LCB7J25hbWUnOiAnZW5naW5lJywgJ3R5cGUnOiAnc3RyaW5nJ30sPGJyPgo+ICAgICB7J25hbWUn OiAnZmllbGRfY291bnQnLDxicj4KPiAgICAgKyB8ICd0eXBlJzogJ3Vuc2lnbmVkJ30sIHsnbmFt ZSc6ICdmbGFncycsICd0eXBlJzogJ21hcCd9LDxicj4KPiAgICAgeyduYW1lJzogJ2Zvcm1hdCcs ICd0eXBlJzogJ2FycmF5J31dPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArYm94LnNjaGVt YS51c2VyLmluZm8oJ2FkbWluJyk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIC0g LTxicj4KPiAgICAgcmVhZCx3cml0ZSxleGVjdXRlLHNlc3Npb24sdXNhZ2UsY3JlYXRlLGRyb3As YWx0ZXIscmVmZXJlbmNlLHRyaWdnZXIsaW5zZXJ0LHVwZGF0ZSxkZWxldGU8YnI+Cj4gICAgICsg fCAtIHVuaXZlcnNlPGJyPgo+ICAgICArIHwgLTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAg K2JveC5zY2hlbWEudXNlci5pbmZvKCdndWVzdCcpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAg ICArIHwgLSAtIC0gZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0gcm9sZTxicj4KPiAgICAgKyB8IC0g cHVibGljPGJyPgo+ICAgICArIHwgLSAtIHNlc3Npb24sdXNhZ2U8YnI+Cj4gICAgICsgfCAtIHVu aXZlcnNlPGJyPgo+ICAgICArIHwgLTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK2JveC5z Y2hlbWEudXNlci5pbmZvKCdzb21ldXNlcicpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICAr IHwgLSAtIC0gZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0gZnVuY3Rpb248YnI+Cj4gICAgICsgfCAt IHNvbWVvdGhlcmZ1bmM8YnI+Cj4gICAgICsgfCAtIC0gZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0g cm9sZTxicj4KPiAgICAgKyB8IC0gcHVibGljPGJyPgo+ICAgICArIHwgLSAtIGV4ZWN1dGU8YnI+ Cj4gICAgICsgfCAtIHJvbGU8YnI+Cj4gICAgICsgfCAtIHNvbWVyb2xlPGJyPgo+ICAgICArIHwg LSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRlcjxicj4KPiAgICAgKyB8IC0gc3BhY2U8YnI+Cj4gICAg ICsgfCAtIHRlbXBvcmFyeTxicj4KPiAgICAgKyB8IC0gLSBzZXNzaW9uLHVzYWdlPGJyPgo+ICAg ICArIHwgLSB1bml2ZXJzZTxicj4KPiAgICAgKyB8IC08YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4g ICAgICtib3guc2NoZW1hLnJvbGUuaW5mbygnc29tZXJvbGUnKTxicj4KPiAgICAgKyB8IC0tLTxi cj4KPiAgICAgKyB8IC0gLSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRlcjxicj4KPiAgICAgKyB8IC0g c3BhY2U8YnI+Cj4gICAgICsgfCAtIGRpc3Rybzxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAg Kzxicj4KPiAgICAgK3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpPGJyPgo+ICAgICArIHwgLS0t PGJyPgo+ICAgICArIHwgLSB0cnVlPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArdGVzdF9y dW46Y21kKCdzdG9wIHNlcnZlciB1cGdyYWRlJyk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAg ICsgfCAtIHRydWU8YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICt0ZXN0X3J1bjpjbWQoJ2Rl bGV0ZSBzZXJ2ZXIgdXBncmFkZScpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSB0 cnVlPGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArPGJyPgo+ICAgICArLS0gVXBncmFkZSBm cm9tIDEuNy41Ljxicj4KPiAgICAgK3Rlc3RfcnVuOmNtZCgnY3JlYXRlIHNlcnZlciB1cGdyYWRl IHdpdGggc2NyaXB0PSJ4bG9nL3VwZ3JhZGUubHVhIiwgXDxicj4KPiAgICAgKyB3b3JrZGlyPSJ4 bG9nL3VwZ3JhZGUvMS43LjUvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZSInKTxicj4KPiAgICAg KyB8IC0tLTxicj4KPiAgICAgKyB8IC0gdHJ1ZTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAg K3Rlc3RfcnVuOmNtZCgnc3RhcnQgc2VydmVyIHVwZ3JhZGUnKTxicj4KPiAgICAgKyB8IC0tLTxi cj4KPiAgICAgKyB8IC0gdHJ1ZTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK3Rlc3RfcnVu OnN3aXRjaCgndXBncmFkZScpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSB0cnVl PGJyPgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArPGJyPgo+ICAgICArYXNzZXJ0KG5vdCBib3gu aW50ZXJuYWwuc2NoZW1hX25lZWRzX3VwZ3JhZGUoKSk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4g ICAgICsgfCAtIHRydWU8YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICtib3guc3BhY2UuZGlz dHJvOnNlbGVjdHt9PGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSAtIFsnZGViaWFu JywgJ2V0Y2gnLCA0MCwgMTE3NjAzMzYwMF08YnI+Cj4gICAgICsgfCAtIFsnZGViaWFuJywgJ3Nh cmdlJywgMzEsIDExMTgwNTkyMDBdPGJyPgo+ICAgICArIHwgLSBbJ2RlYmlhbicsICdsZW5ueScs IDUwLCAxMjM0NjEyODAwXTxicj4KPiAgICAgKyB8IC0gWyd1YnVudHUnLCAndHJ1c3R5JywgMTQw NCwgMTM5NzczNjAwMF08YnI+Cj4gICAgICsgfCAtIFsndWJ1bnR1JywgJ3ZpdmlkJywgMTUwNCwg MTQyOTc5MDQwMF08YnI+Cj4gICAgICsgfCAtIFsnZGViaWFuJywgJ3doZWV6eScsIDcwLCAxMzY3 NjY4ODAwXTxicj4KPiAgICAgKyB8IC0gWydkZWJpYW4nLCAnc3F1ZWV6ZScsIDYwLCAxMjk2OTA3 MjAwXTxicj4KPiAgICAgKyB8IC0gWyd1YnVudHUnLCAnd2lseScsIDE1MTAsIDE0NDU1MTUyMDBd PGJyPgo+ICAgICArIHwgLSBbJ2RlYmlhbicsICdqZXNzaWUnLCA4MCwgMTQzMDA0OTYwMF08YnI+ Cj4gICAgICsgfCAtIFsndWJ1bnR1JywgJ3ByZWNpc2UnLCAxNTEwLCAxMzM1NDQxNjAwXTxicj4K PiAgICAgKyB8IC0gWydkZWJpYW4nLCAnd29vZHknLCAzMCwgMTAyNzA4MDAwMF08YnI+Cj4gICAg ICsgfCAuLi48YnI+Cj4gICAgICtib3guc3BhY2UuX2luZGV4OnNlbGVjdHtib3guc3BhY2UuZGlz dHJvLmlkfTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0gLSBbNTEyLCAwLCAncHJp bWFyeScsICdoYXNoJywgeyd1bmlxdWUnOiB0cnVlfSwgW1swLDxicj4KPiAgICAgJ3N0cmluZydd LCBbMSwgJ3N0cmluZyddLCBbPGJyPgo+ICAgICArIHwgMiwgJ3Vuc2lnbmVkJ11dXTxicj4KPiAg ICAgKyB8IC0gWzUxMiwgMSwgJ2NvZGVuYW1lJywgJ2hhc2gnLCB7J3VuaXF1ZSc6IHRydWV9LCBb WzEsICdzdHJpbmcnXV1dPGJyPgo+ICAgICArIHwgLSBbNTEyLCAyLCAndGltZScsICd0cmVlJywg eyd1bmlxdWUnOiBmYWxzZX0sIFtbMywgJ3Vuc2lnbmVkJ11dXTxicj4KPiAgICAgKyB8IC4uLjxi cj4KPiAgICAgK2JveC5zcGFjZS5fc3BhY2U6Zm9ybWF0KCk8YnI+Cj4gICAgICsgfCAtLS08YnI+ Cj4gICAgICsgfCAtIFt7J25hbWUnOiAnaWQnLCAndHlwZSc6ICd1bnNpZ25lZCd9LCB7J25hbWUn OiAnb3duZXInLDxicj4KPiAgICAgJ3R5cGUnOiAndW5zaWduZWQnfSwgeyduYW1lJzogJ25hbWUn LDxicj4KPiAgICAgKyB8ICd0eXBlJzogJ3N0cmluZyd9LCB7J25hbWUnOiAnZW5naW5lJywgJ3R5 cGUnOiAnc3RyaW5nJ30sPGJyPgo+ICAgICB7J25hbWUnOiAnZmllbGRfY291bnQnLDxicj4KPiAg ICAgKyB8ICd0eXBlJzogJ3Vuc2lnbmVkJ30sIHsnbmFtZSc6ICdmbGFncycsICd0eXBlJzogJ21h cCd9LDxicj4KPiAgICAgeyduYW1lJzogJ2Zvcm1hdCcsICd0eXBlJzogJ2FycmF5J31dPGJyPgo+ ICAgICArIHwgLi4uPGJyPgo+ICAgICArYm94LnNjaGVtYS51c2VyLmluZm8oJ2FkbWluJyk8YnI+ Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIC0gLTxicj4KPiAgICAgcmVhZCx3cml0ZSxl eGVjdXRlLHNlc3Npb24sdXNhZ2UsY3JlYXRlLGRyb3AsYWx0ZXIscmVmZXJlbmNlLHRyaWdnZXIs aW5zZXJ0LHVwZGF0ZSxkZWxldGU8YnI+Cj4gICAgICsgfCAtIHVuaXZlcnNlPGJyPgo+ICAgICAr IHwgLTxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK2JveC5zY2hlbWEudXNlci5pbmZvKCdn dWVzdCcpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSAtIC0gZXhlY3V0ZTxicj4K PiAgICAgKyB8IC0gcm9sZTxicj4KPiAgICAgKyB8IC0gcHVibGljPGJyPgo+ICAgICArIHwgLSAt IHNlc3Npb24sdXNhZ2U8YnI+Cj4gICAgICsgfCAtIHVuaXZlcnNlPGJyPgo+ICAgICArIHwgLTxi cj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgK2JveC5zY2hlbWEudXNlci5pbmZvKCdzb21ldXNl cicpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSAtIC0gZXhlY3V0ZTxicj4KPiAg ICAgKyB8IC0gZnVuY3Rpb248YnI+Cj4gICAgICsgfCAtIHNvbWVvdGhlcmZ1bmM8YnI+Cj4gICAg ICsgfCAtIC0gZXhlY3V0ZTxicj4KPiAgICAgKyB8IC0gcm9sZTxicj4KPiAgICAgKyB8IC0gcHVi bGljPGJyPgo+ICAgICArIHwgLSAtIGV4ZWN1dGU8YnI+Cj4gICAgICsgfCAtIHJvbGU8YnI+Cj4g ICAgICsgfCAtIHNvbWVyb2xlPGJyPgo+ICAgICArIHwgLSAtIHJlYWQsd3JpdGUsZHJvcCxhbHRl cjxicj4KPiAgICAgKyB8IC0gc3BhY2U8YnI+Cj4gICAgICsgfCAtIHRlbXBvcmFyeTxicj4KPiAg ICAgKyB8IC0gLSBzZXNzaW9uLHVzYWdlPGJyPgo+ICAgICArIHwgLSB1bml2ZXJzZTxicj4KPiAg ICAgKyB8IC08YnI+Cj4gICAgICsgfCAuLi48YnI+Cj4gICAgICtib3guc2NoZW1hLnJvbGUuaW5m bygnc29tZXJvbGUnKTxicj4KPiAgICAgKyB8IC0tLTxicj4KPiAgICAgKyB8IC0gLSAtIHJlYWQs d3JpdGUsZHJvcCxhbHRlcjxicj4KPiAgICAgKyB8IC0gc3BhY2U8YnI+Cj4gICAgICsgfCAtIGRp c3Rybzxicj4KPiAgICAgKyB8IC4uLjxicj4KPiAgICAgKzxicj4KPiAgICAgK3Rlc3RfcnVuOnN3 aXRjaCgnZGVmYXVsdCcpPGJyPgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSB0cnVlPGJy Pgo+ICAgICArIHwgLi4uPGJyPgo+ICAgICArdGVzdF9ydW46Y21kKCdzdG9wIHNlcnZlciB1cGdy YWRlJyk8YnI+Cj4gICAgICsgfCAtLS08YnI+Cj4gICAgICsgfCAtIHRydWU8YnI+Cj4gICAgICsg fCAuLi48YnI+Cj4gICAgICt0ZXN0X3J1bjpjbWQoJ2RlbGV0ZSBzZXJ2ZXIgdXBncmFkZScpPGJy Pgo+ICAgICArIHwgLS0tPGJyPgo+ICAgICArIHwgLSB0cnVlPGJyPgo+ICAgICArIHwgLi4uPGJy Pgo+ICAgICBkaWZmIC0tZ2l0IGEvdGVzdC94bG9nL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUu dGVzdC5sdWE8YnI+Cj4gICAgIGIvdGVzdC94bG9nL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUu dGVzdC5sdWE8YnI+Cj4gICAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0PGJyPgo+ICAgICBpbmRleCAw MDAwMDAwMDAuLjkwOTZiY2I3YTxicj4KPiAgICAgLS0tIC9kZXYvbnVsbDxicj4KPiAgICAgKysr IGIvdGVzdC94bG9nL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUudGVzdC5sdWE8YnI+Cj4gICAg IEBAIC0wLDAgKzEsNzcgQEA8YnI+Cj4gICAgICt0ZXN0X3J1biA9IHJlcXVpcmUoJ3Rlc3RfcnVu JykubmV3KCk8YnI+Cj4gICAgICs8YnI+Cj4gICAgICstLSBVcGdyYWRlIGZyb20gMS42LjguPGJy Pgo+ICAgICArdGVzdF9ydW46Y21kKCdjcmVhdGUgc2VydmVyIHVwZ3JhZGUgd2l0aCBzY3JpcHQ9 Inhsb2cvdXBncmFkZS5sdWEiLCBcPGJyPgo+ICAgICArIHdvcmtkaXI9Inhsb2cvdXBncmFkZS8x LjYuOC9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlIicpPGJyPgo+ICAgICArdGVzdF9ydW46Y21k KCdzdGFydCBzZXJ2ZXIgdXBncmFkZScpPGJyPgo+ICAgICArdGVzdF9ydW46c3dpdGNoKCd1cGdy YWRlJyk8YnI+Cj4gICAgICs8YnI+Cj4gICAgICthc3NlcnQobm90IGJveC5pbnRlcm5hbC5zY2hl bWFfbmVlZHNfdXBncmFkZSgpKTxicj4KPiAgICAgK2JveC5zcGFjZS5kaXN0cm86c2VsZWN0e308 YnI+Cj4gICAgICtib3guc3BhY2UuX2luZGV4OnNlbGVjdHtib3guc3BhY2UuZGlzdHJvLmlkfTxi cj4KPiAgICAgK2JveC5zcGFjZS5fc3BhY2U6Zm9ybWF0KCk8YnI+Cj4gICAgICtib3guc2NoZW1h LnVzZXIuaW5mbygnYWRtaW4nKTxicj4KPiAgICAgK2JveC5zY2hlbWEudXNlci5pbmZvKCdndWVz dCcpPGJyPgo+ICAgICArYm94LnNjaGVtYS51c2VyLmluZm8oJ3NvbWV1c2VyJyk8YnI+Cj4gICAg ICtib3guc2NoZW1hLnJvbGUuaW5mbygnc29tZXJvbGUnKTxicj4KPiAgICAgKzxicj4KPiAgICAg K3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpPGJyPgo+ICAgICArdGVzdF9ydW46Y21kKCdzdG9w IHNlcnZlciB1cGdyYWRlJyk8YnI+Cj4gICAgICt0ZXN0X3J1bjpjbWQoJ2RlbGV0ZSBzZXJ2ZXIg dXBncmFkZScpPGJyPgo+ICAgICArPGJyPgo+ICAgICArLS0gVXBncmFkZSBmcm9tIDEuNy4xLjxi cj4KPiAgICAgK3Rlc3RfcnVuOmNtZCgnY3JlYXRlIHNlcnZlciB1cGdyYWRlIHdpdGggc2NyaXB0 PSJ4bG9nL3VwZ3JhZGUubHVhIiwgXDxicj4KPiAgICAgKyB3b3JrZGlyPSJ4bG9nL3VwZ3JhZGUv MS43LjEvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZSInKTxicj4KPiAgICAgK3Rlc3RfcnVuOmNt ZCgnc3RhcnQgc2VydmVyIHVwZ3JhZGUnKTxicj4KPiAgICAgK3Rlc3RfcnVuOnN3aXRjaCgndXBn cmFkZScpPGJyPgo+ICAgICArPGJyPgo+ICAgICArYXNzZXJ0KG5vdCBib3guaW50ZXJuYWwuc2No ZW1hX25lZWRzX3VwZ3JhZGUoKSk8YnI+Cj4gICAgICtib3guc3BhY2UuZGlzdHJvOnNlbGVjdHt9 PGJyPgo+ICAgICArYm94LnNwYWNlLl9pbmRleDpzZWxlY3R7Ym94LnNwYWNlLmRpc3Ryby5pZH08 YnI+Cj4gICAgICtib3guc3BhY2UuX3NwYWNlOmZvcm1hdCgpPGJyPgo+ICAgICArYm94LnNjaGVt YS51c2VyLmluZm8oJ2FkbWluJyk8YnI+Cj4gICAgICtib3guc2NoZW1hLnVzZXIuaW5mbygnZ3Vl c3QnKTxicj4KPiAgICAgK2JveC5zY2hlbWEudXNlci5pbmZvKCdzb21ldXNlcicpPGJyPgo+ICAg ICArYm94LnNjaGVtYS5yb2xlLmluZm8oJ3NvbWVyb2xlJyk8YnI+Cj4gICAgICs8YnI+Cj4gICAg ICt0ZXN0X3J1bjpzd2l0Y2goJ2RlZmF1bHQnKTxicj4KPiAgICAgK3Rlc3RfcnVuOmNtZCgnc3Rv cCBzZXJ2ZXIgdXBncmFkZScpPGJyPgo+ICAgICArdGVzdF9ydW46Y21kKCdkZWxldGUgc2VydmVy IHVwZ3JhZGUnKTxicj4KPiAgICAgKzxicj4KPiAgICAgKy0tIFVwZ3JhZGUgZnJvbSAxLjcuMi48 YnI+Cj4gICAgICt0ZXN0X3J1bjpjbWQoJ2NyZWF0ZSBzZXJ2ZXIgdXBncmFkZSB3aXRoIHNjcmlw dD0ieGxvZy91cGdyYWRlLmx1YSIsIFw8YnI+Cj4gICAgICsgd29ya2Rpcj0ieGxvZy91cGdyYWRl LzEuNy4yL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUiJyk8YnI+Cj4gICAgICt0ZXN0X3J1bjpj bWQoJ3N0YXJ0IHNlcnZlciB1cGdyYWRlJyk8YnI+Cj4gICAgICt0ZXN0X3J1bjpzd2l0Y2goJ3Vw Z3JhZGUnKTxicj4KPiAgICAgKzxicj4KPiAgICAgK2Fzc2VydChub3QgYm94LmludGVybmFsLnNj aGVtYV9uZWVkc191cGdyYWRlKCkpPGJyPgo+ICAgICArYm94LnNwYWNlLmRpc3RybzpzZWxlY3R7 fTxicj4KPiAgICAgK2JveC5zcGFjZS5faW5kZXg6c2VsZWN0e2JveC5zcGFjZS5kaXN0cm8uaWR9 PGJyPgo+ICAgICArYm94LnNwYWNlLl9zcGFjZTpmb3JtYXQoKTxicj4KPiAgICAgK2JveC5zY2hl bWEudXNlci5pbmZvKCdhZG1pbicpPGJyPgo+ICAgICArYm94LnNjaGVtYS51c2VyLmluZm8oJ2d1 ZXN0Jyk8YnI+Cj4gICAgICtib3guc2NoZW1hLnVzZXIuaW5mbygnc29tZXVzZXInKTxicj4KPiAg ICAgK2JveC5zY2hlbWEucm9sZS5pbmZvKCdzb21lcm9sZScpPGJyPgo+ICAgICArPGJyPgo+ICAg ICArdGVzdF9ydW46c3dpdGNoKCdkZWZhdWx0Jyk8YnI+Cj4gICAgICt0ZXN0X3J1bjpjbWQoJ3N0 b3Agc2VydmVyIHVwZ3JhZGUnKTxicj4KPiAgICAgK3Rlc3RfcnVuOmNtZCgnZGVsZXRlIHNlcnZl ciB1cGdyYWRlJyk8YnI+Cj4gICAgICs8YnI+Cj4gICAgICstLSBVcGdyYWRlIGZyb20gMS43LjUu PGJyPgo+ICAgICArdGVzdF9ydW46Y21kKCdjcmVhdGUgc2VydmVyIHVwZ3JhZGUgd2l0aCBzY3Jp cHQ9Inhsb2cvdXBncmFkZS5sdWEiLCBcPGJyPgo+ICAgICArIHdvcmtkaXI9Inhsb2cvdXBncmFk ZS8xLjcuNS9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlIicpPGJyPgo+ICAgICArdGVzdF9ydW46 Y21kKCdzdGFydCBzZXJ2ZXIgdXBncmFkZScpPGJyPgo+ICAgICArdGVzdF9ydW46c3dpdGNoKCd1 cGdyYWRlJyk8YnI+Cj4gICAgICs8YnI+Cj4gICAgICthc3NlcnQobm90IGJveC5pbnRlcm5hbC5z Y2hlbWFfbmVlZHNfdXBncmFkZSgpKTxicj4KPiAgICAgK2JveC5zcGFjZS5kaXN0cm86c2VsZWN0 e308YnI+Cj4gICAgICtib3guc3BhY2UuX2luZGV4OnNlbGVjdHtib3guc3BhY2UuZGlzdHJvLmlk fTxicj4KPiAgICAgK2JveC5zcGFjZS5fc3BhY2U6Zm9ybWF0KCk8YnI+Cj4gICAgICtib3guc2No ZW1hLnVzZXIuaW5mbygnYWRtaW4nKTxicj4KPiAgICAgK2JveC5zY2hlbWEudXNlci5pbmZvKCdn dWVzdCcpPGJyPgo+ICAgICArYm94LnNjaGVtYS51c2VyLmluZm8oJ3NvbWV1c2VyJyk8YnI+Cj4g ICAgICtib3guc2NoZW1hLnJvbGUuaW5mbygnc29tZXJvbGUnKTxicj4KPiAgICAgKzxicj4KPiAg ICAgK3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpPGJyPgo+ICAgICArdGVzdF9ydW46Y21kKCdz dG9wIHNlcnZlciB1cGdyYWRlJyk8YnI+Cj4gICAgICt0ZXN0X3J1bjpjbWQoJ2RlbGV0ZSBzZXJ2 ZXIgdXBncmFkZScpPGJyPgo+ICAgICBkaWZmIC0tZ2l0PGJyPgo+ICAgICBhL3Rlc3QveGxvZy91 cGdyYWRlLzEuNi44L2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmlsbC5sdWE8YnI+Cj4gICAg IGIvdGVzdC94bG9nL3VwZ3JhZGUvMS42LjgvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxs Lmx1YTxicj4KPiAgICAgbmV3IGZpbGUgbW9kZSAxMjAwMDA8YnI+Cj4gICAgIGluZGV4IDAwMDAw MDAwMC4uMmYyYTg0OTYyPGJyPgo+ICAgICAtLS0gL2Rldi9udWxsPGJyPgo+ICAgICArKysgYi90 ZXN0L3hsb2cvdXBncmFkZS8xLjYuOC9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlL2ZpbGwubHVh PGJyPgo+ICAgICBAQCAtMCwwICsxIEBAPGJyPgo+ICAgICArLi4vLi4vZmlsbC5sdWE8YnI+Cj4g ICAgIFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZTxicj4KPiAgICAgZGlmZiAtLWdpdDxicj4K PiAgICAgYS90ZXN0L3hsb2cvdXBncmFkZS8xLjcuMS9naC01ODk0LXByZS0xLjcuNy11cGdyYWRl L2ZpbGwubHVhPGJyPgo+ICAgICBiL3Rlc3QveGxvZy91cGdyYWRlLzEuNy4xL2doLTU4OTQtcHJl LTEuNy43LXVwZ3JhZGUvZmlsbC5sdWE8YnI+Cj4gICAgIG5ldyBmaWxlIG1vZGUgMTIwMDAwPGJy Pgo+ICAgICBpbmRleCAwMDAwMDAwMDAuLjJmMmE4NDk2Mjxicj4KPiAgICAgLS0tIC9kZXYvbnVs bDxicj4KPiAgICAgKysrIGIvdGVzdC94bG9nL3VwZ3JhZGUvMS43LjEvZ2gtNTg5NC1wcmUtMS43 LjctdXBncmFkZS9maWxsLmx1YTxicj4KPiAgICAgQEAgLTAsMCArMSBAQDxicj4KPiAgICAgKy4u Ly4uL2ZpbGwubHVhPGJyPgo+ICAgICBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGU8YnI+Cj4g ICAgIGRpZmYgLS1naXQ8YnI+Cj4gICAgIGEvdGVzdC94bG9nL3VwZ3JhZGUvMS43LjIvZ2gtNTg5 NC1wcmUtMS43LjctdXBncmFkZS9maWxsLmx1YTxicj4KPiAgICAgYi90ZXN0L3hsb2cvdXBncmFk ZS8xLjcuMi9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlL2ZpbGwubHVhPGJyPgo+ICAgICBuZXcg ZmlsZSBtb2RlIDEyMDAwMDxicj4KPiAgICAgaW5kZXggMDAwMDAwMDAwLi4yZjJhODQ5NjI8YnI+ Cj4gICAgIC0tLSAvZGV2L251bGw8YnI+Cj4gICAgICsrKyBiL3Rlc3QveGxvZy91cGdyYWRlLzEu Ny4yL2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmlsbC5sdWE8YnI+Cj4gICAgIEBAIC0wLDAg KzEgQEA8YnI+Cj4gICAgICsuLi8uLi9maWxsLmx1YTxicj4KPiAgICAgXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlPGJyPgo+ICAgICBkaWZmIC0tZ2l0PGJyPgo+ICAgICBhL3Rlc3QveGxvZy91 cGdyYWRlLzEuNy41L2doLTU4OTQtcHJlLTEuNy43LXVwZ3JhZGUvZmlsbC5sdWE8YnI+Cj4gICAg IGIvdGVzdC94bG9nL3VwZ3JhZGUvMS43LjUvZ2gtNTg5NC1wcmUtMS43LjctdXBncmFkZS9maWxs Lmx1YTxicj4KPiAgICAgbmV3IGZpbGUgbW9kZSAxMjAwMDA8YnI+Cj4gICAgIGluZGV4IDAwMDAw MDAwMC4uMmYyYTg0OTYyPGJyPgo+ICAgICAtLS0gL2Rldi9udWxsPGJyPgo+ICAgICArKysgYi90 ZXN0L3hsb2cvdXBncmFkZS8xLjcuNS9naC01ODk0LXByZS0xLjcuNy11cGdyYWRlL2ZpbGwubHVh PGJyPgo+ICAgICBAQCAtMCwwICsxIEBAPGJyPgo+ICAgICArLi4vLi4vZmlsbC5sdWE8YnI+Cj4g ICAgIFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZTxicj4KPiAgICAgZGlmZiAtLWdpdCBhL3Rl c3QveGxvZy91cGdyYWRlL2ZpbGwubHVhIGIvdGVzdC94bG9nL3VwZ3JhZGUvZmlsbC5sdWE8YnI+ Cj4gICAgIGluZGV4IDBlZjFhOGJiOS4uMzEwYzFjYTcyIDEwMDY0NDxicj4KPiAgICAgLS0tIGEv dGVzdC94bG9nL3VwZ3JhZGUvZmlsbC5sdWE8YnI+Cj4gICAgICsrKyBiL3Rlc3QveGxvZy91cGdy YWRlL2ZpbGwubHVhPGJyPgo+ICAgICBAQCAtNTYsNCArNTYsOCBAQCBlbmQ8YnI+Cj4gICAgIMKg Ym94LnNjaGVtYS5mdW5jLmNyZWF0ZSgnc29tZW90aGVyZnVuYycpPGJyPgo+ICAgICDCoGJveC5z Y2hlbWEudXNlci5ncmFudCgnc29tZXVzZXInLCAnZXhlY3V0ZScsICdmdW5jdGlvbicsPGJyPgo+ ICAgICAnc29tZW90aGVyZnVuYycpPGJyPgo+ICAgICDCoGJveC5zY2hlbWEudXNlci5ncmFudCgn c29tZXVzZXInLCAncmVhZCx3cml0ZScsICdzcGFjZScsICd0ZW1wb3JhcnknKTxicj4KPiAgICAg Kzxicj4KPiAgICAgK2JveC5zY2hlbWEudXBncmFkZSgpPGJyPgo+ICAgICArYm94LnNuYXBzaG90 KCk8YnI+Cj4gICAgICs8YnI+Cj4gICAgIMKgb3MuZXhpdCgwKTxicj4KPiAgICAgLS08YnI+Cj4g ICAgIDIuMzAuMSAoQXBwbGUgR2l0LTEzMCk8YnI+Cj48YnI+Cj4gLS08YnI+Cj4gT2xlZyBCYWJp bjxicj4KPGJyPgotLSA8YnI+ClNlcmdlIFBldHJlbmtvPGJyPgo8L2Rpdj4KICAgICAgICAgICAg CiAgICAgICAgCgkJPGJhc2UgdGFyZ2V0PSJfc2VsZiIgaHJlZj0iaHR0cHM6Ly9lLm1haWwucnUv IiAvPgoJPC9kaXY+CgoJCjwvZGl2PgoKCjwvYmxvY2txdW90ZT48L0JPRFk+PC9IVE1MPgo= ----ALT--50JHoNa2YmXLik7bomNBnCqV1MEsrhGK1629138149--