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 DA5EF4405A1; Fri, 19 May 2023 15:40:36 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org DA5EF4405A1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1684500037; bh=OgxfEZlTIxKuENHf+QNIiqok0+8o1adPGPPmB8Sxlsg=; 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=cXfIHl00fHnv0rldinKIYF51OjmBw5/ErE+Jy/tCluacpD5wpNRoOKtEnrngOWhXM gLVFUMp71gwO6Rn558MuFa2LX8cWet1+dW6eWPiWRKL8anvD3m5Oe7bFs9x5ze4Jk0 dwFYqMd65dQjhRGgn87mrvBGyb7PO2G+7/lhfado= Received: from f752.i.mail.ru (f752.i.mail.ru [45.84.129.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 899B543F59C for ; Fri, 19 May 2023 15:40:35 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 899B543F59C Received: by f752.i.mail.ru with local (envelope-from ) id 1pzzPN-0004RR-FZ; Fri, 19 May 2023 15:40:33 +0300 Received: by e.mail.ru with HTTP; Fri, 19 May 2023 15:40:33 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16844429460710637138 X-SenderField-Remind: 0 Date: Fri, 19 May 2023 15:40:33 +0300 X-Priority: 3 (Normal) Message-ID: <1684500033.287216159@f752.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--79b56344bD3fe6Cf1b88768e527Ec4Ee1684500033" In-Reply-To: <1319c39405834f71893c5cd951b0a525c26354e4.1684442182.git.skaplun@tarantool.org> References: <1319c39405834f71893c5cd951b0a525c26354e4.1684442182.git.skaplun@tarantool.org> X-7564579A: B8F34718100C35BD X-77F55803: 119C1F4DF6A9251C86B22F0DBD26B6BBCFCF5ED9215D73464508AC2E0790CA658FD872164937FA4C28A72FE46EAB7707549C48DE65ED1D85891C2C92F96E178DF50186E93F018445 X-C1DE0DAB: 0D63561A33F958A51048714F68C3B1A454967D8732DA245056F4CD2D02756A75F87CCE6106E1FC07E67D4AC08A07B9B062B3BD3CC35DA588CB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0AD5177F0B940C8B66ECE892A7B2722663E91682638B966EB3F662256BEEFA9527F2B1436ACB0C81D00BF842F9042999E4AC0A3BEBD405ADBAB07667272513C958830110612E2460B4D37FD76D11AF80A0D3E5BA7B479B42EDEB13B0A61320BD389EA455F16B58544A2F7A5749D7A90E508 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDh+dSCpDa/M6ORDrE4UNkW3w== X-Mailru-MI: 800 X-Mailru-Sender: 11C2EC085EDE56FA38FD4C59F7EFE407150CC138512A3670F3BC297FEAC4EED5328D2B2EAA090AF006CD02445D2D9C8FA2BFD6D8330F0C2D563E610FBBDBB4C842051EA7CBBFB509093DA5C00B83CE8412EB40C6FA10D71EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: OK Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v2_luajit_6/6=5D_test=3A_?= =?utf-8?q?rewrite_lj-49-bad-lightuserdata_test_in_C?= 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--79b56344bD3fe6Cf1b88768e527Ec4Ee1684500033 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCBTZXJnZXkhClRoYW5rcyBmb3IgdGhlIHBhdGNoIQpMR1RNCi0tCkJlc3QgcmVnYXJkcywK TWF4aW0gS29rcnlhc2hraW4KwqAKwqAKVGhpcyBwYXRjaCByZXdyaXRlcyB0aGUgYWZvcmVtZW50 aW9uZWQgdGVzdCB3aXRoIHRoZSB1c2FnZSBsaWJ0ZXN0CnJlY2VudGx5IGludHJvZHVjZWQuIFRo ZSBhcHByb2FjaCBpcyBzaW1pbGFyIHRvIHRoZSBwcmV2aW91cyBwYXRjaC4KCk5ldmVydGhlbGVz cywgZ2xpYmMgYGFzc2VydCgpYCBpcyB1c2VkIHRvIGNoZWNrIHRoZSBjb3JyZWN0bmVzcwpvZiB0 aGUgYG1tYXAoKWAgdXNhZ2UuCgpQYXJ0IG9mIHRhcmFudG9vbC90YXJhbnRvb2wjNzkwMAotLS0K wqAuLi4vbGotNDktYmFkLWxpZ2h0dXNlcmRhdGEudGVzdC5jfSB8IDQ3ICsrKysrKysrKystLS0t LS0tLS0KwqB0ZXN0L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxpc3RzLnR4dCB8IDEgLQrCoC4uLi9s ai00OS1iYWQtbGlnaHR1c2VyZGF0YS50ZXN0Lmx1YSB8IDExIC0tLS0tCsKgLi4uL2xqLTQ5LWJh ZC1saWdodHVzZXJkYXRhL0NNYWtlTGlzdHMudHh0IHwgMSAtCsKgNCBmaWxlcyBjaGFuZ2VkLCAy NSBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKwqByZW5hbWUgdGVzdC97dGFyYW50b29s LXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhL3Rlc3RsaWdodHVzZXJkYXRhLmMgPT4gdGFy YW50b29sLWMtdGVzdHMvbGotNDktYmFkLWxpZ2h0dXNlcmRhdGEudGVzdC5jfSAoNTUlKQrCoGRl bGV0ZSBtb2RlIDEwMDY0NCB0ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00OS1iYWQtbGlnaHR1c2Vy ZGF0YS50ZXN0Lmx1YQrCoGRlbGV0ZSBtb2RlIDEwMDY0NCB0ZXN0L3RhcmFudG9vbC10ZXN0cy9s ai00OS1iYWQtbGlnaHR1c2VyZGF0YS9DTWFrZUxpc3RzLnR4dAoKZGlmZiAtLWdpdCBhL3Rlc3Qv dGFyYW50b29sLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhL3Rlc3RsaWdodHVzZXJkYXRh LmMgYi90ZXN0L3RhcmFudG9vbC1jLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhLnRlc3Qu YwpzaW1pbGFyaXR5IGluZGV4IDU1JQpyZW5hbWUgZnJvbSB0ZXN0L3RhcmFudG9vbC10ZXN0cy9s ai00OS1iYWQtbGlnaHR1c2VyZGF0YS90ZXN0bGlnaHR1c2VyZGF0YS5jCnJlbmFtZSB0byB0ZXN0 L3RhcmFudG9vbC1jLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhLnRlc3QuYwppbmRleCAx YjkwOWZjNi4uYTljYzQ3NjMgMTAwNjQ0Ci0tLSBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTQ5 LWJhZC1saWdodHVzZXJkYXRhL3Rlc3RsaWdodHVzZXJkYXRhLmMKKysrIGIvdGVzdC90YXJhbnRv b2wtYy10ZXN0cy9sai00OS1iYWQtbGlnaHR1c2VyZGF0YS50ZXN0LmMKQEAgLTEsMTYgKzEsMjEg QEAKLSNpbmNsdWRlIDxsdWEuaD4KLSNpbmNsdWRlIDxsYXV4bGliLmg+CisjaW5jbHVkZSAibHVh LmgiCisjaW5jbHVkZSAibGF1eGxpYi5oIgrCoArCoCNpbmNsdWRlIDxzeXMvbW1hbi5oPgrCoCNp bmNsdWRlIDx1bmlzdGQuaD4KwqAKLSN1bmRlZiBOREVCVUcKLSNpbmNsdWRlIDxhc3NlcnQuaD4K KyNpbmNsdWRlICJ0ZXN0LmgiCisjaW5jbHVkZSAidXRpbHMuaCIKwqAKwqAjZGVmaW5lIFNUQVJU ICgodm9pZCAqKS0xKQrCoAotc3RhdGljIGludCBjcmFmdGVkX3B0cihsdWFfU3RhdGUgKkwpCisv KiBYWFg6IFN0aWxsIG5lZWQgbm9ybWFsIGFzc2VydCB0byB2YWxpZGF0ZSBtbWFwIGNvcnJlY3Ru ZXNzLiAqLworI3VuZGVmIE5ERUJVRworI2luY2x1ZGUgPGFzc2VydC5oPgorCitzdGF0aWMgaW50 IGNyYWZ0ZWRfcHRyKHZvaWQgKnRlc3Rfc3RhdGUpCsKgeworIGx1YV9TdGF0ZSAqTCA9IHRlc3Rf c3RhdGU7CsKgIC8qCsKgICogV2Uga25vdyB0aGF0IGZvciBhcm02NCBhdCBsZWFzdCA0OCBiaXRz IGFyZSBhdmFpbGFibGUuCsKgICogU28gZW11bGF0ZSBtYW51YWxseSBwdXNoIG9mIGxpZ2h0dXNl cmFkYXRhIHdpdGhpbgpAQCAtMTgsMTUgKzIzLDE1IEBAIHN0YXRpYyBpbnQgY3JhZnRlZF9wdHIo bHVhX1N0YXRlICpMKQrCoCAqLwrCoCB2b2lkICpsb25ncHRyID0gKHZvaWQgKikoMWxsdSA8PCA0 OCk7CsKgIGx1YV9wdXNobGlnaHR1c2VyZGF0YShMLCBsb25ncHRyKTsKLSBhc3NlcnQobG9uZ3B0 ciA9PSBsdWFfdG9wb2ludGVyKEwsIC0xKSk7CisgYXNzZXJ0X3B0cl9lcXVhbChsb25ncHRyLCBs dWFfdG9wb2ludGVyKEwsIC0xKSk7CsKgIC8qIENsZWFyIG91ciBzdGFjay4gKi8KwqAgbHVhX3Bv cChMLCAwKTsKLSBsdWFfcHVzaGJvb2xlYW4oTCwgMSk7Ci0gcmV0dXJuIDE7CisgcmV0dXJuIFRF U1RfRVhJVF9TVUNDRVNTOwrCoH0KwqAKLXN0YXRpYyBpbnQgbW1hcGVkX3B0cihsdWFfU3RhdGUg KkwpCitzdGF0aWMgaW50IG1tYXBlZF9wdHIodm9pZCAqdGVzdF9zdGF0ZSkKwqB7CisgbHVhX1N0 YXRlICpMID0gdGVzdF9zdGF0ZTsKwqAgLyoKwqAgKiBJZiBzdGFydCBtYXBwaW5nIGFkZHJlc3Mg aXMgbm90IE5VTEwsIHRoZW4gdGhlIGtlcm5lbArCoCAqIHRha2VzIGl0IGFzIGEgaGludCBhYm91 dCB3aGVyZSB0byBwbGFjZSB0aGUgbWFwcGluZywgc28KQEAgLTM4LDI0ICs0MywyMiBAQCBzdGF0 aWMgaW50IG1tYXBlZF9wdHIobHVhX1N0YXRlICpMKQrCoCAtMSwgMCk7CsKgIGlmIChtbWFwZWQg IT0gTUFQX0ZBSUxFRCkgewrCoCBsdWFfcHVzaGxpZ2h0dXNlcmRhdGEoTCwgbW1hcGVkKTsKLSBh c3NlcnQobW1hcGVkID09IGx1YV90b3BvaW50ZXIoTCwgLTEpKTsKKyBhc3NlcnRfcHRyX2VxdWFs KG1tYXBlZCwgbHVhX3RvcG9pbnRlcihMLCAtMSkpOwrCoCBhc3NlcnQobXVubWFwKG1tYXBlZCwg cGFnZXNpemUpID09IDApOwrCoCB9CsKgIC8qIENsZWFyIG91ciBzdGFjay4gKi8KwqAgbHVhX3Bv cChMLCAwKTsKLSBsdWFfcHVzaGJvb2xlYW4oTCwgMSk7Ci0gcmV0dXJuIDE7CisgcmV0dXJuIFRF U1RfRVhJVF9TVUNDRVNTOwrCoH0KwqAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgbHVhTF9SZWcgdGVz dGxpZ2h0dXNlcmRhdGFbXSA9IHsKLSB7ImNyYWZ0ZWRfcHRyIiwgY3JhZnRlZF9wdHJ9LAotIHsi bW1hcGVkX3B0ciIsIG1tYXBlZF9wdHJ9LAotIHtOVUxMLCBOVUxMfQotfTsKLQotTFVBX0FQSSBp bnQgbHVhb3Blbl90ZXN0bGlnaHR1c2VyZGF0YShsdWFfU3RhdGUgKkwpCitpbnQgbWFpbih2b2lk KQrCoHsKLSBsdWFMX3JlZ2lzdGVyKEwsICJ0ZXN0bGlnaHR1c2VyZGF0YSIsIHRlc3RsaWdodHVz ZXJkYXRhKTsKLSByZXR1cm4gMTsKKyBsdWFfU3RhdGUgKkwgPSB1dGlsc19sdWFfaW5pdCgpOwor IGNvbnN0IHN0cnVjdCB0ZXN0X3VuaXQgdGdyb3VwW10gPSB7CisgdGVzdF91bml0X25ldyhjcmFm dGVkX3B0ciksCisgdGVzdF91bml0X25ldyhtbWFwZWRfcHRyKQorIH07CisgY29uc3QgaW50IHRl c3RfcmVzdWx0ID0gdGVzdF9ydW5fZ3JvdXAodGdyb3VwLCBMKTsKKyB1dGlsc19sdWFfY2xvc2Uo TCk7CisgcmV0dXJuIHRlc3RfcmVzdWx0OwrCoH0KLQpkaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRv b2wtdGVzdHMvQ01ha2VMaXN0cy50eHQgYi90ZXN0L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxpc3Rz LnR4dAppbmRleCBiMWM3MjA3Zi4uNTI3OTA1YjYgMTAwNjQ0Ci0tLSBhL3Rlc3QvdGFyYW50b29s LXRlc3RzL0NNYWtlTGlzdHMudHh0CisrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL0NNYWtlTGlz dHMudHh0CkBAIC02MSw3ICs2MSw2IEBAIGFkZF9zdWJkaXJlY3RvcnkoZ2gtNTgxMy1yZXNvbHZp bmctb2YtYy1zeW1ib2xzL2dudWhhc2gpCsKgYWRkX3N1YmRpcmVjdG9yeShnaC01ODEzLXJlc29s dmluZy1vZi1jLXN5bWJvbHMvc3RyaXBwZWQpCsKgYWRkX3N1YmRpcmVjdG9yeShnaC02MDk4LWZp eC1zaWRlLWV4aXQtcGF0Y2hpbmctb24tYXJtNjQpCsKgYWRkX3N1YmRpcmVjdG9yeShnaC02MTg5 LWN1cl9MKQotYWRkX3N1YmRpcmVjdG9yeShsai00OS1iYWQtbGlnaHR1c2VyZGF0YSkKwqBhZGRf c3ViZGlyZWN0b3J5KGxqLTQxNi14b3ItYmVmb3JlLWpjYykKwqBhZGRfc3ViZGlyZWN0b3J5KGxq LTYwMS1maXgtZ2MtZmluZGVycmZ1bmMpCsKgYWRkX3N1YmRpcmVjdG9yeShsai03MjctbGlnaHR1 c2VyZGF0YS1pdGVybikKZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTQ5LWJh ZC1saWdodHVzZXJkYXRhLnRlc3QubHVhIGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDktYmFk LWxpZ2h0dXNlcmRhdGEudGVzdC5sdWEKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0 YTc0M2M3Li4wMDAwMDAwMAotLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00OS1iYWQtbGln aHR1c2VyZGF0YS50ZXN0Lmx1YQorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLWxvY2Fs IHRhcCA9IHJlcXVpcmUoJ3RhcCcpCi0KLWxvY2FsIHRlc3QgPSB0YXAudGVzdCgnbGotNDktYmFk LWxpZ2h0dXNlcmRhdGEnKQotdGVzdDpwbGFuKDIpCi0KLWxvY2FsIHRlc3RsaWdodHVzZXJkYXRh ID0gcmVxdWlyZSgndGVzdGxpZ2h0dXNlcmRhdGEnKQotCi10ZXN0Om9rKHRlc3RsaWdodHVzZXJk YXRhLmNyYWZ0ZWRfcHRyKCkpCi10ZXN0Om9rKHRlc3RsaWdodHVzZXJkYXRhLm1tYXBlZF9wdHIo KSkKLQotb3MuZXhpdCh0ZXN0OmNoZWNrKCkgYW5kIDAgb3IgMSkKZGlmZiAtLWdpdCBhL3Rlc3Qv dGFyYW50b29sLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhL0NNYWtlTGlzdHMudHh0IGIv dGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDktYmFkLWxpZ2h0dXNlcmRhdGEvQ01ha2VMaXN0cy50 eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjNmJiNjJjLi4wMDAwMDAwMAotLS0g YS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00OS1iYWQtbGlnaHR1c2VyZGF0YS9DTWFrZUxpc3Rz LnR4dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUJ1aWxkVGVzdENMaWIodGVzdGxpZ2h0 dXNlcmRhdGEgdGVzdGxpZ2h0dXNlcmRhdGEuYykKLS0KMi4zNC4xCsKg ----ALT--79b56344bD3fe6Cf1b88768e527Ec4Ee1684500033 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIFNlcmdleSE8L2Rpdj48ZGl2PlRoYW5rcyBmb3IgdGhlIHBh dGNoITwvZGl2PjxkaXY+TEdUTTwvZGl2PjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250 YWluZXIiPjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij48ZGl2Pi0tPGJyPkJl c3QgcmVnYXJkcyw8L2Rpdj48ZGl2Pk1heGltIEtva3J5YXNoa2luPC9kaXY+PC9kaXY+PC9kaXY+ PGRpdj4mbmJzcDs8L2Rpdj48ZGl2IHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdh NjsgbWFyZ2luLWJvdHRvbToxMHB4OyBtYXJnaW4tbGVmdDoxMHB4OyBtYXJnaW4tcmlnaHQ6MTBw eDsgbWFyZ2luLXRvcDoxMHB4OyBwYWRkaW5nOjBweCAwcHggMHB4IDEwcHgiPiZuYnNwOzxkaXYg aWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9 InN0eWxlXzE2ODQ0NDI5NDYwNzEwNjM3MTM4X0JPRFkiPlRoaXMgcGF0Y2ggcmV3cml0ZXMgdGhl IGFmb3JlbWVudGlvbmVkIHRlc3Qgd2l0aCB0aGUgdXNhZ2UgbGlidGVzdDxicj5yZWNlbnRseSBp bnRyb2R1Y2VkLiBUaGUgYXBwcm9hY2ggaXMgc2ltaWxhciB0byB0aGUgcHJldmlvdXMgcGF0Y2gu PGJyPjxicj5OZXZlcnRoZWxlc3MsIGdsaWJjIGBhc3NlcnQoKWAgaXMgdXNlZCB0byBjaGVjayB0 aGUgY29ycmVjdG5lc3M8YnI+b2YgdGhlIGBtbWFwKClgIHVzYWdlLjxicj48YnI+UGFydCBvZiB0 YXJhbnRvb2wvdGFyYW50b29sIzc5MDA8YnI+LS0tPGJyPiZuYnNwOy4uLi9sai00OS1iYWQtbGln aHR1c2VyZGF0YS50ZXN0LmN9IHwgNDcgKysrKysrKysrKy0tLS0tLS0tLTxicj4mbmJzcDt0ZXN0 L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxpc3RzLnR4dCB8IDEgLTxicj4mbmJzcDsuLi4vbGotNDkt YmFkLWxpZ2h0dXNlcmRhdGEudGVzdC5sdWEgfCAxMSAtLS0tLTxicj4mbmJzcDsuLi4vbGotNDkt YmFkLWxpZ2h0dXNlcmRhdGEvQ01ha2VMaXN0cy50eHQgfCAxIC08YnI+Jm5ic3A7NCBmaWxlcyBj aGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSk8YnI+Jm5ic3A7cmVuYW1l IHRlc3Qve3RhcmFudG9vbC10ZXN0cy9sai00OS1iYWQtbGlnaHR1c2VyZGF0YS90ZXN0bGlnaHR1 c2VyZGF0YS5jID0mZ3Q7IHRhcmFudG9vbC1jLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRh LnRlc3QuY30gKDU1JSk8YnI+Jm5ic3A7ZGVsZXRlIG1vZGUgMTAwNjQ0IHRlc3QvdGFyYW50b29s LXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhLnRlc3QubHVhPGJyPiZuYnNwO2RlbGV0ZSBt b2RlIDEwMDY0NCB0ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00OS1iYWQtbGlnaHR1c2VyZGF0YS9D TWFrZUxpc3RzLnR4dDxicj48YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xq LTQ5LWJhZC1saWdodHVzZXJkYXRhL3Rlc3RsaWdodHVzZXJkYXRhLmMgYi90ZXN0L3RhcmFudG9v bC1jLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhLnRlc3QuYzxicj5zaW1pbGFyaXR5IGlu ZGV4IDU1JTxicj5yZW5hbWUgZnJvbSB0ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00OS1iYWQtbGln aHR1c2VyZGF0YS90ZXN0bGlnaHR1c2VyZGF0YS5jPGJyPnJlbmFtZSB0byB0ZXN0L3RhcmFudG9v bC1jLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhLnRlc3QuYzxicj5pbmRleCAxYjkwOWZj Ni4uYTljYzQ3NjMgMTAwNjQ0PGJyPi0tLSBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTQ5LWJh ZC1saWdodHVzZXJkYXRhL3Rlc3RsaWdodHVzZXJkYXRhLmM8YnI+KysrIGIvdGVzdC90YXJhbnRv b2wtYy10ZXN0cy9sai00OS1iYWQtbGlnaHR1c2VyZGF0YS50ZXN0LmM8YnI+QEAgLTEsMTYgKzEs MjEgQEA8YnI+LSNpbmNsdWRlICZsdDtsdWEuaCZndDs8YnI+LSNpbmNsdWRlICZsdDtsYXV4bGli LmgmZ3Q7PGJyPisjaW5jbHVkZSAibHVhLmgiPGJyPisjaW5jbHVkZSAibGF1eGxpYi5oIjxicj4m bmJzcDs8YnI+Jm5ic3A7I2luY2x1ZGUgJmx0O3N5cy9tbWFuLmgmZ3Q7PGJyPiZuYnNwOyNpbmNs dWRlICZsdDt1bmlzdGQuaCZndDs8YnI+Jm5ic3A7PGJyPi0jdW5kZWYgTkRFQlVHPGJyPi0jaW5j bHVkZSAmbHQ7YXNzZXJ0LmgmZ3Q7PGJyPisjaW5jbHVkZSAidGVzdC5oIjxicj4rI2luY2x1ZGUg InV0aWxzLmgiPGJyPiZuYnNwOzxicj4mbmJzcDsjZGVmaW5lIFNUQVJUICgodm9pZCAqKS0xKTxi cj4mbmJzcDs8YnI+LXN0YXRpYyBpbnQgY3JhZnRlZF9wdHIobHVhX1N0YXRlICpMKTxicj4rLyog WFhYOiBTdGlsbCBuZWVkIG5vcm1hbCBhc3NlcnQgdG8gdmFsaWRhdGUgbW1hcCBjb3JyZWN0bmVz cy4gKi88YnI+KyN1bmRlZiBOREVCVUc8YnI+KyNpbmNsdWRlICZsdDthc3NlcnQuaCZndDs8YnI+ Kzxicj4rc3RhdGljIGludCBjcmFmdGVkX3B0cih2b2lkICp0ZXN0X3N0YXRlKTxicj4mbmJzcDt7 PGJyPisgbHVhX1N0YXRlICpMID0gdGVzdF9zdGF0ZTs8YnI+Jm5ic3A7IC8qPGJyPiZuYnNwOyAq IFdlIGtub3cgdGhhdCBmb3IgYXJtNjQgYXQgbGVhc3QgNDggYml0cyBhcmUgYXZhaWxhYmxlLjxi cj4mbmJzcDsgKiBTbyBlbXVsYXRlIG1hbnVhbGx5IHB1c2ggb2YgbGlnaHR1c2VyYWRhdGEgd2l0 aGluPGJyPkBAIC0xOCwxNSArMjMsMTUgQEAgc3RhdGljIGludCBjcmFmdGVkX3B0cihsdWFfU3Rh dGUgKkwpPGJyPiZuYnNwOyAqLzxicj4mbmJzcDsgdm9pZCAqbG9uZ3B0ciA9ICh2b2lkICopKDFs bHUgJmx0OyZsdDsgNDgpOzxicj4mbmJzcDsgbHVhX3B1c2hsaWdodHVzZXJkYXRhKEwsIGxvbmdw dHIpOzxicj4tIGFzc2VydChsb25ncHRyID09IGx1YV90b3BvaW50ZXIoTCwgLTEpKTs8YnI+KyBh c3NlcnRfcHRyX2VxdWFsKGxvbmdwdHIsIGx1YV90b3BvaW50ZXIoTCwgLTEpKTs8YnI+Jm5ic3A7 IC8qIENsZWFyIG91ciBzdGFjay4gKi88YnI+Jm5ic3A7IGx1YV9wb3AoTCwgMCk7PGJyPi0gbHVh X3B1c2hib29sZWFuKEwsIDEpOzxicj4tIHJldHVybiAxOzxicj4rIHJldHVybiBURVNUX0VYSVRf U1VDQ0VTUzs8YnI+Jm5ic3A7fTxicj4mbmJzcDs8YnI+LXN0YXRpYyBpbnQgbW1hcGVkX3B0cihs dWFfU3RhdGUgKkwpPGJyPitzdGF0aWMgaW50IG1tYXBlZF9wdHIodm9pZCAqdGVzdF9zdGF0ZSk8 YnI+Jm5ic3A7ezxicj4rIGx1YV9TdGF0ZSAqTCA9IHRlc3Rfc3RhdGU7PGJyPiZuYnNwOyAvKjxi cj4mbmJzcDsgKiBJZiBzdGFydCBtYXBwaW5nIGFkZHJlc3MgaXMgbm90IE5VTEwsIHRoZW4gdGhl IGtlcm5lbDxicj4mbmJzcDsgKiB0YWtlcyBpdCBhcyBhIGhpbnQgYWJvdXQgd2hlcmUgdG8gcGxh Y2UgdGhlIG1hcHBpbmcsIHNvPGJyPkBAIC0zOCwyNCArNDMsMjIgQEAgc3RhdGljIGludCBtbWFw ZWRfcHRyKGx1YV9TdGF0ZSAqTCk8YnI+Jm5ic3A7IC0xLCAwKTs8YnI+Jm5ic3A7IGlmIChtbWFw ZWQgIT0gTUFQX0ZBSUxFRCkgezxicj4mbmJzcDsgbHVhX3B1c2hsaWdodHVzZXJkYXRhKEwsIG1t YXBlZCk7PGJyPi0gYXNzZXJ0KG1tYXBlZCA9PSBsdWFfdG9wb2ludGVyKEwsIC0xKSk7PGJyPisg YXNzZXJ0X3B0cl9lcXVhbChtbWFwZWQsIGx1YV90b3BvaW50ZXIoTCwgLTEpKTs8YnI+Jm5ic3A7 IGFzc2VydChtdW5tYXAobW1hcGVkLCBwYWdlc2l6ZSkgPT0gMCk7PGJyPiZuYnNwOyB9PGJyPiZu YnNwOyAvKiBDbGVhciBvdXIgc3RhY2suICovPGJyPiZuYnNwOyBsdWFfcG9wKEwsIDApOzxicj4t IGx1YV9wdXNoYm9vbGVhbihMLCAxKTs8YnI+LSByZXR1cm4gMTs8YnI+KyByZXR1cm4gVEVTVF9F WElUX1NVQ0NFU1M7PGJyPiZuYnNwO308YnI+Jm5ic3A7PGJyPi1zdGF0aWMgY29uc3Qgc3RydWN0 IGx1YUxfUmVnIHRlc3RsaWdodHVzZXJkYXRhW10gPSB7PGJyPi0geyJjcmFmdGVkX3B0ciIsIGNy YWZ0ZWRfcHRyfSw8YnI+LSB7Im1tYXBlZF9wdHIiLCBtbWFwZWRfcHRyfSw8YnI+LSB7TlVMTCwg TlVMTH08YnI+LX07PGJyPi08YnI+LUxVQV9BUEkgaW50IGx1YW9wZW5fdGVzdGxpZ2h0dXNlcmRh dGEobHVhX1N0YXRlICpMKTxicj4raW50IG1haW4odm9pZCk8YnI+Jm5ic3A7ezxicj4tIGx1YUxf cmVnaXN0ZXIoTCwgInRlc3RsaWdodHVzZXJkYXRhIiwgdGVzdGxpZ2h0dXNlcmRhdGEpOzxicj4t IHJldHVybiAxOzxicj4rIGx1YV9TdGF0ZSAqTCA9IHV0aWxzX2x1YV9pbml0KCk7PGJyPisgY29u c3Qgc3RydWN0IHRlc3RfdW5pdCB0Z3JvdXBbXSA9IHs8YnI+KyB0ZXN0X3VuaXRfbmV3KGNyYWZ0 ZWRfcHRyKSw8YnI+KyB0ZXN0X3VuaXRfbmV3KG1tYXBlZF9wdHIpPGJyPisgfTs8YnI+KyBjb25z dCBpbnQgdGVzdF9yZXN1bHQgPSB0ZXN0X3J1bl9ncm91cCh0Z3JvdXAsIEwpOzxicj4rIHV0aWxz X2x1YV9jbG9zZShMKTs8YnI+KyByZXR1cm4gdGVzdF9yZXN1bHQ7PGJyPiZuYnNwO308YnI+LTxi cj5kaWZmIC0tZ2l0IGEvdGVzdC90YXJhbnRvb2wtdGVzdHMvQ01ha2VMaXN0cy50eHQgYi90ZXN0 L3RhcmFudG9vbC10ZXN0cy9DTWFrZUxpc3RzLnR4dDxicj5pbmRleCBiMWM3MjA3Zi4uNTI3OTA1 YjYgMTAwNjQ0PGJyPi0tLSBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL0NNYWtlTGlzdHMudHh0PGJy PisrKyBiL3Rlc3QvdGFyYW50b29sLXRlc3RzL0NNYWtlTGlzdHMudHh0PGJyPkBAIC02MSw3ICs2 MSw2IEBAIGFkZF9zdWJkaXJlY3RvcnkoZ2gtNTgxMy1yZXNvbHZpbmctb2YtYy1zeW1ib2xzL2du dWhhc2gpPGJyPiZuYnNwO2FkZF9zdWJkaXJlY3RvcnkoZ2gtNTgxMy1yZXNvbHZpbmctb2YtYy1z eW1ib2xzL3N0cmlwcGVkKTxicj4mbmJzcDthZGRfc3ViZGlyZWN0b3J5KGdoLTYwOTgtZml4LXNp ZGUtZXhpdC1wYXRjaGluZy1vbi1hcm02NCk8YnI+Jm5ic3A7YWRkX3N1YmRpcmVjdG9yeShnaC02 MTg5LWN1cl9MKTxicj4tYWRkX3N1YmRpcmVjdG9yeShsai00OS1iYWQtbGlnaHR1c2VyZGF0YSk8 YnI+Jm5ic3A7YWRkX3N1YmRpcmVjdG9yeShsai00MTYteG9yLWJlZm9yZS1qY2MpPGJyPiZuYnNw O2FkZF9zdWJkaXJlY3RvcnkobGotNjAxLWZpeC1nYy1maW5kZXJyZnVuYyk8YnI+Jm5ic3A7YWRk X3N1YmRpcmVjdG9yeShsai03MjctbGlnaHR1c2VyZGF0YS1pdGVybik8YnI+ZGlmZiAtLWdpdCBh L3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVzZXJkYXRhLnRlc3QubHVhIGIv dGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDktYmFkLWxpZ2h0dXNlcmRhdGEudGVzdC5sdWE8YnI+ ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0PGJyPmluZGV4IDk0YTc0M2M3Li4wMDAwMDAwMDxicj4t LS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9sai00OS1iYWQtbGlnaHR1c2VyZGF0YS50ZXN0Lmx1 YTxicj4rKysgL2Rldi9udWxsPGJyPkBAIC0xLDExICswLDAgQEA8YnI+LWxvY2FsIHRhcCA9IHJl cXVpcmUoJ3RhcCcpPGJyPi08YnI+LWxvY2FsIHRlc3QgPSB0YXAudGVzdCgnbGotNDktYmFkLWxp Z2h0dXNlcmRhdGEnKTxicj4tdGVzdDpwbGFuKDIpPGJyPi08YnI+LWxvY2FsIHRlc3RsaWdodHVz ZXJkYXRhID0gcmVxdWlyZSgndGVzdGxpZ2h0dXNlcmRhdGEnKTxicj4tPGJyPi10ZXN0Om9rKHRl c3RsaWdodHVzZXJkYXRhLmNyYWZ0ZWRfcHRyKCkpPGJyPi10ZXN0Om9rKHRlc3RsaWdodHVzZXJk YXRhLm1tYXBlZF9wdHIoKSk8YnI+LTxicj4tb3MuZXhpdCh0ZXN0OmNoZWNrKCkgYW5kIDAgb3Ig MSk8YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvdGFyYW50b29sLXRlc3RzL2xqLTQ5LWJhZC1saWdodHVz ZXJkYXRhL0NNYWtlTGlzdHMudHh0IGIvdGVzdC90YXJhbnRvb2wtdGVzdHMvbGotNDktYmFkLWxp Z2h0dXNlcmRhdGEvQ01ha2VMaXN0cy50eHQ8YnI+ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0PGJy PmluZGV4IGVjNmJiNjJjLi4wMDAwMDAwMDxicj4tLS0gYS90ZXN0L3RhcmFudG9vbC10ZXN0cy9s ai00OS1iYWQtbGlnaHR1c2VyZGF0YS9DTWFrZUxpc3RzLnR4dDxicj4rKysgL2Rldi9udWxsPGJy PkBAIC0xICswLDAgQEA8YnI+LUJ1aWxkVGVzdENMaWIodGVzdGxpZ2h0dXNlcmRhdGEgdGVzdGxp Z2h0dXNlcmRhdGEuYyk8YnI+LS08YnI+Mi4zNC4xPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9k aXY+PGRpdj4mbmJzcDs8L2Rpdj48L0JPRFk+PC9IVE1MPgo= ----ALT--79b56344bD3fe6Cf1b88768e527Ec4Ee1684500033--