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 CA5D19BBCFD; Mon, 29 Jan 2024 14:52:05 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org CA5D19BBCFD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1706529125; bh=NxeyWo3ifY+qvJAn8fCfg9Q6VfnTR0cYorxFpSnQgrU=; 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=QJCaEGLTlQpS2XMOpdoPx6naQZSVX1gCkh5eFhqqZVNlHynuzdWXtCc3O6Ho8c614 BICCIZSxhHwDNIkWLDRAAOFTDuA2MdR6bxT48mcfxDpOE6jytR58i2J5I2p/UH58bq bddSUGy6K7zwJkLHmESsYMC2qx4Hf2T/Bf/Z94tk= Received: from f508.i.mail.ru (f508.i.mail.ru [45.84.129.24]) (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 D6CB79BBCFF for ; Mon, 29 Jan 2024 14:52:04 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org D6CB79BBCFF Received: by f508.i.mail.ru with local (envelope-from ) id 1rUQBH-0007wM-B0; Mon, 29 Jan 2024 14:52:04 +0300 Received: by e.mail.ru with HTTP; Mon, 29 Jan 2024 14:52:03 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 17059216811420956643 X-SenderField-Remind: 0 Date: Mon, 29 Jan 2024 14:52:03 +0300 Message-ID: <1706529123.376110695@f487.i.mail.ru> X-Priority: 3 (Normal) Content-Type: multipart/alternative; boundary="--ALT--d8Da1F538d8658eCf602b3526C6802071706529123" In-Reply-To: <20240122110344.5401-1-skaplun@tarantool.org> References: <20240122110344.5401-1-skaplun@tarantool.org> X-Mailru-Src: fe X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251CA40DED96227C671C4D10D3DC9C7C253E1FC29870EBF3779D8FD872164937FA4CBA6F25AE84F0A1D7ED5EADDD5653ECEA667ADF5B4AF13141714113A1BE363A29 X-7FA49CB5: 70AAF3C13DB70168C09775C1D3CA48CF28CE1C30F3CE2F2AB2086D80B0504778CF19DD082D7633A0ACBFF42033827DA764CD17681C2FEB7A23F8577A6DFFEA7CA45182F26C2E856FC4224003CC836476ABE134FDCE4E2725BFD28B28ED4578739E625A9149C048EEB1593CA6EC85F86D6CEA61CADDE926D9B287FD4696A6DC2FA8DF7F3B2552694A4E2F5AFA99E116B42401471946AA11AF176DF2183F8FC7C027865B382FF314938F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB55337566743E074EEF98C241C2276FEB79C15E5B27E7098C1B1EFAB1A471835C12D1D9774AD6D5ED66289B5278DA827A17800CE767883B903EA3BAEA9FA2833FD35BB23D2EF20D2F80756B5F868A13BD56FB6657A471835C12D1D977725E5C173C3A84C3E478A468B35FE767117882F4460429728AD0CFFFB425014E868A13BD56FB6657E2021AF6380DFAD1A18204E546F3947C1D471462564A2E192E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89FB26E97DCB74E6252CE5475246E174218B5C8C57E37DE458BEDA766A37F9254B7 X-C1DE0DAB: 0D63561A33F958A58DC3609E14D27D61C5A62D8603A851CB7A48025D96AA8AC5F87CCE6106E1FC07E67D4AC08A07B9B00A9EC8C3488E7643CB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0ADE2815F1F17DA7190F22D334B9B612B432CCB5A6D6581D03D0776B5B2C279835F17BCBE6708A5A68D02015372BE9702A273FD1B8ECC00337EA83767861A005ABA8005E5ED217C0F03AE99BFDC744AE8704AAC3B234CC459751B56794A24E1788A4758C7D6FF783CCCB5CA0CE157D69DBE6536EB022892E5344C41F94D744909CED78ACA237E033A03E5771FB83DCB4455B2E44A6A118E769B33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhgWXlGVeuXsNyxZSqtAqNMA== X-Mailru-MI: 10000000000400800 X-Mailru-Sender: 7940E2A4EB16C9970E7603824FE97C20F51A17243DDA8ABCF70B4E12FBD388000D89091890E9F4ED4B4B6F8031CBA671E36A7BE05E38EE125EA65D4B9F24FE89AED07E233588217F88A45457F3DBDCCF3E0AECDEB884C0370F27244EEAA5B9A50D4ABDE8C577C2ED X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit=5D_Simplify_handli?= =?utf-8?q?ng_of_instable_types_in_TNEW/TDUP_load_forwarding=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--d8Da1F538d8658eCf602b3526C6802071706529123 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCBTZXJnZXkhClRoYW5rcyBmb3IgdGhlIHBhdGNoIQpMR1RNCi0tCkJlc3QgcmVnYXJkcywK TWF4aW0gS29rcnlhc2hraW4KwqAKwqAgCj7Qn9C+0L3QtdC00LXQu9GM0L3QuNC6LCAyMiDRj9C9 0LLQsNGA0Y8gMjAyNCwgMTQ6MDggKzAzOjAwINC+0YIgU2VyZ2V5IEthcGx1biA8c2thcGx1bkB0 YXJhbnRvb2wub3JnPjoKPsKgCj5Gcm9tOiBNaWtlIFBhbGwgPG1pa2U+Cj4KPlRoYW5rcyB0byBQ ZXRlciBDYXdsZXkuCj4KPihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGM0MmM2MmU3MWE0NWE2 NzdiOGIxY2JmNzQ5YmQzM2NmNGQ1OTE4ZmYpCj4KPlRoaXMgcGF0Y2ggaXMgYSBmb2xsb3ctdXAg Zm9yIHRoZSBjb21taXQKPmI4OTE4NmNiMDNlNzkzNTk4NDdjZGJlYjAwMGE4MzBjYzQ2NGRiMzUg KCJGaXggaGFuZGxpbmcgb2YgaW5zdGFibGUKPnR5cGVzIGluIFRORVcvVERVUCBsb2FkIGZvcndh cmRpbmcuIikuIFRoZSBwcm9ibGVtIHN0aWxsIG9jY3VycyB3aGVuCj5URFVQIGxvYWQgZm9yd2Fy ZGluZyBpcyBwZXJmb3JtZWQgZm9yIHRoZSBib29sZWFuIHZhbHVlLiBUaGUKPmBmd2RfYWhsb2Fk KClgIGFsd2F5cyB0YWtlcyB0aGUgdHlwZSBvZiBJUiB3aXRob3V0IGNoZWNraW5nIHRoZSB0eXBl IG9mCj50aGUgVFZhbHVlIGZvciB0aGlzIGl0ZXJhdGlvbi4KPgo+VGhpcyBwYXRjaCBzb2x2ZXMg dGhlIGlzc3VlIGJ5IHJldHVybmluZyB0aGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgVFZhbHVlCj5m cm9tIHRoZSBjb25zdGFudCB0YWJsZSAob3IgYG5pbGAgZm9yIFRORVcgSVIpIGluc3RlYWQuIElu IHRoZSBjYXNlIG9mCj50eXBlIGluc3RhYmlsaXR5LCB0aGUgZXJyb3IgaW4gYGxvb3BfdW5yb2xs KClgIHdpbGwgYmUgcmFpc2VkLCBhbmQgdGhlCj5sb29wIHdpbGwgYmUgdW5yb2xsZWQgZm9yIG9u ZSBtb3JlIGl0ZXJhdGlvbiB0byBwcmV2ZW50IGluY29uc2lzdGVuY2llcy4KPgo+U2VyZ2V5IEth cGx1bjoKPiogYWRkZWQgdGhlIGRlc2NyaXB0aW9uIGFuZCB0aGUgdGVzdCBmb3IgdGhlIHByb2Js ZW0KPgo+UGFydCBvZiB0YXJhbnRvb2wvdGFyYW50b29sIzk1OTUKPi0tLQo+Cj5CcmFuY2g6ICBo dHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL2x1YWppdC90cmVlL3NrYXBsdW4vbGotOTk0LWlu c3RhYmxlLXByaS10eXBlcwo+VGFyYW50b29sIFBSOiAgaHR0cHM6Ly9naXRodWIuY29tL3RhcmFu dG9vbC90YXJhbnRvb2wvcHVsbC85NjA4Cj5SZWxhdGVkIGlzc3VlczoKPiogIGh0dHBzOi8vZ2l0 aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL2lzc3Vlcy85NTk1Cj4qICBodHRwczovL2dpdGh1 Yi5jb20vTHVhSklUL0x1YUpJVC9pc3N1ZXMvOTk0Cj4KPsKgc3JjL2xqX29wdF9tZW0uYyB8IDIw ICsrKysrKysrKy0tLS0tLS0tLS0KPsKgLi4uaW5zdGFibGUtdHlwZXMtZHVyaW5nLWxvb3AtdW5y b2xsLnRlc3QubHVhIHwgMTUgKysrKysrKysrKysrKy0KPsKgMiBmaWxlcyBjaGFuZ2VkLCAyMyBp bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPgo+ZGlmZiAtLWdpdCBhL3NyYy9sal9vcHRf bWVtLmMgYi9zcmMvbGpfb3B0X21lbS5jCj5pbmRleCAyNGE0OTBkNS4uOTA0NGYwOWEgMTAwNjQ0 Cj4tLS0gYS9zcmMvbGpfb3B0X21lbS5jCj4rKysgYi9zcmMvbGpfb3B0X21lbS5jCj5AQCAtMjE3 LDI1ICsyMTcsMjMgQEAgc3RhdGljIFRSZWYgZndkX2FobG9hZChqaXRfU3RhdGUgKkosIElSUmVm IHhyZWYpCj7CoCB9Cj7CoCByZWYgPSBzdG9yZS0+cHJldjsKPsKgwqDCoMKgwqDCoMKgfQo+LSBp ZiAoaXItPm8gPT0gSVJfVE5FVyAmJiAhaXJ0X2lzbmlsKGZpbnMtPnQpKQo+LSByZXR1cm4gMDsg LyogVHlwZSBpbnN0YWJpbGl0eSBpbiBsb29wLWNhcnJpZWQgZGVwZW5kZW5jeS4gKi8KPi0gaWYg KGlydF9pc3ByaShmaW5zLT50KSkgewo+LSByZXR1cm4gVFJFRl9QUkkoaXJ0X3R5cGUoZmlucy0+ dCkpOwo+LSB9IGVsc2UgaWYgKGlydF9pc251bShmaW5zLT50KSB8fCAoTEpfRFVBTE5VTSAmJiBp cnRfaXNpbnQoZmlucy0+dCkpIHx8Cj4tIGlydF9pc3N0cihmaW5zLT50KSkgewo+KyAvKiBTaW1w bGlmaWVkIGhlcmU6IGxldCBsb29wX3Vucm9sbCgpIGZpZ3VyZSBvdXQgYW55IHR5cGUgaW5zdGFi aWxpdHkuICovCj4rIGlmIChpci0+byA9PSBJUl9UTkVXKSB7Cj4rIHJldHVybiBUUkVGX05JTDsK PisgfSBlbHNlIHsKPsKgIFRWYWx1ZSBrZXl2Owo+wqAgY1RWYWx1ZSAqdHY7Cj7CoCBJUklucyAq a2V5ID0gSVIoeHItPm9wMik7Cj7CoCBpZiAoa2V5LT5vID09IElSX0tTTE9UKSBrZXkgPSBJUihr ZXktPm9wMSk7Cj7CoCBsal9pcl9rdmFsdWUoSi0+TCwgJmtleXYsIGtleSk7Cj7CoCB0diA9IGxq X3RhYl9nZXQoSi0+TCwgaXJfa3RhYihJUihpci0+b3AxKSksICZrZXl2KTsKPi0gaWYgKGl0eXBl MmlydCh0dikgIT0gaXJ0X3R5cGUoZmlucy0+dCkpCj4tIHJldHVybiAwOyAvKiBUeXBlIGluc3Rh YmlsaXR5IGluIGxvb3AtY2FycmllZCBkZXBlbmRlbmN5LiAqLwo+LSBpZiAoaXJ0X2lzbnVtKGZp bnMtPnQpKQo+KyBpZiAodHZpc3ByaSh0dikpCj4rIHJldHVybiBUUkVGX1BSSShpdHlwZTJpcnQo dHYpKTsKPisgZWxzZSBpZiAodHZpc251bSh0dikpCj7CoCByZXR1cm4gbGpfaXJfa251bV91NjQo SiwgdHYtPnU2NCk7Cj4tIGVsc2UgaWYgKExKX0RVQUxOVU0gJiYgaXJ0X2lzaW50KGZpbnMtPnQp KQo+KyBlbHNlIGlmICh0dmlzaW50KHR2KSkKPsKgIHJldHVybiBsal9pcl9raW50KEosIGludFYo dHYpKTsKPi0gZWxzZQo+KyBlbHNlIGlmICh0dmlzZ2N2KHR2KSkKPsKgIHJldHVybiBsal9pcl9r c3RyKEosIHN0clYodHYpKTsKPsKgwqDCoMKgwqDCoMKgfQo+wqDCoMKgwqDCoMKgwqAvKiBPdGh3 ZXJ3aXNlOiBkb24ndCBpbnRlcm4gYXMgYSBjb25zdGFudC4gKi8KPmRpZmYgLS1naXQgYS90ZXN0 L3RhcmFudG9vbC10ZXN0cy9sai05OTQtaW5zdGFibGUtdHlwZXMtZHVyaW5nLWxvb3AtdW5yb2xs LnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTk0LWluc3RhYmxlLXR5cGVzLWR1 cmluZy1sb29wLXVucm9sbC50ZXN0Lmx1YQo+aW5kZXggZjI0MGJkZDIuLmEwY2M4NDg3IDEwMDY0 NAo+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTk0LWluc3RhYmxlLXR5cGVzLWR1cmlu Zy1sb29wLXVucm9sbC50ZXN0Lmx1YQo+KysrIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTk0 LWluc3RhYmxlLXR5cGVzLWR1cmluZy1sb29wLXVucm9sbC50ZXN0Lmx1YQo+QEAgLTEwLDcgKzEw LDcgQEAgbG9jYWwgdGVzdCA9IHRhcC50ZXN0KCdsai05OTQtaW5zdGFibGUtdHlwZXMtZHVyaW5n LWxvb3AtdW5yb2xsJyk6c2tpcGNvbmQoewo+wqAKPsKgLS0gVE9ETzogdGVzdCB0aGF0IGNvbXBp bGVkIHRyYWNlcyBkb24ndCBhbHdheXMgZXhpdCBieSB0aGUgdHlwZQo+wqAtLSBndWFyZC4gU2Vl IGFsc28gdGhlIGNvbW1lbnQgZm9yIHRoZSBURFVQIHRlc3QgY2h1bmsuCj4tdGVzdDpwbGFuKDIp Cj4rdGVzdDpwbGFuKDMpCj7CoAo+wqAtLSBUTkVXLgo+wqBsb2NhbCByZXN1bHQKPkBAIC00Niw0 ICs0NiwxNyBAQCBmb3IgXyA9IDEsIDUgZG8KPsKgZW5kCj7CoHRlc3Q6aXMocmVzdWx0LCB0cnVl LCAnVERVUCBsb2FkIGZvcndhcmRpbmcgd2FzIHN1Y2Nlc3NmdWwnKQo+wqAKPistLSBURFVQLCBw cmltaXRpdmUgdHlwZXMuCj4rZm9yIGkgPSAxLCA1IGRvCj4rIGxvY2FsIHQgPSBzbG90Cj4rIC0t IE5vdyB1c2UgY29uc3RhbnQga2V5IHNsb3QgdG8gZ2V0IG5lY2Vzc2FyeSBicmFuY2guCj4rIC0t IExKX1RSRVJSX0dGQUlMIGlzbid0IHRyaWdnZXJlZCBoZXJlLgo+KyAtLSBTZWUgYGZ3ZF9haGxv YWQoKWAgaW4gPHNyYy9sal9vcHRfbWVtLmM+IGZvciBkZXRhaWxzLgo+KyByZXN1bHQgPSB0WzFd Cj4rIC0tIFRoZSBjb25zdGFudCB0YWJsZXMgc2hvdWxkIGNvbnRhaW4gZGlmZmVyZW50IGJvb2xl YW5zCj4rIC0tIChwcmltaXRpdmUgdHlwZXMpLgo+KyBzbG90ID0gaSAlIDIgfj0gMCBhbmQge2Zh bHNlfSBvciB7dHJ1ZX0KPitlbmQKPit0ZXN0OmlzKHJlc3VsdCwgdHJ1ZSwgJ1REVVAgbG9hZCBm b3J3YXJkaW5nIChwcmltaXRpdmUgdHlwZXMpIHdhcyBzdWNjZXNzZnVsJykKPisKPsKgdGVzdDpk b25lKHRydWUpCj4tLQo+Mi40My4wCsKg ----ALT--d8Da1F538d8658eCf602b3526C6802071706529123 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIFNlcmdleSE8L2Rpdj48ZGl2PlRoYW5rcyBmb3IgdGhlIHBh dGNoITwvZGl2PjxkaXY+TEdUTTwvZGl2PjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250 YWluZXIiPjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij48ZGl2Pi0tPGJyPkJl c3QgcmVnYXJkcyw8L2Rpdj48ZGl2Pk1heGltIEtva3J5YXNoa2luPC9kaXY+PC9kaXY+PC9kaXY+ PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxibG9ja3F1b3RlIHN0eWxlPSJib3Jk ZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBw eDsiPtCf0L7QvdC10LTQtdC70YzQvdC40LosIDIyINGP0L3QstCw0YDRjyAyMDI0LCAxNDowOCAr MDM6MDAg0L7RgiBTZXJnZXkgS2FwbHVuICZsdDtza2FwbHVuQHRhcmFudG9vbC5vcmcmZ3Q7Ojxi cj4mbmJzcDs8ZGl2IGlkPSIiPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+ PGRpdj48ZGl2IGlkPSJzdHlsZV8xNzA1OTIxNjgxMTQyMDk1NjY0M19CT0RZIj5Gcm9tOiBNaWtl IFBhbGwgJmx0O21pa2UmZ3Q7PGJyPjxicj5UaGFua3MgdG8gUGV0ZXIgQ2F3bGV5Ljxicj48YnI+ KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzQyYzYyZTcxYTQ1YTY3N2I4YjFjYmY3NDliZDMz Y2Y0ZDU5MThmZik8YnI+PGJyPlRoaXMgcGF0Y2ggaXMgYSBmb2xsb3ctdXAgZm9yIHRoZSBjb21t aXQ8YnI+Yjg5MTg2Y2IwM2U3OTM1OTg0N2NkYmViMDAwYTgzMGNjNDY0ZGIzNSAoIkZpeCBoYW5k bGluZyBvZiBpbnN0YWJsZTxicj50eXBlcyBpbiBUTkVXL1REVVAgbG9hZCBmb3J3YXJkaW5nLiIp LiBUaGUgcHJvYmxlbSBzdGlsbCBvY2N1cnMgd2hlbjxicj5URFVQIGxvYWQgZm9yd2FyZGluZyBp cyBwZXJmb3JtZWQgZm9yIHRoZSBib29sZWFuIHZhbHVlLiBUaGU8YnI+YGZ3ZF9haGxvYWQoKWAg YWx3YXlzIHRha2VzIHRoZSB0eXBlIG9mIElSIHdpdGhvdXQgY2hlY2tpbmcgdGhlIHR5cGUgb2Y8 YnI+dGhlIFRWYWx1ZSBmb3IgdGhpcyBpdGVyYXRpb24uPGJyPjxicj5UaGlzIHBhdGNoIHNvbHZl cyB0aGUgaXNzdWUgYnkgcmV0dXJuaW5nIHRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSBUVmFsdWU8 YnI+ZnJvbSB0aGUgY29uc3RhbnQgdGFibGUgKG9yIGBuaWxgIGZvciBUTkVXIElSKSBpbnN0ZWFk LiBJbiB0aGUgY2FzZSBvZjxicj50eXBlIGluc3RhYmlsaXR5LCB0aGUgZXJyb3IgaW4gYGxvb3Bf dW5yb2xsKClgIHdpbGwgYmUgcmFpc2VkLCBhbmQgdGhlPGJyPmxvb3Agd2lsbCBiZSB1bnJvbGxl ZCBmb3Igb25lIG1vcmUgaXRlcmF0aW9uIHRvIHByZXZlbnQgaW5jb25zaXN0ZW5jaWVzLjxicj48 YnI+U2VyZ2V5IEthcGx1bjo8YnI+KiBhZGRlZCB0aGUgZGVzY3JpcHRpb24gYW5kIHRoZSB0ZXN0 IGZvciB0aGUgcHJvYmxlbTxicj48YnI+UGFydCBvZiB0YXJhbnRvb2wvdGFyYW50b29sIzk1OTU8 YnI+LS0tPGJyPjxicj5CcmFuY2g6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRv b2wvbHVhaml0L3RyZWUvc2thcGx1bi9sai05OTQtaW5zdGFibGUtcHJpLXR5cGVzIiB0YXJnZXQ9 Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC9sdWFqaXQvdHJlZS9za2FwbHVu L2xqLTk5NC1pbnN0YWJsZS1wcmktdHlwZXM8L2E+PGJyPlRhcmFudG9vbCBQUjogPGEgaHJlZj0i aHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvcHVsbC85NjA4IiB0YXJnZXQ9 Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvcHVsbC85NjA4 PC9hPjxicj5SZWxhdGVkIGlzc3Vlczo8YnI+KiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v dGFyYW50b29sL3RhcmFudG9vbC9pc3N1ZXMvOTU5NSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8v Z2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL2lzc3Vlcy85NTk1PC9hPjxicj4qIDxhIGhy ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9MdWFKSVQvTHVhSklUL2lzc3Vlcy85OTQiIHRhcmdldD0i X2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vTHVhSklUL0x1YUpJVC9pc3N1ZXMvOTk0PC9hPjxi cj48YnI+Jm5ic3A7c3JjL2xqX29wdF9tZW0uYyB8IDIwICsrKysrKysrKy0tLS0tLS0tLS08YnI+ Jm5ic3A7Li4uaW5zdGFibGUtdHlwZXMtZHVyaW5nLWxvb3AtdW5yb2xsLnRlc3QubHVhIHwgMTUg KysrKysrKysrKysrKy08YnI+Jm5ic3A7MiBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCsp LCAxMiBkZWxldGlvbnMoLSk8YnI+PGJyPmRpZmYgLS1naXQgYS9zcmMvbGpfb3B0X21lbS5jIGIv c3JjL2xqX29wdF9tZW0uYzxicj5pbmRleCAyNGE0OTBkNS4uOTA0NGYwOWEgMTAwNjQ0PGJyPi0t LSBhL3NyYy9sal9vcHRfbWVtLmM8YnI+KysrIGIvc3JjL2xqX29wdF9tZW0uYzxicj5AQCAtMjE3 LDI1ICsyMTcsMjMgQEAgc3RhdGljIFRSZWYgZndkX2FobG9hZChqaXRfU3RhdGUgKkosIElSUmVm IHhyZWYpPGJyPiZuYnNwOyB9PGJyPiZuYnNwOyByZWYgPSBzdG9yZS0mZ3Q7cHJldjs8YnI+Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxicj4tIGlmIChpci0mZ3Q7 byA9PSBJUl9UTkVXICZhbXA7JmFtcDsgIWlydF9pc25pbChmaW5zLSZndDt0KSk8YnI+LSByZXR1 cm4gMDsgLyogVHlwZSBpbnN0YWJpbGl0eSBpbiBsb29wLWNhcnJpZWQgZGVwZW5kZW5jeS4gKi88 YnI+LSBpZiAoaXJ0X2lzcHJpKGZpbnMtJmd0O3QpKSB7PGJyPi0gcmV0dXJuIFRSRUZfUFJJKGly dF90eXBlKGZpbnMtJmd0O3QpKTs8YnI+LSB9IGVsc2UgaWYgKGlydF9pc251bShmaW5zLSZndDt0 KSB8fCAoTEpfRFVBTE5VTSAmYW1wOyZhbXA7IGlydF9pc2ludChmaW5zLSZndDt0KSkgfHw8YnI+ LSBpcnRfaXNzdHIoZmlucy0mZ3Q7dCkpIHs8YnI+KyAvKiBTaW1wbGlmaWVkIGhlcmU6IGxldCBs b29wX3Vucm9sbCgpIGZpZ3VyZSBvdXQgYW55IHR5cGUgaW5zdGFiaWxpdHkuICovPGJyPisgaWYg KGlyLSZndDtvID09IElSX1RORVcpIHs8YnI+KyByZXR1cm4gVFJFRl9OSUw7PGJyPisgfSBlbHNl IHs8YnI+Jm5ic3A7IFRWYWx1ZSBrZXl2Ozxicj4mbmJzcDsgY1RWYWx1ZSAqdHY7PGJyPiZuYnNw OyBJUklucyAqa2V5ID0gSVIoeHItJmd0O29wMik7PGJyPiZuYnNwOyBpZiAoa2V5LSZndDtvID09 IElSX0tTTE9UKSBrZXkgPSBJUihrZXktJmd0O29wMSk7PGJyPiZuYnNwOyBsal9pcl9rdmFsdWUo Si0mZ3Q7TCwgJmFtcDtrZXl2LCBrZXkpOzxicj4mbmJzcDsgdHYgPSBsal90YWJfZ2V0KEotJmd0 O0wsIGlyX2t0YWIoSVIoaXItJmd0O29wMSkpLCAmYW1wO2tleXYpOzxicj4tIGlmIChpdHlwZTJp cnQodHYpICE9IGlydF90eXBlKGZpbnMtJmd0O3QpKTxicj4tIHJldHVybiAwOyAvKiBUeXBlIGlu c3RhYmlsaXR5IGluIGxvb3AtY2FycmllZCBkZXBlbmRlbmN5LiAqLzxicj4tIGlmIChpcnRfaXNu dW0oZmlucy0mZ3Q7dCkpPGJyPisgaWYgKHR2aXNwcmkodHYpKTxicj4rIHJldHVybiBUUkVGX1BS SShpdHlwZTJpcnQodHYpKTs8YnI+KyBlbHNlIGlmICh0dmlzbnVtKHR2KSk8YnI+Jm5ic3A7IHJl dHVybiBsal9pcl9rbnVtX3U2NChKLCB0di0mZ3Q7dTY0KTs8YnI+LSBlbHNlIGlmIChMSl9EVUFM TlVNICZhbXA7JmFtcDsgaXJ0X2lzaW50KGZpbnMtJmd0O3QpKTxicj4rIGVsc2UgaWYgKHR2aXNp bnQodHYpKTxicj4mbmJzcDsgcmV0dXJuIGxqX2lyX2tpbnQoSiwgaW50Vih0dikpOzxicj4tIGVs c2U8YnI+KyBlbHNlIGlmICh0dmlzZ2N2KHR2KSk8YnI+Jm5ic3A7IHJldHVybiBsal9pcl9rc3Ry KEosIHN0clYodHYpKTs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7fTxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsvKiBPdGh3 ZXJ3aXNlOiBkb24ndCBpbnRlcm4gYXMgYSBjb25zdGFudC4gKi88YnI+ZGlmZiAtLWdpdCBhL3Rl c3QvdGFyYW50b29sLXRlc3RzL2xqLTk5NC1pbnN0YWJsZS10eXBlcy1kdXJpbmctbG9vcC11bnJv bGwudGVzdC5sdWEgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai05OTQtaW5zdGFibGUtdHlwZXMt ZHVyaW5nLWxvb3AtdW5yb2xsLnRlc3QubHVhPGJyPmluZGV4IGYyNDBiZGQyLi5hMGNjODQ4NyAx MDA2NDQ8YnI+LS0tIGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotOTk0LWluc3RhYmxlLXR5cGVz LWR1cmluZy1sb29wLXVucm9sbC50ZXN0Lmx1YTxicj4rKysgYi90ZXN0L3RhcmFudG9vbC10ZXN0 cy9sai05OTQtaW5zdGFibGUtdHlwZXMtZHVyaW5nLWxvb3AtdW5yb2xsLnRlc3QubHVhPGJyPkBA IC0xMCw3ICsxMCw3IEBAIGxvY2FsIHRlc3QgPSB0YXAudGVzdCgnbGotOTk0LWluc3RhYmxlLXR5 cGVzLWR1cmluZy1sb29wLXVucm9sbCcpOnNraXBjb25kKHs8YnI+Jm5ic3A7PGJyPiZuYnNwOy0t IFRPRE86IHRlc3QgdGhhdCBjb21waWxlZCB0cmFjZXMgZG9uJ3QgYWx3YXlzIGV4aXQgYnkgdGhl IHR5cGU8YnI+Jm5ic3A7LS0gZ3VhcmQuIFNlZSBhbHNvIHRoZSBjb21tZW50IGZvciB0aGUgVERV UCB0ZXN0IGNodW5rLjxicj4tdGVzdDpwbGFuKDIpPGJyPit0ZXN0OnBsYW4oMyk8YnI+Jm5ic3A7 PGJyPiZuYnNwOy0tIFRORVcuPGJyPiZuYnNwO2xvY2FsIHJlc3VsdDxicj5AQCAtNDYsNCArNDYs MTcgQEAgZm9yIF8gPSAxLCA1IGRvPGJyPiZuYnNwO2VuZDxicj4mbmJzcDt0ZXN0OmlzKHJlc3Vs dCwgdHJ1ZSwgJ1REVVAgbG9hZCBmb3J3YXJkaW5nIHdhcyBzdWNjZXNzZnVsJyk8YnI+Jm5ic3A7 PGJyPistLSBURFVQLCBwcmltaXRpdmUgdHlwZXMuPGJyPitmb3IgaSA9IDEsIDUgZG88YnI+KyBs b2NhbCB0ID0gc2xvdDxicj4rIC0tIE5vdyB1c2UgY29uc3RhbnQga2V5IHNsb3QgdG8gZ2V0IG5l Y2Vzc2FyeSBicmFuY2guPGJyPisgLS0gTEpfVFJFUlJfR0ZBSUwgaXNuJ3QgdHJpZ2dlcmVkIGhl cmUuPGJyPisgLS0gU2VlIGBmd2RfYWhsb2FkKClgIGluICZsdDtzcmMvbGpfb3B0X21lbS5jJmd0 OyBmb3IgZGV0YWlscy48YnI+KyByZXN1bHQgPSB0WzFdPGJyPisgLS0gVGhlIGNvbnN0YW50IHRh YmxlcyBzaG91bGQgY29udGFpbiBkaWZmZXJlbnQgYm9vbGVhbnM8YnI+KyAtLSAocHJpbWl0aXZl IHR5cGVzKS48YnI+KyBzbG90ID0gaSAlIDIgfj0gMCBhbmQge2ZhbHNlfSBvciB7dHJ1ZX08YnI+ K2VuZDxicj4rdGVzdDppcyhyZXN1bHQsIHRydWUsICdURFVQIGxvYWQgZm9yd2FyZGluZyAocHJp bWl0aXZlIHR5cGVzKSB3YXMgc3VjY2Vzc2Z1bCcpPGJyPis8YnI+Jm5ic3A7dGVzdDpkb25lKHRy dWUpPGJyPi0tPGJyPjIuNDMuMDwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48 ZGl2PiZuYnNwOzwvZGl2PjwvQk9EWT48L0hUTUw+Cg== ----ALT--d8Da1F538d8658eCf602b3526C6802071706529123--