From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f420.i.mail.ru (f420.i.mail.ru [185.5.136.91]) (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 064A846970E for ; Fri, 27 Dec 2019 18:27:17 +0300 (MSK) From: =?UTF-8?B?U2VyZ2V5IFBldHJlbmtv?= MIME-Version: 1.0 Date: Fri, 27 Dec 2019 18:27:17 +0300 Reply-To: =?UTF-8?B?U2VyZ2V5IFBldHJlbmtv?= Message-ID: <1577460437.511789779@f420.i.mail.ru> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 In-Reply-To: <590158f6-a650-97c8-94fb-6f8c530e5c88@tarantool.org> References: <590158f6-a650-97c8-94fb-6f8c530e5c88@tarantool.org> Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v2_5/5=5D_replication=3A_i?= =?utf-8?q?ntroduce_anonymous_replica=2E?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?VmxhZGlzbGF2IFNocGlsZXZveQ==?= Cc: tarantool-patches@dev.tarantool.org Cj7QodGA0LXQtNCwLCAyNSDQtNC10LrQsNCx0YDRjyAyMDE5LCAyMToyMiArMDM6MDAg0L7RgiBW bGFkaXNsYXYgU2hwaWxldm95IDx2LnNocGlsZXZveUB0YXJhbnRvb2wub3JnPjoKPgo+VGhhbmtz IGZvciB0aGUgcGF0Y2ghCgpIaSEgVGhhbmtzIGZvciB5b3VyIGFuc3dlciEgTXkgY29tbWVudHMg YW5kIGluY3JlbWVudGFsIGRpZmYgYXJlIGJlbG93LgpBbHNvIHBsZWFzZSBjaGVjayBvdXQgdGhl IGRpc2N1c3Npb24gd2l0aCBLb3N0amEgT3NpcG92IGluIHRoaXMgdGhyZWFkCiggW1RhcmFudG9v bC1wYXRjaGVzXSBbUEFUQ0ggNC81XSB2Y2xvY2s6IGlnbm9yZSAwdGggY29tcG9uZW50IGluIGNv bXBhcmlzb25zLiksCnRoZXJlIGFyZSBzb21lIG5ldyBjaGFuZ2VzIHRvIHRoZSBjb21taXQgcmVn YXJkaW5nIDAgdmNsb2NrIGNvbXBvbmVudCBjb21wYXJpc29uLgoKPgo+SSd2ZSBwdXNoZWQgbXkg cmV2aWV3IGZpeGVzIG9uIHRvcCBvZiB0aGlzIGNvbW1pdC4gU2VlIGl0IGluIHRoZQo+ZW5kIG9m IHRoZSBlbWFpbCwgYW5kIG9uIHRoZSBicmFuY2guClRoYW5rcyEgTG9va3MgZ29vZC4KPgo+Cj5X ZSBzaG91bGQgZG9jdW1lbnQgbmV3IGlwcm90byBjb2RlczogSVBST1RPX0ZFVENIX1NOQVBTSE9U LAo+SVBST1RPX1JFR0lTVEVSLCBJUFJPVE9fUkVQTElDQV9BTk9OLCBsaWtlIGhlcmU6Cj5odHRw czovL3d3dy50YXJhbnRvb2wuaW8vZW4vZG9jLzIuMi9kZXZfZ3VpZGUvaW50ZXJuYWxzL2JveF9w cm90b2NvbC8KCk9wZW5lZCBhIHRpY2tldC7CoGh0dHBzOi8vZ2l0aHViLmNvbS90YXJhbnRvb2wv ZG9jL2lzc3Vlcy8xMDQ2Cgo+Cj4KPlNlZSA0IGNvbW1lbnRzIGJlbG93Lgo+Cj4+IGRpZmYgLS1n aXQgYS9zcmMvYm94L2FwcGxpZXIuY2MgYi9zcmMvYm94L2FwcGxpZXIuY2MKPj4gaW5kZXggZjRm OWQwNjcwLi4yOTM5YTBmNjEgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9ib3gvYXBwbGllci5jYwo+PiAr KysgYi9zcmMvYm94L2FwcGxpZXIuY2MKPj4gQEAgLTk5NiwxMCArMTAzNSwyNCBAQCBhcHBsaWVy X2YodmFfbGlzdCBhcCkKPj4gIGlmICh0dF91dWlkX2lzX25pbCgmUkVQTElDQVNFVF9VVUlEKSkg ewo+PiAgLyoKPj4gICAqIEV4ZWN1dGUgSk9JTiBpZiB0aGlzIGlzIGEgYm9vdHN0cmFwLgo+PiAr ICogSW4gY2FzZSBvZiBhbm9ueW1vdXMgcmVwbGljYXRpb24sIGRvbid0Cj4+ICsgKiBqb2luIGJ1 dCBqdXN0IGZldGNoIG1hc3RlcidzIHNuYXBzaG90Lgo+PiArICoKPj4gICAqIFRoZSBqb2luIHdp bGwgcGF1c2UgdGhlIGFwcGxpZXIKPj4gICAqIHVudGlsIFdBTCBpcyBjcmVhdGVkLgo+PiAgICov Cj4+IC1hcHBsaWVyX2pvaW4oYXBwbGllcik7Cj4+ICtpZiAocmVwbGljYXRpb25fYW5vbikKPj4g K2FwcGxpZXJfZmV0Y2hfc25hcHNob3QoYXBwbGllcik7Cj4+ICtlbHNlCj4+ICthcHBsaWVyX2pv aW4oYXBwbGllcik7Cj4+ICt9Cj4+ICtpZiAoYXBwbGllci0+dmVyc2lvbl9pZCA+PSB2ZXJzaW9u X2lkKDEsIDcsIDApICYmCj4+ICsgICAgIXJlcGxpY2F0aW9uX2Fub24gJiYgaW5zdGFuY2VfaWQg PT0gUkVQTElDQV9JRF9OSUwpIHsKPj4gKy8qIGFub255bWl0eSB3YXMgdHVybmVkIG9mZiB3aGls ZSB3ZSB3ZXJlCj4+ICsgKiBmZXRjaGluZyBhIHNuYXBzaG90IG9yIGZvbGxvd2luZyBtYXN0ZXIu Cj4+ICsgKiBSZWdpc3RlciB0aGUgcmVwbGljYSBub3cuCj4+ICsgKi8KPj4gK2FwcGxpZXJfcmVn aXN0ZXIoYXBwbGllcik7Cj4+ICB9Cj4KPjEuIFdoeSBkbyB3ZSBjaGVjayBmb3IgdmVyc2lvbiBo ZXJlPyBXb3VsZG4ndCBpdCBiZSBtb3JlIHN0cmFpZ2h0Cj50byBkbyBzb21ldGhpbmcgbGlrZSB0 aGlzPwo+Cj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Cj5kaWZmIC0tZ2l0IGEvc3JjL2JveC9h cHBsaWVyLmNjIGIvc3JjL2JveC9hcHBsaWVyLmNjCj5pbmRleCAzZWZhMmI3NjUuLjMyODUxNTA2 YyAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvYXBwbGllci5jYwo+KysrIGIvc3JjL2JveC9hcHBsaWVy LmNjCj5AQCAtMTAzMiw2ICsxMDMyLDcgQEAgYXBwbGllcl9mKHZhX2xpc3QgYXApCj7CoHdoaWxl ICghZmliZXJfaXNfY2FuY2VsbGVkKCkpIHsKPsKgdHJ5IHsKPsKgYXBwbGllcl9jb25uZWN0KGFw cGxpZXIpOwo+K2Jvb2wgd2FzX2Fub24gPSByZXBsaWNhdGlvbl9hbm9uOwo+wqBpZiAodHRfdXVp ZF9pc19uaWwoJlJFUExJQ0FTRVRfVVVJRCkpIHsKPsKgLyoKPsKgICogRXhlY3V0ZSBKT0lOIGlm IHRoaXMgaXMgYSBib290c3RyYXAuCj5AQCAtMTA0Niw4ICsxMDQ3LDggQEAgYXBwbGllcl9mKHZh X2xpc3QgYXApCj7CoGVsc2UKPsKgYXBwbGllcl9qb2luKGFwcGxpZXIpOwo+wqB9Cj4taWYgKGFw cGxpZXItPnZlcnNpb25faWQgPj0gdmVyc2lvbl9pZCgxLCA3LCAwKSAmJgo+LSAgICAhcmVwbGlj YXRpb25fYW5vbiAmJiBpbnN0YW5jZV9pZCA9PSBSRVBMSUNBX0lEX05JTCkgewo+K2lmICh3YXNf YW5vbiAmJiAhcmVwbGljYXRpb25fYW5vbiAmJgo+KyAgICBpbnN0YW5jZV9pZCA9PSBSRVBMSUNB X0lEX05JTCkgewo+wqAvKgo+wqAgKiBBbm9ueW1pdHkgd2FzIHR1cm5lZCBvZmYgd2hpbGUKPsKg ICogd2Ugd2VyZSBmZXRjaGluZyBhIHNuYXBzaG90IG9yCj4KPj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Cj4KPkFsc28gSSBkb24ndCB1bmRlcnN0YW5kLCB3aHkgaXMgaXQgbmVlZGVkPyBGcm9tIHdo YXQgSSBzZWUgaW4KPmJveF9zZXRfcmVwbGljYXRpb25fYW5vbigpLCB3ZSBzdG9wIGV4aXN0aW5n IGFwcGxpZXJzLCB3aGVuCj5jaGFuZ2UgYHJlcGxpY2F0aW9uX2Fub25gLiBTbyBpbiBjYXNlIGBy ZXBsaWNhdGlvbl9hbm9uYCBpcwo+Y2hhbmdlZCwgdGhlIGZpYmVyIHNob3VsZCBiZSBjYW5jZWxl ZCBieSB0aGF0IG1vbWVudC4KPmFwcGxpZXJfY29ubmVjdCgpIGRvZXMgZmliZXJfdGVzdGNhbmNl bCgpIHZpYSBjb2lvIGFmdGVyIGVhY2gKPnlpZWxkLgo+Cj5BIHJlZ2lzdGVyIGNvdWxkIGV2ZW4g aGFybSBoZXJlLCBiZWNhdXNlIHRoaXMgaW5zdGFuY2Ugd2lsbCBkbwo+cmVnaXN0ZXIgdHdpY2Ug LSBmcm9tIHRoZXJlLCBhbmQgZnJvbSBhIG5ldyBhcHBsaWVyIGZpYmVyLCBzdGFydGVkCj5pbiBi b3hfc2V0X3JlcGxpY2F0aW9uX2Fub24oKS4KClRydWUsIHRoZSB2ZXJzaW9uIGNoZWNrIGlzIHBv aW50bGVzcyBhbmQgdGhlIGNvbW1lbnQgaXMgbWlzbGVhZGluZy4KQnV0IHdlIG5lZWQgdG8gY2Fs bCBhcHBsaWVyX3JlZ2lzdGVyIGhlcmUuIEluIGNhc2Ugb2YgYSB0cmFuc2l0aW9uCmZyb20gYW5v biB0byBub3JtYWwsIHdlIGhhdmUgYWxyZWFkeSBmZXRjaGVkIGEgc25hcHNob3QsIHNvIHdlCnNo b3VsZG4ndCBleGVjdXRlIGpvaW4gaW4gYSBuZXcgYXBwbGllciwgd2UganVzdCBleGVjdXRlIHJl Z2lzdGVyIGFuZApwcm9jZWVkIHRvIHN1YnNjcmliZS4gRml4ZWQuCgo+Cj4KPj4gZGlmZiAtLWdp dCBhL3NyYy9ib3gvYm94LmNjIGIvc3JjL2JveC9ib3guY2MKPj4gaW5kZXggNTZkMDdlNjM0Li5h OTNlMjUwM2UgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9ib3gvYm94LmNjCj4+ICsrKyBiL3NyYy9ib3gv Ym94LmNjCj4+IEBAIC03NDAsNiArNzcwLDY0IEBAIGJveF9zZXRfcmVwbGljYXRpb25fc2tpcF9j b25mbGljdCh2b2lkKQo+PiAgcmVwbGljYXRpb25fc2tpcF9jb25mbGljdCA9IGNmZ19nZXRpKCJy ZXBsaWNhdGlvbl9za2lwX2NvbmZsaWN0Iik7Cj4+ICB9Cj4+IAo+PiArdm9pZAo+PiArYm94X3Nl dF9yZXBsaWNhdGlvbl9hbm9uKHZvaWQpCj4+ICt7Cj4+ICtib29sIGFub24gPSBib3hfY2hlY2tf cmVwbGljYXRpb25fYW5vbigpOwo+PiAraWYgKGFub24gPT0gcmVwbGljYXRpb25fYW5vbikKPj4g K3JldHVybjsKPj4gKwo+PiAraWYgKCFhbm9uKSB7Cj4+ICsvKiBUdXJuIGFub255bW91cyBpbnN0 YW5jZSBpbnRvIGEgbm9ybWFsIG9uZS4gKi8KPj4gK3JlcGxpY2F0aW9uX2Fub24gPSBhbm9uOwo+ Cj4yLiBJbiBjYXNlIG9mIGFueSBleGNlcHRpb24gYHJlcGxpY2F0aW9uX2Fub25gIHdpbGwgY29u dGFpbiBhIG5vdAo+YXBwbGllZCB2YWx1ZS4KPgo+QnV0IHRoZXJlIGlzIGEgd29yc2UgcHJvYmxl bSAtIHdlIHN0b3AgdGhlIGFwcGxpZXJzLCBhbmQgZG9uJ3QKPnJlc3RhcnQgdGhlbSBpbiBjYXNl IG9mIGFuIGV4Y2VwdGlvbi4gU28gYm94X3NldF9yZXBsaWNhdGlvbl9hbm9uKCkKPmlzIG5vdCBh dG9taWMsIGl0IG1heSBsZWF2ZSB0aGUgaW5zdGFuY2UgaW4gYSBoYWxmIGNvbmZpZ3VyZWQKPnN0 YXRlLiBib3hfc2V0X3JlcGxpY2F0aW9uKCkgZGVhbHMgd2l0aCB0aGF0IGJ5IGNyZWF0aW9uIG9m IGEgbmV3Cj5hcnJheSBvZiBhcHBsaWVycy4gSXQgY29ubmVjdHMgdGhlbSwgYW5kIG9ubHkgdGhl biBhdG9taWNhbGx5Cj5yZXBsYWNlcyB0aGUgb2xkIGFwcGxpZXJzLgo+Cj5BbHNvIGxvb2tzIGxp a2UgZGVhbm9ueW1pc2F0aW9uIGRvZXMgbm90IHJlc3BlY3QgcXVvcnVtLiBJIGRpZAo+dGhpcyB0 ZXN0Ogo+Cj7CoMKgwqDCoE1hc3RlcjoKPsKgwqDCoMKgwqDCoMKgwqBib3guY2Zne2xpc3Rlbj0z MzAxfQo+wqDCoMKgwqDCoMKgwqDCoGJveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAncmVh ZCx3cml0ZSxleGVjdXRlJywgJ3VuaXZlcnNlJykKPgo+Cj7CoMKgwqDCoFJlcGxpY2E6Cj7CoMKg wqDCoMKgwqDCoMKgYm94LmNmZ3tyZXBsaWNhdGlvbl9hbm9uPXRydWUsCj7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHJlYWRfb25seT10cnVlLAo+wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqByZXBsaWNhdGlvbl9jb25uZWN0X3F1b3J1bT0wLAo+wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqByZXBsaWNhdGlvbj0zMzAxfQo+Cj7CoMKgwqDCoE1hc3RlcjoKPsKg wqDCoMKgwqDCoMKgwqBLaWxsZWQuCj4KPsKgwqDCoMKgUmVwbGljYToKPsKgwqDCoMKgwqDCoMKg wqBib3guY2Zne3JlcGxpY2F0aW9uX2Fub249ZmFsc2UsIHJlYWRfb25seT1mYWxzZX0KPgo+VGhl IHJlcGxpY2EgaGFuZ3MuIEV2ZW4gdGhvdWdoIHRoZSBxdW9ydW0gaXMgMC4KPgo+SSB0aGluaywg d2Ugc29tZWhvdyBuZWVkIHRvIHJldXNlIGJveF9zZXRfcmVwbGljYXRpb24oKSBmb3IgYWxsCj5v ZiB0aGlzLiBMb29rcyBsaWtlIGl0IGRvZXMgYWxsIHdlIG5lZWQgZXhjZXB0IGRvZXMgbm90IHNl bmQgdGhlCj5yZWdpc3RlciByZXF1ZXN0cy4KClRydWUuCgo+Cj4+ICsvKgo+PiArICogUmVzZXQg YWxsIGFwcGxpZXJzLiBUaGlzIHdpbGwgaW50ZXJydXB0Cj4+ICsgKiBhbm9ueW1vdXMgZm9sbG93 IHRoZXkncmUgaW4gc28gdGhhdCBvbmUgb2YKPj4gKyAqIHRoZW0gY2FuIHJlZ2lzdGVyIGFuZCBv dGhlcnMgcmVzZW5kIGEKPj4gKyAqIG5vbi1hbm9ueW1vdXMgc3Vic2NyaWJlLgo+PiArICovCj4+ ICtyZXBsaWNhc2V0X2ZvcmVhY2gocmVwbGljYSkgewo+PiArc3RydWN0IGFwcGxpZXIgKmFwcGxp ZXIgPSByZXBsaWNhLT5hcHBsaWVyOwo+PiAraWYgKGFwcGxpZXIgPT0gTlVMTCkKPj4gK2NvbnRp bnVlOwo+PiArcmVwbGljYV9jbGVhcl9hcHBsaWVyKHJlcGxpY2EpOwo+PiArYXBwbGllcl9zdG9w KGFwcGxpZXIpOwo+PiArcmVwbGljYS0+YXBwbGllcl9zeW5jX3N0YXRlID0gQVBQTElFUl9ESVND T05ORUNURUQ7Cj4+ICtyZXBsaWNhX3NldF9hcHBsaWVyKHJlcGxpY2EsIGFwcGxpZXIpOwo+PiAr fQo+PiArLyogQ2hvb3NlIGEgbWFzdGVyIHRvIHNlbmQgcmVnaXN0ZXIgcmVxdWVzdCB0by4gKi8K Pj4gK3N0cnVjdCByZXBsaWNhICptYXN0ZXIgPSByZXBsaWNhc2V0X2xlYWRlcigpOwo+PiArYXNz ZXJ0KG1hc3RlciAhPSBOVUxMICYmIG1hc3Rlci0+YXBwbGllciAhPSBOVUxMKTsKPj4gK3N0cnVj dCBhcHBsaWVyICptYXN0ZXJfYXBwbGllciA9IG1hc3Rlci0+YXBwbGllcjsKPj4gKwo+PiArYXBw bGllcl9zdGFydChtYXN0ZXJfYXBwbGllcik7Cj4+ICsKPj4gK2FwcGxpZXJfcmVzdW1lX3RvX3N0 YXRlKG1hc3Rlcl9hcHBsaWVyLCBBUFBMSUVSX1JFR0lTVEVSLCBUSU1FT1VUX0lORklOSVRZKTsK Pj4gK2FwcGxpZXJfcmVzdW1lX3RvX3N0YXRlKG1hc3Rlcl9hcHBsaWVyLCBBUFBMSUVSX1JFR0lT VEVSRUQsIFRJTUVPVVRfSU5GSU5JVFkpOwo+PiArYXBwbGllcl9yZXN1bWVfdG9fc3RhdGUobWFz dGVyX2FwcGxpZXIsIEFQUExJRVJfUkVBRFksIFRJTUVPVVRfSU5GSU5JVFkpOwo+PiArYXBwbGll cl9yZXN1bWUobWFzdGVyX2FwcGxpZXIpOwo+PiArLyoqCj4+ICsgKiBSZXN0YXJ0IG90aGVyIGFw cGxpZXJzIHRvCj4+ICsgKiByZXNlbmQgbm9uLWFub255bW91cyBzdWJzY3JpYmUuCj4+ICsgKi8K Pj4gK3JlcGxpY2FzZXRfZm9yZWFjaChyZXBsaWNhKSB7Cj4+ICtpZiAocmVwbGljYSAhPSBtYXN0 ZXIgJiYgcmVwbGljYS0+YXBwbGllcikKPj4gK2FwcGxpZXJfc3RhcnQocmVwbGljYS0+YXBwbGll cik7Cj4+ICt9Cj4+ICt9IGVsc2UgaWYgKCFpc19ib3hfY29uZmlndXJlZCkgewo+PiArcmVwbGlj YXRpb25fYW5vbiA9IGFub247Cj4+ICt9IGVsc2Ugewo+PiArLyoKPj4gKyAqIEl0IGlzIGZvcmJp ZGRlbiB0byB0dXJuIGEgbm9ybWFsIHJlcGxpY2EgaW50bwo+PiArICogYW4gYW5vbnltb3VzIG9u ZS4KPj4gKyAqLwo+PiArdG50X3JhaXNlKENsaWVudEVycm9yLCBFUl9DRkcsICJyZXBsaWNhdGlv bl9hbm9uIiwKPj4gKyAgImNhbm5vdCBiZSB0dXJuZWQgb24gYWZ0ZXIgYm9vdHN0cmFwIgo+PiAr ICAiIGhhcyBmaW5pc2hlZCIpOwo+PiArfQo+PiArCj4+ICt9Cj4+IGRpZmYgLS1naXQgYS9zcmMv Ym94L3JlbGF5LmNjIGIvc3JjL2JveC9yZWxheS5jYwo+PiBpbmRleCBlODQ5ZmNmNGYuLjIyMDI5 NzUxZiAxMDA2NDQKPj4gLS0tIGEvc3JjL2JveC9yZWxheS5jYwo+PiArKysgYi9zcmMvYm94L3Jl bGF5LmNjCj4+IEBAIC02OTEsNyArNjk3LDEwIEBAIHJlbGF5X3N1YnNjcmliZShzdHJ1Y3QgcmVw bGljYSAqcmVwbGljYSwgaW50IGZkLCB1aW50NjRfdCBzeW5jLAo+PiAgcmVsYXlfc3RhcnQocmVs YXksIGZkLCBzeW5jLCByZWxheV9zZW5kX3Jvdyk7Cj4+ICBhdXRvIHJlbGF5X2d1YXJkID0gbWFr ZV9zY29wZWRfZ3VhcmQoWz1dIHsKPj4gIHJlbGF5X3N0b3AocmVsYXkpOwo+PiAtcmVwbGljYV9v bl9yZWxheV9zdG9wKHJlcGxpY2EpOwo+PiAraWYgKHJlcGxpY2EtPmFub24pCj4+ICtyZXBsaWNh X2Fub25fZGVsZXRlKHJlcGxpY2EpOwo+PiArZWxzZQo+PiArcmVwbGljYV9vbl9yZWxheV9zdG9w KHJlcGxpY2EpOwo+Cj4zLiBXaHkgY2FuJ3QgcmVwbGljYV9vbl9yZWxheV9zdG9wKCkgYmUgdXNl ZCBmb3IgYW4gYW5vbiByZXBsaWNhPwoKcmVwbGljYV9vbl9yZWxheV9zdG9wKCkgYXNzZXJ0cyB0 aGUgcmVwbGljYSBpcyByZWdpc3RlcmVkIHdpdGggZ2MgYW5kCnJlbW92ZXMgaXQgZnJvbSBjb25z dW1lcnMuIEFub255bW91cyByZXBsaWNhcyBhcmVuJ3QgcmVnaXN0ZXJlZCB3aXRoIGdjLgpJIGNh biByZXdyaXRlIHJlcGxpY2Ffb25fcmVsYXlfc3RvcCgpIGFwcHJvcHJpYXRlbHksIGJ1dCB3aHk/ Cgo+Cj4+ICB9KTsKPj4gCj4+IEBAIC03NDEsNiArNzUwLDEzIEBAIHJlbGF5X3NlbmRfcm93KHN0 cnVjdCB4c3RyZWFtICpzdHJlYW0sIHN0cnVjdCB4cm93X2hlYWRlciAqcGFja2V0KQo+PiAgewo+ PiAgc3RydWN0IHJlbGF5ICpyZWxheSA9IGNvbnRhaW5lcl9vZihzdHJlYW0sIHN0cnVjdCByZWxh eSwgc3RyZWFtKTsKPj4gIGFzc2VydChpcHJvdG9fdHlwZV9pc19kbWwocGFja2V0LT50eXBlKSk7 Cj4+ICsvKgo+PiArICogUmVwbGljYS1sb2NhbCByZXF1ZXN0cyBnZW5lcmF0ZWQgd2hpbGUgcmVw bGljYSB3YXMKPj4gKyAqIGFub255bW91cyBoYXZlIGEgemVybyBpbnN0YW5jZSBpZC4gSnVzdCBz a2lwIGFsbAo+PiArICogdGhlc2Ugcm93cy4KPj4gKyAqLwo+PiAraWYgKHBhY2tldC0+cmVwbGlj YV9pZCA9PSBSRVBMSUNBX0lEX05JTCkKPj4gK3JldHVybjsKPgo+NC4gRnJvbSB3aGF0IEkgcmVt ZW1iZXIgYWJvdXQgbG9jYWwgcmVxdWVzdHMgaW4gYW4gYW5vbiByZXBsaWNhLAo+dGhpcyBpcyBw b3NzaWJsZSBvbmx5IHdpdGggcGFja2V0LT5ncm91cF9pZCA9PSBHUk9VUF9MT0NBTCwKPnJpZ2h0 PyBUaGVuIGNhbiB5b3UgbW92ZSBpdCBpbnRvIHRoZSBjaGVjayBhYm91dCBHUk9VUF9MT0NBTAo+ YmVsb3c/IFRvIGF2b2lkIGNoZWNraW5nIHJlcGxpY2FfaWQsIHdoZW4gdGhlIGdyb3VwIGlzIG5v dCBsb2NhbAo+YW55d2F5LiBMaWtlIHRoaXM6Cj4KPmlmIChwYWNrZXQtPmdyb3VwX2lkID09IEdS T1VQX0xPQ0FMKSB7Cj5pZiAocGFja2V0LT5yZXBsaWNhX2lkID09IFJFUExJQ0FfSURfTklMKQo+ cmV0dXJuOwo+cGFja2V0LT50eXBlID0gSVBST1RPX05PUDsKPnBhY2tldC0+Z3JvdXBfaWQgPSBH Uk9VUF9ERUZBVUxUOwo+cGFja2V0LT5ib2R5Y250ID0gMDsKPn0KCkdvb2QgcG9pbnQsIHRoYW5r cyEKCk15IGNoYW5nZXMgYXJlIGJlbG93LgoKPgo+PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPgo+ Y29tbWl0IDNlOGZkZWQwOTFmYWU4YWJhY2M4NzZiZjZjODk5NzUwYjU5NWQ3MmQKPkF1dGhvcjog VmxhZGlzbGF2IFNocGlsZXZveSA8IHYuc2hwaWxldm95QHRhcmFudG9vbC5vcmcgPgo+RGF0ZTog ICBXZWQgRGVjIDI1IDE3OjIwOjQ1IDIwMTkgKzAxMDAKPgo+wqDCoMKgwqBSZXZpZXcgZml4ZXMK Pgo+ZGlmZiAtLWdpdCBhL3NyYy9ib3gvYXBwbGllci5jYyBiL3NyYy9ib3gvYXBwbGllci5jYwo+ aW5kZXggMjkzOWEwZjYxLi4zZWZhMmI3NjUgMTAwNjQ0Cj4tLS0gYS9zcmMvYm94L2FwcGxpZXIu Y2MKPisrKyBiL3NyYy9ib3gvYXBwbGllci5jYwo+QEAgLTEwNDgsOSArMTA0OCwxMSBAQCBhcHBs aWVyX2YodmFfbGlzdCBhcCkKPsKgfQo+wqBpZiAoYXBwbGllci0+dmVyc2lvbl9pZCA+PSB2ZXJz aW9uX2lkKDEsIDcsIDApICYmCj7CoCAgICAhcmVwbGljYXRpb25fYW5vbiAmJiBpbnN0YW5jZV9p ZCA9PSBSRVBMSUNBX0lEX05JTCkgewo+LS8qIGFub255bWl0eSB3YXMgdHVybmVkIG9mZiB3aGls ZSB3ZSB3ZXJlCj4tICogZmV0Y2hpbmcgYSBzbmFwc2hvdCBvciBmb2xsb3dpbmcgbWFzdGVyLgo+ LSAqIFJlZ2lzdGVyIHRoZSByZXBsaWNhIG5vdy4KPisvKgo+KyAqIEFub255bWl0eSB3YXMgdHVy bmVkIG9mZiB3aGlsZQo+KyAqIHdlIHdlcmUgZmV0Y2hpbmcgYSBzbmFwc2hvdCBvcgo+KyAqIGZv bGxvd2luZyBtYXN0ZXIuIFJlZ2lzdGVyIHRoZQo+KyAqIHJlcGxpY2Egbm93Lgo+wqAgKi8KPsKg YXBwbGllcl9yZWdpc3RlcihhcHBsaWVyKTsKPsKgfQo+ZGlmZiAtLWdpdCBhL3NyYy9ib3gvbHVh L2xvYWRfY2ZnLmx1YSBiL3NyYy9ib3gvbHVhL2xvYWRfY2ZnLmx1YQo+aW5kZXggOWRlZTc1Yjdk Li41MWQxNTdhYTMgMTAwNjQ0Cj4tLS0gYS9zcmMvYm94L2x1YS9sb2FkX2NmZy5sdWEKPisrKyBi L3NyYy9ib3gvbHVhL2xvYWRfY2ZnLmx1YQo+QEAgLTI3OSw2ICsyNzksNyBAQCBsb2NhbCBkeW5h bWljX2NmZ19vcmRlciA9IHsKPsKgwqDCoMKgwqByZXBsaWNhdGlvbl9zeW5jX3RpbWVvdXQgICAg PSAxNTAsCj7CoMKgwqDCoMKgcmVwbGljYXRpb25fY29ubmVjdF90aW1lb3V0ID0gMTUwLAo+wqDC oMKgwqDCoHJlcGxpY2F0aW9uX2Nvbm5lY3RfcXVvcnVtICA9IDE1MCwKPisgICAgcmVwbGljYXRp b25fYW5vbiAgICAgICAgPSAxNzUsCj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Cj5JIGFtIG5v dCBzdXJlIGFib3V0IHRoaXMgY2hhbmdlLgo+Cj5UaGUgb25seSB3YXkgaG93IGNhbiBpdCBiZSBj aGFuZ2VkIG5vdyAtIGZyb20gdHJ1ZSB0byBmYWxzZS4KPk5vdCBiYWNrLiBUaGUgb25seSBkdWJp b3VzIHNjZW5hcmlvOiB3ZSBjaGFuZ2UgYHJlcGxpY2F0aW9uX2Fub25gCj50byBmYWxzZSwgYW5k IGNoYW5nZSBgcmVwbGljYXRpb25gIGF0IHRoZSBzYW1lIHRpbWUuCj4KPklmIHdlIHNldCBgcmVw bGljYXRpb25fYW5vbmAgZmFsc2UgYmVmb3JlIG5ldyBgcmVwbGljYXRpb25gLAo+d2Ugd2lsbCB0 cnkgdG8gcmVnaXN0ZXIgdGhlIG9sZCBgcmVwbGljYXRpb25gLiBJdCBtZWFucwo+YHJlcGxpY2F0 aW9uX2Fub25gIHVwZGF0ZSBzaG91bGQgYmUgZG9uZSBhZnRlciBgcmVwbGljYXRpb25gLgo+U28g YXMgdGhlIG5ldyBjb25maWd1cmF0aW9uIGNvdWxkIGNvbm5lY3QgYXMgYW5vbiwgYW5kIHRoZW4g YmUKPnVwZ3JhZGVkIHRvIG5vcm1hbC4KPgo+QnV0IHdoZW4gd2Ugd2lsbCBzdXBwb3J0IGFub255 bWl6YXRpb24gb2Ygbm9ybWFsIHJlcGxpY2FzLCB0aGUKPmNvbmZpZyB1cGRhdGUgY291bGQgbG9v ayBsaWtlIHRoaXM6Cj4KPsKgwqDCoMKgYHJlcGxpY2F0aW9uX2Fub25gIGZhbHNlIC0+IHRydWUK PsKgwqDCoMKgYHJlcGxpY2F0aW9uYCBvbGQgLT4gbmV3Cj4KPkFuZCBoZXJlIGByZXBsaWNhdGlv bl9hbm9uYCBzaG91bGQgYmUgc2V0IGJlZm9yZSBgcmVwbGljYXRpb25gLgo+U28gYXMgd2Ugd291 bGQgY29ubmVjdCBhbm9ueW1vdXNseSB0byB0aGUgbmV3IHJlcGxpY2F0aW9uIHNldC4KPgo+SW4g Ym90aCBjYXNlcyB3ZSBkbyB1bm5lY2Vzc2FyeSBhY3Rpb25zIHdpdGggdGhlIG9sZAo+cmVwbGlj YXRpb24uCj4KPlNlZW1zIGxpa2UgaXQgY2FuJ3QgYmUgcHJvcGVybHkgc29sdmVkIGJ5IGR5bmFt aWNfY2ZnX29yZGVyCj50YWJsZS4gV2UgbmVlZCB0byBjb25maWd1cmUgYHJlcGxpY2F0aW9uX2Fu b25gIGFuZCBgcmVwbGljYXRpb25gCj5hdCB0aGUgc2FtZSB0aW1lLiBTbyBhcyBpbiBib3hfc2V0 X3JlcGxpY2F0aW9uKCkgeW91IGFsd2F5cyBrbm93Cj5pZiB0aGUgbmV3IGByZXBsaWNhdGlvbmAg c2V0dGluZyBpcyBhbm9uIG9yIG5vdC4KPgo+TWF5YmUgd2UgbmVlZCB0byBleHRlbmQgZHluYW1p Y19jZmdfb3JkZXIgaWRlYSwgYW5kIGludHJvZHVjZQo+ZGVwZW5kaW5nIHBhcmFtZXRlcnMuIE9y IHBhcmFtZXRlciBncm91cHMuIE9yIHNvbWV0aGluZyBsaWtlCj50aGF0LiBTbyBhcyB3ZSBjb3Vs ZCwgZm9yIGV4YW1wbGUsIGdyb3VwIGByZXBsaWNhdGlvbl9hbm9uYCBhbmQKPmByZXBsaWNhdGlv bmAsIGFuZCBwYXNzIGFub24gdmFsdWUgdG8gYm94X3NldF9yZXBsaWNhdGlvbigpIHdoZW4KPnRo ZXkgYXJlIHVwZGF0ZWQgYm90aCBhdCB0aGUgc2FtZSBib3guY2ZnLgo+Cj5PciB3ZSBuZWVkIHRv IGZvcmJpZCB1cGRhdGUgb2Ygc29tZSBwYXJhbWV0ZXJzIGluIG9uZSBib3guY2ZnLgo+Cj5PciB3 ZSBjb3VsZCBtYWtlIHRoYXQgb3JkZXIgb2YgcGFyYW1ldGVycyBkZXBlbmRzIG9uIHRoZWlyCj52 YWx1ZXMuIEFsdGhvdWdoIGl0IGRvZXMgbm90IHNvbHZlIHRoZSBwcm9ibGVtIHRoYXQgd2hlbiB3 ZQo+Y2hhbmdlIGJvdGggYHJlcGxpY2F0aW9uX2Fub25gIGFuZCBgcmVwbGljYXRpb25gLCB3ZSBk bwo+dW5uZWNlc3NhcnkgYWN0aW9ucyB0byB0aGUgb2xkIGByZXBsaWNhdGlvbmAgaW4gc29tZSBj YXNlcy4KCldlbGwsIEkgcmV1c2VkIHRoZSBib3hfc2V0X3JlcGxpY2F0aW9uIGNvZGUgaW4gcmVw bGljYXRpb25fYW5vbiBjaGFuZ2UsIHNvCm5vdyBpZiByZXBsaWNhdGlvbl9hbm9uIGlzIGNoYW5n ZWQgdG9nZXRoZXIgd2l0aCByZXBsaWNhdGlvbiwgaXQgd2lsbCB0cmlnZ2VyCmR1cGxpY2F0ZSBi b3hfc2V0X3JlcGxpY2F0aW9uIGFjdGlvbiAoYWxtb3N0KS4gVGhpcyBpcyBvaywgSSBndWVzcy4K Cj4KPgo+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPsKgwqDCoMKgwqByZXBsaWNhdGlvbiAgICAg ICAgICAgICA9IDIwMCwKPsKgfQo+Cj5kaWZmIC0tZ2l0IGEvc3JjL2JveC9yZXBsaWNhdGlvbi5j YyBiL3NyYy9ib3gvcmVwbGljYXRpb24uY2MKPmluZGV4IGNlNzA3ODExYS4uZDk4NDhkZWJlIDEw MDY0NAo+LS0tIGEvc3JjL2JveC9yZXBsaWNhdGlvbi5jYwo+KysrIGIvc3JjL2JveC9yZXBsaWNh dGlvbi5jYwo+QEAgLTkxNiw3ICs5MTYsNiBAQCByZXBsaWNhX2Fub25fZGVsZXRlKHN0cnVjdCBy ZXBsaWNhICpyZXBsaWNhKQo+wqByZXBsaWNhX2RlbGV0ZShyZXBsaWNhKTsKPsKgfQo+Cj4tCj7C oHN0cnVjdCByZXBsaWNhICoKPsKgcmVwbGljYXNldF9maXJzdCh2b2lkKQo+wqB7CgoKZGlmZiAt LWdpdCBhL3NyYy9ib3gvYXBwbGllci5jYyBiL3NyYy9ib3gvYXBwbGllci5jYwppbmRleCAxMDcy NWVkMmMuLmFlM2QyODFhNSAxMDA2NDQKLS0tIGEvc3JjL2JveC9hcHBsaWVyLmNjCisrKyBiL3Ny Yy9ib3gvYXBwbGllci5jYwpAQCAtMTA0NiwxMyArMTA0NiwxMiBAQCBhcHBsaWVyX2YodmFfbGlz dCBhcCkKwqBlbHNlCsKgYXBwbGllcl9qb2luKGFwcGxpZXIpOwrCoH0KLWlmIChhcHBsaWVyLT52 ZXJzaW9uX2lkID49IHZlcnNpb25faWQoMSwgNywgMCkgJiYKLcKgIMKgICFyZXBsaWNhdGlvbl9h bm9uICYmIGluc3RhbmNlX2lkID09IFJFUExJQ0FfSURfTklMKSB7CitpZiAoaW5zdGFuY2VfaWQg PT0gUkVQTElDQV9JRF9OSUwgJiYKK8KgIMKgICFyZXBsaWNhdGlvbl9hbm9uKSB7CsKgLyoKLSAq IEFub255bWl0eSB3YXMgdHVybmVkIG9mZiB3aGlsZQotICogd2Ugd2VyZSBmZXRjaGluZyBhIHNu YXBzaG90IG9yCi0gKiBmb2xsb3dpbmcgbWFzdGVyLiBSZWdpc3RlciB0aGUKLSAqIHJlcGxpY2Eg bm93LgorICogVGhlIGluc3RhbmNlIHRyYW5zaXRpb25lZAorICogZnJvbSBhbm9ueW1vdXMuIFJl Z2lzdGVyIGl0CisgKiBub3cuCsKgICovCsKgYXBwbGllcl9yZWdpc3RlcihhcHBsaWVyKTsKwqB9 CmRpZmYgLS1naXQgYS9zcmMvYm94L2JveC5jYyBiL3NyYy9ib3gvYm94LmNjCmluZGV4IGE5M2Uy NTAzZS4uZjk5YWVlYmM2IDEwMDY0NAotLS0gYS9zcmMvYm94L2JveC5jYworKysgYi9zcmMvYm94 L2JveC5jYwpAQCAtNzc4LDYgKzc3OCw5IEBAIGJveF9zZXRfcmVwbGljYXRpb25fYW5vbih2b2lk KQrCoHJldHVybjsKwqAKwqBpZiAoIWFub24pIHsKK2F1dG8gZ3VhcmQgPSBtYWtlX3Njb3BlZF9n dWFyZChbJl17CityZXBsaWNhdGlvbl9hbm9uID0gIWFub247Cit9KTsKwqAvKiBUdXJuIGFub255 bW91cyBpbnN0YW5jZSBpbnRvIGEgbm9ybWFsIG9uZS4gKi8KwqByZXBsaWNhdGlvbl9hbm9uID0g YW5vbjsKwqAvKgpAQCAtNzg2LDM0ICs3ODksMzAgQEAgYm94X3NldF9yZXBsaWNhdGlvbl9hbm9u KHZvaWQpCsKgICogdGhlbSBjYW4gcmVnaXN0ZXIgYW5kIG90aGVycyByZXNlbmQgYQrCoCAqIG5v bi1hbm9ueW1vdXMgc3Vic2NyaWJlLgrCoCAqLwotcmVwbGljYXNldF9mb3JlYWNoKHJlcGxpY2Ep IHsKLXN0cnVjdCBhcHBsaWVyICphcHBsaWVyID0gcmVwbGljYS0+YXBwbGllcjsKLWlmIChhcHBs aWVyID09IE5VTEwpCi1jb250aW51ZTsKLXJlcGxpY2FfY2xlYXJfYXBwbGllcihyZXBsaWNhKTsK LWFwcGxpZXJfc3RvcChhcHBsaWVyKTsKLXJlcGxpY2EtPmFwcGxpZXJfc3luY19zdGF0ZSA9IEFQ UExJRVJfRElTQ09OTkVDVEVEOwotcmVwbGljYV9zZXRfYXBwbGllcihyZXBsaWNhLCBhcHBsaWVy KTsKLX0KK2JveF9zeW5jX3JlcGxpY2F0aW9uKGZhbHNlKTsKwqAvKiBDaG9vc2UgYSBtYXN0ZXIg dG8gc2VuZCByZWdpc3RlciByZXF1ZXN0IHRvLiAqLwrCoHN0cnVjdCByZXBsaWNhICptYXN0ZXIg PSByZXBsaWNhc2V0X2xlYWRlcigpOwotYXNzZXJ0KG1hc3RlciAhPSBOVUxMICYmIG1hc3Rlci0+ YXBwbGllciAhPSBOVUxMKTsKK2lmIChtYXN0ZXIgPT0gTlVMTCB8fCBtYXN0ZXItPmFwcGxpZXIg PT0gTlVMTCB8fAorwqAgwqAgbWFzdGVyLT5hcHBsaWVyLT5zdGF0ZSAhPSBBUFBMSUVSX0NPTk5F Q1RFRCkgewordG50X3JhaXNlKENsaWVudEVycm9yLCBFUl9DQU5OT1RfUkVHSVNURVIpOworfQrC oHN0cnVjdCBhcHBsaWVyICptYXN0ZXJfYXBwbGllciA9IG1hc3Rlci0+YXBwbGllcjsKwqAKLWFw cGxpZXJfc3RhcnQobWFzdGVyX2FwcGxpZXIpOwotCi1hcHBsaWVyX3Jlc3VtZV90b19zdGF0ZSht YXN0ZXJfYXBwbGllciwgQVBQTElFUl9SRUdJU1RFUiwgVElNRU9VVF9JTkZJTklUWSk7Ci1hcHBs aWVyX3Jlc3VtZV90b19zdGF0ZShtYXN0ZXJfYXBwbGllciwgQVBQTElFUl9SRUdJU1RFUkVELCBU SU1FT1VUX0lORklOSVRZKTsKLWFwcGxpZXJfcmVzdW1lX3RvX3N0YXRlKG1hc3Rlcl9hcHBsaWVy LCBBUFBMSUVSX1JFQURZLCBUSU1FT1VUX0lORklOSVRZKTsKLWFwcGxpZXJfcmVzdW1lKG1hc3Rl cl9hcHBsaWVyKTsKK2FwcGxpZXJfcmVzdW1lX3RvX3N0YXRlKG1hc3Rlcl9hcHBsaWVyLCBBUFBM SUVSX1JFQURZLAorVElNRU9VVF9JTkZJTklUWSk7CithcHBsaWVyX3Jlc3VtZV90b19zdGF0ZSht YXN0ZXJfYXBwbGllciwgQVBQTElFUl9SRUdJU1RFUiwKK1RJTUVPVVRfSU5GSU5JVFkpOworYXBw bGllcl9yZXN1bWVfdG9fc3RhdGUobWFzdGVyX2FwcGxpZXIsIEFQUExJRVJfUkVHSVNURVJFRCwK K1RJTUVPVVRfSU5GSU5JVFkpOworYXBwbGllcl9yZXN1bWVfdG9fc3RhdGUobWFzdGVyX2FwcGxp ZXIsIEFQUExJRVJfUkVBRFksCitUSU1FT1VUX0lORklOSVRZKTsKwqAvKioKLSAqIFJlc3RhcnQg b3RoZXIgYXBwbGllcnMgdG8KKyAqIFJlc3VtZSBvdGhlciBhcHBsaWVycyB0bwrCoCAqIHJlc2Vu ZCBub24tYW5vbnltb3VzIHN1YnNjcmliZS4KwqAgKi8KLXJlcGxpY2FzZXRfZm9yZWFjaChyZXBs aWNhKSB7Ci1pZiAocmVwbGljYSAhPSBtYXN0ZXIgJiYgcmVwbGljYS0+YXBwbGllcikKLWFwcGxp ZXJfc3RhcnQocmVwbGljYS0+YXBwbGllcik7Ci19CityZXBsaWNhc2V0X2ZvbGxvdygpOworcmVw bGljYXNldF9zeW5jKCk7CitndWFyZC5pc19hY3RpdmUgPSBmYWxzZTsKwqB9IGVsc2UgaWYgKCFp c19ib3hfY29uZmlndXJlZCkgewrCoHJlcGxpY2F0aW9uX2Fub24gPSBhbm9uOwrCoH0gZWxzZSB7 CmRpZmYgLS1naXQgYS9zcmMvYm94L2VycmNvZGUuaCBiL3NyYy9ib3gvZXJyY29kZS5oCmluZGV4 IGRjZTY5YzljMC4uMGY3NTYzZTY0IDEwMDY0NAotLS0gYS9zcmMvYm94L2VycmNvZGUuaAorKysg Yi9zcmMvYm94L2VycmNvZGUuaApAQCAtMjU5LDYgKzI1OSw3IEBAIHN0cnVjdCBlcnJjb2RlX3Jl Y29yZCB7CsKgLyoyMDQgKi9fKEVSX1NRTF9GVU5DX1dST05HX1JFVF9DT1VOVCwiU1FMIGV4cGVj dHMgZXhhY3RseSBvbmUgYXJndW1lbnQgcmV0dXJuZWQgZnJvbSAlcywgZ290ICVkIilcCsKgLyoy MDUgKi9fKEVSX0ZVTkNfSU5WQUxJRF9SRVRVUk5fVFlQRSwiRnVuY3Rpb24gJyVzJyByZXR1cm5l ZCB2YWx1ZSBvZiBpbnZhbGlkIHR5cGU6IGV4cGVjdGVkICVzIGdvdCAlcyIpIFwKwqAvKjIwNiAq L18oRVJfUkVQTElDQV9OT1RfQU5PTiwgIlJlcGxpY2EgJyVzJyBpcyBub3QgYW5vbnltb3VzIGFu ZCBjYW5ub3QgcmVnaXN0ZXIuIikgXAorLyoyMDcgKi9fKEVSX0NBTk5PVF9SRUdJU1RFUiwgIkNv dWxkbid0IGZpbmQgYW4gaW5zdGFuY2UgdG8gcmVnaXN0ZXIgdGhpcyByZXBsaWNhIG9uLiIpIFwK wqAKwqAvKgrCoCAqICFJTVBPUlRBTlQhIFBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb25zIGF0IHN0 YXJ0IG9mIHRoZSBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYm94L3JlbGF5LmNjIGIvc3JjL2JveC9y ZWxheS5jYwppbmRleCAyMjAyOTc1MWYuLjQyNThlZGZjZCAxMDA2NDQKLS0tIGEvc3JjL2JveC9y ZWxheS5jYworKysgYi9zcmMvYm94L3JlbGF5LmNjCkBAIC03NTAsMTkgKzc1MCwxOSBAQCByZWxh eV9zZW5kX3JvdyhzdHJ1Y3QgeHN0cmVhbSAqc3RyZWFtLCBzdHJ1Y3QgeHJvd19oZWFkZXIgKnBh Y2tldCkKwqB7CsKgc3RydWN0IHJlbGF5ICpyZWxheSA9IGNvbnRhaW5lcl9vZihzdHJlYW0sIHN0 cnVjdCByZWxheSwgc3RyZWFtKTsKwqBhc3NlcnQoaXByb3RvX3R5cGVfaXNfZG1sKHBhY2tldC0+ dHlwZSkpOwotLyoKLSAqIFJlcGxpY2EtbG9jYWwgcmVxdWVzdHMgZ2VuZXJhdGVkIHdoaWxlIHJl cGxpY2Egd2FzCi0gKiBhbm9ueW1vdXMgaGF2ZSBhIHplcm8gaW5zdGFuY2UgaWQuIEp1c3Qgc2tp cCBhbGwKLSAqIHRoZXNlIHJvd3MuCi0gKi8KLWlmIChwYWNrZXQtPnJlcGxpY2FfaWQgPT0gUkVQ TElDQV9JRF9OSUwpCi1yZXR1cm47CsKgLyoKwqAgKiBUcmFuc2Zvcm0gcmVwbGljYSBsb2NhbCBy ZXF1ZXN0cyB0byBJUFJPVE9fTk9QIHNvIGFzIHRvCsKgICogcHJvbW90ZSB2Y2xvY2sgb24gdGhl IHJlcGxpY2Egd2l0aG91dCBhY3R1YWxseSBtb2RpZnlpbmcKwqAgKiBhbnkgZGF0YS4KwqAgKi8K wqBpZiAocGFja2V0LT5ncm91cF9pZCA9PSBHUk9VUF9MT0NBTCkgeworLyoKKyAqIFJlcGxpY2Et bG9jYWwgcmVxdWVzdHMgZ2VuZXJhdGVkIHdoaWxlIHJlcGxpY2EKKyAqIHdhcyBhbm9ueW1vdXMg aGF2ZSBhIHplcm8gaW5zdGFuY2UgaWQuIEp1c3QKKyAqIHNraXAgYWxsIHRoZXNlIHJvd3MuCisg Ki8KK2lmIChwYWNrZXQtPnJlcGxpY2FfaWQgPT0gUkVQTElDQV9JRF9OSUwpCityZXR1cm47CsKg cGFja2V0LT50eXBlID0gSVBST1RPX05PUDsKwqBwYWNrZXQtPmdyb3VwX2lkID0gR1JPVVBfREVG QVVMVDsKwqBwYWNrZXQtPmJvZHljbnQgPSAwOwpkaWZmIC0tZ2l0IGEvdGVzdC9ib3gvbWlzYy5y ZXN1bHQgYi90ZXN0L2JveC9taXNjLnJlc3VsdAppbmRleCAxMzRjYWVmNjMuLjUxYWQyOWNkZCAx MDA2NDQKLS0tIGEvdGVzdC9ib3gvbWlzYy5yZXN1bHQKKysrIGIvdGVzdC9ib3gvbWlzYy5yZXN1 bHQKQEAgLTU1NSw2ICs1NTUsNyBAQCB0OwrCoMKgIDIwNDogYm94LmVycm9yLlNRTF9GVU5DX1dS T05HX1JFVF9DT1VOVArCoMKgIDIwNTogYm94LmVycm9yLkZVTkNfSU5WQUxJRF9SRVRVUk5fVFlQ RQrCoMKgIDIwNjogYm94LmVycm9yLlJFUExJQ0FfTk9UX0FOT04KK8KgIDIwNzogYm94LmVycm9y LkNBTk5PVF9SRUdJU1RFUgrCoC4uLgrCoHRlc3RfcnVuOmNtZCgic2V0b3B0IGRlbGltaXRlciAn JyIpOwrCoC0tLQrCoAoKLS0gClNlcmdleSBQZXRyZW5rbwo=