From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f40.i.mail.ru (f40.i.mail.ru [217.69.128.62]) (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 0F3C04765E0 for ; Fri, 25 Dec 2020 10:42:45 +0300 (MSK) From: =?UTF-8?B?RXZnZW55IE1la2hhbmlr?= MIME-Version: 1.0 Date: Fri, 25 Dec 2020 10:42:44 +0300 Reply-To: =?UTF-8?B?RXZnZW55IE1la2hhbmlr?= Message-ID: <1608882164.215919067@f40.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--8c063F2bf1C6Ab577c79dC618a176B291608882164" In-Reply-To: <0076A088-8CBC-4238-9EEB-0C73EC516098@hxcore.ol> References: <0076A088-8CBC-4238-9EEB-0C73EC516098@hxcore.ol> Subject: Re: [Tarantool-patches] =?utf-8?q?FW=3A__=5BPATCH=5D_memtx=3A_change_?= =?utf-8?q?small_allocator_behavior?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?VmxhZGlzbGF2IFNocGlsZXZveQ==?= Cc: tarantool-patches@dev.tarantool.org ----ALT--8c063F2bf1C6Ab577c79dC618a176B291608882164 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCB0aGFuayB5b3UgZm9yIHJldmlldy5JIGFuc3dlciB5b3VyIHF1ZXN0aW9ucyBiZWxvdy4K wqAKU2VlIDMgY29tbWVudHMgYmVsb3cuCsKgCj7CoCBzcmMvYm94L21lbXR4X2VuZ2luZS5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgOCArKysKPsKgIHNyYy9saWIvc21h bGzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oCAyICstCj7CoCB0ZXN0L2VuZ2luZS9lbmdpbmUuY2ZnwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8wqAgMyArKwo+wqAgdGVzdC9lbmdpbmUvc21hbGxfYWxsb2NfZmFjdG9yLmx1 YcKgwqDCoMKgwqAgfCAxMSArKysrCj7CoCB0ZXN0L2VuZ2luZS9zbWFsbF9hbGxvY19mYWN0b3Iu cmVzdWx0wqDCoCB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysKPsKgIHRlc3QvZW5naW5l L3NtYWxsX2FsbG9jX2ZhY3Rvci50ZXN0Lmx1YSB8IDIwICsrKysrKysKPsKgIDYgZmlsZXMgY2hh bmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPsKgIGNyZWF0ZSBtb2RlIDEw MDY0NCB0ZXN0L2VuZ2luZS9zbWFsbF9hbGxvY19mYWN0b3IubHVhCj7CoCBjcmVhdGUgbW9kZSAx MDA2NDQgdGVzdC9lbmdpbmUvc21hbGxfYWxsb2NfZmFjdG9yLnJlc3VsdAo+wqAgY3JlYXRlIG1v ZGUgMTAwNjQ0IHRlc3QvZW5naW5lL3NtYWxsX2FsbG9jX2ZhY3Rvci50ZXN0Lmx1YQo+Cj4gZGlm ZiAtLWdpdCBhL3NyYy9ib3gvbWVtdHhfZW5naW5lLmMgYi9zcmMvYm94L21lbXR4X2VuZ2luZS5j Cj4gaW5kZXggNGYxZmUzYTNmLi4zYWIyOTJmMmUgMTAwNjQ0Cj4gLS0tIGEvc3JjL2JveC9tZW10 eF9lbmdpbmUuYwo+ICsrKyBiL3NyYy9ib3gvbWVtdHhfZW5naW5lLmMKPiBAQCAtMTExNiw2ICsx MTE2LDE0IEBAIG1lbXR4X2VuZ2luZV9uZXcoY29uc3QgY2hhciAqc25hcF9kaXJuYW1lLCBib29s IGZvcmNlX3JlY292ZXJ5LAo+wqAgwqDCoMKgwqDCoCBpZiAob2Jqc2l6ZV9taW4gPCBPQkpTSVpF X01JTikKPsKgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9ianNpemVfbWluID0g T0JKU0laRV9NSU47Cj7CoAo+ICvCoMKgwqDCoCBpZiAoYWxsb2NfZmFjdG9yID4gMikgewo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2F5X2Vycm9yKCJBbGxvYyBmYWN0b3IgbXVz dCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMi4wLiBJdCB3aWxsIGJlIHJlZHVjZWQgdG8gMi4w Iik7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhbGxvY19mYWN0b3IgPSAyLjA7 Cj4gK8KgwqDCoMKgIH0gZWxzZSBpZiAoYWxsb2NfZmFjdG9yIDw9IDEuMCkgewo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2F5X2Vycm9yKCJBbGxvYyBmYWN0b3IgbXVzdCBiZSBn cmVhdGVyIHRoYW4gdGhlbiAxLjAuIEl0IHdpbGwgYmUgaW5jcmVhc2VkIHRvIDEuMDAxIik7CsKg CjEuIENhbid0IHBhcnNlICd0aGFuIHRoZW4nIC0gcGxlYXNlLCByZXBocmFzZS4gSSBhc3N1bWUg J3RoZW4nIGlzCm5vdCBuZWVkZWQuCsKgCkZpeGVkIGluY29ycmVjdCBtZXNzYWdlLCBub3c6CsKg CivCoMKgIMKgaWYgKGFsbG9jX2ZhY3RvciA+IDIpIHsKK8KgwqAgwqDCoMKgIMKgc2F5X2Vycm9y KCJBbGxvYyBmYWN0b3IgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMi4wLiBJdCB3aWxs IGJlIHJlZHVjZWQgdG8gMi4wIik7CivCoMKgIMKgwqDCoCDCoGFsbG9jX2ZhY3RvciA9IDIuMDsK K8KgwqAgwqB9IGVsc2UgaWYgKGFsbG9jX2ZhY3RvciA8PSAxLjApIHsKK8KgwqAgwqDCoMKgIMKg c2F5X2Vycm9yKCJBbGxvYyBmYWN0b3IgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS4wLiBJdCB3aWxs IGJlIGluY3JlYXNlZCB0byAxLjAwMSIpOworwqDCoCDCoMKgwqAgwqBhbGxvY19mYWN0b3IgPSAx LjAwMTsKK8KgwqAgwqB9CisKwqAKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFs bG9jX2ZhY3RvciA9IDEuMDAxOwrCoAoyLiBJIGRvbid0IHNlZSB0aGUgZmFjdG9yIGJlaW5nIHJv dW5kZWQgdXAgaW4gdGhlIG9yaWdpbmFsIGNvZGUuCldoeSBkaWQgeW91IGFkZCBpdD8gQW5kIHdo eSAxLjAgaXMgYmFkPwrCoApBbnN3ZXI6CsKgCkhlcmUgaXMgYSBjb2RlIHdoaWNoIHJvdW5kZWQg dXAgYWxsb2MgZmFjdG9yIGluIG1hc3RlciBicmFuY2guCsKgwqAgwqAvKgrCoMKgIMKgICogQ29y cmVjdCB0aGUgdXNlci1zdXBwbGllZCBhbGxvY19mYWN0b3IgdG8gZW5zdXJlIHRoYXQKwqDCoCDC oCAqIGl0IGFjdHVhbGx5IHByb2R1Y2VzIGdyb3dpbmcgb2JqZWN0IHNpemVzLgrCoMKgIMKgICov CsKgwqAgwqBpZiAoYWxsb2MtPnN0ZXBfcG9vbF9vYmpzaXplX21heCAqIGFsbG9jX2ZhY3RvciA8 CsKgwqAgwqAgwqAgwqBhbGxvYy0+c3RlcF9wb29sX29ianNpemVfbWF4ICsgU1RFUF9TSVpFKSB7 CsKgwqAgwqDCoMKgIMKgYWxsb2NfZmFjdG9yID0KwqDCoCDCoMKgwqAgwqDCoMKgIMKgKGFsbG9j LT5zdGVwX3Bvb2xfb2Jqc2l6ZV9tYXggKyBTVEVQX1NJWkUgKyAwLjUpLwrCoMKgIMKgwqDCoCDC oMKgwqAgwqBhbGxvYy0+c3RlcF9wb29sX29ianNpemVfbWF4OwrCoMKgIMKgfQrCoMKgIMKgSSB1 c2UgZ2RiIHRvIHNob3cgaXQ6CsKgwqAgwqB0YXJhbnRvb2w+IGJveC5jZmd7c2xhYl9hbGxvY19m YWN0b3IgPSAxLjAxfQrCoMKgIMKgMjAyMC0xMi0yNCAxOToyMjozMy40MTYgWzIyNjAyXSBtYWlu LzEwMy9pbnRlcmFjdGl2ZSBDPiBUYXJhbnRvb2wgMi43LjAtMTQ4LWdkNWE1NzU0YTMKwqDCoCDC oDIwMjAtMTItMjQgMTk6MjI6MzMuNDE2IFsyMjYwMl0gbWFpbi8xMDMvaW50ZXJhY3RpdmUgQz4g bG9nIGxldmVsIDUKwqDCoCDCoDIwMjAtMTItMjQgMTk6MjI6MzMuNDE2IFsyMjYwMl0gbWFpbi8x MDMvaW50ZXJhY3RpdmUgST4gbWFwcGluZyAyNjg0MzU0NTYgYnl0ZXMgZm9yIG1lbXR4IHR1cGxl IGFyZW5hLi4uCsKgwqAgwqBCcmVha3BvaW50IDEsIHNtYWxsX2FsbG9jX2NyZWF0ZSAoYWxsb2M9 MHg1NTU1NTVjZmU3ODgsIGNhY2hlPTB4NTU1NTU1Y2ZlNTMwLCBvYmpzaXplX21pbj0yNzIsCsKg IMKgIMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgYWxsb2NfZmFjdG9yPTEu MDA5OTk5OTkpIGF0IC9ob21lL2V2Z2VueS9NQVNURVIvdGFyYW50b29sL3NyYy9saWIvc21hbGwv c21hbGwvc21hbGwuYzoxMzUKwqDCoCDCoDEzNSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCBhbGxvY19mYWN0b3IgPQrCoMKgIMKgKGdkYikgbgrCoMKgIMKgMTM5IMKgIMKgIMKgIMKgIMKg IMKgIGFsbG9jLT5mYWN0b3IgPSBhbGxvY19mYWN0b3I7CsKgwqAgwqAoZ2RiKSBwIGFsbG9jX2Zh Y3RvcgrCoMKgIMKgJDEgPSAxLjAzMjE5NwrCoMKgIMKgKGdkYikKwqDCoCDCoEFzIHlvdSBjYW4g c2VlIGlmIHlvdSBwYXNzIHNsYWJfYWxsb2NfZmFjdG9yIDwgMS4wMyBpdCdzIGNoYW5nZWQgdG8g MS4wMy4gSSB0cnkgMC4wMSBmYWN0b3IgYW5kIGdldCB0aGUgc2FtZSB2YWx1ZS4KwqDCoCDCoEl0 J3MgY29kZSBmcm9tIG1hc3RlciBicmFuY2gsIG5vdyB1c2VyIGNhbiBwYXNzID49IDEuMDAxIGZh Y3Rvci4gV2UgY2FuJ3QgdXNlIDEuMCwgYmVjYXVzZSB3ZSBuZWVkIGluY3JlbWVudCB0byBwb29s IHNpemUuCsKgCj4gK8KgwqDCoMKgIH0KPiBkaWZmIC0tZ2l0IGEvdGVzdC9lbmdpbmUvc21hbGxf YWxsb2NfZmFjdG9yLnJlc3VsdCBiL3Rlc3QvZW5naW5lL3NtYWxsX2FsbG9jX2ZhY3Rvci5yZXN1 bHQKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMC4uMzFkMGY4ZmZkCj4g LS0tIC9kZXYvbnVsbAo+ICsrKyBiL3Rlc3QvZW5naW5lL3NtYWxsX2FsbG9jX2ZhY3Rvci5yZXN1 bHQKwqAKMy4gUGxlYXNlLCByZWFkIHRoaXMgZG9jdW1lbnQsIGFuZCBlc3BlY2lhbGx5IHRoZSBz cGVjaWZpZWQKc2VjdGlvbjogIGh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29s L3dpa2kvQ29kZS1yZXZpZXctcHJvY2VkdXJlI3Rlc3RpbmcgLgpUaGUgdGVzdCBmaWxlIG5hbWVz IHNob3VsZCBoYXZlIGEgc3BlY2lhbCBwYXR0ZXJuLiBQbGVhc2UsIGZvbGxvdyBpdC4KwqAKUmVu YW1lIHRlc3QsIGFkZCBuZWNlc3NhcnkgZ2gtNTIxNiAoaXNzdWUgbnVtYmVyKSBwcmVmaXgKZGlm ZiAtLWdpdCBhL3Rlc3QvZW5naW5lL2doLTUyMTYtc21hbGxfYWxsb2NfZmFjdG9yLmx1YSBiL3Rl c3QvZW5naW5lL2doLTUyMTYtc21hbGxfYWxsb2NfZmFjdG9yLmx1YQorIyEvdXNyL2Jpbi9lbnYg dGFyYW50b29sCisKK3JlcXVpcmUoJ2NvbnNvbGUnKS5saXN0ZW4ob3MuZ2V0ZW52KCdBRE1JTicp KQorCitib3guY2ZnKHsKKyDCoCDCoHdhbF9tb2RlID0gJ25vbmUnLAorIMKgIMKgbWVtdHhfbWVt b3J5ID0gMioxMDI0KjEwMjQqMTAyNCwKKyDCoCDCoGxpc3RlbiA9IG9zLmdldGVudigiTElTVEVO IiksCisgwqAgwqBtZW10eF9taW5fdHVwbGVfc2l6ZT0zMiwKKyDCoCDCoHNsYWJfYWxsb2NfZmFj dG9yPTEuMDMKK30pCmRpZmYgLS1naXQgYS90ZXN0L2VuZ2luZS9naC01MjE2LXNtYWxsX2FsbG9j X2ZhY3Rvci5yZXN1bHQgYi90ZXN0L2VuZ2luZS9naC01MjE2LXNtYWxsX2FsbG9jX2ZhY3Rvci5y ZXN1bHQKK2VudiA9IHJlcXVpcmUoJ3Rlc3RfcnVuJykKKy0tLQorLi4uCit0ZXN0X3J1biA9IGVu di5uZXcoKQorLS0tCisuLi4KK3Rlc3RfcnVuOmNtZCgnY3JlYXRlIHNlcnZlciB0ZXN0IHdpdGgg c2NyaXB0PSJlbmdpbmUvZ2gtNTIxNi1zbWFsbF9hbGxvY19mYWN0b3IubHVhIicpCistLS0KKy0g dHJ1ZQorLi4uCit0ZXN0X3J1bjpjbWQoJ3N0YXJ0IHNlcnZlciB0ZXN0IHdpdGggYXJncz0ibm9u ZSInKQorLS0tCistIHRydWUKKy4uLgordGVzdF9ydW46Y21kKCdzd2l0Y2ggdGVzdCcpCistLS0K Ky0gdHJ1ZQorLi4uCitzID0gYm94LnNjaGVtYS5zcGFjZS5jcmVhdGUoJ3Rlc3QnKQorLS0tCisu Li4KK18gPSBzOmNyZWF0ZV9pbmRleCgndGVzdCcpCistLS0KKy4uLgorZnVuY3Rpb24gc3RyKGkp IHJldHVybiBzdHJpbmcucmVwKCdhJywgbWF0aC5mbG9vcigyNTYgKiBtYXRoLnBvdygxLjAzLCBp KSkpIGVuZAorLS0tCisuLi4KK2ZvciBpPTEsMjc2IGRvIF8gPSBzOnJlcGxhY2V7aSsyMDAsIHN0 cihpKX0gZW5kCistLS0KKy4uLgorZm9yIGk9MSwyNzQgZG8gXyA9IHM6ZGVsZXRle2krMjAwfSBl bmQKKy0tLQorLi4uCitjb2xsZWN0Z2FyYmFnZSgnY29sbGVjdCcpCistLS0KKy0gMAorLi4uCitf ID0gczpyZXBsYWNlezIwMCsyNzcsIHN0cigyNzUpfQorLS0tCisuLi4KK18gPSBzOmRlbGV0ZXsy MDArMjc1fQorLS0tCisuLi4KK2NvbGxlY3RnYXJiYWdlKCdjb2xsZWN0JykKKy0tLQorLSAwCisu Li4KK18gPSBzOmRlbGV0ZXsyMDArMjc2fQorLS0tCisuLi4KK2NvbGxlY3RnYXJiYWdlKCdjb2xs ZWN0JykKKy0tLQorLSAwCisuLi4KK3Rlc3RfcnVuOmNtZCgnc3dpdGNoIGRlZmF1bHQnKQorLS0t CistIHRydWUKKy4uLgordGVzdF9ydW46Y21kKCdzdG9wIHNlcnZlciB0ZXN0JykKKy0tLQorLSB0 cnVlCisuLi4KK3Rlc3RfcnVuOmNtZCgnY2xlYW51cCBzZXJ2ZXIgdGVzdCcpCistLS0KKy0gdHJ1 ZQorLi4uCit0ZXN0X3J1bjpjbWQoJ2RlbGV0ZSBzZXJ2ZXIgdGVzdCcpCistLS0KKy0gdHJ1ZQor Li4uCmRpZmYgLS1naXQgYS90ZXN0L2VuZ2luZS9naC01MjE2LXNtYWxsX2FsbG9jX2ZhY3Rvci50 ZXN0Lmx1YSBiL3Rlc3QvZW5naW5lL2doLTUyMTYtc21hbGxfYWxsb2NfZmFjdG9yLnRlc3QubHVh CitlbnYgPSByZXF1aXJlKCd0ZXN0X3J1bicpCit0ZXN0X3J1biA9IGVudi5uZXcoKQordGVzdF9y dW46Y21kKCdjcmVhdGUgc2VydmVyIHRlc3Qgd2l0aCBzY3JpcHQ9ImVuZ2luZS9naC01MjE2LXNt YWxsX2FsbG9jX2ZhY3Rvci5sdWEiJykKK3Rlc3RfcnVuOmNtZCgnc3RhcnQgc2VydmVyIHRlc3Qg d2l0aCBhcmdzPSJub25lIicpCit0ZXN0X3J1bjpjbWQoJ3N3aXRjaCB0ZXN0JykKK3MgPSBib3gu c2NoZW1hLnNwYWNlLmNyZWF0ZSgndGVzdCcpCitfID0gczpjcmVhdGVfaW5kZXgoJ3Rlc3QnKQor ZnVuY3Rpb24gc3RyKGkpIHJldHVybiBzdHJpbmcucmVwKCdhJywgbWF0aC5mbG9vcigyNTYgKiBt YXRoLnBvdygxLjAzLCBpKSkpIGVuZAorZm9yIGk9MSwyNzYgZG8gXyA9IHM6cmVwbGFjZXtpKzIw MCwgc3RyKGkpfSBlbmQKK2ZvciBpPTEsMjc0IGRvIF8gPSBzOmRlbGV0ZXtpKzIwMH0gZW5kCitj b2xsZWN0Z2FyYmFnZSgnY29sbGVjdCcpCitfID0gczpyZXBsYWNlezIwMCsyNzcsIHN0cigyNzUp fQorXyA9IHM6ZGVsZXRlezIwMCsyNzV9Citjb2xsZWN0Z2FyYmFnZSgnY29sbGVjdCcpCitfID0g czpkZWxldGV7MjAwKzI3Nn0KK2NvbGxlY3RnYXJiYWdlKCdjb2xsZWN0JykKK3Rlc3RfcnVuOmNt ZCgnc3dpdGNoIGRlZmF1bHQnKQordGVzdF9ydW46Y21kKCdzdG9wIHNlcnZlciB0ZXN0JykKK3Rl c3RfcnVuOmNtZCgnY2xlYW51cCBzZXJ2ZXIgdGVzdCcpCit0ZXN0X3J1bjpjbWQoJ2RlbGV0ZSBz ZXJ2ZXIgdGVzdCcpCgrCoArCoArCoA== ----ALT--8c063F2bf1C6Ab577c79dC618a176B291608882164 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIHRoYW5rIHlvdSBmb3IgcmV2aWV3LkkgYW5zd2VyIHlvdXIg cXVlc3Rpb25zIGJlbG93LjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj5TZWUgMyBjb21tZW50 cyBiZWxvdy48L2Rpdj48ZGl2PjxkaXYgaWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJl YWRtc2ctbXNnIj48ZGl2IGlkPSJzdHlsZV8xNjA4ODgxMzc2MTE3OTAwNDQ3NF9CT0RZIj48ZGl2 IGNsYXNzPSJjbF85MTEzMTYiPjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMV9tcl9jc3NfYXR0ciI+ PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jm5ic3A7PC9wPjxwIGNsYXNzPSJNc29O b3JtYWxfbXJfY3NzX2F0dHIiPiZndDsmbmJzcDsgc3JjL2JveC9tZW10eF9lbmdpbmUuYyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDggKysrPC9w PjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPiZndDsmbmJzcDsgc3JjL2xpYi9zbWFs bCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDIgKy08 L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jmd0OyZuYnNwOyB0ZXN0L2VuZ2lu ZS9lbmdpbmUuY2ZnJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IHwmbmJzcDsgMyArKzwvcD48cCBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mZ3Q7Jm5i c3A7IHRlc3QvZW5naW5lL3NtYWxsX2FsbG9jX2ZhY3Rvci5sdWEmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgfCAxMSArKysrPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIi PiZndDsmbmJzcDsgdGVzdC9lbmdpbmUvc21hbGxfYWxsb2NfZmFjdG9yLnJlc3VsdCZuYnNwOyZu YnNwOyB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKys8L3A+PHAgY2xhc3M9Ik1zb05vcm1h bF9tcl9jc3NfYXR0ciI+Jmd0OyZuYnNwOyB0ZXN0L2VuZ2luZS9zbWFsbF9hbGxvY19mYWN0b3Iu dGVzdC5sdWEgfCAyMCArKysrKysrPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIi PiZndDsmbmJzcDsgNiBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKTwvcD48cCBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mZ3Q7Jm5ic3A7IGNyZWF0 ZSBtb2RlIDEwMDY0NCB0ZXN0L2VuZ2luZS9zbWFsbF9hbGxvY19mYWN0b3IubHVhPC9wPjxwIGNs YXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPiZndDsmbmJzcDsgY3JlYXRlIG1vZGUgMTAwNjQ0 IHRlc3QvZW5naW5lL3NtYWxsX2FsbG9jX2ZhY3Rvci5yZXN1bHQ8L3A+PHAgY2xhc3M9Ik1zb05v cm1hbF9tcl9jc3NfYXR0ciI+Jmd0OyZuYnNwOyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9lbmdp bmUvc21hbGxfYWxsb2NfZmFjdG9yLnRlc3QubHVhPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJf Y3NzX2F0dHIiPiZndDs8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jmd0OyBk aWZmIC0tZ2l0IGEvc3JjL2JveC9tZW10eF9lbmdpbmUuYyBiL3NyYy9ib3gvbWVtdHhfZW5naW5l LmM8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jmd0OyBpbmRleCA0ZjFmZTNh M2YuLjNhYjI5MmYyZSAxMDA2NDQ8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+ Jmd0OyAtLS0gYS9zcmMvYm94L21lbXR4X2VuZ2luZS5jPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxf bXJfY3NzX2F0dHIiPiZndDsgKysrIGIvc3JjL2JveC9tZW10eF9lbmdpbmUuYzwvcD48cCBjbGFz cz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mZ3Q7IEBAIC0xMTE2LDYgKzExMTYsMTQgQEAgbWVt dHhfZW5naW5lX25ldyhjb25zdCBjaGFyICpzbmFwX2Rpcm5hbWUsIGJvb2wgZm9yY2VfcmVjb3Zl cnksPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPiZndDsmbmJzcDsgJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChvYmpzaXplX21pbiAmbHQ7IE9CSlNJWkVfTUlO KTwvcD48cCBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mZ3Q7Jm5ic3A7ICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBvYmpzaXplX21pbiA9IE9CSlNJWkVfTUlO OzwvcD48cCBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mZ3Q7Jm5ic3A7PC9wPjxwIGNs YXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBpZiAoYWxsb2NfZmFjdG9yICZndDsgMikgezwvcD48cCBjbGFzcz0iTXNvTm9ybWFsX21yX2Nz c19hdHRyIj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc2F5X2Vycm9y KCJBbGxvYyBmYWN0b3IgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMi4wLiBJdCB3aWxs IGJlIHJlZHVjZWQgdG8gMi4wIik7PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIi PiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhbGxvY19mYWN0b3IgPSAy LjA7PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPiZndDsgKyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyB9IGVsc2UgaWYgKGFsbG9jX2ZhY3RvciAmbHQ7PSAxLjApIHs8L3A+PHAg Y2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IHNheV9lcnJvcigiQWxsb2MgZmFjdG9yIG11c3QgYmUgZ3JlYXRlciB0aGFu IHRoZW4gMS4wLiBJdCB3aWxsIGJlIGluY3JlYXNlZCB0byAxLjAwMSIpOzwvcD48cCBjbGFzcz0i TXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mbmJzcDs8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9j c3NfYXR0ciI+MS4gQ2FuJ3QgcGFyc2UgJ3RoYW4gdGhlbicgLSBwbGVhc2UsIHJlcGhyYXNlLiBJ IGFzc3VtZSAndGhlbicgaXM8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+bm90 IG5lZWRlZC48L3A+PGRpdiBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mbmJzcDs8L2Rp dj48ZGl2IGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPkZpeGVkIGluY29ycmVjdCBtZXNz YWdlLCBub3c6PC9kaXY+PGRpdiBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mbmJzcDs8 YnI+KyZuYnNwOyZuYnNwOyAmbmJzcDtpZiAoYWxsb2NfZmFjdG9yICZndDsgMikgezxicj4rJm5i c3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDtzYXlfZXJyb3IoIkFsbG9jIGZhY3Rv ciBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAyLjAuIEl0IHdpbGwgYmUgcmVkdWNlZCB0 byAyLjAiKTs8YnI+KyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7YWxsb2Nf ZmFjdG9yID0gMi4wOzxicj4rJm5ic3A7Jm5ic3A7ICZuYnNwO30gZWxzZSBpZiAoYWxsb2NfZmFj dG9yICZsdDs9IDEuMCkgezxicj4rJm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJz cDtzYXlfZXJyb3IoIkFsbG9jIGZhY3RvciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLjAuIEl0IHdp bGwgYmUgaW5jcmVhc2VkIHRvIDEuMDAxIik7PGJyPismbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7 Jm5ic3A7ICZuYnNwO2FsbG9jX2ZhY3RvciA9IDEuMDAxOzxicj4rJm5ic3A7Jm5ic3A7ICZuYnNw O308YnI+KzwvZGl2PjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPiZuYnNwOzwvcD48 cCBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgYWxsb2NfZmFjdG9yID0gMS4wMDE7PC9wPjxwIGNsYXNzPSJNc29Ob3Jt YWxfbXJfY3NzX2F0dHIiPiZuYnNwOzwvcD48cCBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRy Ij4yLiBJIGRvbid0IHNlZSB0aGUgZmFjdG9yIGJlaW5nIHJvdW5kZWQgdXAgaW4gdGhlIG9yaWdp bmFsIGNvZGUuPC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPldoeSBkaWQgeW91 IGFkZCBpdD8gQW5kIHdoeSAxLjAgaXMgYmFkPzwvcD48ZGl2IGNsYXNzPSJNc29Ob3JtYWxfbXJf Y3NzX2F0dHIiPiZuYnNwOzwvZGl2PjxkaXYgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+ QW5zd2VyOjwvZGl2PjxkaXYgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jm5ic3A7PC9k aXY+PGRpdiBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj48ZGl2PkhlcmUgaXMgYSBjb2Rl IHdoaWNoIHJvdW5kZWQgdXAgYWxsb2MgZmFjdG9yIGluIG1hc3RlciBicmFuY2guPGJyPiZuYnNw OyZuYnNwOyAmbmJzcDsvKjxicj4mbmJzcDsmbmJzcDsgJm5ic3A7ICogQ29ycmVjdCB0aGUgdXNl ci1zdXBwbGllZCBhbGxvY19mYWN0b3IgdG8gZW5zdXJlIHRoYXQ8YnI+Jm5ic3A7Jm5ic3A7ICZu YnNwOyAqIGl0IGFjdHVhbGx5IHByb2R1Y2VzIGdyb3dpbmcgb2JqZWN0IHNpemVzLjxicj4mbmJz cDsmbmJzcDsgJm5ic3A7ICovPGJyPiZuYnNwOyZuYnNwOyAmbmJzcDtpZiAoYWxsb2MtJmd0O3N0 ZXBfcG9vbF9vYmpzaXplX21heCAqIGFsbG9jX2ZhY3RvciAmbHQ7PGJyPiZuYnNwOyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO2FsbG9jLSZndDtzdGVwX3Bvb2xfb2Jqc2l6ZV9tYXggKyBTVEVQ X1NJWkUpIHs8L2Rpdj48ZGl2PiZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7 YWxsb2NfZmFjdG9yID08YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsm bmJzcDsmbmJzcDsgJm5ic3A7KGFsbG9jLSZndDtzdGVwX3Bvb2xfb2Jqc2l6ZV9tYXggKyBTVEVQ X1NJWkUgKyAwLjUpLzxicj4mbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZu YnNwOyZuYnNwOyAmbmJzcDthbGxvYy0mZ3Q7c3RlcF9wb29sX29ianNpemVfbWF4Ozxicj4mbmJz cDsmbmJzcDsgJm5ic3A7fTxicj4mbmJzcDsmbmJzcDsgJm5ic3A7SSB1c2UgZ2RiIHRvIHNob3cg aXQ6PGJyPiZuYnNwOyZuYnNwOyAmbmJzcDt0YXJhbnRvb2wmZ3Q7IGJveC5jZmd7c2xhYl9hbGxv Y19mYWN0b3IgPSAxLjAxfTxicj4mbmJzcDsmbmJzcDsgJm5ic3A7MjAyMC0xMi0yNCAxOToyMjoz My40MTYgWzIyNjAyXSBtYWluLzEwMy9pbnRlcmFjdGl2ZSBDJmd0OyBUYXJhbnRvb2wgMi43LjAt MTQ4LWdkNWE1NzU0YTM8YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOzIwMjAtMTItMjQgMTk6MjI6MzMu NDE2IFsyMjYwMl0gbWFpbi8xMDMvaW50ZXJhY3RpdmUgQyZndDsgbG9nIGxldmVsIDU8YnI+Jm5i c3A7Jm5ic3A7ICZuYnNwOzIwMjAtMTItMjQgMTk6MjI6MzMuNDE2IFsyMjYwMl0gbWFpbi8xMDMv aW50ZXJhY3RpdmUgSSZndDsgbWFwcGluZyAyNjg0MzU0NTYgYnl0ZXMgZm9yIG1lbXR4IHR1cGxl IGFyZW5hLi4uPC9kaXY+PGRpdj4mbmJzcDsmbmJzcDsgJm5ic3A7QnJlYWtwb2ludCAxLCBzbWFs bF9hbGxvY19jcmVhdGUgKGFsbG9jPTB4NTU1NTU1Y2ZlNzg4LCBjYWNoZT0weDU1NTU1NWNmZTUz MCwgb2Jqc2l6ZV9taW49MjcyLDxicj4mbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOyAmbmJzcDsm bmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsm bmJzcDsmbmJzcDsgJm5ic3A7ICZuYnNwO2FsbG9jX2ZhY3Rvcj0xLjAwOTk5OTk5KSBhdCAvaG9t ZS9ldmdlbnkvTUFTVEVSL3RhcmFudG9vbC9zcmMvbGliL3NtYWxsL3NtYWxsL3NtYWxsLmM6MTM1 PGJyPiZuYnNwOyZuYnNwOyAmbmJzcDsxMzUgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGFsbG9jX2ZhY3RvciA9PGJy PiZuYnNwOyZuYnNwOyAmbmJzcDsoZ2RiKSBuPGJyPiZuYnNwOyZuYnNwOyAmbmJzcDsxMzkgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgYWxsb2MtJmd0O2ZhY3RvciA9 IGFsbG9jX2ZhY3Rvcjs8YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyhnZGIpIHAgYWxsb2NfZmFjdG9y PGJyPiZuYnNwOyZuYnNwOyAmbmJzcDskMSA9IDEuMDMyMTk3PGJyPiZuYnNwOyZuYnNwOyAmbmJz cDsoZ2RiKTxicj4mbmJzcDsmbmJzcDsgJm5ic3A7QXMgeW91IGNhbiBzZWUgaWYgeW91IHBhc3Mg c2xhYl9hbGxvY19mYWN0b3IgJmx0OyAxLjAzIGl0J3MgY2hhbmdlZCB0byAxLjAzLiBJIHRyeSAw LjAxIGZhY3RvciBhbmQgZ2V0IHRoZSBzYW1lIHZhbHVlLjxicj4mbmJzcDsmbmJzcDsgJm5ic3A7 SXQncyBjb2RlIGZyb20gbWFzdGVyIGJyYW5jaCwgbm93IHVzZXIgY2FuIHBhc3MgJmd0Oz0gMS4w MDEgZmFjdG9yLiBXZSBjYW4ndCB1c2UgMS4wLCBiZWNhdXNlIHdlIG5lZWQgaW5jcmVtZW50IHRv IHBvb2wgc2l6ZS48L2Rpdj48L2Rpdj48cCBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4m bmJzcDs8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jmd0OyArJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IH08L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jmd0 OyBkaWZmIC0tZ2l0IGEvdGVzdC9lbmdpbmUvc21hbGxfYWxsb2NfZmFjdG9yLnJlc3VsdCBiL3Rl c3QvZW5naW5lL3NtYWxsX2FsbG9jX2ZhY3Rvci5yZXN1bHQ8L3A+PHAgY2xhc3M9Ik1zb05vcm1h bF9tcl9jc3NfYXR0ciI+Jmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NDwvcD48cCBjbGFzcz0iTXNv Tm9ybWFsX21yX2Nzc19hdHRyIj4mZ3Q7IGluZGV4IDAwMDAwMDAwMC4uMzFkMGY4ZmZkPC9wPjxw IGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPiZndDsgLS0tIC9kZXYvbnVsbDwvcD48cCBj bGFzcz0iTXNvTm9ybWFsX21yX2Nzc19hdHRyIj4mZ3Q7ICsrKyBiL3Rlc3QvZW5naW5lL3NtYWxs X2FsbG9jX2ZhY3Rvci5yZXN1bHQ8L3A+PHAgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+ Jm5ic3A7PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPjMuIFBsZWFzZSwgcmVh ZCB0aGlzIGRvY3VtZW50LCBhbmQgZXNwZWNpYWxseSB0aGUgc3BlY2lmaWVkPC9wPjxwIGNsYXNz PSJNc29Ob3JtYWxfbXJfY3NzX2F0dHIiPnNlY3Rpb246IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi LmNvbS90YXJhbnRvb2wvdGFyYW50b29sL3dpa2kvQ29kZS1yZXZpZXctcHJvY2VkdXJlI3Rlc3Rp bmciIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9v bC93aWtpL0NvZGUtcmV2aWV3LXByb2NlZHVyZSN0ZXN0aW5nPC9hPi48L3A+PHAgY2xhc3M9Ik1z b05vcm1hbF9tcl9jc3NfYXR0ciI+VGhlIHRlc3QgZmlsZSBuYW1lcyBzaG91bGQgaGF2ZSBhIHNw ZWNpYWwgcGF0dGVybi4gUGxlYXNlLCBmb2xsb3cgaXQuPC9wPjxkaXYgY2xhc3M9Ik1zb05vcm1h bF9tcl9jc3NfYXR0ciI+Jm5ic3A7PC9kaXY+PGRpdiBjbGFzcz0iTXNvTm9ybWFsX21yX2Nzc19h dHRyIj5SZW5hbWUgdGVzdCwgYWRkIG5lY2Vzc2FyeSBnaC01MjE2IChpc3N1ZSBudW1iZXIpIHBy ZWZpeDwvZGl2PjxkaXYgY2xhc3M9Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+PGRpdj5kaWZmIC0t Z2l0IGEvdGVzdC9lbmdpbmUvZ2gtNTIxNi1zbWFsbF9hbGxvY19mYWN0b3IubHVhIGIvdGVzdC9l bmdpbmUvZ2gtNTIxNi1zbWFsbF9hbGxvY19mYWN0b3IubHVhPGJyPisjIS91c3IvYmluL2VudiB0 YXJhbnRvb2w8YnI+Kzxicj4rcmVxdWlyZSgnY29uc29sZScpLmxpc3Rlbihvcy5nZXRlbnYoJ0FE TUlOJykpPGJyPis8YnI+K2JveC5jZmcoezxicj4rICZuYnNwOyAmbmJzcDt3YWxfbW9kZSA9ICdu b25lJyw8YnI+KyAmbmJzcDsgJm5ic3A7bWVtdHhfbWVtb3J5ID0gMioxMDI0KjEwMjQqMTAyNCw8 YnI+KyAmbmJzcDsgJm5ic3A7bGlzdGVuID0gb3MuZ2V0ZW52KCJMSVNURU4iKSw8YnI+KyAmbmJz cDsgJm5ic3A7bWVtdHhfbWluX3R1cGxlX3NpemU9MzIsPGJyPisgJm5ic3A7ICZuYnNwO3NsYWJf YWxsb2NfZmFjdG9yPTEuMDM8YnI+K30pPGJyPmRpZmYgLS1naXQgYS90ZXN0L2VuZ2luZS9naC01 MjE2LXNtYWxsX2FsbG9jX2ZhY3Rvci5yZXN1bHQgYi90ZXN0L2VuZ2luZS9naC01MjE2LXNtYWxs X2FsbG9jX2ZhY3Rvci5yZXN1bHQ8YnI+K2VudiA9IHJlcXVpcmUoJ3Rlc3RfcnVuJyk8YnI+Ky0t LTxicj4rLi4uPGJyPit0ZXN0X3J1biA9IGVudi5uZXcoKTxicj4rLS0tPGJyPisuLi48YnI+K3Rl c3RfcnVuOmNtZCgnY3JlYXRlIHNlcnZlciB0ZXN0IHdpdGggc2NyaXB0PSJlbmdpbmUvZ2gtNTIx Ni1zbWFsbF9hbGxvY19mYWN0b3IubHVhIicpPGJyPistLS08YnI+Ky0gdHJ1ZTxicj4rLi4uPGJy Pit0ZXN0X3J1bjpjbWQoJ3N0YXJ0IHNlcnZlciB0ZXN0IHdpdGggYXJncz0ibm9uZSInKTxicj4r LS0tPGJyPistIHRydWU8YnI+Ky4uLjxicj4rdGVzdF9ydW46Y21kKCdzd2l0Y2ggdGVzdCcpPGJy PistLS08YnI+Ky0gdHJ1ZTxicj4rLi4uPGJyPitzID0gYm94LnNjaGVtYS5zcGFjZS5jcmVhdGUo J3Rlc3QnKTxicj4rLS0tPGJyPisuLi48YnI+K18gPSBzOmNyZWF0ZV9pbmRleCgndGVzdCcpPGJy PistLS08YnI+Ky4uLjxicj4rZnVuY3Rpb24gc3RyKGkpIHJldHVybiBzdHJpbmcucmVwKCdhJywg bWF0aC5mbG9vcigyNTYgKiBtYXRoLnBvdygxLjAzLCBpKSkpIGVuZDxicj4rLS0tPGJyPisuLi48 YnI+K2ZvciBpPTEsMjc2IGRvIF8gPSBzOnJlcGxhY2V7aSsyMDAsIHN0cihpKX0gZW5kPGJyPist LS08YnI+Ky4uLjxicj4rZm9yIGk9MSwyNzQgZG8gXyA9IHM6ZGVsZXRle2krMjAwfSBlbmQ8YnI+ Ky0tLTxicj4rLi4uPGJyPitjb2xsZWN0Z2FyYmFnZSgnY29sbGVjdCcpPGJyPistLS08YnI+Ky0g MDxicj4rLi4uPGJyPitfID0gczpyZXBsYWNlezIwMCsyNzcsIHN0cigyNzUpfTxicj4rLS0tPGJy PisuLi48YnI+K18gPSBzOmRlbGV0ZXsyMDArMjc1fTxicj4rLS0tPGJyPisuLi48YnI+K2NvbGxl Y3RnYXJiYWdlKCdjb2xsZWN0Jyk8YnI+Ky0tLTxicj4rLSAwPGJyPisuLi48YnI+K18gPSBzOmRl bGV0ZXsyMDArMjc2fTxicj4rLS0tPGJyPisuLi48YnI+K2NvbGxlY3RnYXJiYWdlKCdjb2xsZWN0 Jyk8YnI+Ky0tLTxicj4rLSAwPGJyPisuLi48YnI+K3Rlc3RfcnVuOmNtZCgnc3dpdGNoIGRlZmF1 bHQnKTxicj4rLS0tPGJyPistIHRydWU8YnI+Ky4uLjxicj4rdGVzdF9ydW46Y21kKCdzdG9wIHNl cnZlciB0ZXN0Jyk8YnI+Ky0tLTxicj4rLSB0cnVlPGJyPisuLi48YnI+K3Rlc3RfcnVuOmNtZCgn Y2xlYW51cCBzZXJ2ZXIgdGVzdCcpPGJyPistLS08YnI+Ky0gdHJ1ZTxicj4rLi4uPGJyPit0ZXN0 X3J1bjpjbWQoJ2RlbGV0ZSBzZXJ2ZXIgdGVzdCcpPGJyPistLS08YnI+Ky0gdHJ1ZTxicj4rLi4u PGJyPmRpZmYgLS1naXQgYS90ZXN0L2VuZ2luZS9naC01MjE2LXNtYWxsX2FsbG9jX2ZhY3Rvci50 ZXN0Lmx1YSBiL3Rlc3QvZW5naW5lL2doLTUyMTYtc21hbGxfYWxsb2NfZmFjdG9yLnRlc3QubHVh PGJyPitlbnYgPSByZXF1aXJlKCd0ZXN0X3J1bicpPGJyPit0ZXN0X3J1biA9IGVudi5uZXcoKTxi cj4rdGVzdF9ydW46Y21kKCdjcmVhdGUgc2VydmVyIHRlc3Qgd2l0aCBzY3JpcHQ9ImVuZ2luZS9n aC01MjE2LXNtYWxsX2FsbG9jX2ZhY3Rvci5sdWEiJyk8YnI+K3Rlc3RfcnVuOmNtZCgnc3RhcnQg c2VydmVyIHRlc3Qgd2l0aCBhcmdzPSJub25lIicpPGJyPit0ZXN0X3J1bjpjbWQoJ3N3aXRjaCB0 ZXN0Jyk8YnI+K3MgPSBib3guc2NoZW1hLnNwYWNlLmNyZWF0ZSgndGVzdCcpPGJyPitfID0gczpj cmVhdGVfaW5kZXgoJ3Rlc3QnKTxicj4rZnVuY3Rpb24gc3RyKGkpIHJldHVybiBzdHJpbmcucmVw KCdhJywgbWF0aC5mbG9vcigyNTYgKiBtYXRoLnBvdygxLjAzLCBpKSkpIGVuZDxicj4rZm9yIGk9 MSwyNzYgZG8gXyA9IHM6cmVwbGFjZXtpKzIwMCwgc3RyKGkpfSBlbmQ8YnI+K2ZvciBpPTEsMjc0 IGRvIF8gPSBzOmRlbGV0ZXtpKzIwMH0gZW5kPGJyPitjb2xsZWN0Z2FyYmFnZSgnY29sbGVjdCcp PGJyPitfID0gczpyZXBsYWNlezIwMCsyNzcsIHN0cigyNzUpfTxicj4rXyA9IHM6ZGVsZXRlezIw MCsyNzV9PGJyPitjb2xsZWN0Z2FyYmFnZSgnY29sbGVjdCcpPGJyPitfID0gczpkZWxldGV7MjAw KzI3Nn08YnI+K2NvbGxlY3RnYXJiYWdlKCdjb2xsZWN0Jyk8YnI+K3Rlc3RfcnVuOmNtZCgnc3dp dGNoIGRlZmF1bHQnKTxicj4rdGVzdF9ydW46Y21kKCdzdG9wIHNlcnZlciB0ZXN0Jyk8YnI+K3Rl c3RfcnVuOmNtZCgnY2xlYW51cCBzZXJ2ZXIgdGVzdCcpPGJyPit0ZXN0X3J1bjpjbWQoJ2RlbGV0 ZSBzZXJ2ZXIgdGVzdCcpPC9kaXY+PGRpdj48YnI+Jm5ic3A7PC9kaXY+PC9kaXY+PHAgY2xhc3M9 Ik1zb05vcm1hbF9tcl9jc3NfYXR0ciI+Jm5ic3A7PC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--8c063F2bf1C6Ab577c79dC618a176B291608882164--