From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f554.i.mail.ru (f554.i.mail.ru [94.100.184.133]) (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 AF6F446971A for ; Wed, 11 Dec 2019 14:15:46 +0300 (MSK) From: =?UTF-8?B?TWFyaWEgS2hheWRpY2g=?= MIME-Version: 1.0 Date: Wed, 11 Dec 2019 14:15:43 +0300 Reply-To: =?UTF-8?B?TWFyaWEgS2hheWRpY2g=?= Message-ID: <1576062943.75791760@f554.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--571f7F36Aa48eC286939d663Cb91F62f1576062943" In-Reply-To: <20191208233631.spmeybcqphadf3pr@tkn_work_nb> References: <20190912174448.25680-1-maria.khaydich@tarantool.org> <1573644066.297818688@f177.i.mail.ru> <20191208233631.spmeybcqphadf3pr@tkn_work_nb> Subject: Re: [Tarantool-patches] =?utf-8?q?=5Btarantool-patches=5D_Re=3A_=5BPA?= =?utf-8?q?TCH=5D_lua=3A_keeping_the_pointer_type_in_msgpackffi=2Edecode?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@freelists.org Cc: tarantool-patches@dev.tarantool.org, =?UTF-8?B?VmxhZGlzbGF2IFNocGlsZXZveQ==?= ----ALT--571f7F36Aa48eC286939d663Cb91F62f1576062943 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkZpeGVkIHRoZSBjb21taXQgbWVzc2FnZSBhY2NvcmRpbmcgdG8geW91ciBjb21tZW50cy7CoArC oAo+0J/QvtC90LXQtNC10LvRjNC90LjQuiwgOSDQtNC10LrQsNCx0YDRjyAyMDE5LCAyOjM2ICsw MzowMCDQvtGCIEFsZXhhbmRlciBUdXJlbmtvIDwgYWxleGFuZGVyLnR1cmVua29AdGFyYW50b29s Lm9yZyA+Ogo+wqAgCj5MR1RNIGZvciB0aGUgY29kZS4KPgo+UmVxdWVzdGVkIGNoYW5nZXMgZm9y IHRoZSBjb21taXQgbWVzc2FnZSwgc2VlIGJlbG93Lgo+Cj5QbGVhc2UsIGZpeCBpdCBhbmQgcHJv Y2VlZCB0byB0aGUgbmV4dCByZXZpZXdlciAoSSBzdWdnZXN0IHRvIHNlbmQgdGhlCj5wYXRjaCB0 byBWbGFkKS4gTGVhdmUgbWUgaW4gQ0MsIHBsZWFzZS4KPgo+V0JSLCBBbGV4YW5kZXIgVHVyZW5r by4KPgo+T24gV2VkLCBOb3YgMTMsIDIwMTkgYXQgMDI6MjE6MDZQTSArMDMwMCwgTWFyaWEgS2hh eWRpY2ggd3JvdGU6Cj4+Cj4+Cj4+IFRoYW5rIHlvdSBmb3IgdGhlIHJldmlldy4gUHJvcG9zZWQg Y2hhbmdlcyBsb29rIHJlYXNvbmFibGUgdG8gbWUgc28KPj4gSeKAmXZlIHNxdWFzaGVkIHlvdXIg RklYVVAgY29tbWl0cyBhbmQgYWxzbyBhZGRlZCBmb2xsb3cgdXAgcGF0Y2ggYXMgYQo+PiBzZXBh cmF0ZSBjb21taXQuwqAKPj4gwqAKPj4gPtCh0YDQtdC00LAsIDYg0L3QvtGP0LHRgNGPIDIwMTks IDM6NDQgKzAzOjAwINC+0YIgQWxleGFuZGVyIFR1cmVua28gPCBhbGV4YW5kZXIudHVyZW5rb0B0 YXJhbnRvb2wub3JnID46Cj4KPkkgdGFrZSBhIGdsYW5jZSBhdCBjb21taXRzIGluIFsxXS4gU29y cnkgZm9yIHRoZSBiaWcgZGVsYXkuCj4KPlRoZSBtZXNzYWdlIG9mIHRoZSBmaXJzdCBjb21taXQg KCdtc2dwYWNrZmZpLmRlY29kZSBjYW4gbm93IGJlIGFzc2lnbmVkCj50byBidWYucnBvcycpIG5v dyByZWZsZWN0cyBhbGwgaW50ZXJtZWRpYXRlIGNoYW5nZXMuIEl0IHNob3VsZCBub3Q6Cj5wbGVh c2UsIHJld29yZCB0aGUgY29tbWl0IG1lc3NzYWdlIHRvIHJlZmxlY3QgdGhlIHJlc3VsdGluZyBz dGF0ZSBvZiB0aGUKPnBhdGNoLgo+Cj5JbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSB0aGVyZSBpcyBu b3RoaW5nIGluIG1lc3NhZ2VzIEkgbGVmdCBpbiBmaXh1cAo+Y29tbWl0cyB0aGF0IGlzIHdvcnRo IHRvIHNhdmUgaW4gdGhlIHJlc3VsdGluZyBjb21taXQgbWVzc2FnZS4KPgo+VGhlIG9yaWdpbmFs IGNvbW1pdCBtZXNzYWdlIGlzIHRoZSBmb2xsb3dpbmcsIEknbGwgY29tbWVudCBpdDoKPgo+PiBt c2dwYWNrZmZpLmRlY29kZSBjYW4gbm93IGJlIGFzc2lnbmVkIHRvIGJ1Zi5ycG9zCj4KPldlIHVz dWFsbHkgcHJlZml4IGNvbW1pdCBtZXNzYWdlcyB3aXRoIGEgc3Vic3lzdGVtIHRoYXQgaXMgdGhl IHN1YmplY3QKPm9mIGEgY29tbWl0OiAnbHVhJyBpbiB0aGlzIGNhc2UuCj4KPkkgd291bGQgc3Rh dGUgd2hhdCB3YXMgY2hhbmdlZCBpbiB0aGUgaGVhZGVyIChtc2dwYWNrZmZpLmRlY29kZSooKQo+ cmV0dXJuIHZhbHVlIHR5cGUpIGFuZCB0aGVuIGRlc2NyaWJlIHdoeSAodG8gYXNzaWduIHRvIHJw b3MpIGluIHRoZQo+Y29tbWl0IG1lc3NhZ2UuCj4KPk1heWJlIHRoaXMgaXMganVzdCBteSBwZXJz b25hbCB0YXN0ZS4gSSBkb24ndCBpbnNpc3QgYW55d2F5Lgo+Cj4+Cj4+IEZ1bmN0aW9uIGRlY29k ZSBvZiBtb2R1bGUgbXNncGFja2ZmaSB3YXMgcGFzc2luZwo+PiB2YWx1ZSBvZiB0eXBlIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKiB0byBhIEMgZnVuY3Rpb24KPj4gdGhhdCBhY2NlcHRzIGFyZ3VtZW50 cyBvZiB0eXBlIGNvbnN0IGNoYXIgKi4KPgo+bXNncGFja2ZmaS5kZWNvZGUoKSByZXR1cm5zICd1 bnNpZ25lZCBjaGFyIConLCB0aGVuIGEgdXNlciBwYXNzZXMgdGhpcwo+cmVzdWx0IHRvIGEgZnVu Y3Rpb24gdGhhdCBhY2NlcHRzICdjb25zdCBjaGFyIConPyBJcyBJIGludGVycHJldCBpdAo+cmln aHQ/IERpZG4ndCBnZXQgdGhpcyBtZXNzYWdlLCB0byBiZSBob25lc3QuCj4KPj4KPj4gQ2xvc2Vz ICMzOTI2Cj4KPkkgd291bGQgcmV3b3JkIGl0IGxpa2Ugc28gKGp1c3QgZm9yIGV4YW1wbGUsIGxl dCdzIHVzZSBhbnkgd29yZGluZyB5b3UKPmNvbWZvcnRhYmxlIHdpdGgpOgo+Cj7CoMKgfCBsdWE6 IGRvbid0IG1vZGlmeSBwb2ludGVyIHR5cGUgaW4gbXNncGFja2ZmaS5kZWNvZGUqCj7CoMKgfAo+ wqDCoHwgV2hlbiBtc2dwYWNrZmZpLmRlY29kZSgpIGFuZCBtc2dwYWNrZmZpLmRlY29kZV91bmNo ZWNrZWQoKSBhcmUgY2FsbGVkCj7CoMKgfCB3aXRoIGEgYnVmZmVyIChjZGF0YTxbY29uc3RdIGNo YXIgKj4pIHBhcmFtZXRlciwgdGhleSByZXR1cm4gdHdvIHZhbHVlczoKPsKgwqB8IGEgZGVjb2Rl ZCB2YWx1ZSBhbmQgYSBuZXcgcG9zaXRpb24gd2l0aGluIHRoZSBidWZmZXIgKGl0IGlzIGEgcG9p bnRlcgo+wqDCoHwgdG9vKS4KPsKgwqB8Cj7CoMKgfCBUaGlzIGNvbW1pdCBjaGFuZ2VzIGEgdHlw ZSBvZiB0aGUgcmV0dXJuZWQgcG9pbnRlcjogaXQgd2FzCj7CoMKgfCBjZGF0YTx1bnNpZ25lZCBj aGFyICo+LCBidXQgbm93IGl0IGlzIGNkYXRhPGNoYXIgKj4gb3IgY2RhdGE8Y29uc3QgY2hhcgo+ wqDCoHwgKj4gZGVwZW5kaW5nIG9mIGEgZnVuY3Rpb24gcGFyYW1ldGVyLgo+wqDCoHwKPsKgwqB8 IFRoZSBwcmltYXJ5IHJlYXNvbiB3aHkgdGhpcyBjaGFuZ2Ugd2FzIG1hZGUgaXMgdG8gdXNlCj7C oMKgfCBtc2dwYWNrZmZpLmRlY29kZSooKSB3aXRoICdidWZmZXInIG1vZHVsZSBzZWFtbGVzc2x5 OiByZWFkIG1zZ3BhY2sgZnJvbQo+wqDCoHwgJ3Jwb3MnIGZpZWxkIGFuZCB0aGVuIHByb21vdGUg J3Jwb3MnIHRvIHRoZSBuZXcgcG9zaXRpb246Cj7CoMKgfAo+wqDCoHwgfCBsb2NhbCBtc2dwYWNr ZmZpID0gcmVxdWlyZSgnbXNncGFja2ZmaScpCj7CoMKgfCB8IGxvY2FsIGJ1ZmZlciA9IHJlcXVp cmUoJ2J1ZmZlcicpCj7CoMKgfCB8Cj7CoMKgfCB8IGxvY2FsIGJ1ZiA9IGJ1ZmZlci5pYnVmKCkK PsKgwqB8IHwgPHdyaXRlIG1zZ3BhY2sgZGF0YSB0byAnYnVmJz4KPsKgwqB8IHwgbG9jYWwgcmVz Cj7CoMKgfCB8IHJlcywgYnVmLnJwb3MgPSBtc2dwYWNrZmZpLmRlY29kZShidWYucnBvcywgYnVm OnNpemUoKSkKPsKgwqB8Cj7CoMKgfCBCZWZvcmUgdGhpcyBjb21taXQgdGhlIGxhdHRlciBzdGF0 ZW1lbnQgZmFpbHMgd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yOgo+wqDCoHwKPsKgwqB8ID4gY2Fu bm90IGNvbnZlcnQgJ2NvbnN0IHVuc2lnbmVkIGNoYXIgKicgdG8gJ2NoYXIgKicKPsKgwqB8Cj7C oMKgfCBDbG9zZXMgIzM5MjYKPgo+WzFdOiAgaHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90 YXJhbnRvb2wvY29tbWl0cy9lbGphc2htL2doLTM5MjYtbXNncGFja2ZmaS5kZWNvZGUtYXNzaWdu bWVudC10by1idWYucnBvcwo+wqAgCsKgCsKgCi0tCk1hcmlhIEtoYXlkaWNoCsKgCsKg ----ALT--571f7F36Aa48eC286939d663Cb91F62f1576062943 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+CjxzdHls ZSB0eXBlPSJ0ZXh0L2NzcyI+Cjwvc3R5bGU+CjxkaXY+CjxkaXYgaWQ9InN0eWxlXzE1NzYwNjI2 NDcxNzM2NTk3MDI2X0JPRFkiPgo8ZGl2IGNsYXNzPSJjbGFzc18xNTc2MDgxMDg5Ij4KPGRpdj5G aXhlZCB0aGUgY29tbWl0IG1lc3NhZ2UgYWNjb3JkaW5nIHRvIHlvdXIgY29tbWVudHMuJm5ic3A7 PC9kaXY+Cgo8ZGl2PiZuYnNwOzwvZGl2PgoKPGRpdiBjbGFzcz0ibWFpbC1xdW90ZS1jb2xsYXBz ZSI+CjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjttYXJn aW46MTBweDtwYWRkaW5nOjAgMCAwIDEwcHg7Ij48c3BhbiBkYXRhLWVtYWlsPSJhbGV4YW5kZXIu dHVyZW5rb0B0YXJhbnRvb2wub3JnIiBkYXRhLW5hbWU9IkFsZXhhbmRlciBUdXJlbmtvIiBkYXRh LXF1b3RlLWlkPSIxNjkyMjg0NDIyNTgxNzE1MzA0IiBkYXRhLXRpbWVzdGFtcD0iMTU3NTg0ODE2 MCIgZGF0YS10eXBlPSJzZW5kZXIiPtCf0L7QvdC10LTQtdC70YzQvdC40LosIDkg0LTQtdC60LDQ sdGA0Y8gMjAxOSwgMjozNiArMDM6MDAg0L7RgiBBbGV4YW5kZXIgVHVyZW5rbyAmbHQ7PGEgaHJl Zj0iL2NvbXBvc2U/VG89YWxleGFuZGVyLnR1cmVua29AdGFyYW50b29sLm9yZyI+YWxleGFuZGVy LnR1cmVua29AdGFyYW50b29sLm9yZzwvYT4mZ3Q7Ojxicj4KJm5ic3A7IDwvc3Bhbj4KCjxkaXYg ZGF0YS1xdW90ZS1pZD0iMTY5MjI4NDQyMjU4MTcxNTMwNCIgZGF0YS10eXBlPSJib2R5Ij4KPGRp diBpZD0iIj4KPGRpdiBjbGFzcz0ianMtaGVscGVyX21haWxydV9jc3NfYXR0cmlidXRlX3Bvc3Rm aXgganMtcmVhZG1zZy1tc2dfbWFpbHJ1X2Nzc19hdHRyaWJ1dGVfcG9zdGZpeCI+CjxzdHlsZSB0 eXBlPSJ0ZXh0L2NzcyI+Cjwvc3R5bGU+CjxkaXY+CjxkaXYgaWQ9InN0eWxlXzE1NzU4NDgyMDgx MTEzNTkyODU5X0JPRFlfbWFpbHJ1X2Nzc19hdHRyaWJ1dGVfcG9zdGZpeCI+TEdUTSBmb3IgdGhl IGNvZGUuPGJyPgo8YnI+ClJlcXVlc3RlZCBjaGFuZ2VzIGZvciB0aGUgY29tbWl0IG1lc3NhZ2Us IHNlZSBiZWxvdy48YnI+Cjxicj4KUGxlYXNlLCBmaXggaXQgYW5kIHByb2NlZWQgdG8gdGhlIG5l eHQgcmV2aWV3ZXIgKEkgc3VnZ2VzdCB0byBzZW5kIHRoZTxicj4KcGF0Y2ggdG8gVmxhZCkuIExl YXZlIG1lIGluIENDLCBwbGVhc2UuPGJyPgo8YnI+CldCUiwgQWxleGFuZGVyIFR1cmVua28uPGJy Pgo8YnI+Ck9uIFdlZCwgTm92IDEzLCAyMDE5IGF0IDAyOjIxOjA2UE0gKzAzMDAsIE1hcmlhIEto YXlkaWNoIHdyb3RlOjxicj4KJmd0Ozxicj4KJmd0Ozxicj4KJmd0OyBUaGFuayB5b3UgZm9yIHRo ZSByZXZpZXcuIFByb3Bvc2VkIGNoYW5nZXMgbG9vayByZWFzb25hYmxlIHRvIG1lIHNvPGJyPgom Z3Q7IEnigJl2ZSBzcXVhc2hlZCB5b3VyIEZJWFVQIGNvbW1pdHMgYW5kIGFsc28gYWRkZWQgZm9s bG93IHVwIHBhdGNoIGFzIGE8YnI+CiZndDsgc2VwYXJhdGUgY29tbWl0LiZuYnNwOzxicj4KJmd0 OyAmbmJzcDs8YnI+CiZndDsgJmd0O9Ch0YDQtdC00LAsIDYg0L3QvtGP0LHRgNGPIDIwMTksIDM6 NDQgKzAzOjAwINC+0YIgQWxleGFuZGVyIFR1cmVua28gJmx0OzxhIHJlbD0ibm9vcGVuZXIgbm9y ZWZlcnJlciI+YWxleGFuZGVyLnR1cmVua29AdGFyYW50b29sLm9yZzwvYT4mZ3Q7Ojxicj4KPGJy PgpJIHRha2UgYSBnbGFuY2UgYXQgY29tbWl0cyBpbiBbMV0uIFNvcnJ5IGZvciB0aGUgYmlnIGRl bGF5Ljxicj4KPGJyPgpUaGUgbWVzc2FnZSBvZiB0aGUgZmlyc3QgY29tbWl0ICgnbXNncGFja2Zm aS5kZWNvZGUgY2FuIG5vdyBiZSBhc3NpZ25lZDxicj4KdG8gYnVmLnJwb3MnKSBub3cgcmVmbGVj dHMgYWxsIGludGVybWVkaWF0ZSBjaGFuZ2VzLiBJdCBzaG91bGQgbm90Ojxicj4KcGxlYXNlLCBy ZXdvcmQgdGhlIGNvbW1pdCBtZXNzc2FnZSB0byByZWZsZWN0IHRoZSByZXN1bHRpbmcgc3RhdGUg b2YgdGhlPGJyPgpwYXRjaC48YnI+Cjxicj4KSW4gdGhpcyBwYXJ0aWN1bGFyIGNhc2UgdGhlcmUg aXMgbm90aGluZyBpbiBtZXNzYWdlcyBJIGxlZnQgaW4gZml4dXA8YnI+CmNvbW1pdHMgdGhhdCBp cyB3b3J0aCB0byBzYXZlIGluIHRoZSByZXN1bHRpbmcgY29tbWl0IG1lc3NhZ2UuPGJyPgo8YnI+ ClRoZSBvcmlnaW5hbCBjb21taXQgbWVzc2FnZSBpcyB0aGUgZm9sbG93aW5nLCBJJ2xsIGNvbW1l bnQgaXQ6PGJyPgo8YnI+CiZndDsgbXNncGFja2ZmaS5kZWNvZGUgY2FuIG5vdyBiZSBhc3NpZ25l ZCB0byBidWYucnBvczxicj4KPGJyPgpXZSB1c3VhbGx5IHByZWZpeCBjb21taXQgbWVzc2FnZXMg d2l0aCBhIHN1YnN5c3RlbSB0aGF0IGlzIHRoZSBzdWJqZWN0PGJyPgpvZiBhIGNvbW1pdDogJ2x1 YScgaW4gdGhpcyBjYXNlLjxicj4KPGJyPgpJIHdvdWxkIHN0YXRlIHdoYXQgd2FzIGNoYW5nZWQg aW4gdGhlIGhlYWRlciAobXNncGFja2ZmaS5kZWNvZGUqKCk8YnI+CnJldHVybiB2YWx1ZSB0eXBl KSBhbmQgdGhlbiBkZXNjcmliZSB3aHkgKHRvIGFzc2lnbiB0byBycG9zKSBpbiB0aGU8YnI+CmNv bW1pdCBtZXNzYWdlLjxicj4KPGJyPgpNYXliZSB0aGlzIGlzIGp1c3QgbXkgcGVyc29uYWwgdGFz dGUuIEkgZG9uJ3QgaW5zaXN0IGFueXdheS48YnI+Cjxicj4KJmd0Ozxicj4KJmd0OyBGdW5jdGlv biBkZWNvZGUgb2YgbW9kdWxlIG1zZ3BhY2tmZmkgd2FzIHBhc3Npbmc8YnI+CiZndDsgdmFsdWUg b2YgdHlwZSBjb25zdCB1bnNpZ25lZCBjaGFyICogdG8gYSBDIGZ1bmN0aW9uPGJyPgomZ3Q7IHRo YXQgYWNjZXB0cyBhcmd1bWVudHMgb2YgdHlwZSBjb25zdCBjaGFyICouPGJyPgo8YnI+Cm1zZ3Bh Y2tmZmkuZGVjb2RlKCkgcmV0dXJucyAndW5zaWduZWQgY2hhciAqJywgdGhlbiBhIHVzZXIgcGFz c2VzIHRoaXM8YnI+CnJlc3VsdCB0byBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyAnY29uc3QgY2hh ciAqJz8gSXMgSSBpbnRlcnByZXQgaXQ8YnI+CnJpZ2h0PyBEaWRuJ3QgZ2V0IHRoaXMgbWVzc2Fn ZSwgdG8gYmUgaG9uZXN0Ljxicj4KPGJyPgomZ3Q7PGJyPgomZ3Q7IENsb3NlcyAjMzkyNjxicj4K PGJyPgpJIHdvdWxkIHJld29yZCBpdCBsaWtlIHNvIChqdXN0IGZvciBleGFtcGxlLCBsZXQncyB1 c2UgYW55IHdvcmRpbmcgeW91PGJyPgpjb21mb3J0YWJsZSB3aXRoKTo8YnI+Cjxicj4KJm5ic3A7 Jm5ic3A7fCBsdWE6IGRvbid0IG1vZGlmeSBwb2ludGVyIHR5cGUgaW4gbXNncGFja2ZmaS5kZWNv ZGUqPGJyPgombmJzcDsmbmJzcDt8PGJyPgombmJzcDsmbmJzcDt8IFdoZW4gbXNncGFja2ZmaS5k ZWNvZGUoKSBhbmQgbXNncGFja2ZmaS5kZWNvZGVfdW5jaGVja2VkKCkgYXJlIGNhbGxlZDxicj4K Jm5ic3A7Jm5ic3A7fCB3aXRoIGEgYnVmZmVyIChjZGF0YSZsdDtbY29uc3RdIGNoYXIgKiZndDsp IHBhcmFtZXRlciwgdGhleSByZXR1cm4gdHdvIHZhbHVlczo8YnI+CiZuYnNwOyZuYnNwO3wgYSBk ZWNvZGVkIHZhbHVlIGFuZCBhIG5ldyBwb3NpdGlvbiB3aXRoaW4gdGhlIGJ1ZmZlciAoaXQgaXMg YSBwb2ludGVyPGJyPgombmJzcDsmbmJzcDt8IHRvbykuPGJyPgombmJzcDsmbmJzcDt8PGJyPgom bmJzcDsmbmJzcDt8IFRoaXMgY29tbWl0IGNoYW5nZXMgYSB0eXBlIG9mIHRoZSByZXR1cm5lZCBw b2ludGVyOiBpdCB3YXM8YnI+CiZuYnNwOyZuYnNwO3wgY2RhdGEmbHQ7dW5zaWduZWQgY2hhciAq Jmd0OywgYnV0IG5vdyBpdCBpcyBjZGF0YSZsdDtjaGFyIComZ3Q7IG9yIGNkYXRhJmx0O2NvbnN0 IGNoYXI8YnI+CiZuYnNwOyZuYnNwO3wgKiZndDsgZGVwZW5kaW5nIG9mIGEgZnVuY3Rpb24gcGFy YW1ldGVyLjxicj4KJm5ic3A7Jm5ic3A7fDxicj4KJm5ic3A7Jm5ic3A7fCBUaGUgcHJpbWFyeSBy ZWFzb24gd2h5IHRoaXMgY2hhbmdlIHdhcyBtYWRlIGlzIHRvIHVzZTxicj4KJm5ic3A7Jm5ic3A7 fCBtc2dwYWNrZmZpLmRlY29kZSooKSB3aXRoICdidWZmZXInIG1vZHVsZSBzZWFtbGVzc2x5OiBy ZWFkIG1zZ3BhY2sgZnJvbTxicj4KJm5ic3A7Jm5ic3A7fCAncnBvcycgZmllbGQgYW5kIHRoZW4g cHJvbW90ZSAncnBvcycgdG8gdGhlIG5ldyBwb3NpdGlvbjo8YnI+CiZuYnNwOyZuYnNwO3w8YnI+ CiZuYnNwOyZuYnNwO3wgfCBsb2NhbCBtc2dwYWNrZmZpID0gcmVxdWlyZSgnbXNncGFja2ZmaScp PGJyPgombmJzcDsmbmJzcDt8IHwgbG9jYWwgYnVmZmVyID0gcmVxdWlyZSgnYnVmZmVyJyk8YnI+ CiZuYnNwOyZuYnNwO3wgfDxicj4KJm5ic3A7Jm5ic3A7fCB8IGxvY2FsIGJ1ZiA9IGJ1ZmZlci5p YnVmKCk8YnI+CiZuYnNwOyZuYnNwO3wgfCAmbHQ7d3JpdGUgbXNncGFjayBkYXRhIHRvICdidWYn Jmd0Ozxicj4KJm5ic3A7Jm5ic3A7fCB8IGxvY2FsIHJlczxicj4KJm5ic3A7Jm5ic3A7fCB8IHJl cywgYnVmLnJwb3MgPSBtc2dwYWNrZmZpLmRlY29kZShidWYucnBvcywgYnVmOnNpemUoKSk8YnI+ CiZuYnNwOyZuYnNwO3w8YnI+CiZuYnNwOyZuYnNwO3wgQmVmb3JlIHRoaXMgY29tbWl0IHRoZSBs YXR0ZXIgc3RhdGVtZW50IGZhaWxzIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvcjo8YnI+CiZuYnNw OyZuYnNwO3w8YnI+CiZuYnNwOyZuYnNwO3wgJmd0OyBjYW5ub3QgY29udmVydCAnY29uc3QgdW5z aWduZWQgY2hhciAqJyB0byAnY2hhciAqJzxicj4KJm5ic3A7Jm5ic3A7fDxicj4KJm5ic3A7Jm5i c3A7fCBDbG9zZXMgIzM5MjY8YnI+Cjxicj4KWzFdOiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j b20vdGFyYW50b29sL3RhcmFudG9vbC9jb21taXRzL2VsamFzaG0vZ2gtMzkyNi1tc2dwYWNrZmZp LmRlY29kZS1hc3NpZ25tZW50LXRvLWJ1Zi5ycG9zIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIi IHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9j b21taXRzL2VsamFzaG0vZ2gtMzkyNi1tc2dwYWNrZmZpLmRlY29kZS1hc3NpZ25tZW50LXRvLWJ1 Zi5ycG9zPC9hPjxicj4KJm5ic3A7PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8 L2Jsb2NrcXVvdGU+CjwvZGl2PgombmJzcDsKCjxkaXY+Jm5ic3A7PC9kaXY+Cgo8ZGl2IGRhdGEt c2lnbmF0dXJlLXdpZGdldD0iY29udGFpbmVyIj4KPGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9 ImNvbnRlbnQiPgo8ZGl2Pi0tPGJyPgpNYXJpYSBLaGF5ZGljaDwvZGl2Pgo8L2Rpdj4KPC9kaXY+ Cgo8ZGl2PiZuYnNwOzwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KCjxkaXY+Jm5i c3A7PC9kaXY+CjwvQk9EWT48L0hUTUw+Cg== ----ALT--571f7F36Aa48eC286939d663Cb91F62f1576062943--