From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 702512157B for ; Tue, 10 Jul 2018 11:10:35 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 14V0qWTmWpnR for ; Tue, 10 Jul 2018 11:10:35 -0400 (EDT) Received: from f506.i.mail.ru (f506.i.mail.ru [217.69.138.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id EC5CF214ED for ; Tue, 10 Jul 2018 11:10:34 -0400 (EDT) From: =?UTF-8?B?S29uc3RhbnRpbiBCZWx5YXZza2l5?= Subject: [tarantool-patches] =?UTF-8?B?UmU6IFt0YXJhbnRvb2wtcGF0Y2hlc10gUmU6IFtQQVRDSCB2NSAyLzJdIHJl?= =?UTF-8?B?cGxpY2F0aW9uOiBmb3JjZSBnYyB0byBjbGVhbiB4ZGlyIG9uIEVOT1NQQyBl?= =?UTF-8?B?cnI=?= MIME-Version: 1.0 Date: Tue, 10 Jul 2018 18:10:32 +0300 Message-ID: <1531235432.907548046@f506.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--N01x7nfDRroxKMwxdfJLPwVwbKLJuIY71531235432" In-Reply-To: <20180706170023.GA29935@chai> References: <31d0178970ffb16aa02d245585d6fb9e4b4ffea2.1530815780.git.k.belyavskiy@tarantool.org> <20180706170023.GA29935@chai> Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: =?UTF-8?B?S29uc3RhbnRpbiBPc2lwb3Y=?= Cc: =?UTF-8?B?dGFyYW50b29sLXBhdGNoZXM=?= ----ALT--N01x7nfDRroxKMwxdfJLPwVwbKLJuIY71531235432 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CgoKPtCf0Y/RgtC90LjRhtCwLCAgNiDQuNGO0LvRjyAyMDE4LCAyMDowMCArMDM6MDAg0L7RgiBL b25zdGFudGluIE9zaXBvdiA8a29zdGphQHRhcmFudG9vbC5vcmc+Ogo+Cj4qIEtvbnN0YW50aW4g QmVseWF2c2tpeSA8IGsuYmVseWF2c2tpeUB0YXJhbnRvb2wub3JnID4gWzE4LzA3LzA1IDIyOjU2 XToKPj4gR2FyYmFnZSBjb2xsZWN0b3IgZG8gbm90IGRlbGV0ZSB4bG9nIHVubGVzcyByZXBsaWNh IGRvIG5vdCBub3RpZnkKPj4gbWFzdGVyIHdpdGggbmV3ZXIgdmNsb2NrLiBUaGlzIGNhbiBsZWFk IHRvIHJ1bm5pbmcgb3V0IG9mIGRpc2sKPj4gc3BhY2UgZXJyb3IgYW5kIHRoaXMgaXMgbm90IHJp Z2h0IGJlaGF2aW91ciBzaW5jZSBpdCB3aWxsIHN0b3AgdGhlCj4+IG1hc3Rlci4KPj4gRml4IGl0 IGJ5IGZvcmNpbmcgZ2MgdG8gY2xlYW4geGxvZ3MgZm9yIHJlcGxpY2Egd2l0aCBoaWdoZXN0IGxh Zy4KPj4gQWRkIGFuIGVycm9yIGluamVjdGlvbiBhbmQgYSB0ZXN0Lgo+Cj5QbGVhc2UgcmViYXNl IHRoaXMgcGF0Y2ggdG8gdGhlIGxhdGVzdCAxLjEwCj4KPlBsZWFzZSB1c2UgcmVsYXlfc3RvcCgp IGFzIGEgY2FsbGJhY2sgdG8gdW5yZWdpc3RlciB0aGUgY29uc3VtZXIuIApSZWJhc2UgdG8gMS4x MCAtIG9rLgoKVXNpbmcgcmVsYXlfc3RvcCgpIG1ha2VzIHNlbnNlwqBvbmx5IHdpdGggcmVwbGlj YV9vbl9yZWxheV9zdG9wKCkswqBzaW5jZQpyZWxheV9zdG9wKCkgaXRzZWxmwqBhY3R1YWxseSBk byBub3RoaW5nIHdpdGggY29uc3VtZXJzLgpSZWdhcmRpbmfCoHJlcGxpY2Ffb25fcmVsYXlfc3Rv cCgpLCByZXBsaWNhIHNob3VsZCBiZSBpbiAib3JwaGFuIiBtb2RlCnRvIGF2b2lkIGFzc2VydGlv biBpbiByZXBsaWNhX2RlbGV0ZSgpLiBBbmQgYWxzbyB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aApt b25pdG9yaW5nLCBzaW5jZSByZXBsaWNhIHdpbGwgbGVhdmUgcmVwbGljYXRpb24gY2x1c3RlciBh bmQgdGh1cyBzaWxlbnTCoHRoZcKgZXJyb3IuCgpPbiBvdGhlciBoYW5kLCBpbiBjYXNlIG9mIGlt cGxlbWVudGF0aW9uIGJhc2VkIG9uIHJlbW92aW5nIGNvbnN1bWVyLApyZXBsaWNhLCBpZiBiZWlu ZyBhY3RpdmUgYWdhaW4sIHdpbGzCoGdldCBhbiBMU04gZ2FwIGFuZCB3ZSB3aWxsIHNlZSBhbiBl cnJvci4KCjEuIFBsZWFzZSBnaXZlIGZlZWRiYWNrIG9uIHRoaXMgc2VjdGlvbi4KMi4gSWYgbm90 IHVzaW5nIHJlbGF5X3N0b3AoKSwgd2hpY2ggYnJhbmNoIHVzZSBhcyBhIGJhc2UgMS45IG9yIDEu MTA/Cgo+Cj4+ICt2b2lkCj4+ICtnY194ZGlyX2NsZWFuX25vdGlmeSgpCj4+ICt7Cj4+ICsJLyoK Pj4gKwkgKiBDb21wYXJlIHRoZSBjdXJyZW50IHRpbWUgd2l0aCB0aGUgdGltZSBvZiB0aGUgbGFz dCBydW4uCj4+ICsJICogVGhpcyBpcyBuZWVkZWQgaW4gY2FzZSBvZiBtdWx0aXBsZSBmYWlsdXJl cyB0byBwcmV2ZW50Cj4+ICsJICogZnJvbSBkZWxldGluZyBhbGwgcmVwbGljYXMuCj4KPgo+PiAr CSAqLwo+PiArCXN0YXRpYyBkb3VibGUgcHJldl90aW1lID0gMC47Cj4+ICsJZG91YmxlIGN1cl90 aW1lID0gZXZfbW9ub3RvbmljX3RpbWUoKTsKPj4gKwlpZiAoY3VyX3RpbWUgLSBwcmV2X3RpbWUg PCAxLikKPj4gKwkJcmV0dXJuOwo+Cj5UaGlzIHRocm90dGxlcyBnYywgd2hpY2ggaXMgZ29vZC4g QnV0IHdlIHdvdWxkIHN0aWxsIGdldCBhIGxvdCBvZiBtZXNzYWdlcwo+ZnJvbSBXQUwgdGhyZWFk LiBNYXliZSB3ZSBzaG91bGQgbW92ZSB0aGUgdGhyb3R0bGluZyB0byB0aGUgV0FMCj5zaWRlPyBU aGlzIHdvdWxkIHNwYXJlIHVzIGZyb20gY3JlYXRpbmcgdGhlIG1lc3NhZ2UgYXMgd2VsbC4KPklk ZWFsbHkgd2Ugc2hvdWxkIHVzZSBhIHNpbmdsZSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBtZXNzYWdl IGZyb20KPnRoZSBXQUwgZm9yIHRoaXMgcHVycG9zZSAoYnV0IHN0aWxsIHRocm90dGxlIGl0IGFz IHdlbGwpLgo+Cj5QbHVzLCBldmVudHVhbGx5IHlvdSdyZSBnb2luZyB0byByZWFjaCBhIHN0YXRl IHdoZW4ga2lja2luZyBvZmYKPnJlcGxpY2FzIGRvZXNuJ3QgaGVscCB3aXRoIHNwYWNlLiBJbiB0 aGlzIGNhc2UgeW91J3JlIGdvaW5nIHRvCj5oYXZlIGEgbG90IG9mIG1lc3NhZ2VzLCBhbmQgdGhl eSBhcmUgZ29pbmcgdG8gYmUgYWxsIHVzZWxlc3MuCj5UaGlzIGFsc28gc3VnZ2VzdHMgdGhhdCB0 aHJvdHRsaW5nIHNob3VsZCBiZSBkb25lIG9uIHRoZSBXQUwgc2lkZS4KRG9uZS4KPgo+PiArCXBy ZXZfdGltZSA9IGN1cl90aW1lOwo+PiArCXN0cnVjdCBnY19jb25zdW1lciAqbGVmdG1vc3QgPQo+ PiArCSAgICBnY190cmVlX2ZpcnN0KCZnYy5jb25zdW1lcnMpOwo+PiArCS8qCj4+ICsJICogRXhp dCBpZiBubyBjb25zdW1lcnMgbGVmdCBvciBpZiB0aGlzIGNvbnN1bWVyIGlzCj4+ICsJICogbm90 IGFzc29jaWF0ZWQgd2l0aCByZXBsaWNhIChiYWNrdXAgZm9yIGV4YW1wbGUpLgo+PiArCSAqLwo+ Cj4+ICsJaWYgKGxlZnRtb3N0ID09IE5VTEwgfHwgbGVmdG1vc3QtPnJlcGxpY2EgPT0gTlVMTCkK Pj4gKwkJcmV0dXJuOwo+Cj4KPj4gKwkvKgo+PiArCSAqIFdlIGhhdmUgdG8gbWFpbnRhaW4gQGNo ZWNrcG9pbnRfY291bnQgb2xkZXN0IHNuYXBzaG90cywKPj4gKwkgKiBwbHVzIHdlIGNhbid0IHJl bW92ZSBzbmFwc2hvdHMgdGhhdCBhcmUgc3RpbGwgaW4gdXNlLgo+PiArCSAqIFNvIGlmIGxlZnRt b3N0IHJlcGxpY2EgaGFzIHNpZ25hdHVyZSBncmVhdGVyIG9yIGVxdWVsCj4+ICsJICogdGhlbiB0 aGUgb2xkZXN0IGNoZWNrcG9pbnQgdGhhdCBtdXN0IGJlIHByZXNlcnZlZCwKPj4gKwkgKiBub3Ro aW5nIHRvIGRvLgo+PiArCSAqLwo+Cj5UaGlzIGNvbW1lbnQgaXMgdXNlZnVsLCBidXQgdGhlIHNl YXJjaCBpbiBjaGVja3BvaW50IGFycmF5IGlzIG5vdC4KPldoYXQgYWJvdXQgcG9zc2libGUgb3Ro ZXIgdHlwZXMgb2YgY29uc3VtZXJzIHdoaWNoIGFyZSBub3QKPmRpc3BlbnNhYmxlIHdpdGggYW55 d2F5LCBlLmcuIGJhY2t1cHM/IFdoYXQgaWYgdGhleSBhcmUgaG9sZGluZyBhCj5yZWZlcmVuY2Ug YXMgd2VsbD8gCj4KPkFwcGFyZW50bHkgdGhpcyBjaGVjayBpcyB0YWtpbmcgY2FyZSBvZiB0aGUg cHJvYmxlbToKSW4gcHJldmlvdXMgcmV2aWV3IHlvdSBoYXZlIGFscmVhZHkgbWVudGlvbmVkIHRo aXMgcHJvYmxlbSwgc2VhcmNoaW5nCmluwqBjaGVja3BvaW50IGFycmF5IGhlbHBzIGluIGNhc2Ug dGhlbiBsYXN0IHN0b3JlZCBjaGVja3BvaW50IGhhc8KgZXhhY3RseQp0aGUgc2FtZSB2YWx1ZS4K QnV0IGluIGdlbmVyYWwsIGNoZWNrIGJlbG93IGFscmVhZHkgcHJldmVudHMgcmVwbGljYXMgZnJv bSBkZWxldGlvbi4KU2hvdWxkIEkga2VlcCBpdCAoc2VhcmNoaW5nIGluIGNoZWNrcG9pbnQgYXJy YXkpPwo+Cj4KPj4gKwlpZiAobGVmdG1vc3QgPT0gTlVMTCB8fCBsZWZ0bW9zdC0+cmVwbGljYSA9 PSBOVUxMKQo+PiArCQlyZXR1cm47Cj4KPkNvdWxkIHlvdSB3cml0ZSBhIHRlc3Qgd2l0aCB0d28g Cj4iYWJhbmRvbmVkIiByZXBsaWNhcywgZWFjaCBob2xkaW5nIGFuIHhsb2cgZmlsZT8gCldoaWNo IHhsb2csIHRoZSBzYW1lIG9uZSBvciBkaWZmZXJlbnQgZm9yIGVhY2ggcmVwbGljYXM/Cj4KPgo+ LS0gCj5Lb25zdGFudGluIE9zaXBvdiwgTW9zY293LCBSdXNzaWEsICArNyA5MDMgNjI2IDIyIDMy Cj5odHRwOi8vdGFyYW50b29sLmlvIC0gIHd3dy50d2l0dGVyLmNvbS9rb3N0amFfb3NpcG92Cj4K CgpCZXN0IHJlZ2FyZHMsCktvbnN0YW50aW4gQmVseWF2c2tpeQprLmJlbHlhdnNraXlAdGFyYW50 b29sLm9yZwo= ----ALT--N01x7nfDRroxKMwxdfJLPwVwbKLJuIY71531235432 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxicj48YnI+PGJyPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDox cHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPgoJ0J/R j9GC0L3QuNGG0LAsICA2INC40Y7Qu9GPIDIwMTgsIDIwOjAwICswMzowMCDQvtGCIEtvbnN0YW50 aW4gT3NpcG92ICZsdDtrb3N0amFAdGFyYW50b29sLm9yZyZndDs6PGJyPjxicj48ZGl2IGlkPSIi PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHls ZV8xNTMwODk2NDM2MDAwMDAwMDMzOV9CT0RZIj4qIEtvbnN0YW50aW4gQmVseWF2c2tpeSAmbHQ7 PGEgaHJlZj0ibWFpbHRvOmsuYmVseWF2c2tpeUB0YXJhbnRvb2wub3JnIj5rLmJlbHlhdnNraXlA dGFyYW50b29sLm9yZzwvYT4mZ3Q7IFsxOC8wNy8wNSAyMjo1Nl06PGJyPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ3Q7IEdhcmJhZ2UgY29sbGVjdG9yIGRvIG5vdCBkZWxldGUg eGxvZyB1bmxlc3MgcmVwbGljYSBkbyBub3Qgbm90aWZ5PGJyPgomZ3Q7IG1hc3RlciB3aXRoIG5l d2VyIHZjbG9jay4gVGhpcyBjYW4gbGVhZCB0byBydW5uaW5nIG91dCBvZiBkaXNrPGJyPgomZ3Q7 IHNwYWNlIGVycm9yIGFuZCB0aGlzIGlzIG5vdCByaWdodCBiZWhhdmlvdXIgc2luY2UgaXQgd2ls bCBzdG9wIHRoZTxicj4KJmd0OyBtYXN0ZXIuPGJyPgomZ3Q7IEZpeCBpdCBieSBmb3JjaW5nIGdj IHRvIGNsZWFuIHhsb2dzIGZvciByZXBsaWNhIHdpdGggaGlnaGVzdCBsYWcuPGJyPgomZ3Q7IEFk ZCBhbiBlcnJvciBpbmplY3Rpb24gYW5kIGEgdGVzdC48YnI+PGJyPgpQbGVhc2UgcmViYXNlIHRo aXMgcGF0Y2ggdG8gdGhlIGxhdGVzdCAxLjEwPGJyPjxicj4KUGxlYXNlIHVzZSByZWxheV9zdG9w KCkgYXMgYSBjYWxsYmFjayB0byB1bnJlZ2lzdGVyIHRoZSBjb25zdW1lci48L2Rpdj48L2Rpdj48 L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+UmViYXNlIHRvIDEuMTAgLSBvay48YnI+PGJyPlVzaW5n IHJlbGF5X3N0b3AoKSBtYWtlcyBzZW5zZSZuYnNwO29ubHkgd2l0aCByZXBsaWNhX29uX3JlbGF5 X3N0b3AoKSwmbmJzcDtzaW5jZTxicj5yZWxheV9zdG9wKCkgaXRzZWxmJm5ic3A7YWN0dWFsbHkg ZG8gbm90aGluZyB3aXRoIGNvbnN1bWVycy48YnI+UmVnYXJkaW5nJm5ic3A7cmVwbGljYV9vbl9y ZWxheV9zdG9wKCksIHJlcGxpY2Egc2hvdWxkIGJlIGluICJvcnBoYW4iIG1vZGU8YnI+dG8gYXZv aWQgYXNzZXJ0aW9uIGluIHJlcGxpY2FfZGVsZXRlKCkuIEFuZCBhbHNvIHRoZXJlIGlzIGEgcHJv YmxlbSB3aXRoPGJyPm1vbml0b3JpbmcsIHNpbmNlIHJlcGxpY2Egd2lsbCBsZWF2ZSByZXBsaWNh dGlvbiBjbHVzdGVyIGFuZCB0aHVzIHNpbGVudCZuYnNwO3RoZSZuYnNwO2Vycm9yLjxicj48YnI+ T24gb3RoZXIgaGFuZCwgaW4gY2FzZSBvZiBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiByZW1vdmlu ZyBjb25zdW1lciw8YnI+cmVwbGljYSwgaWYgYmVpbmcgYWN0aXZlIGFnYWluLCB3aWxsJm5ic3A7 Z2V0IGFuIExTTiBnYXAgYW5kIHdlIHdpbGwgc2VlIGFuIGVycm9yLjxicj48YnI+MS4gUGxlYXNl IGdpdmUgZmVlZGJhY2sgb24gdGhpcyBzZWN0aW9uLjxicj4yLiBJZiBub3QgdXNpbmcgcmVsYXlf c3RvcCgpLCB3aGljaCBicmFuY2ggdXNlIGFzIGEgYmFzZSAxLjkgb3IgMS4xMD88YnI+PGJyPjxi bG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEw cHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXYgaWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVscGVy IGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9InN0eWxlXzE1MzA4OTY0MzYwMDAwMDAwMzM5 X0JPRFkiPjxicj4KJmd0OyArdm9pZDxicj4KJmd0OyArZ2NfeGRpcl9jbGVhbl9ub3RpZnkoKTxi cj4KJmd0OyArezxicj4KJmd0OyArCS8qPGJyPgomZ3Q7ICsJICogQ29tcGFyZSB0aGUgY3VycmVu dCB0aW1lIHdpdGggdGhlIHRpbWUgb2YgdGhlIGxhc3QgcnVuLjxicj4KJmd0OyArCSAqIFRoaXMg aXMgbmVlZGVkIGluIGNhc2Ugb2YgbXVsdGlwbGUgZmFpbHVyZXMgdG8gcHJldmVudDxicj4KJmd0 OyArCSAqIGZyb20gZGVsZXRpbmcgYWxsIHJlcGxpY2FzLjxicj48YnI+PGJyPgomZ3Q7ICsJICov PGJyPgomZ3Q7ICsJc3RhdGljIGRvdWJsZSBwcmV2X3RpbWUgPSAwLjs8YnI+CiZndDsgKwlkb3Vi bGUgY3VyX3RpbWUgPSBldl9tb25vdG9uaWNfdGltZSgpOzxicj4KJmd0OyArCWlmIChjdXJfdGlt ZSAtIHByZXZfdGltZSAmbHQ7IDEuKTxicj4KJmd0OyArCQlyZXR1cm47PGJyPjxicj4KVGhpcyB0 aHJvdHRsZXMgZ2MsIHdoaWNoIGlzIGdvb2QuIEJ1dCB3ZSB3b3VsZCBzdGlsbCBnZXQgYSBsb3Qg b2YgbWVzc2FnZXM8YnI+CmZyb20gV0FMIHRocmVhZC4gTWF5YmUgd2Ugc2hvdWxkIG1vdmUgdGhl IHRocm90dGxpbmcgdG8gdGhlIFdBTDxicj4Kc2lkZT8gVGhpcyB3b3VsZCBzcGFyZSB1cyBmcm9t IGNyZWF0aW5nIHRoZSBtZXNzYWdlIGFzIHdlbGwuPGJyPgpJZGVhbGx5IHdlIHNob3VsZCB1c2Ug YSBzaW5nbGUgc3RhdGljYWxseSBhbGxvY2F0ZWQgbWVzc2FnZSBmcm9tPGJyPgp0aGUgV0FMIGZv ciB0aGlzIHB1cnBvc2UgKGJ1dCBzdGlsbCB0aHJvdHRsZSBpdCBhcyB3ZWxsKS48YnI+PGJyPgpQ bHVzLCBldmVudHVhbGx5IHlvdSdyZSBnb2luZyB0byByZWFjaCBhIHN0YXRlIHdoZW4ga2lja2lu ZyBvZmY8YnI+CnJlcGxpY2FzIGRvZXNuJ3QgaGVscCB3aXRoIHNwYWNlLiBJbiB0aGlzIGNhc2Ug eW91J3JlIGdvaW5nIHRvPGJyPgpoYXZlIGEgbG90IG9mIG1lc3NhZ2VzLCBhbmQgdGhleSBhcmUg Z29pbmcgdG8gYmUgYWxsIHVzZWxlc3MuPGJyPgpUaGlzIGFsc28gc3VnZ2VzdHMgdGhhdCB0aHJv dHRsaW5nIHNob3VsZCBiZSBkb25lIG9uIHRoZSBXQUwgc2lkZS48YnI+PC9kaXY+PC9kaXY+PC9k aXY+PC9kaXY+PC9ibG9ja3F1b3RlPkRvbmUuPGJyPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXIt bGVmdDoxcHggc29saWQgIzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsi PjxkaXYgaWQ9IiI+PGRpdiBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2Pjxk aXYgaWQ9InN0eWxlXzE1MzA4OTY0MzYwMDAwMDAwMzM5X0JPRFkiPjxicj4KJmd0OyArCXByZXZf dGltZSA9IGN1cl90aW1lOzxicj4KJmd0OyArCXN0cnVjdCBnY19jb25zdW1lciAqbGVmdG1vc3Qg PTxicj4KJmd0OyArCSAgICBnY190cmVlX2ZpcnN0KCZhbXA7Z2MuY29uc3VtZXJzKTs8YnI+CiZn dDsgKwkvKjxicj4KJmd0OyArCSAqIEV4aXQgaWYgbm8gY29uc3VtZXJzIGxlZnQgb3IgaWYgdGhp cyBjb25zdW1lciBpczxicj4KJmd0OyArCSAqIG5vdCBhc3NvY2lhdGVkIHdpdGggcmVwbGljYSAo YmFja3VwIGZvciBleGFtcGxlKS48YnI+CiZndDsgKwkgKi88YnI+PGJyPgomZ3Q7ICsJaWYgKGxl ZnRtb3N0ID09IE5VTEwgfHwgbGVmdG1vc3QtJmd0O3JlcGxpY2EgPT0gTlVMTCk8YnI+CiZndDsg KwkJcmV0dXJuOzxicj48YnI+PGJyPgomZ3Q7ICsJLyo8YnI+CiZndDsgKwkgKiBXZSBoYXZlIHRv IG1haW50YWluIEBjaGVja3BvaW50X2NvdW50IG9sZGVzdCBzbmFwc2hvdHMsPGJyPgomZ3Q7ICsJ ICogcGx1cyB3ZSBjYW4ndCByZW1vdmUgc25hcHNob3RzIHRoYXQgYXJlIHN0aWxsIGluIHVzZS48 YnI+CiZndDsgKwkgKiBTbyBpZiBsZWZ0bW9zdCByZXBsaWNhIGhhcyBzaWduYXR1cmUgZ3JlYXRl ciBvciBlcXVlbDxicj4KJmd0OyArCSAqIHRoZW4gdGhlIG9sZGVzdCBjaGVja3BvaW50IHRoYXQg bXVzdCBiZSBwcmVzZXJ2ZWQsPGJyPgomZ3Q7ICsJICogbm90aGluZyB0byBkby48YnI+CiZndDsg KwkgKi88YnI+PGJyPgpUaGlzIGNvbW1lbnQgaXMgdXNlZnVsLCBidXQgdGhlIHNlYXJjaCBpbiBj aGVja3BvaW50IGFycmF5IGlzIG5vdC48YnI+CldoYXQgYWJvdXQgcG9zc2libGUgb3RoZXIgdHlw ZXMgb2YgY29uc3VtZXJzIHdoaWNoIGFyZSBub3Q8YnI+CmRpc3BlbnNhYmxlIHdpdGggYW55d2F5 LCBlLmcuIGJhY2t1cHM/IFdoYXQgaWYgdGhleSBhcmUgaG9sZGluZyBhPGJyPgpyZWZlcmVuY2Ug YXMgd2VsbD8gPGJyPjxicj4KQXBwYXJlbnRseSB0aGlzIGNoZWNrIGlzIHRha2luZyBjYXJlIG9m IHRoZSBwcm9ibGVtOjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48YnI+SW4g cHJldmlvdXMgcmV2aWV3IHlvdSBoYXZlIGFscmVhZHkgbWVudGlvbmVkIHRoaXMgcHJvYmxlbSwg c2VhcmNoaW5nPGJyPmluJm5ic3A7Y2hlY2twb2ludCBhcnJheSBoZWxwcyBpbiBjYXNlIHRoZW4g bGFzdCBzdG9yZWQgY2hlY2twb2ludCBoYXMmbmJzcDtleGFjdGx5PGJyPnRoZSBzYW1lIHZhbHVl Ljxicj5CdXQgaW4gZ2VuZXJhbCwgY2hlY2sgYmVsb3cgYWxyZWFkeSBwcmV2ZW50cyByZXBsaWNh cyBmcm9tIGRlbGV0aW9uLjxicj5TaG91bGQgSSBrZWVwIGl0IChzZWFyY2hpbmcgaW4gY2hlY2tw b2ludCBhcnJheSk/PGJyPjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXItbGVmdDoxcHggc29saWQg IzA4NTdBNjsgbWFyZ2luOjEwcHg7IHBhZGRpbmc6MCAwIDAgMTBweDsiPjxkaXYgaWQ9IiI+PGRp diBjbGFzcz0ianMtaGVscGVyIGpzLXJlYWRtc2ctbXNnIj48ZGl2PjxkaXYgaWQ9InN0eWxlXzE1 MzA4OTY0MzYwMDAwMDAwMzM5X0JPRFkiPjxicj48YnI+CiZndDsgKwlpZiAobGVmdG1vc3QgPT0g TlVMTCB8fCBsZWZ0bW9zdC0mZ3Q7cmVwbGljYSA9PSBOVUxMKTxicj4KJmd0OyArCQlyZXR1cm47 PGJyPjxicj4KQ291bGQgeW91IHdyaXRlIGEgdGVzdCB3aXRoIHR3byA8YnI+CiJhYmFuZG9uZWQi IHJlcGxpY2FzLCBlYWNoIGhvbGRpbmcgYW4geGxvZyBmaWxlPzwvZGl2PjwvZGl2PjwvZGl2Pjwv ZGl2PjwvYmxvY2txdW90ZT5XaGljaCB4bG9nLCB0aGUgc2FtZSBvbmUgb3IgZGlmZmVyZW50IGZv ciBlYWNoIHJlcGxpY2FzPzxicj48YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNv bGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBwYWRkaW5nOjAgMCAwIDEwcHg7Ij48ZGl2IGlkPSIi PjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PGRpdj48ZGl2IGlkPSJzdHls ZV8xNTMwODk2NDM2MDAwMDAwMDMzOV9CT0RZIj48YnI+PGJyPgotLSA8YnI+CktvbnN0YW50aW4g T3NpcG92LCBNb3Njb3csIFJ1c3NpYSwgPHNwYW4gY2xhc3M9ImpzLXBob25lLW51bWJlciI+Kzcg OTAzIDYyNiAyMiAzMjwvc3Bhbj48YnI+PGEgaHJlZj0iaHR0cDovL3RhcmFudG9vbC5pbyIgdGFy Z2V0PSJfYmxhbmsiPmh0dHA6Ly90YXJhbnRvb2wuaW88L2E+IC0gPGEgaHJlZj0iaHR0cDovL3d3 dy50d2l0dGVyLmNvbS9rb3N0amFfb3NpcG92IiB0YXJnZXQ9Il9ibGFuayI+d3d3LnR3aXR0ZXIu Y29tL2tvc3RqYV9vc2lwb3Y8L2E+PGJyPjxicj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Js b2NrcXVvdGU+Cjxicj4KPGJyPkJlc3QgcmVnYXJkcyw8YnI+S29uc3RhbnRpbiBCZWx5YXZza2l5 PGJyPmsuYmVseWF2c2tpeUB0YXJhbnRvb2wub3JnPGJyPjwvQk9EWT48L0hUTUw+Cg== ----ALT--N01x7nfDRroxKMwxdfJLPwVwbKLJuIY71531235432--