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 4D8086ECE3; Tue, 19 Jul 2022 11:39:52 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 4D8086ECE3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1658219992; bh=yXa7AK4w8hIMCJR01X7BsLsjVswgzDMNfxHvyO6h8Zw=; 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=c6jo+QbZETguk/MnMFQhhxE2eCKk2j0Ai/+HX1CcOCrhNqM8oyG4RZ/NbDDfWRAxZ zQR2YTRUb/LNOqRkOpgItT7fclcSRc8agivKIbLc70ibMNI4ueLwwftNJOSd5cCIzl XfnEPkNoIngN+umMzrRf3MDBUmrcWZSuHraKsxcA= Received: from f713.i.mail.ru (f713.i.mail.ru [45.84.129.80]) (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 508086ECE3 for ; Tue, 19 Jul 2022 11:39:50 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 508086ECE3 Received: by f713.i.mail.ru with local (envelope-from ) id 1oDilf-00010H-RE; Tue, 19 Jul 2022 11:39:48 +0300 Received: by e.mail.ru with HTTP; Tue, 19 Jul 2022 11:39:47 +0300 To: =?UTF-8?B?U2VyZ2V5IEthcGx1bg==?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16578006220581864200 X-SenderField-Remind: 0 Date: Tue, 19 Jul 2022 11:39:47 +0300 X-Priority: 3 (Normal) Message-ID: <1658219987.670457616@f713.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--c78F4aEd91d3d15FA2078112E284676a1658219987" In-Reply-To: References: <1656948283.336822639@f748.i.mail.ru> X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251C44AC9F3646166151339CF1C7FC61CA77D2F0F543CAB9CE9D8FD872164937FA4C3DA8AA54CC467C8A10B8BD650A569D72C01E6122C826811658FC9AEEA321EDE6 X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE740CD44F4D91B8BF4D82A6BABE6F325AC08BE7437D75B48FABCF491FFA38154B613377AFFFEAFD269176DF2183F8FC7C07633BACAB33B9508C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE78E88BD1CA827EF008F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB553375664B91265EEBC6D597E71EAA9FCFE5AEF971737C9B1FC19621A471835C12D1D9774AD6D5ED66289B5259CC434672EE6371117882F4460429724CE54428C33FAD30A8DF7F3B2552694AC26CFBAC0749D213D2E47CDBA5A9658378DA827A17800CE77A825AB47F0FC8649FA2833FD35BB23DF004C906525384302BEBFE083D3B9BA71A620F70A64A45A98AA50765F79006372E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89F10D407B19AF7F750156CCFE7AF13BCA4B5C8C57E37DE458BEDA766A37F9254B7 X-8FC586DF: 7088FE8F28191859 X-C1DE0DAB: 9604B64F49C60606AD91A466A1DEF99B6ED91DBE5ABE359ADBCB5631A0A9D21FC6CDE5D1141D2B1C6359E9F9991D49FFE627DE74BFC940F05BC150B9B0C930CB410CA545F18667F91A7EA1CDA0B5A7A0 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D346F8291983715AC66902F094CE93DCDEE74AC04CB913E5063D9296A2DDE326D5C1129B1B320CCCB6C1D7E09C32AA3244C25BFF4030DCAAF1449579E2F31A81254F522A1CF68F4BE05FACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDhTfpvObIE1MNANABmnKAjCA== X-Mailru-MI: 10000000000400800 X-Mailru-Sender: 00097D31F91C944B3C2E866F4578222C4215DE055B4FCDDFA35E58C85027D11E348672BD429319DF06CD02445D2D9C8FA2BFD6D8330F0C2D563E610FBBDBB4C842051EA7CBBFB509093DA5C00B83CE8412EB40C6FA10D71EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_luajit_1/2=5D_gdb=3A_intr?= =?utf-8?q?oduce_dumpers_for_GCobj?= 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--c78F4aEd91d3d15FA2078112E284676a1658219987 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIQpUaGFua3MgZm9yIHRoZSBwYXRjaCEKTEdUTQotLQpCZXN0IHJlZ2FyZHMsCk1heGltIEtv a3J5YXNoa2luCsKgCsKgIAo+0KfQtdGC0LLQtdGA0LMsIDE0INC40Y7Qu9GPIDIwMjIsIDE1OjEw ICswMzowMCDQvtGCIFNlcmdleSBLYXBsdW4gPHNrYXBsdW5AdGFyYW50b29sLm9yZz46Cj7CoAo+ SGksIE1heGltIQo+Cj5UaGFua3MgZm9yIHRoZSByZXZpZXchCj4KPk9uIDA0LjA3LjIyLCBNYXhp bSBLb2tyeWFzaGtpbiB3cm90ZToKPj4KPj4gSGksIFNlcmdleSEKPj4gwqAKPj4gVGhhbmtzIGZv ciB0aGUgcGF0Y2ghCj4+IMKgCj4+IExHVE0sIGV4Y2VwdCBmb3IgdGhlIHNpbmdsZSBuaXQgYmVs b3cuCj4+IMKgCj4+IDxzbmlwcGVkPgo+PiA+Cj4+ID4rZGVmIGR1bXBfbGpfdHZfbGlnaHR1ZCh0 dik6Cj4+ID4rIHJldHVybiBkdW1wX2xqX2djb19saWdodHVkKGdjdmFsKHR2WydnY3InXSkpCj4+ ID4rCj4+ID4rZGVmIGR1bXBfbGpfdHZfc3RyKHR2KToKPj4gPisgcmV0dXJuIGR1bXBfbGpfZ2Nv X3N0cihnY3ZhbCh0dlsnZ2NyJ10pKQo+PiA+Kwo+PiA+K2RlZiBkdW1wX2xqX3R2X3VwdmFsKHR2 KToKPj4gPisgcmV0dXJuIGR1bXBfbGpfZ2NvX3VwdmFsKGdjdmFsKHR2WydnY3InXSkpCj4+ID4r Cj4+ID4rZGVmIGR1bXBfbGpfdHZfdGhyZWFkKHR2KToKPj4gPisgcmV0dXJuIGR1bXBfbGpfZ2Nv X3RocmVhZChnY3ZhbCh0dlsnZ2NyJ10pKQo+PiA+Kwo+PiA+K2RlZiBkdW1wX2xqX3R2X3Byb3Rv KHR2KToKPj4gPisgcmV0dXJuIGR1bXBfbGpfZ2NvX3Byb3RvKGdjdmFsKHR2WydnY3InXSkpCj4+ ID4rCj4+ID4rZGVmIGR1bXBfbGpfdHZfZnVuYyh0dik6Cj4+ID4rIHJldHVybiBkdW1wX2xqX2dj b19mdW5jKGdjdmFsKHR2WydnY3InXSkpCj4+ID4rCj4+ID4rZGVmIGR1bXBfbGpfdHZfdHJhY2Uo dHYpOgo+PiA+KyByZXR1cm4gZHVtcF9sal9nY29fdHJhY2UoZ2N2YWwodHZbJ2djciddKSkKPj4g PsKgCj4+ID4tZGVmIGR1bXBfbGpfdG51bXgodHYpOgo+PiA+K2RlZiBkdW1wX2xqX3R2X2NkYXRh KHR2KToKPj4gPisgcmV0dXJuIGR1bXBfbGpfZ2NvX2NkYXRhKGdjdmFsKHR2WydnY3InXSkpCj4+ ID4rCj4+ID4rZGVmIGR1bXBfbGpfdHZfdGFiKHR2KToKPj4gPisgcmV0dXJuIGR1bXBfbGpfZ2Nv X3RhYihnY3ZhbCh0dlsnZ2NyJ10pKQo+PiA+Kwo+PiA+K2RlZiBkdW1wX2xqX3R2X3VkYXRhKHR2 KToKPj4gPisgcmV0dXJuIGR1bXBfbGpfZ2NvX3VkYXRhKGdjdmFsKHR2WydnY3InXSkpCj4+ID4r Cj4+IEkgdGhpbmsgd2UgY2FuIHJlcGxhY2UgdGhhdCBsb2FkIG9mIHdyYXBwZXJzIHdpdGggc29t ZXRoaW5nCj4+IHRoYXQgbG9va3MgbW9yZSBvciBsZXNzIGxpa2UgdGhhdDoKPj4gwqAKPj4gMcKg fMKgZ2NvX3RvX3dyYXAgPSBbZnVuYyBmb3IgZnVuYyBpbiBnbG9iYWxzKCkua2V5cygpIGlmIGZ1 bmMuc3RhcnRzd2l0aCgnZHVtcF9sal9nY28nKV0KPj4gMsKgfAo+PiAzIHzCoGZvciBmdW5jX25h bWUgaW4gZ2NvX3RvX3dyYXA6Cj4+IDTCoHzCoCDCoCB3cmFwcGVkX2Z1bmNfbmFtZSA9IGZ1bmNf bmFtZS5yZXBsYWNlKCdnY28nLCAndHYnKQo+PiA1wqB8wqAgwqAgZ2xvYmFscygpW3dyYXBwZWRf ZnVuY19uYW1lXSA9IGxhbWJkYSB0djogZ2xvYmFscygpW2Z1bmNfbmFtZV0oZ2N2YWwodHZbJ2dj ciddKSkKPj4gwqAKPj4gSSBhbSBub3QgcmVhbGx5IHN1cmUgaWYgaXQgaXMgaGFyZGVyIHRvIHJl YWQgZm9yIHRob3NlIHdobyBhcmUgbm90IHJlYWxseSBmYW1pbGlhcgo+PiB3aXRoIHB5dGhvbiwg c28gZmVlbCBmcmVlIHRvIGlnbm9yZS4KPgo+SSd2ZSBsaWtlZCB0aGUgaWRlYSBhYm91dCBnZW5l cmF0aW9uIG9mIGFsbCBuZWNlc3NhcnkgZnVuY3Rpb25zIHZpYQo+bGFtYmRhLiBJJ3ZlIG1vZGlm aWVkIHlvdXIgZXhhbXBsZSwgYmVjYXVzZSBgZnVuY19uYW1lYCBpcyB0YWtlbiBhcwo+cmVmZXJl bmNlIGFuZCBhbGwgcmV0dXJuZWQgbGFtYmRhIGZ1bmN0aW9ucyB1c2UgYGR1bXBfbGpfZ2NvX2lu dmFsaWQoKWAKPmFzIGEgcmVzdWx0Lgo+Cj5TaWRlIG5vdGU6IGFzIGZhciBhcyBJJ20gbm90IGZh bWlsaWFyIHdpdGggUHl0aG9uIGl0IHdhcyBhIHJlYWwgc3VycHJpc2UKPmZvciBtZS4gOikKPgo+ U2VlIHRoZSBpdGVyYXRpdmUgcGF0Y2ggYmVsb3c6Cj4KPj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPmRpZmYgLS1naXQg YS9zcmMvbHVhaml0LWdkYi5weSBiL3NyYy9sdWFqaXQtZ2RiLnB5Cj5pbmRleCA3NzlhMjVmOC4u NGM0NDNjZTkgMTAwNjQ0Cj4tLS0gYS9zcmMvbHVhaml0LWdkYi5weQo+KysrIGIvc3JjL2x1YWpp dC1nZGIucHkKPkBAIC0zNzMsMzUgKzM3MywxNSBAQCBkZWYgZHVtcF9sal90dl9mYWxzZSh0dik6 Cj7CoGRlZiBkdW1wX2xqX3R2X3RydWUodHYpOgo+wqDCoMKgwqDCoHJldHVybiAndHJ1ZScKPsKg Cj4tZGVmIGR1bXBfbGpfdHZfbGlnaHR1ZCh0dik6Cj4tIHJldHVybiBkdW1wX2xqX2djb19saWdo dHVkKGdjdmFsKHR2WydnY3InXSkpCj4tCj4tZGVmIGR1bXBfbGpfdHZfc3RyKHR2KToKPi0gcmV0 dXJuIGR1bXBfbGpfZ2NvX3N0cihnY3ZhbCh0dlsnZ2NyJ10pKQo+LQo+LWRlZiBkdW1wX2xqX3R2 X3VwdmFsKHR2KToKPi0gcmV0dXJuIGR1bXBfbGpfZ2NvX3VwdmFsKGdjdmFsKHR2WydnY3InXSkp Cj4tCj4tZGVmIGR1bXBfbGpfdHZfdGhyZWFkKHR2KToKPi0gcmV0dXJuIGR1bXBfbGpfZ2NvX3Ro cmVhZChnY3ZhbCh0dlsnZ2NyJ10pKQo+LQo+LWRlZiBkdW1wX2xqX3R2X3Byb3RvKHR2KToKPi0g cmV0dXJuIGR1bXBfbGpfZ2NvX3Byb3RvKGdjdmFsKHR2WydnY3InXSkpCj4tCj4tZGVmIGR1bXBf bGpfdHZfZnVuYyh0dik6Cj4tIHJldHVybiBkdW1wX2xqX2djb19mdW5jKGdjdmFsKHR2WydnY3In XSkpCj4tCj4tZGVmIGR1bXBfbGpfdHZfdHJhY2UodHYpOgo+LSByZXR1cm4gZHVtcF9sal9nY29f dHJhY2UoZ2N2YWwodHZbJ2djciddKSkKPi0KPi1kZWYgZHVtcF9sal90dl9jZGF0YSh0dik6Cj4t IHJldHVybiBkdW1wX2xqX2djb19jZGF0YShnY3ZhbCh0dlsnZ2NyJ10pKQo+LQo+LWRlZiBkdW1w X2xqX3R2X3RhYih0dik6Cj4tIHJldHVybiBkdW1wX2xqX2djb190YWIoZ2N2YWwodHZbJ2djcidd KSkKPi0KPi1kZWYgZHVtcF9sal90dl91ZGF0YSh0dik6Cj4tIHJldHVybiBkdW1wX2xqX2djb191 ZGF0YShnY3ZhbCh0dlsnZ2NyJ10pKQo+KyMgR2VuZXJhdGUgd3JhcHBlcnMgZm9yIFRWYWx1ZXMg Y29udGFpbmluZyBHQ29iai4KPitnY29fZm5fZHVtcGVycyA9IFtmbiBmb3IgZm4gaW4gZ2xvYmFs cygpLmtleXMoKSBpZiBmbi5zdGFydHN3aXRoKCdkdW1wX2xqX2djbycpXQo+K2ZvciBmbl9uYW1l IGluIGdjb19mbl9kdW1wZXJzOgo+KyB3cmFwcGVkX2ZuX25hbWUgPSBmbl9uYW1lLnJlcGxhY2Uo J2djbycsICd0dicpCj4rICMgbGFtYmRhIHRha2VzIGBmbl9uYW1lYCBhcyByZWZlcmVuY2UsIHNv IG5lZWQgdGhlIGFkZGl0aW9uYWwKPisgIyBsYW1iZGEgdG8gZml4YXRlIHRoZSBjb3JyZWN0IHdy YXBwZXIuCj4rIGdsb2JhbHMoKVt3cmFwcGVkX2ZuX25hbWVdID0gKGxhbWJkYSBmOiAoCj4rIGxh bWJkYSB0djogZ2xvYmFscygpW2ZdKGdjdmFsKHR2WydnY3InXSkpCj4rICkpKGZuX25hbWUpCj7C oAo+wqBkZWYgZHVtcF9sal90dl9udW14KHR2KToKPsKgwqDCoMKgwqBpZiB0dmlzaW50KHR2KToK PkBAIC00MDksOSArMzg5LDYgQEAgZGVmIGR1bXBfbGpfdHZfbnVteCh0dik6Cj7CoMKgwqDCoMKg ZWxzZToKPsKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAnbnVtYmVyIHt9Jy5mb3JtYXQoY2FzdCgn ZG91YmxlJywgdHZbJ24nXSkpCj7CoAo+LWRlZiBkdW1wX2xqX3R2X2ludmFsaWQodHYpOgo+LSBy ZXR1cm4gZHVtcF9sal90dl91ZGF0YShnY3ZhbCh0dlsnZ2NyJ10pKQo+Iwo+IyBZZXAsIGFzIHNp ZGUgZWZmZWN0IHRob3NlIHVucGxlYXNhbnQgdHlwb3MgYXJlIGF2b2lkZWQuCj4jCj4tCj7CoCMg fX19Cj7CoAo+wqBnY29fZHVtcGVycyA9IHsKPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPgo+QnJhbmNoIGlzIGZvcmNl LXB1c2hlZC4KPgo+PiDCoAo+PiA8c25pcHBlZD4KPj4gLS0KPj4gQmVzdCByZWdhcmRzLAo+PiBN YXhpbSBLb2tyeWFzaGtpbgo+PiDCoAo+Cj4tLQo+QmVzdCByZWdhcmRzLAo+U2VyZ2V5IEthcGx1 bgrCoA== ----ALT--c78F4aEd91d3d15FA2078112E284676a1658219987 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGkhPC9kaXY+PGRpdj5UaGFua3MgZm9yIHRoZSBwYXRjaCE8L2Rp dj48ZGl2PkxHVE08L2Rpdj48ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGFpbmVyIj48 ZGl2IGRhdGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGVudCI+PGRpdj4tLTxicj5CZXN0IHJlZ2Fy ZHMsPC9kaXY+PGRpdj5NYXhpbSBLb2tyeWFzaGtpbjwvZGl2PjwvZGl2PjwvZGl2PjxkaXY+Jm5i c3A7PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6 MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij7Qp9C1 0YLQstC10YDQsywgMTQg0LjRjtC70Y8gMjAyMiwgMTU6MTAgKzAzOjAwINC+0YIgU2VyZ2V5IEth cGx1biAmbHQ7c2thcGx1bkB0YXJhbnRvb2wub3JnJmd0Ozo8YnI+Jm5ic3A7PGRpdiBpZD0iIj48 ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0ic3R5bGVf MTY1NzgwMDYyMjA1ODE4NjQyMDBfQk9EWSI+SGksIE1heGltITxicj48YnI+VGhhbmtzIGZvciB0 aGUgcmV2aWV3ITxicj48YnI+T24gMDQuMDcuMjIsIE1heGltIEtva3J5YXNoa2luIHdyb3RlOjxi cj4mZ3Q7PGJyPiZndDsgSGksIFNlcmdleSE8YnI+Jmd0OyAmbmJzcDs8YnI+Jmd0OyBUaGFua3Mg Zm9yIHRoZSBwYXRjaCE8YnI+Jmd0OyAmbmJzcDs8YnI+Jmd0OyBMR1RNLCBleGNlcHQgZm9yIHRo ZSBzaW5nbGUgbml0IGJlbG93Ljxicj4mZ3Q7ICZuYnNwOzxicj4mZ3Q7ICZsdDtzbmlwcGVkJmd0 Ozxicj4mZ3Q7ICZndDs8YnI+Jmd0OyAmZ3Q7K2RlZiBkdW1wX2xqX3R2X2xpZ2h0dWQodHYpOjxi cj4mZ3Q7ICZndDsrIHJldHVybiBkdW1wX2xqX2djb19saWdodHVkKGdjdmFsKHR2WydnY3InXSkp PGJyPiZndDsgJmd0Oys8YnI+Jmd0OyAmZ3Q7K2RlZiBkdW1wX2xqX3R2X3N0cih0dik6PGJyPiZn dDsgJmd0OysgcmV0dXJuIGR1bXBfbGpfZ2NvX3N0cihnY3ZhbCh0dlsnZ2NyJ10pKTxicj4mZ3Q7 ICZndDsrPGJyPiZndDsgJmd0OytkZWYgZHVtcF9sal90dl91cHZhbCh0dik6PGJyPiZndDsgJmd0 OysgcmV0dXJuIGR1bXBfbGpfZ2NvX3VwdmFsKGdjdmFsKHR2WydnY3InXSkpPGJyPiZndDsgJmd0 Oys8YnI+Jmd0OyAmZ3Q7K2RlZiBkdW1wX2xqX3R2X3RocmVhZCh0dik6PGJyPiZndDsgJmd0Oysg cmV0dXJuIGR1bXBfbGpfZ2NvX3RocmVhZChnY3ZhbCh0dlsnZ2NyJ10pKTxicj4mZ3Q7ICZndDsr PGJyPiZndDsgJmd0OytkZWYgZHVtcF9sal90dl9wcm90byh0dik6PGJyPiZndDsgJmd0OysgcmV0 dXJuIGR1bXBfbGpfZ2NvX3Byb3RvKGdjdmFsKHR2WydnY3InXSkpPGJyPiZndDsgJmd0Oys8YnI+ Jmd0OyAmZ3Q7K2RlZiBkdW1wX2xqX3R2X2Z1bmModHYpOjxicj4mZ3Q7ICZndDsrIHJldHVybiBk dW1wX2xqX2djb19mdW5jKGdjdmFsKHR2WydnY3InXSkpPGJyPiZndDsgJmd0Oys8YnI+Jmd0OyAm Z3Q7K2RlZiBkdW1wX2xqX3R2X3RyYWNlKHR2KTo8YnI+Jmd0OyAmZ3Q7KyByZXR1cm4gZHVtcF9s al9nY29fdHJhY2UoZ2N2YWwodHZbJ2djciddKSk8YnI+Jmd0OyAmZ3Q7Jm5ic3A7PGJyPiZndDsg Jmd0Oy1kZWYgZHVtcF9sal90bnVteCh0dik6PGJyPiZndDsgJmd0OytkZWYgZHVtcF9sal90dl9j ZGF0YSh0dik6PGJyPiZndDsgJmd0OysgcmV0dXJuIGR1bXBfbGpfZ2NvX2NkYXRhKGdjdmFsKHR2 WydnY3InXSkpPGJyPiZndDsgJmd0Oys8YnI+Jmd0OyAmZ3Q7K2RlZiBkdW1wX2xqX3R2X3RhYih0 dik6PGJyPiZndDsgJmd0OysgcmV0dXJuIGR1bXBfbGpfZ2NvX3RhYihnY3ZhbCh0dlsnZ2NyJ10p KTxicj4mZ3Q7ICZndDsrPGJyPiZndDsgJmd0OytkZWYgZHVtcF9sal90dl91ZGF0YSh0dik6PGJy PiZndDsgJmd0OysgcmV0dXJuIGR1bXBfbGpfZ2NvX3VkYXRhKGdjdmFsKHR2WydnY3InXSkpPGJy PiZndDsgJmd0Oys8YnI+Jmd0OyBJIHRoaW5rIHdlIGNhbiByZXBsYWNlIHRoYXQgbG9hZCBvZiB3 cmFwcGVycyB3aXRoIHNvbWV0aGluZzxicj4mZ3Q7IHRoYXQgbG9va3MgbW9yZSBvciBsZXNzIGxp a2UgdGhhdDo8YnI+Jmd0OyAmbmJzcDs8YnI+Jmd0OyAxJm5ic3A7fCZuYnNwO2djb190b193cmFw ID0gW2Z1bmMgZm9yIGZ1bmMgaW4gZ2xvYmFscygpLmtleXMoKSBpZiBmdW5jLnN0YXJ0c3dpdGgo J2R1bXBfbGpfZ2NvJyldPGJyPiZndDsgMiZuYnNwO3w8YnI+Jmd0OyAzIHwmbmJzcDtmb3IgZnVu Y19uYW1lIGluIGdjb190b193cmFwOjxicj4mZ3Q7IDQmbmJzcDt8Jm5ic3A7ICZuYnNwOyB3cmFw cGVkX2Z1bmNfbmFtZSA9IGZ1bmNfbmFtZS5yZXBsYWNlKCdnY28nLCAndHYnKTxicj4mZ3Q7IDUm bmJzcDt8Jm5ic3A7ICZuYnNwOyBnbG9iYWxzKClbd3JhcHBlZF9mdW5jX25hbWVdID0gbGFtYmRh IHR2OiBnbG9iYWxzKClbZnVuY19uYW1lXShnY3ZhbCh0dlsnZ2NyJ10pKTxicj4mZ3Q7ICZuYnNw Ozxicj4mZ3Q7IEkgYW0gbm90IHJlYWxseSBzdXJlIGlmIGl0IGlzIGhhcmRlciB0byByZWFkIGZv ciB0aG9zZSB3aG8gYXJlIG5vdCByZWFsbHkgZmFtaWxpYXI8YnI+Jmd0OyB3aXRoIHB5dGhvbiwg c28gZmVlbCBmcmVlIHRvIGlnbm9yZS48YnI+PGJyPkkndmUgbGlrZWQgdGhlIGlkZWEgYWJvdXQg Z2VuZXJhdGlvbiBvZiBhbGwgbmVjZXNzYXJ5IGZ1bmN0aW9ucyB2aWE8YnI+bGFtYmRhLiBJJ3Zl IG1vZGlmaWVkIHlvdXIgZXhhbXBsZSwgYmVjYXVzZSBgZnVuY19uYW1lYCBpcyB0YWtlbiBhczxi cj5yZWZlcmVuY2UgYW5kIGFsbCByZXR1cm5lZCBsYW1iZGEgZnVuY3Rpb25zIHVzZSBgZHVtcF9s al9nY29faW52YWxpZCgpYDxicj5hcyBhIHJlc3VsdC48YnI+PGJyPlNpZGUgbm90ZTogYXMgZmFy IGFzIEknbSBub3QgZmFtaWxpYXIgd2l0aCBQeXRob24gaXQgd2FzIGEgcmVhbCBzdXJwcmlzZTxi cj5mb3IgbWUuIDopPGJyPjxicj5TZWUgdGhlIGl0ZXJhdGl2ZSBwYXRjaCBiZWxvdzo8YnI+PGJy Pj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT08YnI+ZGlmZiAtLWdpdCBhL3NyYy9sdWFqaXQtZ2RiLnB5IGIvc3JjL2x1YWpp dC1nZGIucHk8YnI+aW5kZXggNzc5YTI1ZjguLjRjNDQzY2U5IDEwMDY0NDxicj4tLS0gYS9zcmMv bHVhaml0LWdkYi5weTxicj4rKysgYi9zcmMvbHVhaml0LWdkYi5weTxicj5AQCAtMzczLDM1ICsz NzMsMTUgQEAgZGVmIGR1bXBfbGpfdHZfZmFsc2UodHYpOjxicj4mbmJzcDtkZWYgZHVtcF9sal90 dl90cnVlKHR2KTo8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuICd0cnVl Jzxicj4mbmJzcDs8YnI+LWRlZiBkdW1wX2xqX3R2X2xpZ2h0dWQodHYpOjxicj4tIHJldHVybiBk dW1wX2xqX2djb19saWdodHVkKGdjdmFsKHR2WydnY3InXSkpPGJyPi08YnI+LWRlZiBkdW1wX2xq X3R2X3N0cih0dik6PGJyPi0gcmV0dXJuIGR1bXBfbGpfZ2NvX3N0cihnY3ZhbCh0dlsnZ2NyJ10p KTxicj4tPGJyPi1kZWYgZHVtcF9sal90dl91cHZhbCh0dik6PGJyPi0gcmV0dXJuIGR1bXBfbGpf Z2NvX3VwdmFsKGdjdmFsKHR2WydnY3InXSkpPGJyPi08YnI+LWRlZiBkdW1wX2xqX3R2X3RocmVh ZCh0dik6PGJyPi0gcmV0dXJuIGR1bXBfbGpfZ2NvX3RocmVhZChnY3ZhbCh0dlsnZ2NyJ10pKTxi cj4tPGJyPi1kZWYgZHVtcF9sal90dl9wcm90byh0dik6PGJyPi0gcmV0dXJuIGR1bXBfbGpfZ2Nv X3Byb3RvKGdjdmFsKHR2WydnY3InXSkpPGJyPi08YnI+LWRlZiBkdW1wX2xqX3R2X2Z1bmModHYp Ojxicj4tIHJldHVybiBkdW1wX2xqX2djb19mdW5jKGdjdmFsKHR2WydnY3InXSkpPGJyPi08YnI+ LWRlZiBkdW1wX2xqX3R2X3RyYWNlKHR2KTo8YnI+LSByZXR1cm4gZHVtcF9sal9nY29fdHJhY2Uo Z2N2YWwodHZbJ2djciddKSk8YnI+LTxicj4tZGVmIGR1bXBfbGpfdHZfY2RhdGEodHYpOjxicj4t IHJldHVybiBkdW1wX2xqX2djb19jZGF0YShnY3ZhbCh0dlsnZ2NyJ10pKTxicj4tPGJyPi1kZWYg ZHVtcF9sal90dl90YWIodHYpOjxicj4tIHJldHVybiBkdW1wX2xqX2djb190YWIoZ2N2YWwodHZb J2djciddKSk8YnI+LTxicj4tZGVmIGR1bXBfbGpfdHZfdWRhdGEodHYpOjxicj4tIHJldHVybiBk dW1wX2xqX2djb191ZGF0YShnY3ZhbCh0dlsnZ2NyJ10pKTxicj4rIyBHZW5lcmF0ZSB3cmFwcGVy cyBmb3IgVFZhbHVlcyBjb250YWluaW5nIEdDb2JqLjxicj4rZ2NvX2ZuX2R1bXBlcnMgPSBbZm4g Zm9yIGZuIGluIGdsb2JhbHMoKS5rZXlzKCkgaWYgZm4uc3RhcnRzd2l0aCgnZHVtcF9sal9nY28n KV08YnI+K2ZvciBmbl9uYW1lIGluIGdjb19mbl9kdW1wZXJzOjxicj4rIHdyYXBwZWRfZm5fbmFt ZSA9IGZuX25hbWUucmVwbGFjZSgnZ2NvJywgJ3R2Jyk8YnI+KyAjIGxhbWJkYSB0YWtlcyBgZm5f bmFtZWAgYXMgcmVmZXJlbmNlLCBzbyBuZWVkIHRoZSBhZGRpdGlvbmFsPGJyPisgIyBsYW1iZGEg dG8gZml4YXRlIHRoZSBjb3JyZWN0IHdyYXBwZXIuPGJyPisgZ2xvYmFscygpW3dyYXBwZWRfZm5f bmFtZV0gPSAobGFtYmRhIGY6ICg8YnI+KyBsYW1iZGEgdHY6IGdsb2JhbHMoKVtmXShnY3ZhbCh0 dlsnZ2NyJ10pKTxicj4rICkpKGZuX25hbWUpPGJyPiZuYnNwOzxicj4mbmJzcDtkZWYgZHVtcF9s al90dl9udW14KHR2KTo8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgdHZpc2lu dCh0dik6PGJyPkBAIC00MDksOSArMzg5LDYgQEAgZGVmIGR1bXBfbGpfdHZfbnVteCh0dik6PGJy PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Vsc2U6PGJyPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiAnbnVtYmVyIHt9Jy5m b3JtYXQoY2FzdCgnZG91YmxlJywgdHZbJ24nXSkpPGJyPiZuYnNwOzxicj4tZGVmIGR1bXBfbGpf dHZfaW52YWxpZCh0dik6PGJyPi0gcmV0dXJuIGR1bXBfbGpfdHZfdWRhdGEoZ2N2YWwodHZbJ2dj ciddKSk8YnI+Izxicj4jIFllcCwgYXMgc2lkZSBlZmZlY3QgdGhvc2UgdW5wbGVhc2FudCB0eXBv cyBhcmUgYXZvaWRlZC48YnI+Izxicj4tPGJyPiZuYnNwOyMgfX19PGJyPiZuYnNwOzxicj4mbmJz cDtnY29fZHVtcGVycyA9IHs8YnI+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTxicj48YnI+QnJhbmNoIGlzIGZvcmNlLXB1 c2hlZC48YnI+PGJyPiZndDsgJm5ic3A7PGJyPiZndDsgJmx0O3NuaXBwZWQmZ3Q7PGJyPiZndDsg LS08YnI+Jmd0OyBCZXN0IHJlZ2FyZHMsPGJyPiZndDsgTWF4aW0gS29rcnlhc2hraW48YnI+Jmd0 OyAmbmJzcDs8YnI+PGJyPi0tPGJyPkJlc3QgcmVnYXJkcyw8YnI+U2VyZ2V5IEthcGx1bjwvZGl2 PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PiZuYnNwOzwvZGl2PjwvQk9EWT48 L0hUTUw+Cg== ----ALT--c78F4aEd91d3d15FA2078112E284676a1658219987--