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 6D2174BB631; Wed, 14 Jun 2023 17:46:27 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 6D2174BB631 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1686753987; bh=Np7EwckSGIbNqdzkkIa9qHt1EOBj7kHBRKVKg7ko8Ps=; 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=WhstBiZ1lGdHo6jXLS8jkSuXEwqQQpXm7vzWWe7Lx79zphqdwwkIZVfBMeckH889q c6B0dwG0AQky3Nr7jlcuzXmBUa9Q274ldbbB6ZV0FlmgPSSnamj9yBmCFyfFHN0Uz4 QWWhQrFIp14BMyuFWMVodP2qKY28CwVRBsSCGW8Q= Received: from f390.i.mail.ru (f390.i.mail.ru [45.84.128.176]) (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 83A1941F7E0 for ; Wed, 14 Jun 2023 17:46:26 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 83A1941F7E0 Received: by f390.i.mail.ru with local (envelope-from ) id 1q9RlQ-0006fd-GM; Wed, 14 Jun 2023 17:46:24 +0300 Received: by e.mail.ru with HTTP; Wed, 14 Jun 2023 17:46:24 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16863034270219012433 X-SenderField-Remind: 0 Date: Wed, 14 Jun 2023 17:46:24 +0300 X-Priority: 3 (Normal) Message-ID: <1686753984.760025901@f390.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--f8Cd1490404152127d071dCc3E44f2861686753984" In-Reply-To: <2e92221ec1d4e8222be8cbd89b4d0e047bc9b795.1686299850.git.skaplun@tarantool.org> References: <2e92221ec1d4e8222be8cbd89b4d0e047bc9b795.1686299850.git.skaplun@tarantool.org> X-7564579A: B8F34718100C35BD X-77F55803: 119C1F4DF6A9251CC4A95E545CA0A965A8BFACE47DA5D79924750885859E4D86ABF6EAE57C0FACE99C83F3F506930083601BE8FAB50D07EF1E844F1DF3765CD625FF584C251F6817 X-C1DE0DAB: 0D63561A33F958A50DB96C37C61E2DB84968D7971D5CD44DEDD272D93EBC698AF87CCE6106E1FC07E67D4AC08A07B9B0A6C7FFFE744CA7FBCB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0AD5177F0B940C8B66ECE892A7B2722663E91682638B966EB3F662256BEEFA9527F414C2AC49076876D9B3FE116C41A2A90C2211AC19228D2E95981A7A26981E49E9F2EF8FEEC66922D37FD76D11AF80A0D24A5F311D3C9327E5D8956453B9C8E46EA455F16B58544A2557BDE0DD54B3590965026E5D17F6739C77C69D99B9914278E50E1F0597A6FD5CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhVkwwfG7eAF4eI6gKe1nBzA== X-Mailru-MI: 800 X-Mailru-Sender: 11C2EC085EDE56FA38FD4C59F7EFE40776BAA40C857706EE3D8E60087EB40398E5D3AAC2A60097CB06CD02445D2D9C8FA2BFD6D8330F0C2D563E610FBBDBB4C842051EA7CBBFB509093DA5C00B83CE8412EB40C6FA10D71EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: OK Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_1/2=5D_Fix_use-def?= =?utf-8?q?_analysis_for_BC=5FVARG=2E?= 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: Maxim Kokryashkin via Tarantool-patches Reply-To: =?UTF-8?B?TWF4aW0gS29rcnlhc2hraW4=?= Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--f8Cd1490404152127d071dCc3E44f2861686753984 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCBTZXJnZXkhClRoYW5rcyBmb3IgdGhlIHBhdGNoIQpQbGVhc2UgY29uc2lkZXIgbXkgY29t bWVudHMgYmVsb3cuCsKgCj7CoAo+PkZyb206IE1pa2UgUGFsbCA8bWlrZT4KPj4KPj5SZXBvcnRl ZCBieSBSeWFuIEx1Y2lhLgo+Pgo+PihjaGVycnktcGlja2VkIGZyb20gY29tbWl0IDI4MDE1MDBh MjYwODQ0OTFhZTAzNTE3MGNhZDQ3MDA1MTM3OTA4OTApCj4+Cj4+VXNlLWRlZiBhbmFsaXppcyBm b3IgQkNfVkFSRyBoYXMgdG8gc3Ryb25nIGxpbWl0IGZvciB0aGUgdG9wL21heHNsb3QsIHNvCj5U eXBvOiBzL2FuYWxpemlzL2FuYWx5c2lzLwo+Pm5vIHNsb3RzIG1heSBjb25zaWRlcmVkIGFzIHVz ZWQuIFRoaXMgbGVhZHMgdG8gYWRkaXRpdGlvbmFsIFNMT0FEIG9uCj5UeXBvOiBzL21heS9tYXkg YmUvCj5UeXBvOiBzL3RvIGFkZGl0aW9uYWwvdG8gYW4gYWRkaXRpb25hbC8KPj50cmFjZSB3aXRo IGluY29ycmVjdCB2YWx1ZSB1c2VkIGxhdGVyLiBUaGlzIHBhdGNoIGRpc2FibGVzIHRoZSB1c2Ut ZGVmCj5UeXBvOiBzL3RyYWNlwqB3aXRoL3RoZSB0cmFjZcKgd2l0aCBhbi8KPj5hbmFsaXNpcyBm b3IgQkNfVkFSRyBhcyBOSVkuCj5UeXBvOiBzL2FuYWxpc2lzL2FuYWx5c2lzLwo+Pgo+PlNlcmdl eSBLYXBsdW46Cj4+KiBhZGRlZCB0aGUgZGVzY3JpcHRpb24gYW5kIHRoZSB0ZXN0IGZvciB0aGUg cHJvYmxlbQo+Pgo+PlBhcnQgb2YgdGFyYW50b29sL3RhcmFudG9vbCM4NTE2Cj4+UmVsYXRlcyB0 byB0YXJhbnRvb2wvdGFyYW50b29sIzg3MTgKPj4tLS0KPj7CoHNyYy9sal9zbmFwLmMgfCA0ICst Cj4+wqAuLi4vbGotNzA0LWJjLXZhcmctdXNlLWRlZi50ZXN0Lmx1YSB8IDY1ICsrKysrKysrKysr KysrKysrKysKPj7CoDIgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQo+PsKgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvdGFyYW50b29sLXRlc3RzL2xqLTcwNC1i Yy12YXJnLXVzZS1kZWYudGVzdC5sdWEKPj4KPj5kaWZmIC0tZ2l0IGEvc3JjL2xqX3NuYXAuYyBi L3NyYy9sal9zbmFwLmMKPj5pbmRleCBhOGI0OWZjYi4uNWJiZTg0OTggMTAwNjQ0Cj4+LS0tIGEv c3JjL2xqX3NuYXAuYwo+PisrKyBiL3NyYy9sal9zbmFwLmMKPj5AQCAtMjY3LDcgKzI2Nyw3IEBA IHN0YXRpYyBCQ1JlZyBzbmFwX3VzZWRlZihqaXRfU3RhdGUgKkosIHVpbnQ4X3QgKnVkZiwKPj7C oMKgwqDCoMKgwqDCoMKgaWYgKCEob3AgPT0gQkNfSVNUQyB8fCBvcCA9PSBCQ19JU0ZDKSkgREVG X1NMT1QoYmNfYShpbnMpKTsKPj7CoMKgwqDCoMKgwqDCoMKgYnJlYWs7Cj4+wqDCoMKgwqDCoGNh c2UgQkNNYmFzZToKPj4tIGlmIChvcCA+PSBCQ19DQUxMTSAmJiBvcCA8PSBCQ19WQVJHKSB7Cj4+ KyBpZiAob3AgPj0gQkNfQ0FMTE0gJiYgb3AgPD0gQkNfSVRFUk4pIHsKPj7CoCBCQ1JlZyB0b3Ag PSAob3AgPT0gQkNfQ0FMTE0gfHwgb3AgPT0gQkNfQ0FMTE1UIHx8IGJjX2MoaW5zKSA9PSAwKSA/ Cj4+wqAgbWF4c2xvdCA6IChiY19hKGlucykgKyBiY19jKGlucykrTEpfRlIyKTsKPj7CoCBpZiAo TEpfRlIyKSBERUZfU0xPVChiY19hKGlucykrMSk7Cj4+QEAgLTI3OCw2ICsyNzgsOCBAQCBzdGF0 aWMgQkNSZWcgc25hcF91c2VkZWYoaml0X1N0YXRlICpKLCB1aW50OF90ICp1ZGYsCj4+wqAgZm9y IChzID0gMDsgcyA8IGJjX2EoaW5zKTsgcysrKSBERUZfU0xPVChzKTsKPj7CoCByZXR1cm4gMDsK Pj7CoCB9Cj4+KyB9IGVsc2UgaWYgKG9wID09IEJDX1ZBUkcpIHsKPj4rIHJldHVybiBtYXhzbG90 OyAvKiBOWUk6IHB1bnQuICovCj4+wqDCoMKgwqDCoMKgwqB9IGVsc2UgaWYgKG9wID09IEJDX0tO SUwpIHsKPj7CoCBmb3IgKHMgPSBiY19hKGlucyk7IHMgPD0gYmNfZChpbnMpOyBzKyspIERFRl9T TE9UKHMpOwo+PsKgwqDCoMKgwqDCoMKgfSBlbHNlIGlmIChvcCA9PSBCQ19UU0VUTSkgewo+PmRp ZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai03MDQtYmMtdmFyZy11c2UtZGVmLnRl c3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNzA0LWJjLXZhcmctdXNlLWRlZi50ZXN0 Lmx1YQo+Pm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+aW5kZXggMDAwMDAwMDAuLmMzYmE2NWRkCj4+ LS0tIC9kZXYvbnVsbAo+PisrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTcwNC1iYy12YXJn LXVzZS1kZWYudGVzdC5sdWEKPj5AQCAtMCwwICsxLDY1IEBACj4+K2xvY2FsIHRhcCA9IHJlcXVp cmUoJ3RhcCcpCj4+Ky0tIFRlc3QgZmlsZSB0byBkZW1vbnN0cmF0ZSBMdWFKSVQgbWlzYmVoYXZp b3VyIGluIHVzZS1kZWYKPj4rLS0gc25hcHNob3QgYW5hbHlzaXMgZm9yIEJDX1ZBUkcuCj4+Ky0t IFNlZSBhbHNvICBodHRwczovL2dpdGh1Yi5jb20vTHVhSklUL0x1YUpJVC9pc3N1ZXMvNzA0IC4K Pj4rbG9jYWwgdGVzdCA9IHRhcC50ZXN0KCdsai03MDQtYmMtdmFyZy11c2UtZGVmJyk6c2tpcGNv bmQoewo+PisgWydUZXN0IHJlcXVpcmVzIEpJVCBlbmFibGVkJ10gPSBub3Qgaml0LnN0YXR1cygp LAo+Pit9KQo+PisKPj4rdGVzdDpwbGFuKDEpCj4+Kwo+PistLSBYWFg6IHdlIGRvbid0IHJlYWxs eSBuZWVkIHRvIHN0b3JlIHRoaXMgYnVpbHRpbnMsIGJ1dCB0aGlzIGlzCj5UeXBvOiBzL3RoaXMv dGhlc2UvCj4+Ky0tIHJlZHVjZXMgYGppdGR1bXAoKWAgb3V0cHV0IGZvciByZWFkZXIgc2lnbmlm aWNhbnRseS4KPj4rbG9jYWwgZm1vZCA9IG1hdGguZm1vZAo+Pitsb2NhbCBwY2FsbCA9IHBjYWxs Cj4+Kwo+PistLSBVc2UgdGhlIDIgdmFsdWVzIGZvciBgZm1vZCgpYCB0byBwcm9kdWNlIG5vbi16 ZXJvIHZhbHVlIGZvcgo+PistLSB0aGUgY2FsbCBvbiB0cmFjZSAodGhlIGxhc3Qgb25lIGNhbGwp Lgo+Pitsb2NhbCBBUkdfT05fUkVDT1JESU5HID0gNgo+Pitsb2NhbCBPTl9UUkFDRV9WQUxVRSA9 IEFSR19PTl9SRUNPUkRJTkcgKyAxCj5XaHkgYXJlIHRoZXkgZXhhY3RseSA2IGFuZCA3PyBQbGVh c2UgZHJvcCBhIGNvbW1lbnQuCj4+Kwo+PistLSBUaGUgYGppdGR1bXAoKWAgb3V0cHV0IHdhcyBs aWtlIHRoZSBmb2xsb3dpbmcgYmVmb3JlIHRoZSBwYXRjaDoKPj4rLS0gMDAwMyA+IG51bSBTTE9B RCAjMSBUCj4+Ky0tIC4uLi4gU05BUCAjMSBbYHdyYXAoKWB8LS0tLSBwY2FsbHxgdmFyZygpYHwt LS0tXQo+PistLSAwMDA0IH0gdGFiIFRORVcgIzMgIzAKPj4rLS0gMDAwNSA+IG51bSBTTE9BRCAj NCBUCj4+Ky0tIDAwMDYgcDMyIEZMT0FEIDAwMDQgdGFiLmFycmF5Cj4+Ky0tIDAwMDcgcDMyIEFS RUYgMDAwNiArMQo+PistLSAwMDA4IH0gbnVtIEFTVE9SRSAwMDA3IDAwMDUKPj4rLS0gLi4uLiBT TkFQICMyIFtgd3JhcCgpYHwtLS0tIHBjYWxsfG1hdGguZm1vZHwrNiAwMDA1XQo+PistLQo+Pist LSBUaGUgZmlyc3Qgc25hcHNob3QgbWlzc2VzIHRoZSAwMDAzIElSIGluIHRoZSBsYXN0IHNsb3Qg dG8gYmUKPj4rLS0gdXNlZCBpbiB0aGUgYGZtb2QoKWAgbGF0ZXIsIHNvIGl0IGxlYWRzIHRvIHRo ZSBhZGRpdGlvbmFsCj4+Ky0tIDAwMDUgU0xPQUQgIzQsIGFuZCBzdG9yaW5nIGl0IGluIHRoZSBz ZWNvbmQgc25hcHNob3QuCj4+Ky0tCj4+Ky0tIFRoZSBjb3JyZWN0IHNuYXBzaG90IGNvbnRlbnQg YWZ0ZXIgdGhlIHBhdGNoIGlzIHRoZSBmb2xsb3dpbmc6Cj4+Ky0tIC4uLi4gU05BUCAjMSBbYHdy YXAoKWB8LS0tLSBwY2FsbHxgdmFyZygpYHwwMDAzXQo+PistLSAuLi4uCj4+Ky0tIC4uLi4gU05B UCAjMiBbYHdyYXAoKWB8LS0tLSBwY2FsbHxtYXRoLmZtb2R8KzYgMDAwM10KPj4rbG9jYWwgZnVu Y3Rpb24gdmFyZyguLi4pCj4+KyAtLSBHZW5lcmF0ZSBzbmFwc2hvdCBhZnRlciBgcGNhbGwoKWAg d2l0aCBtaXNzaW5nIHNsb3QuCj4+KyAtLSBUaGUgc25hcHNob3QgaXMgZ2VuZXJhdGVkIGJlZm9y ZSBlYWNoIFRORVcgYWZ0ZXIgdGhlIGNvbW1pdAo+PisgLS0gNzUwNWU3OGJkNmMyNGNhYzZlOTNm NTE2MzY3NTAyMTczNDgwMWI2NSAoIkhhbmRsZSBvbi10cmFjZQo+PisgLS0gT09NIGVycm9ycyBm cm9tIGhlbHBlciBmdW5jdGlvbnMuIikKPj4rIGxvY2FsIHNsb3QgPSAoey4uLn0pWzFdCj4+KyAt LSBGb3JjaWZ5IHN0aXRjaCBhbmQgdXNhZ2Ugb2YgdmFyYXJnIHNsb3QuCj4+KyByZXR1cm4gZm1v ZChBUkdfT05fUkVDT1JESU5HLCBzbG90KQo+QXJlIHRoZXJlIGFueSByZWFzb25zIGJlaGluZCB0 aGUgYGZtb2RgIGNob2ljZT8gSWYgc28sIHBsZWFzZSBkcm9wIGEgY29tbWVudC4KPj4rZW5kCj4+ Kwo+PitqaXQub3B0LnN0YXJ0KCdob3Rsb29wPTEnKQo+PisKPj4rbG9jYWwgXywgcmVzdWx0Cj4+ K2xvY2FsIGZ1bmN0aW9uIHdyYXAoYXJnKQo+PisgLS0gYHBjYWxsKClgIGlzIG5lZWRlZCB0byBl bWl0IHNuYXBzaG90IHRvIGhhbmRsZSBvbi10cmFjZQo+PisgLS0gZXJyb3JzLgo+TWF5YmUgaXQg aXMgd29ydGggbWVudGlvbmluZ8KgTWlrZeKAmXMgb3JpZ2luYWwgY29tbWVudFsxXSBoZXJlLgo+ RmVlbCBmcmVlIHRvIGlnbm9yZS4KPj4rIF8sIHJlc3VsdCA9IHBjYWxsKHZhcmcsIGFyZykKPj4r ZW5kCj4+Ky0tIFJlY29yZCB0cmFjZSB3aXRoIHRoZSAwIHJlc3VsdC4KPj4rd3JhcChBUkdfT05f UkVDT1JESU5HKQo+Pit3cmFwKEFSR19PTl9SRUNPUkRJTkcpCj4+Ky0tIFJlY29yZCB0cmFjZSB3 aXRoIHRoZSBub24temVybyByZXN1bHQuCj4+K3dyYXAoT05fVFJBQ0VfVkFMVUUpCj4+Kwo+Pit0 ZXN0Om9rKHJlc3VsdCB+PSAwLCAndXNlLWRlZiBhbmFseXNpcyBmb3IgQkNfVkFSRycpCj4+Kwo+ Pitvcy5leGl0KHRlc3Q6Y2hlY2soKSBhbmQgMCBvciAxKQo+Pi0tCj4+Mi4zNC4xCj5bMV06wqAg aHR0cHM6Ly9naXRodWIuY29tL0x1YUpJVC9MdWFKSVQvaXNzdWVzLzcwNAo+LS0KPkJlc3QgcmVn YXJkcywKPk1heGltIEtva3J5YXNoa2lu ----ALT--f8Cd1490404152127d071dCc3E44f2861686753984 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIFNlcmdleSE8L2Rpdj48ZGl2PlRoYW5rcyBmb3IgdGhlIHBh dGNoITwvZGl2PjxkaXY+UGxlYXNlIGNvbnNpZGVyIG15IGNvbW1lbnRzIGJlbG93LjwvZGl2Pjxk aXY+Jm5ic3A7PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAj MDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj4mbmJzcDs8Ymxv Y2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4 OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBq cy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHlsZV8xNjg2MzAzNDI3MDIxOTAxMjQzM19C T0RZIj5Gcm9tOiBNaWtlIFBhbGwgJmx0O21pa2UmZ3Q7PGJyPjxicj5SZXBvcnRlZCBieSBSeWFu IEx1Y2lhLjxicj48YnI+KGNoZXJyeS1waWNrZWQgZnJvbSBjb21taXQgMjgwMTUwMGEyNjA4NDQ5 MWFlMDM1MTcwY2FkNDcwMDUxMzc5MDg5MCk8YnI+PGJyPlVzZS1kZWYgYW5hbGl6aXMgZm9yIEJD X1ZBUkcgaGFzIHRvIHN0cm9uZyBsaW1pdCBmb3IgdGhlIHRvcC9tYXhzbG90LCBzbzwvZGl2Pjwv ZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PlR5cG86IHMvYW5hbGl6aXMvYW5hbHlz aXMvPC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2 OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1o ZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj5ubyBzbG90cyBtYXkgY29uc2lkZXJlZCBh cyB1c2VkLiBUaGlzIGxlYWRzIHRvIGFkZGl0aXRpb25hbCBTTE9BRCBvbjwvZGl2PjwvZGl2Pjwv ZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PlR5cG86IHMvbWF5L21heSBiZS88L2Rpdj48ZGl2 PlR5cG86IHMvdG8gYWRkaXRpb25hbC90byBhbiBhZGRpdGlvbmFsLzwvZGl2PjxibG9ja3F1b3Rl IHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRp bmc6MCAwIDAgMTBweDsiPjxkaXY+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNn Ij48ZGl2PjxkaXY+dHJhY2Ugd2l0aCBpbmNvcnJlY3QgdmFsdWUgdXNlZCBsYXRlci4gVGhpcyBw YXRjaCBkaXNhYmxlcyB0aGUgdXNlLWRlZjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2tx dW90ZT48ZGl2PlR5cG86IHMvdHJhY2UmbmJzcDt3aXRoL3RoZSB0cmFjZSZuYnNwO3dpdGggYW4v PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2OyBt YXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJqcy1oZWxw ZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj5hbmFsaXNpcyBmb3IgQkNfVkFSRyBhcyBOSVku PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+VHlwbzogcy9hbmFsaXNp cy9hbmFseXNpcy88L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlk ICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xh c3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2Pjxicj5TZXJnZXkgS2FwbHVu Ojxicj4qIGFkZGVkIHRoZSBkZXNjcmlwdGlvbiBhbmQgdGhlIHRlc3QgZm9yIHRoZSBwcm9ibGVt PGJyPjxicj5QYXJ0IG9mIHRhcmFudG9vbC90YXJhbnRvb2wjODUxNjxicj5SZWxhdGVzIHRvIHRh cmFudG9vbC90YXJhbnRvb2wjODcxODxicj4tLS08YnI+Jm5ic3A7c3JjL2xqX3NuYXAuYyB8IDQg Ky08YnI+Jm5ic3A7Li4uL2xqLTcwNC1iYy12YXJnLXVzZS1kZWYudGVzdC5sdWEgfCA2NSArKysr KysrKysrKysrKysrKysrPGJyPiZuYnNwOzIgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKTxicj4mbmJzcDtjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC90YXJhbnRv b2wtdGVzdHMvbGotNzA0LWJjLXZhcmctdXNlLWRlZi50ZXN0Lmx1YTxicj48YnI+ZGlmZiAtLWdp dCBhL3NyYy9sal9zbmFwLmMgYi9zcmMvbGpfc25hcC5jPGJyPmluZGV4IGE4YjQ5ZmNiLi41YmJl ODQ5OCAxMDA2NDQ8YnI+LS0tIGEvc3JjL2xqX3NuYXAuYzxicj4rKysgYi9zcmMvbGpfc25hcC5j PGJyPkBAIC0yNjcsNyArMjY3LDcgQEAgc3RhdGljIEJDUmVnIHNuYXBfdXNlZGVmKGppdF9TdGF0 ZSAqSiwgdWludDhfdCAqdWRmLDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtpZiAoIShvcCA9PSBCQ19JU1RDIHx8IG9wID09IEJDX0lTRkMpKSBERUZf U0xPVChiY19hKGlucykpOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDticmVhazs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y2FzZSBC Q01iYXNlOjxicj4tIGlmIChvcCAmZ3Q7PSBCQ19DQUxMTSAmYW1wOyZhbXA7IG9wICZsdDs9IEJD X1ZBUkcpIHs8YnI+KyBpZiAob3AgJmd0Oz0gQkNfQ0FMTE0gJmFtcDsmYW1wOyBvcCAmbHQ7PSBC Q19JVEVSTikgezxicj4mbmJzcDsgQkNSZWcgdG9wID0gKG9wID09IEJDX0NBTExNIHx8IG9wID09 IEJDX0NBTExNVCB8fCBiY19jKGlucykgPT0gMCkgPzxicj4mbmJzcDsgbWF4c2xvdCA6IChiY19h KGlucykgKyBiY19jKGlucykrTEpfRlIyKTs8YnI+Jm5ic3A7IGlmIChMSl9GUjIpIERFRl9TTE9U KGJjX2EoaW5zKSsxKTs8YnI+QEAgLTI3OCw2ICsyNzgsOCBAQCBzdGF0aWMgQkNSZWcgc25hcF91 c2VkZWYoaml0X1N0YXRlICpKLCB1aW50OF90ICp1ZGYsPGJyPiZuYnNwOyBmb3IgKHMgPSAwOyBz ICZsdDsgYmNfYShpbnMpOyBzKyspIERFRl9TTE9UKHMpOzxicj4mbmJzcDsgcmV0dXJuIDA7PGJy PiZuYnNwOyB9PGJyPisgfSBlbHNlIGlmIChvcCA9PSBCQ19WQVJHKSB7PGJyPisgcmV0dXJuIG1h eHNsb3Q7IC8qIE5ZSTogcHVudC4gKi88YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7fSBlbHNlIGlmIChvcCA9PSBCQ19LTklMKSB7PGJyPiZuYnNwOyBmb3IgKHMg PSBiY19hKGlucyk7IHMgJmx0Oz0gYmNfZChpbnMpOyBzKyspIERFRl9TTE9UKHMpOzxicj4mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9IGVsc2UgaWYgKG9wID09IEJD X1RTRVRNKSB7PGJyPmRpZmYgLS1naXQgYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai03MDQtYmMt dmFyZy11c2UtZGVmLnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNzA0LWJjLXZh cmctdXNlLWRlZi50ZXN0Lmx1YTxicj5uZXcgZmlsZSBtb2RlIDEwMDY0NDxicj5pbmRleCAwMDAw MDAwMC4uYzNiYTY1ZGQ8YnI+LS0tIC9kZXYvbnVsbDxicj4rKysgYi90ZXN0L3RhcmFudG9vbC10 ZXN0cy9sai03MDQtYmMtdmFyZy11c2UtZGVmLnRlc3QubHVhPGJyPkBAIC0wLDAgKzEsNjUgQEA8 YnI+K2xvY2FsIHRhcCA9IHJlcXVpcmUoJ3RhcCcpPGJyPistLSBUZXN0IGZpbGUgdG8gZGVtb25z dHJhdGUgTHVhSklUIG1pc2JlaGF2aW91ciBpbiB1c2UtZGVmPGJyPistLSBzbmFwc2hvdCBhbmFs eXNpcyBmb3IgQkNfVkFSRy48YnI+Ky0tIFNlZSBhbHNvIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi LmNvbS9MdWFKSVQvTHVhSklUL2lzc3Vlcy83MDQiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dp dGh1Yi5jb20vTHVhSklUL0x1YUpJVC9pc3N1ZXMvNzA0PC9hPi48YnI+K2xvY2FsIHRlc3QgPSB0 YXAudGVzdCgnbGotNzA0LWJjLXZhcmctdXNlLWRlZicpOnNraXBjb25kKHs8YnI+KyBbJ1Rlc3Qg cmVxdWlyZXMgSklUIGVuYWJsZWQnXSA9IG5vdCBqaXQuc3RhdHVzKCksPGJyPit9KTxicj4rPGJy Pit0ZXN0OnBsYW4oMSk8YnI+Kzxicj4rLS0gWFhYOiB3ZSBkb24ndCByZWFsbHkgbmVlZCB0byBz dG9yZSB0aGlzIGJ1aWx0aW5zLCBidXQgdGhpcyBpczwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjwv YmxvY2txdW90ZT48ZGl2PlR5cG86IHMvdGhpcy90aGVzZS88L2Rpdj48YmxvY2txdW90ZSBzdHls ZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAg MCAwIDEwcHg7Ij48ZGl2PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRp dj48ZGl2PistLSByZWR1Y2VzIGBqaXRkdW1wKClgIG91dHB1dCBmb3IgcmVhZGVyIHNpZ25pZmlj YW50bHkuPGJyPitsb2NhbCBmbW9kID0gbWF0aC5mbW9kPGJyPitsb2NhbCBwY2FsbCA9IHBjYWxs PGJyPis8YnI+Ky0tIFVzZSB0aGUgMiB2YWx1ZXMgZm9yIGBmbW9kKClgIHRvIHByb2R1Y2Ugbm9u LXplcm8gdmFsdWUgZm9yPGJyPistLSB0aGUgY2FsbCBvbiB0cmFjZSAodGhlIGxhc3Qgb25lIGNh bGwpLjxicj4rbG9jYWwgQVJHX09OX1JFQ09SRElORyA9IDY8YnI+K2xvY2FsIE9OX1RSQUNFX1ZB TFVFID0gQVJHX09OX1JFQ09SRElORyArIDE8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2Nr cXVvdGU+PGRpdj5XaHkgYXJlIHRoZXkgZXhhY3RseSA2IGFuZCA3PyBQbGVhc2UgZHJvcCBhIGNv bW1lbnQuPC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1 N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRpdj48ZGl2IGNsYXNzPSJq cy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj4rPGJyPistLSBUaGUgYGppdGR1bXAo KWAgb3V0cHV0IHdhcyBsaWtlIHRoZSBmb2xsb3dpbmcgYmVmb3JlIHRoZSBwYXRjaDo8YnI+Ky0t IDAwMDMgJmd0OyBudW0gU0xPQUQgIzEgVDxicj4rLS0gLi4uLiBTTkFQICMxIFtgd3JhcCgpYHwt LS0tIHBjYWxsfGB2YXJnKClgfC0tLS1dPGJyPistLSAwMDA0IH0gdGFiIFRORVcgIzMgIzA8YnI+ Ky0tIDAwMDUgJmd0OyBudW0gU0xPQUQgIzQgVDxicj4rLS0gMDAwNiBwMzIgRkxPQUQgMDAwNCB0 YWIuYXJyYXk8YnI+Ky0tIDAwMDcgcDMyIEFSRUYgMDAwNiArMTxicj4rLS0gMDAwOCB9IG51bSBB U1RPUkUgMDAwNyAwMDA1PGJyPistLSAuLi4uIFNOQVAgIzIgW2B3cmFwKClgfC0tLS0gcGNhbGx8 bWF0aC5mbW9kfCs2IDAwMDVdPGJyPistLTxicj4rLS0gVGhlIGZpcnN0IHNuYXBzaG90IG1pc3Nl cyB0aGUgMDAwMyBJUiBpbiB0aGUgbGFzdCBzbG90IHRvIGJlPGJyPistLSB1c2VkIGluIHRoZSBg Zm1vZCgpYCBsYXRlciwgc28gaXQgbGVhZHMgdG8gdGhlIGFkZGl0aW9uYWw8YnI+Ky0tIDAwMDUg U0xPQUQgIzQsIGFuZCBzdG9yaW5nIGl0IGluIHRoZSBzZWNvbmQgc25hcHNob3QuPGJyPistLTxi cj4rLS0gVGhlIGNvcnJlY3Qgc25hcHNob3QgY29udGVudCBhZnRlciB0aGUgcGF0Y2ggaXMgdGhl IGZvbGxvd2luZzo8YnI+Ky0tIC4uLi4gU05BUCAjMSBbYHdyYXAoKWB8LS0tLSBwY2FsbHxgdmFy ZygpYHwwMDAzXTxicj4rLS0gLi4uLjxicj4rLS0gLi4uLiBTTkFQICMyIFtgd3JhcCgpYHwtLS0t IHBjYWxsfG1hdGguZm1vZHwrNiAwMDAzXTxicj4rbG9jYWwgZnVuY3Rpb24gdmFyZyguLi4pPGJy PisgLS0gR2VuZXJhdGUgc25hcHNob3QgYWZ0ZXIgYHBjYWxsKClgIHdpdGggbWlzc2luZyBzbG90 Ljxicj4rIC0tIFRoZSBzbmFwc2hvdCBpcyBnZW5lcmF0ZWQgYmVmb3JlIGVhY2ggVE5FVyBhZnRl ciB0aGUgY29tbWl0PGJyPisgLS0gNzUwNWU3OGJkNmMyNGNhYzZlOTNmNTE2MzY3NTAyMTczNDgw MWI2NSAoIkhhbmRsZSBvbi10cmFjZTxicj4rIC0tIE9PTSBlcnJvcnMgZnJvbSBoZWxwZXIgZnVu Y3Rpb25zLiIpPGJyPisgbG9jYWwgc2xvdCA9ICh7Li4ufSlbMV08YnI+KyAtLSBGb3JjaWZ5IHN0 aXRjaCBhbmQgdXNhZ2Ugb2YgdmFyYXJnIHNsb3QuPGJyPisgcmV0dXJuIGZtb2QoQVJHX09OX1JF Q09SRElORywgc2xvdCk8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj5B cmUgdGhlcmUgYW55IHJlYXNvbnMgYmVoaW5kIHRoZSBgZm1vZGAgY2hvaWNlPyBJZiBzbywgcGxl YXNlIGRyb3AgYSBjb21tZW50LjwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDox cHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXY+ PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXY+K2VuZDxicj4r PGJyPitqaXQub3B0LnN0YXJ0KCdob3Rsb29wPTEnKTxicj4rPGJyPitsb2NhbCBfLCByZXN1bHQ8 YnI+K2xvY2FsIGZ1bmN0aW9uIHdyYXAoYXJnKTxicj4rIC0tIGBwY2FsbCgpYCBpcyBuZWVkZWQg dG8gZW1pdCBzbmFwc2hvdCB0byBoYW5kbGUgb24tdHJhY2U8YnI+KyAtLSBlcnJvcnMuPC9kaXY+ PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+TWF5YmUgaXQgaXMgd29ydGggbWVu dGlvbmluZyZuYnNwO01pa2XigJlzIG9yaWdpbmFsIGNvbW1lbnRbMV0gaGVyZS48L2Rpdj48ZGl2 PkZlZWwgZnJlZSB0byBpZ25vcmUuPC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0 OjFweCBzb2xpZCAjMDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+PGRp dj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdj4rIF8sIHJl c3VsdCA9IHBjYWxsKHZhcmcsIGFyZyk8YnI+K2VuZDxicj4rLS0gUmVjb3JkIHRyYWNlIHdpdGgg dGhlIDAgcmVzdWx0Ljxicj4rd3JhcChBUkdfT05fUkVDT1JESU5HKTxicj4rd3JhcChBUkdfT05f UkVDT1JESU5HKTxicj4rLS0gUmVjb3JkIHRyYWNlIHdpdGggdGhlIG5vbi16ZXJvIHJlc3VsdC48 YnI+K3dyYXAoT05fVFJBQ0VfVkFMVUUpPGJyPis8YnI+K3Rlc3Q6b2socmVzdWx0IH49IDAsICd1 c2UtZGVmIGFuYWx5c2lzIGZvciBCQ19WQVJHJyk8YnI+Kzxicj4rb3MuZXhpdCh0ZXN0OmNoZWNr KCkgYW5kIDAgb3IgMSk8YnI+LS08YnI+Mi4zNC4xPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9i bG9ja3F1b3RlPjxkaXY+WzFdOiZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9MdWFK SVQvTHVhSklUL2lzc3Vlcy83MDQiPmh0dHBzOi8vZ2l0aHViLmNvbS9MdWFKSVQvTHVhSklUL2lz c3Vlcy83MDQ8L2E+PC9kaXY+PGRpdj48ZGl2Pi0tPGJyPkJlc3QgcmVnYXJkcyw8L2Rpdj48ZGl2 Pk1heGltIEtva3J5YXNoa2luPC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjwvQk9EWT48 L0hUTUw+Cg== ----ALT--f8Cd1490404152127d071dCc3E44f2861686753984--