From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f113.i.mail.ru (f113.i.mail.ru [94.100.187.88]) (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 7ED8E46970E for ; Fri, 10 Jan 2020 14:45:05 +0300 (MSK) From: =?UTF-8?B?SWx5YSBLb3NhcmV2?= MIME-Version: 1.0 Date: Fri, 10 Jan 2020 14:45:04 +0300 Reply-To: =?UTF-8?B?SWx5YSBLb3NhcmV2?= Message-ID: <1578656704.201038660@f113.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--437f3Be1dBdF3F2af62E7B244f6D808b1578656704" Subject: [Tarantool-patches] =?utf-8?b?RndkOiBSZVsyXTogW1BBVENIIDMvM10g?= =?utf-8?q?tuple=3A_use_calloc_for_service_truncation_tuples?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?VmxhZGlzbGF2IFNocGlsZXZveQ==?= , =?UTF-8?B?dGFyYW50b29sLXBhdGNoZXM=?= ----ALT--437f3Be1dBdF3F2af62E7B244f6D808b1578656704 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 ClRoYW5rcyBmb3IgdGhlIHJldmlldyEKwqAKV2VsbCwgeWVzLCBpwqBmaXJzdCB0aG91Z2h0IHRo YXQgaXQgaXMgc29tZXRoaW5nIHdlIGRvbuKAmXQgd2FudCB0byBmaXguCkhvd2V2ZXIsIHRoZW4g aSBkZWNpZGVkIHRvIHRyeSBpdCBpbiB0aGUgcHJlc2VudMKgd2F5LCBhcyBmYXIgYXPCoGkKZGlk bid0IHNlZSBhbGwgdGhlIHRyb3VibGUgY29taW5nLiBOb3cgaSBzZWUgaXQgd29uJ3Qgd29yayB0 aGlzIHdheS4KTmV2ZXJ0aGVsZXNzIGkgdGhpbmsgdGhpcyBpc3N1ZSBpcyBxdWl0ZSB1bmNvbWZv cnRhYmxlIGZvciB1c2VyLiBTZW50CnYyIG9mIHRoZSBwYXRjaHNldCB3aXRoIGFwcHJvYWNoIGlu c3BpcmVkIGJ5IHlvdXIgaWRlYS4gSXQgbG9va3MgbXVjaApiZXR0ZXIsIGhvd2V2ZXIsIHN0aWxs IG5vdCBzdXJlIGlmIGl0IGlzIHdvcnRoIGltcGxlbWVudGluZy4KwqAKwqAKPtCn0LXRgtCy0LXR gNCzLCAxOSDQtNC10LrQsNCx0YDRjyAyMDE5LCAzOjMxICswMzowMCDQvtGCIFZsYWRpc2xhdiBT aHBpbGV2b3kgPCB2LnNocGlsZXZveUB0YXJhbnRvb2wub3JnID46Cj7CoCAKPlRoYW5rcyBmb3Ig dGhlIHBhdGNoIQo+Cj5TZWUgMyBjb21tZW50cyBiZWxvdy4KPgo+T24gMTMvMTIvMjAxOSAwODow NSwgSWx5YSBLb3NhcmV2IHdyb3RlOgo+PiBUcnlpbmcgdG8gcGVyZm9ybSBzcGFjZTp0cnVuY2F0 ZSgpIHdoaWxlIHJlYWNoaW5nIG1lbXR4X21lbW9yeSBsaW1pdCB3ZQo+PiBjb3VsZCBleHBlcmll bmNlIHNsYWIgYWxsb2NhdG9yIGZhaWx1cmUgb24gYWxsb2NhdGlvbiBmb3Igc2VydmljZSB0dXBs ZQo+PiBiZWluZyB1cHNlcnRlZCBpbnRvIHNlcnZpY2Ugc3BhY2UgdG8ga2VlcCByZWNvcmQgb2Yg dHJ1bmNhdGlvbnMuIFRoaXMKPj4gYmVoYXZpb3Igc2VlbXMgdG8gYmUgcXVpdGUgc3VycHJpc2lu ZyBmb3IgdXNlcnMuIE5vdyB3ZSBhcmUgdXNpbmcKPj4gY2FsbG9jKCkgdG8gYWxsb2NhdGUgdHVw bGVzIGluIEJPWF9UUlVOQ0FURV9JRCBzcGFjZS4KPj4KPj4gQ2xvc2VzOiAjMzgwNwo+PiAtLS0K Pj4gc3JjL2JveC9tZW10eF9lbmdpbmUuYyB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLQo+PiBzcmMvYm94L21lbXR4X2VuZ2luZS5oIHwgMiArLQo+PiBzcmMv Ym94L21lbXR4X3NwYWNlLmMgfCAyMCArKysrKysrKysrKystLS0tLQo+PiBzcmMvYm94L3R1cGxl LmMgfCAxNiArKysrKysrKysrLS0tLQo+PiBzcmMvYm94L3R1cGxlLmggfCAyICstCj4+IHNyYy9i b3gvdHVwbGVfZm9ybWF0LmMgfCAxICsKPj4gc3JjL2JveC90dXBsZV9mb3JtYXQuaCB8IDEwICsr KysrKysrLQo+PiBzcmMvYm94L3Z5X3N0bXQuYyB8IDMgKystCj4+IDggZmlsZXMgY2hhbmdlZCwg NzQgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9zcmMv Ym94L21lbXR4X2VuZ2luZS5jIGIvc3JjL2JveC9tZW10eF9lbmdpbmUuYwo+PiBpbmRleCAyM2Nj YzQ3MDNmZS4uNTkxNDgwNTlmMmIgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9ib3gvbWVtdHhfZW5naW5l LmMKPj4gKysrIGIvc3JjL2JveC9tZW10eF9lbmdpbmUuYwo+PiBAQCAtMTExMyw3ICsxMTEzLDcg QEAgbWVtdHhfbGVhdmVfZGVsYXllZF9mcmVlX21vZGUoc3RydWN0IG1lbXR4X2VuZ2luZSAqbWVt dHgpCj4+IH0KPj4KPj4gc3RydWN0IHR1cGxlICoKPj4gLW1lbXR4X3R1cGxlX25ldyhzdHJ1Y3Qg dHVwbGVfZm9ybWF0ICpmb3JtYXQsIGNvbnN0IGNoYXIgKmRhdGEsIGNvbnN0IGNoYXIgKmVuZCkK Pj4gK21lbXR4X3R1cGxlX25ldyhzdHJ1Y3QgdHVwbGVfZm9ybWF0ICpmb3JtYXQsIGNvbnN0IGNo YXIgKmRhdGEsIGNvbnN0IGNoYXIgKmVuZCwgYm9vbCB1c2VfY2FsbG9jKQo+Cj4xLiBPaC4gTm8u IFBsZWFzZS4gVGhlIHdob2xlIHBvaW50IG9mIGZvcm1hdCB2dGFibGUgaXMgdG8gYXZvaWQgdGhh dC4KPgo+PiB7Cj4+IHN0cnVjdCBtZW10eF9lbmdpbmUgKm1lbXR4ID0gKHN0cnVjdCBtZW10eF9l bmdpbmUgKilmb3JtYXQtPmVuZ2luZTsKPj4gYXNzZXJ0KG1wX3R5cGVvZigqZGF0YSkgPT0gTVBf QVJSQVkpOwo+PiBAQCAtMTEzOSwxNSArMTEzOSwyNyBAQCBtZW10eF90dXBsZV9uZXcoc3RydWN0 IHR1cGxlX2Zvcm1hdCAqZm9ybWF0LCBjb25zdCBjaGFyICpkYXRhLCBjb25zdCBjaGFyICplbmQp Cj4+IH0KPj4KPj4gc3RydWN0IG1lbXR4X3R1cGxlICptZW10eF90dXBsZTsKPj4gLSB3aGlsZSAo KG1lbXR4X3R1cGxlID0gc21hbGxvYygmbWVtdHgtPmFsbG9jLCB0b3RhbCkpID09IE5VTEwpIHsK Pj4gLSBib29sIHN0b3A7Cj4+IC0gbWVtdHhfZW5naW5lX3J1bl9nYyhtZW10eCwgJnN0b3ApOwo+ PiAtIGlmIChzdG9wKQo+PiAtIGJyZWFrOwo+PiAtIH0KPj4gLSBpZiAobWVtdHhfdHVwbGUgPT0g TlVMTCkgewo+PiAtIGRpYWdfc2V0KE91dE9mTWVtb3J5LCB0b3RhbCwgInNsYWIgYWxsb2NhdG9y IiwgIm1lbXR4X3R1cGxlIik7Cj4+IC0gZ290byBlbmQ7Cj4+ICsgaWYgKHVzZV9jYWxsb2MpIHsK Pj4gKyBtZW10eF90dXBsZSA9IGNhbGxvYygxLCB0b3RhbCk7Cj4+ICsgaWYgKG1lbXR4X3R1cGxl ID09IE5VTEwpIHsKPj4gKyBkaWFnX3NldChPdXRPZk1lbW9yeSwgdG90YWwsICJtYWxsb2MiLAo+ PiArICJtZW10eF90dXBsZSIpOwo+PiArIGdvdG8gZW5kOwo+PiArIH0KPj4gKyBmb3JtYXQtPmlz X21hbGxvY2VkID0gdHJ1ZTsKPgo+Mi4gU29ycnksIHdlIGNhbid0IGNoYW5nZSBmb3JtYXQgaGVy ZS4gVGhlIG9ubHkgcmVhc29uIHdoeSBmb3JtYXQKPmlzIG5vdCBjb25zdCBpbiB0aGF0IGZ1bmN0 aW9uIGlzIGJlY2F1c2Ugd2UgbmVlZCBpbmNyZW1lbnQgaXRzCj5yZWZlcmVuY2UgY291bnRlci4g QSB0dXBsZSBjYW4ndCBjaGFuZ2UgaXRzIG93biBmb3JtYXQuIEVzcGVjaWFsbHkKPmluIHN1Y2gg YSBob3QgcGF0aC4KPgo+PiArIH0gZWxzZSB7Cj4+ICsgd2hpbGUgKChtZW10eF90dXBsZSA9IHNt YWxsb2MoJm1lbXR4LT5hbGxvYywKPj4gKyB0b3RhbCkpID09IE5VTEwpIHsKPj4gKyBib29sIHN0 b3A7Cj4+ICsgbWVtdHhfZW5naW5lX3J1bl9nYyhtZW10eCwgJnN0b3ApOwo+PiArIGlmIChzdG9w KQo+PiArIGJyZWFrOwo+PiArIH0KPj4gKyBpZiAobWVtdHhfdHVwbGUgPT0gTlVMTCkgewo+PiAr IGRpYWdfc2V0KE91dE9mTWVtb3J5LCB0b3RhbCwgInNsYWIgYWxsb2NhdG9yIiwKPj4gKyAibWVt dHhfdHVwbGUiKTsKPj4gKyBnb3RvIGVuZDsKPj4gKyB9Cj4+IH0KPj4gdHVwbGUgPSAmbWVtdHhf dHVwbGUtPmJhc2U7Cj4+IHR1cGxlLT5yZWZzID0gMDsKPj4gQEAgLTExNzcsMTYgKzExODksMjAg QEAgbWVtdHhfdHVwbGVfZGVsZXRlKHN0cnVjdCB0dXBsZV9mb3JtYXQgKmZvcm1hdCwgc3RydWN0 IHR1cGxlICp0dXBsZSkKPj4gc3RydWN0IG1lbXR4X2VuZ2luZSAqbWVtdHggPSAoc3RydWN0IG1l bXR4X2VuZ2luZSAqKWZvcm1hdC0+ZW5naW5lOwo+PiBzYXlfZGVidWcoIiVzKCVwKSIsIF9fZnVu Y19fLCB0dXBsZSk7Cj4+IGFzc2VydCh0dXBsZS0+cmVmcyA9PSAwKTsKPj4gLSB0dXBsZV9mb3Jt YXRfdW5yZWYoZm9ybWF0KTsKPj4gc3RydWN0IG1lbXR4X3R1cGxlICptZW10eF90dXBsZSA9Cj4+ IGNvbnRhaW5lcl9vZih0dXBsZSwgc3RydWN0IG1lbXR4X3R1cGxlLCBiYXNlKTsKPj4gc2l6ZV90 IHRvdGFsID0gdHVwbGVfc2l6ZSh0dXBsZSkgKyBvZmZzZXRvZihzdHJ1Y3QgbWVtdHhfdHVwbGUs IGJhc2UpOwo+PiAtIGlmIChtZW10eC0+YWxsb2MuZnJlZV9tb2RlICE9IFNNQUxMX0RFTEFZRURf RlJFRSB8fAo+PiAtIG1lbXR4X3R1cGxlLT52ZXJzaW9uID09IG1lbXR4LT5zbmFwc2hvdF92ZXJz aW9uIHx8Cj4+IC0gZm9ybWF0LT5pc190ZW1wb3JhcnkpCj4+IC0gc21mcmVlKCZtZW10eC0+YWxs b2MsIG1lbXR4X3R1cGxlLCB0b3RhbCk7Cj4+IC0gZWxzZQo+PiAtIHNtZnJlZV9kZWxheWVkKCZt ZW10eC0+YWxsb2MsIG1lbXR4X3R1cGxlLCB0b3RhbCk7Cj4+ICsgaWYgKGZvcm1hdC0+aXNfbWFs bG9jZWQpIHsKPj4gKyBmcmVlKG1lbXR4X3R1cGxlKTsKPgo+My4gVGhlcmUgaXMgYSBjZXJ0YWlu IHB1cnBvc2UgZm9yIHRoZXNlIGZyZWVfbW9kZSwgdmVyc2lvbiwgYmxhaAo+YmxhaC4gVGhlc2Ug YXR0cmlidXRlcyBjcmVhdGUgYSByZWFkIHZpZXcgb2YgdGhlIHdob2xlIG1lbXR4IGVuZ2luZQo+ dG8gbWFrZSBhIHNuYXBzaG90LCBidXQgZG8gbm90IHN0b3AgbmV3IHJlcXVlc3RzLiBUdXBsZXMg YXJlIG5vdAo+ZGVsZXRlZCBkdXJpbmcgc25hcHNob3QuCj4KPkhhdmluZyBpZ25vcmVkIHRoZSBm cmVlIG1vZGUgeW91IGdldCB0aGlzOgo+Cj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Cj7CoMKgwqDCoGJveC5jZmd7 fQo+wqDCoMKgwqBlcnJpbmogPSBib3guZXJyb3IuaW5qZWN0aW9uCj7CoMKgwqDCoGZpYmVyID0g cmVxdWlyZSgnZmliZXInKQo+Cj7CoMKgwqDCoHMgPSBib3guc2NoZW1hLmNyZWF0ZV9zcGFjZSgn dGVzdCcpCj7CoMKgwqDCoHBrID0gczpjcmVhdGVfaW5kZXgoJ3BrJykKPsKgwqDCoMKgczp0cnVu Y2F0ZSgpCj7CoMKgwqDCoHM6cmVwbGFjZXsxfQo+wqDCoMKgwqBib3guZXJyb3IuaW5qZWN0aW9u LnNldCgnRVJSSU5KX1NOQVBfV1JJVEVfREVMQVknLCB0cnVlKQo+wqDCoMKgwqBmID0gZmliZXIu Y3JlYXRlKGJveC5zbmFwc2hvdCkKPsKgwqDCoMKgYm94LnNwYWNlLl90cnVuY2F0ZTpkZWxldGV7 cy5pZH0KPgo+LS0gVGhlIGNvZGUgYmVsb3cgaW1wcm92ZXMgcmVwcm9kdWNpYmlsaXR5LiBJdCBj cmVhdGVzIGFuZAo+LS0gZGVsZXRlcyBzZXZlcmFsIHR1cGxlcyB0byB1bnJlZiB0aGUgYmxlc3Nl ZCB0dXBsZQo+LS0gKHR1cGxlX2JsZXNzKSwgcmV3cml0ZSBzb21lIHJlY2VudGx5IGZyZWVkIGhl YXAgY2h1bmtzLgo+Cj7CoMKgwqDCoHM6Z2V0ezF9Cj7CoMKgwqDCoGNvbGxlY3RnYXJiYWdlKCdj b2xsZWN0JykKPsKgwqDCoMKgczpyZXBsYWNlezF9Cj7CoMKgwqDCoHM6Z2V0ezF9Cj7CoMKgwqDC oGNvbGxlY3RnYXJiYWdlKCdjb2xsZWN0JykKPsKgwqDCoMKgczpyZXBsYWNlezF9Cj7CoMKgwqDC oHM6Z2V0ezF9Cj7CoMKgwqDCoGNvbGxlY3RnYXJiYWdlKCdjb2xsZWN0JykKPsKgwqDCoMKgczpy ZXBsYWNlezF9Cj7CoMKgwqDCoHM6Z2V0ezF9Cj7CoMKgwqDCoGNvbGxlY3RnYXJiYWdlKCdjb2xs ZWN0JykKPgo+LS0KPgo+wqDCoMKgwqBib3guZXJyb3IuaW5qZWN0aW9uLnNldCgnRVJSSU5KX1NO QVBfV1JJVEVfREVMQVknLCBmYWxzZSkKPgo+wqDCoMKgwqB0YXJhbnRvb2w+IFByb2Nlc3MgOTQz OTAgc3RvcHBlZAo+wqDCoMKgwqAqIHRocmVhZCAjMiwgbmFtZSA9ICdzbmFwc2hvdCcsIHN0b3Ag cmVhc29uID0gRVhDX0JBRF9BQ0NFU1MgKGNvZGU9MiwgYWRkcmVzcz0weDEwNTQ4MTAwMCkKPsKg wqDCoMKgwqDCoMKgwqBmcmFtZSAjMDogMHgwMDAwN2ZmZjVhOTY0Y2U5IGxpYnN5c3RlbV9wbGF0 Zm9ybS5keWxpYmBfcGxhdGZvcm1fbWVtbW92ZSRWQVJJQU5UJEhhc3dlbGwgKyA0MQo+wqDCoMKg wqBsaWJzeXN0ZW1fcGxhdGZvcm0uZHlsaWJgX3BsYXRmb3JtX21lbW1vdmUkVkFSSUFOVCRIYXN3 ZWxsOgo+wqDCoMKgwqAtPiAweDdmZmY1YTk2NGNlOSA8KzQxPjogcmVwIG1vdnNiICglcnNpKSwg JWVzOiglcmRpKQo+wqDCoMKgwqDCoMKgwqDCoDB4N2ZmZjVhOTY0Y2ViIDwrNDM+OiBwb3BxICVy YnAKPsKgwqDCoMKgwqDCoMKgwqAweDdmZmY1YTk2NGNlYyA8KzQ0PjogcmV0cQo+wqDCoMKgwqDC oMKgwqDCoDB4N2ZmZjVhOTY0Y2VkIDwrNDU+OiBjbXBxICVyZGksICVyc2kKPsKgwqDCoMKgVGFy Z2V0IDA6ICh0YXJhbnRvb2wpIHN0b3BwZWQuCj7CoMKgwqDCoChsbGRiKSBidAo+wqDCoMKgwqAq IHRocmVhZCAjMiwgbmFtZSA9ICdzbmFwc2hvdCcsIHN0b3AgcmVhc29uID0gRVhDX0JBRF9BQ0NF U1MgKGNvZGU9MiwgYWRkcmVzcz0weDEwNTQ4MTAwMCkKPsKgwqDCoMKgwqDCoCogZnJhbWUgIzA6 IDB4MDAwMDdmZmY1YTk2NGNlOSBsaWJzeXN0ZW1fcGxhdGZvcm0uZHlsaWJgX3BsYXRmb3JtX21l bW1vdmUkVkFSSUFOVCRIYXN3ZWxsICsgNDEKPsKgwqDCoMKgwqDCoMKgwqBmcmFtZSAjMTogMHgw MDAwMDAwMTAwM2Y1NmJhIHRhcmFudG9vbGBvYnVmX2R1cChidWY9MHgwMDAwMDAwMTBmMGZmOGIw LCBkYXRhPTB4MDAwMDAwMDEwNTE1N2FhNiwgc2l6ZT04NTA3MTI2NCkgYXQgb2J1Zi5jOjE2MToy Cj7CoMKgwqDCoMKgwqDCoMKgZnJhbWUgIzI6IDB4MDAwMDAwMDEwMDM2MzRlOCB0YXJhbnRvb2xg eGxvZ193cml0ZV9yb3cobG9nPTB4MDAwMDAwMDEwZjBmZjIwOCwgcGFja2V0PTB4MDAwMDAwMDEw ZjBmZjBkOCkgYXQgeGxvZy5jOjEzMjA6Nwo+wqDCoMKgwqDCoMKgwqDCoGZyYW1lICMzOiAweDAw MDAwMDAxMDAwMzhhZWYgdGFyYW50b29sYGNoZWNrcG9pbnRfd3JpdGVfcm93KGw9MHgwMDAwMDAw MTBmMGZmMjA4LCByb3c9MHgwMDAwMDAwMTBmMGZmMGQ4KSBhdCBtZW10eF9lbmdpbmUuYzo0MzE6 MjAKPsKgwqDCoMKgwqDCoMKgwqBmcmFtZSAjNDogMHgwMDAwMDAwMTAwMDM4YTJlIHRhcmFudG9v bGBjaGVja3BvaW50X3dyaXRlX3R1cGxlKGw9MHgwMDAwMDAwMTBmMGZmMjA4LCBzcGFjZV9pZD0z MzAsIGdyb3VwX2lkPTAsIGRhdGE9IiIsIHNpemU9ODUwNzEyNjQpIGF0IG1lbXR4X2VuZ2luZS5j OjQ1OTo5Cj7CoMKgwqDCoMKgwqDCoMKgZnJhbWUgIzU6IDB4MDAwMDAwMDEwMDAzODgxMSB0YXJh bnRvb2xgY2hlY2twb2ludF9mKGFwPTB4MDAwMDAwMDEwZjAwMDI3OCkgYXQgbWVtdHhfZW5naW5l LmM6NjAzOjgKPsKgwqDCoMKgwqDCoMKgwqBmcmFtZSAjNjogMHgwMDAwMDAwMTAwMDA1ZTVhIHRh cmFudG9vbGBmaWJlcl9jeHhfaW52b2tlKGY9KHRhcmFudG9vbGBjaGVja3BvaW50X2YgYXQgbWVt dHhfZW5naW5lLmM6NTc3KSwgYXA9MHgwMDAwMDAwMTBmMDAwMjc4KShfX3ZhX2xpc3RfdGFnKiks IF9fdmFfbGlzdF90YWcqKSBhdCBmaWJlci5oOjc2MjoxMAo+wqDCoMKgwqDCoMKgwqDCoGZyYW1l ICM3OiAweDAwMDAwMDAxMDAxODE2OGIgdGFyYW50b29sYGZpYmVyX2xvb3AoZGF0YT0weDAwMDAw MDAwMDAwMDAwMDApIGF0IGZpYmVyLmM6ODMwOjE4Cj7CoMKgwqDCoMKgwqDCoMKgZnJhbWUgIzg6 IDB4MDAwMDAwMDEwMDQxNjVlNyB0YXJhbnRvb2xgY29yb19pbml0IGF0IGNvcm8uYzoxMTA6Mwo+ Cj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQo+Cj5TbmFwc2hvdGluZyBtZWFucyB0aGF0IHlvdSBjYW4ndCBzb2x2ZSB0 aGUgaXNzdWUgb24gdGhlIGZvcm1hdAo+bGV2ZWwsIG9yIHR1cGxlIGxldmVsLiBZb3UgbmVlZCB0 byBwYXRjaCB0aGUgZW5naW5lIGxldmVsIChJTU8pLgo+Cj5Ib25lc3RseSwgSSB0aG91Z2h0IGFi b3V0IHRoaXMgaXNzdWUgZm9yIHF1aXRlIGEgbG9uZyB0aW1lIGFscmVhZHksCj5hbmQgSSBkb24n dCBoYXZlIGEgcGxhbiBob3cgdG8gZml4IGl0LiBBbGwgd2F5cyBsb29rIGJhZC4gQWxsIG9mIHRo ZW0KPmFzc3VtZSBzcGVjaWFsIHBhdGNoaW5nIG9mIF90cnVuY2F0ZSBzcGFjZSBpbnNlcnRpb24g YW5kIGNydXRjaGVzIGZvcgo+ZGVsZXRpb24uIEZvciBtZSB0aGUgbW9zdCBwcm9taXNpbmcgd2F5 IHdhcyB0byBpbnRyb2R1Y2UgYW4gYW5hbG9ndWUKPm9mIHZ5X3F1b3RhX2ZvcmNlX3VzZSgpIHNv bWVob3csIGZvciBfdHJ1bmNhdGUsIGFuZCB1c2UgaXQgaW4gYQo+YmVmb3JlX3JlcGxhY2UgdHJp Z2dlciBvZiBfdHJ1bmNhdGUuIEZvcmNlZCB1c2Ugb2YgcXVvdGEgd291bGQgYWxsb3cKPnRvIHRl bXBvcmFyeSBvdmVyZmxvdyB0aGUgbWVtb3J5IGxpbWl0LiBCdXQgaXQgd29uJ3QgZml4IGRlbGV0 aW9uLgo+TWF5YmUgdGhlIGtleSBpcyBpbiBpbnRyb2R1Y3Rpb24gb2YgcXVvdGEgb3ZlcnVzZSBm b3IgZGVsZXRpb25zLiBJCj5kb24ndCBrbm93Lgo+Cj5QZXJzb25hbGx5LCBJIGRvbid0IHRoaW5r IHRoZSBpc3N1ZSBpcyB3b3J0aCBmaXhpbmcgYXQgYWxsLiBJZiBhCj51c2VyIHdhbnRzIHRvIGRl bGV0ZS90cnVuY2F0ZSwgaGUgY2FuIGluY3JlYXNlIG1lbXR4IG1lbW9yeSwgZG8KPmNsZWFudXAs IGFuZCBkZWNyZWFzZSBpdCBiYWNrLgrCoArCoAotLQpJbHlhIEtvc2FyZXYKwqAgwqAKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQrCoAotLQpJbHlhIEtvc2FyZXYKwqA= ----ALT--437f3Be1dBdF3F2af62E7B244f6D808b1578656704 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+CjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+ CjxkaXY+CjxkaXYgaWQ9InN0eWxlXzE1Nzg2MTY2MzQwOTE4MjM3NzQwX0JPRFkiPgo8ZGl2IGNs YXNzPSJjbGFzc18xNTc4Njg4NjgyIj4KPGRpdj5UaGFua3MgZm9yIHRoZSByZXZpZXchPC9kaXY+ Cgo8ZGl2PiZuYnNwOzwvZGl2PgoKPGRpdj4KPGRpdj5XZWxsLCB5ZXMsIGkmbmJzcDtmaXJzdCB0 aG91Z2h0IHRoYXQgaXQgaXMgc29tZXRoaW5nIHdlIGRvbuKAmXQgd2FudCB0byBmaXguPGJyPgpI b3dldmVyLCB0aGVuIGkgZGVjaWRlZCB0byB0cnkgaXQgaW4gdGhlIHByZXNlbnQmbmJzcDt3YXks IGFzIGZhciBhcyZuYnNwO2k8YnI+CmRpZG4ndCBzZWUgYWxsIHRoZSB0cm91YmxlIGNvbWluZy4g Tm93IGkgc2VlIGl0IHdvbid0IHdvcmsgdGhpcyB3YXkuPGJyPgpOZXZlcnRoZWxlc3MgaSB0aGlu ayB0aGlzIGlzc3VlIGlzIHF1aXRlIHVuY29tZm9ydGFibGUgZm9yIHVzZXIuIFNlbnQ8YnI+CnYy IG9mIHRoZSBwYXRjaHNldCB3aXRoIGFwcHJvYWNoIGluc3BpcmVkIGJ5IHlvdXIgaWRlYS4gSXQg bG9va3MgbXVjaDxicj4KYmV0dGVyLCBob3dldmVyLCBzdGlsbCBub3Qgc3VyZSBpZiBpdCBpcyB3 b3J0aCBpbXBsZW1lbnRpbmcuPC9kaXY+Cgo8ZGl2PiZuYnNwOzwvZGl2PgoKPGRpdj4mbmJzcDs8 L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJtYWlsLXF1b3RlLWNvbGxhcHNlIj4KPGJsb2NrcXVv dGUgc3R5bGU9ImJvcmRlci1sZWZ0OjFweCBzb2xpZCAjMDg1N0E2O21hcmdpbjoxMHB4O3BhZGRp bmc6MCAwIDAgMTBweDsiPjxzcGFuIGRhdGEtZW1haWw9InYuc2hwaWxldm95QHRhcmFudG9vbC5v cmciIGRhdGEtbmFtZT0iVmxhZGlzbGF2IFNocGlsZXZveSIgZGF0YS1xdW90ZS1pZD0iMTY5NTA2 OTcwOTYwNjQxOTM2OCIgZGF0YS10aW1lc3RhbXA9IjE1NzY3MTU0NjAiIGRhdGEtdHlwZT0ic2Vu ZGVyIj7Qp9C10YLQstC10YDQsywgMTkg0LTQtdC60LDQsdGA0Y8gMjAxOSwgMzozMSArMDM6MDAg 0L7RgiBWbGFkaXNsYXYgU2hwaWxldm95ICZsdDs8YSBocmVmPSIvY29tcG9zZT9Ubz12LnNocGls ZXZveUB0YXJhbnRvb2wub3JnIj52LnNocGlsZXZveUB0YXJhbnRvb2wub3JnPC9hPiZndDs6PGJy PgombmJzcDsgPC9zcGFuPgoKPGRpdiBkYXRhLXF1b3RlLWlkPSIxNjk1MDY5NzA5NjA2NDE5MzY4 IiBkYXRhLXR5cGU9ImJvZHkiPgo8ZGl2IGlkPSIiPgo8ZGl2IGNsYXNzPSJqcy1oZWxwZXJfbWFp bHJ1X2Nzc19hdHRyaWJ1dGVfcG9zdGZpeCBqcy1yZWFkbXNnLW1zZ19tYWlscnVfY3NzX2F0dHJp YnV0ZV9wb3N0Zml4Ij4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KPC9zdHlsZT4KPGRpdj4KPGRp diBpZD0ic3R5bGVfMTU3NjcxNTUxOTA3ODIwMjY2NDZfQk9EWV9tYWlscnVfY3NzX2F0dHJpYnV0 ZV9wb3N0Zml4Ij5UaGFua3MgZm9yIHRoZSBwYXRjaCE8YnI+Cjxicj4KU2VlIDMgY29tbWVudHMg YmVsb3cuPGJyPgo8YnI+Ck9uIDEzLzEyLzIwMTkgMDg6MDUsIElseWEgS29zYXJldiB3cm90ZTo8 YnI+CiZndDsgVHJ5aW5nIHRvIHBlcmZvcm0gc3BhY2U6dHJ1bmNhdGUoKSB3aGlsZSByZWFjaGlu ZyBtZW10eF9tZW1vcnkgbGltaXQgd2U8YnI+CiZndDsgY291bGQgZXhwZXJpZW5jZSBzbGFiIGFs bG9jYXRvciBmYWlsdXJlIG9uIGFsbG9jYXRpb24gZm9yIHNlcnZpY2UgdHVwbGU8YnI+CiZndDsg YmVpbmcgdXBzZXJ0ZWQgaW50byBzZXJ2aWNlIHNwYWNlIHRvIGtlZXAgcmVjb3JkIG9mIHRydW5j YXRpb25zLiBUaGlzPGJyPgomZ3Q7IGJlaGF2aW9yIHNlZW1zIHRvIGJlIHF1aXRlIHN1cnByaXNp bmcgZm9yIHVzZXJzLiBOb3cgd2UgYXJlIHVzaW5nPGJyPgomZ3Q7IGNhbGxvYygpIHRvIGFsbG9j YXRlIHR1cGxlcyBpbiBCT1hfVFJVTkNBVEVfSUQgc3BhY2UuPGJyPgomZ3Q7PGJyPgomZ3Q7IENs b3NlczogIzM4MDc8YnI+CiZndDsgLS0tPGJyPgomZ3Q7IHNyYy9ib3gvbWVtdHhfZW5naW5lLmMg fCA1MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS08YnI+CiZndDsg c3JjL2JveC9tZW10eF9lbmdpbmUuaCB8IDIgKy08YnI+CiZndDsgc3JjL2JveC9tZW10eF9zcGFj ZS5jIHwgMjAgKysrKysrKysrKysrLS0tLS08YnI+CiZndDsgc3JjL2JveC90dXBsZS5jIHwgMTYg KysrKysrKysrKy0tLS08YnI+CiZndDsgc3JjL2JveC90dXBsZS5oIHwgMiArLTxicj4KJmd0OyBz cmMvYm94L3R1cGxlX2Zvcm1hdC5jIHwgMSArPGJyPgomZ3Q7IHNyYy9ib3gvdHVwbGVfZm9ybWF0 LmggfCAxMCArKysrKysrKy08YnI+CiZndDsgc3JjL2JveC92eV9zdG10LmMgfCAzICsrLTxicj4K Jmd0OyA4IGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKTxi cj4KJmd0Ozxicj4KJmd0OyBkaWZmIC0tZ2l0IGEvc3JjL2JveC9tZW10eF9lbmdpbmUuYyBiL3Ny Yy9ib3gvbWVtdHhfZW5naW5lLmM8YnI+CiZndDsgaW5kZXggMjNjY2M0NzAzZmUuLjU5MTQ4MDU5 ZjJiIDEwMDY0NDxicj4KJmd0OyAtLS0gYS9zcmMvYm94L21lbXR4X2VuZ2luZS5jPGJyPgomZ3Q7 ICsrKyBiL3NyYy9ib3gvbWVtdHhfZW5naW5lLmM8YnI+CiZndDsgQEAgLTExMTMsNyArMTExMyw3 IEBAIG1lbXR4X2xlYXZlX2RlbGF5ZWRfZnJlZV9tb2RlKHN0cnVjdCBtZW10eF9lbmdpbmUgKm1l bXR4KTxicj4KJmd0OyB9PGJyPgomZ3Q7PGJyPgomZ3Q7IHN0cnVjdCB0dXBsZSAqPGJyPgomZ3Q7 IC1tZW10eF90dXBsZV9uZXcoc3RydWN0IHR1cGxlX2Zvcm1hdCAqZm9ybWF0LCBjb25zdCBjaGFy ICpkYXRhLCBjb25zdCBjaGFyICplbmQpPGJyPgomZ3Q7ICttZW10eF90dXBsZV9uZXcoc3RydWN0 IHR1cGxlX2Zvcm1hdCAqZm9ybWF0LCBjb25zdCBjaGFyICpkYXRhLCBjb25zdCBjaGFyICplbmQs IGJvb2wgdXNlX2NhbGxvYyk8YnI+Cjxicj4KMS4gT2guIE5vLiBQbGVhc2UuIFRoZSB3aG9sZSBw b2ludCBvZiBmb3JtYXQgdnRhYmxlIGlzIHRvIGF2b2lkIHRoYXQuPGJyPgo8YnI+CiZndDsgezxi cj4KJmd0OyBzdHJ1Y3QgbWVtdHhfZW5naW5lICptZW10eCA9IChzdHJ1Y3QgbWVtdHhfZW5naW5l ICopZm9ybWF0LSZndDtlbmdpbmU7PGJyPgomZ3Q7IGFzc2VydChtcF90eXBlb2YoKmRhdGEpID09 IE1QX0FSUkFZKTs8YnI+CiZndDsgQEAgLTExMzksMTUgKzExMzksMjcgQEAgbWVtdHhfdHVwbGVf bmV3KHN0cnVjdCB0dXBsZV9mb3JtYXQgKmZvcm1hdCwgY29uc3QgY2hhciAqZGF0YSwgY29uc3Qg Y2hhciAqZW5kKTxicj4KJmd0OyB9PGJyPgomZ3Q7PGJyPgomZ3Q7IHN0cnVjdCBtZW10eF90dXBs ZSAqbWVtdHhfdHVwbGU7PGJyPgomZ3Q7IC0gd2hpbGUgKChtZW10eF90dXBsZSA9IHNtYWxsb2Mo JmFtcDttZW10eC0mZ3Q7YWxsb2MsIHRvdGFsKSkgPT0gTlVMTCkgezxicj4KJmd0OyAtIGJvb2wg c3RvcDs8YnI+CiZndDsgLSBtZW10eF9lbmdpbmVfcnVuX2djKG1lbXR4LCAmYW1wO3N0b3ApOzxi cj4KJmd0OyAtIGlmIChzdG9wKTxicj4KJmd0OyAtIGJyZWFrOzxicj4KJmd0OyAtIH08YnI+CiZn dDsgLSBpZiAobWVtdHhfdHVwbGUgPT0gTlVMTCkgezxicj4KJmd0OyAtIGRpYWdfc2V0KE91dE9m TWVtb3J5LCB0b3RhbCwgInNsYWIgYWxsb2NhdG9yIiwgIm1lbXR4X3R1cGxlIik7PGJyPgomZ3Q7 IC0gZ290byBlbmQ7PGJyPgomZ3Q7ICsgaWYgKHVzZV9jYWxsb2MpIHs8YnI+CiZndDsgKyBtZW10 eF90dXBsZSA9IGNhbGxvYygxLCB0b3RhbCk7PGJyPgomZ3Q7ICsgaWYgKG1lbXR4X3R1cGxlID09 IE5VTEwpIHs8YnI+CiZndDsgKyBkaWFnX3NldChPdXRPZk1lbW9yeSwgdG90YWwsICJtYWxsb2Mi LDxicj4KJmd0OyArICJtZW10eF90dXBsZSIpOzxicj4KJmd0OyArIGdvdG8gZW5kOzxicj4KJmd0 OyArIH08YnI+CiZndDsgKyBmb3JtYXQtJmd0O2lzX21hbGxvY2VkID0gdHJ1ZTs8YnI+Cjxicj4K Mi4gU29ycnksIHdlIGNhbid0IGNoYW5nZSBmb3JtYXQgaGVyZS4gVGhlIG9ubHkgcmVhc29uIHdo eSBmb3JtYXQ8YnI+CmlzIG5vdCBjb25zdCBpbiB0aGF0IGZ1bmN0aW9uIGlzIGJlY2F1c2Ugd2Ug bmVlZCBpbmNyZW1lbnQgaXRzPGJyPgpyZWZlcmVuY2UgY291bnRlci4gQSB0dXBsZSBjYW4ndCBj aGFuZ2UgaXRzIG93biBmb3JtYXQuIEVzcGVjaWFsbHk8YnI+CmluIHN1Y2ggYSBob3QgcGF0aC48 YnI+Cjxicj4KJmd0OyArIH0gZWxzZSB7PGJyPgomZ3Q7ICsgd2hpbGUgKChtZW10eF90dXBsZSA9 IHNtYWxsb2MoJmFtcDttZW10eC0mZ3Q7YWxsb2MsPGJyPgomZ3Q7ICsgdG90YWwpKSA9PSBOVUxM KSB7PGJyPgomZ3Q7ICsgYm9vbCBzdG9wOzxicj4KJmd0OyArIG1lbXR4X2VuZ2luZV9ydW5fZ2Mo bWVtdHgsICZhbXA7c3RvcCk7PGJyPgomZ3Q7ICsgaWYgKHN0b3ApPGJyPgomZ3Q7ICsgYnJlYWs7 PGJyPgomZ3Q7ICsgfTxicj4KJmd0OyArIGlmIChtZW10eF90dXBsZSA9PSBOVUxMKSB7PGJyPgom Z3Q7ICsgZGlhZ19zZXQoT3V0T2ZNZW1vcnksIHRvdGFsLCAic2xhYiBhbGxvY2F0b3IiLDxicj4K Jmd0OyArICJtZW10eF90dXBsZSIpOzxicj4KJmd0OyArIGdvdG8gZW5kOzxicj4KJmd0OyArIH08 YnI+CiZndDsgfTxicj4KJmd0OyB0dXBsZSA9ICZhbXA7bWVtdHhfdHVwbGUtJmd0O2Jhc2U7PGJy PgomZ3Q7IHR1cGxlLSZndDtyZWZzID0gMDs8YnI+CiZndDsgQEAgLTExNzcsMTYgKzExODksMjAg QEAgbWVtdHhfdHVwbGVfZGVsZXRlKHN0cnVjdCB0dXBsZV9mb3JtYXQgKmZvcm1hdCwgc3RydWN0 IHR1cGxlICp0dXBsZSk8YnI+CiZndDsgc3RydWN0IG1lbXR4X2VuZ2luZSAqbWVtdHggPSAoc3Ry dWN0IG1lbXR4X2VuZ2luZSAqKWZvcm1hdC0mZ3Q7ZW5naW5lOzxicj4KJmd0OyBzYXlfZGVidWco IiVzKCVwKSIsIF9fZnVuY19fLCB0dXBsZSk7PGJyPgomZ3Q7IGFzc2VydCh0dXBsZS0mZ3Q7cmVm cyA9PSAwKTs8YnI+CiZndDsgLSB0dXBsZV9mb3JtYXRfdW5yZWYoZm9ybWF0KTs8YnI+CiZndDsg c3RydWN0IG1lbXR4X3R1cGxlICptZW10eF90dXBsZSA9PGJyPgomZ3Q7IGNvbnRhaW5lcl9vZih0 dXBsZSwgc3RydWN0IG1lbXR4X3R1cGxlLCBiYXNlKTs8YnI+CiZndDsgc2l6ZV90IHRvdGFsID0g dHVwbGVfc2l6ZSh0dXBsZSkgKyBvZmZzZXRvZihzdHJ1Y3QgbWVtdHhfdHVwbGUsIGJhc2UpOzxi cj4KJmd0OyAtIGlmIChtZW10eC0mZ3Q7YWxsb2MuZnJlZV9tb2RlICE9IFNNQUxMX0RFTEFZRURf RlJFRSB8fDxicj4KJmd0OyAtIG1lbXR4X3R1cGxlLSZndDt2ZXJzaW9uID09IG1lbXR4LSZndDtz bmFwc2hvdF92ZXJzaW9uIHx8PGJyPgomZ3Q7IC0gZm9ybWF0LSZndDtpc190ZW1wb3JhcnkpPGJy PgomZ3Q7IC0gc21mcmVlKCZhbXA7bWVtdHgtJmd0O2FsbG9jLCBtZW10eF90dXBsZSwgdG90YWwp Ozxicj4KJmd0OyAtIGVsc2U8YnI+CiZndDsgLSBzbWZyZWVfZGVsYXllZCgmYW1wO21lbXR4LSZn dDthbGxvYywgbWVtdHhfdHVwbGUsIHRvdGFsKTs8YnI+CiZndDsgKyBpZiAoZm9ybWF0LSZndDtp c19tYWxsb2NlZCkgezxicj4KJmd0OyArIGZyZWUobWVtdHhfdHVwbGUpOzxicj4KPGJyPgozLiBU aGVyZSBpcyBhIGNlcnRhaW4gcHVycG9zZSBmb3IgdGhlc2UgZnJlZV9tb2RlLCB2ZXJzaW9uLCBi bGFoPGJyPgpibGFoLiBUaGVzZSBhdHRyaWJ1dGVzIGNyZWF0ZSBhIHJlYWQgdmlldyBvZiB0aGUg d2hvbGUgbWVtdHggZW5naW5lPGJyPgp0byBtYWtlIGEgc25hcHNob3QsIGJ1dCBkbyBub3Qgc3Rv cCBuZXcgcmVxdWVzdHMuIFR1cGxlcyBhcmUgbm90PGJyPgpkZWxldGVkIGR1cmluZyBzbmFwc2hv dC48YnI+Cjxicj4KSGF2aW5nIGlnbm9yZWQgdGhlIGZyZWUgbW9kZSB5b3UgZ2V0IHRoaXM6PGJy Pgo8YnI+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PGJyPgo8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2JveC5j Zmd7fTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZXJyaW5qID0gYm94LmVycm9yLmluamVj dGlvbjxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZmliZXIgPSByZXF1aXJlKCdmaWJlcicp PGJyPgo8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3MgPSBib3guc2NoZW1hLmNyZWF0ZV9z cGFjZSgndGVzdCcpPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtwayA9IHM6Y3JlYXRlX2lu ZGV4KCdwaycpPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzOnRydW5jYXRlKCk8YnI+CiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3M6cmVwbGFjZXsxfTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Ym94LmVycm9yLmluamVjdGlvbi5zZXQoJ0VSUklOSl9TTkFQX1dSSVRFX0RFTEFZJywg dHJ1ZSk8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2YgPSBmaWJlci5jcmVhdGUoYm94LnNu YXBzaG90KTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ym94LnNwYWNlLl90cnVuY2F0ZTpk ZWxldGV7cy5pZH08YnI+Cjxicj4KLS0gVGhlIGNvZGUgYmVsb3cgaW1wcm92ZXMgcmVwcm9kdWNp YmlsaXR5LiBJdCBjcmVhdGVzIGFuZDxicj4KLS0gZGVsZXRlcyBzZXZlcmFsIHR1cGxlcyB0byB1 bnJlZiB0aGUgYmxlc3NlZCB0dXBsZTxicj4KLS0gKHR1cGxlX2JsZXNzKSwgcmV3cml0ZSBzb21l IHJlY2VudGx5IGZyZWVkIGhlYXAgY2h1bmtzLjxicj4KPGJyPgombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtzOmdldHsxfTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y29sbGVjdGdhcmJhZ2Uo J2NvbGxlY3QnKTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7czpyZXBsYWNlezF9PGJyPgom bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzOmdldHsxfTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Y29sbGVjdGdhcmJhZ2UoJ2NvbGxlY3QnKTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 czpyZXBsYWNlezF9PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzOmdldHsxfTxicj4KJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y29sbGVjdGdhcmJhZ2UoJ2NvbGxlY3QnKTxicj4KJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7czpyZXBsYWNlezF9PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtzOmdldHsxfTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y29sbGVjdGdhcmJhZ2UoJ2Nv bGxlY3QnKTxicj4KPGJyPgotLTxicj4KPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtib3gu ZXJyb3IuaW5qZWN0aW9uLnNldCgnRVJSSU5KX1NOQVBfV1JJVEVfREVMQVknLCBmYWxzZSk8YnI+ Cjxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dGFyYW50b29sJmd0OyBQcm9jZXNzIDk0Mzkw IHN0b3BwZWQ8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyogdGhyZWFkICMyLCBuYW1lID0g J3NuYXBzaG90Jywgc3RvcCByZWFzb24gPSBFWENfQkFEX0FDQ0VTUyAoY29kZT0yLCBhZGRyZXNz PTB4MTA1NDgxMDAwKTxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ZnJhbWUgIzA6IDB4MDAwMDdmZmY1YTk2NGNlOSBsaWJzeXN0ZW1fcGxhdGZvcm0u ZHlsaWJgX3BsYXRmb3JtX21lbW1vdmUkVkFSSUFOVCRIYXN3ZWxsICsgNDE8YnI+CiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO2xpYnN5c3RlbV9wbGF0Zm9ybS5keWxpYmBfcGxhdGZvcm1fbWVtbW92 ZSRWQVJJQU5UJEhhc3dlbGw6PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDstJmd0OyAweDdm ZmY1YTk2NGNlOSAmbHQ7KzQxJmd0OzogcmVwIG1vdnNiICglcnNpKSwgJWVzOiglcmRpKTxicj4K Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7MHg3ZmZmNWE5 NjRjZWIgJmx0Oys0MyZndDs6IHBvcHEgJXJicDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7MHg3ZmZmNWE5NjRjZWMgJmx0Oys0NCZndDs6IHJldHE8 YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzB4N2Zm ZjVhOTY0Y2VkICZsdDsrNDUmZ3Q7OiBjbXBxICVyZGksICVyc2k8YnI+CiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO1RhcmdldCAwOiAodGFyYW50b29sKSBzdG9wcGVkLjxicj4KJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7KGxsZGIpIGJ0PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqIHRocmVh ZCAjMiwgbmFtZSA9ICdzbmFwc2hvdCcsIHN0b3AgcmVhc29uID0gRVhDX0JBRF9BQ0NFU1MgKGNv ZGU9MiwgYWRkcmVzcz0weDEwNTQ4MTAwMCk8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyogZnJhbWUgIzA6IDB4MDAwMDdmZmY1YTk2NGNlOSBsaWJzeXN0ZW1fcGxhdGZv cm0uZHlsaWJgX3BsYXRmb3JtX21lbW1vdmUkVkFSSUFOVCRIYXN3ZWxsICsgNDE8YnI+CiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZyYW1lICMxOiAweDAw MDAwMDAxMDAzZjU2YmEgdGFyYW50b29sYG9idWZfZHVwKGJ1Zj0weDAwMDAwMDAxMGYwZmY4YjAs IGRhdGE9MHgwMDAwMDAwMTA1MTU3YWE2LCBzaXplPTg1MDcxMjY0KSBhdCBvYnVmLmM6MTYxOjI8 YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZyYW1l ICMyOiAweDAwMDAwMDAxMDAzNjM0ZTggdGFyYW50b29sYHhsb2dfd3JpdGVfcm93KGxvZz0weDAw MDAwMDAxMGYwZmYyMDgsIHBhY2tldD0weDAwMDAwMDAxMGYwZmYwZDgpIGF0IHhsb2cuYzoxMzIw Ojc8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Zy YW1lICMzOiAweDAwMDAwMDAxMDAwMzhhZWYgdGFyYW50b29sYGNoZWNrcG9pbnRfd3JpdGVfcm93 KGw9MHgwMDAwMDAwMTBmMGZmMjA4LCByb3c9MHgwMDAwMDAwMTBmMGZmMGQ4KSBhdCBtZW10eF9l bmdpbmUuYzo0MzE6MjA8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO2ZyYW1lICM0OiAweDAwMDAwMDAxMDAwMzhhMmUgdGFyYW50b29sYGNoZWNrcG9p bnRfd3JpdGVfdHVwbGUobD0weDAwMDAwMDAxMGYwZmYyMDgsIHNwYWNlX2lkPTMzMCwgZ3JvdXBf aWQ9MCwgZGF0YT0iIiwgc2l6ZT04NTA3MTI2NCkgYXQgbWVtdHhfZW5naW5lLmM6NDU5Ojk8YnI+ CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZyYW1lICM1 OiAweDAwMDAwMDAxMDAwMzg4MTEgdGFyYW50b29sYGNoZWNrcG9pbnRfZihhcD0weDAwMDAwMDAx MGYwMDAyNzgpIGF0IG1lbXR4X2VuZ2luZS5jOjYwMzo4PGJyPgombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmcmFtZSAjNjogMHgwMDAwMDAwMTAwMDA1ZTVh IHRhcmFudG9vbGBmaWJlcl9jeHhfaW52b2tlKGY9KHRhcmFudG9vbGBjaGVja3BvaW50X2YgYXQg bWVtdHhfZW5naW5lLmM6NTc3KSwgYXA9MHgwMDAwMDAwMTBmMDAwMjc4KShfX3ZhX2xpc3RfdGFn KiksIF9fdmFfbGlzdF90YWcqKSBhdCBmaWJlci5oOjc2MjoxMDxicj4KJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZnJhbWUgIzc6IDB4MDAwMDAwMDEwMDE4 MTY4YiB0YXJhbnRvb2xgZmliZXJfbG9vcChkYXRhPTB4MDAwMDAwMDAwMDAwMDAwMCkgYXQgZmli ZXIuYzo4MzA6MTg8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO2ZyYW1lICM4OiAweDAwMDAwMDAxMDA0MTY1ZTcgdGFyYW50b29sYGNvcm9faW5pdCBh dCBjb3JvLmM6MTEwOjM8YnI+Cjxicj4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08YnI+Cjxicj4KU25hcHNob3Rpbmcg bWVhbnMgdGhhdCB5b3UgY2FuJ3Qgc29sdmUgdGhlIGlzc3VlIG9uIHRoZSBmb3JtYXQ8YnI+Cmxl dmVsLCBvciB0dXBsZSBsZXZlbC4gWW91IG5lZWQgdG8gcGF0Y2ggdGhlIGVuZ2luZSBsZXZlbCAo SU1PKS48YnI+Cjxicj4KSG9uZXN0bHksIEkgdGhvdWdodCBhYm91dCB0aGlzIGlzc3VlIGZvciBx dWl0ZSBhIGxvbmcgdGltZSBhbHJlYWR5LDxicj4KYW5kIEkgZG9uJ3QgaGF2ZSBhIHBsYW4gaG93 IHRvIGZpeCBpdC4gQWxsIHdheXMgbG9vayBiYWQuIEFsbCBvZiB0aGVtPGJyPgphc3N1bWUgc3Bl Y2lhbCBwYXRjaGluZyBvZiBfdHJ1bmNhdGUgc3BhY2UgaW5zZXJ0aW9uIGFuZCBjcnV0Y2hlcyBm b3I8YnI+CmRlbGV0aW9uLiBGb3IgbWUgdGhlIG1vc3QgcHJvbWlzaW5nIHdheSB3YXMgdG8gaW50 cm9kdWNlIGFuIGFuYWxvZ3VlPGJyPgpvZiB2eV9xdW90YV9mb3JjZV91c2UoKSBzb21laG93LCBm b3IgX3RydW5jYXRlLCBhbmQgdXNlIGl0IGluIGE8YnI+CmJlZm9yZV9yZXBsYWNlIHRyaWdnZXIg b2YgX3RydW5jYXRlLiBGb3JjZWQgdXNlIG9mIHF1b3RhIHdvdWxkIGFsbG93PGJyPgp0byB0ZW1w b3Jhcnkgb3ZlcmZsb3cgdGhlIG1lbW9yeSBsaW1pdC4gQnV0IGl0IHdvbid0IGZpeCBkZWxldGlv bi48YnI+Ck1heWJlIHRoZSBrZXkgaXMgaW4gaW50cm9kdWN0aW9uIG9mIHF1b3RhIG92ZXJ1c2Ug Zm9yIGRlbGV0aW9ucy4gSTxicj4KZG9uJ3Qga25vdy48YnI+Cjxicj4KUGVyc29uYWxseSwgSSBk b24ndCB0aGluayB0aGUgaXNzdWUgaXMgd29ydGggZml4aW5nIGF0IGFsbC4gSWYgYTxicj4KdXNl ciB3YW50cyB0byBkZWxldGUvdHJ1bmNhdGUsIGhlIGNhbiBpbmNyZWFzZSBtZW10eCBtZW1vcnks IGRvPGJyPgpjbGVhbnVwLCBhbmQgZGVjcmVhc2UgaXQgYmFjay48L2Rpdj4KPC9kaXY+CjwvZGl2 Pgo8L2Rpdj4KPC9kaXY+CjwvYmxvY2txdW90ZT4KPC9kaXY+Cgo8ZGl2PiZuYnNwOwo8ZGl2PiZu YnNwOzwvZGl2PgoKPGRpdiBkYXRhLXNpZ25hdHVyZS13aWRnZXQ9ImNvbnRhaW5lciI+CjxkaXYg ZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij4KPGRpdj4tLTxicj4KSWx5YSBLb3NhcmV2 PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KCjxkaXY+Jm5ic3A7PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9k aXY+CjwvZGl2Pgo8L2Rpdj4KJm5ic3A7Cgo8aHI+CjxkaXY+Jm5ic3A7PC9kaXY+Cgo8ZGl2IGRh dGEtc2lnbmF0dXJlLXdpZGdldD0iY29udGFpbmVyIj4KPGRpdiBkYXRhLXNpZ25hdHVyZS13aWRn ZXQ9ImNvbnRlbnQiPgo8ZGl2Pi0tPGJyPgpJbHlhIEtvc2FyZXY8L2Rpdj4KPC9kaXY+CjwvZGl2 PgoKPGRpdj4mbmJzcDs8L2Rpdj4KPC9kaXY+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cjwvc3R5 bGU+CjwvQk9EWT48L0hUTUw+Cg== ----ALT--437f3Be1dBdF3F2af62E7B244f6D808b1578656704--