From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 8543E20EE5 for ; Wed, 28 Mar 2018 04:04:08 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Gl33r4VbfhMd for ; Wed, 28 Mar 2018 04:04:08 -0400 (EDT) Received: from f507.i.mail.ru (f507.i.mail.ru [217.69.138.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 184E520E10 for ; Wed, 28 Mar 2018 04:04:07 -0400 (EDT) Received: by f507.i.mail.ru with local (envelope-from ) id 1f163x-0000jA-Os for tarantool-patches@freelists.org; Wed, 28 Mar 2018 11:04:06 +0300 From: =?UTF-8?B?SWx5YSBNYXJrb3Y=?= Subject: [tarantool-patches] =?UTF-8?B?W2xvZyAxLzFdIGxvZzogRml4IHN5c2xvZyBsb2dnZXI=?= MIME-Version: 1.0 Date: Wed, 28 Mar 2018 11:04:05 +0300 Message-ID: <1522224245.228428557@f507.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--EA0HLxEjhlkCbcfiGDSEeLmpYR53EP941522224245" Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org ----ALT--EA0HLxEjhlkCbcfiGDSEeLmpYR53EP941522224245 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CiogUmVtb3ZlIHJld3JpdGluZyBmb3JtYXQgb2YgZGVmYXVsdCBsb2dnZXIgaW4gY2FzZSBvZiBz eXNsb2cgb3B0aW9uLgoqIEFkZCBmYWNpbGl0eSBvcHRpb24gcGFyc2luZyBhbmQgdXNlIHBhcnNl ZCByZXN1bHRzIGluIGZvcm1hdCBtZXNzYWdlCmFjY29yZGluZyB0byBSRkMzMTY0LiBQb3NzaWJs ZSB2YWx1ZXMgYW5kIGRlZmF1bHQgdmFsdWUgb2Ygc3lzbG9nCmZhY2lsaXR5IGFyZSB0YWtlbiBm cm9tIG5naW54KCBodHRwczovL25naW54LnJ1L2VuL2RvY3Mvc3lzbG9nLmh0bWwgKQoKQ2xvc2Vz ICMzMjQ0CgpicmFuY2g6IGdoLTMyNDQtc3lzbG9nLWZhY2lsaXR5IAotLS0KwqBzcmMvc2F5LmMg ICAgICAgICAgICB8IDc0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0KwqBzcmMvc2F5LmggICAgICAgICAgICB8IDMxICsrKysrKysrKysrKysrKysr KysrKy0KwqB0ZXN0L3VuaXQvc2F5LmMgICAgICB8IDI2ICsrKysrKysrKysrKysrKy0tLQrCoHRl c3QvdW5pdC9zYXkucmVzdWx0IHwgMzMgKysrKysrKysrKysrKysrLS0tLS0tLS0KwqA0IGZpbGVz IGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvc2F5LmMgYi9zcmMvc2F5LmMKaW5kZXggYjkyNTE0ZC4uNjhlM2IwOSAxMDA2NDQKLS0t IGEvc3JjL3NheS5jCisrKyBiL3NyYy9zYXkuYwpAQCAtMTkxLDE2ICsxOTEsMTcgQEAgc2F5X3Nl dF9sb2dfbGV2ZWwoaW50IG5ld19sZXZlbCkKwqB2b2lkCsKgc2F5X3NldF9sb2dfZm9ybWF0KGVu dW0gc2F5X2Zvcm1hdCBmb3JtYXQpCsKgewotCisJLyoKKwkgKiBGb3Igc3lzbG9nLCBkZWZhdWx0 IG9yIGJvb3QgbG9nIHR5cGUgdGhlIGxvZyBmb3JtYXQgY2FuCisJICogbm90IGJlIGNoYW5nZWQu CisJICovCisJYm9vbCBhbGxvd2VkX3RvX2NoYW5nZSA9IGxvZ19kZWZhdWx0LT50eXBlID09IFNB WV9MT0dHRVJfU1RERVJSIHx8CisJCQkJIGxvZ19kZWZhdWx0LT50eXBlID09IFNBWV9MT0dHRVJf UElQRSB8fAorCQkJCSBsb2dfZGVmYXVsdC0+dHlwZSA9PSBTQVlfTE9HR0VSX0ZJTEU7CsKgCXN3 aXRjaCAoZm9ybWF0KSB7CsKgCWNhc2UgU0ZfSlNPTjoKLQkJLyoKLQkJICogRm9yIHN5c2xvZywg ZGVmYXVsdCBvciBib290IGxvZyB0eXBlIHRoZSBsb2cgZm9ybWF0IGNhbgotCQkgKiBub3QgYmUg Y2hhbmdlZC4KLQkJICovCi0JCWlmIChsb2dfZGVmYXVsdC0+dHlwZSAhPSBTQVlfTE9HR0VSX1NU REVSUiAmJgotCQkgICAgbG9nX2RlZmF1bHQtPnR5cGUgIT0gU0FZX0xPR0dFUl9QSVBFICYmCi0J CSAgICBsb2dfZGVmYXVsdC0+dHlwZSAhPSBTQVlfTE9HR0VSX0ZJTEUpIHsKKworCQlpZiAoIWFs bG93ZWRfdG9fY2hhbmdlKSB7CsKgCQkJc2F5X2Vycm9yKCJqc29uIGxvZyBmb3JtYXQgaXMgbm90 IHN1cHBvcnRlZCB3aGVuIG91dHB1dCBpcyAnJXMnIiwKwqAJCQkJICBzYXlfbG9nZ2VyX3R5cGVf c3Ryc1tsb2dfZGVmYXVsdC0+dHlwZV0pOwrCoAkJCXJldHVybjsKQEAgLTIwOCw2ICsyMDksOSBA QCBzYXlfc2V0X2xvZ19mb3JtYXQoZW51bSBzYXlfZm9ybWF0IGZvcm1hdCkKwqAJCWxvZ19zZXRf Zm9ybWF0KGxvZ19kZWZhdWx0LCBzYXlfZm9ybWF0X2pzb24pOwrCoAkJYnJlYWs7CsKgCWNhc2Ug U0ZfUExBSU46CisJCWlmICghYWxsb3dlZF90b19jaGFuZ2UpIHsKKwkJCXJldHVybjsKKwkJfQrC oAkJbG9nX3NldF9mb3JtYXQobG9nX2RlZmF1bHQsIHNheV9mb3JtYXRfcGxhaW4pOwrCoAkJYnJl YWs7CsKgCWRlZmF1bHQ6CkBAIC00NzcsNiArNDgxLDExIEBAIGxvZ19zeXNsb2dfaW5pdChzdHJ1 Y3QgbG9nICpsb2csIGNvbnN0IGNoYXIgKmluaXRfc3RyKQrCoAkJbG9nLT5zeXNsb2dfaWRlbnQg PSBzdHJkdXAoInRhcmFudG9vbCIpOwrCoAllbHNlCsKgCQlsb2ctPnN5c2xvZ19pZGVudCA9IHN0 cmR1cChvcHRzLmlkZW50aXR5KTsKKworCWlmIChvcHRzLmZhY2lsaXR5ID09IHN5c2xvZ19mYWNp bGl0eV9NQVgpCisJCWxvZy0+c3lzbG9nX2ZhY2lsaXR5ID0gU1lTTE9HX0xPQ0FMNzsKKwllbHNl CisJCWxvZy0+c3lzbG9nX2ZhY2lsaXR5ID0gb3B0cy5mYWNpbGl0eTsKwqAJc2F5X2ZyZWVfc3lz bG9nX29wdHMoJm9wdHMpOwrCoAlsb2ctPmZkID0gbG9nX3N5c2xvZ19jb25uZWN0KGxvZyk7CsKg CWlmIChsb2ctPmZkIDwgMCkgewpAQCAtODE0LDE0ICs4MjMsMTQgQEAgc2F5X2Zvcm1hdF9zeXNs b2coc3RydWN0IGxvZyAqbG9nLCBjaGFyICpidWYsIGludCBsZW4sIGludCBsZXZlbCwgY29uc3Qg Y2hhciAqZmkKwqAKwqAJLyogRm9ybWF0IHN5c2xvZyBoZWFkZXIgYWNjb3JkaW5nIHRvIFJGQyAq LwrCoAlpbnQgcHJpbyA9IGxldmVsX3RvX3N5c2xvZ19wcmlvcml0eShsZXZlbCk7Ci0JU05QUklO VCh0b3RhbCwgc25wcmludGYsIGJ1ZiwgbGVuLCAiPCVkPiIsIExPR19NQUtFUFJJKDEsIHByaW8p KTsKKwlTTlBSSU5UKHRvdGFsLCBzbnByaW50ZiwgYnVmLCBsZW4sICI8JWQ+IiwKKwkJTE9HX01B S0VQUkkoOCAqIGxvZy0+c3lzbG9nX2ZhY2lsaXR5LCBwcmlvKSk7CsKgCVNOUFJJTlQodG90YWws IHN0cmZ0aW1lLCBidWYsIGxlbiwgIiVoICVlICVUICIsICZ0bSk7CsKgCVNOUFJJTlQodG90YWws IHNucHJpbnRmLCBidWYsIGxlbiwgIiVzWyVkXToiLCBsb2ctPnN5c2xvZ19pZGVudCwgZ2V0cGlk KCkpOwrCoArCoAkvKiBGb3JtYXQgbWVzc2FnZSAqLwrCoAlTTlBSSU5UKHRvdGFsLCBzYXlfZm9y bWF0X3BsYWluX3RhaWwsIGJ1ZiwgbGVuLCBsZXZlbCwgZmlsZW5hbWUsIGxpbmUsCsKgCQllcnJv ciwgZm9ybWF0LCBhcCk7Ci0KwqAJcmV0dXJuIHRvdGFsOwrCoH0KwqAKQEAgLTk2MywxMSArOTcy LDQ1IEBAIHNheV9wYXJzZV9sb2dnZXJfdHlwZShjb25zdCBjaGFyICoqc3RyLCBlbnVtIHNheV9s b2dnZXJfdHlwZSAqdHlwZSkKwqAJcmV0dXJuIDA7CsKgfQrCoAorc3RhdGljIGNvbnN0IGNoYXIg KnN5c2xvZ19mYWNpbGl0eV9zdHJzW10gPSB7CisJW1NZU0xPR19LRVJOXSA9ICJrZXJuIiwKKwlb U1lTTE9HX1VTRVJdID0gInVzZXIiLAorCVtTWVNMT0dfTUFJTF0gPSAibWFpbCIsCisJW1NZU0xP R19EQUVNT05dID0gImRhZW1vbiIsCisJW1NZU0xPR19BVVRIXSA9ICJhdXRoIiwKKwlbU1lTTE9H X0lOVEVSTl0gPSAiaW50ZXJuIiwKKwlbU1lTTE9HX0xQUl0gPSAibHByIiwKKwlbU1lTTE9HX05F V1NdID0gIm5ld3MiLAorCVtTWVNMT0dfVVVDUF0gPSAidXVjcCIsCisJW1NZU0xPR19DTE9DS10g PSAiY2xvY2siLAorCVtTWVNMT0dfQVVUSFBSSVZdID0gImF1dGhwcml2IiwKKwlbU1lTTE9HX0ZU UF0gPSAiZnRwIiwKKwlbU1lTTE9HX05UUF0gPSAibnRwIiwKKwlbU1lTTE9HX0FVRElUXSA9ICJh dWRpdCIsCisJW1NZU0xPR19BTEVSVF0gPSAiYWxlcnQiLAorCVtTWVNMT0dfQ1JPTl0gPSAiY3Jv biIsCisJW1NZU0xPR19MT0NBTDBdID0gImxvY2FsMCIsCisJW1NZU0xPR19MT0NBTDFdID0gImxv Y2FsMSIsCisJW1NZU0xPR19MT0NBTDJdID0gImxvY2FsMiIsCisJW1NZU0xPR19MT0NBTDNdID0g ImxvY2FsMyIsCisJW1NZU0xPR19MT0NBTDRdID0gImxvY2FsNCIsCisJW1NZU0xPR19MT0NBTDVd ID0gImxvY2FsNSIsCisJW1NZU0xPR19MT0NBTDZdID0gImxvY2FsNiIsCisJW1NZU0xPR19MT0NB TDddID0gImxvY2FsNyIsCisJW3N5c2xvZ19mYWNpbGl0eV9NQVhdID0gInVua25vd24iLAorfTsK KworZW51bSBzeXNsb2dfZmFjaWxpdHkKK3NheV9zeXNsb2dfZmFjaWxpdHlfYnlfbmFtZShjb25z dCBjaGFyICpmYWNpbGl0eSkKK3sKKwlyZXR1cm4gU1RSMkVOVU0oc3lzbG9nX2ZhY2lsaXR5LCBm YWNpbGl0eSk7Cit9CisKwqBpbnQKwqBzYXlfcGFyc2Vfc3lzbG9nX29wdHMoY29uc3QgY2hhciAq aW5pdF9zdHIsIHN0cnVjdCBzYXlfc3lzbG9nX29wdHMgKm9wdHMpCsKgewrCoAlvcHRzLT5pZGVu dGl0eSA9IE5VTEw7Ci0Jb3B0cy0+ZmFjaWxpdHkgPSBOVUxMOworCW9wdHMtPmZhY2lsaXR5ID0g c3lzbG9nX2ZhY2lsaXR5X01BWDsKwqAJb3B0cy0+Y29weSA9IHN0cmR1cChpbml0X3N0cik7CsKg CWlmIChvcHRzLT5jb3B5ID09IE5VTEwpIHsKwqAJCWRpYWdfc2V0KE91dE9mTWVtb3J5LCBzdHJs ZW4oaW5pdF9zdHIpLCAibWFsbG9jIiwgIm9wdHMtPmNvcHkiKTsKQEAgLTk4Nyw5ICsxMDMwLDE0 IEBAIHNheV9wYXJzZV9zeXNsb2dfb3B0cyhjb25zdCBjaGFyICppbml0X3N0ciwgc3RydWN0IHNh eV9zeXNsb2dfb3B0cyAqb3B0cykKwqAJCQkJZ290byBkdXBsaWNhdGU7CsKgCQkJb3B0cy0+aWRl bnRpdHkgPSB2YWx1ZTsKwqAJCX0gZWxzZSBpZiAoc2F5X3BhcnNlX3ByZWZpeCgmdmFsdWUsICJm YWNpbGl0eT0iKSkgewotCQkJaWYgKG9wdHMtPmZhY2lsaXR5ICE9IE5VTEwpCisJCQlpZiAob3B0 cy0+ZmFjaWxpdHkgIT0gc3lzbG9nX2ZhY2lsaXR5X01BWCkKwqAJCQkJZ290byBkdXBsaWNhdGU7 Ci0JCQlvcHRzLT5mYWNpbGl0eSA9IHZhbHVlOworCQkJb3B0cy0+ZmFjaWxpdHkgPSBzYXlfc3lz bG9nX2ZhY2lsaXR5X2J5X25hbWUodmFsdWUpOworCQkJaWYgKG9wdHMtPmZhY2lsaXR5ID09IHN5 c2xvZ19mYWNpbGl0eV9NQVgpIHsKKwkJCQlkaWFnX3NldChJbGxlZ2FsUGFyYW1zLCAiYmFkIHN5 c2xvZyBmYWNpbGl0eSBvcHRpb24gJyVzJyIsCisJCQkJCSB2YWx1ZSk7CisJCQkJZ290byBlcnJv cjsKKwkJCX0KwqAJCX0gZWxzZSB7CsKgCQkJZGlhZ19zZXQoSWxsZWdhbFBhcmFtcywgImJhZCBv cHRpb24gJyVzJyIsIG9wdGlvbik7CsKgCQkJZ290byBlcnJvcjsKZGlmZiAtLWdpdCBhL3NyYy9z YXkuaCBiL3NyYy9zYXkuaAppbmRleCA0NmU2OTc2Li4wNzAzYzZhIDEwMDY0NAotLS0gYS9zcmMv c2F5LmgKKysrIGIvc3JjL3NheS5oCkBAIC05Nyw2ICs5NywzNCBAQCBlbnVtIHNheV9sb2dnZXJf dHlwZSB7CsKgCVNBWV9MT0dHRVJfU1lTTE9HCsKgfTsKwqAKK2VudW0gc3lzbG9nX2ZhY2lsaXR5 IHsKKwlTWVNMT0dfS0VSTiA9IDAsCisJU1lTTE9HX1VTRVIsCisJU1lTTE9HX01BSUwsCisJU1lT TE9HX0RBRU1PTiwKKwlTWVNMT0dfQVVUSCwKKwlTWVNMT0dfSU5URVJOLAorCVNZU0xPR19MUFIs CisJU1lTTE9HX05FV1MsCisJU1lTTE9HX1VVQ1AsCisJU1lTTE9HX0NMT0NLLAorCVNZU0xPR19B VVRIUFJJViwKKwlTWVNMT0dfRlRQLAorCVNZU0xPR19OVFAsCisJU1lTTE9HX0FVRElULAorCVNZ U0xPR19BTEVSVCwKKwlTWVNMT0dfQ1JPTiwKKwlTWVNMT0dfTE9DQUwwLAorCVNZU0xPR19MT0NB TDEsCisJU1lTTE9HX0xPQ0FMMiwKKwlTWVNMT0dfTE9DQUwzLAorCVNZU0xPR19MT0NBTDQsCisJ U1lTTE9HX0xPQ0FMNSwKKwlTWVNMT0dfTE9DQUw2LAorCVNZU0xPR19MT0NBTDcsCisJc3lzbG9n X2ZhY2lsaXR5X01BWCwKK307CisKwqBzdHJ1Y3QgbG9nOwrCoArCoHR5cGVkZWYgaW50ICgqbG9n X2Zvcm1hdF9mdW5jX3QpKHN0cnVjdCBsb2cgKmxvZywgY2hhciAqYnVmLCBpbnQgbGVuLCBpbnQg bGV2ZWwsCkBAIC0xMTksNiArMTQ3LDcgQEAgc3RydWN0IGxvZyB7CsKgCXBpZF90IHBpZDsKwqAJ LyogQXBwbGljYXRpb24gaWRlbnRpZmllciB1c2VkIHRvIGdyb3VwIHN5c2xvZyBtZXNzYWdlcy4g Ki8KwqAJY2hhciAqc3lzbG9nX2lkZW50OworCWVudW0gc3lzbG9nX2ZhY2lsaXR5IHN5c2xvZ19m YWNpbGl0eTsKwqAJc3RydWN0IHJsaXN0IGluX2xvZ19saXN0OwrCoH07CsKgCkBAIC0zNDksNyAr Mzc4LDcgQEAgc2F5X3BhcnNlX2xvZ2dlcl90eXBlKGNvbnN0IGNoYXIgKipzdHIsIGVudW0gc2F5 X2xvZ2dlcl90eXBlICp0eXBlKTsKwqAvKiogU3lzbG9nIGxvZ2dlciBpbml0aWFsaXphdGlvbiBw YXJhbXMgKi8KwqBzdHJ1Y3Qgc2F5X3N5c2xvZ19vcHRzIHsKwqAJY29uc3QgY2hhciAqaWRlbnRp dHk7Ci0JY29uc3QgY2hhciAqZmFjaWxpdHk7CisJZW51bSBzeXNsb2dfZmFjaWxpdHkgZmFjaWxp dHk7CsKgCS8qIElucHV0IGNvcHkgKGNvbnRlbnQgdW5zcGVjaWZpZWQpLiAqLwrCoAljaGFyICpj b3B5OwrCoH07CmRpZmYgLS1naXQgYS90ZXN0L3VuaXQvc2F5LmMgYi90ZXN0L3VuaXQvc2F5LmMK aW5kZXggOGM5OTZiYS4uNGU1ZGU3NSAxMDA2NDQKLS0tIGEvdGVzdC91bml0L3NheS5jCisrKyBi L3Rlc3QvdW5pdC9zYXkuYwpAQCAtMzksNyArMzksNyBAQCBwYXJzZV9zeXNsb2dfb3B0cyhjb25z dCBjaGFyICppbnB1dCkKwqAJaWYgKG9wdHMuaWRlbnRpdHkpCsKgCQlub3RlKCJpZGVudGl0eTog JXMiLCBvcHRzLmlkZW50aXR5KTsKwqAJaWYgKG9wdHMuZmFjaWxpdHkpCi0JCW5vdGUoImZhY2ls aXR5OiAlcyIsIG9wdHMuZmFjaWxpdHkpOworCQlub3RlKCJmYWNpbGl0eTogJWkiLCBvcHRzLmZh Y2lsaXR5KTsKwqAJc2F5X2ZyZWVfc3lzbG9nX29wdHMoJm9wdHMpOwrCoAlyZXR1cm4gMDsKwqB9 CkBAIC0xMjQsNyArMTI0LDcgQEAgaW50IG1haW4oKQrCoAlmaWJlcl9pbml0KGZpYmVyX2NfaW52 b2tlKTsKwqAJc2F5X2xvZ2dlcl9pbml0KCIvZGV2L251bGwiLCBTX0lORk8sIDAsICJwbGFpbiIs IDApOwrCoAotCXBsYW4oMjMpOworCXBsYW4oMjkpOwrCoArCoCNkZWZpbmUgUEFSU0VfTE9HR0VS X1RZUEUoaW5wdXQsIHJjKSBcCsKgCW9rKHBhcnNlX2xvZ2dlcl90eXBlKGlucHV0KSA9PSByYywg IiVzIiwgaW5wdXQpCkBAIC0xNDksNyArMTQ5LDEwIEBAIGludCBtYWluKCkKwqAJUEFSU0VfU1lT TE9HX09QVFMoImlkZW50aXR5PXRhcmFudG9vbCIsIDApOwrCoAlQQVJTRV9TWVNMT0dfT1BUUygi ZmFjaWxpdHk9dXNlciIsIDApOwrCoAlQQVJTRV9TWVNMT0dfT1BUUygiaWRlbnRpdHk9eHRhcmFu dG9vbHgsZmFjaWxpdHk9bG9jYWwxIiwgMCk7Ci0JUEFSU0VfU1lTTE9HX09QVFMoImZhY2lsaXR5 PWZvbyxpZGVudGl0eT1iYXIiLCAwKTsKKwlQQVJTRV9TWVNMT0dfT1BUUygiaWRlbnRpdHk9eHRh cmFudG9vbHgsZmFjaWxpdHk9a2VybiIsIDApOworCVBBUlNFX1NZU0xPR19PUFRTKCJpZGVudGl0 eT14dGFyYW50b29seCxmYWNpbGl0eT11dWNwIiwgMCk7CisJUEFSU0VfU1lTTE9HX09QVFMoImlk ZW50aXR5PXh0YXJhbnRvb2x4LGZhY2lsaXR5PWZvbyIsIC0xKTsKKwlQQVJTRV9TWVNMT0dfT1BU UygiZmFjaWxpdHk9YXV0aHByaXYsaWRlbnRpdHk9YmFyIiwgMCk7CsKgCVBBUlNFX1NZU0xPR19P UFRTKCJpbnZhbGlkPSIsIC0xKTsKwqAJUEFSU0VfU1lTTE9HX09QVFMoImZhY2lsaXR5PWxvY2Fs MSxmYWNpbGl0eT1sb2NhbDIiLCAtMSk7CsKgCVBBUlNFX1NZU0xPR19PUFRTKCJpZGVudGl0eT1m b28saWRlbnRpdHk9YmFyIiwgLTEpOwpAQCAtMTcwLDcgKzE3Myw3IEBAIGludCBtYWluKCkKwqAJ bG9nX3NldF9mb3JtYXQoJnRlc3RfbG9nLCBmb3JtYXRfZnVuY19jdXN0b20pOwrCoAlsb2dfc2F5 KCZ0ZXN0X2xvZywgMCwgTlVMTCwgMCwgTlVMTCwgImhlbGxvICVzIiwgInVzZXIiKTsKwqAKLQlG SUxFKiBmZCA9IGZvcGVuKHRtcF9maWxlbmFtZSwgInIiKTsKKwlGSUxFKiBmZCA9IGZvcGVuKHRt cF9maWxlbmFtZSwgInIrIik7CsKgCWNvbnN0IHNpemVfdCBsZW4gPSA0MDk2OwrCoAljaGFyIGxp bmVbbGVuXTsKwqAKQEAgLTE4Nyw2ICsxOTAsMjEgQEAgaW50IG1haW4oKQrCoAl9CsKgCWxvZ19k ZXN0cm95KCZ0ZXN0X2xvZyk7CsKgCisJbG9nX2NyZWF0ZSgmdGVzdF9sb2csICJzeXNsb2c6aWRl bnRpdHk9dGFyYW50b29sLGZhY2lsaXR5PWxvY2FsMCIsIGZhbHNlKTsKKwl0ZXN0X2xvZy5mZCA9 IGZpbGVubyhmZCk7CisJLyogcmVkaXJlY3Qgc3RkZXJyIHRvIC9kZXYvbnVsbCBpbiBvcmRlciB0 byBmaWx0ZXIKKwkgKiBpdCBvdXQgZnJvbSByZXN1bHQgZmlsZS4KKwkgKi8KKwlmcmVvcGVuKCIv ZGV2L251bGwiLCAidyIsIHN0ZGVycik7CisJb2soc3RybmNtcCh0ZXN0X2xvZy5zeXNsb2dfaWRl bnQsICJ0YXJhbnRvb2wiLCA5KSA9PSAwLCAicGFyc2VkIGlkZW50aXR5Iik7CisJb2sodGVzdF9s b2cuc3lzbG9nX2ZhY2lsaXR5ID09IFNZU0xPR19MT0NBTDAsICJwYXJzZWQgZmFjaWxpdHkiKTsK Kwlsb25nIGJlZm9yZSA9IGZ0ZWxsKGZkKTsKKwlsb2dfc2F5KCZ0ZXN0X2xvZywgMCwgTlVMTCwg MCwgTlVMTCwgImhlbGxvICVzIiwgInVzZXIiKTsKKwlmc2VlayhmZCwgYmVmb3JlLCBTRUVLX1NF VCk7CisKKwlpZiAoZmdldHMobGluZSwgbGVuLCBmZCkgIT0gTlVMTCkgeworCQlvayhzdHJzdHIo bGluZSwgIjwxMzE+IikgIT0gTlVMTCwgInN5c2xvZyBsaW5lIik7CisJfQrCoAkvLyB0ZXN0IG9u IGxvZ19yb3RhdGUgc2lnbmFsIGhhbmRsaW5nCsKgCXN0cnVjdCBldl9zaWduYWwgZXZfc2lnOwrC oAlldl9zaWduYWxfaW5pdCgmZXZfc2lnLCBzYXlfbG9ncm90YXRlLCBTSUdIVVApOwpkaWZmIC0t Z2l0IGEvdGVzdC91bml0L3NheS5yZXN1bHQgYi90ZXN0L3VuaXQvc2F5LnJlc3VsdAppbmRleCBk ZmQzZmMwLi5kYjdiZWZiIDEwMDY0NAotLS0gYS90ZXN0L3VuaXQvc2F5LnJlc3VsdAorKysgYi90 ZXN0L3VuaXQvc2F5LnJlc3VsdApAQCAtMSw0ICsxLDQgQEAKLTEuLjIzCisxLi4yOQrCoCMgdHlw ZTogZmlsZQrCoCMgbmV4dDogCsKgb2sgMSAtIApAQCAtMzMsMjAgKzMzLDMxIEBAIG9rIDEwIC0g c3lzbG9nOmlkZW50aXR5PQrCoG9rIDExIC0gdW5rbm93bjoKwqAjIG5leHQ6IHVua25vd246ZXhh bXBsZS5vcmcKwqBvayAxMiAtIHVua25vd246ZXhhbXBsZS5vcmcKKyMgZmFjaWxpdHk6IDI0CsKg b2sgMTMgLSAKwqAjIGlkZW50aXR5OiB0YXJhbnRvb2wKKyMgZmFjaWxpdHk6IDI0CsKgb2sgMTQg LSBpZGVudGl0eT10YXJhbnRvb2wKLSMgZmFjaWxpdHk6IHVzZXIKKyMgZmFjaWxpdHk6IDEKwqBv ayAxNSAtIGZhY2lsaXR5PXVzZXIKwqAjIGlkZW50aXR5OiB4dGFyYW50b29seAotIyBmYWNpbGl0 eTogbG9jYWwxCisjIGZhY2lsaXR5OiAxNwrCoG9rIDE2IC0gaWRlbnRpdHk9eHRhcmFudG9vbHgs ZmFjaWxpdHk9bG9jYWwxCisjIGlkZW50aXR5OiB4dGFyYW50b29seAorb2sgMTcgLSBpZGVudGl0 eT14dGFyYW50b29seCxmYWNpbGl0eT1rZXJuCisjIGlkZW50aXR5OiB4dGFyYW50b29seAorIyBm YWNpbGl0eTogOAorb2sgMTggLSBpZGVudGl0eT14dGFyYW50b29seCxmYWNpbGl0eT11dWNwCitv ayAxOSAtIGlkZW50aXR5PXh0YXJhbnRvb2x4LGZhY2lsaXR5PWZvbwrCoCMgaWRlbnRpdHk6IGJh cgotIyBmYWNpbGl0eTogZm9vCi1vayAxNyAtIGZhY2lsaXR5PWZvbyxpZGVudGl0eT1iYXIKLW9r IDE4IC0gaW52YWxpZD0KLW9rIDE5IC0gZmFjaWxpdHk9bG9jYWwxLGZhY2lsaXR5PWxvY2FsMgot b2sgMjAgLSBpZGVudGl0eT1mb28saWRlbnRpdHk9YmFyCi1vayAyMSAtIHBsYWluCi1vayAyMiAt IGpzb24KLW9rIDIzIC0gY3VzdG9tCisjIGZhY2lsaXR5OiAxMAorb2sgMjAgLSBmYWNpbGl0eT1h dXRocHJpdixpZGVudGl0eT1iYXIKK29rIDIxIC0gaW52YWxpZD0KK29rIDIyIC0gZmFjaWxpdHk9 bG9jYWwxLGZhY2lsaXR5PWxvY2FsMgorb2sgMjMgLSBpZGVudGl0eT1mb28saWRlbnRpdHk9YmFy CitvayAyNCAtIHBsYWluCitvayAyNSAtIGpzb24KK29rIDI2IC0gY3VzdG9tCitvayAyNyAtIHBh cnNlZCBpZGVudGl0eQorb2sgMjggLSBwYXJzZWQgZmFjaWxpdHkKK29rIDI5IC0gc3lzbG9nIGxp bmUKLS0gCjIuNy40CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLS0gClRoYW5rIHlvdSwKSWx5YSBNYXJrb3YK ----ALT--EA0HLxEjhlkCbcfiGDSEeLmpYR53EP941522224245 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXYgY2xhc3M9ImpzLWhlbHBlciBqcy1yZWFkbXNnLW1zZyI+Cgk8c3R5 bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+CiAJPGRpdj4KCQk8YmFzZSB0YXJnZXQ9Il9zZWxm IiBocmVmPSJodHRwczovL2UubWFpbC5ydS8iPgoJCQogICAgICAgICAgICA8ZGl2IGlkPSJzdHls ZV8xNTIyMjI0MTk1MDAwMDAwMDIyOV9CT0RZIj48ZGl2IGNsYXNzPSJjbGFzc18xNTIyMjI1NzE1 Ij48ZGl2IGNsYXNzPSJqcy1oZWxwZXJfbWFpbHJ1X2Nzc19hdHRyaWJ1dGVfcG9zdGZpeCBqcy1y ZWFkbXNnLW1zZ19tYWlscnVfY3NzX2F0dHJpYnV0ZV9wb3N0Zml4Ij48ZGl2PjxkaXYgaWQ9InN0 eWxlXzE1MjIxODAzNDIwMDAwMDAwOTM3X0JPRFlfbWFpbHJ1X2Nzc19hdHRyaWJ1dGVfcG9zdGZp eCI+KiBSZW1vdmUgcmV3cml0aW5nIGZvcm1hdCBvZiBkZWZhdWx0IGxvZ2dlciBpbiBjYXNlIG9m IHN5c2xvZyBvcHRpb24uPGJyPgoqIEFkZCBmYWNpbGl0eSBvcHRpb24gcGFyc2luZyBhbmQgdXNl IHBhcnNlZCByZXN1bHRzIGluIGZvcm1hdCBtZXNzYWdlPGJyPgphY2NvcmRpbmcgdG8gUkZDMzE2 NC4gUG9zc2libGUgdmFsdWVzIGFuZCBkZWZhdWx0IHZhbHVlIG9mIHN5c2xvZzxicj4KZmFjaWxp dHkgYXJlIHRha2VuIGZyb20gbmdpbngoPGEgaHJlZj0iaHR0cHM6Ly9uZ2lueC5ydS9lbi9kb2Nz L3N5c2xvZy5odG1sIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9uZ2lueC5ydS9lbi9kb2NzL3N5 c2xvZy5odG1sPC9hPik8YnI+Cjxicj4KQ2xvc2VzICMzMjQ0PGJyPgo8YnI+CmJyYW5jaDogZ2gt MzI0NC1zeXNsb2ctZmFjaWxpdHkgPGJyPgotLS08YnI+CiZuYnNwO3NyYy9zYXkuYyAgICAgICAg ICAgIHwgNzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLTxicj4KJm5ic3A7c3JjL3NheS5oICAgICAgICAgICAgfCAzMSArKysrKysrKysrKysrKysr KysrKystPGJyPgombmJzcDt0ZXN0L3VuaXQvc2F5LmMgICAgICB8IDI2ICsrKysrKysrKysrKysr Ky0tLTxicj4KJm5ic3A7dGVzdC91bml0L3NheS5yZXN1bHQgfCAzMyArKysrKysrKysrKysrKyst LS0tLS0tLTxicj4KJm5ic3A7NCBmaWxlcyBjaGFuZ2VkLCAxMzUgaW5zZXJ0aW9ucygrKSwgMjkg ZGVsZXRpb25zKC0pPGJyPgo8YnI+CmRpZmYgLS1naXQgYS9zcmMvc2F5LmMgYi9zcmMvc2F5LmM8 YnI+CmluZGV4IGI5MjUxNGQuLjY4ZTNiMDkgMTAwNjQ0PGJyPgotLS0gYS9zcmMvc2F5LmM8YnI+ CisrKyBiL3NyYy9zYXkuYzxicj4KQEAgLTE5MSwxNiArMTkxLDE3IEBAIHNheV9zZXRfbG9nX2xl dmVsKGludCBuZXdfbGV2ZWwpPGJyPgombmJzcDt2b2lkPGJyPgombmJzcDtzYXlfc2V0X2xvZ19m b3JtYXQoZW51bSBzYXlfZm9ybWF0IGZvcm1hdCk8YnI+CiZuYnNwO3s8YnI+Ci08YnI+CisJLyo8 YnI+CisJICogRm9yIHN5c2xvZywgZGVmYXVsdCBvciBib290IGxvZyB0eXBlIHRoZSBsb2cgZm9y bWF0IGNhbjxicj4KKwkgKiBub3QgYmUgY2hhbmdlZC48YnI+CisJICovPGJyPgorCWJvb2wgYWxs b3dlZF90b19jaGFuZ2UgPSBsb2dfZGVmYXVsdC0mZ3Q7dHlwZSA9PSBTQVlfTE9HR0VSX1NUREVS UiB8fDxicj4KKwkJCQkgbG9nX2RlZmF1bHQtJmd0O3R5cGUgPT0gU0FZX0xPR0dFUl9QSVBFIHx8 PGJyPgorCQkJCSBsb2dfZGVmYXVsdC0mZ3Q7dHlwZSA9PSBTQVlfTE9HR0VSX0ZJTEU7PGJyPgom bmJzcDsJc3dpdGNoIChmb3JtYXQpIHs8YnI+CiZuYnNwOwljYXNlIFNGX0pTT046PGJyPgotCQkv Kjxicj4KLQkJICogRm9yIHN5c2xvZywgZGVmYXVsdCBvciBib290IGxvZyB0eXBlIHRoZSBsb2cg Zm9ybWF0IGNhbjxicj4KLQkJICogbm90IGJlIGNoYW5nZWQuPGJyPgotCQkgKi88YnI+Ci0JCWlm IChsb2dfZGVmYXVsdC0mZ3Q7dHlwZSAhPSBTQVlfTE9HR0VSX1NUREVSUiAmYW1wOyZhbXA7PGJy PgotCQkgICAgbG9nX2RlZmF1bHQtJmd0O3R5cGUgIT0gU0FZX0xPR0dFUl9QSVBFICZhbXA7JmFt cDs8YnI+Ci0JCSAgICBsb2dfZGVmYXVsdC0mZ3Q7dHlwZSAhPSBTQVlfTE9HR0VSX0ZJTEUpIHs8 YnI+Cis8YnI+CisJCWlmICghYWxsb3dlZF90b19jaGFuZ2UpIHs8YnI+CiZuYnNwOwkJCXNheV9l cnJvcigianNvbiBsb2cgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiBvdXRwdXQgaXMgJyVz JyIsPGJyPgombmJzcDsJCQkJICBzYXlfbG9nZ2VyX3R5cGVfc3Ryc1tsb2dfZGVmYXVsdC0mZ3Q7 dHlwZV0pOzxicj4KJm5ic3A7CQkJcmV0dXJuOzxicj4KQEAgLTIwOCw2ICsyMDksOSBAQCBzYXlf c2V0X2xvZ19mb3JtYXQoZW51bSBzYXlfZm9ybWF0IGZvcm1hdCk8YnI+CiZuYnNwOwkJbG9nX3Nl dF9mb3JtYXQobG9nX2RlZmF1bHQsIHNheV9mb3JtYXRfanNvbik7PGJyPgombmJzcDsJCWJyZWFr Ozxicj4KJm5ic3A7CWNhc2UgU0ZfUExBSU46PGJyPgorCQlpZiAoIWFsbG93ZWRfdG9fY2hhbmdl KSB7PGJyPgorCQkJcmV0dXJuOzxicj4KKwkJfTxicj4KJm5ic3A7CQlsb2dfc2V0X2Zvcm1hdChs b2dfZGVmYXVsdCwgc2F5X2Zvcm1hdF9wbGFpbik7PGJyPgombmJzcDsJCWJyZWFrOzxicj4KJm5i c3A7CWRlZmF1bHQ6PGJyPgpAQCAtNDc3LDYgKzQ4MSwxMSBAQCBsb2dfc3lzbG9nX2luaXQoc3Ry dWN0IGxvZyAqbG9nLCBjb25zdCBjaGFyICppbml0X3N0cik8YnI+CiZuYnNwOwkJbG9nLSZndDtz eXNsb2dfaWRlbnQgPSBzdHJkdXAoInRhcmFudG9vbCIpOzxicj4KJm5ic3A7CWVsc2U8YnI+CiZu YnNwOwkJbG9nLSZndDtzeXNsb2dfaWRlbnQgPSBzdHJkdXAob3B0cy5pZGVudGl0eSk7PGJyPgor PGJyPgorCWlmIChvcHRzLmZhY2lsaXR5ID09IHN5c2xvZ19mYWNpbGl0eV9NQVgpPGJyPgorCQls b2ctJmd0O3N5c2xvZ19mYWNpbGl0eSA9IFNZU0xPR19MT0NBTDc7PGJyPgorCWVsc2U8YnI+CisJ CWxvZy0mZ3Q7c3lzbG9nX2ZhY2lsaXR5ID0gb3B0cy5mYWNpbGl0eTs8YnI+CiZuYnNwOwlzYXlf ZnJlZV9zeXNsb2dfb3B0cygmYW1wO29wdHMpOzxicj4KJm5ic3A7CWxvZy0mZ3Q7ZmQgPSBsb2df c3lzbG9nX2Nvbm5lY3QobG9nKTs8YnI+CiZuYnNwOwlpZiAobG9nLSZndDtmZCAmbHQ7IDApIHs8 YnI+CkBAIC04MTQsMTQgKzgyMywxNCBAQCBzYXlfZm9ybWF0X3N5c2xvZyhzdHJ1Y3QgbG9nICps b2csIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IGxldmVsLCBjb25zdCBjaGFyICpmaTxicj4KJm5i c3A7PGJyPgombmJzcDsJLyogRm9ybWF0IHN5c2xvZyBoZWFkZXIgYWNjb3JkaW5nIHRvIFJGQyAq Lzxicj4KJm5ic3A7CWludCBwcmlvID0gbGV2ZWxfdG9fc3lzbG9nX3ByaW9yaXR5KGxldmVsKTs8 YnI+Ci0JU05QUklOVCh0b3RhbCwgc25wcmludGYsIGJ1ZiwgbGVuLCAiJmx0OyVkJmd0OyIsIExP R19NQUtFUFJJKDEsIHByaW8pKTs8YnI+CisJU05QUklOVCh0b3RhbCwgc25wcmludGYsIGJ1Ziwg bGVuLCAiJmx0OyVkJmd0OyIsPGJyPgorCQlMT0dfTUFLRVBSSSg4ICogbG9nLSZndDtzeXNsb2df ZmFjaWxpdHksIHByaW8pKTs8YnI+CiZuYnNwOwlTTlBSSU5UKHRvdGFsLCBzdHJmdGltZSwgYnVm LCBsZW4sICIlaCAlZSAlVCAiLCAmYW1wO3RtKTs8YnI+CiZuYnNwOwlTTlBSSU5UKHRvdGFsLCBz bnByaW50ZiwgYnVmLCBsZW4sICIlc1slZF06IiwgbG9nLSZndDtzeXNsb2dfaWRlbnQsIGdldHBp ZCgpKTs8YnI+CiZuYnNwOzxicj4KJm5ic3A7CS8qIEZvcm1hdCBtZXNzYWdlICovPGJyPgombmJz cDsJU05QUklOVCh0b3RhbCwgc2F5X2Zvcm1hdF9wbGFpbl90YWlsLCBidWYsIGxlbiwgbGV2ZWws IGZpbGVuYW1lLCBsaW5lLDxicj4KJm5ic3A7CQllcnJvciwgZm9ybWF0LCBhcCk7PGJyPgotPGJy PgombmJzcDsJcmV0dXJuIHRvdGFsOzxicj4KJm5ic3A7fTxicj4KJm5ic3A7PGJyPgpAQCAtOTYz LDExICs5NzIsNDUgQEAgc2F5X3BhcnNlX2xvZ2dlcl90eXBlKGNvbnN0IGNoYXIgKipzdHIsIGVu dW0gc2F5X2xvZ2dlcl90eXBlICp0eXBlKTxicj4KJm5ic3A7CXJldHVybiAwOzxicj4KJm5ic3A7 fTxicj4KJm5ic3A7PGJyPgorc3RhdGljIGNvbnN0IGNoYXIgKnN5c2xvZ19mYWNpbGl0eV9zdHJz W10gPSB7PGJyPgorCVtTWVNMT0dfS0VSTl0gPSAia2VybiIsPGJyPgorCVtTWVNMT0dfVVNFUl0g PSAidXNlciIsPGJyPgorCVtTWVNMT0dfTUFJTF0gPSAibWFpbCIsPGJyPgorCVtTWVNMT0dfREFF TU9OXSA9ICJkYWVtb24iLDxicj4KKwlbU1lTTE9HX0FVVEhdID0gImF1dGgiLDxicj4KKwlbU1lT TE9HX0lOVEVSTl0gPSAiaW50ZXJuIiw8YnI+CisJW1NZU0xPR19MUFJdID0gImxwciIsPGJyPgor CVtTWVNMT0dfTkVXU10gPSAibmV3cyIsPGJyPgorCVtTWVNMT0dfVVVDUF0gPSAidXVjcCIsPGJy PgorCVtTWVNMT0dfQ0xPQ0tdID0gImNsb2NrIiw8YnI+CisJW1NZU0xPR19BVVRIUFJJVl0gPSAi YXV0aHByaXYiLDxicj4KKwlbU1lTTE9HX0ZUUF0gPSAiZnRwIiw8YnI+CisJW1NZU0xPR19OVFBd ID0gIm50cCIsPGJyPgorCVtTWVNMT0dfQVVESVRdID0gImF1ZGl0Iiw8YnI+CisJW1NZU0xPR19B TEVSVF0gPSAiYWxlcnQiLDxicj4KKwlbU1lTTE9HX0NST05dID0gImNyb24iLDxicj4KKwlbU1lT TE9HX0xPQ0FMMF0gPSAibG9jYWwwIiw8YnI+CisJW1NZU0xPR19MT0NBTDFdID0gImxvY2FsMSIs PGJyPgorCVtTWVNMT0dfTE9DQUwyXSA9ICJsb2NhbDIiLDxicj4KKwlbU1lTTE9HX0xPQ0FMM10g PSAibG9jYWwzIiw8YnI+CisJW1NZU0xPR19MT0NBTDRdID0gImxvY2FsNCIsPGJyPgorCVtTWVNM T0dfTE9DQUw1XSA9ICJsb2NhbDUiLDxicj4KKwlbU1lTTE9HX0xPQ0FMNl0gPSAibG9jYWw2Iiw8 YnI+CisJW1NZU0xPR19MT0NBTDddID0gImxvY2FsNyIsPGJyPgorCVtzeXNsb2dfZmFjaWxpdHlf TUFYXSA9ICJ1bmtub3duIiw8YnI+Cit9Ozxicj4KKzxicj4KK2VudW0gc3lzbG9nX2ZhY2lsaXR5 PGJyPgorc2F5X3N5c2xvZ19mYWNpbGl0eV9ieV9uYW1lKGNvbnN0IGNoYXIgKmZhY2lsaXR5KTxi cj4KK3s8YnI+CisJcmV0dXJuIFNUUjJFTlVNKHN5c2xvZ19mYWNpbGl0eSwgZmFjaWxpdHkpOzxi cj4KK308YnI+Cis8YnI+CiZuYnNwO2ludDxicj4KJm5ic3A7c2F5X3BhcnNlX3N5c2xvZ19vcHRz KGNvbnN0IGNoYXIgKmluaXRfc3RyLCBzdHJ1Y3Qgc2F5X3N5c2xvZ19vcHRzICpvcHRzKTxicj4K Jm5ic3A7ezxicj4KJm5ic3A7CW9wdHMtJmd0O2lkZW50aXR5ID0gTlVMTDs8YnI+Ci0Jb3B0cy0m Z3Q7ZmFjaWxpdHkgPSBOVUxMOzxicj4KKwlvcHRzLSZndDtmYWNpbGl0eSA9IHN5c2xvZ19mYWNp bGl0eV9NQVg7PGJyPgombmJzcDsJb3B0cy0mZ3Q7Y29weSA9IHN0cmR1cChpbml0X3N0cik7PGJy PgombmJzcDsJaWYgKG9wdHMtJmd0O2NvcHkgPT0gTlVMTCkgezxicj4KJm5ic3A7CQlkaWFnX3Nl dChPdXRPZk1lbW9yeSwgc3RybGVuKGluaXRfc3RyKSwgIm1hbGxvYyIsICJvcHRzLSZndDtjb3B5 Iik7PGJyPgpAQCAtOTg3LDkgKzEwMzAsMTQgQEAgc2F5X3BhcnNlX3N5c2xvZ19vcHRzKGNvbnN0 IGNoYXIgKmluaXRfc3RyLCBzdHJ1Y3Qgc2F5X3N5c2xvZ19vcHRzICpvcHRzKTxicj4KJm5ic3A7 CQkJCWdvdG8gZHVwbGljYXRlOzxicj4KJm5ic3A7CQkJb3B0cy0mZ3Q7aWRlbnRpdHkgPSB2YWx1 ZTs8YnI+CiZuYnNwOwkJfSBlbHNlIGlmIChzYXlfcGFyc2VfcHJlZml4KCZhbXA7dmFsdWUsICJm YWNpbGl0eT0iKSkgezxicj4KLQkJCWlmIChvcHRzLSZndDtmYWNpbGl0eSAhPSBOVUxMKTxicj4K KwkJCWlmIChvcHRzLSZndDtmYWNpbGl0eSAhPSBzeXNsb2dfZmFjaWxpdHlfTUFYKTxicj4KJm5i c3A7CQkJCWdvdG8gZHVwbGljYXRlOzxicj4KLQkJCW9wdHMtJmd0O2ZhY2lsaXR5ID0gdmFsdWU7 PGJyPgorCQkJb3B0cy0mZ3Q7ZmFjaWxpdHkgPSBzYXlfc3lzbG9nX2ZhY2lsaXR5X2J5X25hbWUo dmFsdWUpOzxicj4KKwkJCWlmIChvcHRzLSZndDtmYWNpbGl0eSA9PSBzeXNsb2dfZmFjaWxpdHlf TUFYKSB7PGJyPgorCQkJCWRpYWdfc2V0KElsbGVnYWxQYXJhbXMsICJiYWQgc3lzbG9nIGZhY2ls aXR5IG9wdGlvbiAnJXMnIiw8YnI+CisJCQkJCSB2YWx1ZSk7PGJyPgorCQkJCWdvdG8gZXJyb3I7 PGJyPgorCQkJfTxicj4KJm5ic3A7CQl9IGVsc2Ugezxicj4KJm5ic3A7CQkJZGlhZ19zZXQoSWxs ZWdhbFBhcmFtcywgImJhZCBvcHRpb24gJyVzJyIsIG9wdGlvbik7PGJyPgombmJzcDsJCQlnb3Rv IGVycm9yOzxicj4KZGlmZiAtLWdpdCBhL3NyYy9zYXkuaCBiL3NyYy9zYXkuaDxicj4KaW5kZXgg NDZlNjk3Ni4uMDcwM2M2YSAxMDA2NDQ8YnI+Ci0tLSBhL3NyYy9zYXkuaDxicj4KKysrIGIvc3Jj L3NheS5oPGJyPgpAQCAtOTcsNiArOTcsMzQgQEAgZW51bSBzYXlfbG9nZ2VyX3R5cGUgezxicj4K Jm5ic3A7CVNBWV9MT0dHRVJfU1lTTE9HPGJyPgombmJzcDt9Ozxicj4KJm5ic3A7PGJyPgorZW51 bSBzeXNsb2dfZmFjaWxpdHkgezxicj4KKwlTWVNMT0dfS0VSTiA9IDAsPGJyPgorCVNZU0xPR19V U0VSLDxicj4KKwlTWVNMT0dfTUFJTCw8YnI+CisJU1lTTE9HX0RBRU1PTiw8YnI+CisJU1lTTE9H X0FVVEgsPGJyPgorCVNZU0xPR19JTlRFUk4sPGJyPgorCVNZU0xPR19MUFIsPGJyPgorCVNZU0xP R19ORVdTLDxicj4KKwlTWVNMT0dfVVVDUCw8YnI+CisJU1lTTE9HX0NMT0NLLDxicj4KKwlTWVNM T0dfQVVUSFBSSVYsPGJyPgorCVNZU0xPR19GVFAsPGJyPgorCVNZU0xPR19OVFAsPGJyPgorCVNZ U0xPR19BVURJVCw8YnI+CisJU1lTTE9HX0FMRVJULDxicj4KKwlTWVNMT0dfQ1JPTiw8YnI+CisJ U1lTTE9HX0xPQ0FMMCw8YnI+CisJU1lTTE9HX0xPQ0FMMSw8YnI+CisJU1lTTE9HX0xPQ0FMMiw8 YnI+CisJU1lTTE9HX0xPQ0FMMyw8YnI+CisJU1lTTE9HX0xPQ0FMNCw8YnI+CisJU1lTTE9HX0xP Q0FMNSw8YnI+CisJU1lTTE9HX0xPQ0FMNiw8YnI+CisJU1lTTE9HX0xPQ0FMNyw8YnI+CisJc3lz bG9nX2ZhY2lsaXR5X01BWCw8YnI+Cit9Ozxicj4KKzxicj4KJm5ic3A7c3RydWN0IGxvZzs8YnI+ CiZuYnNwOzxicj4KJm5ic3A7dHlwZWRlZiBpbnQgKCpsb2dfZm9ybWF0X2Z1bmNfdCkoc3RydWN0 IGxvZyAqbG9nLCBjaGFyICpidWYsIGludCBsZW4sIGludCBsZXZlbCw8YnI+CkBAIC0xMTksNiAr MTQ3LDcgQEAgc3RydWN0IGxvZyB7PGJyPgombmJzcDsJcGlkX3QgcGlkOzxicj4KJm5ic3A7CS8q IEFwcGxpY2F0aW9uIGlkZW50aWZpZXIgdXNlZCB0byBncm91cCBzeXNsb2cgbWVzc2FnZXMuICov PGJyPgombmJzcDsJY2hhciAqc3lzbG9nX2lkZW50Ozxicj4KKwllbnVtIHN5c2xvZ19mYWNpbGl0 eSBzeXNsb2dfZmFjaWxpdHk7PGJyPgombmJzcDsJc3RydWN0IHJsaXN0IGluX2xvZ19saXN0Ozxi cj4KJm5ic3A7fTs8YnI+CiZuYnNwOzxicj4KQEAgLTM0OSw3ICszNzgsNyBAQCBzYXlfcGFyc2Vf bG9nZ2VyX3R5cGUoY29uc3QgY2hhciAqKnN0ciwgZW51bSBzYXlfbG9nZ2VyX3R5cGUgKnR5cGUp Ozxicj4KJm5ic3A7LyoqIFN5c2xvZyBsb2dnZXIgaW5pdGlhbGl6YXRpb24gcGFyYW1zICovPGJy PgombmJzcDtzdHJ1Y3Qgc2F5X3N5c2xvZ19vcHRzIHs8YnI+CiZuYnNwOwljb25zdCBjaGFyICpp ZGVudGl0eTs8YnI+Ci0JY29uc3QgY2hhciAqZmFjaWxpdHk7PGJyPgorCWVudW0gc3lzbG9nX2Zh Y2lsaXR5IGZhY2lsaXR5Ozxicj4KJm5ic3A7CS8qIElucHV0IGNvcHkgKGNvbnRlbnQgdW5zcGVj aWZpZWQpLiAqLzxicj4KJm5ic3A7CWNoYXIgKmNvcHk7PGJyPgombmJzcDt9Ozxicj4KZGlmZiAt LWdpdCBhL3Rlc3QvdW5pdC9zYXkuYyBiL3Rlc3QvdW5pdC9zYXkuYzxicj4KaW5kZXggOGM5OTZi YS4uNGU1ZGU3NSAxMDA2NDQ8YnI+Ci0tLSBhL3Rlc3QvdW5pdC9zYXkuYzxicj4KKysrIGIvdGVz dC91bml0L3NheS5jPGJyPgpAQCAtMzksNyArMzksNyBAQCBwYXJzZV9zeXNsb2dfb3B0cyhjb25z dCBjaGFyICppbnB1dCk8YnI+CiZuYnNwOwlpZiAob3B0cy5pZGVudGl0eSk8YnI+CiZuYnNwOwkJ bm90ZSgiaWRlbnRpdHk6ICVzIiwgb3B0cy5pZGVudGl0eSk7PGJyPgombmJzcDsJaWYgKG9wdHMu ZmFjaWxpdHkpPGJyPgotCQlub3RlKCJmYWNpbGl0eTogJXMiLCBvcHRzLmZhY2lsaXR5KTs8YnI+ CisJCW5vdGUoImZhY2lsaXR5OiAlaSIsIG9wdHMuZmFjaWxpdHkpOzxicj4KJm5ic3A7CXNheV9m cmVlX3N5c2xvZ19vcHRzKCZhbXA7b3B0cyk7PGJyPgombmJzcDsJcmV0dXJuIDA7PGJyPgombmJz cDt9PGJyPgpAQCAtMTI0LDcgKzEyNCw3IEBAIGludCBtYWluKCk8YnI+CiZuYnNwOwlmaWJlcl9p bml0KGZpYmVyX2NfaW52b2tlKTs8YnI+CiZuYnNwOwlzYXlfbG9nZ2VyX2luaXQoIi9kZXYvbnVs bCIsIFNfSU5GTywgMCwgInBsYWluIiwgMCk7PGJyPgombmJzcDs8YnI+Ci0JcGxhbigyMyk7PGJy PgorCXBsYW4oMjkpOzxicj4KJm5ic3A7PGJyPgombmJzcDsjZGVmaW5lIFBBUlNFX0xPR0dFUl9U WVBFKGlucHV0LCByYykgXDxicj4KJm5ic3A7CW9rKHBhcnNlX2xvZ2dlcl90eXBlKGlucHV0KSA9 PSByYywgIiVzIiwgaW5wdXQpPGJyPgpAQCAtMTQ5LDcgKzE0OSwxMCBAQCBpbnQgbWFpbigpPGJy PgombmJzcDsJUEFSU0VfU1lTTE9HX09QVFMoImlkZW50aXR5PXRhcmFudG9vbCIsIDApOzxicj4K Jm5ic3A7CVBBUlNFX1NZU0xPR19PUFRTKCJmYWNpbGl0eT11c2VyIiwgMCk7PGJyPgombmJzcDsJ UEFSU0VfU1lTTE9HX09QVFMoImlkZW50aXR5PXh0YXJhbnRvb2x4LGZhY2lsaXR5PWxvY2FsMSIs IDApOzxicj4KLQlQQVJTRV9TWVNMT0dfT1BUUygiZmFjaWxpdHk9Zm9vLGlkZW50aXR5PWJhciIs IDApOzxicj4KKwlQQVJTRV9TWVNMT0dfT1BUUygiaWRlbnRpdHk9eHRhcmFudG9vbHgsZmFjaWxp dHk9a2VybiIsIDApOzxicj4KKwlQQVJTRV9TWVNMT0dfT1BUUygiaWRlbnRpdHk9eHRhcmFudG9v bHgsZmFjaWxpdHk9dXVjcCIsIDApOzxicj4KKwlQQVJTRV9TWVNMT0dfT1BUUygiaWRlbnRpdHk9 eHRhcmFudG9vbHgsZmFjaWxpdHk9Zm9vIiwgLTEpOzxicj4KKwlQQVJTRV9TWVNMT0dfT1BUUygi ZmFjaWxpdHk9YXV0aHByaXYsaWRlbnRpdHk9YmFyIiwgMCk7PGJyPgombmJzcDsJUEFSU0VfU1lT TE9HX09QVFMoImludmFsaWQ9IiwgLTEpOzxicj4KJm5ic3A7CVBBUlNFX1NZU0xPR19PUFRTKCJm YWNpbGl0eT1sb2NhbDEsZmFjaWxpdHk9bG9jYWwyIiwgLTEpOzxicj4KJm5ic3A7CVBBUlNFX1NZ U0xPR19PUFRTKCJpZGVudGl0eT1mb28saWRlbnRpdHk9YmFyIiwgLTEpOzxicj4KQEAgLTE3MCw3 ICsxNzMsNyBAQCBpbnQgbWFpbigpPGJyPgombmJzcDsJbG9nX3NldF9mb3JtYXQoJmFtcDt0ZXN0 X2xvZywgZm9ybWF0X2Z1bmNfY3VzdG9tKTs8YnI+CiZuYnNwOwlsb2dfc2F5KCZhbXA7dGVzdF9s b2csIDAsIE5VTEwsIDAsIE5VTEwsICJoZWxsbyAlcyIsICJ1c2VyIik7PGJyPgombmJzcDs8YnI+ Ci0JRklMRSogZmQgPSBmb3Blbih0bXBfZmlsZW5hbWUsICJyIik7PGJyPgorCUZJTEUqIGZkID0g Zm9wZW4odG1wX2ZpbGVuYW1lLCAicisiKTs8YnI+CiZuYnNwOwljb25zdCBzaXplX3QgbGVuID0g NDA5Njs8YnI+CiZuYnNwOwljaGFyIGxpbmVbbGVuXTs8YnI+CiZuYnNwOzxicj4KQEAgLTE4Nyw2 ICsxOTAsMjEgQEAgaW50IG1haW4oKTxicj4KJm5ic3A7CX08YnI+CiZuYnNwOwlsb2dfZGVzdHJv eSgmYW1wO3Rlc3RfbG9nKTs8YnI+CiZuYnNwOzxicj4KKwlsb2dfY3JlYXRlKCZhbXA7dGVzdF9s b2csICJzeXNsb2c6aWRlbnRpdHk9dGFyYW50b29sLGZhY2lsaXR5PWxvY2FsMCIsIGZhbHNlKTs8 YnI+CisJdGVzdF9sb2cuZmQgPSBmaWxlbm8oZmQpOzxicj4KKwkvKiByZWRpcmVjdCBzdGRlcnIg dG8gL2Rldi9udWxsIGluIG9yZGVyIHRvIGZpbHRlcjxicj4KKwkgKiBpdCBvdXQgZnJvbSByZXN1 bHQgZmlsZS48YnI+CisJICovPGJyPgorCWZyZW9wZW4oIi9kZXYvbnVsbCIsICJ3Iiwgc3RkZXJy KTs8YnI+CisJb2soc3RybmNtcCh0ZXN0X2xvZy5zeXNsb2dfaWRlbnQsICJ0YXJhbnRvb2wiLCA5 KSA9PSAwLCAicGFyc2VkIGlkZW50aXR5Iik7PGJyPgorCW9rKHRlc3RfbG9nLnN5c2xvZ19mYWNp bGl0eSA9PSBTWVNMT0dfTE9DQUwwLCAicGFyc2VkIGZhY2lsaXR5Iik7PGJyPgorCWxvbmcgYmVm b3JlID0gZnRlbGwoZmQpOzxicj4KKwlsb2dfc2F5KCZhbXA7dGVzdF9sb2csIDAsIE5VTEwsIDAs IE5VTEwsICJoZWxsbyAlcyIsICJ1c2VyIik7PGJyPgorCWZzZWVrKGZkLCBiZWZvcmUsIFNFRUtf U0VUKTs8YnI+Cis8YnI+CisJaWYgKGZnZXRzKGxpbmUsIGxlbiwgZmQpICE9IE5VTEwpIHs8YnI+ CisJCW9rKHN0cnN0cihsaW5lLCAiJmx0OzEzMSZndDsiKSAhPSBOVUxMLCAic3lzbG9nIGxpbmUi KTs8YnI+CisJfTxicj4KJm5ic3A7CS8vIHRlc3Qgb24gbG9nX3JvdGF0ZSBzaWduYWwgaGFuZGxp bmc8YnI+CiZuYnNwOwlzdHJ1Y3QgZXZfc2lnbmFsIGV2X3NpZzs8YnI+CiZuYnNwOwlldl9zaWdu YWxfaW5pdCgmYW1wO2V2X3NpZywgc2F5X2xvZ3JvdGF0ZSwgU0lHSFVQKTs8YnI+CmRpZmYgLS1n aXQgYS90ZXN0L3VuaXQvc2F5LnJlc3VsdCBiL3Rlc3QvdW5pdC9zYXkucmVzdWx0PGJyPgppbmRl eCBkZmQzZmMwLi5kYjdiZWZiIDEwMDY0NDxicj4KLS0tIGEvdGVzdC91bml0L3NheS5yZXN1bHQ8 YnI+CisrKyBiL3Rlc3QvdW5pdC9zYXkucmVzdWx0PGJyPgpAQCAtMSw0ICsxLDQgQEA8YnI+Ci0x Li4yMzxicj4KKzEuLjI5PGJyPgombmJzcDsjIHR5cGU6IGZpbGU8YnI+CiZuYnNwOyMgbmV4dDog PGJyPgombmJzcDtvayAxIC0gPGJyPgpAQCAtMzMsMjAgKzMzLDMxIEBAIG9rIDEwIC0gc3lzbG9n OmlkZW50aXR5PTxicj4KJm5ic3A7b2sgMTEgLSB1bmtub3duOjxicj4KJm5ic3A7IyBuZXh0OiB1 bmtub3duOmV4YW1wbGUub3JnPGJyPgombmJzcDtvayAxMiAtIHVua25vd246ZXhhbXBsZS5vcmc8 YnI+CisjIGZhY2lsaXR5OiAyNDxicj4KJm5ic3A7b2sgMTMgLSA8YnI+CiZuYnNwOyMgaWRlbnRp dHk6IHRhcmFudG9vbDxicj4KKyMgZmFjaWxpdHk6IDI0PGJyPgombmJzcDtvayAxNCAtIGlkZW50 aXR5PXRhcmFudG9vbDxicj4KLSMgZmFjaWxpdHk6IHVzZXI8YnI+CisjIGZhY2lsaXR5OiAxPGJy PgombmJzcDtvayAxNSAtIGZhY2lsaXR5PXVzZXI8YnI+CiZuYnNwOyMgaWRlbnRpdHk6IHh0YXJh bnRvb2x4PGJyPgotIyBmYWNpbGl0eTogbG9jYWwxPGJyPgorIyBmYWNpbGl0eTogMTc8YnI+CiZu YnNwO29rIDE2IC0gaWRlbnRpdHk9eHRhcmFudG9vbHgsZmFjaWxpdHk9bG9jYWwxPGJyPgorIyBp ZGVudGl0eTogeHRhcmFudG9vbHg8YnI+CitvayAxNyAtIGlkZW50aXR5PXh0YXJhbnRvb2x4LGZh Y2lsaXR5PWtlcm48YnI+CisjIGlkZW50aXR5OiB4dGFyYW50b29seDxicj4KKyMgZmFjaWxpdHk6 IDg8YnI+CitvayAxOCAtIGlkZW50aXR5PXh0YXJhbnRvb2x4LGZhY2lsaXR5PXV1Y3A8YnI+Citv ayAxOSAtIGlkZW50aXR5PXh0YXJhbnRvb2x4LGZhY2lsaXR5PWZvbzxicj4KJm5ic3A7IyBpZGVu dGl0eTogYmFyPGJyPgotIyBmYWNpbGl0eTogZm9vPGJyPgotb2sgMTcgLSBmYWNpbGl0eT1mb28s aWRlbnRpdHk9YmFyPGJyPgotb2sgMTggLSBpbnZhbGlkPTxicj4KLW9rIDE5IC0gZmFjaWxpdHk9 bG9jYWwxLGZhY2lsaXR5PWxvY2FsMjxicj4KLW9rIDIwIC0gaWRlbnRpdHk9Zm9vLGlkZW50aXR5 PWJhcjxicj4KLW9rIDIxIC0gcGxhaW48YnI+Ci1vayAyMiAtIGpzb248YnI+Ci1vayAyMyAtIGN1 c3RvbTxicj4KKyMgZmFjaWxpdHk6IDEwPGJyPgorb2sgMjAgLSBmYWNpbGl0eT1hdXRocHJpdixp ZGVudGl0eT1iYXI8YnI+CitvayAyMSAtIGludmFsaWQ9PGJyPgorb2sgMjIgLSBmYWNpbGl0eT1s b2NhbDEsZmFjaWxpdHk9bG9jYWwyPGJyPgorb2sgMjMgLSBpZGVudGl0eT1mb28saWRlbnRpdHk9 YmFyPGJyPgorb2sgMjQgLSBwbGFpbjxicj4KK29rIDI1IC0ganNvbjxicj4KK29rIDI2IC0gY3Vz dG9tPGJyPgorb2sgMjcgLSBwYXJzZWQgaWRlbnRpdHk8YnI+CitvayAyOCAtIHBhcnNlZCBmYWNp bGl0eTxicj4KK29rIDI5IC0gc3lzbG9nIGxpbmU8YnI+Ci0tIDxicj4KMi43LjQ8YnI+Cjxicj4K PC9kaXY+CiAgICAgICAgICAgIAogICAgICAgIAoJCQoJPC9kaXY+CgoJCjwvZGl2PgoKCgo8YnI+ PGhyPgo8YnI+LS0gPGJyPlRoYW5rIHlvdSw8YnI+SWx5YSBNYXJrb3Y8YnI+CjwvZGl2PjwvZGl2 PgogICAgICAgICAgICAKICAgICAgICAKCQk8YmFzZSB0YXJnZXQ9Il9zZWxmIiBocmVmPSJodHRw czovL2UubWFpbC5ydS8iPgoJPC9kaXY+CgoJCjwvZGl2PjxzdHlsZT48L3N0eWxlPjwvQk9EWT48 L0hUTUw+Cg== ----ALT--EA0HLxEjhlkCbcfiGDSEeLmpYR53EP941522224245--