From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from f522.i.mail.ru (f522.i.mail.ru [94.100.184.13]) (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 4E69441C5DB for ; Mon, 15 Jun 2020 21:53:20 +0300 (MSK) From: =?UTF-8?B?TWFyaWEgS2hheWRpY2g=?= MIME-Version: 1.0 Date: Mon, 15 Jun 2020 21:53:19 +0300 Reply-To: =?UTF-8?B?TWFyaWEgS2hheWRpY2g=?= Message-ID: <1592247199.948283407@f522.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--eC1d56C28941b65F5Aa4bF2f5066CeA91592247199" Subject: [Tarantool-patches] =?utf-8?q?=5BPATCH=5D_box=3A_make_box=2Efunc?= =?utf-8?q?=2Ecall_consistent_with_netbox=2Ecall?= List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?dGFyYW50b29sLXBhdGNoZXM=?= , =?UTF-8?B?QWxleGFuZGVyIFR1cmVua28=?= ----ALT--eC1d56C28941b65F5Aa4bF2f5066CeA91592247199 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkMgc3RvcmVkIGZ1bmN0aW9uIGFsd2F5cyByZXR1cm5zIGFuIGFycmF5LiBMb2NhbCBjYWxsIGlu dHJvZHVjZWQKd2l0aCBib3guZnVuYyB1c2VkIHRvIGNvbnZlcnQgcmVzdWx0aW5nIGFycmF5IHRv IG11bHRpcmV0dXJuIGluCmNvbnRyYXN0IHRvIG5ldGJveCBjYWxsIHRoYXQgc2VyaWFsaXplcyBp dCB0byBhIHR1cGxlLgpUaGlzIHBhdGNoIG1ha2VzIHJlc3VsdGluZyBiZWhhdmlvciBjb25zaXN0 ZW50IGJ5IG1ha2luZyB0aGUgbG9jYWwKY2FsbCBhbHdheXMgcmV0dXJuIGEgdHVwbGUgYXMgd2Vs bC4KwqAKQ2xvc2VzICM0Nzk5Ci0tLQpJc3N1ZToKaHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9v bC90YXJhbnRvb2wvaXNzdWVzLzQ3OTkgwqAKQnJhbmNoOgpodHRwczovL2dpdGh1Yi5jb20vdGFy YW50b29sL3RhcmFudG9vbC9jb21taXQvNzc0NWJjODNhNDRhMjhjYmJlNWFkNTUzNzhjYWFhMTVi ZDdiYjIxMCDCoArCoArCoHNyYy9ib3gvZnVuYy5jIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgfCDCoDIgKy0KwqBzcmMvYm94L2x1YS9taXNjLmNjIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgMTMgKysrKysrKwrCoHNyYy9ib3gvcG9ydC5j IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfCAyMyArKysrKysr KysrKysKwqBzcmMvYm94L3BvcnQuaCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoHwgwqA0ICsrKwrCoHRlc3QvYm94L2Z1bmN0aW9uMS5yZXN1bHQgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgfCAxNiArKysrLS0tLS0KwqB0ZXN0L2JveC9naC00NjQ4LWZ1bmMt bG9hZC11bmxvYWQucmVzdWx0IMKgIMKgfCDCoDIgKysKwqB0ZXN0L2JveC9naC00Nzk5LWMtc3Rv cmVkLWZ1bmN0aW9uLnJlc3VsdCDCoCB8IDQwICsrKysrKysrKysrKysrKysrKysrKwrCoHRlc3Qv Ym94L2doLTQ3OTktYy1zdG9yZWQtZnVuY3Rpb24udGVzdC5sdWEgfCAxOCArKysrKysrKysrCsKg OCBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKwqBjcmVh dGUgbW9kZSAxMDA2NDQgdGVzdC9ib3gvZ2gtNDc5OS1jLXN0b3JlZC1mdW5jdGlvbi5yZXN1bHQK wqBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9ib3gvZ2gtNDc5OS1jLXN0b3JlZC1mdW5jdGlvbi50 ZXN0Lmx1YQpkaWZmIC0tZ2l0IGEvc3JjL2JveC9mdW5jLmMgYi9zcmMvYm94L2Z1bmMuYwppbmRl eCA4MDg3Yzk1M2YuLmJlMDJjNGI0ZCAxMDA2NDQKLS0tIGEvc3JjL2JveC9mdW5jLmMKKysrIGIv c3JjL2JveC9mdW5jLmMKQEAgLTU2Nyw3ICs1NjcsNyBAQCBmdW5jX2NfY2FsbChzdHJ1Y3QgZnVu YyAqYmFzZSwgc3RydWN0IHBvcnQgKmFyZ3MsIHN0cnVjdCBwb3J0ICpyZXQpCsKgwqDCoCDCoGlm IChkYXRhID09IE5VTEwpCsKgwqDCoCDCoMKgwqAgwqByZXR1cm4gLTE7CsKgCi3CoMKgIMKgcG9y dF9jX2NyZWF0ZShyZXQpOworwqDCoCDCoHBvcnRfY19ub3RfZmxhdF9jcmVhdGUocmV0KTsKwqDC oMKgIMKgYm94X2Z1bmN0aW9uX2N0eF90IGN0eCA9IHsgcmV0IH07CsKgCsKgwqDCoCDCoC8qIE1v ZHVsZSBjYW4gYmUgY2hhbmdlZCBhZnRlciBmdW5jdGlvbiByZWxvYWQuICovCmRpZmYgLS1naXQg YS9zcmMvYm94L2x1YS9taXNjLmNjIGIvc3JjL2JveC9sdWEvbWlzYy5jYwppbmRleCA1ZGE4NGIz NWEuLjE2YzBlM2FiOSAxMDA2NDQKLS0tIGEvc3JjL2JveC9sdWEvbWlzYy5jYworKysgYi9zcmMv Ym94L2x1YS9taXNjLmNjCkBAIC04MCw2ICs4MCwxOSBAQCBwb3J0X2NfZHVtcF9sdWEoc3RydWN0 IHBvcnQgKmJhc2UsIHN0cnVjdCBsdWFfU3RhdGUgKkwsIGJvb2wgaXNfZmxhdCkKwqDCoMKgIMKg fQrCoH0KwqAKKy8qKgorICogVGhpcmQgcGFyYW1ldGVyIChpc19mbGF0KSBzaG91bGQgYWx3YXlz IGJlIGNvbnNpZGVyZWQKKyAqIGZhbHNlIGJlY2F1c2UgdGhlcmUgaXMgbm8gd2F5IHRvIGRldGVj dCB3aGV0aGVyIGR1bXBlZAorICogcmVzdWx0IGlzIHR1cGxlIG9yIG11bHRpcmV0dXJuLiBUaGF0 IGVuc3VyZXMgYmVoYXZpb3IKKyAqIHRoYXQgaXMgY29uc2lzdGVudCB3aXRoIG1zZ3BhY2tfZHVt cCB3aGljaCBlbmNvZGVzCisgKiByZXR1cm5lZCB0dXBsZSBhcyBhbiBhcnJheS4KKyAqLworZXh0 ZXJuICJDIiB2b2lkCitwb3J0X2NfZHVtcF9sdWFfbm90X2ZsYXQoc3RydWN0IHBvcnQgKmJhc2Us IHN0cnVjdCBsdWFfU3RhdGUgKkwsIGJvb2wpCit7CivCoMKgIMKgcG9ydF9jX2R1bXBfbHVhKGJh c2UsIEwsIGZhbHNlKTsKK30KKwrCoGV4dGVybiAiQyIgdm9pZArCoHBvcnRfbXNncGFja19kdW1w X2x1YShzdHJ1Y3QgcG9ydCAqYmFzZSwgc3RydWN0IGx1YV9TdGF0ZSAqTCwgYm9vbCBpc19mbGF0 KQrCoHsKZGlmZiAtLWdpdCBhL3NyYy9ib3gvcG9ydC5jIGIvc3JjL2JveC9wb3J0LmMKaW5kZXgg ZTllMWJkYTdhLi44NDUwNjFmMjkgMTAwNjQ0Ci0tLSBhL3NyYy9ib3gvcG9ydC5jCisrKyBiL3Ny Yy9ib3gvcG9ydC5jCkBAIC0yMDMsNiArMjAzLDkgQEAgcG9ydF9jX2R1bXBfbXNncGFjayhzdHJ1 Y3QgcG9ydCAqYmFzZSwgc3RydWN0IG9idWYgKm91dCkKwqBleHRlcm4gdm9pZArCoHBvcnRfY19k dW1wX2x1YShzdHJ1Y3QgcG9ydCAqcG9ydCwgc3RydWN0IGx1YV9TdGF0ZSAqTCwgYm9vbCBpc19m bGF0KTsKwqAKK2V4dGVybiB2b2lkCitwb3J0X2NfZHVtcF9sdWFfbm90X2ZsYXQoc3RydWN0IHBv cnQgKnBvcnQsIHN0cnVjdCBsdWFfU3RhdGUgKkwsIGJvb2wgaXNfZmxhdCk7CisKwqBleHRlcm4g c3RydWN0IHNxbF92YWx1ZSAqCsKgcG9ydF9jX2dldF92ZGJlbWVtKHN0cnVjdCBwb3J0ICpiYXNl LCB1aW50MzJfdCAqc2l6ZSk7CsKgCkBAIC0yMTYsNiArMjE5LDI2IEBAIGNvbnN0IHN0cnVjdCBw b3J0X3Z0YWIgcG9ydF9jX3Z0YWIgPSB7CsKgwqDCoCDCoC5kZXN0cm95ID0gcG9ydF9jX2Rlc3Ry b3ksCsKgfTsKwqAKK2NvbnN0IHN0cnVjdCBwb3J0X3Z0YWIgcG9ydF9jX25vdF9mbGF0X3Z0YWIg PSB7CivCoMKgIMKgLmR1bXBfbXNncGFjayA9IHBvcnRfY19kdW1wX21zZ3BhY2ssCivCoMKgIMKg LmR1bXBfbXNncGFja18xNiA9IHBvcnRfY19kdW1wX21zZ3BhY2tfMTYsCivCoMKgIMKgLmR1bXBf bHVhID0gcG9ydF9jX2R1bXBfbHVhX25vdF9mbGF0LAorwqDCoCDCoC5kdW1wX3BsYWluID0gTlVM TCwKK8KgwqAgwqAuZ2V0X21zZ3BhY2sgPSBOVUxMLAorwqDCoCDCoC5nZXRfdmRiZW1lbSA9IHBv cnRfY19nZXRfdmRiZW1lbSwKK8KgwqAgwqAuZGVzdHJveSA9IHBvcnRfY19kZXN0cm95LAorfTsK Kwordm9pZAorcG9ydF9jX25vdF9mbGF0X2NyZWF0ZShzdHJ1Y3QgcG9ydCAqYmFzZSkKK3sKK8Kg wqAgwqBzdHJ1Y3QgcG9ydF9jICpwb3J0ID0gKHN0cnVjdCBwb3J0X2MgKiliYXNlOworwqDCoCDC oHBvcnQtPnZ0YWIgPSAmcG9ydF9jX25vdF9mbGF0X3Z0YWI7CivCoMKgIMKgcG9ydC0+Zmlyc3Qg PSBOVUxMOworwqDCoCDCoHBvcnQtPmxhc3QgPSBOVUxMOworwqDCoCDCoHBvcnQtPnNpemUgPSAw OworfQorCsKgdm9pZArCoHBvcnRfY19jcmVhdGUoc3RydWN0IHBvcnQgKmJhc2UpCsKgewpkaWZm IC0tZ2l0IGEvc3JjL2JveC9wb3J0LmggYi9zcmMvYm94L3BvcnQuaAppbmRleCA0M2QwZjlkZWIu Ljk4NzM3NDJiNSAxMDA2NDQKLS0tIGEvc3JjL2JveC9wb3J0LmgKKysrIGIvc3JjL2JveC9wb3J0 LmgKQEAgLTE0MCw2ICsxNDAsMTAgQEAgc3RhdGljX2Fzc2VydChzaXplb2Yoc3RydWN0IHBvcnRf YykgPD0gc2l6ZW9mKHN0cnVjdCBwb3J0KSwKwqB2b2lkCsKgcG9ydF9jX2NyZWF0ZShzdHJ1Y3Qg cG9ydCAqYmFzZSk7CsKgCisvKiogQ3JlYXRlIGEgQyBwb3J0IG9iamVjdC4gKGFsd2F5cyBub3Qg ZmxhdCkgKi8KK3ZvaWQKK3BvcnRfY19ub3RfZmxhdF9jcmVhdGUoc3RydWN0IHBvcnQgKmJhc2Up OworCsKgLyoqIEFwcGVuZCBhIHR1cGxlIHRvIHRoZSBwb3J0LiBUdXBsZSBpcyByZWZlcmVuY2Vk LiAqLwrCoGludArCoHBvcnRfY19hZGRfdHVwbGUoc3RydWN0IHBvcnQgKnBvcnQsIHN0cnVjdCB0 dXBsZSAqdHVwbGUpOwpkaWZmIC0tZ2l0IGEvdGVzdC9ib3gvZnVuY3Rpb24xLnJlc3VsdCBiL3Rl c3QvYm94L2Z1bmN0aW9uMS5yZXN1bHQKaW5kZXggOTA1YTRjZGFiLi5hOGUzM2U2MDEgMTAwNjQ0 Ci0tLSBhL3Rlc3QvYm94L2Z1bmN0aW9uMS5yZXN1bHQKKysrIGIvdGVzdC9ib3gvZnVuY3Rpb24x LnJlc3VsdApAQCAtMTE0LDcgKzExNCw3IEBAIGJveC5mdW5jWyJmdW5jdGlvbjEuYXJncyJdOmNh bGwoeyAieHgiIH0pCsKgLi4uCsKgYm94LmZ1bmNbImZ1bmN0aW9uMS5hcmdzIl06Y2FsbCh7IDE1 IH0pCsKgLS0tCi0tIFsxNSwgJ2hlbGxvJ10KKy0gLSBbMTUsICdoZWxsbyddCsKgLi4uCsKgYm94 LnNjaGVtYS5mdW5jLmRyb3AoImZ1bmN0aW9uMS5hcmdzIikKwqAtLS0KQEAgLTY0NSwxMSArNjQ1 LDExIEBAIGZ1bmM6Y2FsbCh7NH0pCsKgLi4uCsKgZnVuYzpjYWxsKHs0LCAyfSkKwqAtLS0KLS0g WzJdCistIC0gWzJdCsKgLi4uCsKgZnVuYzpjYWxsKHs0LCAyLCAxfSkKwqAtLS0KLS0gWzJdCist IC0gWzJdCsKgLi4uCsKgZnVuYzpkcm9wKCkKwqAtLS0KQEAgLTgwMiwxMSArODAyLDExIEBAIGJv eC5zY2hlbWEuZnVuYy5jcmVhdGUobmFtZSwge2xhbmd1YWdlID0gIkMiLCBleHBvcnRzID0geydM VUEnfX0pCsKgLi4uCsKgYm94LmZ1bmNbbmFtZV06Y2FsbCgpCsKgLS0tCi0tIDEKLS0gLTEKLS0g MTg0NDY3NDQwNzM3MDk1NTE2MTUKLS0gJzEyMzQ1Njc4OTEwMTExMjEzMTQxNScKLS0gWzJdCist IC0gMQorIMKgLSAtMQorIMKgLSAxODQ0Njc0NDA3MzcwOTU1MTYxNQorIMKgLSAnMTIzNDU2Nzg5 MTAxMTEyMTMxNDE1JworIMKgLSBbMl0KwqAuLi4KwqBib3guc2NoZW1hLnVzZXIuZ3JhbnQoJ2d1 ZXN0JywgJ3N1cGVyJykKwqAtLS0KZGlmZiAtLWdpdCBhL3Rlc3QvYm94L2doLTQ2NDgtZnVuYy1s b2FkLXVubG9hZC5yZXN1bHQgYi90ZXN0L2JveC9naC00NjQ4LWZ1bmMtbG9hZC11bmxvYWQucmVz dWx0CmluZGV4IGU2OTVkZDM2NS4uM2ZhN2ViOWRjIDEwMDY0NAotLS0gYS90ZXN0L2JveC9naC00 NjQ4LWZ1bmMtbG9hZC11bmxvYWQucmVzdWx0CisrKyBiL3Rlc3QvYm94L2doLTQ2NDgtZnVuYy1s b2FkLXVubG9hZC5yZXN1bHQKQEAgLTU5LDYgKzU5LDcgQEAgY2hlY2tfbW9kdWxlX2NvdW50X2Rp ZmYoMCkKwqAgfCAuLi4KwqBib3guZnVuYy5mdW5jdGlvbjE6Y2FsbCgpCsKgIHwgLS0tCisgfCAt IFtdCsKgIHwgLi4uCsKgY2hlY2tfbW9kdWxlX2NvdW50X2RpZmYoMSkKwqAgfCAtLS0KQEAgLTEw MCw2ICsxMDEsNyBAQCBlbmQpCsKgIHwgLi4uCsKgYm94LmZ1bmMuZnVuY3Rpb24xOmNhbGwoKQrC oCB8IC0tLQorIHwgLSBbXQrCoCB8IC4uLgrCoGNoZWNrX21vZHVsZV9jb3VudF9kaWZmKDEpCsKg IHwgLS0tCmRpZmYgLS1naXQgYS90ZXN0L2JveC9naC00Nzk5LWMtc3RvcmVkLWZ1bmN0aW9uLnJl c3VsdCBiL3Rlc3QvYm94L2doLTQ3OTktYy1zdG9yZWQtZnVuY3Rpb24ucmVzdWx0Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYjZkZjNkMTdhCi0tLSAvZGV2L251bGwKKysr IGIvdGVzdC9ib3gvZ2gtNDc5OS1jLXN0b3JlZC1mdW5jdGlvbi5yZXN1bHQKQEAgLTAsMCArMSw0 MCBAQAorLS0gdGVzdC1ydW4gcmVzdWx0IGZpbGUgdmVyc2lvbiAyCistLQorLS0gZ2gtNDc5OTog QyBzdG9yZWQgZnVuY3Rpb24ncyBvdXRwdXQgdXNlZCB0byBiZSBpbmNvbnNpc3RlbnQ6CistLSBt dWx0aXJldHVybiBpZiBjYWxsZWQgbG9jYWxseSwgYSB0dXBsZSBpZiBjYWxsZWQgdmlhIG5ldGJv eC4KKy0tIFRoZSBsYXR0ZXIgd2FzIGNob3NlbiBhcyBwcmVmZXJyZWQgYmVoYXZpb3IgYmVjYXVz ZSBpdCBleGlzdGVkCistLSBsb25nIGJlZm9yZSBsb2NhbCBjYWxsIHdhcyBpbnRyb2R1Y2VkIGlu IGJveC5mdW5jLgorLS0KK2J1aWxkX3BhdGggPSBvcy5nZXRlbnYoIkJVSUxERElSIikKKyB8IC0t LQorIHwgLi4uCitwYWNrYWdlLmNwYXRoID0gYnVpbGRfcGF0aC4uJy90ZXN0L2JveC8/LnNvOycu LmJ1aWxkX3BhdGguLicvdGVzdC9ib3gvPy5keWxpYjsnLi5wYWNrYWdlLmNwYXRoCisgfCAtLS0K KyB8IC4uLgorYm94LnNjaGVtYS5mdW5jLmNyZWF0ZSgnZnVuY3Rpb24xLm11bHRpcmV0dXJuJywg e2xhbmd1YWdlID0gIkMiLCBleHBvcnRzID0geydMVUEnfX0pCisgfCAtLS0KKyB8IC4uLgorYm94 LnNjaGVtYS51c2VyLmdyYW50KCdndWVzdCcsICdzdXBlcicpCisgfCAtLS0KKyB8IC4uLgorYyA9 IHJlcXVpcmUoJ25ldC5ib3gnKS5jb25uZWN0KGJveC5jZmcubGlzdGVuKQorIHwgLS0tCisgfCAu Li4KKworLS0gQm90aCBjYWxscyBzaG91bGQgcmV0dXJuIGEgdHVwbGUgbm93LgorYzpjYWxsKCdm dW5jdGlvbjEubXVsdGlyZXR1cm4nKQorIHwgLS0tCisgfCAtIFtbMV0sIFsxXV0KKyB8IC4uLgor Ym94LmZ1bmNbJ2Z1bmN0aW9uMS5tdWx0aXJldHVybiddOmNhbGwoKQorIHwgLS0tCisgfCAtIC0g WzFdCisgfCDCoCAtIFsxXQorIHwgLi4uCisKK2JveC5zY2hlbWEudXNlci5yZXZva2UoJ2d1ZXN0 JywgJ3N1cGVyJykKKyB8IC0tLQorIHwgLi4uCitib3guc2NoZW1hLmZ1bmMuZHJvcCgnZnVuY3Rp b24xLm11bHRpcmV0dXJuJykKKyB8IC0tLQorIHwgLi4uCmRpZmYgLS1naXQgYS90ZXN0L2JveC9n aC00Nzk5LWMtc3RvcmVkLWZ1bmN0aW9uLnRlc3QubHVhIGIvdGVzdC9ib3gvZ2gtNDc5OS1jLXN0 b3JlZC1mdW5jdGlvbi50ZXN0Lmx1YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLmQwYjNiOTQyZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvYm94L2doLTQ3OTktYy1zdG9y ZWQtZnVuY3Rpb24udGVzdC5sdWEKQEAgLTAsMCArMSwxOCBAQAorLS0KKy0tIGdoLTQ3OTk6IEMg c3RvcmVkIGZ1bmN0aW9uJ3Mgb3V0cHV0IHVzZWQgdG8gYmUgaW5jb25zaXN0ZW50OgorLS0gbXVs dGlyZXR1cm4gaWYgY2FsbGVkIGxvY2FsbHksIGEgdHVwbGUgaWYgY2FsbGVkIHZpYSBuZXRib3gu CistLSBUaGUgbGF0dGVyIHdhcyBjaG9zZW4gYXMgcHJlZmVycmVkIGJlaGF2aW9yIGJlY2F1c2Ug aXQgZXhpc3RlZAorLS0gbG9uZyBiZWZvcmUgbG9jYWwgY2FsbCB3YXMgaW50cm9kdWNlZCBpbiBi b3guZnVuYy4KKy0tCitidWlsZF9wYXRoID0gb3MuZ2V0ZW52KCJCVUlMRERJUiIpCitwYWNrYWdl LmNwYXRoID0gYnVpbGRfcGF0aC4uJy90ZXN0L2JveC8/LnNvOycuLmJ1aWxkX3BhdGguLicvdGVz dC9ib3gvPy5keWxpYjsnLi5wYWNrYWdlLmNwYXRoCitib3guc2NoZW1hLmZ1bmMuY3JlYXRlKCdm dW5jdGlvbjEubXVsdGlyZXR1cm4nLCB7bGFuZ3VhZ2UgPSAiQyIsIGV4cG9ydHMgPSB7J0xVQSd9 fSkKK2JveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAnc3VwZXInKQorYyA9IHJlcXVpcmUo J25ldC5ib3gnKS5jb25uZWN0KGJveC5jZmcubGlzdGVuKQorCistLSBCb3RoIGNhbGxzIHNob3Vs ZCByZXR1cm4gYSB0dXBsZSBub3cuCitjOmNhbGwoJ2Z1bmN0aW9uMS5tdWx0aXJldHVybicpCiti b3guZnVuY1snZnVuY3Rpb24xLm11bHRpcmV0dXJuJ106Y2FsbCgpCisKK2JveC5zY2hlbWEudXNl ci5yZXZva2UoJ2d1ZXN0JywgJ3N1cGVyJykKK2JveC5zY2hlbWEuZnVuYy5kcm9wKCdmdW5jdGlv bjEubXVsdGlyZXR1cm4nKQotLcKgCjIuMjQuMArCoArCoAotLQpNYXJpYSBLaGF5ZGljaA== ----ALT--eC1d56C28941b65F5Aa4bF2f5066CeA91592247199 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+PGRpdj5DIHN0b3JlZCBmdW5jdGlvbiBhbHdheXMgcmV0dXJucyBh biBhcnJheS4gTG9jYWwgY2FsbCBpbnRyb2R1Y2VkPGJyPndpdGggYm94LmZ1bmMgdXNlZCB0byBj b252ZXJ0IHJlc3VsdGluZyBhcnJheSB0byBtdWx0aXJldHVybiBpbjxicj5jb250cmFzdCB0byBu ZXRib3ggY2FsbCB0aGF0IHNlcmlhbGl6ZXMgaXQgdG8gYSB0dXBsZS48YnI+VGhpcyBwYXRjaCBt YWtlcyByZXN1bHRpbmcgYmVoYXZpb3IgY29uc2lzdGVudCBieSBtYWtpbmcgdGhlIGxvY2FsPGJy PmNhbGwgYWx3YXlzIHJldHVybiBhIHR1cGxlIGFzIHdlbGwuPC9kaXY+PGRpdj4mbmJzcDs8L2Rp dj48ZGl2PkNsb3NlcyAjNDc5OTxicj4tLS08YnI+SXNzdWU6PGJyPjxhIGhyZWY9Imh0dHBzOi8v Z2l0aHViLmNvbS90YXJhbnRvb2wvdGFyYW50b29sL2lzc3Vlcy80Nzk5Ij5odHRwczovL2dpdGh1 Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9pc3N1ZXMvNDc5OTwvYT4mbmJzcDs8YnI+QnJhbmNo Ojxicj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9jb21t aXQvNzc0NWJjODNhNDRhMjhjYmJlNWFkNTUzNzhjYWFhMTViZDdiYjIxMCI+aHR0cHM6Ly9naXRo dWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvY29tbWl0Lzc3NDViYzgzYTQ0YTI4Y2JiZTVhZDU1 Mzc4Y2FhYTE1YmQ3YmIyMTA8L2E+Jm5ic3A7PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PiZu YnNwO3NyYy9ib3gvZnVuYy5jICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7fCAmbmJzcDsyICstPGJyPiZuYnNwO3NyYy9ib3gvbHVhL21pc2MuY2MgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgfCAxMyArKysrKysrPGJyPiZuYnNwO3NyYy9ib3gvcG9ydC5j ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fCAyMyArKysr KysrKysrKys8YnI+Jm5ic3A7c3JjL2JveC9wb3J0LmggJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt8ICZuYnNwOzQgKysrPGJyPiZuYnNwO3Rlc3QvYm94L2Z1 bmN0aW9uMS5yZXN1bHQgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgfCAxNiArKysrLS0tLS08YnI+Jm5ic3A7dGVzdC9ib3gvZ2gt NDY0OC1mdW5jLWxvYWQtdW5sb2FkLnJlc3VsdCAmbmJzcDsgJm5ic3A7fCAmbmJzcDsyICsrPGJy PiZuYnNwO3Rlc3QvYm94L2doLTQ3OTktYy1zdG9yZWQtZnVuY3Rpb24ucmVzdWx0ICZuYnNwOyB8 IDQwICsrKysrKysrKysrKysrKysrKysrKzxicj4mbmJzcDt0ZXN0L2JveC9naC00Nzk5LWMtc3Rv cmVkLWZ1bmN0aW9uLnRlc3QubHVhIHwgMTggKysrKysrKysrKzxicj4mbmJzcDs4IGZpbGVzIGNo YW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKTxicj4mbmJzcDtjcmVhdGUg bW9kZSAxMDA2NDQgdGVzdC9ib3gvZ2gtNDc5OS1jLXN0b3JlZC1mdW5jdGlvbi5yZXN1bHQ8YnI+ Jm5ic3A7Y3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvYm94L2doLTQ3OTktYy1zdG9yZWQtZnVuY3Rp b24udGVzdC5sdWE8L2Rpdj48ZGl2PmRpZmYgLS1naXQgYS9zcmMvYm94L2Z1bmMuYyBiL3NyYy9i b3gvZnVuYy5jPGJyPmluZGV4IDgwODdjOTUzZi4uYmUwMmM0YjRkIDEwMDY0NDxicj4tLS0gYS9z cmMvYm94L2Z1bmMuYzxicj4rKysgYi9zcmMvYm94L2Z1bmMuYzxicj5AQCAtNTY3LDcgKzU2Nyw3 IEBAIGZ1bmNfY19jYWxsKHN0cnVjdCBmdW5jICpiYXNlLCBzdHJ1Y3QgcG9ydCAqYXJncywgc3Ry dWN0IHBvcnQgKnJldCk8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO2lmIChkYXRhID09IE5V TEwpPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7cmV0dXJu IC0xOzxicj4mbmJzcDs8YnI+LSZuYnNwOyZuYnNwOyAmbmJzcDtwb3J0X2NfY3JlYXRlKHJldCk7 PGJyPismbmJzcDsmbmJzcDsgJm5ic3A7cG9ydF9jX25vdF9mbGF0X2NyZWF0ZShyZXQpOzxicj4m bmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Ym94X2Z1bmN0aW9uX2N0eF90IGN0eCA9IHsgcmV0IH07 PGJyPiZuYnNwOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7LyogTW9kdWxlIGNhbiBiZSBj aGFuZ2VkIGFmdGVyIGZ1bmN0aW9uIHJlbG9hZC4gKi88YnI+ZGlmZiAtLWdpdCBhL3NyYy9ib3gv bHVhL21pc2MuY2MgYi9zcmMvYm94L2x1YS9taXNjLmNjPGJyPmluZGV4IDVkYTg0YjM1YS4uMTZj MGUzYWI5IDEwMDY0NDxicj4tLS0gYS9zcmMvYm94L2x1YS9taXNjLmNjPGJyPisrKyBiL3NyYy9i b3gvbHVhL21pc2MuY2M8YnI+QEAgLTgwLDYgKzgwLDE5IEBAIHBvcnRfY19kdW1wX2x1YShzdHJ1 Y3QgcG9ydCAqYmFzZSwgc3RydWN0IGx1YV9TdGF0ZSAqTCwgYm9vbCBpc19mbGF0KTxicj4mbmJz cDsmbmJzcDsmbmJzcDsgJm5ic3A7fTxicj4mbmJzcDt9PGJyPiZuYnNwOzxicj4rLyoqPGJyPisg KiBUaGlyZCBwYXJhbWV0ZXIgKGlzX2ZsYXQpIHNob3VsZCBhbHdheXMgYmUgY29uc2lkZXJlZDxi cj4rICogZmFsc2UgYmVjYXVzZSB0aGVyZSBpcyBubyB3YXkgdG8gZGV0ZWN0IHdoZXRoZXIgZHVt cGVkPGJyPisgKiByZXN1bHQgaXMgdHVwbGUgb3IgbXVsdGlyZXR1cm4uIFRoYXQgZW5zdXJlcyBi ZWhhdmlvcjxicj4rICogdGhhdCBpcyBjb25zaXN0ZW50IHdpdGggbXNncGFja19kdW1wIHdoaWNo IGVuY29kZXM8YnI+KyAqIHJldHVybmVkIHR1cGxlIGFzIGFuIGFycmF5Ljxicj4rICovPGJyPitl eHRlcm4gIkMiIHZvaWQ8YnI+K3BvcnRfY19kdW1wX2x1YV9ub3RfZmxhdChzdHJ1Y3QgcG9ydCAq YmFzZSwgc3RydWN0IGx1YV9TdGF0ZSAqTCwgYm9vbCk8YnI+K3s8YnI+KyZuYnNwOyZuYnNwOyAm bmJzcDtwb3J0X2NfZHVtcF9sdWEoYmFzZSwgTCwgZmFsc2UpOzxicj4rfTxicj4rPGJyPiZuYnNw O2V4dGVybiAiQyIgdm9pZDxicj4mbmJzcDtwb3J0X21zZ3BhY2tfZHVtcF9sdWEoc3RydWN0IHBv cnQgKmJhc2UsIHN0cnVjdCBsdWFfU3RhdGUgKkwsIGJvb2wgaXNfZmxhdCk8YnI+Jm5ic3A7ezxi cj5kaWZmIC0tZ2l0IGEvc3JjL2JveC9wb3J0LmMgYi9zcmMvYm94L3BvcnQuYzxicj5pbmRleCBl OWUxYmRhN2EuLjg0NTA2MWYyOSAxMDA2NDQ8YnI+LS0tIGEvc3JjL2JveC9wb3J0LmM8YnI+Kysr IGIvc3JjL2JveC9wb3J0LmM8YnI+QEAgLTIwMyw2ICsyMDMsOSBAQCBwb3J0X2NfZHVtcF9tc2dw YWNrKHN0cnVjdCBwb3J0ICpiYXNlLCBzdHJ1Y3Qgb2J1ZiAqb3V0KTxicj4mbmJzcDtleHRlcm4g dm9pZDxicj4mbmJzcDtwb3J0X2NfZHVtcF9sdWEoc3RydWN0IHBvcnQgKnBvcnQsIHN0cnVjdCBs dWFfU3RhdGUgKkwsIGJvb2wgaXNfZmxhdCk7PGJyPiZuYnNwOzxicj4rZXh0ZXJuIHZvaWQ8YnI+ K3BvcnRfY19kdW1wX2x1YV9ub3RfZmxhdChzdHJ1Y3QgcG9ydCAqcG9ydCwgc3RydWN0IGx1YV9T dGF0ZSAqTCwgYm9vbCBpc19mbGF0KTs8YnI+Kzxicj4mbmJzcDtleHRlcm4gc3RydWN0IHNxbF92 YWx1ZSAqPGJyPiZuYnNwO3BvcnRfY19nZXRfdmRiZW1lbShzdHJ1Y3QgcG9ydCAqYmFzZSwgdWlu dDMyX3QgKnNpemUpOzxicj4mbmJzcDs8YnI+QEAgLTIxNiw2ICsyMTksMjYgQEAgY29uc3Qgc3Ry dWN0IHBvcnRfdnRhYiBwb3J0X2NfdnRhYiA9IHs8YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNw Oy5kZXN0cm95ID0gcG9ydF9jX2Rlc3Ryb3ksPGJyPiZuYnNwO307PGJyPiZuYnNwOzxicj4rY29u c3Qgc3RydWN0IHBvcnRfdnRhYiBwb3J0X2Nfbm90X2ZsYXRfdnRhYiA9IHs8YnI+KyZuYnNwOyZu YnNwOyAmbmJzcDsuZHVtcF9tc2dwYWNrID0gcG9ydF9jX2R1bXBfbXNncGFjayw8YnI+KyZuYnNw OyZuYnNwOyAmbmJzcDsuZHVtcF9tc2dwYWNrXzE2ID0gcG9ydF9jX2R1bXBfbXNncGFja18xNiw8 YnI+KyZuYnNwOyZuYnNwOyAmbmJzcDsuZHVtcF9sdWEgPSBwb3J0X2NfZHVtcF9sdWFfbm90X2Zs YXQsPGJyPismbmJzcDsmbmJzcDsgJm5ic3A7LmR1bXBfcGxhaW4gPSBOVUxMLDxicj4rJm5ic3A7 Jm5ic3A7ICZuYnNwOy5nZXRfbXNncGFjayA9IE5VTEwsPGJyPismbmJzcDsmbmJzcDsgJm5ic3A7 LmdldF92ZGJlbWVtID0gcG9ydF9jX2dldF92ZGJlbWVtLDxicj4rJm5ic3A7Jm5ic3A7ICZuYnNw Oy5kZXN0cm95ID0gcG9ydF9jX2Rlc3Ryb3ksPGJyPit9Ozxicj4rPGJyPit2b2lkPGJyPitwb3J0 X2Nfbm90X2ZsYXRfY3JlYXRlKHN0cnVjdCBwb3J0ICpiYXNlKTxicj4rezxicj4rJm5ic3A7Jm5i c3A7ICZuYnNwO3N0cnVjdCBwb3J0X2MgKnBvcnQgPSAoc3RydWN0IHBvcnRfYyAqKWJhc2U7PGJy PismbmJzcDsmbmJzcDsgJm5ic3A7cG9ydC0mZ3Q7dnRhYiA9ICZhbXA7cG9ydF9jX25vdF9mbGF0 X3Z0YWI7PGJyPismbmJzcDsmbmJzcDsgJm5ic3A7cG9ydC0mZ3Q7Zmlyc3QgPSBOVUxMOzxicj4r Jm5ic3A7Jm5ic3A7ICZuYnNwO3BvcnQtJmd0O2xhc3QgPSBOVUxMOzxicj4rJm5ic3A7Jm5ic3A7 ICZuYnNwO3BvcnQtJmd0O3NpemUgPSAwOzxicj4rfTxicj4rPGJyPiZuYnNwO3ZvaWQ8YnI+Jm5i c3A7cG9ydF9jX2NyZWF0ZShzdHJ1Y3QgcG9ydCAqYmFzZSk8YnI+Jm5ic3A7ezxicj5kaWZmIC0t Z2l0IGEvc3JjL2JveC9wb3J0LmggYi9zcmMvYm94L3BvcnQuaDxicj5pbmRleCA0M2QwZjlkZWIu Ljk4NzM3NDJiNSAxMDA2NDQ8YnI+LS0tIGEvc3JjL2JveC9wb3J0Lmg8YnI+KysrIGIvc3JjL2Jv eC9wb3J0Lmg8YnI+QEAgLTE0MCw2ICsxNDAsMTAgQEAgc3RhdGljX2Fzc2VydChzaXplb2Yoc3Ry dWN0IHBvcnRfYykgJmx0Oz0gc2l6ZW9mKHN0cnVjdCBwb3J0KSw8YnI+Jm5ic3A7dm9pZDxicj4m bmJzcDtwb3J0X2NfY3JlYXRlKHN0cnVjdCBwb3J0ICpiYXNlKTs8YnI+Jm5ic3A7PGJyPisvKiog Q3JlYXRlIGEgQyBwb3J0IG9iamVjdC4gKGFsd2F5cyBub3QgZmxhdCkgKi88YnI+K3ZvaWQ8YnI+ K3BvcnRfY19ub3RfZmxhdF9jcmVhdGUoc3RydWN0IHBvcnQgKmJhc2UpOzxicj4rPGJyPiZuYnNw Oy8qKiBBcHBlbmQgYSB0dXBsZSB0byB0aGUgcG9ydC4gVHVwbGUgaXMgcmVmZXJlbmNlZC4gKi88 YnI+Jm5ic3A7aW50PGJyPiZuYnNwO3BvcnRfY19hZGRfdHVwbGUoc3RydWN0IHBvcnQgKnBvcnQs IHN0cnVjdCB0dXBsZSAqdHVwbGUpOzxicj5kaWZmIC0tZ2l0IGEvdGVzdC9ib3gvZnVuY3Rpb24x LnJlc3VsdCBiL3Rlc3QvYm94L2Z1bmN0aW9uMS5yZXN1bHQ8YnI+aW5kZXggOTA1YTRjZGFiLi5h OGUzM2U2MDEgMTAwNjQ0PGJyPi0tLSBhL3Rlc3QvYm94L2Z1bmN0aW9uMS5yZXN1bHQ8YnI+Kysr IGIvdGVzdC9ib3gvZnVuY3Rpb24xLnJlc3VsdDxicj5AQCAtMTE0LDcgKzExNCw3IEBAIGJveC5m dW5jWyJmdW5jdGlvbjEuYXJncyJdOmNhbGwoeyAieHgiIH0pPGJyPiZuYnNwOy4uLjxicj4mbmJz cDtib3guZnVuY1siZnVuY3Rpb24xLmFyZ3MiXTpjYWxsKHsgMTUgfSk8YnI+Jm5ic3A7LS0tPGJy Pi0tIFsxNSwgJ2hlbGxvJ108YnI+Ky0gLSBbMTUsICdoZWxsbyddPGJyPiZuYnNwOy4uLjxicj4m bmJzcDtib3guc2NoZW1hLmZ1bmMuZHJvcCgiZnVuY3Rpb24xLmFyZ3MiKTxicj4mbmJzcDstLS08 YnI+QEAgLTY0NSwxMSArNjQ1LDExIEBAIGZ1bmM6Y2FsbCh7NH0pPGJyPiZuYnNwOy4uLjxicj4m bmJzcDtmdW5jOmNhbGwoezQsIDJ9KTxicj4mbmJzcDstLS08YnI+LS0gWzJdPGJyPistIC0gWzJd PGJyPiZuYnNwOy4uLjxicj4mbmJzcDtmdW5jOmNhbGwoezQsIDIsIDF9KTxicj4mbmJzcDstLS08 YnI+LS0gWzJdPGJyPistIC0gWzJdPGJyPiZuYnNwOy4uLjxicj4mbmJzcDtmdW5jOmRyb3AoKTxi cj4mbmJzcDstLS08YnI+QEAgLTgwMiwxMSArODAyLDExIEBAIGJveC5zY2hlbWEuZnVuYy5jcmVh dGUobmFtZSwge2xhbmd1YWdlID0gIkMiLCBleHBvcnRzID0geydMVUEnfX0pPGJyPiZuYnNwOy4u Ljxicj4mbmJzcDtib3guZnVuY1tuYW1lXTpjYWxsKCk8YnI+Jm5ic3A7LS0tPGJyPi0tIDE8YnI+ LS0gLTE8YnI+LS0gMTg0NDY3NDQwNzM3MDk1NTE2MTU8YnI+LS0gJzEyMzQ1Njc4OTEwMTExMjEz MTQxNSc8YnI+LS0gWzJdPGJyPistIC0gMTxicj4rICZuYnNwOy0gLTE8YnI+KyAmbmJzcDstIDE4 NDQ2NzQ0MDczNzA5NTUxNjE1PGJyPisgJm5ic3A7LSAnMTIzNDU2Nzg5MTAxMTEyMTMxNDE1Jzxi cj4rICZuYnNwOy0gWzJdPGJyPiZuYnNwOy4uLjxicj4mbmJzcDtib3guc2NoZW1hLnVzZXIuZ3Jh bnQoJ2d1ZXN0JywgJ3N1cGVyJyk8YnI+Jm5ic3A7LS0tPGJyPmRpZmYgLS1naXQgYS90ZXN0L2Jv eC9naC00NjQ4LWZ1bmMtbG9hZC11bmxvYWQucmVzdWx0IGIvdGVzdC9ib3gvZ2gtNDY0OC1mdW5j LWxvYWQtdW5sb2FkLnJlc3VsdDxicj5pbmRleCBlNjk1ZGQzNjUuLjNmYTdlYjlkYyAxMDA2NDQ8 YnI+LS0tIGEvdGVzdC9ib3gvZ2gtNDY0OC1mdW5jLWxvYWQtdW5sb2FkLnJlc3VsdDxicj4rKysg Yi90ZXN0L2JveC9naC00NjQ4LWZ1bmMtbG9hZC11bmxvYWQucmVzdWx0PGJyPkBAIC01OSw2ICs1 OSw3IEBAIGNoZWNrX21vZHVsZV9jb3VudF9kaWZmKDApPGJyPiZuYnNwOyB8IC4uLjxicj4mbmJz cDtib3guZnVuYy5mdW5jdGlvbjE6Y2FsbCgpPGJyPiZuYnNwOyB8IC0tLTxicj4rIHwgLSBbXTxi cj4mbmJzcDsgfCAuLi48YnI+Jm5ic3A7Y2hlY2tfbW9kdWxlX2NvdW50X2RpZmYoMSk8YnI+Jm5i c3A7IHwgLS0tPGJyPkBAIC0xMDAsNiArMTAxLDcgQEAgZW5kKTxicj4mbmJzcDsgfCAuLi48YnI+ Jm5ic3A7Ym94LmZ1bmMuZnVuY3Rpb24xOmNhbGwoKTxicj4mbmJzcDsgfCAtLS08YnI+KyB8IC0g W108YnI+Jm5ic3A7IHwgLi4uPGJyPiZuYnNwO2NoZWNrX21vZHVsZV9jb3VudF9kaWZmKDEpPGJy PiZuYnNwOyB8IC0tLTxicj5kaWZmIC0tZ2l0IGEvdGVzdC9ib3gvZ2gtNDc5OS1jLXN0b3JlZC1m dW5jdGlvbi5yZXN1bHQgYi90ZXN0L2JveC9naC00Nzk5LWMtc3RvcmVkLWZ1bmN0aW9uLnJlc3Vs dDxicj5uZXcgZmlsZSBtb2RlIDEwMDY0NDxicj5pbmRleCAwMDAwMDAwMDAuLmI2ZGYzZDE3YTxi cj4tLS0gL2Rldi9udWxsPGJyPisrKyBiL3Rlc3QvYm94L2doLTQ3OTktYy1zdG9yZWQtZnVuY3Rp b24ucmVzdWx0PGJyPkBAIC0wLDAgKzEsNDAgQEA8YnI+Ky0tIHRlc3QtcnVuIHJlc3VsdCBmaWxl IHZlcnNpb24gMjxicj4rLS08YnI+Ky0tIGdoLTQ3OTk6IEMgc3RvcmVkIGZ1bmN0aW9uJ3Mgb3V0 cHV0IHVzZWQgdG8gYmUgaW5jb25zaXN0ZW50Ojxicj4rLS0gbXVsdGlyZXR1cm4gaWYgY2FsbGVk IGxvY2FsbHksIGEgdHVwbGUgaWYgY2FsbGVkIHZpYSBuZXRib3guPGJyPistLSBUaGUgbGF0dGVy IHdhcyBjaG9zZW4gYXMgcHJlZmVycmVkIGJlaGF2aW9yIGJlY2F1c2UgaXQgZXhpc3RlZDxicj4r LS0gbG9uZyBiZWZvcmUgbG9jYWwgY2FsbCB3YXMgaW50cm9kdWNlZCBpbiBib3guZnVuYy48YnI+ Ky0tPGJyPitidWlsZF9wYXRoID0gb3MuZ2V0ZW52KCJCVUlMRERJUiIpPGJyPisgfCAtLS08YnI+ KyB8IC4uLjxicj4rcGFja2FnZS5jcGF0aCA9IGJ1aWxkX3BhdGguLicvdGVzdC9ib3gvPy5zbzsn Li5idWlsZF9wYXRoLi4nL3Rlc3QvYm94Lz8uZHlsaWI7Jy4ucGFja2FnZS5jcGF0aDxicj4rIHwg LS0tPGJyPisgfCAuLi48YnI+K2JveC5zY2hlbWEuZnVuYy5jcmVhdGUoJ2Z1bmN0aW9uMS5tdWx0 aXJldHVybicsIHtsYW5ndWFnZSA9ICJDIiwgZXhwb3J0cyA9IHsnTFVBJ319KTxicj4rIHwgLS0t PGJyPisgfCAuLi48YnI+K2JveC5zY2hlbWEudXNlci5ncmFudCgnZ3Vlc3QnLCAnc3VwZXInKTxi cj4rIHwgLS0tPGJyPisgfCAuLi48YnI+K2MgPSByZXF1aXJlKCduZXQuYm94JykuY29ubmVjdChi b3guY2ZnLmxpc3Rlbik8YnI+KyB8IC0tLTxicj4rIHwgLi4uPGJyPis8YnI+Ky0tIEJvdGggY2Fs bHMgc2hvdWxkIHJldHVybiBhIHR1cGxlIG5vdy48YnI+K2M6Y2FsbCgnZnVuY3Rpb24xLm11bHRp cmV0dXJuJyk8YnI+KyB8IC0tLTxicj4rIHwgLSBbWzFdLCBbMV1dPGJyPisgfCAuLi48YnI+K2Jv eC5mdW5jWydmdW5jdGlvbjEubXVsdGlyZXR1cm4nXTpjYWxsKCk8YnI+KyB8IC0tLTxicj4rIHwg LSAtIFsxXTxicj4rIHwgJm5ic3A7IC0gWzFdPGJyPisgfCAuLi48YnI+Kzxicj4rYm94LnNjaGVt YS51c2VyLnJldm9rZSgnZ3Vlc3QnLCAnc3VwZXInKTxicj4rIHwgLS0tPGJyPisgfCAuLi48YnI+ K2JveC5zY2hlbWEuZnVuYy5kcm9wKCdmdW5jdGlvbjEubXVsdGlyZXR1cm4nKTxicj4rIHwgLS0t PGJyPisgfCAuLi48YnI+ZGlmZiAtLWdpdCBhL3Rlc3QvYm94L2doLTQ3OTktYy1zdG9yZWQtZnVu Y3Rpb24udGVzdC5sdWEgYi90ZXN0L2JveC9naC00Nzk5LWMtc3RvcmVkLWZ1bmN0aW9uLnRlc3Qu bHVhPGJyPm5ldyBmaWxlIG1vZGUgMTAwNjQ0PGJyPmluZGV4IDAwMDAwMDAwMC4uZDBiM2I5NDJm PGJyPi0tLSAvZGV2L251bGw8YnI+KysrIGIvdGVzdC9ib3gvZ2gtNDc5OS1jLXN0b3JlZC1mdW5j dGlvbi50ZXN0Lmx1YTxicj5AQCAtMCwwICsxLDE4IEBAPGJyPistLTxicj4rLS0gZ2gtNDc5OTog QyBzdG9yZWQgZnVuY3Rpb24ncyBvdXRwdXQgdXNlZCB0byBiZSBpbmNvbnNpc3RlbnQ6PGJyPist LSBtdWx0aXJldHVybiBpZiBjYWxsZWQgbG9jYWxseSwgYSB0dXBsZSBpZiBjYWxsZWQgdmlhIG5l dGJveC48YnI+Ky0tIFRoZSBsYXR0ZXIgd2FzIGNob3NlbiBhcyBwcmVmZXJyZWQgYmVoYXZpb3Ig YmVjYXVzZSBpdCBleGlzdGVkPGJyPistLSBsb25nIGJlZm9yZSBsb2NhbCBjYWxsIHdhcyBpbnRy b2R1Y2VkIGluIGJveC5mdW5jLjxicj4rLS08YnI+K2J1aWxkX3BhdGggPSBvcy5nZXRlbnYoIkJV SUxERElSIik8YnI+K3BhY2thZ2UuY3BhdGggPSBidWlsZF9wYXRoLi4nL3Rlc3QvYm94Lz8uc287 Jy4uYnVpbGRfcGF0aC4uJy90ZXN0L2JveC8/LmR5bGliOycuLnBhY2thZ2UuY3BhdGg8YnI+K2Jv eC5zY2hlbWEuZnVuYy5jcmVhdGUoJ2Z1bmN0aW9uMS5tdWx0aXJldHVybicsIHtsYW5ndWFnZSA9 ICJDIiwgZXhwb3J0cyA9IHsnTFVBJ319KTxicj4rYm94LnNjaGVtYS51c2VyLmdyYW50KCdndWVz dCcsICdzdXBlcicpPGJyPitjID0gcmVxdWlyZSgnbmV0LmJveCcpLmNvbm5lY3QoYm94LmNmZy5s aXN0ZW4pPGJyPis8YnI+Ky0tIEJvdGggY2FsbHMgc2hvdWxkIHJldHVybiBhIHR1cGxlIG5vdy48 YnI+K2M6Y2FsbCgnZnVuY3Rpb24xLm11bHRpcmV0dXJuJyk8YnI+K2JveC5mdW5jWydmdW5jdGlv bjEubXVsdGlyZXR1cm4nXTpjYWxsKCk8YnI+Kzxicj4rYm94LnNjaGVtYS51c2VyLnJldm9rZSgn Z3Vlc3QnLCAnc3VwZXInKTxicj4rYm94LnNjaGVtYS5mdW5jLmRyb3AoJ2Z1bmN0aW9uMS5tdWx0 aXJldHVybicpPGJyPi0tJm5ic3A7PGJyPjIuMjQuMDxicj4mbmJzcDs8L2Rpdj48L2Rpdj48ZGl2 PiZuYnNwOzwvZGl2PjxkaXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250YWluZXIiPjxkaXYg ZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250ZW50Ij48ZGl2Pi0tPGJyPk1hcmlhIEtoYXlkaWNo PC9kaXY+PC9kaXY+PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--eC1d56C28941b65F5Aa4bF2f5066CeA91592247199--