From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f326.i.mail.ru (f326.i.mail.ru [217.69.130.184]) (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 2B6D5430407 for ; Fri, 21 Aug 2020 10:48:15 +0300 (MSK) From: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= MIME-Version: 1.0 Date: Fri, 21 Aug 2020 10:48:14 +0300 Reply-To: =?UTF-8?B?U2VyZ2UgUGV0cmVua28=?= Message-ID: <1597996094.668971732@f326.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--dD5d7E2d87aE5F6abE0889Fc272373D41597996094" In-Reply-To: <20200819213442.1099018-2-gorcunov@gmail.com> References: <20200819213442.1099018-1-gorcunov@gmail.com> <20200819213442.1099018-2-gorcunov@gmail.com> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v9_1/7=5D_journal=3A_bind_?= =?utf-8?q?asynchronous_write_completion_to_an_entry?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?Q3lyaWxsIEdvcmN1bm92?= Cc: =?UTF-8?B?dG1s?= , =?UTF-8?B?VmxhZGlzbGF2IFNocGlsZXZveQ==?= ----ALT--dD5d7E2d87aE5F6abE0889Fc272373D41597996094 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpISBUaGFua3MgZm9yIHRoZSBwYXRjaCEgTEdUTS4KwqAgCj7Qp9C10YLQstC10YDQsywgMjAg 0LDQstCz0YPRgdGC0LAgMjAyMCwgMDozNSArMDM6MDAg0L7RgiBDeXJpbGwgR29yY3Vub3YgPGdv cmN1bm92QGdtYWlsLmNvbT46Cj7CoAo+SW4gY29tbWl0IDc3YmEwZTM1MDQ0NjQxMzFmZTgxYzY3 MmQ1MDhkMDI3NWJlMjE3M2Egd2UndmUgcmVkZXNpZ25lZAo+d2FsIGpvdXJuYWwgb3BlcmF0aW9u cyBzdWNoIHRoYXQgYXN5bmNocm9ub3VzIHdyaXRlIGNvbXBsZXRpb24KPmlzIGEgc2luZ2xlIGlu c3RhbmNlIHBlciBqb3VybmFsLgo+Cj5JdCB0dXJuZWQgb3V0IHRoYXQgc3VjaCBzaW1wbGlmaWNh dGlvbiBpcyB0b28gdGlnaHQgYW5kIGRvZXNuJ3QKPmFsbG93IHVzIHRvIHBhc3MgZW50cmllcyBp bnRvIHRoZSBqb3VybmFsIHdpdGggY3VzdG9tIGNvbXBsZXRpb25zLgo+Cj5UaHVzIGxldHMgYWxs b3cgYmFjayBzdWNoIGFiaWxpdHkuIFdlIHdpbGwgbmVlZCBpdCB0byBiZSBhYmxlCj50byB3cml0 ZSAiY29uZmlybSIgcmVjb3JkcyBpbnRvIHdhbCBkaXJlY3RseSB3aXRob3V0IHRvdWNoaW5nCj50 cmFuc2FjdGlvbnMgY29kZSBhdCBhbGwuCj4KPlBhcnQtb2YgIzUxMjkKPgo+U2lnbmVkLW9mZi1i eTogQ3lyaWxsIEdvcmN1bm92IDwgZ29yY3Vub3ZAZ21haWwuY29tID4KPi0tLQo+wqBzcmMvYm94 L2JveC5jYyB8IDE1ICsrKysrKysrLS0tLS0tLQo+wqBzcmMvYm94L2pvdXJuYWwuYyB8IDIgKysK PsKgc3JjL2JveC9qb3VybmFsLmggfCAyMCArKysrKysrKysrKy0tLS0tLS0tLQo+wqBzcmMvYm94 L3R4bi5jIHwgMiArLQo+wqBzcmMvYm94L3Z5X2xvZy5jIHwgMiArLQo+wqBzcmMvYm94L3dhbC5j IHwgMTkgKysrKysrKystLS0tLS0tLS0tLQo+wqBzcmMvYm94L3dhbC5oIHwgNCArKy0tCj7CoDcg ZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCj4KPmRpZmYg LS1naXQgYS9zcmMvYm94L2JveC5jYyBiL3NyYy9ib3gvYm94LmNjCj5pbmRleCA4ZTgxMWU5YzEu LmZhZmZkNTc2OSAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvYm94LmNjCj4rKysgYi9zcmMvYm94L2Jv eC5jYwo+QEAgLTM0OCw3ICszNDgsNyBAQCByZWNvdmVyeV9qb3VybmFsX3dyaXRlKHN0cnVjdCBq b3VybmFsICpiYXNlLAo+wqAgKiBTaW5jZSB0aGVyZSdyZSBubyBhY3R1YWwgd3JpdGVzLCBmaXJl IGEKPsKgICogam91cm5hbF9hc3luY19jb21wbGV0ZSBjYWxsYmFjayByaWdodCBhd2F5Lgo+wqAg Ki8KPi0gam91cm5hbF9hc3luY19jb21wbGV0ZShiYXNlLCBlbnRyeSk7Cj4rIGpvdXJuYWxfYXN5 bmNfY29tcGxldGUoZW50cnkpOwo+wqAgcmV0dXJuIDA7Cj7CoH0KPsKgCj5AQCAtMzU3LDcgKzM1 Nyw3IEBAIHJlY292ZXJ5X2pvdXJuYWxfY3JlYXRlKHN0cnVjdCB2Y2xvY2sgKnYpCj7CoHsKPsKg IHN0YXRpYyBzdHJ1Y3QgcmVjb3Zlcnlfam91cm5hbCBqb3VybmFsOwo+wqAgam91cm5hbF9jcmVh dGUoJmpvdXJuYWwuYmFzZSwgcmVjb3Zlcnlfam91cm5hbF93cml0ZSwKPi0gdHhuX2NvbXBsZXRl X2FzeW5jLCByZWNvdmVyeV9qb3VybmFsX3dyaXRlKTsKPisgcmVjb3Zlcnlfam91cm5hbF93cml0 ZSk7Cj7CoCBqb3VybmFsLnZjbG9jayA9IHY7Cj7CoCBqb3VybmFsX3NldCgmam91cm5hbC5iYXNl KTsKPsKgfQo+QEAgLTIxODIsOCArMjE4MiwxMCBAQCBlbmdpbmVfaW5pdCgpCj7CoHN0YXRpYyBp bnQKPsKgYm9vdHN0cmFwX2pvdXJuYWxfd3JpdGUoc3RydWN0IGpvdXJuYWwgKmJhc2UsIHN0cnVj dCBqb3VybmFsX2VudHJ5ICplbnRyeSkKPsKgewo+KyAodm9pZCliYXNlOwo+Kwo+wqAgZW50cnkt PnJlcyA9IDA7Cj4tIGpvdXJuYWxfYXN5bmNfY29tcGxldGUoYmFzZSwgZW50cnkpOwo+KyBqb3Vy bmFsX2FzeW5jX2NvbXBsZXRlKGVudHJ5KTsKPsKgIHJldHVybiAwOwo+wqB9Cj7CoAo+QEAgLTI1 NjksOCArMjU3MSw4IEBAIGJveF9jZmdfeGModm9pZCkKPsKgCj7CoCBpbnQ2NF90IHdhbF9tYXhf c2l6ZSA9IGJveF9jaGVja193YWxfbWF4X3NpemUoY2ZnX2dldGk2NCgid2FsX21heF9zaXplIikp Owo+wqAgZW51bSB3YWxfbW9kZSB3YWxfbW9kZSA9IGJveF9jaGVja193YWxfbW9kZShjZmdfZ2V0 cygid2FsX21vZGUiKSk7Cj4tIGlmICh3YWxfaW5pdCh3YWxfbW9kZSwgdHhuX2NvbXBsZXRlX2Fz eW5jLCBjZmdfZ2V0cygid2FsX2RpciIpLAo+LSB3YWxfbWF4X3NpemUsICZJTlNUQU5DRV9VVUlE LCBvbl93YWxfZ2FyYmFnZV9jb2xsZWN0aW9uLAo+KyBpZiAod2FsX2luaXQod2FsX21vZGUsIGNm Z19nZXRzKCJ3YWxfZGlyIiksIHdhbF9tYXhfc2l6ZSwKPisgJklOU1RBTkNFX1VVSUQsIG9uX3dh bF9nYXJiYWdlX2NvbGxlY3Rpb24sCj7CoCBvbl93YWxfY2hlY2twb2ludF90aHJlc2hvbGQpICE9 IDApIHsKPsKgIGRpYWdfcmFpc2UoKTsKPsKgIH0KPkBAIC0yNjE3LDggKzI2MTksNyBAQCBib3hf Y2ZnX3hjKHZvaWQpCj7CoCB9Cj7CoAo+wqAgc3RydWN0IGpvdXJuYWwgYm9vdHN0cmFwX2pvdXJu YWw7Cj4tIGpvdXJuYWxfY3JlYXRlKCZib290c3RyYXBfam91cm5hbCwgTlVMTCwgdHhuX2NvbXBs ZXRlX2FzeW5jLAo+LSBib290c3RyYXBfam91cm5hbF93cml0ZSk7Cj4rIGpvdXJuYWxfY3JlYXRl KCZib290c3RyYXBfam91cm5hbCwgTlVMTCwgYm9vdHN0cmFwX2pvdXJuYWxfd3JpdGUpOwo+wqAg am91cm5hbF9zZXQoJmJvb3RzdHJhcF9qb3VybmFsKTsKPsKgIGF1dG8gYm9vdHN0cmFwX2pvdXJu YWxfZ3VhcmQgPSBtYWtlX3Njb3BlZF9ndWFyZChbXSB7Cj7CoCBqb3VybmFsX3NldChOVUxMKTsK PmRpZmYgLS1naXQgYS9zcmMvYm94L2pvdXJuYWwuYyBiL3NyYy9ib3gvam91cm5hbC5jCj5pbmRl eCBmMWU4OWFhYTIuLjQ4YWY5MTU3YiAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvam91cm5hbC5jCj4r KysgYi9zcmMvYm94L2pvdXJuYWwuYwo+QEAgLTM2LDYgKzM2LDcgQEAgc3RydWN0IGpvdXJuYWwg KmN1cnJlbnRfam91cm5hbCA9IE5VTEw7Cj7CoAo+wqBzdHJ1Y3Qgam91cm5hbF9lbnRyeSAqCj7C oGpvdXJuYWxfZW50cnlfbmV3KHNpemVfdCBuX3Jvd3MsIHN0cnVjdCByZWdpb24gKnJlZ2lvbiwK Pisgam91cm5hbF93cml0ZV9hc3luY19mIHdyaXRlX2FzeW5jX2NiLAo+wqAgdm9pZCAqY29tcGxl dGVfZGF0YSkKPsKgewo+wqAgc3RydWN0IGpvdXJuYWxfZW50cnkgKmVudHJ5Owo+QEAgLTUwLDYg KzUxLDcgQEAgam91cm5hbF9lbnRyeV9uZXcoc2l6ZV90IG5fcm93cywgc3RydWN0IHJlZ2lvbiAq cmVnaW9uLAo+wqAgcmV0dXJuIE5VTEw7Cj7CoCB9Cj7CoAo+KyBlbnRyeS0+d3JpdGVfYXN5bmNf Y2IgPSB3cml0ZV9hc3luY19jYjsKPsKgIGVudHJ5LT5jb21wbGV0ZV9kYXRhID0gY29tcGxldGVf ZGF0YTsKPsKgIGVudHJ5LT5hcHByb3hfbGVuID0gMDsKPsKgIGVudHJ5LT5uX3Jvd3MgPSBuX3Jv d3M7Cj5kaWZmIC0tZ2l0IGEvc3JjL2JveC9qb3VybmFsLmggYi9zcmMvYm94L2pvdXJuYWwuaAo+ aW5kZXggMWExMGU2NmMzLi40YjAxOWZlY2YgMTAwNjQ0Cj4tLS0gYS9zcmMvYm94L2pvdXJuYWwu aAo+KysrIGIvc3JjL2JveC9qb3VybmFsLmgKPkBAIC00Miw2ICs0Miw4IEBAIGV4dGVybiAiQyIg ewo+wqBzdHJ1Y3QgeHJvd19oZWFkZXI7Cj7CoHN0cnVjdCBqb3VybmFsX2VudHJ5Owo+wqAKPit0 eXBlZGVmIHZvaWQgKCpqb3VybmFsX3dyaXRlX2FzeW5jX2YpKHN0cnVjdCBqb3VybmFsX2VudHJ5 ICplbnRyeSk7Cj4rCj7CoC8qKgo+wqDCoCogQW4gZW50cnkgZm9yIGFuIGFic3RyYWN0IGpvdXJu YWwuCj7CoMKgKiBTaW1wbHkgcHV0LCBhIHdyaXRlIGFoZWFkIGxvZyByZXF1ZXN0Lgo+QEAgLTYx LDYgKzYzLDEwIEBAIHN0cnVjdCBqb3VybmFsX2VudHJ5IHsKPsKgICogQSBqb3VybmFsIGVudHJ5 IGNvbXBsZXRpb24gY2FsbGJhY2sgYXJndW1lbnQuCj7CoCAqLwo+wqAgdm9pZCAqY29tcGxldGVf ZGF0YTsKPisgLyoqCj4rICogQXN5bmNocm9ub3VzIHdyaXRlIGNvbXBsZXRpb24gZnVuY3Rpb24u Cj4rICovCj4rIGpvdXJuYWxfd3JpdGVfYXN5bmNfZiB3cml0ZV9hc3luY19jYjsKPsKgIC8qKgo+ wqAgKiBBcHByb3hpbWF0ZSBzaXplIG9mIHRoaXMgcmVxdWVzdCB3aGVuIGVuY29kZWQuCj7CoCAq Lwo+QEAgLTg0LDYgKzkwLDcgQEAgc3RydWN0IHJlZ2lvbjsKPsKgwqAqLwo+wqBzdHJ1Y3Qgam91 cm5hbF9lbnRyeSAqCj7CoGpvdXJuYWxfZW50cnlfbmV3KHNpemVfdCBuX3Jvd3MsIHN0cnVjdCBy ZWdpb24gKnJlZ2lvbiwKPisgam91cm5hbF93cml0ZV9hc3luY19mIHdyaXRlX2FzeW5jX2NiLAo+ wqAgdm9pZCAqY29tcGxldGVfZGF0YSk7Cj7CoAo+wqAvKioKPkBAIC05NiwyMiArMTAzLDE5IEBA IHN0cnVjdCBqb3VybmFsIHsKPsKgIGludCAoKndyaXRlX2FzeW5jKShzdHJ1Y3Qgam91cm5hbCAq am91cm5hbCwKPsKgIHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSk7Cj7CoAo+LSAvKiogQXN5 bmNocm9ub3VzIHdyaXRlIGNvbXBsZXRpb24gKi8KPi0gdm9pZCAoKndyaXRlX2FzeW5jX2NiKShz dHJ1Y3Qgam91cm5hbF9lbnRyeSAqZW50cnkpOwo+LQo+wqAgLyoqIFN5bmNocm9ub3VzIHdyaXRl ICovCj7CoCBpbnQgKCp3cml0ZSkoc3RydWN0IGpvdXJuYWwgKmpvdXJuYWwsCj7CoCBzdHJ1Y3Qg am91cm5hbF9lbnRyeSAqZW50cnkpOwo+wqB9Owo+wqAKPsKgLyoqCj4tICogRmluYWxpemUgYSBz aW5nbGUgZW50cnkuCj4rICogQ29tcGxldGUgYXN5bmNocm9ub3VzIHdyaXRlLgo+wqDCoCovCj7C oHN0YXRpYyBpbmxpbmUgdm9pZAo+LWpvdXJuYWxfYXN5bmNfY29tcGxldGUoc3RydWN0IGpvdXJu YWwgKmpvdXJuYWwsIHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSkKPitqb3VybmFsX2FzeW5j X2NvbXBsZXRlKHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSkKPsKgewo+LSBhc3NlcnQoam91 cm5hbC0+d3JpdGVfYXN5bmNfY2IgIT0gTlVMTCk7Cj4tIGpvdXJuYWwtPndyaXRlX2FzeW5jX2Ni KGVudHJ5KTsKPisgYXNzZXJ0KGVudHJ5LT53cml0ZV9hc3luY19jYiAhPSBOVUxMKTsKPisgZW50 cnktPndyaXRlX2FzeW5jX2NiKGVudHJ5KTsKPsKgfQo+wqAKPsKgLyoqCj5AQCAtMTczLDEyICsx NzcsMTAgQEAgc3RhdGljIGlubGluZSB2b2lkCj7CoGpvdXJuYWxfY3JlYXRlKHN0cnVjdCBqb3Vy bmFsICpqb3VybmFsLAo+wqAgaW50ICgqd3JpdGVfYXN5bmMpKHN0cnVjdCBqb3VybmFsICpqb3Vy bmFsLAo+wqAgc3RydWN0IGpvdXJuYWxfZW50cnkgKmVudHJ5KSwKPi0gdm9pZCAoKndyaXRlX2Fz eW5jX2NiKShzdHJ1Y3Qgam91cm5hbF9lbnRyeSAqZW50cnkpLAo+wqAgaW50ICgqd3JpdGUpKHN0 cnVjdCBqb3VybmFsICpqb3VybmFsLAo+wqAgc3RydWN0IGpvdXJuYWxfZW50cnkgKmVudHJ5KSkK PsKgewo+wqAgam91cm5hbC0+d3JpdGVfYXN5bmMgPSB3cml0ZV9hc3luYzsKPi0gam91cm5hbC0+ d3JpdGVfYXN5bmNfY2IgPSB3cml0ZV9hc3luY19jYjsKPsKgIGpvdXJuYWwtPndyaXRlID0gd3Jp dGU7Cj7CoH0KPsKgCj5kaWZmIC0tZ2l0IGEvc3JjL2JveC90eG4uYyBiL3NyYy9ib3gvdHhuLmMK PmluZGV4IDljMjEyNThjNS4uY2MxZjQ5NmM1IDEwMDY0NAo+LS0tIGEvc3JjL2JveC90eG4uYwo+ KysrIGIvc3JjL2JveC90eG4uYwo+QEAgLTU1MSw3ICs1NTEsNyBAQCB0eG5fam91cm5hbF9lbnRy eV9uZXcoc3RydWN0IHR4biAqdHhuKQo+wqAKPsKgIC8qIFNhdmUgc3BhY2UgZm9yIGFuIGFkZGl0 aW9uYWwgTk9QIHJvdyBqdXN0IGluIGNhc2UuICovCj7CoCByZXEgPSBqb3VybmFsX2VudHJ5X25l dyh0eG4tPm5fbmV3X3Jvd3MgKyB0eG4tPm5fYXBwbGllcl9yb3dzICsgMSwKPi0gJnR4bi0+cmVn aW9uLCB0eG4pOwo+KyAmdHhuLT5yZWdpb24sIHR4bl9jb21wbGV0ZV9hc3luYywgdHhuKTsKPsKg IGlmIChyZXEgPT0gTlVMTCkKPsKgIHJldHVybiBOVUxMOwo+wqAKPmRpZmYgLS1naXQgYS9zcmMv Ym94L3Z5X2xvZy5jIGIvc3JjL2JveC92eV9sb2cuYwo+aW5kZXggMzExOTg1YzcyLi5kZTRjNTIw NWMgMTAwNjQ0Cj4tLS0gYS9zcmMvYm94L3Z5X2xvZy5jCj4rKysgYi9zcmMvYm94L3Z5X2xvZy5j Cj5AQCAtODE4LDcgKzgxOCw3IEBAIHZ5X2xvZ190eF9mbHVzaChzdHJ1Y3QgdnlfbG9nX3R4ICp0 eCkKPsKgIHNpemVfdCB1c2VkID0gcmVnaW9uX3VzZWQoJmZpYmVyKCktPmdjKTsKPsKgCj7CoCBz dHJ1Y3Qgam91cm5hbF9lbnRyeSAqZW50cnk7Cj4tIGVudHJ5ID0gam91cm5hbF9lbnRyeV9uZXco dHhfc2l6ZSwgJmZpYmVyKCktPmdjLCBOVUxMKTsKPisgZW50cnkgPSBqb3VybmFsX2VudHJ5X25l dyh0eF9zaXplLCAmZmliZXIoKS0+Z2MsIE5VTEwsIE5VTEwpOwo+wqAgaWYgKGVudHJ5ID09IE5V TEwpCj7CoCBnb3RvIGVycjsKPsKgCj5kaWZmIC0tZ2l0IGEvc3JjL2JveC93YWwuYyBiL3NyYy9i b3gvd2FsLmMKPmluZGV4IGQ4YzkyYWEzNi4uMDQ1MDA2YjYwIDEwMDY0NAo+LS0tIGEvc3JjL2Jv eC93YWwuYwo+KysrIGIvc3JjL2JveC93YWwuYwo+QEAgLTI2NiwxMCArMjY2LDkgQEAgeGxvZ193 cml0ZV9lbnRyeShzdHJ1Y3QgeGxvZyAqbCwgc3RydWN0IGpvdXJuYWxfZW50cnkgKmVudHJ5KQo+ wqBzdGF0aWMgdm9pZAo+wqB0eF9zY2hlZHVsZV9xdWV1ZShzdHJ1Y3Qgc3RhaWxxICpxdWV1ZSkK PsKgewo+LSBzdHJ1Y3Qgd2FsX3dyaXRlciAqd3JpdGVyID0gJndhbF93cml0ZXJfc2luZ2xldG9u Owo+wqAgc3RydWN0IGpvdXJuYWxfZW50cnkgKnJlcSwgKnRtcDsKPsKgIHN0YWlscV9mb3JlYWNo X2VudHJ5X3NhZmUocmVxLCB0bXAsIHF1ZXVlLCBmaWZvKQo+LSBqb3VybmFsX2FzeW5jX2NvbXBs ZXRlKCZ3cml0ZXItPmJhc2UsIHJlcSk7Cj4rIGpvdXJuYWxfYXN5bmNfY29tcGxldGUocmVxKTsK PsKgfQo+wqAKPsKgLyoqCj5AQCAtNDAzLDkgKzQwMiw4IEBAIHR4X25vdGlmeV9jaGVja3BvaW50 KHN0cnVjdCBjbXNnICptc2cpCj7CoMKgKi8KPsKgc3RhdGljIHZvaWQKPsKgd2FsX3dyaXRlcl9j cmVhdGUoc3RydWN0IHdhbF93cml0ZXIgKndyaXRlciwgZW51bSB3YWxfbW9kZSB3YWxfbW9kZSwK Pi0gdm9pZCAoKndhbGxfYXN5bmNfY2IpKHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSksCj4t IGNvbnN0IGNoYXIgKndhbF9kaXJuYW1lLAo+LSBpbnQ2NF90IHdhbF9tYXhfc2l6ZSwgY29uc3Qg c3RydWN0IHR0X3V1aWQgKmluc3RhbmNlX3V1aWQsCj4rIGNvbnN0IGNoYXIgKndhbF9kaXJuYW1l LCBpbnQ2NF90IHdhbF9tYXhfc2l6ZSwKPisgY29uc3Qgc3RydWN0IHR0X3V1aWQgKmluc3RhbmNl X3V1aWQsCj7CoCB3YWxfb25fZ2FyYmFnZV9jb2xsZWN0aW9uX2Ygb25fZ2FyYmFnZV9jb2xsZWN0 aW9uLAo+wqAgd2FsX29uX2NoZWNrcG9pbnRfdGhyZXNob2xkX2Ygb25fY2hlY2twb2ludF90aHJl c2hvbGQpCj7CoHsKPkBAIC00MTUsNyArNDEzLDYgQEAgd2FsX3dyaXRlcl9jcmVhdGUoc3RydWN0 IHdhbF93cml0ZXIgKndyaXRlciwgZW51bSB3YWxfbW9kZSB3YWxfbW9kZSwKPsKgIGpvdXJuYWxf Y3JlYXRlKCZ3cml0ZXItPmJhc2UsCj7CoCB3YWxfbW9kZSA9PSBXQUxfTk9ORSA/Cj7CoCB3YWxf d3JpdGVfbm9uZV9hc3luYyA6IHdhbF93cml0ZV9hc3luYywKPi0gd2FsbF9hc3luY19jYiwKPsKg IHdhbF9tb2RlID09IFdBTF9OT05FID8KPsKgIHdhbF93cml0ZV9ub25lIDogd2FsX3dyaXRlKTsK PsKgCj5AQCAtNTI1LDE1ICs1MjIsMTUgQEAgd2FsX29wZW4oc3RydWN0IHdhbF93cml0ZXIgKndy aXRlcikKPsKgfQo+wqAKPsKgaW50Cj4td2FsX2luaXQoZW51bSB3YWxfbW9kZSB3YWxfbW9kZSwg dm9pZCAoKndhbGxfYXN5bmNfY2IpKHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSksCj4tIGNv bnN0IGNoYXIgKndhbF9kaXJuYW1lLCBpbnQ2NF90IHdhbF9tYXhfc2l6ZSwgY29uc3Qgc3RydWN0 IHR0X3V1aWQgKmluc3RhbmNlX3V1aWQsCj4rd2FsX2luaXQoZW51bSB3YWxfbW9kZSB3YWxfbW9k ZSwgY29uc3QgY2hhciAqd2FsX2Rpcm5hbWUsCj4rIGludDY0X3Qgd2FsX21heF9zaXplLCBjb25z dCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCwKPsKgIHdhbF9vbl9nYXJiYWdlX2NvbGxl Y3Rpb25fZiBvbl9nYXJiYWdlX2NvbGxlY3Rpb24sCj7CoCB3YWxfb25fY2hlY2twb2ludF90aHJl c2hvbGRfZiBvbl9jaGVja3BvaW50X3RocmVzaG9sZCkKPsKgewo+wqAgLyogSW5pdGlhbGl6ZSB0 aGUgc3RhdGUuICovCj7CoCBzdHJ1Y3Qgd2FsX3dyaXRlciAqd3JpdGVyID0gJndhbF93cml0ZXJf c2luZ2xldG9uOwo+LSB3YWxfd3JpdGVyX2NyZWF0ZSh3cml0ZXIsIHdhbF9tb2RlLCB3YWxsX2Fz eW5jX2NiLCB3YWxfZGlybmFtZSwKPi0gd2FsX21heF9zaXplLCBpbnN0YW5jZV91dWlkLCBvbl9n YXJiYWdlX2NvbGxlY3Rpb24sCj4rIHdhbF93cml0ZXJfY3JlYXRlKHdyaXRlciwgd2FsX21vZGUs IHdhbF9kaXJuYW1lLCB3YWxfbWF4X3NpemUsCj4rIGluc3RhbmNlX3V1aWQsIG9uX2dhcmJhZ2Vf Y29sbGVjdGlvbiwKPsKgIG9uX2NoZWNrcG9pbnRfdGhyZXNob2xkKTsKPsKgCj7CoCAvKiBTdGFy dCBXQUwgdGhyZWFkLiAqLwo+QEAgLTEzMTQsNyArMTMxMSw3IEBAIHdhbF93cml0ZV9ub25lX2Fz eW5jKHN0cnVjdCBqb3VybmFsICpqb3VybmFsLAo+wqAgdmNsb2NrX21lcmdlKCZ3cml0ZXItPnZj bG9jaywgJnZjbG9ja19kaWZmKTsKPsKgIHZjbG9ja19jb3B5KCZyZXBsaWNhc2V0LnZjbG9jaywg JndyaXRlci0+dmNsb2NrKTsKPsKgIGVudHJ5LT5yZXMgPSB2Y2xvY2tfc3VtKCZ3cml0ZXItPnZj bG9jayk7Cj4tIGpvdXJuYWxfYXN5bmNfY29tcGxldGUoam91cm5hbCwgZW50cnkpOwo+KyBqb3Vy bmFsX2FzeW5jX2NvbXBsZXRlKGVudHJ5KTsKPsKgIHJldHVybiAwOwo+wqB9Cj7CoAo+ZGlmZiAt LWdpdCBhL3NyYy9ib3gvd2FsLmggYi9zcmMvYm94L3dhbC5oCj5pbmRleCBmMzQ4ZGM2MzYuLjlk MGNhZGE0NiAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvd2FsLmgKPisrKyBiL3NyYy9ib3gvd2FsLmgK PkBAIC04MSw4ICs4MSw4IEBAIHR5cGVkZWYgdm9pZCAoKndhbF9vbl9jaGVja3BvaW50X3RocmVz aG9sZF9mKSh2b2lkKTsKPsKgwqAqIFN0YXJ0IFdBTCB0aHJlYWQgYW5kIGluaXRpYWxpemUgV0FM IHdyaXRlci4KPsKgwqAqLwo+wqBpbnQKPi13YWxfaW5pdChlbnVtIHdhbF9tb2RlIHdhbF9tb2Rl LCB2b2lkICgqd2FsbF9hc3luY19jYikoc3RydWN0IGpvdXJuYWxfZW50cnkgKmVudHJ5KSwKPi0g Y29uc3QgY2hhciAqd2FsX2Rpcm5hbWUsIGludDY0X3Qgd2FsX21heF9zaXplLCBjb25zdCBzdHJ1 Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCwKPit3YWxfaW5pdChlbnVtIHdhbF9tb2RlIHdhbF9t b2RlLCBjb25zdCBjaGFyICp3YWxfZGlybmFtZSwKPisgaW50NjRfdCB3YWxfbWF4X3NpemUsIGNv bnN0IHN0cnVjdCB0dF91dWlkICppbnN0YW5jZV91dWlkLAo+wqAgd2FsX29uX2dhcmJhZ2VfY29s bGVjdGlvbl9mIG9uX2dhcmJhZ2VfY29sbGVjdGlvbiwKPsKgIHdhbF9vbl9jaGVja3BvaW50X3Ro cmVzaG9sZF9mIG9uX2NoZWNrcG9pbnRfdGhyZXNob2xkKTsKPsKgCj4tLQo+Mi4yNi4yCsKgCsKg Ci0tClNlcmdlwqBQZXRyZW5rbyDCoArCoA== ----ALT--dD5d7E2d87aE5F6abE0889Fc272373D41597996094 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+SGkhIFRoYW5rcyBmb3IgdGhlIHBhdGNoISBMR1RNLjwvZGl2Pjxk aXY+Jm5ic3A7PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAj MDg1N0E2OyBtYXJnaW46MTBweDsgcGFkZGluZzowIDAgMCAxMHB4OyI+0KfQtdGC0LLQtdGA0LMs IDIwINCw0LLQs9GD0YHRgtCwIDIwMjAsIDA6MzUgKzAzOjAwINC+0YIgQ3lyaWxsIEdvcmN1bm92 ICZsdDtnb3JjdW5vdkBnbWFpbC5jb20mZ3Q7Ojxicj4mbmJzcDs8ZGl2IGlkPSIiPjxkaXYgY2xh c3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0 eWxlPjxkaXY+PGRpdiBpZD0ic3R5bGVfMTU5Nzg3MjkxMzEwODg4NDgyMzlfQk9EWSI+SW4gY29t bWl0IDc3YmEwZTM1MDQ0NjQxMzFmZTgxYzY3MmQ1MDhkMDI3NWJlMjE3M2Egd2UndmUgcmVkZXNp Z25lZDxicj53YWwgam91cm5hbCBvcGVyYXRpb25zIHN1Y2ggdGhhdCBhc3luY2hyb25vdXMgd3Jp dGUgY29tcGxldGlvbjxicj5pcyBhIHNpbmdsZSBpbnN0YW5jZSBwZXIgam91cm5hbC48YnI+PGJy Pkl0IHR1cm5lZCBvdXQgdGhhdCBzdWNoIHNpbXBsaWZpY2F0aW9uIGlzIHRvbyB0aWdodCBhbmQg ZG9lc24ndDxicj5hbGxvdyB1cyB0byBwYXNzIGVudHJpZXMgaW50byB0aGUgam91cm5hbCB3aXRo IGN1c3RvbSBjb21wbGV0aW9ucy48YnI+PGJyPlRodXMgbGV0cyBhbGxvdyBiYWNrIHN1Y2ggYWJp bGl0eS4gV2Ugd2lsbCBuZWVkIGl0IHRvIGJlIGFibGU8YnI+dG8gd3JpdGUgImNvbmZpcm0iIHJl Y29yZHMgaW50byB3YWwgZGlyZWN0bHkgd2l0aG91dCB0b3VjaGluZzxicj50cmFuc2FjdGlvbnMg Y29kZSBhdCBhbGwuPGJyPjxicj5QYXJ0LW9mICM1MTI5PGJyPjxicj5TaWduZWQtb2ZmLWJ5OiBD eXJpbGwgR29yY3Vub3YgJmx0OzxhIGhyZWY9Ii9jb21wb3NlP1RvPWdvcmN1bm92QGdtYWlsLmNv bSI+Z29yY3Vub3ZAZ21haWwuY29tPC9hPiZndDs8YnI+LS0tPGJyPiZuYnNwO3NyYy9ib3gvYm94 LmNjIHwgMTUgKysrKysrKystLS0tLS0tPGJyPiZuYnNwO3NyYy9ib3gvam91cm5hbC5jIHwgMiAr Kzxicj4mbmJzcDtzcmMvYm94L2pvdXJuYWwuaCB8IDIwICsrKysrKysrKysrLS0tLS0tLS0tPGJy PiZuYnNwO3NyYy9ib3gvdHhuLmMgfCAyICstPGJyPiZuYnNwO3NyYy9ib3gvdnlfbG9nLmMgfCAy ICstPGJyPiZuYnNwO3NyYy9ib3gvd2FsLmMgfCAxOSArKysrKysrKy0tLS0tLS0tLS0tPGJyPiZu YnNwO3NyYy9ib3gvd2FsLmggfCA0ICsrLS08YnI+Jm5ic3A7NyBmaWxlcyBjaGFuZ2VkLCAzMyBp bnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSk8YnI+PGJyPmRpZmYgLS1naXQgYS9zcmMvYm94 L2JveC5jYyBiL3NyYy9ib3gvYm94LmNjPGJyPmluZGV4IDhlODExZTljMS4uZmFmZmQ1NzY5IDEw MDY0NDxicj4tLS0gYS9zcmMvYm94L2JveC5jYzxicj4rKysgYi9zcmMvYm94L2JveC5jYzxicj5A QCAtMzQ4LDcgKzM0OCw3IEBAIHJlY292ZXJ5X2pvdXJuYWxfd3JpdGUoc3RydWN0IGpvdXJuYWwg KmJhc2UsPGJyPiZuYnNwOyAqIFNpbmNlIHRoZXJlJ3JlIG5vIGFjdHVhbCB3cml0ZXMsIGZpcmUg YTxicj4mbmJzcDsgKiBqb3VybmFsX2FzeW5jX2NvbXBsZXRlIGNhbGxiYWNrIHJpZ2h0IGF3YXku PGJyPiZuYnNwOyAqLzxicj4tIGpvdXJuYWxfYXN5bmNfY29tcGxldGUoYmFzZSwgZW50cnkpOzxi cj4rIGpvdXJuYWxfYXN5bmNfY29tcGxldGUoZW50cnkpOzxicj4mbmJzcDsgcmV0dXJuIDA7PGJy PiZuYnNwO308YnI+Jm5ic3A7PGJyPkBAIC0zNTcsNyArMzU3LDcgQEAgcmVjb3Zlcnlfam91cm5h bF9jcmVhdGUoc3RydWN0IHZjbG9jayAqdik8YnI+Jm5ic3A7ezxicj4mbmJzcDsgc3RhdGljIHN0 cnVjdCByZWNvdmVyeV9qb3VybmFsIGpvdXJuYWw7PGJyPiZuYnNwOyBqb3VybmFsX2NyZWF0ZSgm YW1wO2pvdXJuYWwuYmFzZSwgcmVjb3Zlcnlfam91cm5hbF93cml0ZSw8YnI+LSB0eG5fY29tcGxl dGVfYXN5bmMsIHJlY292ZXJ5X2pvdXJuYWxfd3JpdGUpOzxicj4rIHJlY292ZXJ5X2pvdXJuYWxf d3JpdGUpOzxicj4mbmJzcDsgam91cm5hbC52Y2xvY2sgPSB2Ozxicj4mbmJzcDsgam91cm5hbF9z ZXQoJmFtcDtqb3VybmFsLmJhc2UpOzxicj4mbmJzcDt9PGJyPkBAIC0yMTgyLDggKzIxODIsMTAg QEAgZW5naW5lX2luaXQoKTxicj4mbmJzcDtzdGF0aWMgaW50PGJyPiZuYnNwO2Jvb3RzdHJhcF9q b3VybmFsX3dyaXRlKHN0cnVjdCBqb3VybmFsICpiYXNlLCBzdHJ1Y3Qgam91cm5hbF9lbnRyeSAq ZW50cnkpPGJyPiZuYnNwO3s8YnI+KyAodm9pZCliYXNlOzxicj4rPGJyPiZuYnNwOyBlbnRyeS0m Z3Q7cmVzID0gMDs8YnI+LSBqb3VybmFsX2FzeW5jX2NvbXBsZXRlKGJhc2UsIGVudHJ5KTs8YnI+ KyBqb3VybmFsX2FzeW5jX2NvbXBsZXRlKGVudHJ5KTs8YnI+Jm5ic3A7IHJldHVybiAwOzxicj4m bmJzcDt9PGJyPiZuYnNwOzxicj5AQCAtMjU2OSw4ICsyNTcxLDggQEAgYm94X2NmZ194Yyh2b2lk KTxicj4mbmJzcDs8YnI+Jm5ic3A7IGludDY0X3Qgd2FsX21heF9zaXplID0gYm94X2NoZWNrX3dh bF9tYXhfc2l6ZShjZmdfZ2V0aTY0KCJ3YWxfbWF4X3NpemUiKSk7PGJyPiZuYnNwOyBlbnVtIHdh bF9tb2RlIHdhbF9tb2RlID0gYm94X2NoZWNrX3dhbF9tb2RlKGNmZ19nZXRzKCJ3YWxfbW9kZSIp KTs8YnI+LSBpZiAod2FsX2luaXQod2FsX21vZGUsIHR4bl9jb21wbGV0ZV9hc3luYywgY2ZnX2dl dHMoIndhbF9kaXIiKSw8YnI+LSB3YWxfbWF4X3NpemUsICZhbXA7SU5TVEFOQ0VfVVVJRCwgb25f d2FsX2dhcmJhZ2VfY29sbGVjdGlvbiw8YnI+KyBpZiAod2FsX2luaXQod2FsX21vZGUsIGNmZ19n ZXRzKCJ3YWxfZGlyIiksIHdhbF9tYXhfc2l6ZSw8YnI+KyAmYW1wO0lOU1RBTkNFX1VVSUQsIG9u X3dhbF9nYXJiYWdlX2NvbGxlY3Rpb24sPGJyPiZuYnNwOyBvbl93YWxfY2hlY2twb2ludF90aHJl c2hvbGQpICE9IDApIHs8YnI+Jm5ic3A7IGRpYWdfcmFpc2UoKTs8YnI+Jm5ic3A7IH08YnI+QEAg LTI2MTcsOCArMjYxOSw3IEBAIGJveF9jZmdfeGModm9pZCk8YnI+Jm5ic3A7IH08YnI+Jm5ic3A7 PGJyPiZuYnNwOyBzdHJ1Y3Qgam91cm5hbCBib290c3RyYXBfam91cm5hbDs8YnI+LSBqb3VybmFs X2NyZWF0ZSgmYW1wO2Jvb3RzdHJhcF9qb3VybmFsLCBOVUxMLCB0eG5fY29tcGxldGVfYXN5bmMs PGJyPi0gYm9vdHN0cmFwX2pvdXJuYWxfd3JpdGUpOzxicj4rIGpvdXJuYWxfY3JlYXRlKCZhbXA7 Ym9vdHN0cmFwX2pvdXJuYWwsIE5VTEwsIGJvb3RzdHJhcF9qb3VybmFsX3dyaXRlKTs8YnI+Jm5i c3A7IGpvdXJuYWxfc2V0KCZhbXA7Ym9vdHN0cmFwX2pvdXJuYWwpOzxicj4mbmJzcDsgYXV0byBi b290c3RyYXBfam91cm5hbF9ndWFyZCA9IG1ha2Vfc2NvcGVkX2d1YXJkKFtdIHs8YnI+Jm5ic3A7 IGpvdXJuYWxfc2V0KE5VTEwpOzxicj5kaWZmIC0tZ2l0IGEvc3JjL2JveC9qb3VybmFsLmMgYi9z cmMvYm94L2pvdXJuYWwuYzxicj5pbmRleCBmMWU4OWFhYTIuLjQ4YWY5MTU3YiAxMDA2NDQ8YnI+ LS0tIGEvc3JjL2JveC9qb3VybmFsLmM8YnI+KysrIGIvc3JjL2JveC9qb3VybmFsLmM8YnI+QEAg LTM2LDYgKzM2LDcgQEAgc3RydWN0IGpvdXJuYWwgKmN1cnJlbnRfam91cm5hbCA9IE5VTEw7PGJy PiZuYnNwOzxicj4mbmJzcDtzdHJ1Y3Qgam91cm5hbF9lbnRyeSAqPGJyPiZuYnNwO2pvdXJuYWxf ZW50cnlfbmV3KHNpemVfdCBuX3Jvd3MsIHN0cnVjdCByZWdpb24gKnJlZ2lvbiw8YnI+KyBqb3Vy bmFsX3dyaXRlX2FzeW5jX2Ygd3JpdGVfYXN5bmNfY2IsPGJyPiZuYnNwOyB2b2lkICpjb21wbGV0 ZV9kYXRhKTxicj4mbmJzcDt7PGJyPiZuYnNwOyBzdHJ1Y3Qgam91cm5hbF9lbnRyeSAqZW50cnk7 PGJyPkBAIC01MCw2ICs1MSw3IEBAIGpvdXJuYWxfZW50cnlfbmV3KHNpemVfdCBuX3Jvd3MsIHN0 cnVjdCByZWdpb24gKnJlZ2lvbiw8YnI+Jm5ic3A7IHJldHVybiBOVUxMOzxicj4mbmJzcDsgfTxi cj4mbmJzcDs8YnI+KyBlbnRyeS0mZ3Q7d3JpdGVfYXN5bmNfY2IgPSB3cml0ZV9hc3luY19jYjs8 YnI+Jm5ic3A7IGVudHJ5LSZndDtjb21wbGV0ZV9kYXRhID0gY29tcGxldGVfZGF0YTs8YnI+Jm5i c3A7IGVudHJ5LSZndDthcHByb3hfbGVuID0gMDs8YnI+Jm5ic3A7IGVudHJ5LSZndDtuX3Jvd3Mg PSBuX3Jvd3M7PGJyPmRpZmYgLS1naXQgYS9zcmMvYm94L2pvdXJuYWwuaCBiL3NyYy9ib3gvam91 cm5hbC5oPGJyPmluZGV4IDFhMTBlNjZjMy4uNGIwMTlmZWNmIDEwMDY0NDxicj4tLS0gYS9zcmMv Ym94L2pvdXJuYWwuaDxicj4rKysgYi9zcmMvYm94L2pvdXJuYWwuaDxicj5AQCAtNDIsNiArNDIs OCBAQCBleHRlcm4gIkMiIHs8YnI+Jm5ic3A7c3RydWN0IHhyb3dfaGVhZGVyOzxicj4mbmJzcDtz dHJ1Y3Qgam91cm5hbF9lbnRyeTs8YnI+Jm5ic3A7PGJyPit0eXBlZGVmIHZvaWQgKCpqb3VybmFs X3dyaXRlX2FzeW5jX2YpKHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSk7PGJyPis8YnI+Jm5i c3A7LyoqPGJyPiZuYnNwOyZuYnNwOyogQW4gZW50cnkgZm9yIGFuIGFic3RyYWN0IGpvdXJuYWwu PGJyPiZuYnNwOyZuYnNwOyogU2ltcGx5IHB1dCwgYSB3cml0ZSBhaGVhZCBsb2cgcmVxdWVzdC48 YnI+QEAgLTYxLDYgKzYzLDEwIEBAIHN0cnVjdCBqb3VybmFsX2VudHJ5IHs8YnI+Jm5ic3A7ICog QSBqb3VybmFsIGVudHJ5IGNvbXBsZXRpb24gY2FsbGJhY2sgYXJndW1lbnQuPGJyPiZuYnNwOyAq Lzxicj4mbmJzcDsgdm9pZCAqY29tcGxldGVfZGF0YTs8YnI+KyAvKio8YnI+KyAqIEFzeW5jaHJv bm91cyB3cml0ZSBjb21wbGV0aW9uIGZ1bmN0aW9uLjxicj4rICovPGJyPisgam91cm5hbF93cml0 ZV9hc3luY19mIHdyaXRlX2FzeW5jX2NiOzxicj4mbmJzcDsgLyoqPGJyPiZuYnNwOyAqIEFwcHJv eGltYXRlIHNpemUgb2YgdGhpcyByZXF1ZXN0IHdoZW4gZW5jb2RlZC48YnI+Jm5ic3A7ICovPGJy PkBAIC04NCw2ICs5MCw3IEBAIHN0cnVjdCByZWdpb247PGJyPiZuYnNwOyZuYnNwOyovPGJyPiZu YnNwO3N0cnVjdCBqb3VybmFsX2VudHJ5ICo8YnI+Jm5ic3A7am91cm5hbF9lbnRyeV9uZXcoc2l6 ZV90IG5fcm93cywgc3RydWN0IHJlZ2lvbiAqcmVnaW9uLDxicj4rIGpvdXJuYWxfd3JpdGVfYXN5 bmNfZiB3cml0ZV9hc3luY19jYiw8YnI+Jm5ic3A7IHZvaWQgKmNvbXBsZXRlX2RhdGEpOzxicj4m bmJzcDs8YnI+Jm5ic3A7LyoqPGJyPkBAIC05NiwyMiArMTAzLDE5IEBAIHN0cnVjdCBqb3VybmFs IHs8YnI+Jm5ic3A7IGludCAoKndyaXRlX2FzeW5jKShzdHJ1Y3Qgam91cm5hbCAqam91cm5hbCw8 YnI+Jm5ic3A7IHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSk7PGJyPiZuYnNwOzxicj4tIC8q KiBBc3luY2hyb25vdXMgd3JpdGUgY29tcGxldGlvbiAqLzxicj4tIHZvaWQgKCp3cml0ZV9hc3lu Y19jYikoc3RydWN0IGpvdXJuYWxfZW50cnkgKmVudHJ5KTs8YnI+LTxicj4mbmJzcDsgLyoqIFN5 bmNocm9ub3VzIHdyaXRlICovPGJyPiZuYnNwOyBpbnQgKCp3cml0ZSkoc3RydWN0IGpvdXJuYWwg KmpvdXJuYWwsPGJyPiZuYnNwOyBzdHJ1Y3Qgam91cm5hbF9lbnRyeSAqZW50cnkpOzxicj4mbmJz cDt9Ozxicj4mbmJzcDs8YnI+Jm5ic3A7LyoqPGJyPi0gKiBGaW5hbGl6ZSBhIHNpbmdsZSBlbnRy eS48YnI+KyAqIENvbXBsZXRlIGFzeW5jaHJvbm91cyB3cml0ZS48YnI+Jm5ic3A7Jm5ic3A7Ki88 YnI+Jm5ic3A7c3RhdGljIGlubGluZSB2b2lkPGJyPi1qb3VybmFsX2FzeW5jX2NvbXBsZXRlKHN0 cnVjdCBqb3VybmFsICpqb3VybmFsLCBzdHJ1Y3Qgam91cm5hbF9lbnRyeSAqZW50cnkpPGJyPitq b3VybmFsX2FzeW5jX2NvbXBsZXRlKHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSk8YnI+Jm5i c3A7ezxicj4tIGFzc2VydChqb3VybmFsLSZndDt3cml0ZV9hc3luY19jYiAhPSBOVUxMKTs8YnI+ LSBqb3VybmFsLSZndDt3cml0ZV9hc3luY19jYihlbnRyeSk7PGJyPisgYXNzZXJ0KGVudHJ5LSZn dDt3cml0ZV9hc3luY19jYiAhPSBOVUxMKTs8YnI+KyBlbnRyeS0mZ3Q7d3JpdGVfYXN5bmNfY2Io ZW50cnkpOzxicj4mbmJzcDt9PGJyPiZuYnNwOzxicj4mbmJzcDsvKio8YnI+QEAgLTE3MywxMiAr MTc3LDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZDxicj4mbmJzcDtqb3VybmFsX2NyZWF0ZShzdHJ1 Y3Qgam91cm5hbCAqam91cm5hbCw8YnI+Jm5ic3A7IGludCAoKndyaXRlX2FzeW5jKShzdHJ1Y3Qg am91cm5hbCAqam91cm5hbCw8YnI+Jm5ic3A7IHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeSks PGJyPi0gdm9pZCAoKndyaXRlX2FzeW5jX2NiKShzdHJ1Y3Qgam91cm5hbF9lbnRyeSAqZW50cnkp LDxicj4mbmJzcDsgaW50ICgqd3JpdGUpKHN0cnVjdCBqb3VybmFsICpqb3VybmFsLDxicj4mbmJz cDsgc3RydWN0IGpvdXJuYWxfZW50cnkgKmVudHJ5KSk8YnI+Jm5ic3A7ezxicj4mbmJzcDsgam91 cm5hbC0mZ3Q7d3JpdGVfYXN5bmMgPSB3cml0ZV9hc3luYzs8YnI+LSBqb3VybmFsLSZndDt3cml0 ZV9hc3luY19jYiA9IHdyaXRlX2FzeW5jX2NiOzxicj4mbmJzcDsgam91cm5hbC0mZ3Q7d3JpdGUg PSB3cml0ZTs8YnI+Jm5ic3A7fTxicj4mbmJzcDs8YnI+ZGlmZiAtLWdpdCBhL3NyYy9ib3gvdHhu LmMgYi9zcmMvYm94L3R4bi5jPGJyPmluZGV4IDljMjEyNThjNS4uY2MxZjQ5NmM1IDEwMDY0NDxi cj4tLS0gYS9zcmMvYm94L3R4bi5jPGJyPisrKyBiL3NyYy9ib3gvdHhuLmM8YnI+QEAgLTU1MSw3 ICs1NTEsNyBAQCB0eG5fam91cm5hbF9lbnRyeV9uZXcoc3RydWN0IHR4biAqdHhuKTxicj4mbmJz cDs8YnI+Jm5ic3A7IC8qIFNhdmUgc3BhY2UgZm9yIGFuIGFkZGl0aW9uYWwgTk9QIHJvdyBqdXN0 IGluIGNhc2UuICovPGJyPiZuYnNwOyByZXEgPSBqb3VybmFsX2VudHJ5X25ldyh0eG4tJmd0O25f bmV3X3Jvd3MgKyB0eG4tJmd0O25fYXBwbGllcl9yb3dzICsgMSw8YnI+LSAmYW1wO3R4bi0mZ3Q7 cmVnaW9uLCB0eG4pOzxicj4rICZhbXA7dHhuLSZndDtyZWdpb24sIHR4bl9jb21wbGV0ZV9hc3lu YywgdHhuKTs8YnI+Jm5ic3A7IGlmIChyZXEgPT0gTlVMTCk8YnI+Jm5ic3A7IHJldHVybiBOVUxM Ozxicj4mbmJzcDs8YnI+ZGlmZiAtLWdpdCBhL3NyYy9ib3gvdnlfbG9nLmMgYi9zcmMvYm94L3Z5 X2xvZy5jPGJyPmluZGV4IDMxMTk4NWM3Mi4uZGU0YzUyMDVjIDEwMDY0NDxicj4tLS0gYS9zcmMv Ym94L3Z5X2xvZy5jPGJyPisrKyBiL3NyYy9ib3gvdnlfbG9nLmM8YnI+QEAgLTgxOCw3ICs4MTgs NyBAQCB2eV9sb2dfdHhfZmx1c2goc3RydWN0IHZ5X2xvZ190eCAqdHgpPGJyPiZuYnNwOyBzaXpl X3QgdXNlZCA9IHJlZ2lvbl91c2VkKCZhbXA7ZmliZXIoKS0mZ3Q7Z2MpOzxicj4mbmJzcDs8YnI+ Jm5ic3A7IHN0cnVjdCBqb3VybmFsX2VudHJ5ICplbnRyeTs8YnI+LSBlbnRyeSA9IGpvdXJuYWxf ZW50cnlfbmV3KHR4X3NpemUsICZhbXA7ZmliZXIoKS0mZ3Q7Z2MsIE5VTEwpOzxicj4rIGVudHJ5 ID0gam91cm5hbF9lbnRyeV9uZXcodHhfc2l6ZSwgJmFtcDtmaWJlcigpLSZndDtnYywgTlVMTCwg TlVMTCk7PGJyPiZuYnNwOyBpZiAoZW50cnkgPT0gTlVMTCk8YnI+Jm5ic3A7IGdvdG8gZXJyOzxi cj4mbmJzcDs8YnI+ZGlmZiAtLWdpdCBhL3NyYy9ib3gvd2FsLmMgYi9zcmMvYm94L3dhbC5jPGJy PmluZGV4IGQ4YzkyYWEzNi4uMDQ1MDA2YjYwIDEwMDY0NDxicj4tLS0gYS9zcmMvYm94L3dhbC5j PGJyPisrKyBiL3NyYy9ib3gvd2FsLmM8YnI+QEAgLTI2NiwxMCArMjY2LDkgQEAgeGxvZ193cml0 ZV9lbnRyeShzdHJ1Y3QgeGxvZyAqbCwgc3RydWN0IGpvdXJuYWxfZW50cnkgKmVudHJ5KTxicj4m bmJzcDtzdGF0aWMgdm9pZDxicj4mbmJzcDt0eF9zY2hlZHVsZV9xdWV1ZShzdHJ1Y3Qgc3RhaWxx ICpxdWV1ZSk8YnI+Jm5ic3A7ezxicj4tIHN0cnVjdCB3YWxfd3JpdGVyICp3cml0ZXIgPSAmYW1w O3dhbF93cml0ZXJfc2luZ2xldG9uOzxicj4mbmJzcDsgc3RydWN0IGpvdXJuYWxfZW50cnkgKnJl cSwgKnRtcDs8YnI+Jm5ic3A7IHN0YWlscV9mb3JlYWNoX2VudHJ5X3NhZmUocmVxLCB0bXAsIHF1 ZXVlLCBmaWZvKTxicj4tIGpvdXJuYWxfYXN5bmNfY29tcGxldGUoJmFtcDt3cml0ZXItJmd0O2Jh c2UsIHJlcSk7PGJyPisgam91cm5hbF9hc3luY19jb21wbGV0ZShyZXEpOzxicj4mbmJzcDt9PGJy PiZuYnNwOzxicj4mbmJzcDsvKio8YnI+QEAgLTQwMyw5ICs0MDIsOCBAQCB0eF9ub3RpZnlfY2hl Y2twb2ludChzdHJ1Y3QgY21zZyAqbXNnKTxicj4mbmJzcDsmbmJzcDsqLzxicj4mbmJzcDtzdGF0 aWMgdm9pZDxicj4mbmJzcDt3YWxfd3JpdGVyX2NyZWF0ZShzdHJ1Y3Qgd2FsX3dyaXRlciAqd3Jp dGVyLCBlbnVtIHdhbF9tb2RlIHdhbF9tb2RlLDxicj4tIHZvaWQgKCp3YWxsX2FzeW5jX2NiKShz dHJ1Y3Qgam91cm5hbF9lbnRyeSAqZW50cnkpLDxicj4tIGNvbnN0IGNoYXIgKndhbF9kaXJuYW1l LDxicj4tIGludDY0X3Qgd2FsX21heF9zaXplLCBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFu Y2VfdXVpZCw8YnI+KyBjb25zdCBjaGFyICp3YWxfZGlybmFtZSwgaW50NjRfdCB3YWxfbWF4X3Np emUsPGJyPisgY29uc3Qgc3RydWN0IHR0X3V1aWQgKmluc3RhbmNlX3V1aWQsPGJyPiZuYnNwOyB3 YWxfb25fZ2FyYmFnZV9jb2xsZWN0aW9uX2Ygb25fZ2FyYmFnZV9jb2xsZWN0aW9uLDxicj4mbmJz cDsgd2FsX29uX2NoZWNrcG9pbnRfdGhyZXNob2xkX2Ygb25fY2hlY2twb2ludF90aHJlc2hvbGQp PGJyPiZuYnNwO3s8YnI+QEAgLTQxNSw3ICs0MTMsNiBAQCB3YWxfd3JpdGVyX2NyZWF0ZShzdHJ1 Y3Qgd2FsX3dyaXRlciAqd3JpdGVyLCBlbnVtIHdhbF9tb2RlIHdhbF9tb2RlLDxicj4mbmJzcDsg am91cm5hbF9jcmVhdGUoJmFtcDt3cml0ZXItJmd0O2Jhc2UsPGJyPiZuYnNwOyB3YWxfbW9kZSA9 PSBXQUxfTk9ORSA/PGJyPiZuYnNwOyB3YWxfd3JpdGVfbm9uZV9hc3luYyA6IHdhbF93cml0ZV9h c3luYyw8YnI+LSB3YWxsX2FzeW5jX2NiLDxicj4mbmJzcDsgd2FsX21vZGUgPT0gV0FMX05PTkUg Pzxicj4mbmJzcDsgd2FsX3dyaXRlX25vbmUgOiB3YWxfd3JpdGUpOzxicj4mbmJzcDs8YnI+QEAg LTUyNSwxNSArNTIyLDE1IEBAIHdhbF9vcGVuKHN0cnVjdCB3YWxfd3JpdGVyICp3cml0ZXIpPGJy PiZuYnNwO308YnI+Jm5ic3A7PGJyPiZuYnNwO2ludDxicj4td2FsX2luaXQoZW51bSB3YWxfbW9k ZSB3YWxfbW9kZSwgdm9pZCAoKndhbGxfYXN5bmNfY2IpKHN0cnVjdCBqb3VybmFsX2VudHJ5ICpl bnRyeSksPGJyPi0gY29uc3QgY2hhciAqd2FsX2Rpcm5hbWUsIGludDY0X3Qgd2FsX21heF9zaXpl LCBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCw8YnI+K3dhbF9pbml0KGVudW0g d2FsX21vZGUgd2FsX21vZGUsIGNvbnN0IGNoYXIgKndhbF9kaXJuYW1lLDxicj4rIGludDY0X3Qg d2FsX21heF9zaXplLCBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCw8YnI+Jm5i c3A7IHdhbF9vbl9nYXJiYWdlX2NvbGxlY3Rpb25fZiBvbl9nYXJiYWdlX2NvbGxlY3Rpb24sPGJy PiZuYnNwOyB3YWxfb25fY2hlY2twb2ludF90aHJlc2hvbGRfZiBvbl9jaGVja3BvaW50X3RocmVz aG9sZCk8YnI+Jm5ic3A7ezxicj4mbmJzcDsgLyogSW5pdGlhbGl6ZSB0aGUgc3RhdGUuICovPGJy PiZuYnNwOyBzdHJ1Y3Qgd2FsX3dyaXRlciAqd3JpdGVyID0gJmFtcDt3YWxfd3JpdGVyX3Npbmds ZXRvbjs8YnI+LSB3YWxfd3JpdGVyX2NyZWF0ZSh3cml0ZXIsIHdhbF9tb2RlLCB3YWxsX2FzeW5j X2NiLCB3YWxfZGlybmFtZSw8YnI+LSB3YWxfbWF4X3NpemUsIGluc3RhbmNlX3V1aWQsIG9uX2dh cmJhZ2VfY29sbGVjdGlvbiw8YnI+KyB3YWxfd3JpdGVyX2NyZWF0ZSh3cml0ZXIsIHdhbF9tb2Rl LCB3YWxfZGlybmFtZSwgd2FsX21heF9zaXplLDxicj4rIGluc3RhbmNlX3V1aWQsIG9uX2dhcmJh Z2VfY29sbGVjdGlvbiw8YnI+Jm5ic3A7IG9uX2NoZWNrcG9pbnRfdGhyZXNob2xkKTs8YnI+Jm5i c3A7PGJyPiZuYnNwOyAvKiBTdGFydCBXQUwgdGhyZWFkLiAqLzxicj5AQCAtMTMxNCw3ICsxMzEx LDcgQEAgd2FsX3dyaXRlX25vbmVfYXN5bmMoc3RydWN0IGpvdXJuYWwgKmpvdXJuYWwsPGJyPiZu YnNwOyB2Y2xvY2tfbWVyZ2UoJmFtcDt3cml0ZXItJmd0O3ZjbG9jaywgJmFtcDt2Y2xvY2tfZGlm Zik7PGJyPiZuYnNwOyB2Y2xvY2tfY29weSgmYW1wO3JlcGxpY2FzZXQudmNsb2NrLCAmYW1wO3dy aXRlci0mZ3Q7dmNsb2NrKTs8YnI+Jm5ic3A7IGVudHJ5LSZndDtyZXMgPSB2Y2xvY2tfc3VtKCZh bXA7d3JpdGVyLSZndDt2Y2xvY2spOzxicj4tIGpvdXJuYWxfYXN5bmNfY29tcGxldGUoam91cm5h bCwgZW50cnkpOzxicj4rIGpvdXJuYWxfYXN5bmNfY29tcGxldGUoZW50cnkpOzxicj4mbmJzcDsg cmV0dXJuIDA7PGJyPiZuYnNwO308YnI+Jm5ic3A7PGJyPmRpZmYgLS1naXQgYS9zcmMvYm94L3dh bC5oIGIvc3JjL2JveC93YWwuaDxicj5pbmRleCBmMzQ4ZGM2MzYuLjlkMGNhZGE0NiAxMDA2NDQ8 YnI+LS0tIGEvc3JjL2JveC93YWwuaDxicj4rKysgYi9zcmMvYm94L3dhbC5oPGJyPkBAIC04MSw4 ICs4MSw4IEBAIHR5cGVkZWYgdm9pZCAoKndhbF9vbl9jaGVja3BvaW50X3RocmVzaG9sZF9mKSh2 b2lkKTs8YnI+Jm5ic3A7Jm5ic3A7KiBTdGFydCBXQUwgdGhyZWFkIGFuZCBpbml0aWFsaXplIFdB TCB3cml0ZXIuPGJyPiZuYnNwOyZuYnNwOyovPGJyPiZuYnNwO2ludDxicj4td2FsX2luaXQoZW51 bSB3YWxfbW9kZSB3YWxfbW9kZSwgdm9pZCAoKndhbGxfYXN5bmNfY2IpKHN0cnVjdCBqb3VybmFs X2VudHJ5ICplbnRyeSksPGJyPi0gY29uc3QgY2hhciAqd2FsX2Rpcm5hbWUsIGludDY0X3Qgd2Fs X21heF9zaXplLCBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVpZCw8YnI+K3dhbF9p bml0KGVudW0gd2FsX21vZGUgd2FsX21vZGUsIGNvbnN0IGNoYXIgKndhbF9kaXJuYW1lLDxicj4r IGludDY0X3Qgd2FsX21heF9zaXplLCBjb25zdCBzdHJ1Y3QgdHRfdXVpZCAqaW5zdGFuY2VfdXVp ZCw8YnI+Jm5ic3A7IHdhbF9vbl9nYXJiYWdlX2NvbGxlY3Rpb25fZiBvbl9nYXJiYWdlX2NvbGxl Y3Rpb24sPGJyPiZuYnNwOyB3YWxfb25fY2hlY2twb2ludF90aHJlc2hvbGRfZiBvbl9jaGVja3Bv aW50X3RocmVzaG9sZCk7PGJyPiZuYnNwOzxicj4tLTxicj4yLjI2LjI8L2Rpdj48L2Rpdj48L2Rp dj48L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PjxkaXY+Jm5ic3A7PGRp dj48ZGl2Pi0tPGJyPlNlcmdlJm5ic3A7UGV0cmVua288c3BhbiBpZD0iY2tlX2JtXzE0OUUiIHN0 eWxlPSJkaXNwbGF5OiBub25lOyI+Jm5ic3A7PC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2 PjxkaXY+Jm5ic3A7PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--dD5d7E2d87aE5F6abE0889Fc272373D41597996094--