Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ozeg6-0007ta-OC for pgsql-hackers@arkaria.postgresql.org; Mon, 28 Nov 2022 14:00:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ozeg3-0008U7-PZ for pgsql-hackers@arkaria.postgresql.org; Mon, 28 Nov 2022 14:00:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ozeg2-0008Rk-V0 for pgsql-hackers@lists.postgresql.org; Mon, 28 Nov 2022 14:00:07 +0000 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ozefw-0005RO-CQ for pgsql-hackers@postgresql.org; Mon, 28 Nov 2022 14:00:06 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id C47EA320091F; Mon, 28 Nov 2022 08:59:56 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Mon, 28 Nov 2022 08:59:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1669643996; x=1669730396; bh=xa0I93mmzqITL3Y1ydDinpTcz0d5 adYK+fIoXrKxBKA=; b=FI9v9wAtAC7LoUcXbaYZjJzc2rJuYv5swbqDjoBElnVo +TMsJXiApKcHbTQX5pAgfSLps3vqRT57PApxbDHJXrbnMOq7ONNbSc0U2ZRLTfdg dxIWEK3o0d8r4m75E7KAewDKfiHalqoqd5Jl248D7nLAg3KDNPtpZwED0dWHXXPU nRiOvJiUaZPwYinkPKdfO2iLDaqdI8P/EW/k4NqNmvZFfKDG2wdV/CGxYoNDg4Fv jqE1ZRyCrjWTAmp2MaIVVfWjz8wlOSdRpnK8HracwBJmF4zZZbPGWkCZGSbg4zX+ yoKHPh2s5hYvA9vodcA8ZXedvxMJ00Un/uhrtXHwBQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrjedvgdehlecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtkfffgggfuffvvehfhfgjsehmtderredtfeejnecuhfhrohhmpefrvghtvghr ucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgvihhsvghnthhrrghuthesvghnthgvrh hprhhishgvuggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeutdekheeuhedtvdfgffeh leetfefhieefudeitdffiedtledujefhjedufeffffenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrrdgvihhsvghnthhrrghuthes vghnthgvrhhprhhishgvuggsrdgtohhm X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 28 Nov 2022 08:59:54 -0500 (EST) Content-Type: multipart/mixed; boundary="------------bkrYzrbCpTMmcWxqKzM79vR0" Message-ID: <164fea20-dae9-d0fb-9917-772cd0068d29@enterprisedb.com> Date: Mon, 28 Nov 2022 14:59:52 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: Non-decimal integer literals To: Dean Rasheed Cc: John Naylor , pgsql-hackers References: <577603ec-787b-61b8-23a2-1bd0457ed1c7@enterprisedb.com> <2317133.1643155358@sss.pgh.pa.us> <97aa22d7-b80f-efa1-f368-3dbf73a15980@enterprisedb.com> <071c40f2-15cf-5db3-8799-dbac041bb881@enterprisedb.com> <791aee01-f488-0706-2694-08c5b57a3bdd@enterprisedb.com> Content-Language: en-US From: Peter Eisentraut In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------bkrYzrbCpTMmcWxqKzM79vR0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 23.11.22 17:25, Dean Rasheed wrote: > Taking a quick look, I noticed that there are no tests for negative > values handled in the parser. > > Giving that a spin shows that make_const() fails to correctly identify > the base of negative non-decimal integers in the T_Float case, causing > it to fall through to numeric_in() and fail: Fixed in new patch. --------------bkrYzrbCpTMmcWxqKzM79vR0 Content-Type: text/plain; charset=UTF-8; name="v11-0001-Non-decimal-integer-literals.patch" Content-Disposition: attachment; filename="v11-0001-Non-decimal-integer-literals.patch" Content-Transfer-Encoding: base64 RnJvbSAyZDdmNDE5ODExODdkZjkwNGUzZDk4NWYyNzcwZDliNWMyNmU5ZDdjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAyOCBOb3YgMjAyMiAwOToyNDoyMCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggdjExXSBOb24tZGVjaW1hbCBpbnRlZ2VyIGxpdGVyYWxzCgpBZGQgc3VwcG9y dCBmb3IgaGV4YWRlY2ltYWwsIG9jdGFsLCBhbmQgYmluYXJ5IGludGVnZXIgbGl0ZXJhbHM6 CgogICAgMHg0MkYKICAgIDBvMjczCiAgICAwYjEwMDEwMQoKcGVyIFNRTDoyMDJ4IGRyYWZ0 LgoKVGhpcyBhZGRzIHN1cHBvcnQgaW4gdGhlIGxleGVyIGFzIHdlbGwgYXMgaW4gdGhlIGlu dGVnZXIgdHlwZSBpbnB1dApmdW5jdGlvbnMuCgpEaXNjdXNzaW9uOiBodHRwczovL3d3dy5w b3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2ZsYXQvYjIzOTU2NGMtY2FkMC1iMjNlLWM1N2Ut MTY2ZDg4M2NiOTdkQGVudGVycHJpc2VkYi5jb20KLS0tCiBkb2Mvc3JjL3NnbWwvc3ludGF4 LnNnbWwgICAgICAgICAgICAgICAgICAgfCAgMzQgKysrKwogc3JjL2JhY2tlbmQvY2F0YWxv Zy9pbmZvcm1hdGlvbl9zY2hlbWEuc3FsIHwgICA2ICstCiBzcmMvYmFja2VuZC9jYXRhbG9n L3NxbF9mZWF0dXJlcy50eHQgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX25vZGUuYyAgICAgICAgICAgIHwgIDM3ICsrKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9z Y2FuLmwgICAgICAgICAgICAgICAgICB8IDEwMSArKysrKysrKy0tLQogc3JjL2JhY2tlbmQv dXRpbHMvYWR0L251bXV0aWxzLmMgICAgICAgICAgIHwgMTcwICsrKysrKysrKysrKysrKyst LQogc3JjL2ZlX3V0aWxzL3BzcWxzY2FuLmwgICAgICAgICAgICAgICAgICAgIHwgIDc4ICsr KysrKystLQogc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL3BnYy5sICAgICAgICAgIHwg MTA2ICsrKysrKy0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2ludDIub3V0ICAg ICAgICAgfCAgODAgKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2ludDQu b3V0ICAgICAgICAgfCAgODAgKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2ludDgub3V0ICAgICAgICAgfCAgODAgKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL251bWVyb2xvZ3kub3V0ICAgfCAxOTMgKysrKysrKysrKysrKysrKysrKystCiBz cmMvdGVzdC9yZWdyZXNzL3NxbC9pbnQyLnNxbCAgICAgICAgICAgICAgfCAgMjIgKysrCiBz cmMvdGVzdC9yZWdyZXNzL3NxbC9pbnQ0LnNxbCAgICAgICAgICAgICAgfCAgMjIgKysrCiBz cmMvdGVzdC9yZWdyZXNzL3NxbC9pbnQ4LnNxbCAgICAgICAgICAgICAgfCAgMjIgKysrCiBz cmMvdGVzdC9yZWdyZXNzL3NxbC9udW1lcm9sb2d5LnNxbCAgICAgICAgfCAgNTEgKysrKyst CiAxNiBmaWxlcyBjaGFuZ2VkLCA5NzQgaW5zZXJ0aW9ucygrKSwgMTA5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeW50YXguc2dtbCBiL2RvYy9zcmMvc2dt bC9zeW50YXguc2dtbAppbmRleCA5M2FkNzE3MzdmNTEuLjk1NjE4MmU3YzZhOCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL3N5bnRheC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9zeW50 YXguc2dtbApAQCAtNjk0LDYgKzY5NCw0MCBAQCA8dGl0bGU+TnVtZXJpYyBDb25zdGFudHM8 L3RpdGxlPgogPC9saXRlcmFsbGF5b3V0PgogICAgIDwvcGFyYT4KIAorICAgIDxwYXJhPgor ICAgICBBZGRpdGlvbmFsbHksIG5vbi1kZWNpbWFsIGludGVnZXIgY29uc3RhbnRzIGNhbiBi ZSB1c2VkIGluIHRoZXNlIGZvcm1zOgorPHN5bm9wc2lzPgorMHg8cmVwbGFjZWFibGU+aGV4 ZGlnaXRzPC9yZXBsYWNlYWJsZT4KKzBvPHJlcGxhY2VhYmxlPm9jdGRpZ2l0czwvcmVwbGFj ZWFibGU+CiswYjxyZXBsYWNlYWJsZT5iaW5kaWdpdHM8L3JlcGxhY2VhYmxlPgorPC9zeW5v cHNpcz4KKyAgICAgPHJlcGxhY2VhYmxlPmhleGRpZ2l0czwvcmVwbGFjZWFibGU+IGlzIG9u ZSBvciBtb3JlIGhleGFkZWNpbWFsIGRpZ2l0cworICAgICAoMC05LCBBLUYpLCA8cmVwbGFj ZWFibGU+b2N0ZGlnaXRzPC9yZXBsYWNlYWJsZT4gaXMgb25lIG9yIG1vcmUgb2N0YWwKKyAg ICAgZGlnaXRzICgwLTcpLCA8cmVwbGFjZWFibGU+YmluZGlnaXRzPC9yZXBsYWNlYWJsZT4g aXMgb25lIG9yIG1vcmUgYmluYXJ5CisgICAgIGRpZ2l0cyAoMCBvciAxKS4gIEhleGFkZWNp bWFsIGRpZ2l0cyBhbmQgdGhlIHJhZGl4IHByZWZpeGVzIGNhbiBiZSBpbgorICAgICB1cHBl ciBvciBsb3dlciBjYXNlLiAgTm90ZSB0aGF0IG9ubHkgaW50ZWdlcnMgY2FuIGhhdmUgbm9u LWRlY2ltYWwgZm9ybXMsCisgICAgIG5vdCBudW1iZXJzIHdpdGggZnJhY3Rpb25hbCBwYXJ0 cy4KKyAgICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICAgVGhlc2UgYXJlIHNvbWUgZXhh bXBsZXMgb2YgdGhpczoKKzxsaXRlcmFsbGF5b3V0PjBiMTAwMTAxCiswQjEwMDExMDAxCisw bzI3MworME83NTUKKzB4NDJmCiswWEZGRkYKKzwvbGl0ZXJhbGxheW91dD4KKyAgICA8L3Bh cmE+CisKKyAgICA8bm90ZT4KKyAgICAgPHBhcmE+CisgICAgICBOb25kZWNpbWFsIGludGVn ZXIgY29uc3RhbnRzIGFyZSBjdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgaW4gdGhlIHJhbmdl CisgICAgICBvZiB0aGUgPHR5cGU+YmlnaW50PC90eXBlPiB0eXBlIChzZWUgPHhyZWYKKyAg ICAgIGxpbmtlbmQ9ImRhdGF0eXBlLW51bWVyaWMtdGFibGUiLz4pLgorICAgICA8L3BhcmE+ CisgICAgPC9ub3RlPgorCiAgICAgPHBhcmE+CiAgICAgIDxpbmRleHRlcm0+PHByaW1hcnk+ aW50ZWdlcjwvcHJpbWFyeT48L2luZGV4dGVybT4KICAgICAgPGluZGV4dGVybT48cHJpbWFy eT5iaWdpbnQ8L3ByaW1hcnk+PC9pbmRleHRlcm0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9n L2luZm9ybWF0aW9uX3NjaGVtYS5zcWwKaW5kZXggMTg3MjVhMDJkMWZiLi45NWMyN2E2MjVl N2UgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaW5mb3JtYXRpb25fc2NoZW1h LnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwK QEAgLTExOSw3ICsxMTksNyBAQCBDUkVBVEUgRlVOQ1RJT04gX3BnX251bWVyaWNfcHJlY2lz aW9uKHR5cGlkIG9pZCwgdHlwbW9kIGludDQpIFJFVFVSTlMgaW50ZWdlcgogICAgICAgICAg V0hFTiAxNzAwIC8qbnVtZXJpYyovIFRIRU4KICAgICAgICAgICAgICAgQ0FTRSBXSEVOICQy ID0gLTEKICAgICAgICAgICAgICAgICAgICBUSEVOIG51bGwKLSAgICAgICAgICAgICAgICAg ICBFTFNFICgoJDIgLSA0KSA+PiAxNikgJiA2NTUzNQorICAgICAgICAgICAgICAgICAgIEVM U0UgKCgkMiAtIDQpID4+IDE2KSAmIDB4RkZGRgogICAgICAgICAgICAgICAgICAgIEVORAog ICAgICAgICAgV0hFTiA3MDAgLypmbG9hdDQqLyBUSEVOIDI0IC8qRkxUX01BTlRfRElHKi8K ICAgICAgICAgIFdIRU4gNzAxIC8qZmxvYXQ4Ki8gVEhFTiA1MyAvKkRCTF9NQU5UX0RJRyov CkBAIC0xNDcsNyArMTQ3LDcgQEAgQ1JFQVRFIEZVTkNUSU9OIF9wZ19udW1lcmljX3NjYWxl KHR5cGlkIG9pZCwgdHlwbW9kIGludDQpIFJFVFVSTlMgaW50ZWdlcgogICAgICAgIFdIRU4g JDEgSU4gKDE3MDApIFRIRU4KICAgICAgICAgICAgIENBU0UgV0hFTiAkMiA9IC0xCiAgICAg ICAgICAgICAgICAgIFRIRU4gbnVsbAotICAgICAgICAgICAgICAgICBFTFNFICgkMiAtIDQp ICYgNjU1MzUKKyAgICAgICAgICAgICAgICAgRUxTRSAoJDIgLSA0KSAmIDB4RkZGRgogICAg ICAgICAgICAgICAgICBFTkQKICAgICAgICBFTFNFIG51bGwKICAgRU5EOwpAQCAtMTYzLDcg KzE2Myw3IEBAIENSRUFURSBGVU5DVElPTiBfcGdfZGF0ZXRpbWVfcHJlY2lzaW9uKHR5cGlk IG9pZCwgdHlwbW9kIGludDQpIFJFVFVSTlMgaW50ZWdlcgogICAgICAgIFdIRU4gJDEgSU4g KDEwODMsIDExMTQsIDExODQsIDEyNjYpIC8qIHRpbWUsIHRpbWVzdGFtcCwgc2FtZSArIHR6 ICovCiAgICAgICAgICAgIFRIRU4gQ0FTRSBXSEVOICQyIDwgMCBUSEVOIDYgRUxTRSAkMiBF TkQKICAgICAgICBXSEVOICQxIElOICgxMTg2KSAvKiBpbnRlcnZhbCAqLwotICAgICAgICAg ICBUSEVOIENBU0UgV0hFTiAkMiA8IDAgT1IgJDIgJiA2NTUzNSA9IDY1NTM1IFRIRU4gNiBF TFNFICQyICYgNjU1MzUgRU5ECisgICAgICAgICAgIFRIRU4gQ0FTRSBXSEVOICQyIDwgMCBP UiAkMiAmIDB4RkZGRiA9IDB4RkZGRiBUSEVOIDYgRUxTRSAkMiAmIDB4RkZGRiBFTkQKICAg ICAgICBFTFNFIG51bGwKICAgRU5EOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRh bG9nL3NxbF9mZWF0dXJlcy50eHQgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJl cy50eHQKaW5kZXggODcwNGE0MmI2MGE4Li5hYmFkMjE2YjdlZTQgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvc3FsX2ZlYXR1cmVzLnR4dAorKysgYi9zcmMvYmFja2VuZC9j YXRhbG9nL3NxbF9mZWF0dXJlcy50eHQKQEAgLTUyNyw2ICs1MjcsNyBAQCBUNjUyCVNRTC1k eW5hbWljIHN0YXRlbWVudHMgaW4gU1FMIHJvdXRpbmVzCQkJTk8KIFQ2NTMJU1FMLXNjaGVt YSBzdGF0ZW1lbnRzIGluIGV4dGVybmFsIHJvdXRpbmVzCQkJWUVTCQogVDY1NAlTUUwtZHlu YW1pYyBzdGF0ZW1lbnRzIGluIGV4dGVybmFsIHJvdXRpbmVzCQkJTk8JCiBUNjU1CUN5Y2xp Y2FsbHkgZGVwZW5kZW50IHJvdXRpbmVzCQkJWUVTCQorVDY2MQlOb24tZGVjaW1hbCBpbnRl Z2VyIGxpdGVyYWxzCQkJWUVTCVNRTDoyMDJ4IGRyYWZ0CiBUODExCUJhc2ljIFNRTC9KU09O IGNvbnN0cnVjdG9yIGZ1bmN0aW9ucwkJCU5PCQogVDgxMglTUUwvSlNPTjogSlNPTl9PQkpF Q1RBR0cJCQlOTwkKIFQ4MTMJU1FML0pTT046IEpTT05fQVJSQVlBR0cgd2l0aCBPUkRFUiBC WQkJCU5PCQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX25vZGUuYyBi L3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9ub2RlLmMKaW5kZXggNDAxNGRiNGI4MGY5Li5k MzNlM2MxNzlkZjcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9ub2Rl LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX25vZGUuYwpAQCAtMzg1LDExICsz ODUsNDYgQEAgbWFrZV9jb25zdChQYXJzZVN0YXRlICpwc3RhdGUsIEFfQ29uc3QgKmFjb25z dCkKIAkJCXsKIAkJCQkvKiBjb3VsZCBiZSBhbiBvdmVyc2l6ZSBpbnRlZ2VyIGFzIHdlbGwg YXMgYSBmbG9hdCAuLi4gKi8KIAorCQkJCWludAkJCWJhc2UgPSAxMDsKKwkJCQljaGFyCSAg ICpzdGFydHB0cjsKKwkJCQlpbnQJCQlzaWduOworCQkJCWNoYXIJICAgKnRlc3R2YWx1ZTsK IAkJCQlpbnQ2NAkJdmFsNjQ7CiAJCQkJY2hhcgkgICAqZW5kcHRyOwogCisJCQkJc3RhcnRw dHIgPSBhY29uc3QtPnZhbC5mdmFsLmZ2YWw7CisJCQkJaWYgKHN0YXJ0cHRyWzBdID09ICct JykKKwkJCQl7CisJCQkJCXNpZ24gPSAtMTsKKwkJCQkJc3RhcnRwdHIrKzsKKwkJCQl9CisJ CQkJZWxzZQorCQkJCQlzaWduID0gKzE7CisJCQkJaWYgKHN0YXJ0cHRyWzBdID09ICcwJykK KwkJCQl7CisJCQkJCWlmIChzdGFydHB0clsxXSA9PSAnYicgfHwgc3RhcnRwdHJbMV0gPT0g J0InKQorCQkJCQl7CisJCQkJCQliYXNlID0gMjsKKwkJCQkJCXN0YXJ0cHRyICs9IDI7CisJ CQkJCX0KKwkJCQkJZWxzZSBpZiAoc3RhcnRwdHJbMV0gPT0gJ28nIHx8IHN0YXJ0cHRyWzFd ID09ICdPJykKKwkJCQkJeworCQkJCQkJYmFzZSA9IDg7CisJCQkJCQlzdGFydHB0ciArPSAy OworCQkJCQl9CisJCQkJCWlmIChzdGFydHB0clsxXSA9PSAneCcgfHwgc3RhcnRwdHJbMV0g PT0gJ1gnKQorCQkJCQl7CisJCQkJCQliYXNlID0gMTY7CisJCQkJCQlzdGFydHB0ciArPSAy OworCQkJCQl9CisJCQkJfQorCisJCQkJaWYgKHNpZ24gPT0gKzEpCisJCQkJCXRlc3R2YWx1 ZSA9IHN0YXJ0cHRyOworCQkJCWVsc2UKKwkJCQkJdGVzdHZhbHVlID0gcHNwcmludGYoIi0l cyIsIHN0YXJ0cHRyKTsKIAkJCQllcnJubyA9IDA7Ci0JCQkJdmFsNjQgPSBzdHJ0b2k2NChh Y29uc3QtPnZhbC5mdmFsLmZ2YWwsICZlbmRwdHIsIDEwKTsKKwkJCQl2YWw2NCA9IHN0cnRv aTY0KHRlc3R2YWx1ZSwgJmVuZHB0ciwgYmFzZSk7CiAJCQkJaWYgKGVycm5vID09IDAgJiYg KmVuZHB0ciA9PSAnXDAnKQogCQkJCXsKIAkJCQkJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3BhcnNlci9zY2FuLmwgYi9zcmMvYmFja2VuZC9wYXJzZXIvc2Nhbi5sCmluZGV4IGRi OGIwZmU4ZWJjYy4uOWFkOWUwYzhiYTc0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJz ZXIvc2Nhbi5sCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9zY2FuLmwKQEAgLTEyNCw3ICsx MjQsNyBAQCBzdGF0aWMgdm9pZCBhZGRsaXQoY2hhciAqeXRleHQsIGludCB5bGVuZywgY29y ZV95eXNjYW5fdCB5eXNjYW5uZXIpOwogc3RhdGljIHZvaWQgYWRkbGl0Y2hhcih1bnNpZ25l ZCBjaGFyIHljaGFyLCBjb3JlX3l5c2Nhbl90IHl5c2Nhbm5lcik7CiBzdGF0aWMgY2hhciAq bGl0YnVmZHVwKGNvcmVfeXlzY2FuX3QgeXlzY2FubmVyKTsKIHN0YXRpYyB1bnNpZ25lZCBj aGFyIHVuZXNjYXBlX3NpbmdsZV9jaGFyKHVuc2lnbmVkIGNoYXIgYywgY29yZV95eXNjYW5f dCB5eXNjYW5uZXIpOwotc3RhdGljIGludAlwcm9jZXNzX2ludGVnZXJfbGl0ZXJhbChjb25z dCBjaGFyICp0b2tlbiwgWVlTVFlQRSAqbHZhbCk7CitzdGF0aWMgaW50CXByb2Nlc3NfaW50 ZWdlcl9saXRlcmFsKGNvbnN0IGNoYXIgKnRva2VuLCBZWVNUWVBFICpsdmFsLCBpbnQgYmFz ZSk7CiBzdGF0aWMgdm9pZCBhZGR1bmljb2RlKHBnX3djaGFyIGMsIHl5c2Nhbl90IHl5c2Nh bm5lcik7CiAKICNkZWZpbmUgeXllcnJvcihtc2cpICBzY2FubmVyX3l5ZXJyb3IobXNnLCB5 eXNjYW5uZXIpCkBAIC0zODUsMjUgKzM4NSw0MCBAQCBvcGVyYXRvcgkJe29wX2NoYXJzfSsK ICAqIFVuYXJ5IG1pbnVzIGlzIG5vdCBwYXJ0IG9mIGEgbnVtYmVyIGhlcmUuICBJbnN0ZWFk IHdlIHBhc3MgaXQgc2VwYXJhdGVseSB0bwogICogdGhlIHBhcnNlciwgYW5kIHRoZXJlIGl0 IGdldHMgY29lcmNlZCB2aWEgZG9OZWdhdGUoKS4KICAqCi0gKiB7ZGVjaW1hbGZhaWx9IGlz IHVzZWQgYmVjYXVzZSB3ZSB3b3VsZCBsaWtlICIxLi4xMCIgdG8gbGV4IGFzIDEsIGRvdF9k b3QsIDEwLgorICoge251bWVyaWNmYWlsfSBpcyB1c2VkIGJlY2F1c2Ugd2Ugd291bGQgbGlr ZSAiMS4uMTAiIHRvIGxleCBhcyAxLCBkb3RfZG90LCAxMC4KICAqCiAgKiB7cmVhbGZhaWx9 IGlzIGFkZGVkIHRvIHByZXZlbnQgdGhlIG5lZWQgZm9yIHNjYW5uZXIKICAqIGJhY2t1cCB3 aGVuIHRoZSB7cmVhbH0gcnVsZSBmYWlscyB0byBtYXRjaCBjb21wbGV0ZWx5LgogICovCi1k aWdpdAkJCVswLTldCi0KLWludGVnZXIJCQl7ZGlnaXR9KwotZGVjaW1hbAkJCSgoe2RpZ2l0 fSpcLntkaWdpdH0rKXwoe2RpZ2l0fStcLntkaWdpdH0qKSkKLWRlY2ltYWxmYWlsCQl7ZGln aXR9K1wuXC4KLXJlYWwJCQkoe2ludGVnZXJ9fHtkZWNpbWFsfSlbRWVdWy0rXT97ZGlnaXR9 KwotcmVhbGZhaWwJCSh7aW50ZWdlcn18e2RlY2ltYWx9KVtFZV1bLStdCi0KLWludGVnZXJf anVuawl7aW50ZWdlcn17aWRlbnRfc3RhcnR9Ci1kZWNpbWFsX2p1bmsJe2RlY2ltYWx9e2lk ZW50X3N0YXJ0fQorZGVjZGlnaXQJCVswLTldCitoZXhkaWdpdAkJWzAtOUEtRmEtZl0KK29j dGRpZ2l0CQlbMC03XQorYmluZGlnaXQJCVswLTFdCisKK2RlY2ludGVnZXIJCXtkZWNkaWdp dH0rCitoZXhpbnRlZ2VyCQkwW3hYXXtoZXhkaWdpdH0rCitvY3RpbnRlZ2VyCQkwW29PXXtv Y3RkaWdpdH0rCitiaW5pbnRlZ2VyCQkwW2JCXXtiaW5kaWdpdH0rCisKK2hleGZhaWwJCQkw W3hYXQorb2N0ZmFpbAkJCTBbb09dCitiaW5mYWlsCQkJMFtiQl0KKworbnVtZXJpYwkJCSgo e2RlY2ludGVnZXJ9XC57ZGVjaW50ZWdlcn0/KXwoXC57ZGVjaW50ZWdlcn0pKQorbnVtZXJp Y2ZhaWwJCXtkZWNkaWdpdH0rXC5cLgorCityZWFsCQkJKHtkZWNpbnRlZ2VyfXx7bnVtZXJp Y30pW0VlXVstK10/e2RlY2RpZ2l0fSsKK3JlYWxmYWlsCQkoe2RlY2ludGVnZXJ9fHtudW1l cmljfSlbRWVdWy0rXQorCitkZWNpbnRlZ2VyX2p1bmsJe2RlY2ludGVnZXJ9e2lkZW50X3N0 YXJ0fQoraGV4aW50ZWdlcl9qdW5rCXtoZXhpbnRlZ2VyfXtpZGVudF9zdGFydH0KK29jdGlu dGVnZXJfanVuawl7b2N0aW50ZWdlcn17aWRlbnRfc3RhcnR9CitiaW5pbnRlZ2VyX2p1bmsJ e2JpbmludGVnZXJ9e2lkZW50X3N0YXJ0fQorbnVtZXJpY19qdW5rCXtudW1lcmljfXtpZGVu dF9zdGFydH0KIHJlYWxfanVuawkJe3JlYWx9e2lkZW50X3N0YXJ0fQogCi1wYXJhbQkJCVwk e2ludGVnZXJ9Ci1wYXJhbV9qdW5rCQlcJHtpbnRlZ2VyfXtpZGVudF9zdGFydH0KK3BhcmFt CQkJXCR7ZGVjaW50ZWdlcn0KK3BhcmFtX2p1bmsJCVwke2RlY2ludGVnZXJ9e2lkZW50X3N0 YXJ0fQogCiBvdGhlcgkJCS4KIApAQCAtOTgzLDIwICs5OTgsNDQgQEAgb3RoZXIJCQkuCiAJ CQkJCXl5ZXJyb3IoInRyYWlsaW5nIGp1bmsgYWZ0ZXIgcGFyYW1ldGVyIik7CiAJCQkJfQog Ci17aW50ZWdlcn0JCXsKK3tkZWNpbnRlZ2VyfQl7CisJCQkJCVNFVF9ZWUxMT0MoKTsKKwkJ CQkJcmV0dXJuIHByb2Nlc3NfaW50ZWdlcl9saXRlcmFsKHl5dGV4dCwgeXlsdmFsLCAxMCk7 CisJCQkJfQore2hleGludGVnZXJ9CXsKKwkJCQkJU0VUX1lZTExPQygpOworCQkJCQlyZXR1 cm4gcHJvY2Vzc19pbnRlZ2VyX2xpdGVyYWwoeXl0ZXh0LCB5eWx2YWwsIDE2KTsKKwkJCQl9 Cit7b2N0aW50ZWdlcn0JeworCQkJCQlTRVRfWVlMTE9DKCk7CisJCQkJCXJldHVybiBwcm9j ZXNzX2ludGVnZXJfbGl0ZXJhbCh5eXRleHQsIHl5bHZhbCwgOCk7CisJCQkJfQore2Jpbmlu dGVnZXJ9CXsKKwkJCQkJU0VUX1lZTExPQygpOworCQkJCQlyZXR1cm4gcHJvY2Vzc19pbnRl Z2VyX2xpdGVyYWwoeXl0ZXh0LCB5eWx2YWwsIDIpOworCQkJCX0KK3toZXhmYWlsfQkJewor CQkJCQlTRVRfWVlMTE9DKCk7CisJCQkJCXl5ZXJyb3IoImludmFsaWQgaGV4YWRlY2ltYWwg aW50ZWdlciIpOworCQkJCX0KK3tvY3RmYWlsfQkJewogCQkJCQlTRVRfWVlMTE9DKCk7Ci0J CQkJCXJldHVybiBwcm9jZXNzX2ludGVnZXJfbGl0ZXJhbCh5eXRleHQsIHl5bHZhbCk7CisJ CQkJCXl5ZXJyb3IoImludmFsaWQgb2N0YWwgaW50ZWdlciIpOwogCQkJCX0KLXtkZWNpbWFs fQkJewore2JpbmZhaWx9CQl7CisJCQkJCVNFVF9ZWUxMT0MoKTsKKwkJCQkJeXllcnJvcigi aW52YWxpZCBiaW5hcnkgaW50ZWdlciIpOworCQkJCX0KK3tudW1lcmljfQkJewogCQkJCQlT RVRfWVlMTE9DKCk7CiAJCQkJCXl5bHZhbC0+c3RyID0gcHN0cmR1cCh5eXRleHQpOwogCQkJ CQlyZXR1cm4gRkNPTlNUOwogCQkJCX0KLXtkZWNpbWFsZmFpbH0Jewore251bWVyaWNmYWls fQl7CiAJCQkJCS8qIHRocm93IGJhY2sgdGhlIC4uLCBhbmQgdHJlYXQgYXMgaW50ZWdlciAq LwogCQkJCQl5eWxlc3MoeXlsZW5nIC0gMik7CiAJCQkJCVNFVF9ZWUxMT0MoKTsKLQkJCQkJ cmV0dXJuIHByb2Nlc3NfaW50ZWdlcl9saXRlcmFsKHl5dGV4dCwgeXlsdmFsKTsKKwkJCQkJ cmV0dXJuIHByb2Nlc3NfaW50ZWdlcl9saXRlcmFsKHl5dGV4dCwgeXlsdmFsLCAxMCk7CiAJ CQkJfQoge3JlYWx9CQkJewogCQkJCQlTRVRfWVlMTE9DKCk7CkBAIC0xMDA3LDExICsxMDQ2 LDIzIEBAIG90aGVyCQkJLgogCQkJCQlTRVRfWVlMTE9DKCk7CiAJCQkJCXl5ZXJyb3IoInRy YWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIik7CiAJCQkJfQote2ludGVnZXJf anVua30Jewore2RlY2ludGVnZXJfanVua30JeworCQkJCQlTRVRfWVlMTE9DKCk7CisJCQkJ CXl5ZXJyb3IoInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIik7CisJCQkJ fQore2hleGludGVnZXJfanVua30JeworCQkJCQlTRVRfWVlMTE9DKCk7CisJCQkJCXl5ZXJy b3IoInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIik7CisJCQkJfQore29j dGludGVnZXJfanVua30JeworCQkJCQlTRVRfWVlMTE9DKCk7CisJCQkJCXl5ZXJyb3IoInRy YWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIik7CisJCQkJfQore2JpbmludGVn ZXJfanVua30JewogCQkJCQlTRVRfWVlMTE9DKCk7CiAJCQkJCXl5ZXJyb3IoInRyYWlsaW5n IGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIik7CiAJCQkJfQote2RlY2ltYWxfanVua30J ewore251bWVyaWNfanVua30JewogCQkJCQlTRVRfWVlMTE9DKCk7CiAJCQkJCXl5ZXJyb3Io InRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIik7CiAJCQkJfQpAQCAtMTMw NywxNyArMTM1OCwxNyBAQCBsaXRidWZkdXAoY29yZV95eXNjYW5fdCB5eXNjYW5uZXIpCiB9 CiAKIC8qCi0gKiBQcm9jZXNzIHtpbnRlZ2VyfS4gIE5vdGUgdGhpcyB3aWxsIGFsc28gZG8g dGhlIHJpZ2h0IHRoaW5nIHdpdGgge2RlY2ltYWx9LAotICogaWUgZGlnaXRzIGFuZCBhIGRl Y2ltYWwgcG9pbnQuCisgKiBQcm9jZXNzIHtkZWNpbnRlZ2VyfSwge2hleGludGVnZXJ9LCBl dGMuICBOb3RlIHRoaXMgd2lsbCBhbHNvIGRvIHRoZSByaWdodAorICogdGhpbmcgd2l0aCB7 bnVtZXJpY30sIGllIGRpZ2l0cyBhbmQgYSBkZWNpbWFsIHBvaW50LgogICovCiBzdGF0aWMg aW50Ci1wcm9jZXNzX2ludGVnZXJfbGl0ZXJhbChjb25zdCBjaGFyICp0b2tlbiwgWVlTVFlQ RSAqbHZhbCkKK3Byb2Nlc3NfaW50ZWdlcl9saXRlcmFsKGNvbnN0IGNoYXIgKnRva2VuLCBZ WVNUWVBFICpsdmFsLCBpbnQgYmFzZSkKIHsKIAlpbnQJCQl2YWw7CiAJY2hhcgkgICAqZW5k cHRyOwogCiAJZXJybm8gPSAwOwotCXZhbCA9IHN0cnRvaW50KHRva2VuLCAmZW5kcHRyLCAx MCk7CisJdmFsID0gc3RydG9pbnQoYmFzZSA9PSAxMCA/IHRva2VuIDogdG9rZW4gKyAyLCAm ZW5kcHRyLCBiYXNlKTsKIAlpZiAoKmVuZHB0ciAhPSAnXDAnIHx8IGVycm5vID09IEVSQU5H RSkKIAl7CiAJCS8qIGludGVnZXIgdG9vIGxhcmdlIChvciBjb250YWlucyBkZWNpbWFsIHB0 KSwgdHJlYXQgaXQgYXMgYSBmbG9hdCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L251bXV0aWxzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvbnVtdXRpbHMuYwpp bmRleCA4MzRlYzBiNTg4MmMuLjI5NDJiN2M0NDkwNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L251bXV0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251 bXV0aWxzLmMKQEAgLTg1LDYgKzg1LDE3IEBAIGRlY2ltYWxMZW5ndGg2NChjb25zdCB1aW50 NjQgdikKIAlyZXR1cm4gdCArICh2ID49IFBvd2Vyc09mVGVuW3RdKTsKIH0KIAorc3RhdGlj IGNvbnN0IGludDggaGV4bG9va3VwWzEyOF0gPSB7CisJLTEsIC0xLCAtMSwgLTEsIC0xLCAt MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisJLTEsIC0xLCAt MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEs CisJLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEs IC0xLCAtMSwgLTEsCisJMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgLTEsIC0xLCAt MSwgLTEsIC0xLCAtMSwKKwktMSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgLTEsIC0xLCAt MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKwktMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAt MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKwktMSwgMTAsIDExLCAx MiwgMTMsIDE0LCAxNSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKwkt MSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEs IC0xLCAtMSwKK307CisKIC8qCiAgKiBDb252ZXJ0IGlucHV0IHN0cmluZyB0byBhIHNpZ25l ZCAxNiBiaXQgaW50ZWdlci4KICAqCkBAIC0xMjAsMTMgKzEzMSw1NiBAQCBwZ19zdHJ0b2lu dDE2KGNvbnN0IGNoYXIgKnMpCiAJCWdvdG8gaW52YWxpZF9zeW50YXg7CiAKIAkvKiBwcm9j ZXNzIGRpZ2l0cyAqLwotCXdoaWxlICgqcHRyICYmIGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIp ICpwdHIpKQorCWlmIChwdHJbMF0gPT0gJzAnICYmIChwdHJbMV0gPT0gJ3gnIHx8IHB0clsx XSA9PSAnWCcpKQogCXsKLQkJaW50OAkJZGlnaXQgPSAoKnB0cisrIC0gJzAnKTsKKwkJcHRy ICs9IDI7CisJCXdoaWxlICgqcHRyICYmIGlzeGRpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqcHRy KSkKKwkJeworCQkJaW50OAkJZGlnaXQgPSBoZXhsb29rdXBbKHVuc2lnbmVkIGNoYXIpICpw dHJdOwogCi0JCWlmICh1bmxpa2VseShwZ19tdWxfczE2X292ZXJmbG93KHRtcCwgMTAsICZ0 bXApKSB8fAotCQkJdW5saWtlbHkocGdfc3ViX3MxNl9vdmVyZmxvdyh0bXAsIGRpZ2l0LCAm dG1wKSkpCi0JCQlnb3RvIG91dF9vZl9yYW5nZTsKKwkJCWlmICh1bmxpa2VseShwZ19tdWxf czE2X292ZXJmbG93KHRtcCwgMTYsICZ0bXApKSB8fAorCQkJCXVubGlrZWx5KHBnX3N1Yl9z MTZfb3ZlcmZsb3codG1wLCBkaWdpdCwgJnRtcCkpKQorCQkJCWdvdG8gb3V0X29mX3Jhbmdl OworCisJCQlwdHIrKzsKKwkJfQorCX0KKwllbHNlIGlmIChwdHJbMF0gPT0gJzAnICYmIChw dHJbMV0gPT0gJ28nIHx8IHB0clsxXSA9PSAnTycpKQorCXsKKwkJcHRyICs9IDI7CisKKwkJ d2hpbGUgKCpwdHIgJiYgKCpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzcnKSkKKwkJeworCQkJ aW50OAkJZGlnaXQgPSAoKnB0cisrIC0gJzAnKTsKKworCQkJaWYgKHVubGlrZWx5KHBnX211 bF9zMTZfb3ZlcmZsb3codG1wLCA4LCAmdG1wKSkgfHwKKwkJCQl1bmxpa2VseShwZ19zdWJf czE2X292ZXJmbG93KHRtcCwgZGlnaXQsICZ0bXApKSkKKwkJCQlnb3RvIG91dF9vZl9yYW5n ZTsKKwkJfQorCX0KKwllbHNlIGlmIChwdHJbMF0gPT0gJzAnICYmIChwdHJbMV0gPT0gJ2In IHx8IHB0clsxXSA9PSAnQicpKQorCXsKKwkJcHRyICs9IDI7CisKKwkJd2hpbGUgKCpwdHIg JiYgKCpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzEnKSkKKwkJeworCQkJaW50OAkJZGlnaXQg PSAoKnB0cisrIC0gJzAnKTsKKworCQkJaWYgKHVubGlrZWx5KHBnX211bF9zMTZfb3ZlcmZs b3codG1wLCAyLCAmdG1wKSkgfHwKKwkJCQl1bmxpa2VseShwZ19zdWJfczE2X292ZXJmbG93 KHRtcCwgZGlnaXQsICZ0bXApKSkKKwkJCQlnb3RvIG91dF9vZl9yYW5nZTsKKwkJfQorCX0K KwllbHNlCisJeworCQl3aGlsZSAoKnB0ciAmJiBpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSAq cHRyKSkKKwkJeworCQkJaW50OAkJZGlnaXQgPSAoKnB0cisrIC0gJzAnKTsKKworCQkJaWYg KHVubGlrZWx5KHBnX211bF9zMTZfb3ZlcmZsb3codG1wLCAxMCwgJnRtcCkpIHx8CisJCQkJ dW5saWtlbHkocGdfc3ViX3MxNl9vdmVyZmxvdyh0bXAsIGRpZ2l0LCAmdG1wKSkpCisJCQkJ Z290byBvdXRfb2ZfcmFuZ2U7CisJCX0KIAl9CiAKIAkvKiBhbGxvdyB0cmFpbGluZyB3aGl0 ZXNwYWNlLCBidXQgbm90IG90aGVyIHRyYWlsaW5nIGNoYXJzICovCkBAIC0xOTYsMTMgKzI1 MCw1NiBAQCBwZ19zdHJ0b2ludDMyKGNvbnN0IGNoYXIgKnMpCiAJCWdvdG8gaW52YWxpZF9z eW50YXg7CiAKIAkvKiBwcm9jZXNzIGRpZ2l0cyAqLwotCXdoaWxlICgqcHRyICYmIGlzZGln aXQoKHVuc2lnbmVkIGNoYXIpICpwdHIpKQorCWlmIChwdHJbMF0gPT0gJzAnICYmIChwdHJb MV0gPT0gJ3gnIHx8IHB0clsxXSA9PSAnWCcpKQogCXsKLQkJaW50OAkJZGlnaXQgPSAoKnB0 cisrIC0gJzAnKTsKKwkJcHRyICs9IDI7CisJCXdoaWxlICgqcHRyICYmIGlzeGRpZ2l0KCh1 bnNpZ25lZCBjaGFyKSAqcHRyKSkKKwkJeworCQkJaW50OAkJZGlnaXQgPSBoZXhsb29rdXBb KHVuc2lnbmVkIGNoYXIpICpwdHJdOwogCi0JCWlmICh1bmxpa2VseShwZ19tdWxfczMyX292 ZXJmbG93KHRtcCwgMTAsICZ0bXApKSB8fAotCQkJdW5saWtlbHkocGdfc3ViX3MzMl9vdmVy Zmxvdyh0bXAsIGRpZ2l0LCAmdG1wKSkpCi0JCQlnb3RvIG91dF9vZl9yYW5nZTsKKwkJCWlm ICh1bmxpa2VseShwZ19tdWxfczMyX292ZXJmbG93KHRtcCwgMTYsICZ0bXApKSB8fAorCQkJ CXVubGlrZWx5KHBnX3N1Yl9zMzJfb3ZlcmZsb3codG1wLCBkaWdpdCwgJnRtcCkpKQorCQkJ CWdvdG8gb3V0X29mX3JhbmdlOworCisJCQlwdHIrKzsKKwkJfQorCX0KKwllbHNlIGlmIChw dHJbMF0gPT0gJzAnICYmIChwdHJbMV0gPT0gJ28nIHx8IHB0clsxXSA9PSAnTycpKQorCXsK KwkJcHRyICs9IDI7CisKKwkJd2hpbGUgKCpwdHIgJiYgKCpwdHIgPj0gJzAnICYmICpwdHIg PD0gJzcnKSkKKwkJeworCQkJaW50OAkJZGlnaXQgPSAoKnB0cisrIC0gJzAnKTsKKworCQkJ aWYgKHVubGlrZWx5KHBnX211bF9zMzJfb3ZlcmZsb3codG1wLCA4LCAmdG1wKSkgfHwKKwkJ CQl1bmxpa2VseShwZ19zdWJfczMyX292ZXJmbG93KHRtcCwgZGlnaXQsICZ0bXApKSkKKwkJ CQlnb3RvIG91dF9vZl9yYW5nZTsKKwkJfQorCX0KKwllbHNlIGlmIChwdHJbMF0gPT0gJzAn ICYmIChwdHJbMV0gPT0gJ2InIHx8IHB0clsxXSA9PSAnQicpKQorCXsKKwkJcHRyICs9IDI7 CisKKwkJd2hpbGUgKCpwdHIgJiYgKCpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzEnKSkKKwkJ eworCQkJaW50OAkJZGlnaXQgPSAoKnB0cisrIC0gJzAnKTsKKworCQkJaWYgKHVubGlrZWx5 KHBnX211bF9zMzJfb3ZlcmZsb3codG1wLCAyLCAmdG1wKSkgfHwKKwkJCQl1bmxpa2VseShw Z19zdWJfczMyX292ZXJmbG93KHRtcCwgZGlnaXQsICZ0bXApKSkKKwkJCQlnb3RvIG91dF9v Zl9yYW5nZTsKKwkJfQorCX0KKwllbHNlCisJeworCQl3aGlsZSAoKnB0ciAmJiBpc2RpZ2l0 KCh1bnNpZ25lZCBjaGFyKSAqcHRyKSkKKwkJeworCQkJaW50OAkJZGlnaXQgPSAoKnB0cisr IC0gJzAnKTsKKworCQkJaWYgKHVubGlrZWx5KHBnX211bF9zMzJfb3ZlcmZsb3codG1wLCAx MCwgJnRtcCkpIHx8CisJCQkJdW5saWtlbHkocGdfc3ViX3MzMl9vdmVyZmxvdyh0bXAsIGRp Z2l0LCAmdG1wKSkpCisJCQkJZ290byBvdXRfb2ZfcmFuZ2U7CisJCX0KIAl9CiAKIAkvKiBh bGxvdyB0cmFpbGluZyB3aGl0ZXNwYWNlLCBidXQgbm90IG90aGVyIHRyYWlsaW5nIGNoYXJz ICovCkBAIC0yODAsMTMgKzM3Nyw1NiBAQCBwZ19zdHJ0b2ludDY0KGNvbnN0IGNoYXIgKnMp CiAJCWdvdG8gaW52YWxpZF9zeW50YXg7CiAKIAkvKiBwcm9jZXNzIGRpZ2l0cyAqLwotCXdo aWxlICgqcHRyICYmIGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICpwdHIpKQorCWlmIChwdHJb MF0gPT0gJzAnICYmIChwdHJbMV0gPT0gJ3gnIHx8IHB0clsxXSA9PSAnWCcpKQogCXsKLQkJ aW50OAkJZGlnaXQgPSAoKnB0cisrIC0gJzAnKTsKKwkJcHRyICs9IDI7CisJCXdoaWxlICgq cHRyICYmIGlzeGRpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqcHRyKSkKKwkJeworCQkJaW50OAkJ ZGlnaXQgPSBoZXhsb29rdXBbKHVuc2lnbmVkIGNoYXIpICpwdHJdOwogCi0JCWlmICh1bmxp a2VseShwZ19tdWxfczY0X292ZXJmbG93KHRtcCwgMTAsICZ0bXApKSB8fAotCQkJdW5saWtl bHkocGdfc3ViX3M2NF9vdmVyZmxvdyh0bXAsIGRpZ2l0LCAmdG1wKSkpCi0JCQlnb3RvIG91 dF9vZl9yYW5nZTsKKwkJCWlmICh1bmxpa2VseShwZ19tdWxfczY0X292ZXJmbG93KHRtcCwg MTYsICZ0bXApKSB8fAorCQkJCXVubGlrZWx5KHBnX3N1Yl9zNjRfb3ZlcmZsb3codG1wLCBk aWdpdCwgJnRtcCkpKQorCQkJCWdvdG8gb3V0X29mX3JhbmdlOworCisJCQlwdHIrKzsKKwkJ fQorCX0KKwllbHNlIGlmIChwdHJbMF0gPT0gJzAnICYmIChwdHJbMV0gPT0gJ28nIHx8IHB0 clsxXSA9PSAnTycpKQorCXsKKwkJcHRyICs9IDI7CisKKwkJd2hpbGUgKCpwdHIgJiYgKCpw dHIgPj0gJzAnICYmICpwdHIgPD0gJzcnKSkKKwkJeworCQkJaW50OAkJZGlnaXQgPSAoKnB0 cisrIC0gJzAnKTsKKworCQkJaWYgKHVubGlrZWx5KHBnX211bF9zNjRfb3ZlcmZsb3codG1w LCA4LCAmdG1wKSkgfHwKKwkJCQl1bmxpa2VseShwZ19zdWJfczY0X292ZXJmbG93KHRtcCwg ZGlnaXQsICZ0bXApKSkKKwkJCQlnb3RvIG91dF9vZl9yYW5nZTsKKwkJfQorCX0KKwllbHNl IGlmIChwdHJbMF0gPT0gJzAnICYmIChwdHJbMV0gPT0gJ2InIHx8IHB0clsxXSA9PSAnQicp KQorCXsKKwkJcHRyICs9IDI7CisKKwkJd2hpbGUgKCpwdHIgJiYgKCpwdHIgPj0gJzAnICYm ICpwdHIgPD0gJzEnKSkKKwkJeworCQkJaW50OAkJZGlnaXQgPSAoKnB0cisrIC0gJzAnKTsK KworCQkJaWYgKHVubGlrZWx5KHBnX211bF9zNjRfb3ZlcmZsb3codG1wLCAyLCAmdG1wKSkg fHwKKwkJCQl1bmxpa2VseShwZ19zdWJfczY0X292ZXJmbG93KHRtcCwgZGlnaXQsICZ0bXAp KSkKKwkJCQlnb3RvIG91dF9vZl9yYW5nZTsKKwkJfQorCX0KKwllbHNlCisJeworCQl3aGls ZSAoKnB0ciAmJiBpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqcHRyKSkKKwkJeworCQkJaW50 OAkJZGlnaXQgPSAoKnB0cisrIC0gJzAnKTsKKworCQkJaWYgKHVubGlrZWx5KHBnX211bF9z NjRfb3ZlcmZsb3codG1wLCAxMCwgJnRtcCkpIHx8CisJCQkJdW5saWtlbHkocGdfc3ViX3M2 NF9vdmVyZmxvdyh0bXAsIGRpZ2l0LCAmdG1wKSkpCisJCQkJZ290byBvdXRfb2ZfcmFuZ2U7 CisJCX0KIAl9CiAKIAkvKiBhbGxvdyB0cmFpbGluZyB3aGl0ZXNwYWNlLCBidXQgbm90IG90 aGVyIHRyYWlsaW5nIGNoYXJzICovCmRpZmYgLS1naXQgYS9zcmMvZmVfdXRpbHMvcHNxbHNj YW4ubCBiL3NyYy9mZV91dGlscy9wc3Fsc2Nhbi5sCmluZGV4IGFlNTMxZWMyNDA3Ny4uY2Ix ZmM1MjEzODQ0IDEwMDY0NAotLS0gYS9zcmMvZmVfdXRpbHMvcHNxbHNjYW4ubAorKysgYi9z cmMvZmVfdXRpbHMvcHNxbHNjYW4ubApAQCAtMzIzLDI1ICszMjMsNDAgQEAgb3BlcmF0b3IJ CXtvcF9jaGFyc30rCiAgKiBVbmFyeSBtaW51cyBpcyBub3QgcGFydCBvZiBhIG51bWJlciBo ZXJlLiAgSW5zdGVhZCB3ZSBwYXNzIGl0IHNlcGFyYXRlbHkgdG8KICAqIHRoZSBwYXJzZXIs IGFuZCB0aGVyZSBpdCBnZXRzIGNvZXJjZWQgdmlhIGRvTmVnYXRlKCkuCiAgKgotICoge2Rl Y2ltYWxmYWlsfSBpcyB1c2VkIGJlY2F1c2Ugd2Ugd291bGQgbGlrZSAiMS4uMTAiIHRvIGxl eCBhcyAxLCBkb3RfZG90LCAxMC4KKyAqIHtudW1lcmljZmFpbH0gaXMgdXNlZCBiZWNhdXNl IHdlIHdvdWxkIGxpa2UgIjEuLjEwIiB0byBsZXggYXMgMSwgZG90X2RvdCwgMTAuCiAgKgog ICoge3JlYWxmYWlsfSBpcyBhZGRlZCB0byBwcmV2ZW50IHRoZSBuZWVkIGZvciBzY2FubmVy CiAgKiBiYWNrdXAgd2hlbiB0aGUge3JlYWx9IHJ1bGUgZmFpbHMgdG8gbWF0Y2ggY29tcGxl dGVseS4KICAqLwotZGlnaXQJCQlbMC05XQotCi1pbnRlZ2VyCQkJe2RpZ2l0fSsKLWRlY2lt YWwJCQkoKHtkaWdpdH0qXC57ZGlnaXR9Kyl8KHtkaWdpdH0rXC57ZGlnaXR9KikpCi1kZWNp bWFsZmFpbAkJe2RpZ2l0fStcLlwuCi1yZWFsCQkJKHtpbnRlZ2VyfXx7ZGVjaW1hbH0pW0Vl XVstK10/e2RpZ2l0fSsKLXJlYWxmYWlsCQkoe2ludGVnZXJ9fHtkZWNpbWFsfSlbRWVdWy0r XQotCi1pbnRlZ2VyX2p1bmsJe2ludGVnZXJ9e2lkZW50X3N0YXJ0fQotZGVjaW1hbF9qdW5r CXtkZWNpbWFsfXtpZGVudF9zdGFydH0KK2RlY2RpZ2l0CQlbMC05XQoraGV4ZGlnaXQJCVsw LTlBLUZhLWZdCitvY3RkaWdpdAkJWzAtN10KK2JpbmRpZ2l0CQlbMC0xXQorCitkZWNpbnRl Z2VyCQl7ZGVjZGlnaXR9KworaGV4aW50ZWdlcgkJMFt4WF17aGV4ZGlnaXR9Kworb2N0aW50 ZWdlcgkJMFtvT117b2N0ZGlnaXR9KworYmluaW50ZWdlcgkJMFtiQl17YmluZGlnaXR9Kwor CitoZXhmYWlsCQkJMFt4WF0KK29jdGZhaWwJCQkwW29PXQorYmluZmFpbAkJCTBbYkJdCisK K251bWVyaWMJCQkoKHtkZWNpbnRlZ2VyfVwue2RlY2ludGVnZXJ9Pyl8KFwue2RlY2ludGVn ZXJ9KSkKK251bWVyaWNmYWlsCQl7ZGVjZGlnaXR9K1wuXC4KKworcmVhbAkJCSh7ZGVjaW50 ZWdlcn18e251bWVyaWN9KVtFZV1bLStdP3tkZWNkaWdpdH0rCityZWFsZmFpbAkJKHtkZWNp bnRlZ2VyfXx7bnVtZXJpY30pW0VlXVstK10KKworZGVjaW50ZWdlcl9qdW5rCXtkZWNpbnRl Z2VyfXtpZGVudF9zdGFydH0KK2hleGludGVnZXJfanVuawl7aGV4aW50ZWdlcn17aWRlbnRf c3RhcnR9CitvY3RpbnRlZ2VyX2p1bmsJe29jdGludGVnZXJ9e2lkZW50X3N0YXJ0fQorYmlu aW50ZWdlcl9qdW5rCXtiaW5pbnRlZ2VyfXtpZGVudF9zdGFydH0KK251bWVyaWNfanVuawl7 bnVtZXJpY317aWRlbnRfc3RhcnR9CiByZWFsX2p1bmsJCXtyZWFsfXtpZGVudF9zdGFydH0K IAotcGFyYW0JCQlcJHtpbnRlZ2VyfQotcGFyYW1fanVuawkJXCR7aW50ZWdlcn17aWRlbnRf c3RhcnR9CitwYXJhbQkJCVwke2RlY2ludGVnZXJ9CitwYXJhbV9qdW5rCQlcJHtkZWNpbnRl Z2VyfXtpZGVudF9zdGFydH0KIAogLyogcHNxbC1zcGVjaWZpYzogY2hhcmFjdGVycyBhbGxv d2VkIGluIHZhcmlhYmxlIG5hbWVzICovCiB2YXJpYWJsZV9jaGFyCVtBLVphLXpcMjAwLVwz NzdfMC05XQpAQCAtODQ3LDEzICs4NjIsMzEgQEAgb3RoZXIJCQkuCiAJCQkJCUVDSE87CiAJ CQkJfQogCi17aW50ZWdlcn0JCXsKK3tkZWNpbnRlZ2VyfQl7CisJCQkJCUVDSE87CisJCQkJ fQore2hleGludGVnZXJ9CXsKKwkJCQkJRUNITzsKKwkJCQl9Cit7b2N0aW50ZWdlcn0Jewor CQkJCQlFQ0hPOworCQkJCX0KK3tiaW5pbnRlZ2VyfQl7CisJCQkJCUVDSE87CisJCQkJfQor e2hleGZhaWx9CQl7CiAJCQkJCUVDSE87CiAJCQkJfQote2RlY2ltYWx9CQl7Cit7b2N0ZmFp bH0JCXsKIAkJCQkJRUNITzsKIAkJCQl9Ci17ZGVjaW1hbGZhaWx9CXsKK3tiaW5mYWlsfQkJ eworCQkJCQlFQ0hPOworCQkJCX0KK3tudW1lcmljfQkJeworCQkJCQlFQ0hPOworCQkJCX0K K3tudW1lcmljZmFpbH0JewogCQkJCQkvKiB0aHJvdyBiYWNrIHRoZSAuLiwgYW5kIHRyZWF0 IGFzIGludGVnZXIgKi8KIAkJCQkJeXlsZXNzKHl5bGVuZyAtIDIpOwogCQkJCQlFQ0hPOwpA QCAtODY0LDEwICs4OTcsMTkgQEAgb3RoZXIJCQkuCiB7cmVhbGZhaWx9CQl7CiAJCQkJCUVD SE87CiAJCQkJfQote2ludGVnZXJfanVua30Jewore2RlY2ludGVnZXJfanVua30JeworCQkJ CQlFQ0hPOworCQkJCX0KK3toZXhpbnRlZ2VyX2p1bmt9CXsKKwkJCQkJRUNITzsKKwkJCQl9 Cit7b2N0aW50ZWdlcl9qdW5rfQl7CisJCQkJCUVDSE87CisJCQkJfQore2JpbmludGVnZXJf anVua30JewogCQkJCQlFQ0hPOwogCQkJCX0KLXtkZWNpbWFsX2p1bmt9CXsKK3tudW1lcmlj X2p1bmt9CXsKIAkJCQkJRUNITzsKIAkJCQl9CiB7cmVhbF9qdW5rfQkJewpkaWZmIC0tZ2l0 IGEvc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL3BnYy5sIGIvc3JjL2ludGVyZmFjZXMv ZWNwZy9wcmVwcm9jL3BnYy5sCmluZGV4IGMxNDVjOTY5OGYxYS4uMmMwOWM2Y2I0ZjM1IDEw MDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvcGdjLmwKKysrIGIvc3Jj L2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL3BnYy5sCkBAIC01Nyw3ICs1Nyw3IEBAIHN0YXRp YyBib29sCQlpbmNsdWRlX25leHQ7CiAjZGVmaW5lIHN0YXJ0bGl0KCkJKGxpdGVyYWxidWZb MF0gPSAnXDAnLCBsaXRlcmFsbGVuID0gMCkKIHN0YXRpYyB2b2lkIGFkZGxpdChjaGFyICp5 dGV4dCwgaW50IHlsZW5nKTsKIHN0YXRpYyB2b2lkIGFkZGxpdGNoYXIodW5zaWduZWQgY2hh ciB5Y2hhcik7Ci1zdGF0aWMgaW50CXByb2Nlc3NfaW50ZWdlcl9saXRlcmFsKGNvbnN0IGNo YXIgKnRva2VuLCBZWVNUWVBFICpsdmFsKTsKK3N0YXRpYyBpbnQJcHJvY2Vzc19pbnRlZ2Vy X2xpdGVyYWwoY29uc3QgY2hhciAqdG9rZW4sIFlZU1RZUEUgKmx2YWwsIGludCBiYXNlKTsK IHN0YXRpYyB2b2lkIHBhcnNlX2luY2x1ZGUodm9pZCk7CiBzdGF0aWMgYm9vbCBlY3BnX2lz c3BhY2UoY2hhciBjaCk7CiBzdGF0aWMgYm9vbCBpc2RlZmluZSh2b2lkKTsKQEAgLTM1MSwy NSArMzUxLDQwIEBAIG9wZXJhdG9yCQl7b3BfY2hhcnN9KwogICogVW5hcnkgbWludXMgaXMg bm90IHBhcnQgb2YgYSBudW1iZXIgaGVyZS4gIEluc3RlYWQgd2UgcGFzcyBpdCBzZXBhcmF0 ZWx5IHRvCiAgKiB0aGUgcGFyc2VyLCBhbmQgdGhlcmUgaXQgZ2V0cyBjb2VyY2VkIHZpYSBk b05lZ2F0ZSgpLgogICoKLSAqIHtkZWNpbWFsZmFpbH0gaXMgdXNlZCBiZWNhdXNlIHdlIHdv dWxkIGxpa2UgIjEuLjEwIiB0byBsZXggYXMgMSwgZG90X2RvdCwgMTAuCisgKiB7bnVtZXJp Y2ZhaWx9IGlzIHVzZWQgYmVjYXVzZSB3ZSB3b3VsZCBsaWtlICIxLi4xMCIgdG8gbGV4IGFz IDEsIGRvdF9kb3QsIDEwLgogICoKICAqIHtyZWFsZmFpbH0gaXMgYWRkZWQgdG8gcHJldmVu dCB0aGUgbmVlZCBmb3Igc2Nhbm5lcgogICogYmFja3VwIHdoZW4gdGhlIHtyZWFsfSBydWxl IGZhaWxzIHRvIG1hdGNoIGNvbXBsZXRlbHkuCiAgKi8KLWRpZ2l0CQkJWzAtOV0KLQotaW50 ZWdlcgkJCXtkaWdpdH0rCi1kZWNpbWFsCQkJKCh7ZGlnaXR9Klwue2RpZ2l0fSspfCh7ZGln aXR9K1wue2RpZ2l0fSopKQotZGVjaW1hbGZhaWwJCXtkaWdpdH0rXC5cLgotcmVhbAkJCSh7 aW50ZWdlcn18e2RlY2ltYWx9KVtFZV1bLStdP3tkaWdpdH0rCi1yZWFsZmFpbAkJKHtpbnRl Z2VyfXx7ZGVjaW1hbH0pW0VlXVstK10KLQotaW50ZWdlcl9qdW5rCXtpbnRlZ2VyfXtpZGVu dF9zdGFydH0KLWRlY2ltYWxfanVuawl7ZGVjaW1hbH17aWRlbnRfc3RhcnR9CitkZWNkaWdp dAkJWzAtOV0KK2hleGRpZ2l0CQlbMC05QS1GYS1mXQorb2N0ZGlnaXQJCVswLTddCitiaW5k aWdpdAkJWzAtMV0KKworZGVjaW50ZWdlcgkJe2RlY2RpZ2l0fSsKK2hleGludGVnZXIJCTBb eFhde2hleGRpZ2l0fSsKK29jdGludGVnZXIJCTBbb09de29jdGRpZ2l0fSsKK2JpbmludGVn ZXIJCTBbYkJde2JpbmRpZ2l0fSsKKworaGV4ZmFpbAkJCTBbeFhdCitvY3RmYWlsCQkJMFtv T10KK2JpbmZhaWwJCQkwW2JCXQorCitudW1lcmljCQkJKCh7ZGVjaW50ZWdlcn1cLntkZWNp bnRlZ2VyfT8pfChcLntkZWNpbnRlZ2VyfSkpCitudW1lcmljZmFpbAkJe2RlY2RpZ2l0fStc LlwuCisKK3JlYWwJCQkoe2RlY2ludGVnZXJ9fHtudW1lcmljfSlbRWVdWy0rXT97ZGVjZGln aXR9KworcmVhbGZhaWwJCSh7ZGVjaW50ZWdlcn18e251bWVyaWN9KVtFZV1bLStdCisKK2Rl Y2ludGVnZXJfanVuawl7ZGVjaW50ZWdlcn17aWRlbnRfc3RhcnR9CitoZXhpbnRlZ2VyX2p1 bmsJe2hleGludGVnZXJ9e2lkZW50X3N0YXJ0fQorb2N0aW50ZWdlcl9qdW5rCXtvY3RpbnRl Z2VyfXtpZGVudF9zdGFydH0KK2JpbmludGVnZXJfanVuawl7YmluaW50ZWdlcn17aWRlbnRf c3RhcnR9CitudW1lcmljX2p1bmsJe251bWVyaWN9e2lkZW50X3N0YXJ0fQogcmVhbF9qdW5r CQl7cmVhbH17aWRlbnRfc3RhcnR9CiAKLXBhcmFtCQkJXCR7aW50ZWdlcn0KLXBhcmFtX2p1 bmsJCVwke2ludGVnZXJ9e2lkZW50X3N0YXJ0fQorcGFyYW0JCQlcJHtkZWNpbnRlZ2VyfQor cGFyYW1fanVuawkJXCR7ZGVjaW50ZWdlcn17aWRlbnRfc3RhcnR9CiAKIC8qIHNwZWNpYWwg Y2hhcmFjdGVycyBmb3Igb3RoZXIgZGJtcyAqLwogLyogd2UgaGF2ZSB0byByZWFjdCBkaWZm ZXJlbnRseSBpbiBjb21wYXQgbW9kZSAqLwpAQCAtMzk5LDkgKzQxNCw2IEBAIGluY2x1ZGVf bmV4dAlbaUldW25OXVtjQ11bbExdW3VVXVtkRF1bZUVdX1tuTl1bZUVdW3hYXVt0VF0KIGlt cG9ydAkJCVtpSV1bbU1dW3BQXVtvT11bclJdW3RUXQogdW5kZWYJCQlbdVVdW25OXVtkRF1b ZUVdW2ZGXQogCi0vKiBDIHZlcnNpb24gb2YgaGV4IG51bWJlciAqLwoteGNoCQkJCTBbeFhd WzAtOUEtRmEtZl0qCi0KIGNjb21tZW50CQkiLy8iLipcbgogCiBpZgkJCQlbaUldW2ZGXQpA QCAtNDE0LDcgKzQyNiw3IEBAIGVuZGlmCQkJW2VFXVtuTl1bZERdW2lJXVtmRl0KIHN0cnVj dAkJCVtzU11bdFRdW3JSXVt1VV1bY0NdW3RUXQogCiBleGVjX3NxbAkJe2V4ZWN9e3NwYWNl fSp7c3FsfXtzcGFjZX0qCi1pcGRpZ2l0CQkJKHtkaWdpdH18e2RpZ2l0fXtkaWdpdH18e2Rp Z2l0fXtkaWdpdH17ZGlnaXR9KQoraXBkaWdpdAkJCSh7ZGVjZGlnaXR9fHtkZWNkaWdpdH17 ZGVjZGlnaXR9fHtkZWNkaWdpdH17ZGVjZGlnaXR9e2RlY2RpZ2l0fSkKIGlwCQkJCXtpcGRp Z2l0fVwue2lwZGlnaXR9XC57aXBkaWdpdH1cLntpcGRpZ2l0fQogCiAvKiB3ZSBtaWdodCB3 YW50IHRvIHBhcnNlIGFsbCBjcHAgaW5jbHVkZSBmaWxlcyAqLwpAQCAtOTMyLDE3ICs5NDQs MjAgQEAgY3BwbGluZQkJCXtzcGFjZX0qIyhbXmldW0EtWmEtel0qfHtpZn18e2lmZGVmfXx7 aWZuZGVmfXx7aW1wb3J0fSkoKFwvXCpbXiovXSpcKisKIH0gIC8qIDxTUUw+ICovCiAKIDxD LFNRTD57Ci17aW50ZWdlcn0JCXsKLQkJCQkJcmV0dXJuIHByb2Nlc3NfaW50ZWdlcl9saXRl cmFsKHl5dGV4dCwgJmJhc2VfeXlsdmFsKTsKK3tkZWNpbnRlZ2VyfQl7CisJCQkJCXJldHVy biBwcm9jZXNzX2ludGVnZXJfbGl0ZXJhbCh5eXRleHQsICZiYXNlX3l5bHZhbCwgMTApOwog CQkJCX0KLXtkZWNpbWFsfQkJewore2hleGludGVnZXJ9CXsKKwkJCQkJcmV0dXJuIHByb2Nl c3NfaW50ZWdlcl9saXRlcmFsKHl5dGV4dCwgJmJhc2VfeXlsdmFsLCAxNik7CisJCQkJfQor e251bWVyaWN9CQl7CiAJCQkJCWJhc2VfeXlsdmFsLnN0ciA9IG1tX3N0cmR1cCh5eXRleHQp OwogCQkJCQlyZXR1cm4gRkNPTlNUOwogCQkJCX0KLXtkZWNpbWFsZmFpbH0Jewore251bWVy aWNmYWlsfQl7CiAJCQkJCS8qIHRocm93IGJhY2sgdGhlIC4uLCBhbmQgdHJlYXQgYXMgaW50 ZWdlciAqLwogCQkJCQl5eWxlc3MoeXlsZW5nIC0gMik7Ci0JCQkJCXJldHVybiBwcm9jZXNz X2ludGVnZXJfbGl0ZXJhbCh5eXRleHQsICZiYXNlX3l5bHZhbCk7CisJCQkJCXJldHVybiBw cm9jZXNzX2ludGVnZXJfbGl0ZXJhbCh5eXRleHQsICZiYXNlX3l5bHZhbCwgMTApOwogCQkJ CX0KIHtyZWFsfQkJCXsKIAkJCQkJYmFzZV95eWx2YWwuc3RyID0gbW1fc3RyZHVwKHl5dGV4 dCk7CkBAIC05NTEsMjIgKzk2NiwzOCBAQCBjcHBsaW5lCQkJe3NwYWNlfSojKFteaV1bQS1a YS16XSp8e2lmfXx7aWZkZWZ9fHtpZm5kZWZ9fHtpbXBvcnR9KSgoXC9cKlteKi9dKlwqKwog e3JlYWxmYWlsfQkJewogCQkJCQkvKgogCQkJCQkgKiB0aHJvdyBiYWNrIHRoZSBbRWVdWyst XSwgYW5kIGZpZ3VyZSBvdXQgd2hldGhlciB3aGF0Ci0JCQkJCSAqIHJlbWFpbnMgaXMgYW4g e2ludGVnZXJ9IG9yIHtkZWNpbWFsfS4KKwkJCQkJICogcmVtYWlucyBpcyBhbiB7ZGVjaW50 ZWdlcn0gb3Ige251bWVyaWN9LgogCQkJCQkgKi8KIAkJCQkJeXlsZXNzKHl5bGVuZyAtIDIp OwotCQkJCQlyZXR1cm4gcHJvY2Vzc19pbnRlZ2VyX2xpdGVyYWwoeXl0ZXh0LCAmYmFzZV95 eWx2YWwpOworCQkJCQlyZXR1cm4gcHJvY2Vzc19pbnRlZ2VyX2xpdGVyYWwoeXl0ZXh0LCAm YmFzZV95eWx2YWwsIDEwKTsKIAkJCQl9CiB9IC8qIDxDLFNRTD4gKi8KIAogPFNRTD57Cit7 b2N0aW50ZWdlcn0JeworCQkJCQlyZXR1cm4gcHJvY2Vzc19pbnRlZ2VyX2xpdGVyYWwoeXl0 ZXh0LCAmYmFzZV95eWx2YWwsIDgpOworCQkJCX0KK3tiaW5pbnRlZ2VyfQl7CisJCQkJCXJl dHVybiBwcm9jZXNzX2ludGVnZXJfbGl0ZXJhbCh5eXRleHQsICZiYXNlX3l5bHZhbCwgMik7 CisJCQkJfQorCiAJLyoKIAkgKiBOb3RlIHRoYXQgc29tZSB0cmFpbGluZyBqdW5rIGlzIHZh bGlkIGluIEMgKHN1Y2ggYXMgMTAwTEwpLCBzbyB3ZQogCSAqIGNvbnRhaW4gdGhpcyB0byBT UUwgbW9kZS4KIAkgKi8KLXtpbnRlZ2VyX2p1bmt9CXsKK3tkZWNpbnRlZ2VyX2p1bmt9CXsK IAkJCQkJbW1mYXRhbChQQVJTRV9FUlJPUiwgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJp YyBsaXRlcmFsIik7CiAJCQkJfQote2RlY2ltYWxfanVua30Jewore2hleGludGVnZXJfanVu a30JeworCQkJCQltbWZhdGFsKFBBUlNFX0VSUk9SLCAidHJhaWxpbmcganVuayBhZnRlciBu dW1lcmljIGxpdGVyYWwiKTsKKwkJCQl9Cit7b2N0aW50ZWdlcl9qdW5rfQl7CisJCQkJCW1t ZmF0YWwoUEFSU0VfRVJST1IsICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWVyaWMgbGl0ZXJh bCIpOworCQkJCX0KK3tiaW5pbnRlZ2VyX2p1bmt9CXsKKwkJCQkJbW1mYXRhbChQQVJTRV9F UlJPUiwgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIik7CisJCQkJfQor e251bWVyaWNfanVua30JewogCQkJCQltbWZhdGFsKFBBUlNFX0VSUk9SLCAidHJhaWxpbmcg anVuayBhZnRlciBudW1lcmljIGxpdGVyYWwiKTsKIAkJCQl9CiB7cmVhbF9qdW5rfQkJewpA QCAtMTAzNiwxOSArMTA2Nyw2IEBAIGNwcGxpbmUJCQl7c3BhY2V9KiMoW15pXVtBLVphLXpd Knx7aWZ9fHtpZmRlZn18e2lmbmRlZn18e2ltcG9ydH0pKChcL1wqW14qL10qXCorCiAJCQkJ CQkJcmV0dXJuIFNfQU5ZVEhJTkc7CiAJCQkJCSB9CiA8Qz57Y2NvbW1lbnR9CQl7IEVDSE87 IH0KLTxDPnt4Y2h9CQkJewotCQkJCQkJY2hhciogZW5kcHRyOwotCi0JCQkJCQllcnJubyA9 IDA7Ci0JCQkJCQliYXNlX3l5bHZhbC5pdmFsID0gc3RydG91bCgoY2hhciAqKSB5eXRleHQs ICZlbmRwdHIsIDE2KTsKLQkJCQkJCWlmICgqZW5kcHRyICE9ICdcMCcgfHwgZXJybm8gPT0g RVJBTkdFKQotCQkJCQkJewotCQkJCQkJCWVycm5vID0gMDsKLQkJCQkJCQliYXNlX3l5bHZh bC5zdHIgPSBtbV9zdHJkdXAoeXl0ZXh0KTsKLQkJCQkJCQlyZXR1cm4gU0NPTlNUOwotCQkJ CQkJfQotCQkJCQkJcmV0dXJuIElDT05TVDsKLQkJCQkJfQogPEM+e2NwcGluY2x1ZGV9CQl7 CiAJCQkJCQlpZiAoc3lzdGVtX2luY2x1ZGVzKQogCQkJCQkJewpAQCAtMTU3MywxNyArMTU5 MSwxNyBAQCBhZGRsaXRjaGFyKHVuc2lnbmVkIGNoYXIgeWNoYXIpCiB9CiAKIC8qCi0gKiBQ cm9jZXNzIHtpbnRlZ2VyfS4gIE5vdGUgdGhpcyB3aWxsIGFsc28gZG8gdGhlIHJpZ2h0IHRo aW5nIHdpdGgge2RlY2ltYWx9LAotICogaWUgZGlnaXRzIGFuZCBhIGRlY2ltYWwgcG9pbnQu CisgKiBQcm9jZXNzIHtkZWNpbnRlZ2VyfSwge2hleGludGVnZXJ9LCBldGMuICBOb3RlIHRo aXMgd2lsbCBhbHNvIGRvIHRoZSByaWdodAorICogdGhpbmcgd2l0aCB7bnVtZXJpY30sIGll IGRpZ2l0cyBhbmQgYSBkZWNpbWFsIHBvaW50LgogICovCiBzdGF0aWMgaW50Ci1wcm9jZXNz X2ludGVnZXJfbGl0ZXJhbChjb25zdCBjaGFyICp0b2tlbiwgWVlTVFlQRSAqbHZhbCkKK3By b2Nlc3NfaW50ZWdlcl9saXRlcmFsKGNvbnN0IGNoYXIgKnRva2VuLCBZWVNUWVBFICpsdmFs LCBpbnQgYmFzZSkKIHsKIAlpbnQJCQl2YWw7CiAJY2hhcgkgICAqZW5kcHRyOwogCiAJZXJy bm8gPSAwOwotCXZhbCA9IHN0cnRvaW50KHRva2VuLCAmZW5kcHRyLCAxMCk7CisJdmFsID0g c3RydG9pbnQoYmFzZSA9PSAxMCA/IHRva2VuIDogdG9rZW4gKyAyLCAmZW5kcHRyLCBiYXNl KTsKIAlpZiAoKmVuZHB0ciAhPSAnXDAnIHx8IGVycm5vID09IEVSQU5HRSkKIAl7CiAJCS8q IGludGVnZXIgdG9vIGxhcmdlIChvciBjb250YWlucyBkZWNpbWFsIHB0KSwgdHJlYXQgaXQg YXMgYSBmbG9hdCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9p bnQyLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvaW50Mi5vdXQKaW5kZXggMTA5 Y2Y5YmFhYWNhLi4zN2NiZDQxOWZhNDAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvaW50Mi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9pbnQy Lm91dApAQCAtMzA0LDMgKzMwNCw4MyBAQCBGUk9NIChWQUxVRVMgKC0yLjU6Om51bWVyaWMp LAogICAyLjUgfCAgICAgICAgICAzCiAoNyByb3dzKQogCistLSBub24tZGVjaW1hbCBsaXRl cmFscworU0VMRUNUIGludDIgJzBiMTAwMTAxJzsKKyBpbnQyIAorLS0tLS0tCisgICAzNwor KDEgcm93KQorCitTRUxFQ1QgaW50MiAnMG8yNzMnOworIGludDIgCistLS0tLS0KKyAgMTg3 CisoMSByb3cpCisKK1NFTEVDVCBpbnQyICcweDQyRic7CisgaW50MiAKKy0tLS0tLQorIDEw NzEKKygxIHJvdykKKworLS0gY2FzZXMgbmVhciBvdmVyZmxvdworU0VMRUNUIGludDIgJzBi MTExMTExMTExMTExMTExJzsKKyBpbnQyICAKKy0tLS0tLS0KKyAzMjc2NworKDEgcm93KQor CitTRUxFQ1QgaW50MiAnMGIxMDAwMDAwMDAwMDAwMDAwJzsKK0VSUk9SOiAgdmFsdWUgIjBi MTAwMDAwMDAwMDAwMDAwMCIgaXMgb3V0IG9mIHJhbmdlIGZvciB0eXBlIHNtYWxsaW50CitM SU5FIDE6IFNFTEVDVCBpbnQyICcwYjEwMDAwMDAwMDAwMDAwMDAnOworICAgICAgICAgICAg ICAgICAgICBeCitTRUxFQ1QgaW50MiAnMG83Nzc3Nyc7CisgaW50MiAgCistLS0tLS0tCisg MzI3NjcKKygxIHJvdykKKworU0VMRUNUIGludDIgJzBvMTAwMDAwJzsKK0VSUk9SOiAgdmFs dWUgIjBvMTAwMDAwIiBpcyBvdXQgb2YgcmFuZ2UgZm9yIHR5cGUgc21hbGxpbnQKK0xJTkUg MTogU0VMRUNUIGludDIgJzBvMTAwMDAwJzsKKyAgICAgICAgICAgICAgICAgICAgXgorU0VM RUNUIGludDIgJzB4N0ZGRic7CisgaW50MiAgCistLS0tLS0tCisgMzI3NjcKKygxIHJvdykK KworU0VMRUNUIGludDIgJzB4ODAwMCc7CitFUlJPUjogIHZhbHVlICIweDgwMDAiIGlzIG91 dCBvZiByYW5nZSBmb3IgdHlwZSBzbWFsbGludAorTElORSAxOiBTRUxFQ1QgaW50MiAnMHg4 MDAwJzsKKyAgICAgICAgICAgICAgICAgICAgXgorU0VMRUNUIGludDIgJy0wYjEwMDAwMDAw MDAwMDAwMDAnOworICBpbnQyICAKKy0tLS0tLS0tCisgLTMyNzY4CisoMSByb3cpCisKK1NF TEVDVCBpbnQyICctMGIxMDAwMDAwMDAwMDAwMDAxJzsKK0VSUk9SOiAgdmFsdWUgIi0wYjEw MDAwMDAwMDAwMDAwMDEiIGlzIG91dCBvZiByYW5nZSBmb3IgdHlwZSBzbWFsbGludAorTElO RSAxOiBTRUxFQ1QgaW50MiAnLTBiMTAwMDAwMDAwMDAwMDAwMSc7CisgICAgICAgICAgICAg ICAgICAgIF4KK1NFTEVDVCBpbnQyICctMG8xMDAwMDAnOworICBpbnQyICAKKy0tLS0tLS0t CisgLTMyNzY4CisoMSByb3cpCisKK1NFTEVDVCBpbnQyICctMG8xMDAwMDEnOworRVJST1I6 ICB2YWx1ZSAiLTBvMTAwMDAxIiBpcyBvdXQgb2YgcmFuZ2UgZm9yIHR5cGUgc21hbGxpbnQK K0xJTkUgMTogU0VMRUNUIGludDIgJy0wbzEwMDAwMSc7CisgICAgICAgICAgICAgICAgICAg IF4KK1NFTEVDVCBpbnQyICctMHg4MDAwJzsKKyAgaW50MiAgCistLS0tLS0tLQorIC0zMjc2 OAorKDEgcm93KQorCitTRUxFQ1QgaW50MiAnLTB4ODAwMSc7CitFUlJPUjogIHZhbHVlICIt MHg4MDAxIiBpcyBvdXQgb2YgcmFuZ2UgZm9yIHR5cGUgc21hbGxpbnQKK0xJTkUgMTogU0VM RUNUIGludDIgJy0weDgwMDEnOworICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2ludDQub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9pbnQ0Lm91dAppbmRleCBmYmNjMGU4ZDllNjguLjcxOGZhM2VmYzkwMiAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9pbnQ0Lm91dAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2ludDQub3V0CkBAIC00MzEsMyArNDMxLDgzIEBA IFNFTEVDVCBsY20oKC0yMTQ3NDgzNjQ4KTo6aW50NCwgMTo6aW50NCk7IC0tIG92ZXJmbG93 CiBFUlJPUjogIGludGVnZXIgb3V0IG9mIHJhbmdlCiBTRUxFQ1QgbGNtKDIxNDc0ODM2NDc6 OmludDQsIDIxNDc0ODM2NDY6OmludDQpOyAtLSBvdmVyZmxvdwogRVJST1I6ICBpbnRlZ2Vy IG91dCBvZiByYW5nZQorLS0gbm9uLWRlY2ltYWwgbGl0ZXJhbHMKK1NFTEVDVCBpbnQ0ICcw YjEwMDEwMSc7CisgaW50NCAKKy0tLS0tLQorICAgMzcKKygxIHJvdykKKworU0VMRUNUIGlu dDQgJzBvMjczJzsKKyBpbnQ0IAorLS0tLS0tCisgIDE4NworKDEgcm93KQorCitTRUxFQ1Qg aW50NCAnMHg0MkYnOworIGludDQgCistLS0tLS0KKyAxMDcxCisoMSByb3cpCisKKy0tIGNh c2VzIG5lYXIgb3ZlcmZsb3cKK1NFTEVDVCBpbnQ0ICcwYjExMTExMTExMTExMTExMTExMTEx MTExMTExMTExMTEnOworICAgIGludDQgICAgCistLS0tLS0tLS0tLS0KKyAyMTQ3NDgzNjQ3 CisoMSByb3cpCisKK1NFTEVDVCBpbnQ0ICcwYjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwJzsKK0VSUk9SOiAgdmFsdWUgIjBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAiIGlzIG91dCBvZiByYW5nZSBmb3IgdHlwZSBpbnRlZ2VyCitMSU5FIDE6IFNFTEVD VCBpbnQ0ICcwYjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsKKyAgICAgICAg ICAgICAgICAgICAgXgorU0VMRUNUIGludDQgJzBvMTc3Nzc3Nzc3NzcnOworICAgIGludDQg ICAgCistLS0tLS0tLS0tLS0KKyAyMTQ3NDgzNjQ3CisoMSByb3cpCisKK1NFTEVDVCBpbnQ0 ICcwbzIwMDAwMDAwMDAwJzsKK0VSUk9SOiAgdmFsdWUgIjBvMjAwMDAwMDAwMDAiIGlzIG91 dCBvZiByYW5nZSBmb3IgdHlwZSBpbnRlZ2VyCitMSU5FIDE6IFNFTEVDVCBpbnQ0ICcwbzIw MDAwMDAwMDAwJzsKKyAgICAgICAgICAgICAgICAgICAgXgorU0VMRUNUIGludDQgJzB4N0ZG RkZGRkYnOworICAgIGludDQgICAgCistLS0tLS0tLS0tLS0KKyAyMTQ3NDgzNjQ3CisoMSBy b3cpCisKK1NFTEVDVCBpbnQ0ICcweDgwMDAwMDAwJzsKK0VSUk9SOiAgdmFsdWUgIjB4ODAw MDAwMDAiIGlzIG91dCBvZiByYW5nZSBmb3IgdHlwZSBpbnRlZ2VyCitMSU5FIDE6IFNFTEVD VCBpbnQ0ICcweDgwMDAwMDAwJzsKKyAgICAgICAgICAgICAgICAgICAgXgorU0VMRUNUIGlu dDQgJy0wYjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsKKyAgICBpbnQ0ICAg ICAKKy0tLS0tLS0tLS0tLS0KKyAtMjE0NzQ4MzY0OAorKDEgcm93KQorCitTRUxFQ1QgaW50 NCAnLTBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnOworRVJST1I6ICB2YWx1 ZSAiLTBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEiIGlzIG91dCBvZiByYW5n ZSBmb3IgdHlwZSBpbnRlZ2VyCitMSU5FIDE6IFNFTEVDVCBpbnQ0ICctMGIxMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMSc7CisgICAgICAgICAgICAgICAgICAgIF4KK1NFTEVD VCBpbnQ0ICctMG8yMDAwMDAwMDAwMCc7CisgICAgaW50NCAgICAgCistLS0tLS0tLS0tLS0t CisgLTIxNDc0ODM2NDgKKygxIHJvdykKKworU0VMRUNUIGludDQgJy0wbzIwMDAwMDAwMDAx JzsKK0VSUk9SOiAgdmFsdWUgIi0wbzIwMDAwMDAwMDAxIiBpcyBvdXQgb2YgcmFuZ2UgZm9y IHR5cGUgaW50ZWdlcgorTElORSAxOiBTRUxFQ1QgaW50NCAnLTBvMjAwMDAwMDAwMDEnOwor ICAgICAgICAgICAgICAgICAgICBeCitTRUxFQ1QgaW50NCAnLTB4ODAwMDAwMDAnOworICAg IGludDQgICAgIAorLS0tLS0tLS0tLS0tLQorIC0yMTQ3NDgzNjQ4CisoMSByb3cpCisKK1NF TEVDVCBpbnQ0ICctMHg4MDAwMDAwMSc7CitFUlJPUjogIHZhbHVlICItMHg4MDAwMDAwMSIg aXMgb3V0IG9mIHJhbmdlIGZvciB0eXBlIGludGVnZXIKK0xJTkUgMTogU0VMRUNUIGludDQg Jy0weDgwMDAwMDAxJzsKKyAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9pbnQ4Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvaW50OC5vdXQKaW5kZXggMWFlMjNjZjNmOTRmLi5hYjM1YjUzY2M0YmQgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvaW50OC5vdXQKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9pbnQ4Lm91dApAQCAtOTI3LDMgKzkyNyw4MyBAQCBTRUxF Q1QgbGNtKCgtOTIyMzM3MjAzNjg1NDc3NTgwOCk6OmludDgsIDE6OmludDgpOyAtLSBvdmVy ZmxvdwogRVJST1I6ICBiaWdpbnQgb3V0IG9mIHJhbmdlCiBTRUxFQ1QgbGNtKDkyMjMzNzIw MzY4NTQ3NzU4MDc6OmludDgsIDkyMjMzNzIwMzY4NTQ3NzU4MDY6OmludDgpOyAtLSBvdmVy ZmxvdwogRVJST1I6ICBiaWdpbnQgb3V0IG9mIHJhbmdlCistLSBub24tZGVjaW1hbCBsaXRl cmFscworU0VMRUNUIGludDggJzBiMTAwMTAxJzsKKyBpbnQ4IAorLS0tLS0tCisgICAzNwor KDEgcm93KQorCitTRUxFQ1QgaW50OCAnMG8yNzMnOworIGludDggCistLS0tLS0KKyAgMTg3 CisoMSByb3cpCisKK1NFTEVDVCBpbnQ4ICcweDQyRic7CisgaW50OCAKKy0tLS0tLQorIDEw NzEKKygxIHJvdykKKworLS0gY2FzZXMgbmVhciBvdmVyZmxvdworU0VMRUNUIGludDggJzBi MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx MTExMTExMTExJzsKKyAgICAgICAgaW50OCAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgOTIyMzM3MjAzNjg1NDc3NTgwNworKDEgcm93KQorCitTRUxFQ1QgaW50OCAnMGIx MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwJzsKK0VSUk9SOiAgdmFsdWUgIjBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIgaXMgb3V0IG9mIHJh bmdlIGZvciB0eXBlIGJpZ2ludAorTElORSAxOiBTRUxFQ1QgaW50OCAnMGIxMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLi4KKyAgICAgICAgICAgICAg ICAgICAgXgorU0VMRUNUIGludDggJzBvNzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3JzsKKyAgICAg ICAgaW50OCAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgOTIyMzM3MjAzNjg1 NDc3NTgwNworKDEgcm93KQorCitTRUxFQ1QgaW50OCAnMG8xMDAwMDAwMDAwMDAwMDAwMDAw MDAwJzsKK0VSUk9SOiAgdmFsdWUgIjBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCIgaXMgb3V0 IG9mIHJhbmdlIGZvciB0eXBlIGJpZ2ludAorTElORSAxOiBTRUxFQ1QgaW50OCAnMG8xMDAw MDAwMDAwMDAwMDAwMDAwMDAwJzsKKyAgICAgICAgICAgICAgICAgICAgXgorU0VMRUNUIGlu dDggJzB4N0ZGRkZGRkZGRkZGRkZGRic7CisgICAgICAgIGludDggICAgICAgICAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLQorIDkyMjMzNzIwMzY4NTQ3NzU4MDcKKygxIHJvdykKKworU0VM RUNUIGludDggJzB4ODAwMDAwMDAwMDAwMDAwMCc7CitFUlJPUjogIHZhbHVlICIweDgwMDAw MDAwMDAwMDAwMDAiIGlzIG91dCBvZiByYW5nZSBmb3IgdHlwZSBiaWdpbnQKK0xJTkUgMTog U0VMRUNUIGludDggJzB4ODAwMDAwMDAwMDAwMDAwMCc7CisgICAgICAgICAgICAgICAgICAg IF4KK1NFTEVDVCBpbnQ4ICctMGIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsKKyAgICAgICAgIGludDggICAgICAg ICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAtOTIyMzM3MjAzNjg1NDc3NTgwOAorKDEg cm93KQorCitTRUxFQ1QgaW50OCAnLTBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSc7CitFUlJPUjogIHZhbHVlICIt MGIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAxIiBpcyBvdXQgb2YgcmFuZ2UgZm9yIHR5cGUgYmlnaW50CitMSU5FIDE6 IFNFTEVDVCBpbnQ4ICctMGIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMC4uLgorICAgICAgICAgICAgICAgICAgICBeCitTRUxFQ1QgaW50OCAnLTBvMTAw MDAwMDAwMDAwMDAwMDAwMDAwMCc7CisgICAgICAgICBpbnQ4ICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgLTkyMjMzNzIwMzY4NTQ3NzU4MDgKKygxIHJvdykKKworU0VM RUNUIGludDggJy0wbzEwMDAwMDAwMDAwMDAwMDAwMDAwMDEnOworRVJST1I6ICB2YWx1ZSAi LTBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMSIgaXMgb3V0IG9mIHJhbmdlIGZvciB0eXBlIGJp Z2ludAorTElORSAxOiBTRUxFQ1QgaW50OCAnLTBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMSc7 CisgICAgICAgICAgICAgICAgICAgIF4KK1NFTEVDVCBpbnQ4ICctMHg4MDAwMDAwMDAwMDAw MDAwJzsKKyAgICAgICAgIGludDggICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAtOTIyMzM3MjAzNjg1NDc3NTgwOAorKDEgcm93KQorCitTRUxFQ1QgaW50OCAnLTB4ODAw MDAwMDAwMDAwMDAwMSc7CitFUlJPUjogIHZhbHVlICItMHg4MDAwMDAwMDAwMDAwMDAxIiBp cyBvdXQgb2YgcmFuZ2UgZm9yIHR5cGUgYmlnaW50CitMSU5FIDE6IFNFTEVDVCBpbnQ4ICct MHg4MDAwMDAwMDAwMDAwMDAxJzsKKyAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9udW1lcm9sb2d5Lm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvbnVtZXJvbG9neS5vdXQKaW5kZXggNzdkNDg0MzQxNzNiLi4x NWNkNmIxNjcyMzYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbnVt ZXJvbG9neS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9udW1lcm9sb2d5 Lm91dApAQCAtMywxNCArMywxNjcgQEAKIC0tIFRlc3QgdmFyaW91cyBjb21iaW5hdGlvbnMg b2YgbnVtZXJpYyB0eXBlcyBhbmQgZnVuY3Rpb25zLgogLS0KIC0tCi0tLSBUcmFpbGluZyBq dW5rIGluIG51bWVyaWMgbGl0ZXJhbHMKKy0tIG51bWVyaWMgbGl0ZXJhbHMKIC0tCitTRUxF Q1QgMGIxMDAxMDE7CisgP2NvbHVtbj8gCistLS0tLS0tLS0tCisgICAgICAgMzcKKygxIHJv dykKKworU0VMRUNUIDBvMjczOworID9jb2x1bW4/IAorLS0tLS0tLS0tLQorICAgICAgMTg3 CisoMSByb3cpCisKK1NFTEVDVCAweDQyRjsKKyA/Y29sdW1uPyAKKy0tLS0tLS0tLS0KKyAg ICAgMTA3MQorKDEgcm93KQorCistLSBjYXNlcyBuZWFyIGludDQgb3ZlcmZsb3cKK1NFTEVD VCAwYjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE7CisgID9jb2x1bW4/ICAKKy0t LS0tLS0tLS0tLQorIDIxNDc0ODM2NDcKKygxIHJvdykKKworU0VMRUNUIDBiMTAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA7CisgID9jb2x1bW4/ICAKKy0tLS0tLS0tLS0tLQor IDIxNDc0ODM2NDgKKygxIHJvdykKKworU0VMRUNUIDBvMTc3Nzc3Nzc3Nzc7CisgID9jb2x1 bW4/ICAKKy0tLS0tLS0tLS0tLQorIDIxNDc0ODM2NDcKKygxIHJvdykKKworU0VMRUNUIDBv MjAwMDAwMDAwMDA7CisgID9jb2x1bW4/ICAKKy0tLS0tLS0tLS0tLQorIDIxNDc0ODM2NDgK KygxIHJvdykKKworU0VMRUNUIDB4N0ZGRkZGRkY7CisgID9jb2x1bW4/ICAKKy0tLS0tLS0t LS0tLQorIDIxNDc0ODM2NDcKKygxIHJvdykKKworU0VMRUNUIDB4ODAwMDAwMDA7CisgID9j b2x1bW4/ICAKKy0tLS0tLS0tLS0tLQorIDIxNDc0ODM2NDgKKygxIHJvdykKKworU0VMRUNU IC0wYjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOworICA/Y29sdW1uPyAgIAor LS0tLS0tLS0tLS0tLQorIC0yMTQ3NDgzNjQ4CisoMSByb3cpCisKK1NFTEVDVCAtMGIxMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTsKKyAgP2NvbHVtbj8gICAKKy0tLS0tLS0t LS0tLS0KKyAtMjE0NzQ4MzY0OQorKDEgcm93KQorCitTRUxFQ1QgLTBvMjAwMDAwMDAwMDA7 CisgID9jb2x1bW4/ICAgCistLS0tLS0tLS0tLS0tCisgLTIxNDc0ODM2NDgKKygxIHJvdykK KworU0VMRUNUIC0wbzIwMDAwMDAwMDAxOworICA/Y29sdW1uPyAgIAorLS0tLS0tLS0tLS0t LQorIC0yMTQ3NDgzNjQ5CisoMSByb3cpCisKK1NFTEVDVCAtMHg4MDAwMDAwMDsKKyAgP2Nv bHVtbj8gICAKKy0tLS0tLS0tLS0tLS0KKyAtMjE0NzQ4MzY0OAorKDEgcm93KQorCitTRUxF Q1QgLTB4ODAwMDAwMDE7CisgID9jb2x1bW4/ICAgCistLS0tLS0tLS0tLS0tCisgLTIxNDc0 ODM2NDkKKygxIHJvdykKKworLS0gY2FzZXMgbmVhciBpbnQ4IG92ZXJmbG93CitTRUxFQ1Qg MGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx MTExMTExMTExMTE7CisgICAgICA/Y29sdW1uPyAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIDkyMjMzNzIwMzY4NTQ3NzU4MDcKKygxIHJvdykKKworU0VMRUNUIDBiMTAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDsKK0VSUk9SOiAgaW52YWxpZCBpbnB1dCBzeW50YXggZm9yIHR5cGUgbnVtZXJpYzog IjBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMCIKK0xJTkUgMTogU0VMRUNUIDBiMTAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4uCisgICAgICAgICAgICAgICBeCitT RUxFQ1QgMG83Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc7CisgICAgICA/Y29sdW1uPyAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDkyMjMzNzIwMzY4NTQ3NzU4MDcKKygxIHJvdykK KworU0VMRUNUIDBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDsKK0VSUk9SOiAgaW52YWxpZCBp bnB1dCBzeW50YXggZm9yIHR5cGUgbnVtZXJpYzogIjBvMTAwMDAwMDAwMDAwMDAwMDAwMDAw MCIKK0xJTkUgMTogU0VMRUNUIDBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDsKKyAgICAgICAg ICAgICAgIF4KK1NFTEVDVCAweDdGRkZGRkZGRkZGRkZGRkY7CisgICAgICA/Y29sdW1uPyAg ICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDkyMjMzNzIwMzY4NTQ3NzU4MDcKKygx IHJvdykKKworU0VMRUNUIDB4ODAwMDAwMDAwMDAwMDAwMDsKK0VSUk9SOiAgaW52YWxpZCBp bnB1dCBzeW50YXggZm9yIHR5cGUgbnVtZXJpYzogIjB4ODAwMDAwMDAwMDAwMDAwMCIKK0xJ TkUgMTogU0VMRUNUIDB4ODAwMDAwMDAwMDAwMDAwMDsKKyAgICAgICAgICAgICAgIF4KK1NF TEVDVCAtMGIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwOworICAgICAgID9jb2x1bW4/ICAgICAgIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIC05MjIzMzcyMDM2ODU0Nzc1ODA4CisoMSByb3cpCisKK1NFTEVD VCAtMGIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAxOworRVJST1I6ICBpbnZhbGlkIGlucHV0IHN5bnRheCBmb3IgdHlw ZSBudW1lcmljOiAiLTBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSIKK0xJTkUgMTogU0VMRUNUIC0wYjEwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4uCisgICAgICAg ICAgICAgICBeCitTRUxFQ1QgLTBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDsKKyAgICAgICA/ Y29sdW1uPyAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAtOTIyMzM3MjAzNjg1 NDc3NTgwOAorKDEgcm93KQorCitTRUxFQ1QgLTBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMTsK K0VSUk9SOiAgaW52YWxpZCBpbnB1dCBzeW50YXggZm9yIHR5cGUgbnVtZXJpYzogIi0wbzEw MDAwMDAwMDAwMDAwMDAwMDAwMDEiCitMSU5FIDE6IFNFTEVDVCAtMG8xMDAwMDAwMDAwMDAw MDAwMDAwMDAxOworICAgICAgICAgICAgICAgXgorU0VMRUNUIC0weDgwMDAwMDAwMDAwMDAw MDA7CisgICAgICAgP2NvbHVtbj8gICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg LTkyMjMzNzIwMzY4NTQ3NzU4MDgKKygxIHJvdykKKworU0VMRUNUIC0weDgwMDAwMDAwMDAw MDAwMDE7CitFUlJPUjogIGludmFsaWQgaW5wdXQgc3ludGF4IGZvciB0eXBlIG51bWVyaWM6 ICItMHg4MDAwMDAwMDAwMDAwMDAxIgorTElORSAxOiBTRUxFQ1QgLTB4ODAwMDAwMDAwMDAw MDAwMTsKKyAgICAgICAgICAgICAgIF4KKy0tIGVycm9yIGNhc2VzCiBTRUxFQ1QgMTIzYWJj OwogRVJST1I6ICB0cmFpbGluZyBqdW5rIGFmdGVyIG51bWVyaWMgbGl0ZXJhbCBhdCBvciBu ZWFyICIxMjNhIgogTElORSAxOiBTRUxFQ1QgMTIzYWJjOwogICAgICAgICAgICAgICAgXgog U0VMRUNUIDB4MG87Ci1FUlJPUjogIHRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRl cmFsIGF0IG9yIG5lYXIgIjB4IgorRVJST1I6ICB0cmFpbGluZyBqdW5rIGFmdGVyIG51bWVy aWMgbGl0ZXJhbCBhdCBvciBuZWFyICIweDBvIgogTElORSAxOiBTRUxFQ1QgMHgwbzsKICAg ICAgICAgICAgICAgIF4KIFNFTEVDVCAxXzJfMzsKQEAgLTQ1LDYgKzE5OCw0MiBAQCBQUkVQ QVJFIHAxIEFTIFNFTEVDVCAkMWE7CiBFUlJPUjogIHRyYWlsaW5nIGp1bmsgYWZ0ZXIgcGFy YW1ldGVyIGF0IG9yIG5lYXIgIiQxYSIKIExJTkUgMTogUFJFUEFSRSBwMSBBUyBTRUxFQ1Qg JDFhOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitTRUxFQ1QgMGI7CitFUlJP UjogIGludmFsaWQgYmluYXJ5IGludGVnZXIgYXQgb3IgbmVhciAiMGIiCitMSU5FIDE6IFNF TEVDVCAwYjsKKyAgICAgICAgICAgICAgIF4KK1NFTEVDVCAxYjsKK0VSUk9SOiAgdHJhaWxp bmcganVuayBhZnRlciBudW1lcmljIGxpdGVyYWwgYXQgb3IgbmVhciAiMWIiCitMSU5FIDE6 IFNFTEVDVCAxYjsKKyAgICAgICAgICAgICAgIF4KK1NFTEVDVCAwYjB4OworRVJST1I6ICB0 cmFpbGluZyBqdW5rIGFmdGVyIG51bWVyaWMgbGl0ZXJhbCBhdCBvciBuZWFyICIwYjB4Igor TElORSAxOiBTRUxFQ1QgMGIweDsKKyAgICAgICAgICAgICAgIF4KK1NFTEVDVCAwbzsKK0VS Uk9SOiAgaW52YWxpZCBvY3RhbCBpbnRlZ2VyIGF0IG9yIG5lYXIgIjBvIgorTElORSAxOiBT RUxFQ1QgMG87CisgICAgICAgICAgICAgICBeCitTRUxFQ1QgMW87CitFUlJPUjogIHRyYWls aW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIGF0IG9yIG5lYXIgIjFvIgorTElORSAx OiBTRUxFQ1QgMW87CisgICAgICAgICAgICAgICBeCitTRUxFQ1QgMG8weDsKK0VSUk9SOiAg dHJhaWxpbmcganVuayBhZnRlciBudW1lcmljIGxpdGVyYWwgYXQgb3IgbmVhciAiMG8weCIK K0xJTkUgMTogU0VMRUNUIDBvMHg7CisgICAgICAgICAgICAgICBeCitTRUxFQ1QgMHg7CitF UlJPUjogIGludmFsaWQgaGV4YWRlY2ltYWwgaW50ZWdlciBhdCBvciBuZWFyICIweCIKK0xJ TkUgMTogU0VMRUNUIDB4OworICAgICAgICAgICAgICAgXgorU0VMRUNUIDF4OworRVJST1I6 ICB0cmFpbGluZyBqdW5rIGFmdGVyIG51bWVyaWMgbGl0ZXJhbCBhdCBvciBuZWFyICIxeCIK K0xJTkUgMTogU0VMRUNUIDF4OworICAgICAgICAgICAgICAgXgorU0VMRUNUIDB4MHk7CitF UlJPUjogIHRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsIGF0IG9yIG5lYXIg IjB4MHkiCitMSU5FIDE6IFNFTEVDVCAweDB5OworICAgICAgICAgICAgICAgXgogLS0KIC0t IFRlc3QgaW1wbGljaXQgdHlwZSBjb252ZXJzaW9ucwogLS0gVGhpcyBmYWlscyBmb3IgUG9z dGdyZXMgdjYuMSAoYW5kIGVhcmxpZXI/KQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvaW50Mi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9pbnQyLnNxbAppbmRleCBl YTI5MDY2Yjc4ZWUuLjk4MDllODdkNTJmMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvaW50Mi5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvaW50Mi5zcWwKQEAg LTEwNCwzICsxMDQsMjUgQEAKICAgICAgICAgICAgICAoMC41OjpudW1lcmljKSwKICAgICAg ICAgICAgICAoMS41OjpudW1lcmljKSwKICAgICAgICAgICAgICAoMi41OjpudW1lcmljKSkg dCh4KTsKKworCistLSBub24tZGVjaW1hbCBsaXRlcmFscworCitTRUxFQ1QgaW50MiAnMGIx MDAxMDEnOworU0VMRUNUIGludDIgJzBvMjczJzsKK1NFTEVDVCBpbnQyICcweDQyRic7CisK Ky0tIGNhc2VzIG5lYXIgb3ZlcmZsb3cKK1NFTEVDVCBpbnQyICcwYjExMTExMTExMTExMTEx MSc7CitTRUxFQ1QgaW50MiAnMGIxMDAwMDAwMDAwMDAwMDAwJzsKK1NFTEVDVCBpbnQyICcw bzc3Nzc3JzsKK1NFTEVDVCBpbnQyICcwbzEwMDAwMCc7CitTRUxFQ1QgaW50MiAnMHg3RkZG JzsKK1NFTEVDVCBpbnQyICcweDgwMDAnOworCitTRUxFQ1QgaW50MiAnLTBiMTAwMDAwMDAw MDAwMDAwMCc7CitTRUxFQ1QgaW50MiAnLTBiMTAwMDAwMDAwMDAwMDAwMSc7CitTRUxFQ1Qg aW50MiAnLTBvMTAwMDAwJzsKK1NFTEVDVCBpbnQyICctMG8xMDAwMDEnOworU0VMRUNUIGlu dDIgJy0weDgwMDAnOworU0VMRUNUIGludDIgJy0weDgwMDEnOwpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvaW50NC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9pbnQ0 LnNxbAppbmRleCBmMTkwNzdmM2RhMjEuLmU3MDRkZWUxOGEyZiAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvaW50NC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv aW50NC5zcWwKQEAgLTE2NCwzICsxNjQsMjUgQEAKIAogU0VMRUNUIGxjbSgoLTIxNDc0ODM2 NDgpOjppbnQ0LCAxOjppbnQ0KTsgLS0gb3ZlcmZsb3cKIFNFTEVDVCBsY20oMjE0NzQ4MzY0 Nzo6aW50NCwgMjE0NzQ4MzY0Njo6aW50NCk7IC0tIG92ZXJmbG93CisKKworLS0gbm9uLWRl Y2ltYWwgbGl0ZXJhbHMKKworU0VMRUNUIGludDQgJzBiMTAwMTAxJzsKK1NFTEVDVCBpbnQ0 ICcwbzI3Myc7CitTRUxFQ1QgaW50NCAnMHg0MkYnOworCistLSBjYXNlcyBuZWFyIG92ZXJm bG93CitTRUxFQ1QgaW50NCAnMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJzsK K1NFTEVDVCBpbnQ0ICcwYjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsKK1NF TEVDVCBpbnQ0ICcwbzE3Nzc3Nzc3Nzc3JzsKK1NFTEVDVCBpbnQ0ICcwbzIwMDAwMDAwMDAw JzsKK1NFTEVDVCBpbnQ0ICcweDdGRkZGRkZGJzsKK1NFTEVDVCBpbnQ0ICcweDgwMDAwMDAw JzsKKworU0VMRUNUIGludDQgJy0wYjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw JzsKK1NFTEVDVCBpbnQ0ICctMGIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSc7 CitTRUxFQ1QgaW50NCAnLTBvMjAwMDAwMDAwMDAnOworU0VMRUNUIGludDQgJy0wbzIwMDAw MDAwMDAxJzsKK1NFTEVDVCBpbnQ0ICctMHg4MDAwMDAwMCc7CitTRUxFQ1QgaW50NCAnLTB4 ODAwMDAwMDEnOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvaW50OC5zcWwg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9pbnQ4LnNxbAppbmRleCAzOGI3NzE5NjRkNzkuLjBh NTY3YTgxYzE3NSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvaW50OC5zcWwK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvaW50OC5zcWwKQEAgLTI0NSwzICsyNDUsMjUg QEAKIAogU0VMRUNUIGxjbSgoLTkyMjMzNzIwMzY4NTQ3NzU4MDgpOjppbnQ4LCAxOjppbnQ4 KTsgLS0gb3ZlcmZsb3cKIFNFTEVDVCBsY20oOTIyMzM3MjAzNjg1NDc3NTgwNzo6aW50OCwg OTIyMzM3MjAzNjg1NDc3NTgwNjo6aW50OCk7IC0tIG92ZXJmbG93CisKKworLS0gbm9uLWRl Y2ltYWwgbGl0ZXJhbHMKKworU0VMRUNUIGludDggJzBiMTAwMTAxJzsKK1NFTEVDVCBpbnQ4 ICcwbzI3Myc7CitTRUxFQ1QgaW50OCAnMHg0MkYnOworCistLSBjYXNlcyBuZWFyIG92ZXJm bG93CitTRUxFQ1QgaW50OCAnMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx MTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnOworU0VMRUNUIGludDggJzBiMTAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMCc7CitTRUxFQ1QgaW50OCAnMG83Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzcnOworU0VMRUNU IGludDggJzBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7CitTRUxFQ1QgaW50OCAnMHg3RkZG RkZGRkZGRkZGRkZGJzsKK1NFTEVDVCBpbnQ4ICcweDgwMDAwMDAwMDAwMDAwMDAnOworCitT RUxFQ1QgaW50OCAnLTBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7CitTRUxFQ1QgaW50OCAnLTBiMTAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MSc7CitTRUxFQ1QgaW50OCAnLTBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7CitTRUxFQ1Qg aW50OCAnLTBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMSc7CitTRUxFQ1QgaW50OCAnLTB4ODAw MDAwMDAwMDAwMDAwMCc7CitTRUxFQ1QgaW50OCAnLTB4ODAwMDAwMDAwMDAwMDAwMSc7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udW1lcm9sb2d5LnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL251bWVyb2xvZ3kuc3FsCmluZGV4IGJlN2Q2ZGZlMGMyNi4uMzEw ZDllNTc2NjNlIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udW1lcm9sb2d5 LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9udW1lcm9sb2d5LnNxbApAQCAtMywx MCArMyw0NiBAQAogLS0gVGVzdCB2YXJpb3VzIGNvbWJpbmF0aW9ucyBvZiBudW1lcmljIHR5 cGVzIGFuZCBmdW5jdGlvbnMuCiAtLQogCisKIC0tCi0tLSBUcmFpbGluZyBqdW5rIGluIG51 bWVyaWMgbGl0ZXJhbHMKKy0tIG51bWVyaWMgbGl0ZXJhbHMKIC0tCiAKK1NFTEVDVCAwYjEw MDEwMTsKK1NFTEVDVCAwbzI3MzsKK1NFTEVDVCAweDQyRjsKKworLS0gY2FzZXMgbmVhciBp bnQ0IG92ZXJmbG93CitTRUxFQ1QgMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx OworU0VMRUNUIDBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA7CitTRUxFQ1Qg MG8xNzc3Nzc3Nzc3NzsKK1NFTEVDVCAwbzIwMDAwMDAwMDAwOworU0VMRUNUIDB4N0ZGRkZG RkY7CitTRUxFQ1QgMHg4MDAwMDAwMDsKKworU0VMRUNUIC0wYjEwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwOworU0VMRUNUIC0wYjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAxOworU0VMRUNUIC0wbzIwMDAwMDAwMDAwOworU0VMRUNUIC0wbzIwMDAwMDAwMDAx OworU0VMRUNUIC0weDgwMDAwMDAwOworU0VMRUNUIC0weDgwMDAwMDAxOworCistLSBjYXNl cyBuZWFyIGludDggb3ZlcmZsb3cKK1NFTEVDVCAwYjExMTExMTExMTExMTExMTExMTExMTEx MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTsKK1NFTEVDVCAwYjEw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDA7CitTRUxFQ1QgMG83Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc7CitTRUxFQ1QgMG8x MDAwMDAwMDAwMDAwMDAwMDAwMDAwOworU0VMRUNUIDB4N0ZGRkZGRkZGRkZGRkZGRjsKK1NF TEVDVCAweDgwMDAwMDAwMDAwMDAwMDA7CisKK1NFTEVDVCAtMGIxMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOworU0VM RUNUIC0wYjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDE7CitTRUxFQ1QgLTBvMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDsK K1NFTEVDVCAtMG8xMDAwMDAwMDAwMDAwMDAwMDAwMDAxOworU0VMRUNUIC0weDgwMDAwMDAw MDAwMDAwMDA7CitTRUxFQ1QgLTB4ODAwMDAwMDAwMDAwMDAwMTsKKworLS0gZXJyb3IgY2Fz ZXMKIFNFTEVDVCAxMjNhYmM7CiBTRUxFQ1QgMHgwbzsKIFNFTEVDVCAxXzJfMzsKQEAgLTE4 LDYgKzU0LDE5IEBACiBTRUxFQ1QgMC4wZSthOwogUFJFUEFSRSBwMSBBUyBTRUxFQ1QgJDFh OwogCitTRUxFQ1QgMGI7CitTRUxFQ1QgMWI7CitTRUxFQ1QgMGIweDsKKworU0VMRUNUIDBv OworU0VMRUNUIDFvOworU0VMRUNUIDBvMHg7CisKK1NFTEVDVCAweDsKK1NFTEVDVCAxeDsK K1NFTEVDVCAweDB5OworCisKIC0tCiAtLSBUZXN0IGltcGxpY2l0IHR5cGUgY29udmVyc2lv bnMKIC0tIFRoaXMgZmFpbHMgZm9yIFBvc3RncmVzIHY2LjEgKGFuZCBlYXJsaWVyPykKCmJh c2UtY29tbWl0OiBjYmU2ZTQ4MmQ3YmY4NTFjNmU0NjY2OTdhMjFkY2VmN2IwNWNiYjU5Ci0t IAoyLjM4LjEKCg== --------------bkrYzrbCpTMmcWxqKzM79vR0--