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 1oLsOc-0008Rb-Jn for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Aug 2022 20:33:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oLsOb-00008V-DW for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Aug 2022 20:33:41 +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 1oLsOZ-0008UB-MI for pgsql-hackers@lists.postgresql.org; Wed, 10 Aug 2022 20:33:41 +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 1oLsOT-0002ej-C4 for pgsql-hackers@postgresql.org; Wed, 10 Aug 2022 20:33:38 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 210AA32005D8; Wed, 10 Aug 2022 16:33:29 -0400 (EDT) Received: from imap49 ([10.202.2.99]) by compute2.internal (MEProxy); Wed, 10 Aug 2022 16:33:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm2; t=1660163608; x=1660250008; bh=n+hHumzva+ PrBdXmcl1HjNn8x29Qgzs5wdYz69nX9pI=; b=g1UUQyyR/nTzsnLi4RzrmV4P3J +s0FLlcv/XyA8NLcL//1ADrs3Ladydceqc7IozZBPS4eJ8Ja8ykBnF+44ABdMiQg aXaWr1yF/i0xovhMDbs+TEYXgcRUF7HpRw5UzktT9QrWgySs7j+jh20Ti+D0MVDv NwYHPzGULS67wfdIoMncwcGdh5y2vMbBBZlQZq6zxwMSEgxW2LdfKZkpbOtv2SQ5 xs1x62GIYHtMF3hu55ShzRi8Y63/fACmsl1q37f2ZyI7f+r7xl98xLZeUa5J6AJ+ 0BMBb80w+ognJaCCpWhMuiNt3PspNTSC9GJM7FGrP+ewf3zmOHFRJ9Le9knQ== 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=1660163608; x=1660250008; bh=n+hHumzva+PrBdXmcl1HjNn8x29Q gzs5wdYz69nX9pI=; b=l8NsEgfUxhcS00of7h9/Q5pEs+BnBaupbMnqFG3ABYwz wyasmU5XVa0ZEjSjf/g/Bp8nNQU0dRZhP2hKOhYHmVnqO+LvVCLDzSPmsurBB0Uc Gmlruo5lJkgs6zWAGKnruXj+izZo1oag1kVBpUK3qUskxMryYCB2soSHu8XAN/ea L1RI9dlxVXOJ1FrWxGnPnPhs3HzeWCzkvtiHV8Hyr7a1myIblVNUMBxdyRlzrvb9 OIxXkiqLUKTQQCSkM4sc5uzv0a3v4HhhgxcVcNBHAGaTOFlhY/UrTuxfTojqGSWi yT2FG4rwNRA1AmKJ7FNQyBgQHF3rv7hOMT9Udy+yXQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegvddgudegkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvvefutgesmhdtreerreertdenucfhrhhomhepfdfg uhhlvghrucfvrghvvghirhgrfdcuoegvuhhlvghrsegvuhhlvghrthhordgtohhmqeenuc ggtffrrghtthgvrhhnpeeuhfejfedufeefuefgheetledvgeekkeeuueduvefgudfhlefg hfelueehtdeihfenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmnecuve hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepvghulhgvrhes vghulhgvrhhtohdrtghomh X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id C57CA15A0087; Wed, 10 Aug 2022 16:33:27 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-811-gb808317eab-fm-20220801.001-gb808317e Mime-Version: 1.0 Message-Id: <07dfadac-493b-48c0-805e-83a3f735bed1@www.fastmail.com> In-Reply-To: References: <73b06a32-56ab-4056-86ff-e307f3c316f1@www.fastmail.com> <20220322010410.m6ccotflls45d7vq@alap3.anarazel.de> <29bd8c6e-9c87-4a72-abea-52218a387e2e@www.fastmail.com> <85ee6c87-ca0b-4330-9a7a-8a6cd389f7e0@www.fastmail.com> Date: Wed, 10 Aug 2022 17:33:00 -0300 From: "Euler Taveira" To: "osumi.takamichi@fujitsu.com" , "Melih Mutlu" Cc: "Andres Freund" , "Amit Kapila" , "Marcos Pegoraro" , pgsql-hackers , "Peter Smith" Subject: Re: logical replication restrictions Content-Type: multipart/mixed; boundary=8bf504f0c66047e5a79856b0f98b491a List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --8bf504f0c66047e5a79856b0f98b491a Content-Type: multipart/alternative; boundary=6383cb523c6a4d0dbc25791ffd81f1ce --6383cb523c6a4d0dbc25791ffd81f1ce Content-Type: text/plain On Wed, Aug 10, 2022, at 9:39 AM, osumi.takamichi@fujitsu.com wrote: > Minor review comments for v6. Thanks for your review. I'm attaching v7. > "If the subscriber sets min_apply_delay parameter, ..." > > I suggest we use subscription rather than subscriber, because > this parameter refers to and is used for one subscription. > My suggestion is > "If one subscription sets min_apply_delay parameter, ..." > In case if you agree, there are other places to apply this change. I changed the terminology to subscription. I also checked other "subscriber" occurrences but I don't think it should be changed. Some of them are used as publisher/subscriber pair. If you think there is another sentence to consider, point it out. > It might be better to write a note for committer > like "Bump catalog version" at the bottom of the commit message. It is a committer task to bump the catalog number. IMO it is easy to notice (using a git hook?) that it must bump it when we are modifying the catalog. AFAICS there is no recommendation to add such a warning. > The former interprets input number as milliseconds in case of no units, > while the latter takes it as seconds without units. > I feel it would be better to make them aligned. In a previous version I decided not to add a code to attach a unit when there isn't one. Instead, I changed the documentation to reflect what interval_in uses (seconds as unit). Under reflection, let's use ms as default unit if the user doesn't specify one. I fixed all the other suggestions too. -- Euler Taveira EDB https://www.enterprisedb.com/ --6383cb523c6a4d0dbc25791ffd81f1ce Content-Type: text/html Content-Transfer-Encoding: quoted-printable
On Wed, Aug 10,= 2022, at 9:39 AM, o= sumi.takamichi@fujitsu.com wrote:
Minor review comments for v6.
Thanks for your review. I'm attaching v7.

=
"If the subscr= iber sets min_apply_delay parameter, ..."

I= suggest we use subscription rather than subscriber, because
this parameter refers to and is used for one subscription.
<= div>My suggestion is
"If one subscription sets min_apply_d= elay parameter, ..."
In case if you agree, there are other= places to apply this change.
I changed the t= erminology to subscription. I also checked other "subscriber"
<= div>occurrences but I don't think it should be changed. Some of them are= used as
publisher/subscriber pair. If you think there is = another sentence to consider,
point it out.
=
It might b= e better to write a note for committer
like "Bump catalog = version" at the bottom of the commit message.
It is a committer task to bump the catalog number. IMO it is easy to no= tice
(using a git hook?) that it must bump it when we are = modifying the catalog.
AFAICS there is no recommendation t= o add such a warning.

The former interprets input number as millisec= onds in case of no units,
while the latter takes it as sec= onds without units.
I feel it would be better to make them= aligned.
In a previous version I decided not= to add a code to attach a unit when there
isn't one. Inst= ead, I changed the documentation to reflect what interval_in
uses (seconds as unit). Under reflection, let's use ms as default uni= t if the
user doesn't specify one.

I fixed all the other suggestions too.

--
Euler Taveira

--6383cb523c6a4d0dbc25791ffd81f1ce-- --8bf504f0c66047e5a79856b0f98b491a Content-Disposition: attachment;filename="v7-0001-Time-delayed-logical-replication-subscriber.patch" Content-Type: text/x-patch; name="v7-0001-Time-delayed-logical-replication-subscriber.patch" Content-Transfer-Encoding: BASE64 RnJvbSBhMjg5ODdjOGFkYjcwZDY5MzI1NThmNWUzOWY5ZGQ0YzU1MjIzYTMwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlci50YXZlaXJhQGVu dGVycHJpc2VkYi5jb20+CkRhdGU6IFNhdCwgNiBOb3YgMjAyMSAxMTozMToxMCAtMDMwMApT dWJqZWN0OiBbUEFUQ0ggdjddIFRpbWUtZGVsYXllZCBsb2dpY2FsIHJlcGxpY2F0aW9uIHN1 YnNjcmliZXIKClNpbWlsYXIgdG8gcGh5c2ljYWwgcmVwbGljYXRpb24sIGEgdGltZS1kZWxh eWVkIGNvcHkgb2YgdGhlIGRhdGEgZm9yCmxvZ2ljYWwgcmVwbGljYXRpb24gaXMgdXNlZnVs IGZvciBzb21lIHNjZW5hcmlvcyAocGFydGljdWxhcmx5IHRvIGZpeAplcnJvcnMgdGhhdCBt aWdodCBjYXVzZSBkYXRhIGxvc3MpLgoKSWYgdGhlIHN1YnNjcmlwdGlvbiBzZXRzIG1pbl9h cHBseV9kZWxheSBwYXJhbWV0ZXIsIHRoZSBsb2dpY2FsCnJlcGxpY2F0aW9uIHdvcmtlciB3 aWxsIGRlbGF5IHRoZSB0cmFuc2FjdGlvbiBjb21taXQgZm9yIG1pbl9hcHBseV9kZWxheQpt aWxsaXNlY29uZHMuCgpUaGUgZGVsYXkgaXMgY2FsY3VsYXRlZCBiZXR3ZWVuIHRoZSBXQUwg dGltZSBzdGFtcCBhbmQgdGhlIGN1cnJlbnQgdGltZQpvbiB0aGUgc3Vic2NyaWJlci4KClRo ZSBkZWxheSBvY2N1cnMgb25seSBvbiBXQUwgcmVjb3JkcyBmb3IgdHJhbnNhY3Rpb24gYmVn aW5zLiBUaGUgbWFpbgpyZWFzb24gaXMgdG8gYXZvaWQga2VlcGluZyBhIHRyYW5zYWN0aW9u IG9wZW4gZm9yIGEgbG9uZyB0aW1lLiBSZWd1bGFyCmFuZCBwcmVwYXJlZCB0cmFuc2FjdGlv bnMgYXJlIGNvdmVyZWQuIFN0cmVhbWVkIHRyYW5zYWN0aW9ucyBhcmUgYWxzbwpjb3ZlcmVk LgoKQXV0aG9yOiBFdWxlciBUYXZlaXJhCkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVz L20vQ0FCLUpMd1lPWXdMPVhUeUFYS2lINUN0TV9WbThLaktoN2FhaXRDS3ZtQ2g0cnpyNXBR QG1haWwuZ21haWwuY29tCi0tLQogZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgICAgICAg ICAgICAgICAgIHwgIDEwICsrCiBkb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlv bi5zZ21sICAgfCAgIDUgKy0KIGRvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlv bi5zZ21sICB8ICA0MyArKysrKy0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0 aW9uLmMgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwgICAgICAgfCAgIDcgKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNt ZHMuYyAgICB8ICA1OSArKysrKysrLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC93b3JrZXIuYyAgIHwgMTAwICsrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC90aW1lc3RhbXAuYyAgICAgICAgICB8ICAzMiArKysrCiBzcmMvYmluL3BnX2R1bXAvcGdf ZHVtcC5jICAgICAgICAgICAgICAgICAgfCAgMTcgKystCiBzcmMvYmluL3BnX2R1bXAvcGdf ZHVtcC5oICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2Jpbi9wc3FsL2Rlc2NyaWJl LmMgICAgICAgICAgICAgICAgICAgIHwgICA5ICstCiBzcmMvYmluL3BzcWwvdGFiLWNvbXBs ZXRlLmMgICAgICAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdf c3Vic2NyaXB0aW9uLmggICAgICB8ICAgMyArCiBzcmMvaW5jbHVkZS9kYXRhdHlwZS90aW1l c3RhbXAuaCAgICAgICAgICAgfCAgIDIgKwogc3JjL2luY2x1ZGUvdXRpbHMvdGltZXN0YW1w LmggICAgICAgICAgICAgIHwgICAyICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vi c2NyaXB0aW9uLm91dCB8IDE2NSArKysrKysrKysrKystLS0tLS0tLS0KIHNyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwgICAgICB8ICAyMCArKysKIHNyYy90ZXN0L3N1 YnNjcmlwdGlvbi90LzAzMl9hcHBseV9kZWxheS5wbCB8IDEyOSArKysrKysrKysrKysrKysr CiAxOCBmaWxlcyBjaGFuZ2VkLCA1MjYgaW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMyX2FwcGx5 X2RlbGF5LnBsCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgYi9k b2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbAppbmRleCBjZDJjYzM3YWViLi4yOTFlYmRhZmFk IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbAorKysgYi9kb2Mvc3Jj L3NnbWwvY2F0YWxvZ3Muc2dtbApAQCAtNzgzMyw2ICs3ODMzLDE2IEBAIFNDUkFNLVNIQS0y NTYkPHJlcGxhY2VhYmxlPiZsdDtpdGVyYXRpb24gY291bnQmZ3Q7PC9yZXBsYWNlYWJsZT46 PHJlcGxhY2VhYmxlPiZsCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CiAK KyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnN1 YmFwcGx5ZGVsYXk8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9w YXJhPgorICAgICAgPHBhcmE+CisgICAgICAgQXBwbGljYXRpb24gZGVsYXkgb2YgY2hhbmdl cyBieSBhIHNwZWNpZmllZCBhbW91bnQgb2YgdGltZS4gVGhlCisgICAgICAgdW5pdCBpcyBp biBtaWxsaXNlY29uZHMuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisK ICAgICAgPHJvdz4KICAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CiAgICAgICAgPHN0cnVjdGZpZWxkPnN1 Ym5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9y ZWYvYWx0ZXJfc3Vic2NyaXB0aW9uLnNnbWwKaW5kZXggNjRlZmMyMWY1My4uODkwMWUxMzYx YyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dt bAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sCkBAIC0y MDgsOCArMjA4LDkgQEAgQUxURVIgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDwKICAgICAgIGFyZSA8 bGl0ZXJhbD5zbG90X25hbWU8L2xpdGVyYWw+LAogICAgICAgPGxpdGVyYWw+c3luY2hyb25v dXNfY29tbWl0PC9saXRlcmFsPiwKICAgICAgIDxsaXRlcmFsPmJpbmFyeTwvbGl0ZXJhbD4s IDxsaXRlcmFsPnN0cmVhbWluZzwvbGl0ZXJhbD4sCi0gICAgICA8bGl0ZXJhbD5kaXNhYmxl X29uX2Vycm9yPC9saXRlcmFsPiwgYW5kCi0gICAgICA8bGl0ZXJhbD5vcmlnaW48L2xpdGVy YWw+LgorICAgICAgPGxpdGVyYWw+ZGlzYWJsZV9vbl9lcnJvcjwvbGl0ZXJhbD4sCisgICAg ICA8bGl0ZXJhbD5vcmlnaW48L2xpdGVyYWw+LCBhbmQKKyAgICAgIDxsaXRlcmFsPm1pbl9h cHBseV9kZWxheTwvbGl0ZXJhbD4uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgog ICAgPC92YXJsaXN0ZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0 ZV9zdWJzY3JpcHRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlw dGlvbi5zZ21sCmluZGV4IDczOTBjNzE1YmMuLmE3OTRjMDcwNDIgMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sCkBAIC0zMTcsNyArMzE3LDM2IEBA IENSRUFURSBTVUJTQ1JJUFRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN1 YnNjcmlwdGlvbl9uYW1lPC9yZXBsYWNlYWJsCiAgICAgICAgICA8L3BhcmE+CiAgICAgICAg IDwvbGlzdGl0ZW0+CiAgICAgICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgICA8L3ZhcmlhYmxl bGlzdD48L3BhcmE+CisKKyAgICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgICA8dGVybT48 bGl0ZXJhbD5taW5fYXBwbHlfZGVsYXk8L2xpdGVyYWw+ICg8dHlwZT5pbnRlZ2VyPC90eXBl Pik8L3Rlcm0+CisgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgIDxwYXJhPgorICAgICAg ICAgIEJ5IGRlZmF1bHQsIHN1YnNjcmliZXIgYXBwbGllcyBjaGFuZ2VzIGFzIHNvb24gYXMg cG9zc2libGUuIEFzIHdpdGgKKyAgICAgICAgICB0aGUgcGh5c2ljYWwgcmVwbGljYXRpb24g ZmVhdHVyZQorICAgICAgICAgICg8eHJlZiBsaW5rZW5kPSJndWMtcmVjb3ZlcnktbWluLWFw cGx5LWRlbGF5Ii8+KSwgaXQgY2FuIGJlIHVzZWZ1bCB0bworICAgICAgICAgIGhhdmUgYSB0 aW1lLWRlbGF5ZWQgbG9naWNhbCByZXBsaWNhLiBUaGlzIHBhcmFtZXRlciBhbGxvd3MgeW91 IHRvCisgICAgICAgICAgZGVsYXkgdGhlIGFwcGxpY2F0aW9uIG9mIGNoYW5nZXMgYnkgYSBz cGVjaWZpZWQgYW1vdW50IG9mIHRpbWUuIElmCisgICAgICAgICAgdGhpcyB2YWx1ZSBpcyBz cGVjaWZpZWQgd2l0aG91dCB1bml0cywgaXQgaXMgdGFrZW4gYXMgbWlsbGlzZWNvbmRzLgor ICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHplcm8sIGFkZGluZyBubyBkZWxheS4KKyAgICAg ICAgIDwvcGFyYT4KKyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIFRoZSBkZWxheSBvY2N1 cnMgb25seSBvbiBXQUwgcmVjb3JkcyBmb3IgdHJhbnNhY3Rpb24gYmVnaW5zIGFuZCBhZnRl cgorICAgICAgICAgIHRoZSBpbml0aWFsIHRhYmxlIHN5bmNocm9uaXphdGlvbi4gSXQgaXMg cG9zc2libGUgdGhhdCB0aGUKKyAgICAgICAgICByZXBsaWNhdGlvbiBkZWxheSBiZXR3ZWVu IHB1Ymxpc2hlciBhbmQgc3Vic2NyaWJlciBleGNlZWRzIHRoZSB2YWx1ZQorICAgICAgICAg IG9mIHRoaXMgcGFyYW1ldGVyLCBpbiB3aGljaCBjYXNlIG5vIGRlbGF5IGlzIGFkZGVkLiBO b3RlIHRoYXQgdGhlCisgICAgICAgICAgZGVsYXkgaXMgY2FsY3VsYXRlZCBiZXR3ZWVuIHRo ZSBXQUwgdGltZSBzdGFtcCBhcyB3cml0dGVuIG9uCisgICAgICAgICAgcHVibGlzaGVyIGFu ZCB0aGUgY3VycmVudCB0aW1lIG9uIHRoZSBzdWJzY3JpYmVyLiBUaW1lIHNwZW50IGluIGxv Z2ljYWwKKyAgICAgICAgICBkZWNvZGluZyBhbmQgaW4gdHJhbnNmZXJpbmcgdGhlIHRyYW5z YWN0aW9uIG1heSByZWR1Y2UgdGhlIGFjdHVhbCB3YWl0CisgICAgICAgICAgdGltZS4gSWYg dGhlIHN5c3RlbSBjbG9ja3Mgb24gcHVibGlzaGVyIGFuZCBzdWJzY3JpYmVyIGFyZSBub3QK KyAgICAgICAgICBzeW5jaHJvbml6ZWQsIHRoaXMgbWF5IGxlYWQgdG8gYXBwbHkgY2hhbmdl cyBlYXJsaWVyIHRoYW4gZXhwZWN0ZWQuCisgICAgICAgICAgVGhpcyBpcyBub3QgYSBtYWpv ciBpc3N1ZSBiZWNhdXNlIGEgdHlwaWNhbCBzZXR0aW5nIG9mIHRoaXMgcGFyYW1ldGVyCisg ICAgICAgICAgYXJlIG11Y2ggbGFyZ2VyIHRoYW4gdHlwaWNhbCB0aW1lIGRldmlhdGlvbnMg YmV0d2VlbiBzZXJ2ZXJzLgorICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVt PgorICAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAg IDwvcGFyYT4KIAogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTQx Myw2ICs0NDIsMTggQEAgQ1JFQVRFIFNVQlNDUklQVElPTiBteXN1YgogICAgICAgICBQVUJM SUNBVElPTiBpbnNlcnRfb25seQogICAgICAgICAgICAgICAgV0lUSCAoZW5hYmxlZCA9IGZh bHNlKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgorCisgIDxwYXJhPgorICAgQ3JlYXRl IGEgc3Vic2NyaXB0aW9uIHRvIGEgcmVtb3RlIHNlcnZlciB0aGF0IHJlcGxpY2F0ZXMgdGFi bGVzIGluCisgICB0aGUgPGxpdGVyYWw+YmF6PC9saXRlcmFsPiBwdWJsaWNhdGlvbiBhbmQg c3RhcnRzIHJlcGxpY2F0aW5nIGltbWVkaWF0ZWx5IG9uCisgICBjb21taXQuIFByZS1leGlz dGluZyBkYXRhIGlzIG5vdCBjb3BpZWQuIFRoZSBhcHBsaWNhdGlvbiBvZiBjaGFuZ2VzIGlz CisgICBkZWxheWVkIGJ5IDQgaG91cnMuCis8cHJvZ3JhbWxpc3Rpbmc+CitDUkVBVEUgU1VC U0NSSVBUSU9OIGZvbworICAgICAgICAgQ09OTkVDVElPTiAnaG9zdD0xOTIuMTY4LjEuNTAg cG9ydD01NDMyIHVzZXI9Zm9vIGRibmFtZT1mb29kYicKKyAgICAgICAgUFVCTElDQVRJT04g YmF6CisgICAgICAgICAgICAgICBXSVRIIChjb3B5X2RhdGEgPSBmYWxzZSwgbWluX2FwcGx5 X2RlbGF5ID0gJzRoJyk7Cis8L3Byb2dyYW1saXN0aW5nPjwvcGFyYT4KICA8L3JlZnNlY3Qx PgogCiAgPHJlZnNlY3QxPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19z dWJzY3JpcHRpb24uYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMK aW5kZXggYTUwNmZjM2VjOC4uZDkzZTM3NGVmNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3Bn X3N1YnNjcmlwdGlvbi5jCkBAIC02NCw2ICs2NCw3IEBAIEdldFN1YnNjcmlwdGlvbihPaWQg c3ViaWQsIGJvb2wgbWlzc2luZ19vaykKIAlzdWItPm9pZCA9IHN1YmlkOwogCXN1Yi0+ZGJp ZCA9IHN1YmZvcm0tPnN1YmRiaWQ7CiAJc3ViLT5za2lwbHNuID0gc3ViZm9ybS0+c3Vic2tp cGxzbjsKKwlzdWItPmFwcGx5ZGVsYXkgPSBzdWJmb3JtLT5zdWJhcHBseWRlbGF5OwogCXN1 Yi0+bmFtZSA9IHBzdHJkdXAoTmFtZVN0cihzdWJmb3JtLT5zdWJuYW1lKSk7CiAJc3ViLT5v d25lciA9IHN1YmZvcm0tPnN1Ym93bmVyOwogCXN1Yi0+ZW5hYmxlZCA9IHN1YmZvcm0tPnN1 YmVuYWJsZWQ7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3 cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggZjM2 OWIxZmMxNC4uNTAxNzUzMjNiOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdz LnNxbApAQCAtMTI5Nyw5ICsxMjk3LDEwIEBAIFJFVk9LRSBBTEwgT04gcGdfcmVwbGljYXRp b25fb3JpZ2luX3N0YXR1cyBGUk9NIHB1YmxpYzsKIAogLS0gQWxsIGNvbHVtbnMgb2YgcGdf c3Vic2NyaXB0aW9uIGV4Y2VwdCBzdWJjb25uaW5mbyBhcmUgcHVibGljbHkgcmVhZGFibGUu CiBSRVZPS0UgQUxMIE9OIHBnX3N1YnNjcmlwdGlvbiBGUk9NIHB1YmxpYzsKLUdSQU5UIFNF TEVDVCAob2lkLCBzdWJkYmlkLCBzdWJza2lwbHNuLCBzdWJuYW1lLCBzdWJvd25lciwgc3Vi ZW5hYmxlZCwKLSAgICAgICAgICAgICAgc3ViYmluYXJ5LCBzdWJzdHJlYW0sIHN1YnR3b3Bo YXNlc3RhdGUsIHN1YmRpc2FibGVvbmVyciwKLSAgICAgICAgICAgICAgc3Vic2xvdG5hbWUs IHN1YnN5bmNjb21taXQsIHN1YnB1YmxpY2F0aW9ucywgc3Vib3JpZ2luKQorR1JBTlQgU0VM RUNUIChvaWQsIHN1YmRiaWQsIHN1YnNraXBsc24sIHN1YmFwcGx5ZGVsYXksIHN1Ym5hbWUs IHN1Ym93bmVyLAorICAgICAgICAgICAgICBzdWJlbmFibGVkLCBzdWJiaW5hcnksIHN1YnN0 cmVhbSwgc3VidHdvcGhhc2VzdGF0ZSwKKyAgICAgICAgICAgICAgc3ViZGlzYWJsZW9uZXJy LCBzdWJzbG90bmFtZSwgc3Vic3luY2NvbW1pdCwgc3VicHVibGljYXRpb25zLAorICAgICAg ICAgICAgICBzdWJvcmlnaW4pCiAgICAgT04gcGdfc3Vic2NyaXB0aW9uIFRPIHB1YmxpYzsK IAogQ1JFQVRFIFZJRVcgcGdfc3RhdF9zdWJzY3JpcHRpb25fc3RhdHMgQVMKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwppbmRleCBmNzNkZmI2MDY3Li4zYzBk MTg2OTkxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25j bWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCkBA IC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAidXRpbHMvbWVtdXRpbHMuaCIKICNpbmNsdWRl ICJ1dGlscy9wZ19sc24uaCIKICNpbmNsdWRlICJ1dGlscy9zeXNjYWNoZS5oIgorI2luY2x1 ZGUgInV0aWxzL3RpbWVzdGFtcC5oIgogCiAvKgogICogT3B0aW9ucyB0aGF0IGNhbiBiZSBz cGVjaWZpZWQgYnkgdGhlIHVzZXIgaW4gQ1JFQVRFL0FMVEVSIFNVQlNDUklQVElPTgpAQCAt NjUsNiArNjYsNyBAQAogI2RlZmluZSBTVUJPUFRfRElTQUJMRV9PTl9FUlIJCTB4MDAwMDA0 MDAKICNkZWZpbmUgU1VCT1BUX0xTTgkJCQkJMHgwMDAwMDgwMAogI2RlZmluZSBTVUJPUFRf T1JJR0lOCQkJCTB4MDAwMDEwMDAKKyNkZWZpbmUgU1VCT1BUX01JTl9BUFBMWV9ERUxBWQkJ MHgwMDAwMjAwMAogCiAvKiBjaGVjayBpZiB0aGUgJ3ZhbCcgaGFzICdiaXRzJyBzZXQgKi8K ICNkZWZpbmUgSXNTZXQodmFsLCBiaXRzKSAgKCgodmFsKSAmIChiaXRzKSkgPT0gKGJpdHMp KQpAQCAtODksNiArOTEsNyBAQCB0eXBlZGVmIHN0cnVjdCBTdWJPcHRzCiAJYm9vbAkJZGlz YWJsZW9uZXJyOwogCWNoYXIJICAgKm9yaWdpbjsKIAlYTG9nUmVjUHRyCWxzbjsKKwlpbnQ2 NAkJbWluX2FwcGx5X2RlbGF5OwogfSBTdWJPcHRzOwogCiBzdGF0aWMgTGlzdCAqZmV0Y2hf dGFibGVfbGlzdChXYWxSZWNlaXZlckNvbm4gKndyY29ubiwgTGlzdCAqcHVibGljYXRpb25z KTsKQEAgLTE0MSw2ICsxNDQsOCBAQCBwYXJzZV9zdWJzY3JpcHRpb25fb3B0aW9ucyhQYXJz ZVN0YXRlICpwc3RhdGUsIExpc3QgKnN0bXRfb3B0aW9ucywKIAkJb3B0cy0+ZGlzYWJsZW9u ZXJyID0gZmFsc2U7CiAJaWYgKElzU2V0KHN1cHBvcnRlZF9vcHRzLCBTVUJPUFRfT1JJR0lO KSkKIAkJb3B0cy0+b3JpZ2luID0gcHN0cmR1cChMT0dJQ0FMUkVQX09SSUdJTl9BTlkpOwor CWlmIChJc1NldChzdXBwb3J0ZWRfb3B0cywgU1VCT1BUX01JTl9BUFBMWV9ERUxBWSkpCisJ CW9wdHMtPm1pbl9hcHBseV9kZWxheSA9IDA7CiAKIAkvKiBQYXJzZSBvcHRpb25zICovCiAJ Zm9yZWFjaChsYywgc3RtdF9vcHRpb25zKQpAQCAtMzE5LDEyICszMjQsNDUgQEAgcGFyc2Vf c3Vic2NyaXB0aW9uX29wdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpzdG10X29w dGlvbnMsCiAJCQlvcHRzLT5zcGVjaWZpZWRfb3B0cyB8PSBTVUJPUFRfTFNOOwogCQkJb3B0 cy0+bHNuID0gbHNuOwogCQl9CisJCWVsc2UgaWYgKElzU2V0KHN1cHBvcnRlZF9vcHRzLCBT VUJPUFRfTUlOX0FQUExZX0RFTEFZKSAmJgorCQkJCSBzdHJjbXAoZGVmZWwtPmRlZm5hbWUs ICJtaW5fYXBwbHlfZGVsYXkiKSA9PSAwKQorCQl7CisJCQljaGFyCSAgICp2YWwsICp0bXA7 CisJCQlJbnRlcnZhbCAgICppbnRlcnZhbDsKKworCQkJaWYgKElzU2V0KG9wdHMtPnNwZWNp ZmllZF9vcHRzLCBTVUJPUFRfTUlOX0FQUExZX0RFTEFZKSkKKwkJCQllcnJvckNvbmZsaWN0 aW5nRGVmRWxlbShkZWZlbCwgcHN0YXRlKTsKKworCQkJb3B0cy0+c3BlY2lmaWVkX29wdHMg fD0gU1VCT1BUX01JTl9BUFBMWV9ERUxBWTsKKwkJCXRtcCA9IGRlZkdldFN0cmluZyhkZWZl bCk7CisKKwkJCS8qCisJCQkgKiBJZiB0aGVyZSBpcyBubyB1bml0LCBpbnRlcnZhbF9pbiB0 YWtlcyBzZWNvbmQgYXMgdW5pdC4gVGhpcworCQkJICogcGFyYW1ldGVyIGV4cGVjdHMgbWls bGlzZWNvbmQgYXMgdW5pdCBzbyBhZGQgYSB1bml0IChtcykgaWYKKwkJCSAqIHRoZXJlIGlz bid0IG9uZS4KKwkJCSAqLworCQkJaWYgKHN0cnNwbih0bXAsICIwMTIzNDU2Nzg5IikgPT0g c3RybGVuKHRtcCkpCisJCQkJdmFsID0gcHNwcmludGYoIiVzbXMiLCB0bXApOworCQkJZWxz ZQorCQkJCXZhbCA9IHRtcDsKKworCQkJaW50ZXJ2YWwgPSBEYXR1bUdldEludGVydmFsUChE aXJlY3RGdW5jdGlvbkNhbGwzKGludGVydmFsX2luLAorCQkJCQkJCQkJCQkJCQkJCQlDU3Ry aW5nR2V0RGF0dW0odmFsKSwKKwkJCQkJCQkJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bShJ bnZhbGlkT2lkKSwKKwkJCQkJCQkJCQkJCQkJCQkJSW50MzJHZXREYXR1bSgtMSkpKTsKKwkJ CW9wdHMtPm1pbl9hcHBseV9kZWxheSA9IGludGVydmFsX3RvX21zKGludGVydmFsKTsKKwkJ fQogCQllbHNlCiAJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZ TlRBWF9FUlJPUiksCiAJCQkJCSBlcnJtc2coInVucmVjb2duaXplZCBzdWJzY3JpcHRpb24g cGFyYW1ldGVyOiBcIiVzXCIiLCBkZWZlbC0+ZGVmbmFtZSkpKTsKIAl9CiAKKwlpZiAob3B0 cy0+bWluX2FwcGx5X2RlbGF5IDwgMCAmJiBJc1NldChzdXBwb3J0ZWRfb3B0cywgU1VCT1BU X01JTl9BUFBMWV9ERUxBWSkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJZXJyY29kZShFUlJD T0RFX05VTUVSSUNfVkFMVUVfT1VUX09GX1JBTkdFKSwKKwkJCQllcnJtc2coIm9wdGlvbiBc IiVzXCIgbXVzdCBub3QgYmUgbmVnYXRpdmUiLCAibWluX2FwcGx5X2RlbGF5IikpOworCiAJ LyoKIAkgKiBXZSd2ZSBiZWVuIGV4cGxpY2l0bHkgYXNrZWQgdG8gbm90IGNvbm5lY3QsIHRo YXQgcmVxdWlyZXMgc29tZQogCSAqIGFkZGl0aW9uYWwgcHJvY2Vzc2luZy4KQEAgLTU1Nyw3 ICs1OTUsOCBAQCBDcmVhdGVTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVh dGVTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCQkJCQkgIFNVQk9QVF9TTE9UX05BTUUgfCBT VUJPUFRfQ09QWV9EQVRBIHwKIAkJCQkJICBTVUJPUFRfU1lOQ0hST05PVVNfQ09NTUlUIHwg U1VCT1BUX0JJTkFSWSB8CiAJCQkJCSAgU1VCT1BUX1NUUkVBTUlORyB8IFNVQk9QVF9UV09Q SEFTRV9DT01NSVQgfAotCQkJCQkgIFNVQk9QVF9ESVNBQkxFX09OX0VSUiB8IFNVQk9QVF9P UklHSU4pOworCQkJCQkgIFNVQk9QVF9ESVNBQkxFX09OX0VSUiB8IFNVQk9QVF9PUklHSU4g fAorCQkJCQkgIFNVQk9QVF9NSU5fQVBQTFlfREVMQVkpOwogCXBhcnNlX3N1YnNjcmlwdGlv bl9vcHRpb25zKHBzdGF0ZSwgc3RtdC0+b3B0aW9ucywgc3VwcG9ydGVkX29wdHMsICZvcHRz KTsKIAogCS8qCkBAIC02MjIsNiArNjYxLDcgQEAgQ3JlYXRlU3Vic2NyaXB0aW9uKFBhcnNl U3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAl2YWx1ZXNb QW51bV9wZ19zdWJzY3JpcHRpb25fb2lkIC0gMV0gPSBPYmplY3RJZEdldERhdHVtKHN1Ymlk KTsKIAl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViZGJpZCAtIDFdID0gT2JqZWN0 SWRHZXREYXR1bShNeURhdGFiYXNlSWQpOwogCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlv bl9zdWJza2lwbHNuIC0gMV0gPSBMU05HZXREYXR1bShJbnZhbGlkWExvZ1JlY1B0cik7CisJ dmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmFwcGx5ZGVsYXkgLSAxXSA9IEludDY0 R2V0RGF0dW0ob3B0cy5taW5fYXBwbHlfZGVsYXkpOwogCXZhbHVlc1tBbnVtX3BnX3N1YnNj cmlwdGlvbl9zdWJuYW1lIC0gMV0gPQogCQlEaXJlY3RGdW5jdGlvbkNhbGwxKG5hbWVpbiwg Q1N0cmluZ0dldERhdHVtKHN0bXQtPnN1Ym5hbWUpKTsKIAl2YWx1ZXNbQW51bV9wZ19zdWJz Y3JpcHRpb25fc3Vib3duZXIgLSAxXSA9IE9iamVjdElkR2V0RGF0dW0ob3duZXIpOwpAQCAt MTA0NCw3ICsxMDg0LDcgQEAgQWx0ZXJTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRl LCBBbHRlclN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJCQkJc3VwcG9ydGVkX29wdHMgPSAo U1VCT1BUX1NMT1RfTkFNRSB8CiAJCQkJCQkJCSAgU1VCT1BUX1NZTkNIUk9OT1VTX0NPTU1J VCB8IFNVQk9QVF9CSU5BUlkgfAogCQkJCQkJCQkgIFNVQk9QVF9TVFJFQU1JTkcgfCBTVUJP UFRfRElTQUJMRV9PTl9FUlIgfAotCQkJCQkJCQkgIFNVQk9QVF9PUklHSU4pOworCQkJCQkJ CQkgIFNVQk9QVF9PUklHSU4gfCBTVUJPUFRfTUlOX0FQUExZX0RFTEFZKTsKIAogCQkJCXBh cnNlX3N1YnNjcmlwdGlvbl9vcHRpb25zKHBzdGF0ZSwgc3RtdC0+b3B0aW9ucywKIAkJCQkJ CQkJCQkgICBzdXBwb3J0ZWRfb3B0cywgJm9wdHMpOwpAQCAtMTEwMSw2ICsxMTQxLDEzIEBA IEFsdGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJTdWJzY3JpcHRp b25TdG10ICpzdG10LAogCQkJCQkJPSB0cnVlOwogCQkJCX0KIAorCQkJCWlmIChJc1NldChv cHRzLnNwZWNpZmllZF9vcHRzLCBTVUJPUFRfTUlOX0FQUExZX0RFTEFZKSkKKwkJCQl7CisJ CQkJCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJhcHBseWRlbGF5IC0gMV0gPQor CQkJCQkJSW50NjRHZXREYXR1bShvcHRzLm1pbl9hcHBseV9kZWxheSk7CisJCQkJCXJlcGxh Y2VzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmFwcGx5ZGVsYXkgLSAxXSA9IHRydWU7CisJ CQkJfQorCiAJCQkJaWYgKElzU2V0KG9wdHMuc3BlY2lmaWVkX29wdHMsIFNVQk9QVF9PUklH SU4pKQogCQkJCXsKIAkJCQkJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1Ym9yaWdp biAtIDFdID0KQEAgLTExMzAsNiArMTE3NywxNCBAQCBBbHRlclN1YnNjcmlwdGlvbihQYXJz ZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAkJCQlpZiAo b3B0cy5lbmFibGVkKQogCQkJCQlBcHBseUxhdW5jaGVyV2FrZXVwQXRDb21taXQoKTsKIAor CQkJCS8qCisJCQkJICogSWYgdGhpcyBzdWJzY3JpcHRpb24gaGFzIGJlZW4gZGlzYWJsZWQg YW5kIGl0IGhhcyBhbiBhcHBseQorCQkJCSAqIGRlbGF5IHNldCwgd2FrZSB1cCB0aGUgbG9n aWNhbCByZXBsaWNhdGlvbiB3b3JrZXIgdG8gZmluaXNoCisJCQkJICogaXQgYXMgc29vbiBh cyBwb3NzaWJsZS4KKwkJCQkgKi8KKwkJCQlpZiAoIW9wdHMuZW5hYmxlZCAmJiBzdWItPmFw cGx5ZGVsYXkgPiAwKQorCQkJCQlsb2dpY2FscmVwX3dvcmtlcl93YWtldXAoc3ViLT5vaWQs IEludmFsaWRPaWQpOworCiAJCQkJdXBkYXRlX3R1cGxlID0gdHJ1ZTsKIAkJCQlicmVhazsK IAkJCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29y a2VyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4 IDVmOGM1NDE3NjMuLjE4YWVjZTM0OTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC93b3JrZXIuYwpAQCAtMzI0LDYgKzMyNCw4IEBAIHN0YXRpYyB2b2lkIG1heWJl X3JlcmVhZF9zdWJzY3JpcHRpb24odm9pZCk7CiAKIHN0YXRpYyB2b2lkIERpc2FibGVTdWJz Y3JpcHRpb25BbmRFeGl0KHZvaWQpOwogCitzdGF0aWMgdm9pZCBhcHBseV9kZWxheShUaW1l c3RhbXBUeiB0cyk7CisKIC8qIHByb3RvdHlwZSBuZWVkZWQgYmVjYXVzZSBvZiBzdHJlYW1f Y29tbWl0ICovCiBzdGF0aWMgdm9pZCBhcHBseV9kaXNwYXRjaChTdHJpbmdJbmZvIHMpOwog CkBAIC04MDMsNiArODA1LDcyIEBAIHNsb3RfbW9kaWZ5X2RhdGEoVHVwbGVUYWJsZVNsb3Qg KnNsb3QsIFR1cGxlVGFibGVTbG90ICpzcmNzbG90LAogCUV4ZWNTdG9yZVZpcnR1YWxUdXBs ZShzbG90KTsKIH0KIAorLyoKKyAqIFdoZW4gbWluX2FwcGx5X2RlbGF5IHBhcmFtZXRlciBp cyBzZXQgb24gc3Vic2NyaWJlciwgd2Ugd2FpdCBsb25nIGVub3VnaCB0bworICogbWFrZSBz dXJlIGEgdHJhbnNhY3Rpb24gaXMgYXBwbGllZCBhdCBsZWFzdCB0aGF0IGludGVydmFsIGJl aGluZCB0aGUKKyAqIHB1Ymxpc2hlci4KKyAqCisgKiBJdCBhcHBsaWVzIHRoZSBkZWxheSBm b3IgdGhlIG5leHQgdHJhbnNhY3Rpb24gYnV0IGJlZm9yZSBzdGFydGluZyB0aGUKKyAqIHRy YW5zYWN0aW9uLiBUaGUgbWFpbiByZWFzb24gZm9yIHRoaXMgZGVzaWduIGlzIHRvIGF2b2lk IGEgbG9uZy1ydW5uaW5nCisgKiB0cmFuc2FjdGlvbiAod2hpY2ggY2FuIGNhdXNlIHNvbWUg b3BlcmF0aW9uYWwgY2hhbGxlbmdlcykgaWYgdGhlIHVzZXIgc2V0cyBhCisgKiBoaWdoIHZh bHVlIGZvciB0aGUgZGVsYXkuIFRoaXMgZGVzaWduIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBw aHlzaWNhbAorICogcmVwbGljYXRpb24gKHRoYXQgYXBwbGllcyB0aGUgZGVsYXkgYXQgY29t bWl0IHRpbWUpIG1haW5seSBiZWNhdXNlIHdyaXRlCisgKiBvcGVyYXRpb25zIG1heSBhbGxv dyBzb21lIGlzc3VlcyAoc3VjaCBhcyBibG9hdCBhbmQgbG9ja3MpIHRoYXQgY2FuIGJlCisg KiBtaW5pbWl6ZWQgaWYgaXQgZG9lcyBub3Qga2VlcCB0aGUgdHJhbnNhY3Rpb24gb3BlbiBm b3Igc3VjaCBhIGxvbmcgdGltZS4KKyAqCisgKiBUaGUgbWluX2FwcGx5X2RlbGF5IHBhcmFt ZXRlciB3aWxsIHRha2UgZWZmZWN0IG9ubHkgYWZ0ZXIgYWxsIHRhYmxlcyBhcmUgaW4KKyAq IFJFQURZIHN0YXRlLgorICovCitzdGF0aWMgdm9pZAorYXBwbHlfZGVsYXkoVGltZXN0YW1w VHogdHMpCit7CisJVGltZXN0YW1wVHoJZGVsYXlfdW50aWwgPSAwOworCisJLyogbm90aGlu ZyB0byBkbyBpZiBubyBkZWxheSBzZXQgKi8KKwlpZiAoTXlTdWJzY3JpcHRpb24tPmFwcGx5 ZGVsYXkgPD0gMCkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBBcHBseSBkZWxheSBvbmx5IGFm dGVyIGFsbCB0YWJsZXN5bmMgd29ya2VycyBoYXZlIHJlYWNoZWQgUkVBRFkgc3RhdGUuIEEK KwkgKiB0YWJsZXN5bmMgd29ya2VyIGFyZSBrZXB0IHVudGlsIGl0IHJlYWNoZXMgUkVBRFkg c3RhdGUuIElmIHdlIGFsbG93IHRoZQorCSAqIGRlbGF5IGR1cmluZyB0aGUgY2F0Y2h1cCBw aGFzZSwgb25jZSB3ZSByZWFjaCB0aGUgbGltaXQgb2YgdGFibGVzeW5jCisJICogd29ya2Vy cywgaXQgd2lsbCBpbXBvc2UgYSBkZWxheSBmb3IgZWFjaCBzdWJzZXF1ZW50IHdvcmtlci4g SXQgbWVhbnMgaXQKKwkgKiB3aWxsIHRha2UgYSBsb25nIHRpbWUgdG8gZmluaXNoIHRoZSBp bml0aWFsIHRhYmxlIHN5bmNocm9uaXphdGlvbi4KKwkgKiBJbnN0ZWFkLCB0aGUgYXBwbHkg ZGVsYXkgd2lsbCBiZSBhY3RpdmF0ZWQgb25seSBhZnRlciBhbGwgdGFibGVzIGFyZSBpbgor CSAqIFJFQURZIHN0YXRlLgorCSAqLworCWlmICghQWxsVGFibGVzeW5jc1JlYWR5KCkpCisJ CXJldHVybjsKKworCS8qIHNldCBhcHBseSBkZWxheSAqLworCWRlbGF5X3VudGlsID0gVGlt ZXN0YW1wVHpQbHVzTWlsbGlzZWNvbmRzKFRpbWVzdGFtcFR6R2V0RGF0dW0odHMpLAorCQkJ CQkJCQkJCQkJTXlTdWJzY3JpcHRpb24tPmFwcGx5ZGVsYXkpOworCisJd2hpbGUgKHRydWUp CisJeworCQlsb25nCQlkaWZmbXM7CisKKwkJZGlmZm1zID0gVGltZXN0YW1wRGlmZmVyZW5j ZU1pbGxpc2Vjb25kcyhHZXRDdXJyZW50VGltZXN0YW1wKCksIGRlbGF5X3VudGlsKTsKKwor CQkvKgorCQkgKiBFeGl0IHdpdGhvdXQgYXJtaW5nIHRoZSBsYXRjaCBpZiBpdCdzIGFscmVh ZHkgcGFzdCB0aW1lIHRvIGFwcGx5CisJCSAqIHRoaXMgdHJhbnNhY3Rpb24uCisJCSAqLwor CQlpZiAoZGlmZm1zIDw9IDApCisJCQlicmVhazsKKworCQllbG9nKERFQlVHMiwgImxvZ2lj YWwgcmVwbGljYXRpb24gYXBwbHkgZGVsYXk6ICVsZCBtcyIsIGRpZmZtcyk7CisKKwkJV2Fp dExhdGNoKE15TGF0Y2gsCisJCQkJICBXTF9MQVRDSF9TRVQgfCBXTF9USU1FT1VUIHwgV0xf RVhJVF9PTl9QTV9ERUFUSCwKKwkJCQkgIGRpZmZtcywKKwkJCQkgIFdBSVRfRVZFTlRfUkVD T1ZFUllfQVBQTFlfREVMQVkpOworCQlSZXNldExhdGNoKE15TGF0Y2gpOworCisJCUNIRUNL X0ZPUl9JTlRFUlJVUFRTKCk7CisJfQorfQorCiAvKgogICogSGFuZGxlIEJFR0lOIG1lc3Nh Z2UuCiAgKi8KQEAgLTgxNCw2ICs4ODIsOSBAQCBhcHBseV9oYW5kbGVfYmVnaW4oU3RyaW5n SW5mbyBzKQogCWxvZ2ljYWxyZXBfcmVhZF9iZWdpbihzLCAmYmVnaW5fZGF0YSk7CiAJc2V0 X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdChiZWdpbl9kYXRhLnhpZCwgYmVnaW5fZGF0YS5m aW5hbF9sc24pOwogCisJLyogU2hvdWxkIHdlIGRlbGF5IHRoZSBjdXJyZW50IHRyYW5zYWN0 aW9uPyAqLworCWFwcGx5X2RlbGF5KGJlZ2luX2RhdGEuY29tbWl0dGltZSk7CisKIAlyZW1v dGVfZmluYWxfbHNuID0gYmVnaW5fZGF0YS5maW5hbF9sc247CiAKIAltYXliZV9zdGFydF9z a2lwcGluZ19jaGFuZ2VzKGJlZ2luX2RhdGEuZmluYWxfbHNuKTsKQEAgLTg2OCw2ICs5Mzks OSBAQCBhcHBseV9oYW5kbGVfYmVnaW5fcHJlcGFyZShTdHJpbmdJbmZvIHMpCiAJbG9naWNh bHJlcF9yZWFkX2JlZ2luX3ByZXBhcmUocywgJmJlZ2luX2RhdGEpOwogCXNldF9hcHBseV9l cnJvcl9jb250ZXh0X3hhY3QoYmVnaW5fZGF0YS54aWQsIGJlZ2luX2RhdGEucHJlcGFyZV9s c24pOwogCisJLyogU2hvdWxkIHdlIGRlbGF5IHRoZSBjdXJyZW50IHByZXBhcmVkIHRyYW5z YWN0aW9uPyAqLworCWFwcGx5X2RlbGF5KGJlZ2luX2RhdGEucHJlcGFyZV90aW1lKTsKKwog CXJlbW90ZV9maW5hbF9sc24gPSBiZWdpbl9kYXRhLnByZXBhcmVfbHNuOwogCiAJbWF5YmVf c3RhcnRfc2tpcHBpbmdfY2hhbmdlcyhiZWdpbl9kYXRhLnByZXBhcmVfbHNuKTsKQEAgLTEw OTAsNiArMTE2NCwxOSBAQCBhcHBseV9oYW5kbGVfc3RyZWFtX3ByZXBhcmUoU3RyaW5nSW5m byBzKQogCiAJZWxvZyhERUJVRzEsICJyZWNlaXZlZCBwcmVwYXJlIGZvciBzdHJlYW1lZCB0 cmFuc2FjdGlvbiAldSIsIHByZXBhcmVfZGF0YS54aWQpOwogCisJLyoKKwkgKiBTaG91bGQg d2UgZGVsYXkgdGhlIGN1cnJlbnQgcHJlcGFyZWQgdHJhbnNhY3Rpb24/CisJICoKKwkgKiBB bHRob3VnaCB0aGUgZGVsYXkgaXMgYXBwbGllZCBpbiBCRUdJTiBQUkVQQVJFIG1lc3NhZ2Vz LCBzdHJlYW1lZAorCSAqIHByZXBhcmVkIHRyYW5zYWN0aW9ucyBhcHBseSB0aGUgZGVsYXkg aW4gYSBTVFJFQU0gUFJFUEFSRSBtZXNzYWdlLgorCSAqIFRoYXQncyBvayBiZWNhdXNlIG5v IGNoYW5nZXMgaGF2ZSBiZWVuIGFwcGxpZWQgeWV0CisJICogKGFwcGx5X3Nwb29sZWRfbWVz c2FnZXMoKSB3aWxsIGRvIGl0KS4KKwkgKiBUaGUgU1RSRUFNIFNUQVJUIG1lc3NhZ2UgZG9l cyBub3QgY29udGFpbiBhIHByZXBhcmUgdGltZSAoaXQgd2lsbCBiZQorCSAqIGF2YWlsYWJs ZSB3aGVuIHRoZSBpbi1wcm9ncmVzcyBwcmVwYXJlZCB0cmFuc2FjdGlvbiBmaW5pc2hlcyks IGhlbmNlLCBpdAorCSAqIHdhcyBub3QgcG9zc2libGUgdG8gYXBwbHkgYSBkZWxheSBhdCB0 aGF0IHRpbWUuCisJICovCisJYXBwbHlfZGVsYXkocHJlcGFyZV9kYXRhLnByZXBhcmVfdGlt ZSk7CisKIAkvKiBSZXBsYXkgYWxsIHRoZSBzcG9vbGVkIG9wZXJhdGlvbnMuICovCiAJYXBw bHlfc3Bvb2xlZF9tZXNzYWdlcyhwcmVwYXJlX2RhdGEueGlkLCBwcmVwYXJlX2RhdGEucHJl cGFyZV9sc24pOwogCkBAIC0xNDgxLDYgKzE1NjgsMTkgQEAgYXBwbHlfaGFuZGxlX3N0cmVh bV9jb21taXQoU3RyaW5nSW5mbyBzKQogCiAJZWxvZyhERUJVRzEsICJyZWNlaXZlZCBjb21t aXQgZm9yIHN0cmVhbWVkIHRyYW5zYWN0aW9uICV1IiwgeGlkKTsKIAorCS8qCisJICogU2hv dWxkIHdlIGRlbGF5IHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uPworCSAqCisJICogQWx0aG91 Z2ggdGhlIGRlbGF5IGlzIGFwcGxpZWQgaW4gQkVHSU4gbWVzc2FnZXMsIHN0cmVhbWVkIHRy YW5zYWN0aW9ucworCSAqIGFwcGx5IHRoZSBkZWxheSBpbiBhIFNUUkVBTSBDT01NSVQgbWVz c2FnZS4gVGhhdCdzIG9rIGJlY2F1c2Ugbm8gY2hhbmdlcworCSAqIGhhdmUgYmVlbiBhcHBs aWVkIHlldCAoYXBwbHlfc3Bvb2xlZF9tZXNzYWdlcygpIHdpbGwgZG8gaXQpLgorCSAqIFRo ZSBTVFJFQU0gU1RBUlQgbWVzc2FnZSB3b3VsZCBiZSBhIG5hdHVyYWwgY2hvaWNlIGZvciB0 aGlzIGRlbGF5IGJ1dAorCSAqIHRoZXJlIGlzIG5vIGNvbW1pdCB0aW1lIHlldCAoaXQgd2ls bCBiZSBhdmFpbGFibGUgd2hlbiB0aGUgaW4tcHJvZ3Jlc3MKKwkgKiB0cmFuc2FjdGlvbiBm aW5pc2hlcyksIGhlbmNlLCBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIGFwcGx5IGEgZGVsYXkg YXQKKwkgKiB0aGF0IHRpbWUuCisJICovCisJYXBwbHlfZGVsYXkoY29tbWl0X2RhdGEuY29t bWl0dGltZSk7CisKIAlhcHBseV9zcG9vbGVkX21lc3NhZ2VzKHhpZCwgY29tbWl0X2RhdGEu Y29tbWl0X2xzbik7CiAKIAlhcHBseV9oYW5kbGVfY29tbWl0X2ludGVybmFsKCZjb21taXRf ZGF0YSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMKaW5kZXggNDljZGIyOTBhYy4u ODlmNTdmN2MzMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RpbWVzdGFt cC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90aW1lc3RhbXAuYwpAQCAtMjQxMSw2 ICsyNDExLDM4IEBAIGludGVydmFsX2NtcF9pbnRlcm5hbChjb25zdCBJbnRlcnZhbCAqaW50 ZXJ2YWwxLCBjb25zdCBJbnRlcnZhbCAqaW50ZXJ2YWwyKQogCXJldHVybiBpbnQxMjhfY29t cGFyZShzcGFuMSwgc3BhbjIpOwogfQogCisvKgorICogR2l2ZW4gYW4gSW50ZXJ2YWwgcmV0 dXJucyB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy4KKyAqLworaW50NjQKK2ludGVydmFs X3RvX21zKGNvbnN0IEludGVydmFsICppbnRlcnZhbCkKK3sKKwlpbnQ2NAkJCWRheXM7CisJ aW50NjQJCQltczsKKwlpbnQ2NAkJCXJlc3VsdDsKKworCWRheXMgPSBpbnRlcnZhbC0+bW9u dGggKiBJTlQ2NENPTlNUKDMwKTsKKwlkYXlzICs9IGludGVydmFsLT5kYXk7CisKKwkvKgor CSAqIFRoZSBmb2xsb3dpbmcgb3BlcmF0aW9ucyB1c2UgdGhlc2Ugc3BlY2lhbCBmdW5jdGlv bnMgdG8gZGV0ZWN0IG92ZXJmbG93LgorCSAqIE51bWJlciBvZiBtcyBwZXIgaW5mb3JtZWQg ZGF5cy4KKwkgKi8KKwlpZiAocGdfbXVsX3M2NF9vdmVyZmxvdyhkYXlzLCBNU0VDU19QRVJf REFZLCAmcmVzdWx0KSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RF X05VTUVSSUNfVkFMVUVfT1VUX09GX1JBTkdFKSwKKwkJCQkgZXJybXNnKCJiaWdpbnQgb3V0 IG9mIHJhbmdlIikpKTsKKworCS8qIGFkZHMgcG9ydGlvbiB0aW1lIChpbiBtcykgdG8gdGhl IHByZXZpb3VzIHJlc3VsdC4gKi8KKwltcyA9IGludGVydmFsLT50aW1lIC8gSU5UNjRDT05T VCgxMDAwKTsKKwlpZiAocGdfYWRkX3M2NF9vdmVyZmxvdyhyZXN1bHQsIG1zLCAmcmVzdWx0 KSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX05VTUVSSUNfVkFM VUVfT1VUX09GX1JBTkdFKSwKKwkJCQkgZXJybXNnKCJiaWdpbnQgb3V0IG9mIHJhbmdlIikp KTsKKworCXJldHVybiByZXN1bHQ7Cit9CisKIERhdHVtCiBpbnRlcnZhbF9lcShQR19GVU5D VElPTl9BUkdTKQogewpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyBi L3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKaW5kZXggZGE2NjA1MTc1YS4uNWVmNjFmM2Rl MSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9zcmMvYmlu L3BnX2R1bXAvcGdfZHVtcC5jCkBAIC00NDQxLDYgKzQ0NDEsNyBAQCBnZXRTdWJzY3JpcHRp b25zKEFyY2hpdmUgKmZvdXQpCiAJaW50CQkJaV9zdWJzeW5jY29tbWl0OwogCWludAkJCWlf c3VicHVibGljYXRpb25zOwogCWludAkJCWlfc3ViYmluYXJ5OworCWludAkJCWlfc3ViYXBw bHlkZWxheTsKIAlpbnQJCQlpLAogCQkJCW50dXBzOwogCkBAIC00NDkzLDkgKzQ0OTQsMTUg QEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpmb3V0KQogCQkJCQkJICBMT0dJQ0FMUkVQ X1RXT1BIQVNFX1NUQVRFX0RJU0FCTEVEKTsKIAogCWlmIChmb3V0LT5yZW1vdGVWZXJzaW9u ID49IDE2MDAwMCkKLQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgcy5zdWJvcmln aW5cbiIpOworCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgcy5zdWJvcmln aW4sXG4iKTsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgcy5zdWJhcHBseWRl bGF5XG4iKTsKKwl9CiAJZWxzZQotCQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIiAnJXMn IEFTIHN1Ym9yaWdpblxuIiwgTE9HSUNBTFJFUF9PUklHSU5fQU5ZKTsKKwl7CisJCWFwcGVu ZFBRRXhwQnVmZmVyKHF1ZXJ5LCAiICclcycgQVMgc3Vib3JpZ2luLFxuIiwgTE9HSUNBTFJF UF9PUklHSU5fQU5ZKTsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgMCBBUyBz dWJhcHBseWRlbGF5XG4iKTsKKwl9CiAKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwK IAkJCQkJCSAiRlJPTSBwZ19zdWJzY3JpcHRpb24gc1xuIgpAQCAtNDUyMyw2ICs0NTMwLDcg QEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpmb3V0KQogCWlfc3VidHdvcGhhc2VzdGF0 ZSA9IFBRZm51bWJlcihyZXMsICJzdWJ0d29waGFzZXN0YXRlIik7CiAJaV9zdWJkaXNhYmxl b25lcnIgPSBQUWZudW1iZXIocmVzLCAic3ViZGlzYWJsZW9uZXJyIik7CiAJaV9zdWJvcmln aW4gPSBQUWZudW1iZXIocmVzLCAic3Vib3JpZ2luIik7CisJaV9zdWJhcHBseWRlbGF5ID0g UFFmbnVtYmVyKHJlcywgInN1YmFwcGx5ZGVsYXkiKTsKIAogCXN1YmluZm8gPSBwZ19tYWxs b2MobnR1cHMgKiBzaXplb2YoU3Vic2NyaXB0aW9uSW5mbykpOwogCkBAIC00NTUzLDYgKzQ1 NjEsOCBAQCBnZXRTdWJzY3JpcHRpb25zKEFyY2hpdmUgKmZvdXQpCiAJCXN1YmluZm9baV0u c3ViZGlzYWJsZW9uZXJyID0KIAkJCXBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywgaSwgaV9z dWJkaXNhYmxlb25lcnIpKTsKIAkJc3ViaW5mb1tpXS5zdWJvcmlnaW4gPSBwZ19zdHJkdXAo UFFnZXR2YWx1ZShyZXMsIGksIGlfc3Vib3JpZ2luKSk7CisJCXN1YmluZm9baV0uc3ViYXBw bHlkZWxheSA9CisJCQlzdHJ0b2k2NChQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJhcHBseWRl bGF5KSwgTlVMTCwgMTApOwogCiAJCS8qIERlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdG8gZHVt cCBpdCAqLwogCQlzZWxlY3REdW1wYWJsZU9iamVjdCgmKHN1YmluZm9baV0uZG9iaiksIGZv dXQpOwpAQCAtNDYzMiw2ICs0NjQyLDkgQEAgZHVtcFN1YnNjcmlwdGlvbihBcmNoaXZlICpm b3V0LCBjb25zdCBTdWJzY3JpcHRpb25JbmZvICpzdWJpbmZvKQogCWlmIChzdHJjbXAoc3Vi aW5mby0+c3Vic3luY2NvbW1pdCwgIm9mZiIpICE9IDApCiAJCWFwcGVuZFBRRXhwQnVmZmVy KHF1ZXJ5LCAiLCBzeW5jaHJvbm91c19jb21taXQgPSAlcyIsIGZtdElkKHN1YmluZm8tPnN1 YnN5bmNjb21taXQpKTsKIAorCWlmIChzdWJpbmZvLT5zdWJhcHBseWRlbGF5ID4gMCkKKwkJ YXBwZW5kUFFFeHBCdWZmZXIocXVlcnksICIsIG1pbl9hcHBseV9kZWxheSA9ICciIElOVDY0 X0ZPUk1BVCAiIG1zJyIsIHN1YmluZm8tPnN1YmFwcGx5ZGVsYXkpOworCiAJYXBwZW5kUFFF eHBCdWZmZXJTdHIocXVlcnksICIpO1xuIik7CiAKIAlpZiAoc3ViaW5mby0+ZG9iai5kdW1w ICYgRFVNUF9DT01QT05FTlRfREVGSU5JVElPTikKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wLmggYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCmluZGV4IDY5ZWU5 MzlkNDQuLjkxYjczZTEwZDIgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaApAQCAtNjYxLDYgKzY2MSw3IEBA IHR5cGVkZWYgc3RydWN0IF9TdWJzY3JpcHRpb25JbmZvCiAJY2hhcgkgICAqc3ViZGlzYWJs ZW9uZXJyOwogCWNoYXIJICAgKnN1Ym9yaWdpbjsKIAljaGFyCSAgICpzdWJzeW5jY29tbWl0 OworCWludDY0CQlzdWJhcHBseWRlbGF5OwogCWNoYXIJICAgKnN1YnB1YmxpY2F0aW9uczsK IH0gU3Vic2NyaXB0aW9uSW5mbzsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2Rlc2Ny aWJlLmMgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwppbmRleCAzMjdhNjk0ODdiLi4wYmUx ZDQ0ZTgxIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYworKysgYi9zcmMv YmluL3BzcWwvZGVzY3JpYmUuYwpAQCAtNjQ2OSw3ICs2NDY5LDcgQEAgZGVzY3JpYmVTdWJz Y3JpcHRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9zZSkKIAlQR3Jlc3Vs dCAgICpyZXM7CiAJcHJpbnRRdWVyeU9wdCBteW9wdCA9IHBzZXQucG9wdDsKIAlzdGF0aWMg Y29uc3QgYm9vbCB0cmFuc2xhdGVfY29sdW1uc1tdID0ge2ZhbHNlLCBmYWxzZSwgZmFsc2Us IGZhbHNlLAotCWZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlLCBmYWxzZX07CisJZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxz ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZX07CiAKIAlpZiAocHNldC5zdmVyc2lvbiA8IDEwMDAw MCkKIAl7CkBAIC02NTExLDEwICs2NTExLDEzIEBAIGRlc2NyaWJlU3Vic2NyaXB0aW9ucyhj b25zdCBjaGFyICpwYXR0ZXJuLCBib29sIHZlcmJvc2UpCiAJCQkJCQkJICBnZXR0ZXh0X25v b3AoIlR3by1waGFzZSBjb21taXQiKSwKIAkJCQkJCQkgIGdldHRleHRfbm9vcCgiRGlzYWJs ZSBvbiBlcnJvciIpKTsKIAorCQkvKiBvcmlnaW4gYW5kIG1pbl9hcHBseV9kZWxheSBhcmUg b25seSBzdXBwb3J0ZWQgaW4gdjE2IGFuZCBoaWdoZXIgKi8KIAkJaWYgKHBzZXQuc3ZlcnNp b24gPj0gMTYwMDAwKQogCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKLQkJCQkJCQkgICIs IHN1Ym9yaWdpbiBBUyBcIiVzXCJcbiIsCi0JCQkJCQkJICBnZXR0ZXh0X25vb3AoIk9yaWdp biIpKTsKKwkJCQkJCQkgICIsIHN1Ym9yaWdpbiBBUyBcIiVzXCJcbiIKKwkJCQkJCQkgICIs IHN1YmFwcGx5ZGVsYXkgQVMgXCIlc1wiXG4iLAorCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJP cmlnaW4iKSwKKwkJCQkJCQkgIGdldHRleHRfbm9vcCgiQXBwbHkgZGVsYXkiKSk7CiAKIAkJ YXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKIAkJCQkJCSAgIiwgIHN1YnN5bmNjb21taXQgQVMg XCIlc1wiXG4iCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMgYi9z cmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMKaW5kZXggZjI2NWUwNDNlOS4uZDU3N2FiZmMy OSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jCisrKyBiL3NyYy9i aW4vcHNxbC90YWItY29tcGxldGUuYwpAQCAtMTg3Myw3ICsxODczLDcgQEAgcHNxbF9jb21w bGV0aW9uKGNvbnN0IGNoYXIgKnRleHQsIGludCBzdGFydCwgaW50IGVuZCkKIAkJQ09NUExF VEVfV0lUSCgiKCIsICJQVUJMSUNBVElPTiIpOwogCS8qIEFMVEVSIFNVQlNDUklQVElPTiA8 bmFtZT4gU0VUICggKi8KIAllbHNlIGlmIChIZWFkTWF0Y2hlcygiQUxURVIiLCAiU1VCU0NS SVBUSU9OIiwgTWF0Y2hBbnkpICYmIFRhaWxNYXRjaGVzKCJTRVQiLCAiKCIpKQotCQlDT01Q TEVURV9XSVRIKCJiaW5hcnkiLCAiZGlzYWJsZV9vbl9lcnJvciIsICJvcmlnaW4iLCAic2xv dF9uYW1lIiwKKwkJQ09NUExFVEVfV0lUSCgiYmluYXJ5IiwgImRpc2FibGVfb25fZXJyb3Ii LCAibWluX2FwcGx5X2RlbGF5IiwgIm9yaWdpbiIsICJzbG90X25hbWUiLAogCQkJCQkgICJz dHJlYW1pbmciLCAic3luY2hyb25vdXNfY29tbWl0Iik7CiAJLyogQUxURVIgU1VCU0NSSVBU SU9OIDxuYW1lPiBTS0lQICggKi8KIAllbHNlIGlmIChIZWFkTWF0Y2hlcygiQUxURVIiLCAi U1VCU0NSSVBUSU9OIiwgTWF0Y2hBbnkpICYmIFRhaWxNYXRjaGVzKCJTS0lQIiwgIigiKSkK QEAgLTMxNTMsNyArMzE1Myw3IEBAIHBzcWxfY29tcGxldGlvbihjb25zdCBjaGFyICp0ZXh0 LCBpbnQgc3RhcnQsIGludCBlbmQpCiAJLyogQ29tcGxldGUgIkNSRUFURSBTVUJTQ1JJUFRJ T04gPG5hbWU+IC4uLiAgV0lUSCAoIDxvcHQ+IiAqLwogCWVsc2UgaWYgKEhlYWRNYXRjaGVz KCJDUkVBVEUiLCAiU1VCU0NSSVBUSU9OIikgJiYgVGFpbE1hdGNoZXMoIldJVEgiLCAiKCIp KQogCQlDT01QTEVURV9XSVRIKCJiaW5hcnkiLCAiY29ubmVjdCIsICJjb3B5X2RhdGEiLCAi Y3JlYXRlX3Nsb3QiLAotCQkJCQkgICJkaXNhYmxlX29uX2Vycm9yIiwgImVuYWJsZWQiLCAi b3JpZ2luIiwgInNsb3RfbmFtZSIsCisJCQkJCSAgImRpc2FibGVfb25fZXJyb3IiLCAiZW5h YmxlZCIsICJtaW5fYXBwbHlfZGVsYXkiLCAib3JpZ2luIiwgInNsb3RfbmFtZSIsCiAJCQkJ CSAgInN0cmVhbWluZyIsICJzeW5jaHJvbm91c19jb21taXQiLCAidHdvX3BoYXNlIik7CiAK IC8qIENSRUFURSBUUklHR0VSIC0tLSBpcyBhbGxvd2VkIGluc2lkZSBDUkVBVEUgU0NIRU1B LCBzbyB1c2UgVGFpbE1hdGNoZXMgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfc3Vic2NyaXB0aW9uLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlw dGlvbi5oCmluZGV4IDdiOTg3MTRmMzAuLjM4OTRiOTdhY2EgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19zdWJzY3JpcHRpb24uaApAQCAtNzAsNiArNzAsOCBAQCBDQVRBTE9HKHBnX3N1 YnNjcmlwdGlvbiw2MTAwLFN1YnNjcmlwdGlvblJlbGF0aW9uSWQpIEJLSV9TSEFSRURfUkVM QVRJT04gQktJX1JPVwogCVhMb2dSZWNQdHIJc3Vic2tpcGxzbjsJCS8qIEFsbCBjaGFuZ2Vz IGZpbmlzaGVkIGF0IHRoaXMgTFNOIGFyZQogCQkJCQkJCQkgKiBza2lwcGVkICovCiAKKwlp bnQ2NAkJc3ViYXBwbHlkZWxheTsJLyogUmVwbGljYXRpb24gYXBwbHkgZGVsYXkgKi8KKwog CU5hbWVEYXRhCXN1Ym5hbWU7CQkvKiBOYW1lIG9mIHRoZSBzdWJzY3JpcHRpb24gKi8KIAog CU9pZAkJCXN1Ym93bmVyIEJLSV9MT09LVVAocGdfYXV0aGlkKTsgLyogT3duZXIgb2YgdGhl IHN1YnNjcmlwdGlvbiAqLwpAQCAtMTE5LDYgKzEyMSw3IEBAIHR5cGVkZWYgc3RydWN0IFN1 YnNjcmlwdGlvbgogCQkJCQkJCQkgKiBpbiAqLwogCVhMb2dSZWNQdHIJc2tpcGxzbjsJCS8q IEFsbCBjaGFuZ2VzIGZpbmlzaGVkIGF0IHRoaXMgTFNOIGFyZQogCQkJCQkJCQkgKiBza2lw cGVkICovCisJaW50NjQJCWFwcGx5ZGVsYXk7CQkvKiBSZXBsaWNhdGlvbiBhcHBseSBkZWxh eSAqLwogCWNoYXIJICAgKm5hbWU7CQkJLyogTmFtZSBvZiB0aGUgc3Vic2NyaXB0aW9uICov CiAJT2lkCQkJb3duZXI7CQkJLyogT2lkIG9mIHRoZSBzdWJzY3JpcHRpb24gb3duZXIgKi8K IAlib29sCQllbmFibGVkOwkJLyogSW5kaWNhdGVzIGlmIHRoZSBzdWJzY3JpcHRpb24gaXMg ZW5hYmxlZCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZGF0YXR5cGUvdGltZXN0YW1w LmggYi9zcmMvaW5jbHVkZS9kYXRhdHlwZS90aW1lc3RhbXAuaAppbmRleCBkMTU1ZjFiMDNi Li5kNWJiZmFkMWM0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9kYXRhdHlwZS90aW1lc3Rh bXAuaAorKysgYi9zcmMvaW5jbHVkZS9kYXRhdHlwZS90aW1lc3RhbXAuaApAQCAtMTI3LDYg KzEyNyw4IEBAIHN0cnVjdCBwZ19pdG1faW4KICNkZWZpbmUgU0VDU19QRVJfTUlOVVRFIDYw CiAjZGVmaW5lIE1JTlNfUEVSX0hPVVIJNjAKIAorI2RlZmluZSBNU0VDU19QRVJfREFZCUlO VDY0Q09OU1QoODY0MDAwMDApCisKICNkZWZpbmUgVVNFQ1NfUEVSX0RBWQlJTlQ2NENPTlNU KDg2NDAwMDAwMDAwKQogI2RlZmluZSBVU0VDU19QRVJfSE9VUglJTlQ2NENPTlNUKDM2MDAw MDAwMDApCiAjZGVmaW5lIFVTRUNTX1BFUl9NSU5VVEUgSU5UNjRDT05TVCg2MDAwMDAwMCkK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3RpbWVzdGFtcC5oIGIvc3JjL2luY2x1 ZGUvdXRpbHMvdGltZXN0YW1wLmgKaW5kZXggZWRmM2E5NzMxOC4uOTE3MDkwMzVkYSAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvdGltZXN0YW1wLmgKKysrIGIvc3JjL2luY2x1 ZGUvdXRpbHMvdGltZXN0YW1wLmgKQEAgLTc4LDYgKzc4LDggQEAgZXh0ZXJuIGJvb2wgVGlt ZXN0YW1wRGlmZmVyZW5jZUV4Y2VlZHMoVGltZXN0YW1wVHogc3RhcnRfdGltZSwKIAkJCQkJ CQkJCSAgIFRpbWVzdGFtcFR6IHN0b3BfdGltZSwKIAkJCQkJCQkJCSAgIGludCBtc2VjKTsK IAorZXh0ZXJuIGludDY0IGludGVydmFsX3RvX21zKGNvbnN0IEludGVydmFsICppbnRlcnZh bCk7CisKIGV4dGVybiBUaW1lc3RhbXBUeiB0aW1lX3RfdG9fdGltZXN0YW1wdHoocGdfdGlt ZV90IHRtKTsKIGV4dGVybiBwZ190aW1lX3QgdGltZXN0YW1wdHpfdG9fdGltZV90KFRpbWVz dGFtcFR6IHQpOwogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1 YnNjcmlwdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlv bi5vdXQKaW5kZXggZWYwZWJmOTZiOS4uMDU2YjZlMzZmOCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dApAQCAtNzcsMTggKzc3LDE4IEBAIEVS Uk9SOiAgdW5yZWNvZ25pemVkIG9yaWdpbiB2YWx1ZTogImZvbyIKIENSRUFURSBTVUJTQ1JJ UFRJT04gcmVncmVzc190ZXN0c3ViNCBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoc2xvdF9uYW1lID0gTk9ORSwg Y29ubmVjdCA9IGZhbHNlLCBvcmlnaW4gPSBub25lKTsKIFdBUk5JTkc6ICB0YWJsZXMgd2Vy ZSBub3Qgc3Vic2NyaWJlZCwgeW91IHdpbGwgaGF2ZSB0byBydW4gQUxURVIgU1VCU0NSSVBU SU9OIC4uLiBSRUZSRVNIIFBVQkxJQ0FUSU9OIHRvIHN1YnNjcmliZSB0aGUgdGFibGVzCiBc ZFJzKyByZWdyZXNzX3Rlc3RzdWI0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgIE5hbWUgICAgICAgfCAgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBTa2lwIExTTiAKLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgICB8IG5vbmUgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRi bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGlj YXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJs ZSBvbiBlcnJvciB8IE9yaWdpbiB8IEFwcGx5IGRlbGF5IHwgU3luY2hyb25vdXMgY29tbWl0 IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04gCistLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190 ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IG5vbmUgICB8ICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAg IHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCiAoMSByb3cpCiAKIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI0IFNFVCAob3JpZ2luID0gYW55KTsKIFxk UnMrIHJlZ3Jlc3NfdGVzdHN1YjQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICAgTmFtZSAgICAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBT dHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdp biB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8 IFNraXAgTFNOIAotLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSBy ZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgICBOYW1l ICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxl IG9uIGVycm9yIHwgT3JpZ2luIHwgQXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyByZWdyZXNzX3Rl c3RzdWI0IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAogRFJPUCBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViMzsKQEAgLTk4LDEwICs5OCwxMCBAQCBBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2Zvb2Jhcic7CiBF UlJPUjogIGludmFsaWQgY29ubmVjdGlvbiBzdHJpbmcgc3ludGF4OiBtaXNzaW5nICI9IiBh ZnRlciAiZm9vYmFyIiBpbiBjb25uZWN0aW9uIGluZm8gc3RyaW5nCiAKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwot ICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0 IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAotLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAg ICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAv MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBz dWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgQXBwbHkgZGVs YXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAw IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwg MC8wCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IFBVQkxJQ0FUSU9OIHRlc3RwdWIyLCB0ZXN0cHViMyBXSVRIIChyZWZyZXNoID0gZmFsc2Up OwpAQCAtMTE4LDEwICsxMTgsMTAgQEAgRVJST1I6ICB1bnJlY29nbml6ZWQgc3Vic2NyaXB0 aW9uIHBhcmFtZXRlcjogImNyZWF0ZV9zbG90IgogLS0gb2sKIEFMVEVSIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIgU0tJUCAobHNuID0gJzAvMTIzNDUnKTsKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFN5bmNocm9ub3Vz IGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRi bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAwLzEyMzQ1CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisg ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQg fCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNl IGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBBcHBseSBkZWxheSB8IFN5 bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lw IExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IGYgICAg ICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwg ICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QyIHwgMC8xMjM0NQogKDEgcm93KQogCiAtLSBvayAtIHdpdGggbHNuID0gTk9O RQpAQCAtMTMwLDEwICsxMzAsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVz dHN1YiBTS0lQIChsc24gPSBOT05FKTsKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWIgU0tJUCAobHNuID0gJzAvMCcpOwogRVJST1I6ICBpbnZhbGlkIFdBTCBsb2NhdGlv biAoTFNOKTogMC8wCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwg QmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJy b3IgfCBPcmlnaW4gfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8g ICAgICAgICAgIHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgZiAg ICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwg MC8wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBBcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3Rw dWIzfSB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgMC8wCiAoMSByb3cpCiAKIEJFR0lO OwpAQCAtMTY1LDEwICsxNjUsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVz dHN1Yl9mb28gU0VUIChzeW5jaHJvbm91c19jb21taXQgPSBmb29iYXIpOwogRVJST1I6ICBp bnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgInN5bmNocm9ub3VzX2NvbW1pdCI6ICJmb29i YXIiCiBISU5UOiAgQXZhaWxhYmxlIHZhbHVlczogbG9jYWwsIHJlbW90ZV93cml0ZSwgcmVt b3RlX2FwcGx5LCBvbiwgb2ZmLgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICAgIE5hbWUgICAg ICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1Ymxp Y2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBE aXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAg ICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAotLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWJfZm9v IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVz dHB1YjN9IHwgZiAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgfCBhbnkgICAgfCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QyIHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgICAgTmFt ZSAgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAg UHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1p dCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBBcHBseSBkZWxheSB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWJfZm9vIHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgZiAg ICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCAgICAgICAgICAgMCB8IGxvY2FsICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdDIgfCAwLzAKICgxIHJvdykKIAogLS0gcmVuYW1lIGJhY2sgdG8ga2VlcCB0 aGUgcmVzdCBzaW1wbGUKQEAgLTIwMSwxOSArMjAxLDE5IEBAIEVSUk9SOiAgYmluYXJ5IHJl cXVpcmVzIGEgQm9vbGVhbiB2YWx1ZQogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNB VElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgYmluYXJ5ID0gdHJ1ZSk7CiBX QVJOSU5HOiAgdGFibGVzIHdlcmUgbm90IHN1YnNjcmliZWQsIHlvdSB3aWxsIGhhdmUgdG8g cnVuIEFMVEVSIFNVQlNDUklQVElPTiAuLi4gUkVGUkVTSCBQVUJMSUNBVElPTiB0byBzdWJz Y3JpYmUgdGhlIHRhYmxlcwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3Jp Z2luIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAg IHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1Yn0gICB8IHQgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUg ICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0 aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUg b24gZXJyb3IgfCBPcmlnaW4gfCBBcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAorLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0g ICB8IHQgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAogQUxURVIgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKGJpbmFyeSA9IGZhbHNlKTsKIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsK IFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFN5bmNocm9ub3Vz IGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAotLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAg IE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0 cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2lu IHwgQXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAg ICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 ICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgMC8wCiAoMSByb3cpCiAKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YjsKQEAgLTIyNCwxOSArMjI0LDE5IEBAIEVSUk9SOiAgc3RyZWFtaW5nIHJlcXVp cmVzIGEgQm9vbGVhbiB2YWx1ZQogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElP TiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgc3RyZWFtaW5nID0gdHJ1ZSk7CiBX QVJOSU5HOiAgdGFibGVzIHdlcmUgbm90IHN1YnNjcmliZWQsIHlvdSB3aWxsIGhhdmUgdG8g cnVuIEFMVEVSIFNVQlNDUklQVElPTiAuLi4gUkVGUkVTSCBQVUJMSUNBVElPTiB0byBzdWJz Y3JpYmUgdGhlIHRhYmxlcwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3Jp Z2luIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAg IHwgU2tpcCBMU04gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHQgICAgICAgICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUg ICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0 aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUg b24gZXJyb3IgfCBPcmlnaW4gfCBBcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAorLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0g ICB8IGYgICAgICB8IHQgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAogQUxURVIgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHN0cmVhbWluZyA9IGZhbHNlKTsKIEFM VEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05F KTsKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBU d28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAot LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICAgICB8IGFueSAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3Jp Z2luIHwgQXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBm ICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAg ICB8ICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3Nf ZG9lc25vdGV4aXN0IHwgMC8wCiAoMSByb3cpCiAKIC0tIGZhaWwgLSBwdWJsaWNhdGlvbiBh bHJlYWR5IGV4aXN0cwpAQCAtMjUxLDEwICsyNTEsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfdGVzdHN1YiBBREQgUFVCTElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJ VEggKHJlZnIKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQUREIFBVQkxJ Q0FUSU9OIHRlc3RwdWIxLCB0ZXN0cHViMiBXSVRIIChyZWZyZXNoID0gZmFsc2UpOwogRVJS T1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1YjEiIGlzIGFscmVhZHkgaW4gc3Vic2NyaXB0aW9u ICJyZWdyZXNzX3Rlc3RzdWIiCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAg ICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgICAgICBQdWJs aWNhdGlvbiAgICAgICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1p dCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yix0 ZXN0cHViMSx0ZXN0cHViMn0gfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IG9mZiAgICAgICAgICAgICAgICB8 IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMK KyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxl ZCB8ICAgICAgICAgUHVibGljYXRpb24gICAgICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8 IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgQXBwbHkg ZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAg ICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViLHRlc3RwdWIxLHRl c3RwdWIyfSB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAogLS0g ZmFpbCAtIHB1YmxpY2F0aW9uIHVzZWQgbW9yZSB0aGVuIG9uY2UKQEAgLTI2OSwxMCArMjY5 LDEwIEBAIEVSUk9SOiAgcHVibGljYXRpb24gInRlc3RwdWIzIiBpcyBub3QgaW4gc3Vic2Ny aXB0aW9uICJyZWdyZXNzX3Rlc3RzdWIiCiAtLSBvayAtIGRlbGV0ZSBwdWJsaWNhdGlvbnMK IEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgRFJPUCBQVUJMSUNBVElPTiB0 ZXN0cHViMSwgdGVzdHB1YjIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwot ICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0 IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAotLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAg ICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAv MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBz dWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgQXBwbHkgZGVs YXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAw IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwg MC8wCiAoMSByb3cpCiAKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsKQEAg LTMwNiwxMCArMzA2LDEwIEBAIEVSUk9SOiAgdHdvX3BoYXNlIHJlcXVpcmVzIGEgQm9vbGVh biB2YWx1ZQogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElP TiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJ VEggKGNvbm5lY3QgPSBmYWxzZSwgdHdvX3BoYXNlID0gdHJ1ZSk7CiBXQVJOSU5HOiAgdGFi bGVzIHdlcmUgbm90IHN1YnNjcmliZWQsIHlvdSB3aWxsIGhhdmUgdG8gcnVuIEFMVEVSIFNV QlNDUklQVElPTiAuLi4gUkVGUkVTSCBQVUJMSUNBVElPTiB0byBzdWJzY3JpYmUgdGhlIHRh YmxlcwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBv ZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8 IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04g Ci0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0g ICB8IGYgICAgICB8IGYgICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3Nf ZG9lc25vdGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBP cmlnaW4gfCBBcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENv bm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IGYgICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55 ICAgIHwgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVz c19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAogLS1mYWlsIC0gYWx0ZXIgb2YgdHdv X3BoYXNlIG9wdGlvbiBub3Qgc3VwcG9ydGVkLgpAQCAtMzE4LDEwICszMTgsMTAgQEAgRVJS T1I6ICB1bnJlY29nbml6ZWQgc3Vic2NyaXB0aW9uIHBhcmFtZXRlcjogInR3b19waGFzZSIK IC0tIGJ1dCBjYW4gYWx0ZXIgc3RyZWFtaW5nIHdoZW4gdHdvX3BoYXNlIGVuYWJsZWQKIEFM VEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzdHJlYW1pbmcgPSB0cnVl KTsKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBU d28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAot LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCB0ICAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICAgICB8IGFueSAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3Jp Z2luIHwgQXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCB0 ICAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAg ICB8ICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3Nf ZG9lc25vdGV4aXN0IHwgMC8wCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdy ZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAgLTMzMCwxMCArMzMwLDEw IEBAIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsKIENSRUFURSBTVUJTQ1JJ UFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIHN0 cmVhbWluZyA9IHRydWUsIHR3b19waGFzZSA9IHRydWUpOwogV0FSTklORzogIHRhYmxlcyB3 ZXJlIG5vdCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBoYXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJ UFRJT04gLi4uIFJFRlJFU0ggUFVCTElDQVRJT04gdG8gc3Vic2NyaWJlIHRoZSB0YWJsZXMK IFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFN5bmNocm9ub3Vz IGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAotLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCB0ICAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IDAvMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAg IE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0 cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2lu IHwgQXBwbHkgZGVsYXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgfCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCB0ICAg ICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 ICAgICAgICAgICAwIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgMC8wCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAgLTM0NSwxOCArMzQ1LDQ3IEBA IEVSUk9SOiAgZGlzYWJsZV9vbl9lcnJvciByZXF1aXJlcyBhIEJvb2xlYW4gdmFsdWUKIENS RUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1y ZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0 ID0gZmFsc2UsIGRpc2FibGVfb25fZXJyb3IgPSBmYWxzZSk7CiBXQVJOSU5HOiAgdGFibGVz IHdlcmUgbm90IHN1YnNjcmliZWQsIHlvdSB3aWxsIGhhdmUgdG8gcnVuIEFMVEVSIFNVQlND UklQVElPTiAuLi4gUkVGUkVTSCBQVUJMSUNBVElPTiB0byBzdWJzY3JpYmUgdGhlIHRhYmxl cwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBz dWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgU3luY2hyb25v dXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgU2tpcCBMU04gCi0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3Vi IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg ICAgIHwgYW55ICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgMC8wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBBcHBseSBkZWxheSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5p bmZvICAgICAgICAgICB8IFNraXAgTFNOIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IGYg ICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAg IHwgICAgICAgICAgIDAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jl c3NfdGVzdHN1YiBTRVQgKGRpc2FibGVfb25fZXJyb3IgPSB0cnVlKTsKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwot ICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0 IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAotLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAg ICAgICAgfCBkICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICB8IGFueSAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IDAv MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBz dWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgQXBwbHkgZGVs YXkgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBTa2lwIExTTiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAg ICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICB8IGFueSAgICB8ICAgICAgICAgICAw IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwg MC8wCisoMSByb3cpCisKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IChzbG90X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YjsKKy0tIGZhaWwgLS0gbWluX2FwcGx5X2RlbGF5IG11c3QgYmUgYSBub24tbmVnYXRpdmUg aW50ZWdlcgorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElP TiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJ VEggKGNvbm5lY3QgPSBmYWxzZSwgbWluX2FwcGx5X2RlbGF5ID0gZm9vKTsKK0VSUk9SOiAg aW52YWxpZCBpbnB1dCBzeW50YXggZm9yIHR5cGUgaW50ZXJ2YWw6ICJmb28iCitDUkVBVEUg U1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVz c19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZh bHNlLCBtaW5fYXBwbHlfZGVsYXkgPSAtMSk7CitFUlJPUjogIG9wdGlvbiAibWluX2FwcGx5 X2RlbGF5IiBtdXN0IG5vdCBiZSBuZWdhdGl2ZQorLS0gc3VjY2VzcyAtLSAxMjMgbXMKK0NS RUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1y ZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0 ID0gZmFsc2UsIG1pbl9hcHBseV9kZWxheSA9IDEyMyk7CitXQVJOSU5HOiAgdGFibGVzIHdl cmUgbm90IHN1YnNjcmliZWQsIHlvdSB3aWxsIGhhdmUgdG8gcnVuIEFMVEVSIFNVQlNDUklQ VElPTiAuLi4gUkVGUkVTSCBQVUJMSUNBVElPTiB0byBzdWJzY3JpYmUgdGhlIHRhYmxlcwor XGRScysKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcg fCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IEFwcGx5 IGRlbGF5IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgU2tpcCBMU04gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlv bl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgZiAgICAgICAgIHwg ZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCAgICAgICAg IDEyMyB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCB8IDAvMAorKDEgcm93KQorCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CitEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWI7CistLSBzdWNjZXNzIC0tIGludGVydmFsIGlzIGNvbnZlcnRlZCBpbnRvIG1zIGFu ZCBzdG9yZWQgYXMgaW50ZWdlcgorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElP TiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgbWluX2FwcGx5X2RlbGF5ID0gJzRo IDI3bWluIDM1cycpOworV0FSTklORzogIHRhYmxlcyB3ZXJlIG5vdCBzdWJzY3JpYmVkLCB5 b3Ugd2lsbCBoYXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJT04gLi4uIFJFRlJFU0ggUFVC TElDQVRJT04gdG8gc3Vic2NyaWJlIHRoZSB0YWJsZXMKK1xkUnMrCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAg ICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8 IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8 IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBBcHBseSBkZWxheSB8IFN5bmNocm9ub3Vz IGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFNraXAgTFNOIAorLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgcmVn cmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7 dGVzdHB1Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgICAgMTYwNTUwMDAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAwLzAKICgxIHJvdykKIAog QUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5P TkUpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNx bCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKaW5kZXggNDQyNWZh ZmM0Ni4uODg1ZjhiYjZmYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vi c2NyaXB0aW9uLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24u c3FsCkBAIC0yNjQsNiArMjY0LDI2IEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWIgU0VUIChkaXNhYmxlX29uX2Vycm9yID0gdHJ1ZSk7CiBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBEUk9QIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CiAKKy0tIGZhaWwgLS0gbWluX2FwcGx5X2RlbGF5 IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlcgorQ1JFQVRFIFNVQlNDUklQVElPTiBy ZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0 JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgbWluX2FwcGx5 X2RlbGF5ID0gZm9vKTsKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENP Tk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVz dHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIG1pbl9hcHBseV9kZWxheSA9IC0xKTsKKwor LS0gc3VjY2VzcyAtLSAxMjMgbXMKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJ T04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIG1pbl9hcHBseV9kZWxheSA9IDEy Myk7CisKK1xkUnMrCisKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IChzbG90X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YjsKKworLS0gc3VjY2VzcyAtLSBpbnRlcnZhbCBpcyBjb252ZXJ0ZWQgaW50byBtcyBhbmQg c3RvcmVkIGFzIGludGVnZXIKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04g dGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIG1pbl9hcHBseV9kZWxheSA9ICc0aCAy N21pbiAzNXMnKTsKKworXGRScysKKworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVz dHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViOworCiBSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CiBEUk9QIFJPTEUg cmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjsKIERST1AgUk9MRSByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyMjsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMl9h cHBseV9kZWxheS5wbCBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzMl9hcHBseV9kZWxh eS5wbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4zZDllMGIwNWY5 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMyX2FwcGx5 X2RlbGF5LnBsCkBAIC0wLDAgKzEsMTI5IEBACisKKyMgQ29weXJpZ2h0IChjKSAyMDIyLCBQ b3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorCisjIFRlc3QgcmVwbGljYXRp b24gYXBwbHkgZGVsYXkKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7Cit1c2UgUG9zdGdy ZVNRTDo6VGVzdDo6Q2x1c3RlcjsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczsKK3Vz ZSBUZXN0OjpNb3JlOworCisjIENyZWF0ZSBwdWJsaXNoZXIgbm9kZS4KK215ICRub2RlX3B1 Ymxpc2hlciA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygncHVibGlzaGVyJyk7 Ciskbm9kZV9wdWJsaXNoZXItPmluaXQoYWxsb3dzX3N0cmVhbWluZyA9PiAnbG9naWNhbCcp OworJG5vZGVfcHVibGlzaGVyLT5hcHBlbmRfY29uZigncG9zdGdyZXNxbC5jb25mJywKKwkn bG9naWNhbF9kZWNvZGluZ193b3JrX21lbSA9IDY0a0InKTsKKyRub2RlX3B1Ymxpc2hlci0+ c3RhcnQ7CisKKyMgQ3JlYXRlIHN1YnNjcmliZXIgbm9kZS4KK215ICRub2RlX3N1YnNjcmli ZXIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3N1YnNjcmliZXInKTsKKyRu b2RlX3N1YnNjcmliZXItPmluaXQ7Ciskbm9kZV9zdWJzY3JpYmVyLT5hcHBlbmRfY29uZign cG9zdGdyZXNxbC5jb25mJywKKwkibG9nX21pbl9tZXNzYWdlcyA9IGRlYnVnMiIpOworJG5v ZGVfc3Vic2NyaWJlci0+c3RhcnQ7CisKKyMgQ3JlYXRlIHNvbWUgcHJlZXhpc3RpbmcgY29u dGVudCBvbiBwdWJsaXNoZXIuCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAorCSJDUkVBVEUgVEFCTEUgdGVzdF90YWIgKGEgaW50IHByaW1hcnkga2V5LCBiIHZh cmNoYXIpIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJJ TlNFUlQgSU5UTyB0ZXN0X3RhYiBWQUxVRVMgKDEsICdmb28nKSwgKDIsICdiYXInKSIpOwor CisjIFNldHVwIHN0cnVjdHVyZSBvbiBzdWJzY3JpYmVyLgorJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkNSRUFURSBUQUJMRSB0ZXN0X3RhYiAoYSBpbnQg cHJpbWFyeSBrZXksIGIgdGV4dCwgYyB0aW1lc3RhbXB0eiBERUZBVUxUIG5vdygpLCBkIGJp Z2ludCBERUZBVUxUIDk5OSkiCispOworCisjIFNldHVwIGxvZ2ljYWwgcmVwbGljYXRpb24u CitteSAkcHVibGlzaGVyX2Nvbm5zdHIgPSAkbm9kZV9wdWJsaXNoZXItPmNvbm5zdHIgLiAn IGRibmFtZT1wb3N0Z3Jlcyc7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAorCSJDUkVBVEUgUFVCTElDQVRJT04gdGFwX3B1YiBGT1IgVEFCTEUgdGVzdF90YWIi KTsKKworbXkgJGFwcG5hbWUgPSAndGFwX3N1Yic7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFNVQlNDUklQVElPTiB0YXBfc3ViIENPTk5F Q1RJT04gJyRwdWJsaXNoZXJfY29ubnN0ciBhcHBsaWNhdGlvbl9uYW1lPSRhcHBuYW1lJyBQ VUJMSUNBVElPTiB0YXBfcHViIFdJVEggKHN0cmVhbWluZyA9IG9uLCBtaW5fYXBwbHlfZGVs YXkgPSAnMnMnKSIKKyk7CisKKyMgV2FpdCBmb3IgaW5pdGlhbCB0YWJsZSBzeW5jIHRvIGZp bmlzaC4KKyRub2RlX3N1YnNjcmliZXItPndhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRu b2RlX3B1Ymxpc2hlciwgJGFwcG5hbWUpOworCisjIENoZWNrIGxvZyBzdGFydGluZyBub3cg Zm9yIGxvZ2ljYWwgcmVwbGljYXRpb24gYXBwbHkgZGVsYXkuCitteSAkbG9nX2xvY2F0aW9u ID0gLXMgJG5vZGVfc3Vic2NyaWJlci0+bG9nZmlsZTsKKworbXkgJHJlc3VsdCA9CisgICRu b2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1QgY291bnQo KiksIG1pbihhKSwgbWF4KGEpIEZST00gdGVzdF90YWIiKTsKK2lzKCRyZXN1bHQsIHFxKDJ8 MXwyKSwgJ2NoZWNrIGluaXRpYWwgZGF0YSB3YXMgY29waWVkIHRvIHN1YnNjcmliZXInKTsK KworIyBOZXcgcm93IHRvIHRyaWdnZXIgYXBwbHkgZGVsYXkuCiskbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJJTlNFUlQgSU5UTyB0ZXN0X3RhYiBWQUxVRVMg KDMsICdiYXonKSIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK KwkiSU5TRVJUIElOVE8gdGVzdF90YWIgVkFMVUVTICg0LCAnYWJjJykiKTsKKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIklOU0VSVCBJTlRPIHRlc3RfdGFi IFZBTFVFUyAoNSwgJ2RlZicpIik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0 Y2h1cCgkYXBwbmFtZSk7CisKKyRyZXN1bHQgPQorICAkbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KCopLCBtaW4oYSksIG1heChhKSBG Uk9NIHRlc3RfdGFiIik7CitpcygkcmVzdWx0LCBxcSg1fDF8NSksICdjaGVjayBpZiB0aGUg bmV3IHJvd3Mgd2VyZSBhcHBsaWVkIHRvIHN1YnNjcmliZXInKTsKKworY2hlY2tfYXBwbHlf ZGVsYXlfbG9nKCJsb2dpY2FsIHJlcGxpY2F0aW9uIGFwcGx5IGRlbGF5Iik7CisKKyMgVGVz dCBzdHJlYW1lZCB0cmFuc2FjdGlvbi4KKyMgSW5zZXJ0LCB1cGRhdGUgYW5kIGRlbGV0ZSBl bm91Z2ggcm93cyB0byBleGNlZWQgNjRrQiBsaW1pdC4KKyRub2RlX3B1Ymxpc2hlci0+c2Fm ZV9wc3FsKAorCSdwb3N0Z3JlcycsIHF7CitCRUdJTjsKK0lOU0VSVCBJTlRPIHRlc3RfdGFi IFNFTEVDVCBpLCBtZDUoaTo6dGV4dCkgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoNiwgNTAwMCkg cyhpKTsKK1VQREFURSB0ZXN0X3RhYiBTRVQgYiA9IG1kNShiKSBXSEVSRSBtb2QoYSwgMikg PSAwOworREVMRVRFIEZST00gdGVzdF90YWIgV0hFUkUgbW9kKGEsIDMpID0gMDsKK0NPTU1J VDsKK30pOworCiskbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJGFwcG5hbWUp OworCiskcmVzdWx0ID0KKyAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCisJIlNFTEVDVCBjb3VudCgqKSwgbWluKGEpLCBtYXgoYSkgRlJPTSB0ZXN0X3RhYiIp OworaXMoJHJlc3VsdCwgcXEoMzMzNHwxfDUwMDApLCAnY2hlY2sgaWYgdGhlIG5ldyByb3dz IHdlcmUgYXBwbGllZCB0byBzdWJzY3JpYmVyJyk7CisKK2NoZWNrX2FwcGx5X2RlbGF5X2xv ZygibG9naWNhbCByZXBsaWNhdGlvbiBhcHBseSBkZWxheSIpOworCisjIFRlc3QgQUxURVIg U1VCU0NSSVBUSU9OLiBEZWxheSA4NjQ2MCBzZWNvbmRzICgxIGRheSAxIG1pbnV0ZSkuCisk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQUxURVIgU1VCU0NS SVBUSU9OIHRhcF9zdWIgU0VUIChtaW5fYXBwbHlfZGVsYXkgPSA4NjQ2MDAwMCkiCispOwor CisjIE5ldyByb3cgdG8gdHJpZ2dlciBhcHBseSBkZWxheS4KKyRub2RlX3B1Ymxpc2hlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIklOU0VSVCBJTlRPIHRlc3RfdGFiIFZBTFVFUyAo MCwgJ2Zvb2JhcicpIik7CisKKyMgRGlzYWJsZSBzdWJzY3JpcHRpb24uIHdvcmtlciBzaG91 bGQgZGllIGltbWVkaWF0ZWx5LgorJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCisJIkFMVEVSIFNVQlNDUklQVElPTiB0YXBfc3ViIERJU0FCTEUiCispOworCisj IFdhaXQgdW50aWwgd29ya2VyIGRpZXMuCitteSAkc3ViX3F1ZXJ5ID0KKyAgIlNFTEVDVCBj b3VudCgxKSA9IDAgRlJPTSBwZ19zdGF0X3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0g J3RhcF9zdWInIEFORCBwaWQgSVMgTk9UIE5VTEw7IjsKKyRub2RlX3N1YnNjcmliZXItPnBv bGxfcXVlcnlfdW50aWwoJ3Bvc3RncmVzJywgJHN1Yl9xdWVyeSkKKyAgb3IgZGllICJUaW1l ZCBvdXQgd2hpbGUgd2FpdGluZyBmb3Igc3Vic2NyaWJlciB0byBkaWUiOworCiskbm9kZV9z dWJzY3JpYmVyLT5zdG9wOworJG5vZGVfcHVibGlzaGVyLT5zdG9wOworCitkb25lX3Rlc3Rp bmcoKTsKKworc3ViIGNoZWNrX2FwcGx5X2RlbGF5X2xvZworeworCW15ICRtZXNzYWdlICAg ICAgICAgID0gc2hpZnQ7CisJbXkgJG9sZF9sb2dfbG9jYXRpb24gPSAkbG9nX2xvY2F0aW9u OworCisJJGxvZ19sb2NhdGlvbiA9ICRub2RlX3N1YnNjcmliZXItPndhaXRfZm9yX2xvZyhx ci8kbWVzc2FnZS8sICRsb2dfbG9jYXRpb24pOworCisJY21wX29rKCRsb2dfbG9jYXRpb24s ICc+JywgJG9sZF9sb2dfbG9jYXRpb24sCisJCSJsb2dmaWxlIGNvbnRhaW5zIHRyaWdnZXJl ZCBsb2dpY2FsIHJlcGxpY2F0aW9uIGFwcGx5IGRlbGF5IgorCSk7Cit9Ci0tIAoyLjMwLjIK Cg== --8bf504f0c66047e5a79856b0f98b491a--