From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f128.i.mail.ru (f128.i.mail.ru [94.100.188.37]) (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 6CFD1430409 for ; Wed, 26 Aug 2020 10:31:38 +0300 (MSK) From: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= MIME-Version: 1.0 Date: Wed, 26 Aug 2020 10:31:37 +0300 Reply-To: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= Message-ID: <1598427097.413655454@f128.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--d28C40c84352569c5AfcD76a67E66eA41598427097" In-Reply-To: <20200825124939.GB47610@pony.bronevichok.ru> References: <8c3b7d4c-22e8-108a-b15e-ef3c89510a63@tarantool.org> <20200825124939.GB47610@pony.bronevichok.ru> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_2/3=5D_replication=3A_test?= =?utf-8?q?_clear=5Fsynchro=5Fqueue_function?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?U2VyZ2V5IEJyb25uaWtvdg==?= Cc: tarantool-patches@dev.tarantool.org, =?UTF-8?B?VmxhZGlzbGF2IFNocGlsZXZveQ==?= ----ALT--d28C40c84352569c5AfcD76a67E66eA41598427097 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpLCBTZXJnZXkhClRoYW5rcyBmb3IgdGhlIHBhdGNoIGFuZCB0aGUgZml4ZXMuIE5ldyB2ZXJz aW9uIExHVE0uIEkgY291bGRu4oCZdCBmaW5kIHRoZSBvdGhlciBwYXRjaGVzIGluIG15IG1haWxi b3ggdGhvdWdoLCBjb3VsZCB5b3UgcGxlYXNlIHJlc2VuZCB0aGVtPyBJZiB5b3UgbmVlZCBteSBy ZXZpZXcsIG9mIGNvdXJzZS4gCj7QktGC0L7RgNC90LjQuiwgMjUg0LDQstCz0YPRgdGC0LAgMjAy MCwgMTU6NDkgKzAzOjAwINC+0YIgU2VyZ2V5IEJyb25uaWtvdiA8c2VyZ2V5YkB0YXJhbnRvb2wu b3JnPjoKPsKgCj5WbGFkLCB0aGFua3MgZm9yIHJldmlldyEKPlBhdGNoZXMgdXBkYXRlZCBpbiBh IGJyYW5jaCBhbmQgcGxlYXNlIHNlZSBteSBhbnN3ZXJzIGlubGluZS4KPgo+T24gMDA6MDAgVHVl IDIxIEp1bCAsIFZsYWRpc2xhdiBTaHBpbGV2b3kgd3JvdGU6Cj4+IFRoYW5rcyBmb3IgdGhlIHBh dGNoIQo+Pgo+PiBTZWUgOCBjb21tZW50cyBiZWxvdy4KPj4KPj4gT24gMDkuMDcuMjAyMCAxOTox NiwgIHNlcmdleWJAdGFyYW50b29sLm9yZyB3cm90ZToKPj4gPiBGcm9tOiBTZXJnZXkgQnJvbm5p a292IDwgc2VyZ2V5YkB0YXJhbnRvb2wub3JnID4KPj4gPgo+PiA+IFBhcnQgb2YgIzUwNTUKPj4g PiBQYXJ0IG9mICM0ODQ5Cj4+ID4gLS0tCj4+ID4gdGVzdC9yZXBsaWNhdGlvbi9xc3luY19iYXNp Yy5yZXN1bHQgfCA4NSArKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gPiB0ZXN0L3JlcGxp Y2F0aW9uL3FzeW5jX2Jhc2ljLnRlc3QubHVhIHwgMzEgKysrKysrKysrKwo+PiA+IDIgZmlsZXMg Y2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKykKPj4gPgo+PiA+IGRpZmYgLS1naXQgYS90ZXN0L3Jl cGxpY2F0aW9uL3FzeW5jX2Jhc2ljLnJlc3VsdCBiL3Rlc3QvcmVwbGljYXRpb24vcXN5bmNfYmFz aWMucmVzdWx0Cj4+ID4gaW5kZXggYWI0YmUwYzdlLi40NjRkZjc1YTcgMTAwNjQ0Cj4+ID4gLS0t IGEvdGVzdC9yZXBsaWNhdGlvbi9xc3luY19iYXNpYy5yZXN1bHQKPj4gPiArKysgYi90ZXN0L3Jl cGxpY2F0aW9uL3FzeW5jX2Jhc2ljLnJlc3VsdAo+PiA+IEBAIC0zMiw2ICszMiwxNCBAQCBzMi5p c19zeW5jCj4+ID4gfCAtIGZhbHNlCj4+ID4gfCAuLi4KPj4gPgo+PiA+ICstLQo+PiA+ICstLSBn aC00ODQ5OiBjbGVhciBzeW5jaHJvIHF1ZXVlIHdpdGggdW5jb25maWd1cmVkIGJveAo+PiA+ICst LQo+PiA+ICtib3guY3RsLmNsZWFyX3N5bmNocm9fcXVldWUoKQo+Pgo+PiAxLiBFbm91Z2ggdG8g dGVzdCB0aGF0IGl0IGRvZXMgbm90IGNyYXNoIGhlcmUuIE5vIG5lZWQgdG8KPj4gY2hlY2sgcmVz dWx0Lgo+Cj5XZWxsLCByZW1vdmVkIGFzc2lnbm1lbnQgdG8gdmFyaWFibGUuCj4KPj4gPiArIHwg LS0tCj4+ID4gKyB8IC0gLTEKPj4gPiArIHwgLi4uCj4+ID4gKwo+PiA+IC0tIE5ldC5ib3ggdGFr ZXMgc3luYyBpbnRvIGFjY291bnQuCj4+ID4gYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcs ICdzdXBlcicpCj4+ID4gfCAtLS0KPj4gPiBAQCAtNTUzLDYgKzU2MSw4MiBAQCBib3guc3BhY2Uu c3luYzpzZWxlY3R7N30KPj4gPiB8IC0gLSBbN10KPj4gPiB8IC4uLgo+PiA+Cj4+ID4gKy0tCj4+ ID4gKy0tIGdoLTQ4NDk6IGNsZWFyIHN5bmNocm8gcXVldWUgb24gYSByZXBsaWNhCj4+ID4gKy0t Cj4+ID4gK3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpCj4+ID4gKyB8IC0tLQo+PiA+ICsgfCAt IHRydWUKPj4gPiArIHwgLi4uCj4+ID4gK2JveC5jZmd7cmVwbGljYXRpb25fc3luY2hyb19xdW9y dW0gPSAzLCByZXBsaWNhdGlvbl9zeW5jaHJvX3RpbWVvdXQgPSAyfQo+Pgo+PiAyLiBJZiB5b3Ug d2FudCB0aGlzIHRpbWVvdXQgdG8gZmFpbCwgaXQgaXMgdG9vIGJpZy4gVGhlIHRlc3Qgd2lsbCBi ZSB0b28KPj4gbG9uZy4gSWYgaXQgaXMgc3VwcG9zZWQgbm90IHRvIGZhaWwsIHRoZW4gaXQgaXMg d2F5IHRvbyBzbWFsbC4gSWYgeW91IHdhbnQKPj4gaXQgdG8gZmFpbCwgaXQgc2hvdWxkIGJlIHNv bWV0aGluZyBsaWtlIDAuMDAxLiBJZiB5b3Ugd2FudCBpdCB0byBob2xkLCBpdAo+PiBzaG91bGQg YmUgMTAwMCB0byBiZSBzdXJlLiBLZWVwIGluIG1pbmQgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUg dGltZW91dCBvbgo+PiBmbHkuIFRoYXQgYWxsb3dzIHRvIGJ1aWxkIHF1aXRlIGNvbXBsZXggcmVh Y3RpdmUgdGVzdHMgY29tcGxldGVseSBldmVudC1iYXNlZC4KPgo+c2V0IHJlcGxpY2F0aW9uX3N5 bmNocm9fdGltZW91dCB2YWx1ZSB0byAxMDAwCj4KPj4gPiArIHwgLS0tCj4+ID4gKyB8IC4uLgo+ PiA+ICtmMSA9IGZpYmVyLmNyZWF0ZShib3guc3BhY2Uuc3luYy5yZXBsYWNlLCBib3guc3BhY2Uu c3luYywgezl9KQo+Pgo+PiAzLiBZb3UgbmVlZCB0byBleHRyYWN0IHRoZSBleGFjdCByZXN1bHQg dmFsdWUuIFVzZSBwY2FsbCBmb3IgdGhhdCwgYW5kIHByaW50Cj4+IGl0cyByZXN1bHQgYWZ0ZXIg dGhlIGZpYmVyIGlzIGRlYWQuIFNlZSBvdGhlciBleGFtcGxlcyB3aXRoIGZpYmVyLmNyZWF0ZSgp IGluCj4+IHFzeW5jIHRlc3Qgc3VpdGUuIFRoZSBzYW1lIGZvciB0aGUgbmV4dCB0ZXN0IGNhc2Uu Cj4KPkRvbmUuCj4KPj4gPiArIHwgLS0tCj4+ID4gKyB8IC4uLgo+PiA+ICtmMTpzdGF0dXMoKQo+ PiA+ICsgfCAtLS0KPj4gPiArIHwgLSBzdXNwZW5kZWQKPj4gPiArIHwgLi4uCj4+ID4gK3Rlc3Rf cnVuOnN3aXRjaCgncmVwbGljYScpCj4+ID4gKyB8IC0tLQo+PiA+ICsgfCAtIHRydWUKPj4KPj4g NC4gQmV0dGVyIHdhaXQgdW50aWwgdGhlIHZhbHVlIGlzIGRlbGl2ZXJlZC4gT3RoZXJ3aXNlIHlv dSBjYW4gc3dpdGNoIHRvCj4+IHJlcGxpY2EgYmVmb3JlIG1hc3RlciBmaW5pc2hlcyBXQUwgd3Jp dGUsIGFuZCB0aGUgcXVldWUgd2lsbCBiZSBlbXB0eSBoZXJlLgo+PiBUcnkKPj4KPj4gdGVzdF9y dW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgcmV0dXJuIGJveC5zcGFjZS5zeW5jOmdldHs5fSB+PSBu aWwgZW5kKQo+Cj5BZ3JlZSwgYWRkZWQgd2FpdF9jb25kKCkuCj4KPj4gPiArIHwgLi4uCj4+ID4g K2JveC5jdGwuY2xlYXJfc3luY2hyb19xdWV1ZSgpCj4+ID4gKyB8IC0tLQo+PiA+ICsgfCAtIDAK Pj4gPiArIHwgLi4uCj4+ID4gK2JveC5zcGFjZS5zeW5jOnNlbGVjdHs5fQo+PiA+ICsgfCAtLS0K Pj4gPiArIHwgLSBbXQo+Pgo+PiA1LiBJZiBzZWxlY3QgcmV0dXJucyA5IGJlZm9yZSBxdWV1ZSBj bGVhbiwgYW5kIHJldHVybnMgZW1wdHkgYWZ0ZXJ3YXJkcywKPj4gaXQgbWVhbnMgdGhlIHF1ZXVl IHdhcyBjbGVhcmVkLiBTbyBoZXJlIHRoZSBxdWV1ZSBzaXplIGlzIG5vdCByZWFsbHkgbmVlZGVk LAo+PiBhcyB5b3UgY2FuIHNlZS4KPgo+cmVtb3ZlZCB0aGlzIGFuZCBuZXh0IHNlbGVjdHt9IHN0 YXRlbWVudHMKPgo+PiA+ICsgfCAuLi4KPj4gPiArdGVzdF9ydW46c3dpdGNoKCdkZWZhdWx0JykK Pj4gPiArIHwgLS0tCj4+ID4gKyB8IC0gdHJ1ZQo+PiA+ICsgfCAuLi4KPj4gPiArYm94LnNwYWNl LnN5bmM6c2VsZWN0ezl9Cj4+ID4gKyB8IC0tLQo+PiA+ICsgfCAtIFtdCj4+ID4gKyB8IC4uLgo+ PiA+ICtmMTpzdGF0dXMoKQo+PiA+ICsgfCAtLS0KPj4gPiArIHwgLSBkZWFkCj4+ID4gKyB8IC4u Lgo+PiA+ICsKPj4gPiArLS0KPj4gPiArLS0gZ2gtNDg0OTogY2xlYXIgc3luY2hybyBxdWV1ZSBv biBhIG1hc3Rlcgo+Pgo+PiA2LiBTaW5jZSB0aGUgcHJldmlvdXMgdGVzdCB0aGUgcmVwbGljYSdz IFdBTCBpcyBkaWZmZXJlbnQgZnJvbSBtYXN0ZXIncy4KPj4gSSBhbSBub3Qgc3VyZSB0aGUgcmVw bGljYXRpb24gaXMgc3RpbGwgYWxpdmUuCj4KPlRlc3Qgd2l0aCBjbGVhcl9zeW5jaHJvX3F1ZXVl KCkgb24gbWFzdGVyIGtlZXBzIG1hc3RlciBhbGl2ZSBhdCB0aGUgZW5kCj5vZiB0ZXN0IHNvIEkg bW92ZWQgaXQgYmVmb3JlIHRoZSBzYW1lIHRlc3QgZm9yIHRoZSByZXBsaWNhLiBBbHNvIGFkZGVk Cj5ub3RlIGZvciBvdGhlcnMgdGhhdCBjbHVzdGVyIG1heSBiZSBpbiBhIGJyb2tlbiBzdGF0ZSBo ZXJlLgo+Cj4+ID4gKy0tCj4+ID4gK3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpCj4+ID4gKyB8 IC0tLQo+PiA+ICsgfCAtIHRydWUKPj4gPiArIHwgLi4uCj4+ID4gK2JveC5jZmd7cmVwbGljYXRp b25fc3luY2hyb19xdW9ydW0gPSAzLCByZXBsaWNhdGlvbl9zeW5jaHJvX3RpbWVvdXQgPSAyfQo+ PiA+ICsgfCAtLS0KPj4gPiArIHwgLi4uCj4+ID4gK2YxID0gZmliZXIuY3JlYXRlKGJveC5zcGFj ZS5zeW5jLnJlcGxhY2UsIGJveC5zcGFjZS5zeW5jLCB7MTB9KQo+PiA+ICsgfCAtLS0KPj4gPiAr IHwgLi4uCj4+ID4gK2YxOnN0YXR1cygpCj4+ID4gKyB8IC0tLQo+PiA+ICsgfCAtIHN1c3BlbmRl ZAo+PiA+ICsgfCAuLi4KPj4gPiArYm94LmN0bC5jbGVhcl9zeW5jaHJvX3F1ZXVlKCkKPj4gPiAr IHwgLS0tCj4+ID4gKyB8IC0gLTIKPj4gPiArIHwgLi4uCj4+ID4gK2JveC5zcGFjZS5zeW5jOnNl bGVjdHsxMH0KPj4gPiArIHwgLS0tCj4+ID4gKyB8IC0gLSBbMTBdCj4+Cj4+IDcuIFdoeSBpcyBp dCAxMD8gVGhlIHF1b3J1bSBpcyBub3QgcmVhY2hlZCwgaXQgc2hvdWxkIGhhdmUgYmVlbiByb2xs ZWQgYmFjay4KPgo+QWRkZWQgImJveC5jZmd7cmVwbGljYXRpb25fc3luY2hyb190aW1lb3V0ID0g MC4xfSIgYmVmb3JlIGNsZWFyX3N5bmNocm9fcXVldWUoKQo+Y2FsbCBhbmQgbm93IHR4IGlzIHJv bGxlZCBiYWNrLiBBbHNvIEkndmUgYWRkZWQgY2hlY2tzIG9mIGN1cnJlbnQgdmFsdWUgd2l0aAo+ d2FpdF9jb25kKCkgdGhhdCBpcyBtb3JlIHJlbGlhYmxlIHRoYW4gc2VsZWN0e30gb24gYSBtYXN0 ZXIgYW5kIHJlcGxpY2EuCj5VcGRhdGVkIG91dHB1dCBsb29rcyBsaWtlIHRoaXM6Cj4KPmJveC5j dGwuY2xlYXJfc3luY2hyb19xdWV1ZSgpCj7CoHwgLS0tCj7CoHwgLi4uCj50ZXN0X3J1bjpzd2l0 Y2goJ3JlcGxpY2EnKQo+wqB8IC0tLQo+wqB8IC0gdHJ1ZQo+wqB8IC4uLgo+dGVzdF9ydW46d2Fp dF9jb25kKGZ1bmN0aW9uKCkgcmV0dXJuIGJveC5zcGFjZS5zeW5jOmdldHsxMH0gPT0gbmlsIGVu ZCkKPsKgfCAtLS0KPsKgfCAtIHRydWUKPsKgfCAuLi4KPnRlc3RfcnVuOnN3aXRjaCgnZGVmYXVs dCcpCj7CoHwgLS0tCj7CoHwgLSB0cnVlCj7CoHwgLi4uCj50ZXN0X3J1bjp3YWl0X2NvbmQoZnVu Y3Rpb24oKSByZXR1cm4gZjpzdGF0dXMoKSA9PSAnZGVhZCcgZW5kKQo+wqB8IC0tLQo+wqB8IC0g dHJ1ZQo+wqB8IC4uLgo+b2ssIGVycgo+wqB8IC0tLQo+wqB8IC0gZmFsc2UKPsKgfCAtIFF1b3J1 bSBjb2xsZWN0aW9uIGZvciBhIHN5bmNocm9ub3VzIHRyYW5zYWN0aW9uIGlzIHRpbWVkIG91dAo+ wqB8IC4uLgo+dGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgcmV0dXJuIGJveC5zcGFjZS5z eW5jOmdldHsxMH0gPT0gbmlsIGVuZCkKPsKgfCAtLS0KPsKgfCAtIHRydWUKPsKgfCAuLi4KPgo+ PiA+ICsgfCAuLi4KPj4gPiArdGVzdF9ydW46c3dpdGNoKCdyZXBsaWNhJykKPj4gPiArIHwgLS0t Cj4+ID4gKyB8IC0gdHJ1ZQo+PiA+ICsgfCAuLi4KPj4gPiArYm94LnNwYWNlLnN5bmM6c2VsZWN0 ezEwfQo+PiA+ICsgfCAtLS0KPj4gPiArIHwgLSAtIFsxMF0KPj4gPiArIHwgLi4uCj4+ID4gKwo+ PiA+IC0tIENsZWFudXAuCj4+ID4gdGVzdF9ydW46Y21kKCdzd2l0Y2ggZGVmYXVsdCcpCj4+ID4g fCAtLS0KPj4gPiBAQCAtNTc2LDYgKzY2MCw3IEBAIHRlc3RfcnVuOmNtZCgnZGVsZXRlIHNlcnZl ciByZXBsaWNhJykKPj4gPiB8IC4uLgo+PiA+IGJveC5zcGFjZS50ZXN0OmRyb3AoKQo+PiA+IHwg LS0tCj4+ID4gKyB8IC0gZXJyb3I6IEEgcm9sbGJhY2sgZm9yIGEgc3luY2hyb25vdXMgdHJhbnNh Y3Rpb24gaXMgcmVjZWl2ZWQKPj4KPj4gOC4gV2h5IGlzIGl0IGNoYW5nZWQ/Cj4KPlBlcmhhcHMg aXQgaXMgYmVjYXVzZSBpbiBwcmV2aW91cyB2ZXJzaW9uIG9mIHRlc3QgSSBoYXZlbid0IHdhaXQg ZmliZXJzICdkZWFkJy4KPlRoZXJlIGlzIG5vIGVycm9yIG5vdzoKPgo+Ym94LnNwYWNlLnRlc3Q6 ZHJvcCgpCj7CoHwgLS0tCj7CoHwgLi4uCj5ib3guc3BhY2Uuc3luYzpkcm9wKCkKPsKgfCAtLS0K PsKgfCAuLi4KPgo+Pgo+PiA+IHwgLi4uCj4+ID4gYm94LnNwYWNlLnN5bmM6ZHJvcCgpCj4+ID4g fCAtLS0KwqAKLS0KU2VyZ2XCoFBldHJlbmtv ----ALT--d28C40c84352569c5AfcD76a67E66eA41598427097 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGksIFNlcmdleSE8L2Rpdj48ZGl2PlRoYW5rcyBmb3IgdGhlIHBh dGNoIGFuZCB0aGUgZml4ZXMuIE5ldyB2ZXJzaW9uIExHVE0uIEkgY291bGRu4oCZdCBmaW5kIHRo ZSBvdGhlciBwYXRjaGVzIGluIG15IG1haWxib3ggdGhvdWdoLCBjb3VsZCB5b3UgcGxlYXNlIHJl c2VuZCB0aGVtPyBJZiB5b3UgbmVlZCBteSByZXZpZXcsIG9mIGNvdXJzZS48L2Rpdj48YmxvY2tx dW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBw YWRkaW5nOjAgMCAwIDEwcHg7Ij7QktGC0L7RgNC90LjQuiwgMjUg0LDQstCz0YPRgdGC0LAgMjAy MCwgMTU6NDkgKzAzOjAwINC+0YIgU2VyZ2V5IEJyb25uaWtvdiAmbHQ7c2VyZ2V5YkB0YXJhbnRv b2wub3JnJmd0Ozo8YnI+Jm5ic3A7PGRpdiBpZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMt cmVhZG1zZy1tc2ciPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48ZGl2PjxkaXYgaWQ9 InN0eWxlXzE1OTgzNTk3ODAwMDkyOTIwNTA2X0JPRFkiPlZsYWQsIHRoYW5rcyBmb3IgcmV2aWV3 ITxicj5QYXRjaGVzIHVwZGF0ZWQgaW4gYSBicmFuY2ggYW5kIHBsZWFzZSBzZWUgbXkgYW5zd2Vy cyBpbmxpbmUuPGJyPjxicj5PbiAwMDowMCBUdWUgMjEgSnVsICwgVmxhZGlzbGF2IFNocGlsZXZv eSB3cm90ZTo8YnI+Jmd0OyBUaGFua3MgZm9yIHRoZSBwYXRjaCE8YnI+Jmd0Ozxicj4mZ3Q7IFNl ZSA4IGNvbW1lbnRzIGJlbG93Ljxicj4mZ3Q7PGJyPiZndDsgT24gMDkuMDcuMjAyMCAxOToxNiwg PGEgaHJlZj0iL2NvbXBvc2U/VG89c2VyZ2V5YkB0YXJhbnRvb2wub3JnIj5zZXJnZXliQHRhcmFu dG9vbC5vcmc8L2E+IHdyb3RlOjxicj4mZ3Q7ICZndDsgRnJvbTogU2VyZ2V5IEJyb25uaWtvdiAm bHQ7PGEgaHJlZj0iL2NvbXBvc2U/VG89c2VyZ2V5YkB0YXJhbnRvb2wub3JnIj5zZXJnZXliQHRh cmFudG9vbC5vcmc8L2E+Jmd0Ozxicj4mZ3Q7ICZndDs8YnI+Jmd0OyAmZ3Q7IFBhcnQgb2YgIzUw NTU8YnI+Jmd0OyAmZ3Q7IFBhcnQgb2YgIzQ4NDk8YnI+Jmd0OyAmZ3Q7IC0tLTxicj4mZ3Q7ICZn dDsgdGVzdC9yZXBsaWNhdGlvbi9xc3luY19iYXNpYy5yZXN1bHQgfCA4NSArKysrKysrKysrKysr KysrKysrKysrKysrKys8YnI+Jmd0OyAmZ3Q7IHRlc3QvcmVwbGljYXRpb24vcXN5bmNfYmFzaWMu dGVzdC5sdWEgfCAzMSArKysrKysrKysrPGJyPiZndDsgJmd0OyAyIGZpbGVzIGNoYW5nZWQsIDEx NiBpbnNlcnRpb25zKCspPGJyPiZndDsgJmd0Ozxicj4mZ3Q7ICZndDsgZGlmZiAtLWdpdCBhL3Rl c3QvcmVwbGljYXRpb24vcXN5bmNfYmFzaWMucmVzdWx0IGIvdGVzdC9yZXBsaWNhdGlvbi9xc3lu Y19iYXNpYy5yZXN1bHQ8YnI+Jmd0OyAmZ3Q7IGluZGV4IGFiNGJlMGM3ZS4uNDY0ZGY3NWE3IDEw MDY0NDxicj4mZ3Q7ICZndDsgLS0tIGEvdGVzdC9yZXBsaWNhdGlvbi9xc3luY19iYXNpYy5yZXN1 bHQ8YnI+Jmd0OyAmZ3Q7ICsrKyBiL3Rlc3QvcmVwbGljYXRpb24vcXN5bmNfYmFzaWMucmVzdWx0 PGJyPiZndDsgJmd0OyBAQCAtMzIsNiArMzIsMTQgQEAgczIuaXNfc3luYzxicj4mZ3Q7ICZndDsg fCAtIGZhbHNlPGJyPiZndDsgJmd0OyB8IC4uLjxicj4mZ3Q7ICZndDs8YnI+Jmd0OyAmZ3Q7ICst LTxicj4mZ3Q7ICZndDsgKy0tIGdoLTQ4NDk6IGNsZWFyIHN5bmNocm8gcXVldWUgd2l0aCB1bmNv bmZpZ3VyZWQgYm94PGJyPiZndDsgJmd0OyArLS08YnI+Jmd0OyAmZ3Q7ICtib3guY3RsLmNsZWFy X3N5bmNocm9fcXVldWUoKTxicj4mZ3Q7PGJyPiZndDsgMS4gRW5vdWdoIHRvIHRlc3QgdGhhdCBp dCBkb2VzIG5vdCBjcmFzaCBoZXJlLiBObyBuZWVkIHRvPGJyPiZndDsgY2hlY2sgcmVzdWx0Ljxi cj48YnI+V2VsbCwgcmVtb3ZlZCBhc3NpZ25tZW50IHRvIHZhcmlhYmxlLjxicj48YnI+Jmd0OyAm Z3Q7ICsgfCAtLS08YnI+Jmd0OyAmZ3Q7ICsgfCAtIC0xPGJyPiZndDsgJmd0OyArIHwgLi4uPGJy PiZndDsgJmd0OyArPGJyPiZndDsgJmd0OyAtLSBOZXQuYm94IHRha2VzIHN5bmMgaW50byBhY2Nv dW50Ljxicj4mZ3Q7ICZndDsgYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdzdXBlcicp PGJyPiZndDsgJmd0OyB8IC0tLTxicj4mZ3Q7ICZndDsgQEAgLTU1Myw2ICs1NjEsODIgQEAgYm94 LnNwYWNlLnN5bmM6c2VsZWN0ezd9PGJyPiZndDsgJmd0OyB8IC0gLSBbN108YnI+Jmd0OyAmZ3Q7 IHwgLi4uPGJyPiZndDsgJmd0Ozxicj4mZ3Q7ICZndDsgKy0tPGJyPiZndDsgJmd0OyArLS0gZ2gt NDg0OTogY2xlYXIgc3luY2hybyBxdWV1ZSBvbiBhIHJlcGxpY2E8YnI+Jmd0OyAmZ3Q7ICstLTxi cj4mZ3Q7ICZndDsgK3Rlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpPGJyPiZndDsgJmd0OyArIHwg LS0tPGJyPiZndDsgJmd0OyArIHwgLSB0cnVlPGJyPiZndDsgJmd0OyArIHwgLi4uPGJyPiZndDsg Jmd0OyArYm94LmNmZ3tyZXBsaWNhdGlvbl9zeW5jaHJvX3F1b3J1bSA9IDMsIHJlcGxpY2F0aW9u X3N5bmNocm9fdGltZW91dCA9IDJ9PGJyPiZndDs8YnI+Jmd0OyAyLiBJZiB5b3Ugd2FudCB0aGlz IHRpbWVvdXQgdG8gZmFpbCwgaXQgaXMgdG9vIGJpZy4gVGhlIHRlc3Qgd2lsbCBiZSB0b288YnI+ Jmd0OyBsb25nLiBJZiBpdCBpcyBzdXBwb3NlZCBub3QgdG8gZmFpbCwgdGhlbiBpdCBpcyB3YXkg dG9vIHNtYWxsLiBJZiB5b3Ugd2FudDxicj4mZ3Q7IGl0IHRvIGZhaWwsIGl0IHNob3VsZCBiZSBz b21ldGhpbmcgbGlrZSAwLjAwMS4gSWYgeW91IHdhbnQgaXQgdG8gaG9sZCwgaXQ8YnI+Jmd0OyBz aG91bGQgYmUgMTAwMCB0byBiZSBzdXJlLiBLZWVwIGluIG1pbmQgdGhhdCB5b3UgY2FuIGNoYW5n ZSB0aGUgdGltZW91dCBvbjxicj4mZ3Q7IGZseS4gVGhhdCBhbGxvd3MgdG8gYnVpbGQgcXVpdGUg Y29tcGxleCByZWFjdGl2ZSB0ZXN0cyBjb21wbGV0ZWx5IGV2ZW50LWJhc2VkLjxicj48YnI+c2V0 IHJlcGxpY2F0aW9uX3N5bmNocm9fdGltZW91dCB2YWx1ZSB0byAxMDAwPGJyPjxicj4mZ3Q7ICZn dDsgKyB8IC0tLTxicj4mZ3Q7ICZndDsgKyB8IC4uLjxicj4mZ3Q7ICZndDsgK2YxID0gZmliZXIu Y3JlYXRlKGJveC5zcGFjZS5zeW5jLnJlcGxhY2UsIGJveC5zcGFjZS5zeW5jLCB7OX0pPGJyPiZn dDs8YnI+Jmd0OyAzLiBZb3UgbmVlZCB0byBleHRyYWN0IHRoZSBleGFjdCByZXN1bHQgdmFsdWUu IFVzZSBwY2FsbCBmb3IgdGhhdCwgYW5kIHByaW50PGJyPiZndDsgaXRzIHJlc3VsdCBhZnRlciB0 aGUgZmliZXIgaXMgZGVhZC4gU2VlIG90aGVyIGV4YW1wbGVzIHdpdGggZmliZXIuY3JlYXRlKCkg aW48YnI+Jmd0OyBxc3luYyB0ZXN0IHN1aXRlLiBUaGUgc2FtZSBmb3IgdGhlIG5leHQgdGVzdCBj YXNlLjxicj48YnI+RG9uZS48YnI+PGJyPiZndDsgJmd0OyArIHwgLS0tPGJyPiZndDsgJmd0OyAr IHwgLi4uPGJyPiZndDsgJmd0OyArZjE6c3RhdHVzKCk8YnI+Jmd0OyAmZ3Q7ICsgfCAtLS08YnI+ Jmd0OyAmZ3Q7ICsgfCAtIHN1c3BlbmRlZDxicj4mZ3Q7ICZndDsgKyB8IC4uLjxicj4mZ3Q7ICZn dDsgK3Rlc3RfcnVuOnN3aXRjaCgncmVwbGljYScpPGJyPiZndDsgJmd0OyArIHwgLS0tPGJyPiZn dDsgJmd0OyArIHwgLSB0cnVlPGJyPiZndDs8YnI+Jmd0OyA0LiBCZXR0ZXIgd2FpdCB1bnRpbCB0 aGUgdmFsdWUgaXMgZGVsaXZlcmVkLiBPdGhlcndpc2UgeW91IGNhbiBzd2l0Y2ggdG88YnI+Jmd0 OyByZXBsaWNhIGJlZm9yZSBtYXN0ZXIgZmluaXNoZXMgV0FMIHdyaXRlLCBhbmQgdGhlIHF1ZXVl IHdpbGwgYmUgZW1wdHkgaGVyZS48YnI+Jmd0OyBUcnk8YnI+Jmd0Ozxicj4mZ3Q7IHRlc3RfcnVu OndhaXRfY29uZChmdW5jdGlvbigpIHJldHVybiBib3guc3BhY2Uuc3luYzpnZXR7OX0gfj0gbmls IGVuZCk8YnI+PGJyPkFncmVlLCBhZGRlZCB3YWl0X2NvbmQoKS48YnI+PGJyPiZndDsgJmd0OyAr IHwgLi4uPGJyPiZndDsgJmd0OyArYm94LmN0bC5jbGVhcl9zeW5jaHJvX3F1ZXVlKCk8YnI+Jmd0 OyAmZ3Q7ICsgfCAtLS08YnI+Jmd0OyAmZ3Q7ICsgfCAtIDA8YnI+Jmd0OyAmZ3Q7ICsgfCAuLi48 YnI+Jmd0OyAmZ3Q7ICtib3guc3BhY2Uuc3luYzpzZWxlY3R7OX08YnI+Jmd0OyAmZ3Q7ICsgfCAt LS08YnI+Jmd0OyAmZ3Q7ICsgfCAtIFtdPGJyPiZndDs8YnI+Jmd0OyA1LiBJZiBzZWxlY3QgcmV0 dXJucyA5IGJlZm9yZSBxdWV1ZSBjbGVhbiwgYW5kIHJldHVybnMgZW1wdHkgYWZ0ZXJ3YXJkcyw8 YnI+Jmd0OyBpdCBtZWFucyB0aGUgcXVldWUgd2FzIGNsZWFyZWQuIFNvIGhlcmUgdGhlIHF1ZXVl IHNpemUgaXMgbm90IHJlYWxseSBuZWVkZWQsPGJyPiZndDsgYXMgeW91IGNhbiBzZWUuPGJyPjxi cj5yZW1vdmVkIHRoaXMgYW5kIG5leHQgc2VsZWN0e30gc3RhdGVtZW50czxicj48YnI+Jmd0OyAm Z3Q7ICsgfCAuLi48YnI+Jmd0OyAmZ3Q7ICt0ZXN0X3J1bjpzd2l0Y2goJ2RlZmF1bHQnKTxicj4m Z3Q7ICZndDsgKyB8IC0tLTxicj4mZ3Q7ICZndDsgKyB8IC0gdHJ1ZTxicj4mZ3Q7ICZndDsgKyB8 IC4uLjxicj4mZ3Q7ICZndDsgK2JveC5zcGFjZS5zeW5jOnNlbGVjdHs5fTxicj4mZ3Q7ICZndDsg KyB8IC0tLTxicj4mZ3Q7ICZndDsgKyB8IC0gW108YnI+Jmd0OyAmZ3Q7ICsgfCAuLi48YnI+Jmd0 OyAmZ3Q7ICtmMTpzdGF0dXMoKTxicj4mZ3Q7ICZndDsgKyB8IC0tLTxicj4mZ3Q7ICZndDsgKyB8 IC0gZGVhZDxicj4mZ3Q7ICZndDsgKyB8IC4uLjxicj4mZ3Q7ICZndDsgKzxicj4mZ3Q7ICZndDsg Ky0tPGJyPiZndDsgJmd0OyArLS0gZ2gtNDg0OTogY2xlYXIgc3luY2hybyBxdWV1ZSBvbiBhIG1h c3Rlcjxicj4mZ3Q7PGJyPiZndDsgNi4gU2luY2UgdGhlIHByZXZpb3VzIHRlc3QgdGhlIHJlcGxp Y2EncyBXQUwgaXMgZGlmZmVyZW50IGZyb20gbWFzdGVyJ3MuPGJyPiZndDsgSSBhbSBub3Qgc3Vy ZSB0aGUgcmVwbGljYXRpb24gaXMgc3RpbGwgYWxpdmUuPGJyPjxicj5UZXN0IHdpdGggY2xlYXJf c3luY2hyb19xdWV1ZSgpIG9uIG1hc3RlciBrZWVwcyBtYXN0ZXIgYWxpdmUgYXQgdGhlIGVuZDxi cj5vZiB0ZXN0IHNvIEkgbW92ZWQgaXQgYmVmb3JlIHRoZSBzYW1lIHRlc3QgZm9yIHRoZSByZXBs aWNhLiBBbHNvIGFkZGVkPGJyPm5vdGUgZm9yIG90aGVycyB0aGF0IGNsdXN0ZXIgbWF5IGJlIGlu IGEgYnJva2VuIHN0YXRlIGhlcmUuPGJyPjxicj4mZ3Q7ICZndDsgKy0tPGJyPiZndDsgJmd0OyAr dGVzdF9ydW46c3dpdGNoKCdkZWZhdWx0Jyk8YnI+Jmd0OyAmZ3Q7ICsgfCAtLS08YnI+Jmd0OyAm Z3Q7ICsgfCAtIHRydWU8YnI+Jmd0OyAmZ3Q7ICsgfCAuLi48YnI+Jmd0OyAmZ3Q7ICtib3guY2Zn e3JlcGxpY2F0aW9uX3N5bmNocm9fcXVvcnVtID0gMywgcmVwbGljYXRpb25fc3luY2hyb190aW1l b3V0ID0gMn08YnI+Jmd0OyAmZ3Q7ICsgfCAtLS08YnI+Jmd0OyAmZ3Q7ICsgfCAuLi48YnI+Jmd0 OyAmZ3Q7ICtmMSA9IGZpYmVyLmNyZWF0ZShib3guc3BhY2Uuc3luYy5yZXBsYWNlLCBib3guc3Bh Y2Uuc3luYywgezEwfSk8YnI+Jmd0OyAmZ3Q7ICsgfCAtLS08YnI+Jmd0OyAmZ3Q7ICsgfCAuLi48 YnI+Jmd0OyAmZ3Q7ICtmMTpzdGF0dXMoKTxicj4mZ3Q7ICZndDsgKyB8IC0tLTxicj4mZ3Q7ICZn dDsgKyB8IC0gc3VzcGVuZGVkPGJyPiZndDsgJmd0OyArIHwgLi4uPGJyPiZndDsgJmd0OyArYm94 LmN0bC5jbGVhcl9zeW5jaHJvX3F1ZXVlKCk8YnI+Jmd0OyAmZ3Q7ICsgfCAtLS08YnI+Jmd0OyAm Z3Q7ICsgfCAtIC0yPGJyPiZndDsgJmd0OyArIHwgLi4uPGJyPiZndDsgJmd0OyArYm94LnNwYWNl LnN5bmM6c2VsZWN0ezEwfTxicj4mZ3Q7ICZndDsgKyB8IC0tLTxicj4mZ3Q7ICZndDsgKyB8IC0g LSBbMTBdPGJyPiZndDs8YnI+Jmd0OyA3LiBXaHkgaXMgaXQgMTA/IFRoZSBxdW9ydW0gaXMgbm90 IHJlYWNoZWQsIGl0IHNob3VsZCBoYXZlIGJlZW4gcm9sbGVkIGJhY2suPGJyPjxicj5BZGRlZCAi Ym94LmNmZ3tyZXBsaWNhdGlvbl9zeW5jaHJvX3RpbWVvdXQgPSAwLjF9IiBiZWZvcmUgY2xlYXJf c3luY2hyb19xdWV1ZSgpPGJyPmNhbGwgYW5kIG5vdyB0eCBpcyByb2xsZWQgYmFjay4gQWxzbyBJ J3ZlIGFkZGVkIGNoZWNrcyBvZiBjdXJyZW50IHZhbHVlIHdpdGg8YnI+d2FpdF9jb25kKCkgdGhh dCBpcyBtb3JlIHJlbGlhYmxlIHRoYW4gc2VsZWN0e30gb24gYSBtYXN0ZXIgYW5kIHJlcGxpY2Eu PGJyPlVwZGF0ZWQgb3V0cHV0IGxvb2tzIGxpa2UgdGhpczo8YnI+PGJyPmJveC5jdGwuY2xlYXJf c3luY2hyb19xdWV1ZSgpPGJyPiZuYnNwO3wgLS0tPGJyPiZuYnNwO3wgLi4uPGJyPnRlc3RfcnVu OnN3aXRjaCgncmVwbGljYScpPGJyPiZuYnNwO3wgLS0tPGJyPiZuYnNwO3wgLSB0cnVlPGJyPiZu YnNwO3wgLi4uPGJyPnRlc3RfcnVuOndhaXRfY29uZChmdW5jdGlvbigpIHJldHVybiBib3guc3Bh Y2Uuc3luYzpnZXR7MTB9ID09IG5pbCBlbmQpPGJyPiZuYnNwO3wgLS0tPGJyPiZuYnNwO3wgLSB0 cnVlPGJyPiZuYnNwO3wgLi4uPGJyPnRlc3RfcnVuOnN3aXRjaCgnZGVmYXVsdCcpPGJyPiZuYnNw O3wgLS0tPGJyPiZuYnNwO3wgLSB0cnVlPGJyPiZuYnNwO3wgLi4uPGJyPnRlc3RfcnVuOndhaXRf Y29uZChmdW5jdGlvbigpIHJldHVybiBmOnN0YXR1cygpID09ICdkZWFkJyBlbmQpPGJyPiZuYnNw O3wgLS0tPGJyPiZuYnNwO3wgLSB0cnVlPGJyPiZuYnNwO3wgLi4uPGJyPm9rLCBlcnI8YnI+Jm5i c3A7fCAtLS08YnI+Jm5ic3A7fCAtIGZhbHNlPGJyPiZuYnNwO3wgLSBRdW9ydW0gY29sbGVjdGlv biBmb3IgYSBzeW5jaHJvbm91cyB0cmFuc2FjdGlvbiBpcyB0aW1lZCBvdXQ8YnI+Jm5ic3A7fCAu Li48YnI+dGVzdF9ydW46d2FpdF9jb25kKGZ1bmN0aW9uKCkgcmV0dXJuIGJveC5zcGFjZS5zeW5j OmdldHsxMH0gPT0gbmlsIGVuZCk8YnI+Jm5ic3A7fCAtLS08YnI+Jm5ic3A7fCAtIHRydWU8YnI+ Jm5ic3A7fCAuLi48YnI+PGJyPiZndDsgJmd0OyArIHwgLi4uPGJyPiZndDsgJmd0OyArdGVzdF9y dW46c3dpdGNoKCdyZXBsaWNhJyk8YnI+Jmd0OyAmZ3Q7ICsgfCAtLS08YnI+Jmd0OyAmZ3Q7ICsg fCAtIHRydWU8YnI+Jmd0OyAmZ3Q7ICsgfCAuLi48YnI+Jmd0OyAmZ3Q7ICtib3guc3BhY2Uuc3lu YzpzZWxlY3R7MTB9PGJyPiZndDsgJmd0OyArIHwgLS0tPGJyPiZndDsgJmd0OyArIHwgLSAtIFsx MF08YnI+Jmd0OyAmZ3Q7ICsgfCAuLi48YnI+Jmd0OyAmZ3Q7ICs8YnI+Jmd0OyAmZ3Q7IC0tIENs ZWFudXAuPGJyPiZndDsgJmd0OyB0ZXN0X3J1bjpjbWQoJ3N3aXRjaCBkZWZhdWx0Jyk8YnI+Jmd0 OyAmZ3Q7IHwgLS0tPGJyPiZndDsgJmd0OyBAQCAtNTc2LDYgKzY2MCw3IEBAIHRlc3RfcnVuOmNt ZCgnZGVsZXRlIHNlcnZlciByZXBsaWNhJyk8YnI+Jmd0OyAmZ3Q7IHwgLi4uPGJyPiZndDsgJmd0 OyBib3guc3BhY2UudGVzdDpkcm9wKCk8YnI+Jmd0OyAmZ3Q7IHwgLS0tPGJyPiZndDsgJmd0OyAr IHwgLSBlcnJvcjogQSByb2xsYmFjayBmb3IgYSBzeW5jaHJvbm91cyB0cmFuc2FjdGlvbiBpcyBy ZWNlaXZlZDxicj4mZ3Q7PGJyPiZndDsgOC4gV2h5IGlzIGl0IGNoYW5nZWQ/PGJyPjxicj5QZXJo YXBzIGl0IGlzIGJlY2F1c2UgaW4gcHJldmlvdXMgdmVyc2lvbiBvZiB0ZXN0IEkgaGF2ZW4ndCB3 YWl0IGZpYmVycyAnZGVhZCcuPGJyPlRoZXJlIGlzIG5vIGVycm9yIG5vdzo8YnI+PGJyPmJveC5z cGFjZS50ZXN0OmRyb3AoKTxicj4mbmJzcDt8IC0tLTxicj4mbmJzcDt8IC4uLjxicj5ib3guc3Bh Y2Uuc3luYzpkcm9wKCk8YnI+Jm5ic3A7fCAtLS08YnI+Jm5ic3A7fCAuLi48YnI+PGJyPiZndDs8 YnI+Jmd0OyAmZ3Q7IHwgLi4uPGJyPiZndDsgJmd0OyBib3guc3BhY2Uuc3luYzpkcm9wKCk8YnI+ Jmd0OyAmZ3Q7IHwgLS0tPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+ Jm5ic3A7PC9kaXY+PGRpdj4tLTxicj5TZXJnZSZuYnNwO1BldHJlbmtvPC9kaXY+PC9CT0RZPjwv SFRNTD4K ----ALT--d28C40c84352569c5AfcD76a67E66eA41598427097--