Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vy4SD-00HObj-1W for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Mar 2026 08:53:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vy4SA-00Gexx-2N for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Mar 2026 08:53:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vy4S9-00Gexl-2P for pgsql-hackers@lists.postgresql.org; Thu, 05 Mar 2026 08:53:06 +0000 Received: from mail-dl1-x1242.google.com ([2607:f8b0:4864:20::1242]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vy4S5-00000000VdT-1xLp for pgsql-hackers@postgresql.org; Thu, 05 Mar 2026 08:53:05 +0000 Received: by mail-dl1-x1242.google.com with SMTP id a92af1059eb24-127380532eeso222143c88.1 for ; Thu, 05 Mar 2026 00:53:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1772700780; x=1773305580; darn=postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=W/RW8Vf1TbL7LKa2zFI03OH0ayYIx1yM7WT4ltBRp9s=; b=HZBt/X+QqyLuP3P3CD4e+YzeRQVsdMzAfZQ2/BBxxR4FLSyH79wbw7hksf4DgzL9iJ CNW/dbSS5Ard1u8NVDYQfsUsi1M1Tchoj73SmYZLkfTqvKRJDZtCrXZc8IdaPsvPuCWa ++y27XJk2HToh4EpEs3gUH35aEmE7aoCvZlkIS3n6Iy8PfHrJ2e9XQmJQP76/YTtWIxt sMcdfGnrpXV7oXaDLihc0PIOm0wKZKo9uaXDyfnuYounMvergpiLfOgj2vJIDBhwITCR WLDIevVzdjJgrIH/w/7jAwn6L2D3xuii+aUNaE4+IJPbfcUhIC28Lon3yQL3EDCGTWlK AAYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772700780; x=1773305580; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=W/RW8Vf1TbL7LKa2zFI03OH0ayYIx1yM7WT4ltBRp9s=; b=Rup9XquSPxGG+1w7VD+DAN8zho9b908kAkvRL4BDpL5n2Uax9EYsXgbvlKDgrBOLIl QYuY2YLE+BgR9fZMAvYDsOlG8NQD2v6ofJpoZ84/+g6ylZOaqd+ECnwbOHIgOP67XX+2 NrxEXb19uxb8tNR0ghfn0rkje5hksQEQXGDP3jlSv6fO35n20J8NWOQdXvAAj6lqjMc2 f0on/eJZaj4BwhofmwS4nhnqiWhuFHVxVx/+dez2kflBDchAuS4aTMdo7GSytFXDSiph 1DbEDpYmMJcyBJmPORODZUxGWp9blQoNQgKf3AWmcBPUeBUlet+BgGsJhVt0pRo8ZW5Z +BFw== X-Forwarded-Encrypted: i=1; AJvYcCXjuT8CR8tNn7RfXT8X0maZKzE2VkWvHgML0oqWmMP4IMYwapxqX0OiE3dwzKK7PHdEtpDYyqKKzObJFMmL@postgresql.org X-Gm-Message-State: AOJu0YyTku+yLpCAKptAb5d2ducA5GXjQpBnG/XlElMWb06ZoO3tj+3d 7k5XnafvlUTet55vokJLhQPpN4Il3H5fNz/sUGatYgVsMrno9VB3U6U8LWYqYrxbIA== X-Gm-Gg: ATEYQzxz3xTo1MxWEJM2GUwYKDXBOfeZ9dfYHGG+sO8MMfPoI7s1UmHa8CpaYFEoPO9 L3lTDgbvKnOr2jYYbyENqyyjBipIrBhKi0e7rAgzse6KRHS/eDbgJtR2Qetx1AH3H4T4Wa7/TMx u9gyApMsUSEYuataboXKKjiMg5injJrcjAUKOpzdZfFw6wja4k0RyRaMOqDWvrSW1YfDXJuUqIc zhcxADRei/5C4UtW1PZ3pHGcqdF0nIFM6YEm8Qn/swOkT2/o3yEcuHjNk1vBk0jK6ShGBBLzdiw lBPGB3W2wWo8U16Nw1iZ7sr8q7bhF5VJMhnmx235V//eofBHTUjxu5ZsUfE+Kapi62zlTAEdcs0 6ouy+S3iLt0Or9s6364OYnHWosjUqb1LfMYIX2DgscFWPCwfj0zF4VJjxg5E2NRjev6HnrNeER0 AvUjJy0B87mY28CLyW8mmzCvqsFTyirWBQg3LaGVQUkp9BDAzd7z3bSOenVFLb8Q== X-Received: by 2002:a05:7022:61a:b0:127:3b1b:c816 with SMTP id a92af1059eb24-128b708bbc6mr2225541c88.20.1772700780242; Thu, 05 Mar 2026 00:53:00 -0800 (PST) Received: from jeff-laptop.lan (c-24-7-19-3.hsd1.ca.comcast.net. [24.7.19.3]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2be03fc6fcesm10539748eec.1.2026.03.05.00.52.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 00:52:59 -0800 (PST) Message-ID: <80303af653a3da2a94e32ff91d6538675e921bf0.camel@j-davis.com> Subject: Re: [19] CREATE SUBSCRIPTION ... SERVER From: Jeff Davis To: Amit Kapila Cc: Masahiko Sawada , Shlok Kyal , Ashutosh Bapat , Bharath Rupireddy , Joe Conway , pgsql-hackers@postgresql.org Date: Thu, 05 Mar 2026 00:52:57 -0800 In-Reply-To: References: <149ff9264db27cdf724b65709fbbaee4bf316835.camel@j-davis.com> <830a2bc6cbbb2e6e01c6c0d9f31f320822e10603.camel@j-davis.com> <433d0845248e86c0317d9d396926182cfe157340.camel@j-davis.com> <05ae37abb207cd6bf6b126780024692d91402b0b.camel@j-davis.com> <93392ffa941ab0d436e19e0ab5d04d0e42c02d3f.camel@j-davis.com> <26be917cb07b6aa3ef5dd15f6b59d1b375ece6e8.camel@j-davis.com> <55201bd916e748acfc754c8f95880dae8e4e5ed0.camel@j-davis.com> <2a89b14a2b1622bffb8b137ca1f9ab7866f2d2b9.camel@j-davis.com> <61831790a0a937038f78ce09f8dd4cef7de7456a.camel@j-davis.com> <0910b47040406c1d24ec0150dafb5bae6b910ed7.camel@j-davis.com> <7338f22c4534322a08ab6ce9f879e2e308eb5e5d.camel@j-davis.com> <34fd5885b8245d1014f4426ea22af61229d42e3e.camel@j-davis.com> <7a5df376fffb273430aec9e89f88c31d52dcf295.camel@j-davis.com> <5dfe845221db2e7d38fc7c2a18a4ba5ea29cdfc0.camel@j-davis.com> <60ff024706fe1beab62a89ac07eb6a721856de2e.camel@j-davis.com> Content-Type: multipart/mixed; boundary="=-DD3U81TlBG8nk0mS2oJR" User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-DD3U81TlBG8nk0mS2oJR Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2026-03-05 at 09:21 +0530, Amit Kapila wrote: > We revoke view rights on subconninfo from the public. See below [A] > in > system_views.sql. Do we want to do the same for subserver or is it > okay for users to see it? I can't think of a reason that the server name should be secret, but let me know if you think so. > I think the following comment and some place > in docs needs to be updated. > [A] > -- All columns of pg_subscription except subconninfo are publicly > readable. > REVOKE ALL ON pg_subscription FROM public; > GRANT SELECT (oid, subdbid, subskiplsn, subname, subowner, Good catch! Thank you. > 2. We may want to update the following text in pg_dump docs about the > new way of connecting to hosts. See [B] (When dumping logical > replication subscriptions, pg_dump will generate CREATE SUBSCRIPTION > commands that use the connect =3D false option, so that restoring the > subscription does not make remote connections for creating a > replication slot or for initial table copy. That way, the dump can be > restored without requiring network access to the remote servers. It > is > then up to the user to reactivate the subscriptions in a suitable > way. > If the involved hosts have changed, the connection information might > have to be changed.) >=20 > [B] - https://www.postgresql.org/docs/devel/app-pgdump.html >=20 I think the above comment is still correct -- it would be a bit easier to deal with servers rather than raw connection strings, but the comment already says "...might have to be changed" which is just a reminder to look. Attached a new patch that also addressed the review comments from here: https://www.postgresql.org/message-id/CAD21AoCpr8UfmOngKZ92hZ-78cr2H+3Tbs9Q= LveYoWnWBfxrxw@mail.gmail.com Additionally, I ran into a problem that's worth highlighting: DROP SERVER ... CASCADE was broken, because the subscription is dependent on it but that's in a global catalog, which is not handled by doDeletion(). The subscription is conceptually a per-database object, but it's in a shared catalog with a subdbid field. I solved that problem by adding a guard to findDependentObjects() to check for the referenced object belonging to a shared catalog, and if so it just throws an error (so CASCADE is not supported for servers used in subscriptions). That's a simple but not a very satisfying solution, so let me know if you see a problem with that. Regards, Jeff Davis --=-DD3U81TlBG8nk0mS2oJR Content-Disposition: attachment; filename="v19-0001-CREATE-SUBSCRIPTION-.-SERVER.patch" Content-Type: text/x-patch; name="v19-0001-CREATE-SUBSCRIPTION-.-SERVER.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3NTJiOGExZTA3ZDk1NDFkZTkxODczMjU5YmIzZjdhNzRmYWRjMGE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDIgSmFuIDIwMjQgMTM6NDI6NDggLTA4MDAKU3ViamVjdDogW1BBVENIIHYxOV0gQ1JFQVRF IFNVQlNDUklQVElPTiAuLi4gU0VSVkVSLgoKQWxsb3cgQ1JFQVRFIFNVQlNDUklQVElPTiB0byBh Y2NlcHQgYSBmb3JlaWduIHNlcnZlciB1c2luZyB0aGUgU0VSVkVSCmNsYXVzZSBpbnN0ZWFkIG9m IGEgcmF3IGNvbm5lY3Rpb24gc3RyaW5nIHVzaW5nIHRoZSBDT05ORUNUSU9OIGNsYXVzZS4KCiAg KiBFbmFibGVzIGEgdXNlciB3aXRoIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBjcmVhdGUgYSBz dWJzY3JpcHRpb24KICAgIHVzaW5nIGEgZm9yZWlnbiBzZXJ2ZXIgYnkgbmFtZSB3aXRob3V0IHNw ZWNpZnlpbmcgdGhlIGNvbm5lY3Rpb24KICAgIGRldGFpbHMuCgogICogSW50ZWdyYXRlcyB3aXRo IHVzZXIgbWFwcGluZ3MgKGFuZCBvdGhlciBGRFcgaW5mcmFzdHJ1Y3R1cmUpIHVzaW5nCiAgICB0 aGUgc3Vic2NyaXB0aW9uIG93bmVyLgoKICAqIFByb3ZpZGVzIGEgbGF5ZXIgb2YgaW5kaXJlY3Rp b24gdG8gbWFuYWdlIG11bHRpcGxlIHN1YnNjcmlwdGlvbnMKICAgIHRvIHRoZSBzYW1lIHJlbW90 ZSBzZXJ2ZXIgbW9yZSBlYXNpbHkuCgpBbHNvIGFkZCBDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgLi4uIENPTk5FQ1RJT04gY2xhdXNlIHRvIHNwZWNpZnkKYSBjb25uZWN0aW9uX2Z1bmN0aW9u LiBUbyBiZSBlbGlnaWJsZSBmb3IgYSBzdWJzY3JpcHRpb24sIHRoZSBmb3JlaWduCnNlcnZlcidz IGZvcmVpZ24gZGF0YSB3cmFwcGVyIG11c3Qgc3BlY2lmeSBhIGNvbm5lY3Rpb25fZnVuY3Rpb24u CgpBZGQgY29ubmVjdGlvbl9mdW5jdGlvbiBzdXBwb3J0IHRvIHBvc3RncmVzX2ZkdywgYW5kIGJ1 bXAgcG9zdGdyZXNfZmR3CnZlcnNpb24gdG8gMS4zLgoKQnVtcCBjYXR2ZXJzaW9uLgoKUmV2aWV3 ZWQtYnk6IEFzaHV0b3NoIEJhcGF0IDxhc2h1dG9zaC5iYXBhdC5vc3NAZ21haWwuY29tPgpSZXZp ZXdlZC1ieTogU2hsb2sgS3lhbCA8c2hsb2sua3lhbC5vc3NAZ21haWwuY29tPgpSZXZpZXdlZC1i eTogTWFzYWhpa28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0 dHBzOi8vcG9zdGdyLmVzL20vNjE4MzE3OTBhMGE5MzcwMzhmNzhjZTA5ZjhkZDRjZWY3ZGU3NDU2 YS5jYW1lbEBqLWRhdmlzLmNvbQotLS0KIGNvbnRyaWIvcG9zdGdyZXNfZmR3L01ha2VmaWxlICAg ICAgICAgICAgICAgICB8ICAgMiArLQogY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlvbi5j ICAgICAgICAgICAgIHwgMjk5ICsrKysrKysrKysrLS0tLS0tLQogLi4uL3Bvc3RncmVzX2Zkdy9l eHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0ICAgIHwgICA4ICsKIGNvbnRyaWIvcG9zdGdyZXNfZmR3 L21lc29uLmJ1aWxkICAgICAgICAgICAgICB8ICAgMiArCiAuLi4vcG9zdGdyZXNfZmR3L3Bvc3Rn cmVzX2Zkdy0tMS4yLS0xLjMuc3FsICAgfCAgMTIgKwogY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9z dGdyZXNfZmR3LmNvbnRyb2wgICAgIHwgICAyICstCiBjb250cmliL3Bvc3RncmVzX2Zkdy9zcWwv cG9zdGdyZXNfZmR3LnNxbCAgICAgfCAgIDcgKwogY29udHJpYi9wb3N0Z3Jlc19mZHcvdC8wMTBf c3Vic2NyaXB0aW9uLnBsICAgIHwgIDcxICsrKysrCiBkb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBs aWNhdGlvbi5zZ21sICAgICAgICAgfCAgIDQgKy0KIGRvYy9zcmMvc2dtbC9wb3N0Z3Jlcy1mZHcu c2dtbCAgICAgICAgICAgICAgICB8ICAyNiArKwogLi4uL3NnbWwvcmVmL2FsdGVyX2ZvcmVpZ25f ZGF0YV93cmFwcGVyLnNnbWwgIHwgIDIwICsrCiBkb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNj cmlwdGlvbi5zZ21sICAgICAgfCAgMTggKy0KIC4uLi9zZ21sL3JlZi9jcmVhdGVfZm9yZWlnbl9k YXRhX3dyYXBwZXIuc2dtbCB8ICAyMCArKwogZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc2VydmVy LnNnbWwgICAgICAgICAgIHwgICA3ICsKIGRvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlw dGlvbi5zZ21sICAgICB8ICAxNiArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMg ICAgICAgICAgICAgIHwgIDExICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9u LmMgICAgICAgICB8ICAzOCArKy0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bCAgICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvZm9yZWlnbmNtZHMuYyAg ICAgICAgICAgIHwgIDU4ICsrKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNt ZHMuYyAgICAgICB8IDE2OCArKysrKysrKystCiBzcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24u YyAgICAgICAgICAgICAgICAgfCAgODYgKysrKysKIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkg ICAgICAgICAgICAgICAgICAgICB8ICAyMiArKwogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC93b3JrZXIuYyAgICAgIHwgIDI0ICstCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jICAg ICAgICAgICAgICAgICAgICAgfCAgMzkgKystCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oICAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAg ICAgICAgICAgICAgICAgIHwgICA2ICstCiBzcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMg ICAgICAgICAgICAgICAgfCAgMTEgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvY2F0dmVyc2lvbi5o ICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19mb3JlaWduX2Rh dGFfd3JhcHBlci5oIHwgICAzICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9u LmggICAgICAgICB8ICAgOCArLQogc3JjL2luY2x1ZGUvZm9yZWlnbi9mb3JlaWduLmggICAgICAg ICAgICAgICAgIHwgICAzICsKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAg ICAgICAgICB8ICAgMyArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dCAg ICAgICAgfCAgIDIgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0 ICAgIHwgMTk5ICsrKysrKy0tLS0tLQogc3JjL3Rlc3QvcmVncmVzcy9yZWdyZXNzLmMgICAgICAg ICAgICAgICAgICAgIHwgICA3ICsKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5z cWwgICAgICAgICB8ICAyNiArKwogMzYgZmlsZXMgY2hhbmdlZCwgOTg2IGluc2VydGlvbnMoKyks IDI0NyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBjb250cmliL3Bvc3RncmVzX2Zk dy9wb3N0Z3Jlc19mZHctLTEuMi0tMS4zLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIv cG9zdGdyZXNfZmR3L3QvMDEwX3N1YnNjcmlwdGlvbi5wbAoKZGlmZiAtLWdpdCBhL2NvbnRyaWIv cG9zdGdyZXNfZmR3L01ha2VmaWxlIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvTWFrZWZpbGUKaW5k ZXggOGVhZjRkMjYzYjYuLmI4Yzc4YjU4ODA0IDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVz X2Zkdy9NYWtlZmlsZQorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9NYWtlZmlsZQpAQCAtMTQs NyArMTQsNyBAQCBQR19DUFBGTEFHUyA9IC1JJChsaWJwcV9zcmNkaXIpCiBTSExJQl9MSU5LX0lO VEVSTkFMID0gJChsaWJwcSkKIAogRVhURU5TSU9OID0gcG9zdGdyZXNfZmR3Ci1EQVRBID0gcG9z dGdyZXNfZmR3LS0xLjAuc3FsIHBvc3RncmVzX2Zkdy0tMS4wLS0xLjEuc3FsIHBvc3RncmVzX2Zk dy0tMS4xLS0xLjIuc3FsCitEQVRBID0gcG9zdGdyZXNfZmR3LS0xLjAuc3FsIHBvc3RncmVzX2Zk dy0tMS4wLS0xLjEuc3FsIHBvc3RncmVzX2Zkdy0tMS4xLS0xLjIuc3FsIHBvc3RncmVzX2Zkdy0t MS4yLS0xLjMuc3FsCiAKIFJFR1JFU1MgPSBwb3N0Z3Jlc19mZHcgcXVlcnlfY2FuY2VsCiBJU09M QVRJT04gPSBldmFsX3BsYW5fcXVhbApkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcv Y29ubmVjdGlvbi5jIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlvbi5jCmluZGV4IDMx MTkzNjQwNmYyLi43ZTJiODIyZDE2MSAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcv Y29ubmVjdGlvbi5jCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYwpAQCAt MTMyLDYgKzEzMiw3IEBAIFBHX0ZVTkNUSU9OX0lORk9fVjEocG9zdGdyZXNfZmR3X2dldF9jb25u ZWN0aW9ucyk7CiBQR19GVU5DVElPTl9JTkZPX1YxKHBvc3RncmVzX2Zkd19nZXRfY29ubmVjdGlv bnNfMV8yKTsKIFBHX0ZVTkNUSU9OX0lORk9fVjEocG9zdGdyZXNfZmR3X2Rpc2Nvbm5lY3QpOwog UEdfRlVOQ1RJT05fSU5GT19WMShwb3N0Z3Jlc19mZHdfZGlzY29ubmVjdF9hbGwpOworUEdfRlVO Q1RJT05fSU5GT19WMShwb3N0Z3Jlc19mZHdfY29ubmVjdGlvbik7CiAKIC8qIHByb3RvdHlwZXMg b2YgcHJpdmF0ZSBmdW5jdGlvbnMgKi8KIHN0YXRpYyB2b2lkIG1ha2VfbmV3X2Nvbm5lY3Rpb24o Q29ubkNhY2hlRW50cnkgKmVudHJ5LCBVc2VyTWFwcGluZyAqdXNlcik7CkBAIC00NzcsMTQxICs0 NzgsMTU5IEBAIHBnZmR3X3NlY3VyaXR5X2NoZWNrKGNvbnN0IGNoYXIgKiprZXl3b3JkcywgY29u c3QgY2hhciAqKnZhbHVlcywgVXNlck1hcHBpbmcgKnVzCiB9CiAKIC8qCi0gKiBDb25uZWN0IHRv IHJlbW90ZSBzZXJ2ZXIgdXNpbmcgc3BlY2lmaWVkIHNlcnZlciBhbmQgdXNlciBtYXBwaW5nIHBy b3BlcnRpZXMuCisgKiBDb25zdHJ1Y3QgY29ubmVjdGlvbiBwYXJhbXMgZnJvbSBnZW5lcmljIG9w dGlvbnMgb2YgRm9yZWlnblNlcnZlciBhbmQKKyAqIFVzZXJNYXBwaW5nLiAgKFNvbWUgb2YgdGhl bSBtaWdodCBub3QgYmUgbGlicHEgb3B0aW9ucywgaW4gd2hpY2ggY2FzZSB3ZSdsbAorICoganVz dCB3YXN0ZSBhIGZldyBhcnJheSBzbG90cy4pCiAgKi8KLXN0YXRpYyBQR2Nvbm4gKgotY29ubmVj dF9wZ19zZXJ2ZXIoRm9yZWlnblNlcnZlciAqc2VydmVyLCBVc2VyTWFwcGluZyAqdXNlcikKK3N0 YXRpYyB2b2lkCitjb25zdHJ1Y3RfY29ubmVjdGlvbl9wYXJhbXMoRm9yZWlnblNlcnZlciAqc2Vy dmVyLCBVc2VyTWFwcGluZyAqdXNlciwKKwkJCQkJCQljb25zdCBjaGFyICoqKnBfa2V5d29yZHMs IGNvbnN0IGNoYXIgKioqcF92YWx1ZXMsCisJCQkJCQkJY2hhciAqKnBfYXBwbmFtZSkKIHsKLQlQ R2Nvbm4JICAgKnZvbGF0aWxlIGNvbm4gPSBOVUxMOworCWNvbnN0IGNoYXIgKiprZXl3b3JkczsK Kwljb25zdCBjaGFyICoqdmFsdWVzOworCWNoYXIJICAgKmFwcG5hbWUgPSBOVUxMOworCWludAkJ CW47CiAKIAkvKgotCSAqIFVzZSBQR19UUlkgYmxvY2sgdG8gZW5zdXJlIGNsb3NpbmcgY29ubmVj dGlvbiBvbiBlcnJvci4KKwkgKiBBZGQgNCBleHRyYSBzbG90cyBmb3IgYXBwbGljYXRpb25fbmFt ZSwgZmFsbGJhY2tfYXBwbGljYXRpb25fbmFtZSwKKwkgKiBjbGllbnRfZW5jb2RpbmcsIGVuZCBt YXJrZXIsIGFuZCAzIGV4dHJhIHNsb3RzIGZvciBzY3JhbSBrZXlzIGFuZAorCSAqIHJlcXVpcmVk IHNjcmFtIHBhc3MtdGhyb3VnaCBvcHRpb25zLgogCSAqLwotCVBHX1RSWSgpOwotCXsKLQkJY29u c3QgY2hhciAqKmtleXdvcmRzOwotCQljb25zdCBjaGFyICoqdmFsdWVzOwotCQljaGFyCSAgICph cHBuYW1lID0gTlVMTDsKLQkJaW50CQkJbjsKKwluID0gbGlzdF9sZW5ndGgoc2VydmVyLT5vcHRp b25zKSArIGxpc3RfbGVuZ3RoKHVzZXItPm9wdGlvbnMpICsgNCArIDM7CisJa2V5d29yZHMgPSAo Y29uc3QgY2hhciAqKikgcGFsbG9jKG4gKiBzaXplb2YoY2hhciAqKSk7CisJdmFsdWVzID0gKGNv bnN0IGNoYXIgKiopIHBhbGxvYyhuICogc2l6ZW9mKGNoYXIgKikpOwogCi0JCS8qCi0JCSAqIENv bnN0cnVjdCBjb25uZWN0aW9uIHBhcmFtcyBmcm9tIGdlbmVyaWMgb3B0aW9ucyBvZiBGb3JlaWdu U2VydmVyCi0JCSAqIGFuZCBVc2VyTWFwcGluZy4gIChTb21lIG9mIHRoZW0gbWlnaHQgbm90IGJl IGxpYnBxIG9wdGlvbnMsIGluCi0JCSAqIHdoaWNoIGNhc2Ugd2UnbGwganVzdCB3YXN0ZSBhIGZl dyBhcnJheSBzbG90cy4pICBBZGQgNCBleHRyYSBzbG90cwotCQkgKiBmb3IgYXBwbGljYXRpb25f bmFtZSwgZmFsbGJhY2tfYXBwbGljYXRpb25fbmFtZSwgY2xpZW50X2VuY29kaW5nLAotCQkgKiBl bmQgbWFya2VyLCBhbmQgMyBleHRyYSBzbG90cyBmb3Igc2NyYW0ga2V5cyBhbmQgcmVxdWlyZWQg c2NyYW0KLQkJICogcGFzcy10aHJvdWdoIG9wdGlvbnMuCi0JCSAqLwotCQluID0gbGlzdF9sZW5n dGgoc2VydmVyLT5vcHRpb25zKSArIGxpc3RfbGVuZ3RoKHVzZXItPm9wdGlvbnMpICsgNCArIDM7 Ci0JCWtleXdvcmRzID0gKGNvbnN0IGNoYXIgKiopIHBhbGxvYyhuICogc2l6ZW9mKGNoYXIgKikp OwotCQl2YWx1ZXMgPSAoY29uc3QgY2hhciAqKikgcGFsbG9jKG4gKiBzaXplb2YoY2hhciAqKSk7 CisJbiA9IDA7CisJbiArPSBFeHRyYWN0Q29ubmVjdGlvbk9wdGlvbnMoc2VydmVyLT5vcHRpb25z LAorCQkJCQkJCQkgIGtleXdvcmRzICsgbiwgdmFsdWVzICsgbik7CisJbiArPSBFeHRyYWN0Q29u bmVjdGlvbk9wdGlvbnModXNlci0+b3B0aW9ucywKKwkJCQkJCQkJICBrZXl3b3JkcyArIG4sIHZh bHVlcyArIG4pOwogCi0JCW4gPSAwOwotCQluICs9IEV4dHJhY3RDb25uZWN0aW9uT3B0aW9ucyhz ZXJ2ZXItPm9wdGlvbnMsCi0JCQkJCQkJCQkgIGtleXdvcmRzICsgbiwgdmFsdWVzICsgbik7Ci0J CW4gKz0gRXh0cmFjdENvbm5lY3Rpb25PcHRpb25zKHVzZXItPm9wdGlvbnMsCi0JCQkJCQkJCQkg IGtleXdvcmRzICsgbiwgdmFsdWVzICsgbik7Ci0KLQkJLyoKLQkJICogVXNlIHBnZmR3X2FwcGxp Y2F0aW9uX25hbWUgYXMgYXBwbGljYXRpb25fbmFtZSBpZiBzZXQuCi0JCSAqCi0JCSAqIFBRY29u bmVjdGRiUGFyYW1zKCkgcHJvY2Vzc2VzIHRoZSBwYXJhbWV0ZXIgYXJyYXlzIGZyb20gc3RhcnQg dG8KLQkJICogZW5kLiBJZiBhbnkga2V5IHdvcmQgaXMgcmVwZWF0ZWQsIHRoZSBsYXN0IHZhbHVl IGlzIHVzZWQuIFRoZXJlZm9yZQotCQkgKiBub3RlIHRoYXQgcGdmZHdfYXBwbGljYXRpb25fbmFt ZSBtdXN0IGJlIGFkZGVkIHRvIHRoZSBhcnJheXMgYWZ0ZXIKLQkJICogb3B0aW9ucyBvZiBGb3Jl aWduU2VydmVyIGFyZSwgc28gdGhhdCBpdCBjYW4gb3ZlcnJpZGUKLQkJICogYXBwbGljYXRpb25f bmFtZSBzZXQgaW4gRm9yZWlnblNlcnZlci4KLQkJICovCi0JCWlmIChwZ2Zkd19hcHBsaWNhdGlv bl9uYW1lICYmICpwZ2Zkd19hcHBsaWNhdGlvbl9uYW1lICE9ICdcMCcpCi0JCXsKLQkJCWtleXdv cmRzW25dID0gImFwcGxpY2F0aW9uX25hbWUiOwotCQkJdmFsdWVzW25dID0gcGdmZHdfYXBwbGlj YXRpb25fbmFtZTsKLQkJCW4rKzsKLQkJfQorCS8qCisJICogVXNlIHBnZmR3X2FwcGxpY2F0aW9u X25hbWUgYXMgYXBwbGljYXRpb25fbmFtZSBpZiBzZXQuCisJICoKKwkgKiBQUWNvbm5lY3RkYlBh cmFtcygpIHByb2Nlc3NlcyB0aGUgcGFyYW1ldGVyIGFycmF5cyBmcm9tIHN0YXJ0IHRvIGVuZC4K KwkgKiBJZiBhbnkga2V5IHdvcmQgaXMgcmVwZWF0ZWQsIHRoZSBsYXN0IHZhbHVlIGlzIHVzZWQu IFRoZXJlZm9yZSBub3RlCisJICogdGhhdCBwZ2Zkd19hcHBsaWNhdGlvbl9uYW1lIG11c3QgYmUg YWRkZWQgdG8gdGhlIGFycmF5cyBhZnRlciBvcHRpb25zCisJICogb2YgRm9yZWlnblNlcnZlciBh cmUsIHNvIHRoYXQgaXQgY2FuIG92ZXJyaWRlIGFwcGxpY2F0aW9uX25hbWUgc2V0IGluCisJICog Rm9yZWlnblNlcnZlci4KKwkgKi8KKwlpZiAocGdmZHdfYXBwbGljYXRpb25fbmFtZSAmJiAqcGdm ZHdfYXBwbGljYXRpb25fbmFtZSAhPSAnXDAnKQorCXsKKwkJa2V5d29yZHNbbl0gPSAiYXBwbGlj YXRpb25fbmFtZSI7CisJCXZhbHVlc1tuXSA9IHBnZmR3X2FwcGxpY2F0aW9uX25hbWU7CisJCW4r KzsKKwl9CiAKLQkJLyoKLQkJICogU2VhcmNoIHRoZSBwYXJhbWV0ZXIgYXJyYXlzIHRvIGZpbmQg YXBwbGljYXRpb25fbmFtZSBzZXR0aW5nLCBhbmQKLQkJICogcmVwbGFjZSBlc2NhcGUgc2VxdWVu Y2VzIGluIGl0IHdpdGggc3RhdHVzIGluZm9ybWF0aW9uIGlmIGZvdW5kLgotCQkgKiBUaGUgYXJy YXlzIGFyZSBzZWFyY2hlZCBiYWNrd2FyZHMgYmVjYXVzZSB0aGUgbGFzdCB2YWx1ZSBpcyB1c2Vk IGlmCi0JCSAqIGFwcGxpY2F0aW9uX25hbWUgaXMgcmVwZWF0ZWRseSBzZXQuCi0JCSAqLwotCQlm b3IgKGludCBpID0gbiAtIDE7IGkgPj0gMDsgaS0tKQorCS8qCisJICogU2VhcmNoIHRoZSBwYXJh bWV0ZXIgYXJyYXlzIHRvIGZpbmQgYXBwbGljYXRpb25fbmFtZSBzZXR0aW5nLCBhbmQKKwkgKiBy ZXBsYWNlIGVzY2FwZSBzZXF1ZW5jZXMgaW4gaXQgd2l0aCBzdGF0dXMgaW5mb3JtYXRpb24gaWYg Zm91bmQuICBUaGUKKwkgKiBhcnJheXMgYXJlIHNlYXJjaGVkIGJhY2t3YXJkcyBiZWNhdXNlIHRo ZSBsYXN0IHZhbHVlIGlzIHVzZWQgaWYKKwkgKiBhcHBsaWNhdGlvbl9uYW1lIGlzIHJlcGVhdGVk bHkgc2V0LgorCSAqLworCWZvciAoaW50IGkgPSBuIC0gMTsgaSA+PSAwOyBpLS0pCisJeworCQlp ZiAoc3RyY21wKGtleXdvcmRzW2ldLCAiYXBwbGljYXRpb25fbmFtZSIpID09IDAgJiYKKwkJCSoo dmFsdWVzW2ldKSAhPSAnXDAnKQogCQl7Ci0JCQlpZiAoc3RyY21wKGtleXdvcmRzW2ldLCAiYXBw bGljYXRpb25fbmFtZSIpID09IDAgJiYKLQkJCQkqKHZhbHVlc1tpXSkgIT0gJ1wwJykKKwkJCS8q CisJCQkgKiBVc2UgdGhpcyBhcHBsaWNhdGlvbl9uYW1lIHNldHRpbmcgaWYgaXQncyBub3QgZW1w dHkgc3RyaW5nIGV2ZW4KKwkJCSAqIGFmdGVyIGFueSBlc2NhcGUgc2VxdWVuY2VzIGluIGl0IGFy ZSByZXBsYWNlZC4KKwkJCSAqLworCQkJYXBwbmFtZSA9IHByb2Nlc3NfcGdmZHdfYXBwbmFtZSh2 YWx1ZXNbaV0pOworCQkJaWYgKGFwcG5hbWVbMF0gIT0gJ1wwJykKIAkJCXsKLQkJCQkvKgotCQkJ CSAqIFVzZSB0aGlzIGFwcGxpY2F0aW9uX25hbWUgc2V0dGluZyBpZiBpdCdzIG5vdCBlbXB0eSBz dHJpbmcKLQkJCQkgKiBldmVuIGFmdGVyIGFueSBlc2NhcGUgc2VxdWVuY2VzIGluIGl0IGFyZSBy ZXBsYWNlZC4KLQkJCQkgKi8KLQkJCQlhcHBuYW1lID0gcHJvY2Vzc19wZ2Zkd19hcHBuYW1lKHZh bHVlc1tpXSk7Ci0JCQkJaWYgKGFwcG5hbWVbMF0gIT0gJ1wwJykKLQkJCQl7Ci0JCQkJCXZhbHVl c1tpXSA9IGFwcG5hbWU7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQotCQkJCS8qCi0JCQkJICogVGhp cyBlbXB0eSBhcHBsaWNhdGlvbl9uYW1lIGlzIG5vdCB1c2VkLCBzbyB3ZSBzZXQKLQkJCQkgKiB2 YWx1ZXNbaV0gdG8gTlVMTCBhbmQga2VlcCBzZWFyY2hpbmcgdGhlIGFycmF5IHRvIGZpbmQgdGhl Ci0JCQkJICogbmV4dCBvbmUuCi0JCQkJICovCi0JCQkJdmFsdWVzW2ldID0gTlVMTDsKLQkJCQlw ZnJlZShhcHBuYW1lKTsKLQkJCQlhcHBuYW1lID0gTlVMTDsKKwkJCQl2YWx1ZXNbaV0gPSBhcHBu YW1lOworCQkJCWJyZWFrOwogCQkJfQorCisJCQkvKgorCQkJICogVGhpcyBlbXB0eSBhcHBsaWNh dGlvbl9uYW1lIGlzIG5vdCB1c2VkLCBzbyB3ZSBzZXQgdmFsdWVzW2ldIHRvCisJCQkgKiBOVUxM IGFuZCBrZWVwIHNlYXJjaGluZyB0aGUgYXJyYXkgdG8gZmluZCB0aGUgbmV4dCBvbmUuCisJCQkg Ki8KKwkJCXZhbHVlc1tpXSA9IE5VTEw7CisJCQlwZnJlZShhcHBuYW1lKTsKKwkJCWFwcG5hbWUg PSBOVUxMOwogCQl9CisJfQorCisJKnBfYXBwbmFtZSA9IGFwcG5hbWU7CiAKLQkJLyogVXNlICJw b3N0Z3Jlc19mZHciIGFzIGZhbGxiYWNrX2FwcGxpY2F0aW9uX25hbWUgKi8KLQkJa2V5d29yZHNb bl0gPSAiZmFsbGJhY2tfYXBwbGljYXRpb25fbmFtZSI7Ci0JCXZhbHVlc1tuXSA9ICJwb3N0Z3Jl c19mZHciOworCS8qIFVzZSAicG9zdGdyZXNfZmR3IiBhcyBmYWxsYmFja19hcHBsaWNhdGlvbl9u YW1lICovCisJa2V5d29yZHNbbl0gPSAiZmFsbGJhY2tfYXBwbGljYXRpb25fbmFtZSI7CisJdmFs dWVzW25dID0gInBvc3RncmVzX2ZkdyI7CisJbisrOworCisJLyogU2V0IGNsaWVudF9lbmNvZGlu ZyBzbyB0aGF0IGxpYnBxIGNhbiBjb252ZXJ0IGVuY29kaW5nIHByb3Blcmx5LiAqLworCWtleXdv cmRzW25dID0gImNsaWVudF9lbmNvZGluZyI7CisJdmFsdWVzW25dID0gR2V0RGF0YWJhc2VFbmNv ZGluZ05hbWUoKTsKKwluKys7CisKKwkvKiBBZGQgcmVxdWlyZWQgU0NSQU0gcGFzcy10aHJvdWdo IGNvbm5lY3Rpb24gb3B0aW9ucyBpZiBpdCdzIGVuYWJsZWQuICovCisJaWYgKE15UHJvY1BvcnQg IT0gTlVMTCAmJiBNeVByb2NQb3J0LT5oYXNfc2NyYW1fa2V5cyAmJiBVc2VTY3JhbVBhc3N0aHJv dWdoKHNlcnZlciwgdXNlcikpCisJeworCQlpbnQJCQlsZW47CisJCWludAkJCWVuY29kZWRfbGVu OworCisJCWtleXdvcmRzW25dID0gInNjcmFtX2NsaWVudF9rZXkiOworCQlsZW4gPSBwZ19iNjRf ZW5jX2xlbihzaXplb2YoTXlQcm9jUG9ydC0+c2NyYW1fQ2xpZW50S2V5KSk7CisJCS8qIGRvbid0 IGZvcmdldCB0aGUgemVyby10ZXJtaW5hdG9yICovCisJCXZhbHVlc1tuXSA9IHBhbGxvYzAobGVu ICsgMSk7CisJCWVuY29kZWRfbGVuID0gcGdfYjY0X2VuY29kZShNeVByb2NQb3J0LT5zY3JhbV9D bGllbnRLZXksCisJCQkJCQkJCQlzaXplb2YoTXlQcm9jUG9ydC0+c2NyYW1fQ2xpZW50S2V5KSwK KwkJCQkJCQkJCShjaGFyICopIHZhbHVlc1tuXSwgbGVuKTsKKwkJaWYgKGVuY29kZWRfbGVuIDwg MCkKKwkJCWVsb2coRVJST1IsICJjb3VsZCBub3QgZW5jb2RlIFNDUkFNIGNsaWVudCBrZXkiKTsK IAkJbisrOwogCi0JCS8qIFNldCBjbGllbnRfZW5jb2Rpbmcgc28gdGhhdCBsaWJwcSBjYW4gY29u dmVydCBlbmNvZGluZyBwcm9wZXJseS4gKi8KLQkJa2V5d29yZHNbbl0gPSAiY2xpZW50X2VuY29k aW5nIjsKLQkJdmFsdWVzW25dID0gR2V0RGF0YWJhc2VFbmNvZGluZ05hbWUoKTsKKwkJa2V5d29y ZHNbbl0gPSAic2NyYW1fc2VydmVyX2tleSI7CisJCWxlbiA9IHBnX2I2NF9lbmNfbGVuKHNpemVv ZihNeVByb2NQb3J0LT5zY3JhbV9TZXJ2ZXJLZXkpKTsKKwkJLyogZG9uJ3QgZm9yZ2V0IHRoZSB6 ZXJvLXRlcm1pbmF0b3IgKi8KKwkJdmFsdWVzW25dID0gcGFsbG9jMChsZW4gKyAxKTsKKwkJZW5j b2RlZF9sZW4gPSBwZ19iNjRfZW5jb2RlKE15UHJvY1BvcnQtPnNjcmFtX1NlcnZlcktleSwKKwkJ CQkJCQkJCXNpemVvZihNeVByb2NQb3J0LT5zY3JhbV9TZXJ2ZXJLZXkpLAorCQkJCQkJCQkJKGNo YXIgKikgdmFsdWVzW25dLCBsZW4pOworCQlpZiAoZW5jb2RlZF9sZW4gPCAwKQorCQkJZWxvZyhF UlJPUiwgImNvdWxkIG5vdCBlbmNvZGUgU0NSQU0gc2VydmVyIGtleSIpOwogCQluKys7CiAKLQkJ LyogQWRkIHJlcXVpcmVkIFNDUkFNIHBhc3MtdGhyb3VnaCBjb25uZWN0aW9uIG9wdGlvbnMgaWYg aXQncyBlbmFibGVkLiAqLwotCQlpZiAoTXlQcm9jUG9ydCAhPSBOVUxMICYmIE15UHJvY1BvcnQt Pmhhc19zY3JhbV9rZXlzICYmIFVzZVNjcmFtUGFzc3Rocm91Z2goc2VydmVyLCB1c2VyKSkKLQkJ ewotCQkJaW50CQkJbGVuOwotCQkJaW50CQkJZW5jb2RlZF9sZW47Ci0KLQkJCWtleXdvcmRzW25d ID0gInNjcmFtX2NsaWVudF9rZXkiOwotCQkJbGVuID0gcGdfYjY0X2VuY19sZW4oc2l6ZW9mKE15 UHJvY1BvcnQtPnNjcmFtX0NsaWVudEtleSkpOwotCQkJLyogZG9uJ3QgZm9yZ2V0IHRoZSB6ZXJv LXRlcm1pbmF0b3IgKi8KLQkJCXZhbHVlc1tuXSA9IHBhbGxvYzAobGVuICsgMSk7Ci0JCQllbmNv ZGVkX2xlbiA9IHBnX2I2NF9lbmNvZGUoTXlQcm9jUG9ydC0+c2NyYW1fQ2xpZW50S2V5LAotCQkJ CQkJCQkJCXNpemVvZihNeVByb2NQb3J0LT5zY3JhbV9DbGllbnRLZXkpLAotCQkJCQkJCQkJCShj aGFyICopIHZhbHVlc1tuXSwgbGVuKTsKLQkJCWlmIChlbmNvZGVkX2xlbiA8IDApCi0JCQkJZWxv ZyhFUlJPUiwgImNvdWxkIG5vdCBlbmNvZGUgU0NSQU0gY2xpZW50IGtleSIpOwotCQkJbisrOwot Ci0JCQlrZXl3b3Jkc1tuXSA9ICJzY3JhbV9zZXJ2ZXJfa2V5IjsKLQkJCWxlbiA9IHBnX2I2NF9l bmNfbGVuKHNpemVvZihNeVByb2NQb3J0LT5zY3JhbV9TZXJ2ZXJLZXkpKTsKLQkJCS8qIGRvbid0 IGZvcmdldCB0aGUgemVyby10ZXJtaW5hdG9yICovCi0JCQl2YWx1ZXNbbl0gPSBwYWxsb2MwKGxl biArIDEpOwotCQkJZW5jb2RlZF9sZW4gPSBwZ19iNjRfZW5jb2RlKE15UHJvY1BvcnQtPnNjcmFt X1NlcnZlcktleSwKLQkJCQkJCQkJCQlzaXplb2YoTXlQcm9jUG9ydC0+c2NyYW1fU2VydmVyS2V5 KSwKLQkJCQkJCQkJCQkoY2hhciAqKSB2YWx1ZXNbbl0sIGxlbik7Ci0JCQlpZiAoZW5jb2RlZF9s ZW4gPCAwKQotCQkJCWVsb2coRVJST1IsICJjb3VsZCBub3QgZW5jb2RlIFNDUkFNIHNlcnZlciBr ZXkiKTsKLQkJCW4rKzsKKwkJLyoKKwkJICogUmVxdWlyZSBzY3JhbS1zaGEtMjU2IHRvIGVuc3Vy ZSB0aGF0IG5vIG90aGVyIGF1dGggbWV0aG9kIGlzIHVzZWQKKwkJICogd2hlbiBjb25uZWN0aW5n IHdpdGggZm9yZWlnbiBzZXJ2ZXIuCisJCSAqLworCQlrZXl3b3Jkc1tuXSA9ICJyZXF1aXJlX2F1 dGgiOworCQl2YWx1ZXNbbl0gPSAic2NyYW0tc2hhLTI1NiI7CisJCW4rKzsKKwl9CiAKLQkJCS8q Ci0JCQkgKiBSZXF1aXJlIHNjcmFtLXNoYS0yNTYgdG8gZW5zdXJlIHRoYXQgbm8gb3RoZXIgYXV0 aCBtZXRob2QgaXMKLQkJCSAqIHVzZWQgd2hlbiBjb25uZWN0aW5nIHdpdGggZm9yZWlnbiBzZXJ2 ZXIuCi0JCQkgKi8KLQkJCWtleXdvcmRzW25dID0gInJlcXVpcmVfYXV0aCI7Ci0JCQl2YWx1ZXNb bl0gPSAic2NyYW0tc2hhLTI1NiI7Ci0JCQluKys7Ci0JCX0KKwlrZXl3b3Jkc1tuXSA9IHZhbHVl c1tuXSA9IE5VTEw7CisKKwkvKiBWZXJpZnkgdGhlIHNldCBvZiBjb25uZWN0aW9uIHBhcmFtZXRl cnMuICovCisJY2hlY2tfY29ubl9wYXJhbXMoa2V5d29yZHMsIHZhbHVlcywgdXNlcik7CiAKLQkJ a2V5d29yZHNbbl0gPSB2YWx1ZXNbbl0gPSBOVUxMOworCSpwX2tleXdvcmRzID0ga2V5d29yZHM7 CisJKnBfdmFsdWVzID0gdmFsdWVzOworfQorCisvKgorICogQ29ubmVjdCB0byByZW1vdGUgc2Vy dmVyIHVzaW5nIHNwZWNpZmllZCBzZXJ2ZXIgYW5kIHVzZXIgbWFwcGluZyBwcm9wZXJ0aWVzLgor ICovCitzdGF0aWMgUEdjb25uICoKK2Nvbm5lY3RfcGdfc2VydmVyKEZvcmVpZ25TZXJ2ZXIgKnNl cnZlciwgVXNlck1hcHBpbmcgKnVzZXIpCit7CisJUEdjb25uCSAgICp2b2xhdGlsZSBjb25uID0g TlVMTDsKKworCS8qCisJICogVXNlIFBHX1RSWSBibG9jayB0byBlbnN1cmUgY2xvc2luZyBjb25u ZWN0aW9uIG9uIGVycm9yLgorCSAqLworCVBHX1RSWSgpOworCXsKKwkJY29uc3QgY2hhciAqKmtl eXdvcmRzOworCQljb25zdCBjaGFyICoqdmFsdWVzOworCQljaGFyCSAgICphcHBuYW1lOwogCi0J CS8qIFZlcmlmeSB0aGUgc2V0IG9mIGNvbm5lY3Rpb24gcGFyYW1ldGVycy4gKi8KLQkJY2hlY2tf Y29ubl9wYXJhbXMoa2V5d29yZHMsIHZhbHVlcywgdXNlcik7CisJCWNvbnN0cnVjdF9jb25uZWN0 aW9uX3BhcmFtcyhzZXJ2ZXIsIHVzZXIsICZrZXl3b3JkcywgJnZhbHVlcywgJmFwcG5hbWUpOwog CiAJCS8qIGZpcnN0IHRpbWUsIGFsbG9jYXRlIG9yIGdldCB0aGUgY3VzdG9tIHdhaXQgZXZlbnQg Ki8KIAkJaWYgKHBnZmR3X3dlX2Nvbm5lY3QgPT0gMCkKQEAgLTIzMTAsNiArMjMyOSw1NiBAQCBw b3N0Z3Jlc19mZHdfZ2V0X2Nvbm5lY3Rpb25zX2ludGVybmFsKEZ1bmN0aW9uQ2FsbEluZm8gZmNp bmZvLAogCX0KIH0KIAorLyoKKyAqIFZhbHVlcyBpbiBjb25uZWN0aW9uIHN0cmluZ3MgbXVzdCBi ZSBlbmNsb3NlZCBpbiBzaW5nbGUgcXVvdGVzLiBTaW5nbGUKKyAqIHF1b3RlcyBhbmQgYmFja3Ns YXNoZXMgbXVzdCBiZSBlc2NhcGVkIHdpdGggYmFja3NsYXNoLiBOQjogdGhlc2UgcnVsZXMgYXJl CisgKiBkaWZmZXJlbnQgZnJvbSB0aGUgcnVsZXMgZm9yIGVzY2FwaW5nIGEgU1FMIGxpdGVyYWwu CisgKi8KK3N0YXRpYyB2b2lkCithcHBlbmRFc2NhcGVkVmFsdWUoU3RyaW5nSW5mbyBzdHIsIGNv bnN0IGNoYXIgKnZhbCkKK3sKKwlhcHBlbmRTdHJpbmdJbmZvQ2hhcihzdHIsICdcJycpOworCWZv ciAoaW50IGkgPSAwOyB2YWxbaV0gIT0gJ1wwJzsgaSsrKQorCXsKKwkJaWYgKHZhbFtpXSA9PSAn XFwnIHx8IHZhbFtpXSA9PSAnXCcnKQorCQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoc3RyLCAnXFwn KTsKKwkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoc3RyLCB2YWxbaV0pOworCX0KKwlhcHBlbmRTdHJp bmdJbmZvQ2hhcihzdHIsICdcJycpOworfQorCitEYXR1bQorcG9zdGdyZXNfZmR3X2Nvbm5lY3Rp b24oUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlPaWQJCQl1c2VyaWQgPSBQR19HRVRBUkdfT0lEKDAp OworCU9pZAkJCXNlcnZlcmlkID0gUEdfR0VUQVJHX09JRCgxKTsKKwlGb3JlaWduU2VydmVyICpz ZXJ2ZXIgPSBHZXRGb3JlaWduU2VydmVyKHNlcnZlcmlkKTsKKwlVc2VyTWFwcGluZyAqdXNlciA9 IEdldFVzZXJNYXBwaW5nKHVzZXJpZCwgc2VydmVyaWQpOworCVN0cmluZ0luZm9EYXRhIHN0cjsK Kwljb25zdCBjaGFyICoqa2V5d29yZHM7CisJY29uc3QgY2hhciAqKnZhbHVlczsKKwljaGFyCSAg ICphcHBuYW1lOworCWNoYXIJICAgKnNlcCA9ICIiOworCisJY29uc3RydWN0X2Nvbm5lY3Rpb25f cGFyYW1zKHNlcnZlciwgdXNlciwgJmtleXdvcmRzLCAmdmFsdWVzLCAmYXBwbmFtZSk7CisKKwlp bml0U3RyaW5nSW5mbygmc3RyKTsKKwlmb3IgKGludCBpID0gMDsga2V5d29yZHNbaV0gIT0gTlVM TDsgaSsrKQorCXsKKwkJaWYgKHZhbHVlc1tpXSA9PSBOVUxMKQorCQkJY29udGludWU7CisJCWFw cGVuZFN0cmluZ0luZm8oJnN0ciwgIiVzJXMgPSAiLCBzZXAsIGtleXdvcmRzW2ldKTsKKwkJYXBw ZW5kRXNjYXBlZFZhbHVlKCZzdHIsIHZhbHVlc1tpXSk7CisJCXNlcCA9ICIgIjsKKwl9CisKKwlp ZiAoYXBwbmFtZSAhPSBOVUxMKQorCQlwZnJlZShhcHBuYW1lKTsKKwlwZnJlZShrZXl3b3Jkcyk7 CisJcGZyZWUodmFsdWVzKTsKKwlQR19SRVRVUk5fVEVYVF9QKGNzdHJpbmdfdG9fdGV4dChzdHIu ZGF0YSkpOworfQorCiAvKgogICogTGlzdCBhY3RpdmUgZm9yZWlnbiBzZXJ2ZXIgY29ubmVjdGlv bnMuCiAgKgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdy ZXNfZmR3Lm91dCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5v dXQKaW5kZXggMmNjYjcyYzUzOWEuLjBmNTI3MWQ0NzZlIDEwMDY0NAotLS0gYS9jb250cmliL3Bv c3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CisrKyBiL2NvbnRyaWIvcG9zdGdy ZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKQEAgLTI1NSw2ICsyNTUsMTQgQEAgU0VM RUNUIGMzLCBjNCBGUk9NIGZ0MSBPUkRFUiBCWSBjMywgYzEgTElNSVQgMTsgIC0tIHNob3VsZCB3 b3JrIGFnYWluCiBBTkFMWVpFIGZ0MTsKIEFMVEVSIEZPUkVJR04gVEFCTEUgZnQyIE9QVElPTlMg KHVzZV9yZW1vdGVfZXN0aW1hdGUgJ3RydWUnKTsKIC0tID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tIHRlc3Qgc3Vi c2NyaXB0aW9uCistLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfcGdm ZHdfc3Vic2NyaXB0aW9uIFNFUlZFUiB0ZXN0c2VydmVyMQorICBQVUJMSUNBVElPTiBwdWIxIFdJ VEggKHNsb3RfbmFtZSA9IE5PTkUsIGNvbm5lY3QgPSBmYWxzZSk7CitXQVJOSU5HOiAgc3Vic2Ny aXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAorSElOVDogIFRvIGluaXRp YXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9u IHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlv biB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfcGdm ZHdfc3Vic2NyaXB0aW9uOworLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gdGVzdCBlcnJvciBjYXNlIGZvciBj cmVhdGUgcHVibGljYXRpb24gb24gZm9yZWlnbiB0YWJsZQogLS0gPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogQ1JFQVRF IFBVQkxJQ0FUSU9OIHRlc3RwdWJfZnRibCBGT1IgVEFCTEUgZnQxOyAgLS0gc2hvdWxkIGZhaWwK ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L21lc29uLmJ1aWxkIGIvY29udHJpYi9w b3N0Z3Jlc19mZHcvbWVzb24uYnVpbGQKaW5kZXggZWE0Y2Q5ZmNkNDYuLjNlMmVkMDZiNzY2IDEw MDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy9tZXNvbi5idWlsZAorKysgYi9jb250cmli L3Bvc3RncmVzX2Zkdy9tZXNvbi5idWlsZApAQCAtMjcsNiArMjcsNyBAQCBpbnN0YWxsX2RhdGEo CiAgICdwb3N0Z3Jlc19mZHctLTEuMC5zcWwnLAogICAncG9zdGdyZXNfZmR3LS0xLjAtLTEuMS5z cWwnLAogICAncG9zdGdyZXNfZmR3LS0xLjEtLTEuMi5zcWwnLAorICAncG9zdGdyZXNfZmR3LS0x LjItLTEuMy5zcWwnLAogICBrd2FyZ3M6IGNvbnRyaWJfZGF0YV9hcmdzLAogKQogCkBAIC01MCw2 ICs1MSw3IEBAIHRlc3RzICs9IHsKICAgJ3RhcCc6IHsKICAgICAndGVzdHMnOiBbCiAgICAgICAn dC8wMDFfYXV0aF9zY3JhbS5wbCcsCisgICAgICAndC8wMTBfc3Vic2NyaXB0aW9uLnBsJywKICAg ICBdLAogICB9LAogfQpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNf ZmR3LS0xLjItLTEuMy5zcWwgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHctLTEu Mi0tMS4zLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNWJjZjBi YTJlMDkKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19m ZHctLTEuMi0tMS4zLnNxbApAQCAtMCwwICsxLDEyIEBACisvKiBjb250cmliL3Bvc3RncmVzX2Zk dy9wb3N0Z3Jlc19mZHctLTEuMi0tMS4zLnNxbCAqLworCistLSBjb21wbGFpbiBpZiBzY3JpcHQg aXMgc291cmNlZCBpbiBwc3FsLCByYXRoZXIgdGhhbiB2aWEgQUxURVIgRVhURU5TSU9OCitcZWNo byBVc2UgIkFMVEVSIEVYVEVOU0lPTiBwb3N0Z3Jlc19mZHcgVVBEQVRFIFRPICcxLjMnIiB0byBs b2FkIHRoaXMgZmlsZS4gXHF1aXQKKworLS0gdGFrZXMgaW50ZXJuYWwgcGFyYW1ldGVyIHRvIHBy ZXZlbnQgY2FsbGluZyBmcm9tIFNRTAorQ1JFQVRFIEZVTkNUSU9OIHBvc3RncmVzX2Zkd19jb25u ZWN0aW9uKG9pZCwgb2lkLCBpbnRlcm5hbCkKK1JFVFVSTlMgdGV4dAorQVMgJ01PRFVMRV9QQVRI TkFNRScKK0xBTkdVQUdFIEMgU1RSSUNUIFBBUkFMTEVMIFJFU1RSSUNURUQ7CisKK0FMVEVSIEZP UkVJR04gREFUQSBXUkFQUEVSIHBvc3RncmVzX2ZkdyBDT05ORUNUSU9OIHBvc3RncmVzX2Zkd19j b25uZWN0aW9uOwpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3 LmNvbnRyb2wgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuY29udHJvbAppbmRl eCBhNGI4MDBiZTRmYy4uYWUyOTYzZDQ4MGQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNf ZmR3L3Bvc3RncmVzX2Zkdy5jb250cm9sCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3Rn cmVzX2Zkdy5jb250cm9sCkBAIC0xLDUgKzEsNSBAQAogIyBwb3N0Z3Jlc19mZHcgZXh0ZW5zaW9u CiBjb21tZW50ID0gJ2ZvcmVpZ24tZGF0YSB3cmFwcGVyIGZvciByZW1vdGUgUG9zdGdyZVNRTCBz ZXJ2ZXJzJwotZGVmYXVsdF92ZXJzaW9uID0gJzEuMicKK2RlZmF1bHRfdmVyc2lvbiA9ICcxLjMn CiBtb2R1bGVfcGF0aG5hbWUgPSAnJGxpYmRpci9wb3N0Z3Jlc19mZHcnCiByZWxvY2F0YWJsZSA9 IHRydWUKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcu c3FsIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKaW5kZXggNzJk MmQ5YzMxMWIuLjQ5ZWQ3OTdlOGVmIDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy9z cWwvcG9zdGdyZXNfZmR3LnNxbAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdy ZXNfZmR3LnNxbApAQCAtMjQ0LDYgKzI0NCwxMyBAQCBTRUxFQ1QgYzMsIGM0IEZST00gZnQxIE9S REVSIEJZIGMzLCBjMSBMSU1JVCAxOyAgLS0gc2hvdWxkIHdvcmsgYWdhaW4KIEFOQUxZWkUgZnQx OwogQUxURVIgRk9SRUlHTiBUQUJMRSBmdDIgT1BUSU9OUyAodXNlX3JlbW90ZV9lc3RpbWF0ZSAn dHJ1ZScpOwogCistLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLSB0ZXN0IHN1YnNjcmlwdGlvbgorLS0gPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3BnZmR3X3N1YnNjcmlwdGlvbiBTRVJW RVIgdGVzdHNlcnZlcjEKKyAgUFVCTElDQVRJT04gcHViMSBXSVRIIChzbG90X25hbWUgPSBOT05F LCBjb25uZWN0ID0gZmFsc2UpOworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc19wZ2Zkd19zdWJz Y3JpcHRpb247CisKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tIHRlc3QgZXJyb3IgY2FzZSBmb3IgY3JlYXRl IHB1YmxpY2F0aW9uIG9uIGZvcmVpZ24gdGFibGUKIC0tID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBh L2NvbnRyaWIvcG9zdGdyZXNfZmR3L3QvMDEwX3N1YnNjcmlwdGlvbi5wbCBiL2NvbnRyaWIvcG9z dGdyZXNfZmR3L3QvMDEwX3N1YnNjcmlwdGlvbi5wbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uMWU0MTA5MWJhZGMKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3Bv c3RncmVzX2Zkdy90LzAxMF9zdWJzY3JpcHRpb24ucGwKQEAgLTAsMCArMSw3MSBAQAorCisjIENv cHlyaWdodCAoYykgMjAyMS0yMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91 cAorCisjIEJhc2ljIGxvZ2ljYWwgcmVwbGljYXRpb24gdGVzdAordXNlIHN0cmljdDsKK3VzZSB3 YXJuaW5ncyBGQVRBTCA9PiAnYWxsJzsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyOwor dXNlIFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOwordXNlIFRlc3Q6Ok1vcmU7CisKKyMgSW5pdGlh bGl6ZSBwdWJsaXNoZXIgbm9kZQorbXkgJG5vZGVfcHVibGlzaGVyID0gUG9zdGdyZVNRTDo6VGVz dDo6Q2x1c3Rlci0+bmV3KCdwdWJsaXNoZXInKTsKKyRub2RlX3B1Ymxpc2hlci0+aW5pdChhbGxv d3Nfc3RyZWFtaW5nID0+ICdsb2dpY2FsJyk7Ciskbm9kZV9wdWJsaXNoZXItPnN0YXJ0OworCisj IENyZWF0ZSBzdWJzY3JpYmVyIG5vZGUKK215ICRub2RlX3N1YnNjcmliZXIgPSBQb3N0Z3JlU1FM OjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3N1YnNjcmliZXInKTsKKyRub2RlX3N1YnNjcmliZXItPmlu aXQ7Ciskbm9kZV9zdWJzY3JpYmVyLT5zdGFydDsKKworIyBDcmVhdGUgc29tZSBwcmVleGlzdGlu ZyBjb250ZW50IG9uIHB1Ymxpc2hlcgorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKKwkiQ1JFQVRFIFRBQkxFIHRhYl9pbnMgQVMgU0VMRUNUIGEsIGEgKyAxIGFzIGIgRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSwxMDAyKSBBUyBhIik7CisKKyMgUmVwbGljYXRlIHRoZSBjaGFu Z2VzIHdpdGhvdXQgY29sdW1ucworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgIkNSRUFURSBUQUJMRSB0YWJfbm9fY29sKCkiKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsCisJIklOU0VSVCBJTlRPIHRhYl9ub19jb2wgZGVmYXVsdCBWQUxVRVMi KTsKKworIyBTZXR1cCBzdHJ1Y3R1cmUgb24gc3Vic2NyaWJlcgorJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgRVhURU5TSU9OIHBvc3RncmVzX2ZkdyIpOwor JG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdGFi X2lucyAoYSBpbnQsIGIgaW50KSIpOworCisjIFNldHVwIGxvZ2ljYWwgcmVwbGljYXRpb24KK215 ICRwdWJsaXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1l PXBvc3RncmVzJzsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVB VEUgUFVCTElDQVRJT04gdGFwX3B1YiBGT1IgVEFCTEUgdGFiX2lucyIpOworCitteSAkcHVibGlz aGVyX2hvc3QgPSAkbm9kZV9wdWJsaXNoZXItPmhvc3Q7CitteSAkcHVibGlzaGVyX3BvcnQgPSAk bm9kZV9wdWJsaXNoZXItPnBvcnQ7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKKwkiQ1JFQVRFIFNFUlZFUiB0YXBfc2VydmVyIEZPUkVJR04gREFUQSBXUkFQUEVSIHBv c3RncmVzX2ZkdyBPUFRJT05TIChob3N0ICckcHVibGlzaGVyX2hvc3QnLCBwb3J0ICckcHVibGlz aGVyX3BvcnQnLCBkYm5hbWUgJ3Bvc3RncmVzJykiCispOworCiskbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgUFVCTElDIFNF UlZFUiB0YXBfc2VydmVyIgorKTsKKworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0 Z3JlcycsCisJIkNSRUFURSBGT1JFSUdOIFRBQkxFIGZfdGFiX2lucyAoYSBpbnQsIGIgaW50KSBT RVJWRVIgdGFwX3NlcnZlciBPUFRJT05TKHRhYmxlX25hbWUgJ3RhYl9pbnMnKSIKKyk7Ciskbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFNVQlNDUklQVElP TiB0YXBfc3ViIFNFUlZFUiB0YXBfc2VydmVyIFBVQkxJQ0FUSU9OIHRhcF9wdWIgV0lUSCAocGFz c3dvcmRfcmVxdWlyZWQ9ZmFsc2UpIgorKTsKKworIyBXYWl0IGZvciBpbml0aWFsIHRhYmxlIHN5 bmMgdG8gZmluaXNoCiskbm9kZV9zdWJzY3JpYmVyLT53YWl0X2Zvcl9zdWJzY3JpcHRpb25fc3lu Yygkbm9kZV9wdWJsaXNoZXIsICd0YXBfc3ViJyk7CisKK215ICRyZXN1bHQgPQorICAkbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIChT RUxFQ1QgZi5iID0gbC5iIGFzIG1hdGNoIEZST00gdGFiX2lucyBsLCBmX3RhYl9pbnMgZiBXSEVS RSBsLmEgPSBmLmEpIFdIRVJFIG1hdGNoIik7CitpcygkcmVzdWx0LCBxcSgxMDAyKSwgJ2NoZWNr IHRoYXQgaW5pdGlhbCBkYXRhIHdhcyBjb3BpZWQgdG8gc3Vic2NyaWJlcicpOworCiskbm9kZV9w dWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJJTlNFUlQgSU5UTyB0YWJfaW5zIFNF TEVDVCBhLCBhICsgMSBGUk9NIGdlbmVyYXRlX3NlcmllcygxMDAzLDEwNTApIGEiKTsKKworJG5v ZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCd0YXBfc3ViJyk7CisKKyRyZXN1bHQgPQor ICAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgq KSBGUk9NIChTRUxFQ1QgZi5iID0gbC5iIGFzIG1hdGNoIEZST00gdGFiX2lucyBsLCBmX3RhYl9p bnMgZiBXSEVSRSBsLmEgPSBmLmEpIFdIRVJFIG1hdGNoIik7CitpcygkcmVzdWx0LCBxcSgxMDUw KSwgJ2NoZWNrIHRoYXQgaW5zZXJ0ZWQgZGF0YSB3YXMgY29waWVkIHRvIHN1YnNjcmliZXInKTsK KworZG9uZV90ZXN0aW5nKCk7CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBs aWNhdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbAppbmRl eCBiY2I0NzNjMDc4Yi4uNzJjOGQzZDU5YmQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9sb2dp Y2FsLXJlcGxpY2F0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRp b24uc2dtbApAQCAtMjU3Nyw3ICsyNTc3LDkgQEAgQ09OVEVYVDogIHByb2Nlc3NpbmcgcmVtb3Rl IGRhdGEgZm9yIHJlcGxpY2F0aW9uIG9yaWdpbiAicGdfMTYzOTUiIGR1cmluZyAiSU5TRVIKICAg PHBhcmE+CiAgICBUbyBjcmVhdGUgYSBzdWJzY3JpcHRpb24sIHRoZSB1c2VyIG11c3QgaGF2ZSB0 aGUgcHJpdmlsZWdlcyBvZgogICAgdGhlIDxsaXRlcmFsPnBnX2NyZWF0ZV9zdWJzY3JpcHRpb248 L2xpdGVyYWw+IHJvbGUsIGFzIHdlbGwgYXMKLSAgIDxsaXRlcmFsPkNSRUFURTwvbGl0ZXJhbD4g cHJpdmlsZWdlcyBvbiB0aGUgZGF0YWJhc2UuCisgICA8bGl0ZXJhbD5DUkVBVEU8L2xpdGVyYWw+ IHByaXZpbGVnZXMgb24gdGhlIGRhdGFiYXNlLiAgSWYKKyAgIDxsaXRlcmFsPlNFUlZFUjwvbGl0 ZXJhbD4gaXMgc3BlY2lmaWVkLCB0aGUgdXNlciBhbHNvIG11c3QgaGF2ZQorICAgPGxpdGVyYWw+ VVNBR0U8L2xpdGVyYWw+IHByaXZpbGVnZXMgb24gdGhlIHNlcnZlci4KICAgPC9wYXJhPgogCiAg IDxwYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21sIGIvZG9j L3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21sCmluZGV4IGZjZjEwZTQzMTdlLi5kZTY5ZGRjZGVi YyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3Bvc3RncmVzLWZkdy5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9wb3N0Z3Jlcy1mZHcuc2dtbApAQCAtMTA0OSw2ICsxMDQ5LDMyIEBAIHBvc3RncmVz PSMgU0VMRUNUIHBvc3RncmVzX2Zkd19kaXNjb25uZWN0X2FsbCgpOwogICA8L3BhcmE+CiAgPC9z ZWN0Mj4KIAorIDxzZWN0MiBpZD0icG9zdGdyZXMtZmR3LXNlcnZlci1zdWJzY3JpcHRpb24iPgor ICA8dGl0bGU+U3Vic2NyaXB0aW9uIE1hbmFnZW1lbnQ8L3RpdGxlPgorCisgIDxwYXJhPgorICAg PGZpbGVuYW1lPnBvc3RncmVzX2ZkdzwvZmlsZW5hbWU+IHN1cHBvcnRzIHN1YnNjcmlwdGlvbiBj b25uZWN0aW9ucyB1c2luZworICAgdGhlIHNhbWUgb3B0aW9ucyBkZXNjcmliZWQgaW4gPHhyZWYK KyAgIGxpbmtlbmQ9InBvc3RncmVzLWZkdy1vcHRpb25zLWNvbm5lY3Rpb24iLz4uCisgIDwvcGFy YT4KKworICA8cGFyYT4KKyAgIEZvciBleGFtcGxlLCBhc3N1bWluZyB0aGUgcmVtb3RlIHNlcnZl ciA8bGl0ZXJhbD5mb3JlaWduLWhvc3Q8L2xpdGVyYWw+IGhhcworICAgYSBwdWJsaWNhdGlvbiA8 bGl0ZXJhbD50ZXN0cHViPC9saXRlcmFsPjoKKzxwcm9ncmFtbGlzdGluZz4KK0NSRUFURSBTRVJW RVIgc3Vic2NyaXB0aW9uX3NlcnZlciBGT1JFSUdOIERBVEEgV1JBUFBFUiBwb3N0Z3Jlc19mZHcg T1BUSU9OUyAoaG9zdCAnZm9yZWlnbi1ob3N0JywgZGJuYW1lICdmb3JlaWduX2RiJyk7CitDUkVB VEUgVVNFUiBNQVBQSU5HIEZPUiBsb2NhbF91c2VyIFNFUlZFUiBzdWJzY3JpcHRpb25fc2VydmVy IE9QVElPTlMgKHVzZXIgJ2ZvcmVpZ25fdXNlcicsIHBhc3N3b3JkICdwYXNzd29yZCcpOworQ1JF QVRFIFNVQlNDUklQVElPTiBteV9zdWJzY3JpcHRpb24gU0VSVkVSIHN1YnNjcmlwdGlvbl9zZXJ2 ZXIgUFVCTElDQVRJT04gdGVzdHB1YjsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKwor ICA8cGFyYT4KKyAgIFRvIGNyZWF0ZSBhIHN1YnNjcmlwdGlvbiwgdGhlIHVzZXIgbXVzdCBiZSBh IG1lbWJlciBvZiB0aGUgPHhyZWYKKyAgIGxpbmtlbmQ9InByZWRlZmluZWQtcm9sZS1wZy1jcmVh dGUtc3Vic2NyaXB0aW9uIi8+IHJvbGUgYW5kIGhhdmUKKyAgIDxsaXRlcmFsPlVTQUdFPC9saXRl cmFsPiBwcml2aWxlZ2VzIG9uIHRoZSBzZXJ2ZXIuCisgIDwvcGFyYT4KKyA8L3NlY3QyPgorCiAg PHNlY3QyIGlkPSJwb3N0Z3Jlcy1mZHctdHJhbnNhY3Rpb24tbWFuYWdlbWVudCI+CiAgIDx0aXRs ZT5UcmFuc2FjdGlvbiBNYW5hZ2VtZW50PC90aXRsZT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl9mb3JlaWduX2RhdGFfd3JhcHBlci5zZ21sIGIvZG9jL3NyYy9zZ21sL3Jl Zi9hbHRlcl9mb3JlaWduX2RhdGFfd3JhcHBlci5zZ21sCmluZGV4IGRjMDk1N2Q5NjVhLi42NDBj MDI4OTNjZiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9mb3JlaWduX2RhdGFf d3JhcHBlci5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfZm9yZWlnbl9kYXRhX3dy YXBwZXIuc2dtbApAQCAtMjQsNiArMjQsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIEFM VEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u YW1lPC9yZXBsYWNlYWJsZT4KICAgICBbIEhBTkRMRVIgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmhhbmRsZXJfZnVuY3Rpb248L3JlcGxhY2VhYmxlPiB8IE5PIEhBTkRMRVIgXQogICAg IFsgVkFMSURBVE9SIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWxpZGF0b3JfZnVu Y3Rpb248L3JlcGxhY2VhYmxlPiB8IE5PIFZBTElEQVRPUiBdCisgICAgWyBDT05ORUNUSU9OIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25uZWN0aW9uX2Z1bmN0aW9uPC9yZXBsYWNl YWJsZT4gfCBOTyBDT05ORUNUSU9OIF0KICAgICBbIE9QVElPTlMgKCBbIEFERCB8IFNFVCB8IERS T1AgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3B0aW9uPC9yZXBsYWNlYWJsZT4g Wyc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPiddIFss IC4uLiBdKSBdCiBBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IE9XTkVSIFRPIHsgPHJlcGxhY2VhYmxlPm5l d19vd25lcjwvcmVwbGFjZWFibGU+IHwgQ1VSUkVOVF9ST0xFIHwgQ1VSUkVOVF9VU0VSIHwgU0VT U0lPTl9VU0VSIH0KIEFMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDxyZXBsYWNlYWJsZT5u ZXdfbmFtZTwvcmVwbGFjZWFibGU+CkBAIC0xMTIsNiArMTEzLDI1IEBAIEFMVEVSIEZPUkVJR04g REFUQSBXUkFQUEVSIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNl YWJsZT4gUkVOCiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCisgICA8dmFy bGlzdGVudHJ5PgorICAgIDx0ZXJtPjxsaXRlcmFsPkNPTk5FQ1RJT04gPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmNvbm5lY3Rpb25fZnVuY3Rpb248L3JlcGxhY2VhYmxlPjwvbGl0ZXJh bD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFNwZWNpZmllcyBh IG5ldyBjb25uZWN0aW9uIGZ1bmN0aW9uIGZvciB0aGUgZm9yZWlnbi1kYXRhIHdyYXBwZXIuCisg ICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2 YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGxpdGVyYWw+Tk8gQ09OTkVDVElPTjwvbGl0ZXJhbD48 L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoaXMgaXMgdXNlZCB0 byBzcGVjaWZ5IHRoYXQgdGhlIGZvcmVpZ24tZGF0YSB3cmFwcGVyIHNob3VsZCBubworICAgICAg bG9uZ2VyIGhhdmUgYSBjb25uZWN0aW9uIGZ1bmN0aW9uLgorICAgICA8L3BhcmE+CisgICAgPC9s aXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCiAgICA8dmFybGlzdGVudHJ5PgogICAgIDx0 ZXJtPjxsaXRlcmFsPk9QVElPTlMgKCBbIEFERCB8IFNFVCB8IERST1AgXSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+b3B0aW9uPC9yZXBsYWNlYWJsZT4gWyc8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPiddIFssIC4uLiBdICk8L2xpdGVyYWw+ PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0 ZXJfc3Vic2NyaXB0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlv bi5zZ21sCmluZGV4IDUzMTg5OThlODBjLi5mMjE1ZmIwZTVhMiAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVm L2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sCkBAIC0yMSw2ICsyMSw3IEBAIFBvc3RncmVTUUwgZG9j dW1lbnRhdGlvbgogCiAgPHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lzPgorQUxURVIgU1VCU0NS SVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4g U0VSVkVSIDxyZXBsYWNlYWJsZT5zZXJ2ZXJuYW1lPC9yZXBsYWNlYWJsZT4KIEFMVEVSIFNVQlND UklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ IENPTk5FQ1RJT04gJzxyZXBsYWNlYWJsZT5jb25uaW5mbzwvcmVwbGFjZWFibGU+JwogQUxURVIg U1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNl YWJsZT4gU0VUIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wdWJs aWNhdGlvbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBbIFdJVEggKCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25fb3B0aW9uPC9yZXBsYWNlYWJsZT4gWz0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT5dIFssIC4uLiBd ICkgXQogQUxURVIgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u YW1lPC9yZXBsYWNlYWJsZT4gQUREIFBVQkxJQ0FUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5wdWJsaWNhdGlvbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBbIFdJVEggKCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGljYXRpb25fb3B0aW9uPC9yZXBsYWNl YWJsZT4gWz0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJs ZT5dIFssIC4uLiBdICkgXQpAQCAtMTAyLDEzICsxMDMsMjQgQEAgQUxURVIgU1VCU0NSSVBUSU9O IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1F IFRPIDwKICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgIDx2YXJsaXN0 ZW50cnkgaWQ9InNxbC1hbHRlcnN1YnNjcmlwdGlvbi1wYXJhbXMtc2VydmVyIj4KKyAgICA8dGVy bT48bGl0ZXJhbD5TRVJWRVIgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNlcnZlcm5h bWU8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8 cGFyYT4KKyAgICAgIFRoaXMgY2xhdXNlIHJlcGxhY2VzIHRoZSBmb3JlaWduIHNlcnZlciBvciBj b25uZWN0aW9uIHN0cmluZyBvcmlnaW5hbGx5CisgICAgICBzZXQgYnkgPHhyZWYgbGlua2VuZD0i c3FsLWNyZWF0ZXN1YnNjcmlwdGlvbiIvPiB3aXRoIHRoZSBmb3JlaWduIHNlcnZlcgorICAgICAg PHJlcGxhY2VhYmxlPnNlcnZlcm5hbWU8L3JlcGxhY2VhYmxlPi4KKyAgICAgPC9wYXJhPgorICAg IDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZhcmxpc3RlbnRyeSBpZD0i c3FsLWFsdGVyc3Vic2NyaXB0aW9uLXBhcmFtcy1jb25uZWN0aW9uIj4KICAgICA8dGVybT48bGl0 ZXJhbD5DT05ORUNUSU9OICc8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29ubmluZm88 L3JlcGxhY2VhYmxlPic8L2xpdGVyYWw+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBh cmE+Ci0gICAgICBUaGlzIGNsYXVzZSByZXBsYWNlcyB0aGUgY29ubmVjdGlvbiBzdHJpbmcgb3Jp Z2luYWxseSBzZXQgYnkKLSAgICAgIDx4cmVmIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRp b24iLz4uICBTZWUgdGhlcmUgZm9yIG1vcmUKLSAgICAgIGluZm9ybWF0aW9uLgorICAgICAgVGhp cyBjbGF1c2UgcmVwbGFjZXMgdGhlIGZvcmVpZ24gc2VydmVyIG9yIGNvbm5lY3Rpb24gc3RyaW5n IG9yaWdpbmFsbHkKKyAgICAgIHNldCBieSA8eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRlc3Vic2Ny aXB0aW9uIi8+IHdpdGggdGhlIGNvbm5lY3Rpb24KKyAgICAgIHN0cmluZyA8cmVwbGFjZWFibGU+ Y29ubmluZm88L3JlcGxhY2VhYmxlPi4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAg ICA8L3Zhcmxpc3RlbnRyeT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX2Zv cmVpZ25fZGF0YV93cmFwcGVyLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9mb3JlaWdu X2RhdGFfd3JhcHBlci5zZ21sCmluZGV4IDBmY2JhMThhMzQ3Li43YjgzZjUwMGIyNSAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfZm9yZWlnbl9kYXRhX3dyYXBwZXIuc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9mb3JlaWduX2RhdGFfd3JhcHBlci5zZ21sCkBA IC0yNCw2ICsyNCw3IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogQ1JFQVRFIEZPUkVJR04g REFUQSBXUkFQUEVSIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNl YWJsZT4KICAgICBbIEhBTkRMRVIgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmhhbmRs ZXJfZnVuY3Rpb248L3JlcGxhY2VhYmxlPiB8IE5PIEhBTkRMRVIgXQogICAgIFsgVkFMSURBVE9S IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWxpZGF0b3JfZnVuY3Rpb248L3JlcGxh Y2VhYmxlPiB8IE5PIFZBTElEQVRPUiBdCisgICAgWyBDT05ORUNUSU9OIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5jb25uZWN0aW9uX2Z1bmN0aW9uPC9yZXBsYWNlYWJsZT4gfCBOTyBD T05ORUNUSU9OIF0KICAgICBbIE9QVElPTlMgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+b3B0aW9uPC9yZXBsYWNlYWJsZT4gJzxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52 YWx1ZTwvcmVwbGFjZWFibGU+JyBbLCAuLi4gXSApIF0KIDwvc3lub3BzaXM+CiAgPC9yZWZzeW5v cHNpc2Rpdj4KQEAgLTk5LDYgKzEwMCwyNSBAQCBDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogICAgIDwv bGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8 dGVybT48bGl0ZXJhbD5DT05ORUNUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b25uZWN0aW9uX2Z1bmN0aW9uPC9yZXBsYWNlYWJsZT48L2xpdGVyYWw+PC90ZXJtPgorICAgIDxs aXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29ubmVjdGlvbl9mdW5jdGlvbjwvcmVwbGFjZWFibGU+IGlzIHRoZQorICAgICAgbmFtZSBv ZiBhIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHRv IGdlbmVyYXRlCisgICAgICB0aGUgcG9zdGdyZXMgY29ubmVjdGlvbiBzdHJpbmcgd2hlbiBhIGZv cmVpZ24gc2VydmVyIGlzIHVzZWQgYXMgcGFydCBvZgorICAgICAgPHhyZWYgbGlua2VuZD0ic3Fs LWNyZWF0ZXN1YnNjcmlwdGlvbiIvPi4gIElmIG5vIGNvbm5lY3Rpb24gZnVuY3Rpb24gb3IKKyAg ICAgIDxsaXRlcmFsPk5PIENPTk5FQ1RJT048L2xpdGVyYWw+IGlzIHNwZWNpZmllZCwgdGhlbiBz ZXJ2ZXJzIHVzaW5nIHRoaXMKKyAgICAgIGZvcmVpZ24gZGF0YSB3cmFwcGVyIGNhbm5vdCBiZSB1 c2VkIGZvciA8bGl0ZXJhbD5DUkVBVEUKKyAgICAgIFNVQlNDUklQVElPTjwvbGl0ZXJhbD4uICBU aGUgY29ubmVjdGlvbiBmdW5jdGlvbiBtdXN0IHRha2UgdGhyZWUKKyAgICAgIGFyZ3VtZW50czog b25lIG9mIHR5cGUgPHR5cGU+b2lkPC90eXBlPiBmb3IgdGhlIHVzZXIsIG9uZSBvZiB0eXBlCisg ICAgICA8dHlwZT5vaWQ8L3R5cGU+IGZvciB0aGUgc2VydmVyLCBhbmQgYW4gdW51c2VkIHRoaXJk IGFyZ3VtZW50IG9mIHR5cGUKKyAgICAgIDx0eXBlPmludGVybmFsPC90eXBlPiAod2hpY2ggcHJl dmVudHMgY2FsbGluZyB0aGUgZnVuY3Rpb24gaW4gb3RoZXIKKyAgICAgIGNvbnRleHRzKS4KKyAg ICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgPHZh cmxpc3RlbnRyeT4KICAgICA8dGVybT48bGl0ZXJhbD5PUFRJT05TICggPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPm9wdGlvbjwvcmVwbGFjZWFibGU+ICc8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPicgWywgLi4uIF0gKTwvbGl0ZXJhbD48L3Rl cm0+CiAgICAgPGxpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVf c2VydmVyLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zZXJ2ZXIuc2dtbAppbmRleCAw NWY0MDE5NDUzYi4uY2U0YTA2NGVhYmIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3Jl YXRlX3NlcnZlci5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3NlcnZlci5zZ21s CkBAIC00Miw2ICs0MiwxMyBAQCBDUkVBVEUgU0VSVkVSIFsgSUYgTk9UIEVYSVNUUyBdIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zZXJ2ZXJfbmFtZTwvcmVwbAogICAgbWVhbnMgb2Yg dXNlciBtYXBwaW5ncy4KICAgPC9wYXJhPgogCisgIDxwYXJhPgorICAgSWYgdGhlIGZvcmVpZ24g ZGF0YSB3cmFwcGVyIDxyZXBsYWNlYWJsZT5mZHdfbmFtZTwvcmVwbGFjZWFibGU+IGlzCisgICBz cGVjaWZpZWQgd2l0aCBhIDxsaXRlcmFsPkNPTk5FQ1RJT048L2xpdGVyYWw+IGNsYXVzZSwgdGhl biA8eHJlZgorICAgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbiIvPiBtYXkgdXNlIHRo aXMgZm9yZWlnbiBzZXJ2ZXIgZm9yCisgICBjb25uZWN0aW9uIGluZm9ybWF0aW9uLgorICA8L3Bh cmE+CisKICAgPHBhcmE+CiAgICBUaGUgc2VydmVyIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGlu IHRoZSBkYXRhYmFzZS4KICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9j cmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zdWJzY3Jp cHRpb24uc2dtbAppbmRleCBlYjBjYzY0NWQ4Zi4uMDdkNWIxYmQ3N2MgMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMvc2dt bC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sCkBAIC0yMiw3ICsyMiw3IEBAIFBvc3RncmVT UUwgZG9jdW1lbnRhdGlvbgogIDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KIENSRUFURSBT VUJTQ1JJUFRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN1YnNjcmlwdGlvbl9u YW1lPC9yZXBsYWNlYWJsZT4KLSAgICBDT05ORUNUSU9OICc8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+Y29ubmluZm88L3JlcGxhY2VhYmxlPicKKyAgICB7IFNFUlZFUiA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+c2VydmVybmFtZTwvcmVwbGFjZWFibGU+IHwgQ09OTkVDVElP TiAnPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbm5pbmZvPC9yZXBsYWNlYWJsZT4n IH0KICAgICBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHVibGlj YXRpb25fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0KICAgICBbIFdJVEggKCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+c3Vic2NyaXB0aW9uX3BhcmFtZXRlcjwvcmVwbGFjZWFibGU+ IFs9IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+XSBb LCAuLi4gXSApIF0KIDwvc3lub3BzaXM+CkBAIC03Nyw2ICs3NywyMCBAQCBDUkVBVEUgU1VCU0NS SVBUSU9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdWJzY3JpcHRpb25fbmFtZTwv cmVwbGFjZWFibAogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgPHZh cmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtc2VydmVyIj4KKyAg ICA8dGVybT48bGl0ZXJhbD5TRVJWRVIgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNl cnZlcm5hbWU8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgor ICAgICA8cGFyYT4KKyAgICAgIEEgZm9yZWlnbiBzZXJ2ZXIgdG8gdXNlIGZvciB0aGUgY29ubmVj dGlvbi4gIFRoZSBzZXJ2ZXIncyBmb3JlaWduIGRhdGEKKyAgICAgIHdyYXBwZXIgbXVzdCBoYXZl IGEgPHJlcGxhY2VhYmxlPmNvbm5lY3Rpb25fZnVuY3Rpb248L3JlcGxhY2VhYmxlPgorICAgICAg cmVnaXN0ZXJlZCwgYW5kIGEgdXNlciBtYXBwaW5nIGZvciB0aGUgc3Vic2NyaXB0aW9uIG93bmVy IG9uIHRoZSBzZXJ2ZXIKKyAgICAgIG11c3QgZXhpc3QuICBBZGRpdGlvbmFsbHksIHRoZSBzdWJz Y3JpcHRpb24gb3duZXIgbXVzdCBoYXZlCisgICAgICA8bGl0ZXJhbD5VU0FHRTwvbGl0ZXJhbD4g cHJpdmlsZWdlcyBvbgorICAgICAgPHJlcGxhY2VhYmxlPnNlcnZlcm5hbWU8L3JlcGxhY2VhYmxl Pi4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwog ICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtY29ubmVj dGlvbiI+CiAgICAgPHRlcm0+PGxpdGVyYWw+Q09OTkVDVElPTiAnPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPmNvbm5pbmZvPC9yZXBsYWNlYWJsZT4nPC9saXRlcmFsPjwvdGVybT4KICAg ICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVuY3ku YyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCmluZGV4IDU3MGM0MzRlZGU4Li4w OTU3NTI3OGRlMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMK KysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKQEAgLTg5NSw2ICs4OTUsMTcg QEAgZmluZERlcGVuZGVudE9iamVjdHMoY29uc3QgT2JqZWN0QWRkcmVzcyAqb2JqZWN0LAogCQkJ b2JqZWN0LT5vYmplY3RTdWJJZCA9PSAwKQogCQkJY29udGludWU7CiAKKwkJLyoKKwkJICogQ2hl Y2sgdGhhdCB0aGUgZGVwZW5kZW50IG9iamVjdCBpcyBub3QgaW4gYSBzaGFyZWQgY2F0YWxvZywg d2hpY2gKKwkJICogaXMgbm90IHN1cHBvcnRlZCBieSBkb0RlbGV0aW9uKCkuCisJCSAqLworCQlp ZiAoSXNTaGFyZWRSZWxhdGlvbihvdGhlck9iamVjdC5jbGFzc0lkKSkKKwkJCWVyZXBvcnQoRVJS T1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfREVQRU5ERU5UX09CSkVDVFNfU1RJTExfRVhJU1Qp LAorCQkJCQkgZXJybXNnKCJjYW5ub3QgZHJvcCAlcyBiZWNhdXNlICVzIGRlcGVuZHMgb24gaXQi LAorCQkJCQkJCWdldE9iamVjdERlc2NyaXB0aW9uKG9iamVjdCwgZmFsc2UpLAorCQkJCQkJCWdl dE9iamVjdERlc2NyaXB0aW9uKCZvdGhlck9iamVjdCwgZmFsc2UpKSkpOworCiAJCS8qCiAJCSAq IE11c3QgbG9jayB0aGUgZGVwZW5kZW50IG9iamVjdCBiZWZvcmUgcmVjdXJzaW5nIHRvIGl0Lgog CQkgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMg Yi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jCmluZGV4IGFjZjQyYjg1M2Vk Li4zNjczZDRmMGJjMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3Jp cHRpb24uYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jCkBAIC0x OSwxMSArMTksMTQgQEAKICNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCiAjaW5jbHVk ZSAiYWNjZXNzL3RhYmxlYW0uaCIKICNpbmNsdWRlICJjYXRhbG9nL2luZGV4aW5nLmgiCisjaW5j bHVkZSAiY2F0YWxvZy9wZ19mb3JlaWduX3NlcnZlci5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdf c3Vic2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19zdWJzY3JpcHRpb25fcmVsLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCisjaW5jbHVkZSAiZm9yZWlnbi9mb3JlaWdu LmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCisj aW5jbHVkZSAidXRpbHMvYWNsLmgiCiAjaW5jbHVkZSAidXRpbHMvYXJyYXkuaCIKICNpbmNsdWRl ICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2ZtZ3JvaWRzLmgiCkBAIC02OSw3 ICs3Miw3IEBAIEdldFB1YmxpY2F0aW9uc1N0cihMaXN0ICpwdWJsaWNhdGlvbnMsIFN0cmluZ0lu Zm8gZGVzdCwgYm9vbCBxdW90ZV9saXRlcmFsKQogICogRmV0Y2ggdGhlIHN1YnNjcmlwdGlvbiBm cm9tIHRoZSBzeXNjYWNoZS4KICAqLwogU3Vic2NyaXB0aW9uICoKLUdldFN1YnNjcmlwdGlvbihP aWQgc3ViaWQsIGJvb2wgbWlzc2luZ19vaykKK0dldFN1YnNjcmlwdGlvbihPaWQgc3ViaWQsIGJv b2wgbWlzc2luZ19vaywgYm9vbCBhY2xjaGVjaykKIHsKIAlIZWFwVHVwbGUJdHVwOwogCVN1YnNj cmlwdGlvbiAqc3ViOwpAQCAtMTA4LDEwICsxMTEsMzUgQEAgR2V0U3Vic2NyaXB0aW9uKE9pZCBz dWJpZCwgYm9vbCBtaXNzaW5nX29rKQogCXN1Yi0+cmV0ZW50aW9uYWN0aXZlID0gc3ViZm9ybS0+ c3VicmV0ZW50aW9uYWN0aXZlOwogCiAJLyogR2V0IGNvbm5pbmZvICovCi0JZGF0dW0gPSBTeXND YWNoZUdldEF0dHJOb3ROdWxsKFNVQlNDUklQVElPTk9JRCwKLQkJCQkJCQkJICAgdHVwLAotCQkJ CQkJCQkgICBBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25uaW5mbyk7Ci0Jc3ViLT5jb25uaW5m byA9IFRleHREYXR1bUdldENTdHJpbmcoZGF0dW0pOworCWlmIChPaWRJc1ZhbGlkKHN1YmZvcm0t PnN1YnNlcnZlcikpCisJeworCQlBY2xSZXN1bHQJYWNscmVzdWx0OworCisJCS8qIHJlY2hlY2sg QUNMIGlmIHJlcXVlc3RlZCAqLworCQlpZiAoYWNsY2hlY2spCisJCXsKKwkJCWFjbHJlc3VsdCA9 IG9iamVjdF9hY2xjaGVjayhGb3JlaWduU2VydmVyUmVsYXRpb25JZCwKKwkJCQkJCQkJCQlzdWJm b3JtLT5zdWJzZXJ2ZXIsCisJCQkJCQkJCQkJc3ViZm9ybS0+c3Vib3duZXIsIEFDTF9VU0FHRSk7 CisKKwkJCWlmIChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCQkJZXJlcG9ydChFUlJPUiwK KwkJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJCQkJCQkg ZXJybXNnKCJzdWJzY3JpcHRpb24gb3duZXIgXCIlc1wiIGRvZXMgbm90IGhhdmUgcGVybWlzc2lv biBvbiBmb3JlaWduIHNlcnZlciBcIiVzXCIiLAorCQkJCQkJCQlHZXRVc2VyTmFtZUZyb21JZChz dWJmb3JtLT5zdWJvd25lciwgZmFsc2UpLAorCQkJCQkJCQlGb3JlaWduU2VydmVyTmFtZShzdWJm b3JtLT5zdWJzZXJ2ZXIpKSkpOworCQl9CisKKwkJc3ViLT5jb25uaW5mbyA9IEZvcmVpZ25TZXJ2 ZXJDb25uZWN0aW9uU3RyaW5nKHN1YmZvcm0tPnN1Ym93bmVyLAorCQkJCQkJCQkJCQkJCSAgc3Vi Zm9ybS0+c3Vic2VydmVyKTsKKwl9CisJZWxzZQorCXsKKwkJZGF0dW0gPSBTeXNDYWNoZUdldEF0 dHJOb3ROdWxsKFNVQlNDUklQVElPTk9JRCwKKwkJCQkJCQkJCSAgIHR1cCwKKwkJCQkJCQkJCSAg IEFudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbm5pbmZvKTsKKwkJc3ViLT5jb25uaW5mbyA9IFRl eHREYXR1bUdldENTdHJpbmcoZGF0dW0pOworCX0KIAogCS8qIEdldCBzbG90bmFtZSAqLwogCWRh dHVtID0gU3lzQ2FjaGVHZXRBdHRyKFNVQlNDUklQVElPTk9JRCwKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbAppbmRleCAxZWE4ZjFmYWE5ZS4uZGNmMGY4ZWY0ZmUgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9j YXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTE0NDIsNyArMTQ0Miw3IEBAIEdSQU5UIFNFTEVD VCAob2lkLCBzdWJkYmlkLCBzdWJza2lwbHNuLCBzdWJuYW1lLCBzdWJvd25lciwgc3ViZW5hYmxl ZCwKICAgICAgICAgICAgICAgc3ViYmluYXJ5LCBzdWJzdHJlYW0sIHN1YnR3b3BoYXNlc3RhdGUs IHN1YmRpc2FibGVvbmVyciwKIAkJCSAgc3VicGFzc3dvcmRyZXF1aXJlZCwgc3VicnVuYXNvd25l ciwgc3ViZmFpbG92ZXIsCiAgICAgICAgICAgICAgIHN1YnJldGFpbmRlYWR0dXBsZXMsIHN1Ym1h eHJldGVudGlvbiwgc3VicmV0ZW50aW9uYWN0aXZlLAotICAgICAgICAgICAgICBzdWJzbG90bmFt ZSwgc3Vic3luY2NvbW1pdCwgc3VicHVibGljYXRpb25zLCBzdWJvcmlnaW4pCisgICAgICAgICAg ICAgIHN1YnNlcnZlciwgc3Vic2xvdG5hbWUsIHN1YnN5bmNjb21taXQsIHN1YnB1YmxpY2F0aW9u cywgc3Vib3JpZ2luKQogICAgIE9OIHBnX3N1YnNjcmlwdGlvbiBUTyBwdWJsaWM7CiAKIENSRUFU RSBWSUVXIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3N0YXRzIEFTCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jb21tYW5kcy9mb3JlaWduY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZm9yZWln bmNtZHMuYwppbmRleCBiNTZkMWFkNjc4NS4uNDU2ODEyMzU3ODIgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL2ZvcmVpZ25jbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv Zm9yZWlnbmNtZHMuYwpAQCAtNTIyLDIxICs1MjIsNTMgQEAgbG9va3VwX2Zkd192YWxpZGF0b3Jf ZnVuYyhEZWZFbGVtICp2YWxpZGF0b3IpCiAJLyogdmFsaWRhdG9yJ3MgcmV0dXJuIHZhbHVlIGlz IGlnbm9yZWQsIHNvIHdlIGRvbid0IGNoZWNrIHRoZSB0eXBlICovCiB9CiAKKy8qCisgKiBDb252 ZXJ0IGEgY29ubmVjdGlvbiBzdHJpbmcgZnVuY3Rpb24gbmFtZSBwYXNzZWQgZnJvbSB0aGUgcGFy c2VyIHRvIGFuIE9pZC4KKyAqLworc3RhdGljIE9pZAorbG9va3VwX2Zkd19jb25uZWN0aW9uX2Z1 bmMoRGVmRWxlbSAqY29ubmVjdGlvbikKK3sKKwlPaWQJCQljb25uZWN0aW9uT2lkOworCU9pZAkJ CWZ1bmNhcmd0eXBlc1szXTsKKworCWlmIChjb25uZWN0aW9uID09IE5VTEwgfHwgY29ubmVjdGlv bi0+YXJnID09IE5VTEwpCisJCXJldHVybiBJbnZhbGlkT2lkOworCisJLyogY29ubmVjdGlvbiBz dHJpbmcgZnVuY3Rpb25zIHRha2UgdXNlciBvaWQsIHNlcnZlciBvaWQgKi8KKwlmdW5jYXJndHlw ZXNbMF0gPSBPSURPSUQ7CisJZnVuY2FyZ3R5cGVzWzFdID0gT0lET0lEOworCWZ1bmNhcmd0eXBl c1syXSA9IElOVEVSTkFMT0lEOworCisJY29ubmVjdGlvbk9pZCA9IExvb2t1cEZ1bmNOYW1lKChM aXN0ICopIGNvbm5lY3Rpb24tPmFyZywgMywgZnVuY2FyZ3R5cGVzLCBmYWxzZSk7CisKKwkvKiBj aGVjayB0aGF0IGNvbm5lY3Rpb24gc3RyaW5nIGZ1bmN0aW9uIGhhcyBjb3JyZWN0IHJldHVybiB0 eXBlICovCisJaWYgKGdldF9mdW5jX3JldHR5cGUoY29ubmVjdGlvbk9pZCkgIT0gVEVYVE9JRCkK KwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1dST05HX09CSkVDVF9UWVBF KSwKKwkJCQkgZXJybXNnKCJmdW5jdGlvbiAlcyBtdXN0IHJldHVybiB0eXBlICVzIiwKKwkJCQkJ CU5hbWVMaXN0VG9TdHJpbmcoKExpc3QgKikgY29ubmVjdGlvbi0+YXJnKSwgInRleHQiKSkpOwor CisJcmV0dXJuIGNvbm5lY3Rpb25PaWQ7Cit9CisKIC8qCiAgKiBQcm9jZXNzIGZ1bmN0aW9uIG9w dGlvbnMgb2YgQ1JFQVRFL0FMVEVSIEZEVwogICovCiBzdGF0aWMgdm9pZAogcGFyc2VfZnVuY19v cHRpb25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqZnVuY19vcHRpb25zLAogCQkJCSAgIGJv b2wgKmhhbmRsZXJfZ2l2ZW4sIE9pZCAqZmR3aGFuZGxlciwKLQkJCQkgICBib29sICp2YWxpZGF0 b3JfZ2l2ZW4sIE9pZCAqZmR3dmFsaWRhdG9yKQorCQkJCSAgIGJvb2wgKnZhbGlkYXRvcl9naXZl biwgT2lkICpmZHd2YWxpZGF0b3IsCisJCQkJICAgYm9vbCAqY29ubmVjdGlvbl9naXZlbiwgT2lk ICpmZHdjb25uZWN0aW9uKQogewogCUxpc3RDZWxsICAgKmNlbGw7CiAKIAkqaGFuZGxlcl9naXZl biA9IGZhbHNlOwogCSp2YWxpZGF0b3JfZ2l2ZW4gPSBmYWxzZTsKKwkqY29ubmVjdGlvbl9naXZl biA9IGZhbHNlOwogCS8qIHJldHVybiBJbnZhbGlkT2lkIGlmIG5vdCBnaXZlbiAqLwogCSpmZHdo YW5kbGVyID0gSW52YWxpZE9pZDsKIAkqZmR3dmFsaWRhdG9yID0gSW52YWxpZE9pZDsKKwkqZmR3 Y29ubmVjdGlvbiA9IEludmFsaWRPaWQ7CiAKIAlmb3JlYWNoKGNlbGwsIGZ1bmNfb3B0aW9ucykK IAl7CkBAIC01NTYsNiArNTg4LDEzIEBAIHBhcnNlX2Z1bmNfb3B0aW9ucyhQYXJzZVN0YXRlICpw c3RhdGUsIExpc3QgKmZ1bmNfb3B0aW9ucywKIAkJCSp2YWxpZGF0b3JfZ2l2ZW4gPSB0cnVlOwog CQkJKmZkd3ZhbGlkYXRvciA9IGxvb2t1cF9mZHdfdmFsaWRhdG9yX2Z1bmMoZGVmKTsKIAkJfQor CQllbHNlIGlmIChzdHJjbXAoZGVmLT5kZWZuYW1lLCAiY29ubmVjdGlvbiIpID09IDApCisJCXsK KwkJCWlmICgqY29ubmVjdGlvbl9naXZlbikKKwkJCQllcnJvckNvbmZsaWN0aW5nRGVmRWxlbShk ZWYsIHBzdGF0ZSk7CisJCQkqY29ubmVjdGlvbl9naXZlbiA9IHRydWU7CisJCQkqZmR3Y29ubmVj dGlvbiA9IGxvb2t1cF9mZHdfY29ubmVjdGlvbl9mdW5jKGRlZik7CisJCX0KIAkJZWxzZQogCQkJ ZWxvZyhFUlJPUiwgIm9wdGlvbiBcIiVzXCIgbm90IHJlY29nbml6ZWQiLAogCQkJCSBkZWYtPmRl Zm5hbWUpOwpAQCAtNTc1LDggKzYxNCwxMCBAQCBDcmVhdGVGb3JlaWduRGF0YVdyYXBwZXIoUGFy c2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVGZHdTdG10ICpzdG10KQogCU9pZAkJCWZkd0lkOwogCWJv b2wJCWhhbmRsZXJfZ2l2ZW47CiAJYm9vbAkJdmFsaWRhdG9yX2dpdmVuOworCWJvb2wJCWNvbm5l Y3Rpb25fZ2l2ZW47CiAJT2lkCQkJZmR3aGFuZGxlcjsKIAlPaWQJCQlmZHd2YWxpZGF0b3I7CisJ T2lkCQkJZmR3Y29ubmVjdGlvbjsKIAlEYXR1bQkJZmR3b3B0aW9uczsKIAlPaWQJCQlvd25lcklk OwogCU9iamVjdEFkZHJlc3MgbXlzZWxmOwpAQCAtNjIwLDEwICs2NjEsMTIgQEAgQ3JlYXRlRm9y ZWlnbkRhdGFXcmFwcGVyKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlRmR3U3RtdCAqc3RtdCkK IAkvKiBMb29rdXAgaGFuZGxlciBhbmQgdmFsaWRhdG9yIGZ1bmN0aW9ucywgaWYgZ2l2ZW4gKi8K IAlwYXJzZV9mdW5jX29wdGlvbnMocHN0YXRlLCBzdG10LT5mdW5jX29wdGlvbnMsCiAJCQkJCSAg ICZoYW5kbGVyX2dpdmVuLCAmZmR3aGFuZGxlciwKLQkJCQkJICAgJnZhbGlkYXRvcl9naXZlbiwg JmZkd3ZhbGlkYXRvcik7CisJCQkJCSAgICZ2YWxpZGF0b3JfZ2l2ZW4sICZmZHd2YWxpZGF0b3Is CisJCQkJCSAgICZjb25uZWN0aW9uX2dpdmVuLCAmZmR3Y29ubmVjdGlvbik7CiAKIAl2YWx1ZXNb QW51bV9wZ19mb3JlaWduX2RhdGFfd3JhcHBlcl9mZHdoYW5kbGVyIC0gMV0gPSBPYmplY3RJZEdl dERhdHVtKGZkd2hhbmRsZXIpOwogCXZhbHVlc1tBbnVtX3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVy X2Zkd3ZhbGlkYXRvciAtIDFdID0gT2JqZWN0SWRHZXREYXR1bShmZHd2YWxpZGF0b3IpOworCXZh bHVlc1tBbnVtX3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVyX2Zkd2Nvbm5lY3Rpb24gLSAxXSA9IE9i amVjdElkR2V0RGF0dW0oZmR3Y29ubmVjdGlvbik7CiAKIAludWxsc1tBbnVtX3BnX2ZvcmVpZ25f ZGF0YV93cmFwcGVyX2Zkd2FjbCAtIDFdID0gdHJ1ZTsKIApAQCAtNjk1LDggKzczOCwxMCBAQCBB bHRlckZvcmVpZ25EYXRhV3JhcHBlcihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyRmR3U3RtdCAq c3RtdCkKIAlEYXR1bQkJZGF0dW07CiAJYm9vbAkJaGFuZGxlcl9naXZlbjsKIAlib29sCQl2YWxp ZGF0b3JfZ2l2ZW47CisJYm9vbAkJY29ubmVjdGlvbl9naXZlbjsKIAlPaWQJCQlmZHdoYW5kbGVy OwogCU9pZAkJCWZkd3ZhbGlkYXRvcjsKKwlPaWQJCQlmZHdjb25uZWN0aW9uOwogCU9iamVjdEFk ZHJlc3MgbXlzZWxmOwogCiAJcmVsID0gdGFibGVfb3BlbihGb3JlaWduRGF0YVdyYXBwZXJSZWxh dGlvbklkLCBSb3dFeGNsdXNpdmVMb2NrKTsKQEAgLTcyNiw3ICs3NzEsOCBAQCBBbHRlckZvcmVp Z25EYXRhV3JhcHBlcihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyRmR3U3RtdCAqc3RtdCkKIAog CXBhcnNlX2Z1bmNfb3B0aW9ucyhwc3RhdGUsIHN0bXQtPmZ1bmNfb3B0aW9ucywKIAkJCQkJICAg JmhhbmRsZXJfZ2l2ZW4sICZmZHdoYW5kbGVyLAotCQkJCQkgICAmdmFsaWRhdG9yX2dpdmVuLCAm ZmR3dmFsaWRhdG9yKTsKKwkJCQkJICAgJnZhbGlkYXRvcl9naXZlbiwgJmZkd3ZhbGlkYXRvciwK KwkJCQkJICAgJmNvbm5lY3Rpb25fZ2l2ZW4sICZmZHdjb25uZWN0aW9uKTsKIAogCWlmIChoYW5k bGVyX2dpdmVuKQogCXsKQEAgLTc2NCw2ICs4MTAsMTIgQEAgQWx0ZXJGb3JlaWduRGF0YVdyYXBw ZXIoUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlckZkd1N0bXQgKnN0bXQpCiAJCWZkd3ZhbGlkYXRv ciA9IGZkd0Zvcm0tPmZkd3ZhbGlkYXRvcjsKIAl9CiAKKwlpZiAoY29ubmVjdGlvbl9naXZlbikK Kwl7CisJCXJlcGxfdmFsW0FudW1fcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXJfZmR3Y29ubmVjdGlv biAtIDFdID0gT2JqZWN0SWRHZXREYXR1bShmZHdjb25uZWN0aW9uKTsKKwkJcmVwbF9yZXBsW0Fu dW1fcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXJfZmR3Y29ubmVjdGlvbiAtIDFdID0gdHJ1ZTsKKwl9 CisKIAkvKgogCSAqIElmIG9wdGlvbnMgc3BlY2lmaWVkLCB2YWxpZGF0ZSBhbmQgdXBkYXRlLgog CSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5j IGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCmluZGV4IDVlM2MwOTY0 ZDM4Li4wOTFlN2I3MzcyZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2Ny aXB0aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMu YwpAQCAtMjcsMTMgKzI3LDE2IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNzLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hdXRoaWRfZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdf ZGF0YWJhc2VfZC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfZm9yZWlnbl9zZXJ2ZXIuaCIKICNp bmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdf c3Vic2NyaXB0aW9uX3JlbC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgorI2luY2x1 ZGUgImNhdGFsb2cvcGdfdXNlcl9tYXBwaW5nLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZGVmcmVt LmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5oIgogI2luY2x1ZGUgImNvbW1h bmRzL3N1YnNjcmlwdGlvbmNtZHMuaCIKICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgor I2luY2x1ZGUgImZvcmVpZ24vZm9yZWlnbi5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2lu Y2x1ZGUgIm5vZGVzL21ha2VmdW5jcy5oIgogI2luY2x1ZGUgInBnc3RhdC5oIgpAQCAtNjE5LDYg KzYyMiw3IEBAIENyZWF0ZVN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1 YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJRGF0dW0JCXZhbHVlc1tOYXR0c19wZ19zdWJzY3JpcHRp b25dOwogCU9pZAkJCW93bmVyID0gR2V0VXNlcklkKCk7CiAJSGVhcFR1cGxlCXR1cDsKKwlPaWQJ CQlzZXJ2ZXJpZDsKIAljaGFyCSAgICpjb25uaW5mbzsKIAljaGFyCQlvcmlnaW5uYW1lW05BTUVE QVRBTEVOXTsKIAlMaXN0CSAgICpwdWJsaWNhdGlvbnM7CkBAIC03MzAsMTUgKzczNCw0MCBAQCBD cmVhdGVTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25T dG10ICpzdG10LAogCWlmIChvcHRzLndhbF9yZWNlaXZlcl90aW1lb3V0ID09IE5VTEwpCiAJCW9w dHMud2FsX3JlY2VpdmVyX3RpbWVvdXQgPSAiLTEiOwogCi0JY29ubmluZm8gPSBzdG10LT5jb25u aW5mbzsKLQlwdWJsaWNhdGlvbnMgPSBzdG10LT5wdWJsaWNhdGlvbjsKLQogCS8qIExvYWQgdGhl IGxpYnJhcnkgcHJvdmlkaW5nIHVzIGxpYnBxIGNhbGxzLiAqLwogCWxvYWRfZmlsZSgibGlicHF3 YWxyZWNlaXZlciIsIGZhbHNlKTsKIAorCWlmIChzdG10LT5zZXJ2ZXJuYW1lKQorCXsKKwkJRm9y ZWlnblNlcnZlciAqc2VydmVyOworCisJCUFzc2VydCghc3RtdC0+Y29ubmluZm8pOworCQljb25u aW5mbyA9IE5VTEw7CisKKwkJc2VydmVyID0gR2V0Rm9yZWlnblNlcnZlckJ5TmFtZShzdG10LT5z ZXJ2ZXJuYW1lLCBmYWxzZSk7CisJCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xjaGVjayhGb3JlaWdu U2VydmVyUmVsYXRpb25JZCwgc2VydmVyLT5zZXJ2ZXJpZCwgb3duZXIsIEFDTF9VU0FHRSk7CisJ CWlmIChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCQlhY2xjaGVja19lcnJvcihhY2xyZXN1 bHQsIE9CSkVDVF9GT1JFSUdOX1NFUlZFUiwgc2VydmVyLT5zZXJ2ZXJuYW1lKTsKKworCQkvKiBt YWtlIHN1cmUgYSB1c2VyIG1hcHBpbmcgZXhpc3RzICovCisJCUdldFVzZXJNYXBwaW5nKG93bmVy LCBzZXJ2ZXItPnNlcnZlcmlkKTsKKworCQlzZXJ2ZXJpZCA9IHNlcnZlci0+c2VydmVyaWQ7CisJ CWNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcob3duZXIsIHNlcnZlcmlk KTsKKwl9CisJZWxzZQorCXsKKwkJQXNzZXJ0KHN0bXQtPmNvbm5pbmZvKTsKKworCQlzZXJ2ZXJp ZCA9IEludmFsaWRPaWQ7CisJCWNvbm5pbmZvID0gc3RtdC0+Y29ubmluZm87CisJfQorCiAJLyog Q2hlY2sgdGhlIGNvbm5lY3Rpb24gaW5mbyBzdHJpbmcuICovCiAJd2FscmN2X2NoZWNrX2Nvbm5p bmZvKGNvbm5pbmZvLCBvcHRzLnBhc3N3b3JkcmVxdWlyZWQgJiYgIXN1cGVydXNlcigpKTsKIAor CXB1YmxpY2F0aW9ucyA9IHN0bXQtPnB1YmxpY2F0aW9uOworCiAJLyogRXZlcnl0aGluZyBvaywg Zm9ybSBhIG5ldyB0dXBsZS4gKi8KIAltZW1zZXQodmFsdWVzLCAwLCBzaXplb2YodmFsdWVzKSk7 CiAJbWVtc2V0KG51bGxzLCBmYWxzZSwgc2l6ZW9mKG51bGxzKSk7CkBAIC03NjgsOCArNzk3LDEy IEBAIENyZWF0ZVN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlw dGlvblN0bXQgKnN0bXQsCiAJCUludDMyR2V0RGF0dW0ob3B0cy5tYXhyZXRlbnRpb24pOwogCXZh bHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJyZXRlbnRpb25hY3RpdmUgLSAxXSA9CiAJCUlu dDMyR2V0RGF0dW0ob3B0cy5yZXRhaW5kZWFkdHVwbGVzKTsKLQl2YWx1ZXNbQW51bV9wZ19zdWJz Y3JpcHRpb25fc3ViY29ubmluZm8gLSAxXSA9Ci0JCUNTdHJpbmdHZXRUZXh0RGF0dW0oY29ubmlu Zm8pOworCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJzZXJ2ZXIgLSAxXSA9IHNlcnZl cmlkOworCWlmICghT2lkSXNWYWxpZChzZXJ2ZXJpZCkpCisJCXZhbHVlc1tBbnVtX3BnX3N1YnNj cmlwdGlvbl9zdWJjb25uaW5mbyAtIDFdID0KKwkJCUNTdHJpbmdHZXRUZXh0RGF0dW0oY29ubmlu Zm8pOworCWVsc2UKKwkJbnVsbHNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29ubmluZm8gLSAx XSA9IHRydWU7CiAJaWYgKG9wdHMuc2xvdF9uYW1lKQogCQl2YWx1ZXNbQW51bV9wZ19zdWJzY3Jp cHRpb25fc3Vic2xvdG5hbWUgLSAxXSA9CiAJCQlEaXJlY3RGdW5jdGlvbkNhbGwxKG5hbWVpbiwg Q1N0cmluZ0dldERhdHVtKG9wdHMuc2xvdF9uYW1lKSk7CkBAIC03OTIsNiArODI1LDE4IEBAIENy ZWF0ZVN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0 bXQgKnN0bXQsCiAKIAlyZWNvcmREZXBlbmRlbmN5T25Pd25lcihTdWJzY3JpcHRpb25SZWxhdGlv bklkLCBzdWJpZCwgb3duZXIpOwogCisJT2JqZWN0QWRkcmVzc1NldChteXNlbGYsIFN1YnNjcmlw dGlvblJlbGF0aW9uSWQsIHN1YmlkKTsKKworCWlmIChzdG10LT5zZXJ2ZXJuYW1lKQorCXsKKwkJ T2JqZWN0QWRkcmVzcyByZWZlcmVuY2VkOworCisJCUFzc2VydChPaWRJc1ZhbGlkKHNlcnZlcmlk KSk7CisKKwkJT2JqZWN0QWRkcmVzc1NldChyZWZlcmVuY2VkLCBGb3JlaWduU2VydmVyUmVsYXRp b25JZCwgc2VydmVyaWQpOworCQlyZWNvcmREZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5j ZWQsIERFUEVOREVOQ1lfTk9STUFMKTsKKwl9CisKIAkvKgogCSAqIEEgcmVwbGljYXRpb24gb3Jp Z2luIGlzIGN1cnJlbnRseSBjcmVhdGVkIGZvciBhbGwgc3Vic2NyaXB0aW9ucywKIAkgKiBpbmNs dWRpbmcgdGhvc2UgdGhhdCBvbmx5IGNvbnRhaW4gc2VxdWVuY2VzIG9yIGFyZSBvdGhlcndpc2Ug ZW1wdHkuCkBAIC05NDUsOCArOTkwLDYgQEAgQ3JlYXRlU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUg KnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAlpZiAob3B0cy5lbmFibGVk IHx8IG9wdHMucmV0YWluZGVhZHR1cGxlcykKIAkJQXBwbHlMYXVuY2hlcldha2V1cEF0Q29tbWl0 KCk7CiAKLQlPYmplY3RBZGRyZXNzU2V0KG15c2VsZiwgU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwg c3ViaWQpOwotCiAJSW52b2tlT2JqZWN0UG9zdENyZWF0ZUhvb2soU3Vic2NyaXB0aW9uUmVsYXRp b25JZCwgc3ViaWQsIDApOwogCiAJcmV0dXJuIG15c2VsZjsKQEAgLTE0MTAsNyArMTQ1MywxNCBA QCBBbHRlclN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vic2NyaXB0aW9u U3RtdCAqc3RtdCwKIAkJYWNsY2hlY2tfZXJyb3IoQUNMQ0hFQ0tfTk9UX09XTkVSLCBPQkpFQ1Rf U1VCU0NSSVBUSU9OLAogCQkJCQkgICBzdG10LT5zdWJuYW1lKTsKIAotCXN1YiA9IEdldFN1YnNj cmlwdGlvbihzdWJpZCwgZmFsc2UpOworCS8qCisJICogU2tpcCBBQ0wgY2hlY2tzIG9uIHRoZSBz dWJzY3JpcHRpb24ncyBmb3JlaWduIHNlcnZlciwgaWYgYW55LiBJZgorCSAqIGNoYW5naW5nIHRo ZSBzZXJ2ZXIgKG9yIHJlcGxhY2luZyBpdCB3aXRoIGEgcmF3IGNvbm5lY3Rpb24pLCB0aGVuIHRo ZQorCSAqIG9sZCBvbmUgd2lsbCBiZSByZW1vdmVkIGFueXdheS4gSWYgY2hhbmdpbmcgc29tZXRo aW5nIHVucmVsYXRlZCwKKwkgKiB0aGVyZSdzIG5vIG5lZWQgdG8gZG8gYW4gYWRkaXRpb25hbCBB Q0wgY2hlY2sgaGVyZTsgdGhhdCB3aWxsIGJlIGRvbmUKKwkgKiBieSB0aGUgc3Vic2NyaXB0aW9u IHdvcmtlciBhbnl3YXkuCisJICovCisJc3ViID0gR2V0U3Vic2NyaXB0aW9uKHN1YmlkLCBmYWxz ZSwgZmFsc2UpOwogCiAJcmV0YWluX2RlYWRfdHVwbGVzID0gc3ViLT5yZXRhaW5kZWFkdHVwbGVz OwogCW9yaWdpbiA9IHN1Yi0+b3JpZ2luOwpAQCAtMTQzNSw2ICsxNDg1LDggQEAgQWx0ZXJTdWJz Y3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0bXQgKnN0bXQs CiAJbWVtc2V0KG51bGxzLCBmYWxzZSwgc2l6ZW9mKG51bGxzKSk7CiAJbWVtc2V0KHJlcGxhY2Vz LCBmYWxzZSwgc2l6ZW9mKHJlcGxhY2VzKSk7CiAKKwlPYmplY3RBZGRyZXNzU2V0KG15c2VsZiwg U3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViaWQpOworCiAJc3dpdGNoIChzdG10LT5raW5kKQog CXsKIAkJY2FzZSBBTFRFUl9TVUJTQ1JJUFRJT05fT1BUSU9OUzoKQEAgLTE3NTMsNyArMTgwNSw3 OSBAQCBBbHRlclN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vic2NyaXB0 aW9uU3RtdCAqc3RtdCwKIAkJCQlicmVhazsKIAkJCX0KIAorCQljYXNlIEFMVEVSX1NVQlNDUklQ VElPTl9TRVJWRVI6CisJCQl7CisJCQkJRm9yZWlnblNlcnZlciAqbmV3X3NlcnZlcjsKKwkJCQlP YmplY3RBZGRyZXNzIHJlZmVyZW5jZWQ7CisJCQkJQWNsUmVzdWx0CWFjbHJlc3VsdDsKKwkJCQlj aGFyCSAgICpjb25uaW5mbzsKKworCQkJCS8qCisJCQkJICogUmVtb3ZlIHdoYXQgd2FzIHRoZXJl IGJlZm9yZSwgZWl0aGVyIGFub3RoZXIgZm9yZWlnbiBzZXJ2ZXIKKwkJCQkgKiBvciBhIGNvbm5l Y3Rpb24gc3RyaW5nLgorCQkJCSAqLworCQkJCWlmIChmb3JtLT5zdWJzZXJ2ZXIpCisJCQkJewor CQkJCQlkZWxldGVEZXBlbmRlbmN5UmVjb3Jkc0ZvclNwZWNpZmljKFN1YnNjcmlwdGlvblJlbGF0 aW9uSWQsIGZvcm0tPm9pZCwKKwkJCQkJCQkJCQkJCQkgICBERVBFTkRFTkNZX05PUk1BTCwKKwkJ CQkJCQkJCQkJCQkgICBGb3JlaWduU2VydmVyUmVsYXRpb25JZCwgZm9ybS0+c3Vic2VydmVyKTsK KwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJbnVsbHNbQW51bV9wZ19zdWJzY3JpcHRpb25f c3ViY29ubmluZm8gLSAxXSA9IHRydWU7CisJCQkJCXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0 aW9uX3N1YmNvbm5pbmZvIC0gMV0gPSB0cnVlOworCQkJCX0KKworCQkJCS8qCisJCQkJICogRmlu ZCB0aGUgbmV3IHNlcnZlciBhbmQgdXNlciBtYXBwaW5nLiBDaGVjayBBQ0wgb2Ygc2VydmVyCisJ CQkJICogYmFzZWQgb24gY3VycmVudCB1c2VyIElELCBidXQgZmluZCB0aGUgdXNlciBtYXBwaW5n IGJhc2VkCisJCQkJICogb24gdGhlIHN1YnNjcmlwdGlvbiBvd25lci4KKwkJCQkgKi8KKwkJCQlu ZXdfc2VydmVyID0gR2V0Rm9yZWlnblNlcnZlckJ5TmFtZShzdG10LT5zZXJ2ZXJuYW1lLCBmYWxz ZSk7CisJCQkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKEZvcmVpZ25TZXJ2ZXJSZWxhdGlv bklkLAorCQkJCQkJCQkJCQluZXdfc2VydmVyLT5zZXJ2ZXJpZCwKKwkJCQkJCQkJCQkJZm9ybS0+ c3Vib3duZXIsIEFDTF9VU0FHRSk7CisJCQkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykK KwkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVO VF9QUklWSUxFR0UpLAorCQkJCQkJCSBlcnJtc2coInN1YnNjcmlwdGlvbiBvd25lciBcIiVzXCIg ZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIG9uIGZvcmVpZ24gc2VydmVyIFwiJXNcIiIsCisJCQkJ CQkJCQlHZXRVc2VyTmFtZUZyb21JZChmb3JtLT5zdWJvd25lciwgZmFsc2UpLAorCQkJCQkJCQkJ Rm9yZWlnblNlcnZlck5hbWUobmV3X3NlcnZlci0+c2VydmVyaWQpKSkpOworCisJCQkJLyogbWFr ZSBzdXJlIGEgdXNlciBtYXBwaW5nIGV4aXN0cyAqLworCQkJCUdldFVzZXJNYXBwaW5nKGZvcm0t PnN1Ym93bmVyLCBuZXdfc2VydmVyLT5zZXJ2ZXJpZCk7CisKKwkJCQljb25uaW5mbyA9IEZvcmVp Z25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKGZvcm0tPnN1Ym93bmVyLAorCQkJCQkJCQkJCQkJCQkg bmV3X3NlcnZlci0+c2VydmVyaWQpOworCisJCQkJLyogTG9hZCB0aGUgbGlicmFyeSBwcm92aWRp bmcgdXMgbGlicHEgY2FsbHMuICovCisJCQkJbG9hZF9maWxlKCJsaWJwcXdhbHJlY2VpdmVyIiwg ZmFsc2UpOworCQkJCS8qIENoZWNrIHRoZSBjb25uZWN0aW9uIGluZm8gc3RyaW5nLiAqLworCQkJ CXdhbHJjdl9jaGVja19jb25uaW5mbyhjb25uaW5mbywKKwkJCQkJCQkJCSAgc3ViLT5wYXNzd29y ZHJlcXVpcmVkICYmICFzdWItPm93bmVyc3VwZXJ1c2VyKTsKKworCQkJCXZhbHVlc1tBbnVtX3Bn X3N1YnNjcmlwdGlvbl9zdWJzZXJ2ZXIgLSAxXSA9IG5ld19zZXJ2ZXItPnNlcnZlcmlkOworCQkJ CXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YnNlcnZlciAtIDFdID0gdHJ1ZTsKKwor CQkJCU9iamVjdEFkZHJlc3NTZXQocmVmZXJlbmNlZCwgRm9yZWlnblNlcnZlclJlbGF0aW9uSWQs IG5ld19zZXJ2ZXItPnNlcnZlcmlkKTsKKwkJCQlyZWNvcmREZXBlbmRlbmN5T24oJm15c2VsZiwg JnJlZmVyZW5jZWQsIERFUEVOREVOQ1lfTk9STUFMKTsKKworCQkJCXVwZGF0ZV90dXBsZSA9IHRy dWU7CisJCQl9CisJCQlicmVhazsKKwogCQljYXNlIEFMVEVSX1NVQlNDUklQVElPTl9DT05ORUNU SU9OOgorCQkJLyogcmVtb3ZlIHJlZmVyZW5jZSB0byBmb3JlaWduIHNlcnZlciBhbmQgZGVwZW5k ZW5jaWVzLCBpZiBwcmVzZW50ICovCisJCQlpZiAoZm9ybS0+c3Vic2VydmVyKQorCQkJeworCQkJ CWRlbGV0ZURlcGVuZGVuY3lSZWNvcmRzRm9yU3BlY2lmaWMoU3Vic2NyaXB0aW9uUmVsYXRpb25J ZCwgZm9ybS0+b2lkLAorCQkJCQkJCQkJCQkJICAgREVQRU5ERU5DWV9OT1JNQUwsCisJCQkJCQkJ CQkJCQkgICBGb3JlaWduU2VydmVyUmVsYXRpb25JZCwgZm9ybS0+c3Vic2VydmVyKTsKKworCQkJ CXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJzZXJ2ZXIgLSAxXSA9IEludmFsaWRPaWQ7 CisJCQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3Vic2VydmVyIC0gMV0gPSB0cnVl OworCQkJfQorCiAJCQkvKiBMb2FkIHRoZSBsaWJyYXJ5IHByb3ZpZGluZyB1cyBsaWJwcSBjYWxs cy4gKi8KIAkJCWxvYWRfZmlsZSgibGlicHF3YWxyZWNlaXZlciIsIGZhbHNlKTsKIAkJCS8qIENo ZWNrIHRoZSBjb25uZWN0aW9uIGluZm8gc3RyaW5nLiAqLwpAQCAtMjAzOCw4ICsyMTYyLDYgQEAg QWx0ZXJTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0 bXQgKnN0bXQsCiAKIAl0YWJsZV9jbG9zZShyZWwsIFJvd0V4Y2x1c2l2ZUxvY2spOwogCi0JT2Jq ZWN0QWRkcmVzc1NldChteXNlbGYsIFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1YmlkKTsKLQog CUludm9rZU9iamVjdFBvc3RBbHRlckhvb2soU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViaWQs IDApOwogCiAJLyogV2FrZSB1cCByZWxhdGVkIHJlcGxpY2F0aW9uIHdvcmtlcnMgdG8gaGFuZGxl IHRoaXMgY2hhbmdlIHF1aWNrbHkuICovCkBAIC0yMTI2LDkgKzIyNDgsMjggQEAgRHJvcFN1YnNj cmlwdGlvbihEcm9wU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKQogCXN1 Ym5hbWUgPSBwc3RyZHVwKE5hbWVTdHIoKkRhdHVtR2V0TmFtZShkYXR1bSkpKTsKIAogCS8qIEdl dCBjb25uaW5mbyAqLwotCWRhdHVtID0gU3lzQ2FjaGVHZXRBdHRyTm90TnVsbChTVUJTQ1JJUFRJ T05PSUQsIHR1cCwKLQkJCQkJCQkJICAgQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29ubmluZm8p OwotCWNvbm5pbmZvID0gVGV4dERhdHVtR2V0Q1N0cmluZyhkYXR1bSk7CisJaWYgKE9pZElzVmFs aWQoZm9ybS0+c3Vic2VydmVyKSkKKwl7CisJCUFjbFJlc3VsdAlhY2xyZXN1bHQ7CisKKwkJYWNs cmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkLCBmb3JtLT5z dWJzZXJ2ZXIsCisJCQkJCQkJCQlmb3JtLT5zdWJvd25lciwgQUNMX1VTQUdFKTsKKwkJaWYgKGFj bHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2Rl KEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJCQkJCSBlcnJtc2coInN1YnNjcmlw dGlvbiBvd25lciBcIiVzXCIgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIG9uIGZvcmVpZ24gc2Vy dmVyIFwiJXNcIiIsCisJCQkJCQkJR2V0VXNlck5hbWVGcm9tSWQoZm9ybS0+c3Vib3duZXIsIGZh bHNlKSwKKwkJCQkJCQlGb3JlaWduU2VydmVyTmFtZShmb3JtLT5zdWJzZXJ2ZXIpKSkpOworCisJ CWNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoZm9ybS0+c3Vib3duZXIs CisJCQkJCQkJCQkJCQkgZm9ybS0+c3Vic2VydmVyKTsKKwl9CisJZWxzZQorCXsKKwkJZGF0dW0g PSBTeXNDYWNoZUdldEF0dHJOb3ROdWxsKFNVQlNDUklQVElPTk9JRCwgdHVwLAorCQkJCQkJCQkJ ICAgQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29ubmluZm8pOworCQljb25uaW5mbyA9IFRleHRE YXR1bUdldENTdHJpbmcoZGF0dW0pOworCX0KIAogCS8qIEdldCBzbG90bmFtZSAqLwogCWRhdHVt ID0gU3lzQ2FjaGVHZXRBdHRyKFNVQlNDUklQVElPTk9JRCwgdHVwLApAQCAtMjIyNyw2ICsyMzY4 LDcgQEAgRHJvcFN1YnNjcmlwdGlvbihEcm9wU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBp c1RvcExldmVsKQogCX0KIAogCS8qIENsZWFuIHVwIGRlcGVuZGVuY2llcyAqLworCWRlbGV0ZURl cGVuZGVuY3lSZWNvcmRzRm9yKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1YmlkLCBmYWxzZSk7 CiAJZGVsZXRlU2hhcmVkRGVwZW5kZW5jeVJlY29yZHNGb3IoU3Vic2NyaXB0aW9uUmVsYXRpb25J ZCwgc3ViaWQsIDApOwogCiAJLyogUmVtb3ZlIGFueSBhc3NvY2lhdGVkIHJlbGF0aW9uIHN5bmNo cm9uaXphdGlvbiBzdGF0ZXMuICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9mb3JlaWduL2Zv cmVpZ24uYyBiL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCmluZGV4IGI5MTJhMDZkZDE1 Li5jNTM2OTk5NTllYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMK KysrIGIvc3JjL2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMKQEAgLTcyLDYgKzcyLDcgQEAgR2V0 Rm9yZWlnbkRhdGFXcmFwcGVyRXh0ZW5kZWQoT2lkIGZkd2lkLCBiaXRzMTYgZmxhZ3MpCiAJZmR3 LT5mZHduYW1lID0gcHN0cmR1cChOYW1lU3RyKGZkd2Zvcm0tPmZkd25hbWUpKTsKIAlmZHctPmZk d2hhbmRsZXIgPSBmZHdmb3JtLT5mZHdoYW5kbGVyOwogCWZkdy0+ZmR3dmFsaWRhdG9yID0gZmR3 Zm9ybS0+ZmR3dmFsaWRhdG9yOworCWZkdy0+ZmR3Y29ubmVjdGlvbiA9IGZkd2Zvcm0tPmZkd2Nv bm5lY3Rpb247CiAKIAkvKiBFeHRyYWN0IHRoZSBmZHdvcHRpb25zICovCiAJZGF0dW0gPSBTeXND YWNoZUdldEF0dHIoRk9SRUlHTkRBVEFXUkFQUEVST0lELApAQCAtMTc2LDYgKzE3NywzMSBAQCBH ZXRGb3JlaWduU2VydmVyRXh0ZW5kZWQoT2lkIHNlcnZlcmlkLCBiaXRzMTYgZmxhZ3MpCiB9CiAK IAorLyoKKyAqIEZvcmVpZ25TZXJ2ZXJOYW1lIC0gZ2V0IG5hbWUgb2YgZm9yZWlnbiBzZXJ2ZXIu CisgKi8KK2NoYXIgKgorRm9yZWlnblNlcnZlck5hbWUoT2lkIHNlcnZlcmlkKQoreworCUZvcm1f cGdfZm9yZWlnbl9zZXJ2ZXIgc2VydmVyZm9ybTsKKwljaGFyCSAgICpzZXJ2ZXJuYW1lOworCUhl YXBUdXBsZQl0cDsKKworCXRwID0gU2VhcmNoU3lzQ2FjaGUxKEZPUkVJR05TRVJWRVJPSUQsIE9i amVjdElkR2V0RGF0dW0oc2VydmVyaWQpKTsKKworCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0cCkp CisJCWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciBmb3JlaWduIHNlcnZlciAl dSIsIHNlcnZlcmlkKTsKKworCXNlcnZlcmZvcm0gPSAoRm9ybV9wZ19mb3JlaWduX3NlcnZlcikg R0VUU1RSVUNUKHRwKTsKKworCXNlcnZlcm5hbWUgPSBwc3RyZHVwKE5hbWVTdHIoc2VydmVyZm9y bS0+c3J2bmFtZSkpOworCisJUmVsZWFzZVN5c0NhY2hlKHRwKTsKKworCXJldHVybiBzZXJ2ZXJu YW1lOworfQorCisKIC8qCiAgKiBHZXRGb3JlaWduU2VydmVyQnlOYW1lIC0gbG9vayB1cCB0aGUg Zm9yZWlnbiBzZXJ2ZXIgZGVmaW5pdGlvbiBieSBuYW1lLgogICovCkBAIC0xOTEsNiArMjE3LDY2 IEBAIEdldEZvcmVpZ25TZXJ2ZXJCeU5hbWUoY29uc3QgY2hhciAqc3J2bmFtZSwgYm9vbCBtaXNz aW5nX29rKQogfQogCiAKKy8qCisgKiBSZXRyaWV2ZSBjb25uZWN0aW9uIHN0cmluZyBmcm9tIHNl cnZlcidzIEZEVy4KKyAqLworY2hhciAqCitGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhP aWQgdXNlcmlkLCBPaWQgc2VydmVyaWQpCit7CisJTWVtb3J5Q29udGV4dCB0ZW1wQ29udGV4dDsK KwlNZW1vcnlDb250ZXh0IG9sZGN4dDsKKwl2b2xhdGlsZSB0ZXh0ICpjb25uZWN0aW9uX3RleHQg PSBOVUxMOworCWNoYXIJICAgKnJlc3VsdCA9IE5VTEw7CisKKwkvKgorCSAqIEdldEZvcmVpZ25T ZXJ2ZXIsIEdldEZvcmVpZ25EYXRhV3JhcHBlciwgYW5kIHRoZSBjb25uZWN0aW9uIGZ1bmN0aW9u CisJICogaXRzZWxmIGFsbCBsZWFrIG1lbW9yeSBpbnRvIEN1cnJlbnRNZW1vcnlDb250ZXh0LiBT d2l0Y2ggdG8gYSB0ZW1wb3JhcnkKKwkgKiBjb250ZXh0IGZvciBlYXN5IGNsZWFudXAuCisJICov CisJdGVtcENvbnRleHQgPSBBbGxvY1NldENvbnRleHRDcmVhdGUoQ3VycmVudE1lbW9yeUNvbnRl eHQsCisJCQkJCQkJCQkJIkZEV0Nvbm5lY3Rpb25Db250ZXh0IiwKKwkJCQkJCQkJCQlBTExPQ1NF VF9TTUFMTF9TSVpFUyk7CisKKwlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8odGVtcENv bnRleHQpOworCisJUEdfVFJZKCk7CisJeworCQlGb3JlaWduU2VydmVyICpzZXJ2ZXI7CisJCUZv cmVpZ25EYXRhV3JhcHBlciAqZmR3OworCQlEYXR1bQkJY29ubmVjdGlvbl9kYXR1bTsKKworCQlz ZXJ2ZXIgPSBHZXRGb3JlaWduU2VydmVyKHNlcnZlcmlkKTsKKwkJZmR3ID0gR2V0Rm9yZWlnbkRh dGFXcmFwcGVyKHNlcnZlci0+ZmR3aWQpOworCisJCWlmICghT2lkSXNWYWxpZChmZHctPmZkd2Nv bm5lY3Rpb24pKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycm1zZygiZm9yZWlnbiBkYXRh IHdyYXBwZXIgXCIlc1wiIGRvZXMgbm90IHN1cHBvcnQgc3Vic2NyaXB0aW9uIGNvbm5lY3Rpb25z IiwKKwkJCQkJCQlmZHctPmZkd25hbWUpLAorCQkJCQkgZXJyZGV0YWlsKCJGb3JlaWduIGRhdGEg d3JhcHBlciBtdXN0IGJlIGRlZmluZWQgd2l0aCBDT05ORUNUSU9OIHNwZWNpZmllZC4iKSkpOwor CisKKwkJY29ubmVjdGlvbl9kYXR1bSA9IE9pZEZ1bmN0aW9uQ2FsbDMoZmR3LT5mZHdjb25uZWN0 aW9uLAorCQkJCQkJCQkJCQlPYmplY3RJZEdldERhdHVtKHVzZXJpZCksCisJCQkJCQkJCQkJCU9i amVjdElkR2V0RGF0dW0oc2VydmVyaWQpLAorCQkJCQkJCQkJCQlQb2ludGVyR2V0RGF0dW0oTlVM TCkpOworCisJCWNvbm5lY3Rpb25fdGV4dCA9IERhdHVtR2V0VGV4dFBQKGNvbm5lY3Rpb25fZGF0 dW0pOworCX0KKwlQR19GSU5BTExZKCk7CisJeworCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xk Y3h0KTsKKworCQlpZiAoY29ubmVjdGlvbl90ZXh0KQorCQkJcmVzdWx0ID0gdGV4dF90b19jc3Ry aW5nKCh0ZXh0ICopIGNvbm5lY3Rpb25fdGV4dCk7CisKKwkJTWVtb3J5Q29udGV4dERlbGV0ZSh0 ZW1wQ29udGV4dCk7CisJfQorCVBHX0VORF9UUlkoKTsKKworCXJldHVybiByZXN1bHQ7Cit9CisK KwogLyoKICAqIEdldFVzZXJNYXBwaW5nIC0gbG9vayB1cCB0aGUgdXNlciBtYXBwaW5nLgogICoK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJz ZXIvZ3JhbS55CmluZGV4IDNjM2UyNDMyNGE4Li45Y2JlOGVhZmM0NSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBA IC01NTgzLDYgKzU1ODMsOCBAQCBmZHdfb3B0aW9uOgogCQkJfCBOTyBIQU5ETEVSCQkJCQkJeyAk JCA9IG1ha2VEZWZFbGVtKCJoYW5kbGVyIiwgTlVMTCwgQDEpOyB9CiAJCQl8IFZBTElEQVRPUiBo YW5kbGVyX25hbWUJCQl7ICQkID0gbWFrZURlZkVsZW0oInZhbGlkYXRvciIsIChOb2RlICopICQy LCBAMSk7IH0KIAkJCXwgTk8gVkFMSURBVE9SCQkJCQkJeyAkJCA9IG1ha2VEZWZFbGVtKCJ2YWxp ZGF0b3IiLCBOVUxMLCBAMSk7IH0KKwkJCXwgQ09OTkVDVElPTiBoYW5kbGVyX25hbWUJCQl7ICQk ID0gbWFrZURlZkVsZW0oImNvbm5lY3Rpb24iLCAoTm9kZSAqKSAkMiwgQDEpOyB9CisJCQl8IE5P IENPTk5FQ1RJT04JCQkJCQl7ICQkID0gbWFrZURlZkVsZW0oImNvbm5lY3Rpb24iLCBOVUxMLCBA MSk7IH0KIAkJOwogCiBmZHdfb3B0aW9uczoKQEAgLTExMDU3LDYgKzExMDU5LDE2IEBAIENyZWF0 ZVN1YnNjcmlwdGlvblN0bXQ6CiAJCQkJCW4tPm9wdGlvbnMgPSAkODsKIAkJCQkJJCQgPSAoTm9k ZSAqKSBuOwogCQkJCX0KKwkJCXwgQ1JFQVRFIFNVQlNDUklQVElPTiBuYW1lIFNFUlZFUiBuYW1l IFBVQkxJQ0FUSU9OIG5hbWVfbGlzdCBvcHRfZGVmaW5pdGlvbgorCQkJCXsKKwkJCQkJQ3JlYXRl U3Vic2NyaXB0aW9uU3RtdCAqbiA9CisJCQkJCQltYWtlTm9kZShDcmVhdGVTdWJzY3JpcHRpb25T dG10KTsKKwkJCQkJbi0+c3VibmFtZSA9ICQzOworCQkJCQluLT5zZXJ2ZXJuYW1lID0gJDU7CisJ CQkJCW4tPnB1YmxpY2F0aW9uID0gJDc7CisJCQkJCW4tPm9wdGlvbnMgPSAkODsKKwkJCQkJJCQg PSAoTm9kZSAqKSBuOworCQkJCX0KIAkJOwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTEx MDg2LDYgKzExMDk4LDE2IEBAIEFsdGVyU3Vic2NyaXB0aW9uU3RtdDoKIAkJCQkJbi0+Y29ubmlu Zm8gPSAkNTsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KKwkJCXwgQUxURVIgU1VCU0NS SVBUSU9OIG5hbWUgU0VSVkVSIG5hbWUKKwkJCQl7CisJCQkJCUFsdGVyU3Vic2NyaXB0aW9uU3Rt dCAqbiA9CisJCQkJCQltYWtlTm9kZShBbHRlclN1YnNjcmlwdGlvblN0bXQpOworCisJCQkJCW4t PmtpbmQgPSBBTFRFUl9TVUJTQ1JJUFRJT05fU0VSVkVSOworCQkJCQluLT5zdWJuYW1lID0gJDM7 CisJCQkJCW4tPnNlcnZlcm5hbWUgPSAkNTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0K IAkJCXwgQUxURVIgU1VCU0NSSVBUSU9OIG5hbWUgUkVGUkVTSCBQVUJMSUNBVElPTiBvcHRfZGVm aW5pdGlvbgogCQkJCXsKIAkJCQkJQWx0ZXJTdWJzY3JpcHRpb25TdG10ICpuID0KZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IGY5YzRiNDg0NzU0Li41NjYzOTNk MWI2NSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIu YworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC01MDU4 LDcgKzUwNTgsNyBAQCBtYXliZV9yZXJlYWRfc3Vic2NyaXB0aW9uKHZvaWQpCiAJLyogRW5zdXJl IGFsbG9jYXRpb25zIGluIHBlcm1hbmVudCBjb250ZXh0LiAqLwogCW9sZGN0eCA9IE1lbW9yeUNv bnRleHRTd2l0Y2hUbyhBcHBseUNvbnRleHQpOwogCi0JbmV3c3ViID0gR2V0U3Vic2NyaXB0aW9u KE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUpOworCW5ld3N1YiA9IEdldFN1YnNjcmlw dGlvbihNeUxvZ2ljYWxSZXBXb3JrZXItPnN1YmlkLCB0cnVlLCB0cnVlKTsKIAogCS8qCiAJICog RXhpdCBpZiB0aGUgc3Vic2NyaXB0aW9uIHdhcyByZW1vdmVkLiBUaGlzIG5vcm1hbGx5IHNob3Vs ZCBub3QgaGFwcGVuCkBAIC01MjAwLDcgKzUyMDAsOSBAQCBzZXRfd2FsX3JlY2VpdmVyX3RpbWVv dXQodm9pZCkKIH0KIAogLyoKLSAqIENhbGxiYWNrIGZyb20gc3Vic2NyaXB0aW9uIHN5c2NhY2hl IGludmFsaWRhdGlvbi4KKyAqIENhbGxiYWNrIGZyb20gc3Vic2NyaXB0aW9uIHN5c2NhY2hlIGlu dmFsaWRhdGlvbi4gQWxzbyBuZWVkZWQgZm9yIHNlcnZlciBvcgorICogdXNlciBtYXBwaW5nIGlu dmFsaWRhdGlvbiwgd2hpY2ggY2FuIGNoYW5nZSB0aGUgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBm b3IKKyAqIHN1YnNjcmlwdGlvbnMgdGhhdCBjb25uZWN0IHVzaW5nIGEgc2VydmVyIG9iamVjdC4K ICAqLwogc3RhdGljIHZvaWQKIHN1YnNjcmlwdGlvbl9jaGFuZ2VfY2IoRGF0dW0gYXJnLCBTeXND YWNoZUlkZW50aWZpZXIgY2FjaGVpZCwgdWludDMyIGhhc2h2YWx1ZSkKQEAgLTU4MDUsNyArNTgw Nyw3IEBAIEluaXRpYWxpemVMb2dSZXBXb3JrZXIodm9pZCkKIAkgKi8KIAlMb2NrU2hhcmVkT2Jq ZWN0KFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIDAs CiAJCQkJCSBBY2Nlc3NTaGFyZUxvY2spOwotCU15U3Vic2NyaXB0aW9uID0gR2V0U3Vic2NyaXB0 aW9uKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUpOworCU15U3Vic2NyaXB0aW9uID0g R2V0U3Vic2NyaXB0aW9uKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUsIHRydWUpOwog CWlmICghTXlTdWJzY3JpcHRpb24pCiAJewogCQllcmVwb3J0KExPRywKQEAgLTU4NzAsNiArNTg3 MiwyMiBAQCBJbml0aWFsaXplTG9nUmVwV29ya2VyKHZvaWQpCiAJQ2FjaGVSZWdpc3RlclN5c2Nh Y2hlQ2FsbGJhY2soU1VCU0NSSVBUSU9OT0lELAogCQkJCQkJCQkgIHN1YnNjcmlwdGlvbl9jaGFu Z2VfY2IsCiAJCQkJCQkJCSAgKERhdHVtKSAwKTsKKwkvKiBDaGFuZ2VzIHRvIGZvcmVpZ24gc2Vy dmVycyBtYXkgYWZmZWN0IHN1YnNjcmlwdGlvbnMgdXNpbmcgU0VSVkVSLiAqLworCUNhY2hlUmVn aXN0ZXJTeXNjYWNoZUNhbGxiYWNrKEZPUkVJR05TRVJWRVJPSUQsCisJCQkJCQkJCSAgc3Vic2Ny aXB0aW9uX2NoYW5nZV9jYiwKKwkJCQkJCQkJICAoRGF0dW0pIDApOworCS8qIENoYW5nZXMgdG8g dXNlciBtYXBwaW5ncyBtYXkgYWZmZWN0IHN1YnNjcmlwdGlvbnMgdXNpbmcgU0VSVkVSLiAqLwor CUNhY2hlUmVnaXN0ZXJTeXNjYWNoZUNhbGxiYWNrKFVTRVJNQVBQSU5HT0lELAorCQkJCQkJCQkg IHN1YnNjcmlwdGlvbl9jaGFuZ2VfY2IsCisJCQkJCQkJCSAgKERhdHVtKSAwKTsKKworCS8qCisJ ICogQ2hhbmdlcyB0byBGRFcgY29ubmVjdGlvbl9mdW5jdGlvbiBtYXkgYWZmZWN0IHN1YnNjcmlw dGlvbnMgdXNpbmcKKwkgKiBTRVJWRVIuCisJICovCisJQ2FjaGVSZWdpc3RlclN5c2NhY2hlQ2Fs bGJhY2soRk9SRUlHTkRBVEFXUkFQUEVST0lELAorCQkJCQkJCQkgIHN1YnNjcmlwdGlvbl9jaGFu Z2VfY2IsCisJCQkJCQkJCSAgKERhdHVtKSAwKTsKIAogCUNhY2hlUmVnaXN0ZXJTeXNjYWNoZUNh bGxiYWNrKEFVVEhPSUQsCiAJCQkJCQkJCSAgc3Vic2NyaXB0aW9uX2NoYW5nZV9jYiwKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVt cC5jCmluZGV4IDEwMzViYmE3MmNlLi44OGUwYTU1ZjhmMSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w Z19kdW1wL3BnX2R1bXAuYworKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCkBAIC01MTgy LDYgKzUxODIsNyBAQCBnZXRTdWJzY3JpcHRpb25zKEFyY2hpdmUgKmZvdXQpCiAJaW50CQkJaV9z dWJkaXNhYmxlb25lcnI7CiAJaW50CQkJaV9zdWJwYXNzd29yZHJlcXVpcmVkOwogCWludAkJCWlf c3VicnVuYXNvd25lcjsKKwlpbnQJCQlpX3N1YnNlcnZlcm5hbWU7CiAJaW50CQkJaV9zdWJjb25u aW5mbzsKIAlpbnQJCQlpX3N1YnNsb3RuYW1lOwogCWludAkJCWlfc3Vic3luY2NvbW1pdDsKQEAg LTUyODYsMTQgKzUyODcsMjQgQEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpmb3V0KQogCiAJ aWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTkwMDAwKQogCQlhcHBlbmRQUUV4cEJ1ZmZlclN0 cihxdWVyeSwKLQkJCQkJCQkgIiBzLnN1YndhbHJjdnRpbWVvdXRcbiIpOworCQkJCQkJCSAiIHMu c3Vid2FscmN2dGltZW91dCxcbiIpOwogCWVsc2UKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVl cnksCi0JCQkJCQkJICIgJy0xJyBBUyBzdWJ3YWxyY3Z0aW1lb3V0XG4iKTsKKwkJCQkJCQkgIiAn LTEnIEFTIHN1YndhbHJjdnRpbWVvdXQsXG4iKTsKKworCWlmIChmb3V0LT5yZW1vdGVWZXJzaW9u ID49IDE5MDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIgZnMuc3J2bmFtZSBB UyBzdWJzZXJ2ZXJuYW1lXG4iKTsKKwllbHNlCisJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5 LCAiIE5VTEwgQVMgc3Vic2VydmVybmFtZVxuIik7CiAKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cihx dWVyeSwKIAkJCQkJCSAiRlJPTSBwZ19zdWJzY3JpcHRpb24gc1xuIik7CiAKKwlpZiAoZm91dC0+ cmVtb3RlVmVyc2lvbiA+PSAxOTAwMDApCisJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAor CQkJCQkJCSAiTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdfZm9yZWlnbl9zZXJ2ZXIgZnMgXG4iCisJ CQkJCQkJICIgICAgT04gZnMub2lkID0gcy5zdWJzZXJ2ZXIgXG4iKTsKKwogCWlmIChkb3B0LT5i aW5hcnlfdXBncmFkZSAmJiBmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE3MDAwMCkKIAkJYXBwZW5k UFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkJICJMRUZUIEpPSU4gcGdfY2F0YWxvZy5wZ19y ZXBsaWNhdGlvbl9vcmlnaW5fc3RhdHVzIG8gXG4iCkBAIC01MzI1LDYgKzUzMzYsNyBAQCBnZXRT dWJzY3JpcHRpb25zKEFyY2hpdmUgKmZvdXQpCiAJaV9zdWJmYWlsb3ZlciA9IFBRZm51bWJlcihy ZXMsICJzdWJmYWlsb3ZlciIpOwogCWlfc3VicmV0YWluZGVhZHR1cGxlcyA9IFBRZm51bWJlcihy ZXMsICJzdWJyZXRhaW5kZWFkdHVwbGVzIik7CiAJaV9zdWJtYXhyZXRlbnRpb24gPSBQUWZudW1i ZXIocmVzLCAic3VibWF4cmV0ZW50aW9uIik7CisJaV9zdWJzZXJ2ZXJuYW1lID0gUFFmbnVtYmVy KHJlcywgInN1YnNlcnZlcm5hbWUiKTsKIAlpX3N1YmNvbm5pbmZvID0gUFFmbnVtYmVyKHJlcywg InN1YmNvbm5pbmZvIik7CiAJaV9zdWJzbG90bmFtZSA9IFBRZm51bWJlcihyZXMsICJzdWJzbG90 bmFtZSIpOwogCWlfc3Vic3luY2NvbW1pdCA9IFBRZm51bWJlcihyZXMsICJzdWJzeW5jY29tbWl0 Iik7CkBAIC01MzQ3LDYgKzUzNTksMTAgQEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpmb3V0 KQogCiAJCXN1YmluZm9baV0uc3ViZW5hYmxlZCA9CiAJCQkoc3RyY21wKFBRZ2V0dmFsdWUocmVz LCBpLCBpX3N1YmVuYWJsZWQpLCAidCIpID09IDApOworCQlpZiAoUFFnZXRpc251bGwocmVzLCBp LCBpX3N1YnNlcnZlcm5hbWUpKQorCQkJc3ViaW5mb1tpXS5zdWJzZXJ2ZXJuYW1lID0gTlVMTDsK KwkJZWxzZQorCQkJc3ViaW5mb1tpXS5zdWJzZXJ2ZXJuYW1lID0gcGdfc3RyZHVwKFBRZ2V0dmFs dWUocmVzLCBpLCBpX3N1YnNlcnZlcm5hbWUpKTsKIAkJc3ViaW5mb1tpXS5zdWJiaW5hcnkgPQog CQkJKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJiaW5hcnkpLCAidCIpID09IDApOwog CQlzdWJpbmZvW2ldLnN1YnN0cmVhbSA9ICooUFFnZXR2YWx1ZShyZXMsIGksIGlfc3Vic3RyZWFt KSk7CkBAIC01MzYzLDggKzUzNzksMTEgQEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpmb3V0 KQogCQkJKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJyZXRhaW5kZWFkdHVwbGVzKSwg InQiKSA9PSAwKTsKIAkJc3ViaW5mb1tpXS5zdWJtYXhyZXRlbnRpb24gPQogCQkJYXRvaShQUWdl dHZhbHVlKHJlcywgaSwgaV9zdWJtYXhyZXRlbnRpb24pKTsKLQkJc3ViaW5mb1tpXS5zdWJjb25u aW5mbyA9Ci0JCQlwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfc3ViY29ubmluZm8pKTsK KwkJaWYgKFBRZ2V0aXNudWxsKHJlcywgaSwgaV9zdWJjb25uaW5mbykpCisJCQlzdWJpbmZvW2ld LnN1YmNvbm5pbmZvID0gTlVMTDsKKwkJZWxzZQorCQkJc3ViaW5mb1tpXS5zdWJjb25uaW5mbyA9 CisJCQkJcGdfc3RyZHVwKFBRZ2V0dmFsdWUocmVzLCBpLCBpX3N1YmNvbm5pbmZvKSk7CiAJCWlm IChQUWdldGlzbnVsbChyZXMsIGksIGlfc3Vic2xvdG5hbWUpKQogCQkJc3ViaW5mb1tpXS5zdWJz bG90bmFtZSA9IE5VTEw7CiAJCWVsc2UKQEAgLTU1NzUsOSArNTU5NCwxNyBAQCBkdW1wU3Vic2Ny aXB0aW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFN1YnNjcmlwdGlvbkluZm8gKnN1YmluZm8pCiAJ YXBwZW5kUFFFeHBCdWZmZXIoZGVscSwgIkRST1AgU1VCU0NSSVBUSU9OICVzO1xuIiwKIAkJCQkJ ICBxc3VibmFtZSk7CiAKLQlhcHBlbmRQUUV4cEJ1ZmZlcihxdWVyeSwgIkNSRUFURSBTVUJTQ1JJ UFRJT04gJXMgQ09OTkVDVElPTiAiLAorCWFwcGVuZFBRRXhwQnVmZmVyKHF1ZXJ5LCAiQ1JFQVRF IFNVQlNDUklQVElPTiAlcyAiLAogCQkJCQkgIHFzdWJuYW1lKTsKLQlhcHBlbmRTdHJpbmdMaXRl cmFsQUgocXVlcnksIHN1YmluZm8tPnN1YmNvbm5pbmZvLCBmb3V0KTsKKwlpZiAoc3ViaW5mby0+ c3Vic2VydmVybmFtZSkKKwl7CisJCWFwcGVuZFBRRXhwQnVmZmVyKHF1ZXJ5LCAiU0VSVkVSICVz IiwgZm10SWQoc3ViaW5mby0+c3Vic2VydmVybmFtZSkpOworCX0KKwllbHNlCisJeworCQlhcHBl bmRQUUV4cEJ1ZmZlcihxdWVyeSwgIkNPTk5FQ1RJT04gIik7CisJCWFwcGVuZFN0cmluZ0xpdGVy YWxBSChxdWVyeSwgc3ViaW5mby0+c3ViY29ubmluZm8sIGZvdXQpOworCX0KIAogCS8qIEJ1aWxk IGxpc3Qgb2YgcXVvdGVkIHB1YmxpY2F0aW9ucyBhbmQgYXBwZW5kIHRoZW0gdG8gcXVlcnkuICov CiAJaWYgKCFwYXJzZVBHQXJyYXkoc3ViaW5mby0+c3VicHVibGljYXRpb25zLCAmcHVibmFtZXMs ICZucHVibmFtZXMpKQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCBiL3Ny Yy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKaW5kZXggZTEzOGVmMTI3NmMuLjFjMTFhNzkwODNmIDEw MDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCisrKyBiL3NyYy9iaW4vcGdfZHVt cC9wZ19kdW1wLmgKQEAgLTcyMCw2ICs3MjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBfU3Vic2NyaXB0 aW9uSW5mbwogCWJvb2wJCXN1YmZhaWxvdmVyOwogCWJvb2wJCXN1YnJldGFpbmRlYWR0dXBsZXM7 CiAJaW50CQkJc3VibWF4cmV0ZW50aW9uOworCWNoYXIJICAgKnN1YnNlcnZlcm5hbWU7CiAJY2hh cgkgICAqc3ViY29ubmluZm87CiAJY2hhcgkgICAqc3Vic2xvdG5hbWU7CiAJY2hhcgkgICAqc3Vi c3luY2NvbW1pdDsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jIGIvc3JjL2Jp bi9wc3FsL2Rlc2NyaWJlLmMKaW5kZXggYTk0ZWFkZTI4MmYuLjIxMWQ4ZjNiMWVjIDEwMDY0NAot LS0gYS9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYworKysgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUu YwpAQCAtNjg5NSw3ICs2ODk1LDcgQEAgZGVzY3JpYmVTdWJzY3JpcHRpb25zKGNvbnN0IGNoYXIg KnBhdHRlcm4sIGJvb2wgdmVyYm9zZSkKIAlwcmludFF1ZXJ5T3B0IG15b3B0ID0gcHNldC5wb3B0 OwogCXN0YXRpYyBjb25zdCBib29sIHRyYW5zbGF0ZV9jb2x1bW5zW10gPSB7ZmFsc2UsIGZhbHNl LCBmYWxzZSwgZmFsc2UsCiAJCWZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLAotCWZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlLCBmYWxzZSwgZmFsc2V9OworCWZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsIGZhbHNlfTsKIAogCWlmIChwc2V0LnN2ZXJzaW9uIDwgMTAwMDAwKQogCXsKQEAgLTY5 NjUsNiArNjk2NSwxMCBAQCBkZXNjcmliZVN1YnNjcmlwdGlvbnMoY29uc3QgY2hhciAqcGF0dGVy biwgYm9vbCB2ZXJib3NlKQogCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJGYWlsb3ZlciIpKTsKIAkJ aWYgKHBzZXQuc3ZlcnNpb24gPj0gMTkwMDAwKQogCQl7CisJCQlhcHBlbmRQUUV4cEJ1ZmZlcigm YnVmLAorCQkJCQkJCSAgIiwgKHNlbGVjdCBzcnZuYW1lIGZyb20gcGdfZm9yZWlnbl9zZXJ2ZXIg d2hlcmUgb2lkPXN1YnNlcnZlcikgQVMgXCIlc1wiXG4iLAorCQkJCQkJCSAgZ2V0dGV4dF9ub29w KCJTZXJ2ZXIiKSk7CisKIAkJCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCiAJCQkJCQkJICAiLCBz dWJyZXRhaW5kZWFkdHVwbGVzIEFTIFwiJXNcIlxuIiwKIAkJCQkJCQkgIGdldHRleHRfbm9vcCgi UmV0YWluIGRlYWQgdHVwbGVzIikpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21w bGV0ZS5pbi5jIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCmluZGV4IGY4YzA4NjVj YTg5Li42NDg0YzZhM2RkNCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5p bi5jCisrKyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpAQCAtMjMzMiw3ICsyMzMy LDcgQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMoaW50IHBhdHRlcm5faWQsCiAJZWxzZSBpZiAoTWF0 Y2hlcygiQUxURVIiLCAiU1VCU0NSSVBUSU9OIiwgTWF0Y2hBbnkpKQogCQlDT01QTEVURV9XSVRI KCJDT05ORUNUSU9OIiwgIkVOQUJMRSIsICJESVNBQkxFIiwgIk9XTkVSIFRPIiwKIAkJCQkJICAi UkVOQU1FIFRPIiwgIlJFRlJFU0ggUFVCTElDQVRJT04iLCAiUkVGUkVTSCBTRVFVRU5DRVMiLAot CQkJCQkgICJTRVQiLCAiU0tJUCAoIiwgIkFERCBQVUJMSUNBVElPTiIsICJEUk9QIFBVQkxJQ0FU SU9OIik7CisJCQkJCSAgIlNFUlZFUiIsICJTRVQiLCAiU0tJUCAoIiwgIkFERCBQVUJMSUNBVElP TiIsICJEUk9QIFBVQkxJQ0FUSU9OIik7CiAJLyogQUxURVIgU1VCU0NSSVBUSU9OIDxuYW1lPiBS RUZSRVNIICovCiAJZWxzZSBpZiAoTWF0Y2hlcygiQUxURVIiLCAiU1VCU0NSSVBUSU9OIiwgTWF0 Y2hBbnksIE1hdGNoQW55TiwgIlJFRlJFU0giKSkKIAkJQ09NUExFVEVfV0lUSCgiUFVCTElDQVRJ T04iLCAiU0VRVUVOQ0VTIik7CkBAIC0zODcwLDkgKzM4NzAsMTYgQEAgbWF0Y2hfcHJldmlvdXNf d29yZHMoaW50IHBhdHRlcm5faWQsCiAKIC8qIENSRUFURSBTVUJTQ1JJUFRJT04gKi8KIAllbHNl IGlmIChNYXRjaGVzKCJDUkVBVEUiLCAiU1VCU0NSSVBUSU9OIiwgTWF0Y2hBbnkpKQotCQlDT01Q TEVURV9XSVRIKCJDT05ORUNUSU9OIik7CisJCUNPTVBMRVRFX1dJVEgoIlNFUlZFUiIsICJDT05O RUNUSU9OIik7CisJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlNVQlNDUklQVElPTiIsIE1h dGNoQW55LCAiU0VSVkVSIiwgTWF0Y2hBbnkpKQorCQlDT01QTEVURV9XSVRIKCJQVUJMSUNBVElP TiIpOwogCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJTVUJTQ1JJUFRJT04iLCBNYXRjaEFu eSwgIkNPTk5FQ1RJT04iLCBNYXRjaEFueSkpCiAJCUNPTVBMRVRFX1dJVEgoIlBVQkxJQ0FUSU9O Iik7CisJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlNVQlNDUklQVElPTiIsIE1hdGNoQW55 LCAiU0VSVkVSIiwKKwkJCQkJIE1hdGNoQW55LCAiUFVCTElDQVRJT04iKSkKKwl7CisJCS8qIGNv bXBsZXRlIHdpdGggbm90aGluZyBoZXJlIGFzIHRoaXMgcmVmZXJzIHRvIHJlbW90ZSBwdWJsaWNh dGlvbnMgKi8KKwl9CiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlNVQlNDUklQVElPTiIs IE1hdGNoQW55LCAiQ09OTkVDVElPTiIsCiAJCQkJCSBNYXRjaEFueSwgIlBVQkxJQ0FUSU9OIikp CiAJewpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXR2ZXJzaW9uLmggYi9zcmMv aW5jbHVkZS9jYXRhbG9nL2NhdHZlcnNpb24uaAppbmRleCBmMTY0YmY4NzY3Zi4uYzM5MTg5MjM3 ZmUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0dmVyc2lvbi5oCisrKyBiL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvY2F0dmVyc2lvbi5oCkBAIC01Nyw2ICs1Nyw2IEBACiAgKi8KIAog LyoJCQkJCQkJeXl5eW1tZGROICovCi0jZGVmaW5lIENBVEFMT0dfVkVSU0lPTl9OTwkyMDI2MDMw NDEKKyNkZWZpbmUgQ0FUQUxPR19WRVJTSU9OX05PCTIwMjYwMzA0MgogCiAjZW5kaWYKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIuaCBiL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIuaAppbmRleCBlNjAwOTA2 OWU4Mi4uM2Q4Mzg5ZGU2NWUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9y ZWlnbl9kYXRhX3dyYXBwZXIuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2ZvcmVpZ25f ZGF0YV93cmFwcGVyLmgKQEAgLTM4LDYgKzM4LDkgQEAgQ0FUQUxPRyhwZ19mb3JlaWduX2RhdGFf d3JhcHBlciwyMzI4LEZvcmVpZ25EYXRhV3JhcHBlclJlbGF0aW9uSWQpCiAJT2lkCQkJZmR3dmFs aWRhdG9yIEJLSV9MT09LVVBfT1BUKHBnX3Byb2MpOwkvKiBvcHRpb24gdmFsaWRhdGlvbgogCQkJ CQkJCQkJCQkJCQkgKiBmdW5jdGlvbiwgb3IgMCBpZgogCQkJCQkJCQkJCQkJCQkgKiBub25lICov CisJT2lkCQkJZmR3Y29ubmVjdGlvbiBCS0lfTE9PS1VQX09QVChwZ19wcm9jKTsJLyogY29ubmVj dGlvbiBzdHJpbmcKKwkJCQkJCQkJCQkJCQkJICogZnVuY3Rpb24sIG9yIDAgaWYKKwkJCQkJCQkJ CQkJCQkJICogbm9uZSAqLwogCiAjaWZkZWYgQ0FUQUxPR19WQVJMRU4JCQkvKiB2YXJpYWJsZS1s ZW5ndGggZmllbGRzIHN0YXJ0IGhlcmUgKi8KIAlhY2xpdGVtCQlmZHdhY2xbMV07CQkvKiBhY2Nl c3MgcGVybWlzc2lvbnMgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vi c2NyaXB0aW9uLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCmluZGV4 IGMzNjliNWFiZmIzLi4wMDU4ZDkzODdkNyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb24uaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlw dGlvbi5oCkBAIC05Miw5ICs5MiwxMiBAQCBDQVRBTE9HKHBnX3N1YnNjcmlwdGlvbiw2MTAwLFN1 YnNjcmlwdGlvblJlbGF0aW9uSWQpIEJLSV9TSEFSRURfUkVMQVRJT04gQktJX1JPVwogCQkJCQkJ CQkJICogZXhjZWVkZWQgbWF4X3JldGVudGlvbl9kdXJhdGlvbiwgd2hlbgogCQkJCQkJCQkJICog ZGVmaW5lZCAqLwogCisJT2lkCQkJc3Vic2VydmVyIEJLSV9MT09LVVBfT1BUKHBnX2ZvcmVpZ25f c2VydmVyKTsJLyogSWYgY29ubmVjdGlvbiB1c2VzCisJCQkJCQkJCQkJCQkJCQkJICogc2VydmVy ICovCisKICNpZmRlZiBDQVRBTE9HX1ZBUkxFTgkJCS8qIHZhcmlhYmxlLWxlbmd0aCBmaWVsZHMg c3RhcnQgaGVyZSAqLwogCS8qIENvbm5lY3Rpb24gc3RyaW5nIHRvIHRoZSBwdWJsaXNoZXIgKi8K LQl0ZXh0CQlzdWJjb25uaW5mbyBCS0lfRk9SQ0VfTk9UX05VTEw7CisJdGV4dAkJc3ViY29ubmlu Zm87CS8qIFNldCBpZiBjb25uZWN0aW5nIHdpdGggY29ubmVjdGlvbiBzdHJpbmcgKi8KIAogCS8q IFNsb3QgbmFtZSBvbiBwdWJsaXNoZXIgKi8KIAlOYW1lRGF0YQlzdWJzbG90bmFtZSBCS0lfRk9S Q0VfTlVMTDsKQEAgLTIwNyw3ICsyMTAsOCBAQCB0eXBlZGVmIHN0cnVjdCBTdWJzY3JpcHRpb24K IAogI2VuZGlmCQkJCQkJCS8qIEVYUE9TRV9UT19DTElFTlRfQ09ERSAqLwogCi1leHRlcm4gU3Vi c2NyaXB0aW9uICpHZXRTdWJzY3JpcHRpb24oT2lkIHN1YmlkLCBib29sIG1pc3Npbmdfb2spOwor ZXh0ZXJuIFN1YnNjcmlwdGlvbiAqR2V0U3Vic2NyaXB0aW9uKE9pZCBzdWJpZCwgYm9vbCBtaXNz aW5nX29rLAorCQkJCQkJCQkJIGJvb2wgYWNsY2hlY2spOwogZXh0ZXJuIHZvaWQgRnJlZVN1YnNj cmlwdGlvbihTdWJzY3JpcHRpb24gKnN1Yik7CiBleHRlcm4gdm9pZCBEaXNhYmxlU3Vic2NyaXB0 aW9uKE9pZCBzdWJpZCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWln bi5oIGIvc3JjL2luY2x1ZGUvZm9yZWlnbi9mb3JlaWduLmgKaW5kZXggYzE4NWQxNDU4YTIuLjY1 ZWQ5YTdmOTg3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaAorKysg Yi9zcmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaApAQCAtMjgsNiArMjgsNyBAQCB0eXBlZGVm IHN0cnVjdCBGb3JlaWduRGF0YVdyYXBwZXIKIAljaGFyCSAgICpmZHduYW1lOwkJLyogTmFtZSBv ZiB0aGUgRkRXICovCiAJT2lkCQkJZmR3aGFuZGxlcjsJCS8qIE9pZCBvZiBoYW5kbGVyIGZ1bmN0 aW9uLCBvciAwICovCiAJT2lkCQkJZmR3dmFsaWRhdG9yOwkvKiBPaWQgb2YgdmFsaWRhdG9yIGZ1 bmN0aW9uLCBvciAwICovCisJT2lkCQkJZmR3Y29ubmVjdGlvbjsJLyogT2lkIG9mIGNvbm5lY3Rp b24gc3RyaW5nIGZ1bmN0aW9uLCBvciAwICovCiAJTGlzdAkgICAqb3B0aW9uczsJCS8qIGZkd29w dGlvbnMgYXMgRGVmRWxlbSBsaXN0ICovCiB9IEZvcmVpZ25EYXRhV3JhcHBlcjsKIApAQCAtNjUs MTAgKzY2LDEyIEBAIHR5cGVkZWYgc3RydWN0IEZvcmVpZ25UYWJsZQogCiAKIGV4dGVybiBGb3Jl aWduU2VydmVyICpHZXRGb3JlaWduU2VydmVyKE9pZCBzZXJ2ZXJpZCk7CitleHRlcm4gY2hhciAq Rm9yZWlnblNlcnZlck5hbWUoT2lkIHNlcnZlcmlkKTsKIGV4dGVybiBGb3JlaWduU2VydmVyICpH ZXRGb3JlaWduU2VydmVyRXh0ZW5kZWQoT2lkIHNlcnZlcmlkLAogCQkJCQkJCQkJCQkgICBiaXRz MTYgZmxhZ3MpOwogZXh0ZXJuIEZvcmVpZ25TZXJ2ZXIgKkdldEZvcmVpZ25TZXJ2ZXJCeU5hbWUo Y29uc3QgY2hhciAqc3J2bmFtZSwKIAkJCQkJCQkJCQkJIGJvb2wgbWlzc2luZ19vayk7CitleHRl cm4gY2hhciAqRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoT2lkIHVzZXJpZCwgT2lkIHNl cnZlcmlkKTsKIGV4dGVybiBVc2VyTWFwcGluZyAqR2V0VXNlck1hcHBpbmcoT2lkIHVzZXJpZCwg T2lkIHNlcnZlcmlkKTsKIGV4dGVybiBGb3JlaWduRGF0YVdyYXBwZXIgKkdldEZvcmVpZ25EYXRh V3JhcHBlcihPaWQgZmR3aWQpOwogZXh0ZXJuIEZvcmVpZ25EYXRhV3JhcHBlciAqR2V0Rm9yZWln bkRhdGFXcmFwcGVyRXh0ZW5kZWQoT2lkIGZkd2lkLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv bm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4 IGZmNDE5NDNhNmRiLi40ZWUwOTIyMDZiMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMv cGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtNDM4 Myw2ICs0MzgzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdAogewog CU5vZGVUYWcJCXR5cGU7CiAJY2hhcgkgICAqc3VibmFtZTsJCS8qIE5hbWUgb2YgdGhlIHN1YnNj cmlwdGlvbiAqLworCWNoYXIJICAgKnNlcnZlcm5hbWU7CQkvKiBTZXJ2ZXIgbmFtZSBvZiBwdWJs aXNoZXIgKi8KIAljaGFyCSAgICpjb25uaW5mbzsJCS8qIENvbm5lY3Rpb24gc3RyaW5nIHRvIHB1 Ymxpc2hlciAqLwogCUxpc3QJICAgKnB1YmxpY2F0aW9uOwkvKiBPbmUgb3IgbW9yZSBwdWJsaWNh dGlvbiB0byBzdWJzY3JpYmUgdG8gKi8KIAlMaXN0CSAgICpvcHRpb25zOwkJLyogTGlzdCBvZiBE ZWZFbGVtIG5vZGVzICovCkBAIC00MzkxLDYgKzQzOTIsNyBAQCB0eXBlZGVmIHN0cnVjdCBDcmVh dGVTdWJzY3JpcHRpb25TdG10CiB0eXBlZGVmIGVudW0gQWx0ZXJTdWJzY3JpcHRpb25UeXBlCiB7 CiAJQUxURVJfU1VCU0NSSVBUSU9OX09QVElPTlMsCisJQUxURVJfU1VCU0NSSVBUSU9OX1NFUlZF UiwKIAlBTFRFUl9TVUJTQ1JJUFRJT05fQ09OTkVDVElPTiwKIAlBTFRFUl9TVUJTQ1JJUFRJT05f U0VUX1BVQkxJQ0FUSU9OLAogCUFMVEVSX1NVQlNDUklQVElPTl9BRERfUFVCTElDQVRJT04sCkBA IC00NDA2LDYgKzQ0MDgsNyBAQCB0eXBlZGVmIHN0cnVjdCBBbHRlclN1YnNjcmlwdGlvblN0bXQK IAlOb2RlVGFnCQl0eXBlOwogCUFsdGVyU3Vic2NyaXB0aW9uVHlwZSBraW5kOyAvKiBBTFRFUl9T VUJTQ1JJUFRJT05fT1BUSU9OUywgZXRjICovCiAJY2hhcgkgICAqc3VibmFtZTsJCS8qIE5hbWUg b2YgdGhlIHN1YnNjcmlwdGlvbiAqLworCWNoYXIJICAgKnNlcnZlcm5hbWU7CQkvKiBTZXJ2ZXIg bmFtZSBvZiBwdWJsaXNoZXIgKi8KIAljaGFyCSAgICpjb25uaW5mbzsJCS8qIENvbm5lY3Rpb24g c3RyaW5nIHRvIHB1Ymxpc2hlciAqLwogCUxpc3QJICAgKnB1YmxpY2F0aW9uOwkvKiBPbmUgb3Ig bW9yZSBwdWJsaWNhdGlvbiB0byBzdWJzY3JpYmUgdG8gKi8KIAlMaXN0CSAgICpvcHRpb25zOwkJ LyogTGlzdCBvZiBEZWZFbGVtIG5vZGVzICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL29pZGpvaW5zLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb2lkam9p bnMub3V0CmluZGV4IDI1YWFhZThkMDVhLi41MWI5NjA4YTY2OCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9vaWRqb2lucy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9vaWRqb2lucy5vdXQKQEAgLTIyNCw2ICsyMjQsNyBAQCBOT1RJQ0U6ICBjaGVja2lu ZyBwZ19leHRlbnNpb24ge2V4dGNvbmZpZ30gPT4gcGdfY2xhc3Mge29pZH0KIE5PVElDRTogIGNo ZWNraW5nIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyIHtmZHdvd25lcn0gPT4gcGdfYXV0aGlkIHtv aWR9CiBOT1RJQ0U6ICBjaGVja2luZyBwZ19mb3JlaWduX2RhdGFfd3JhcHBlciB7ZmR3aGFuZGxl cn0gPT4gcGdfcHJvYyB7b2lkfQogTk9USUNFOiAgY2hlY2tpbmcgcGdfZm9yZWlnbl9kYXRhX3dy YXBwZXIge2Zkd3ZhbGlkYXRvcn0gPT4gcGdfcHJvYyB7b2lkfQorTk9USUNFOiAgY2hlY2tpbmcg cGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIge2Zkd2Nvbm5lY3Rpb259ID0+IHBnX3Byb2Mge29pZH0K IE5PVElDRTogIGNoZWNraW5nIHBnX2ZvcmVpZ25fc2VydmVyIHtzcnZvd25lcn0gPT4gcGdfYXV0 aGlkIHtvaWR9CiBOT1RJQ0U6ICBjaGVja2luZyBwZ19mb3JlaWduX3NlcnZlciB7c3J2ZmR3fSA9 PiBwZ19mb3JlaWduX2RhdGFfd3JhcHBlciB7b2lkfQogTk9USUNFOiAgY2hlY2tpbmcgcGdfdXNl cl9tYXBwaW5nIHt1bXVzZXJ9ID0+IHBnX2F1dGhpZCB7b2lkfQpAQCAtMjY5LDUgKzI3MCw2IEBA IE5PVElDRTogIGNoZWNraW5nIHBnX3B1YmxpY2F0aW9uX3JlbCB7cHJwdWJpZH0gPT4gcGdfcHVi bGljYXRpb24ge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX3B1YmxpY2F0aW9uX3JlbCB7cHJy ZWxpZH0gPT4gcGdfY2xhc3Mge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX3N1YnNjcmlwdGlv biB7c3ViZGJpZH0gPT4gcGdfZGF0YWJhc2Uge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX3N1 YnNjcmlwdGlvbiB7c3Vib3duZXJ9ID0+IHBnX2F1dGhpZCB7b2lkfQorTk9USUNFOiAgY2hlY2tp bmcgcGdfc3Vic2NyaXB0aW9uIHtzdWJzZXJ2ZXJ9ID0+IHBnX2ZvcmVpZ25fc2VydmVyIHtvaWR9 CiBOT1RJQ0U6ICBjaGVja2luZyBwZ19zdWJzY3JpcHRpb25fcmVsIHtzcnN1YmlkfSA9PiBwZ19z dWJzY3JpcHRpb24ge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX3N1YnNjcmlwdGlvbl9yZWwg e3NycmVsaWR9ID0+IHBnX2NsYXNzIHtvaWR9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1 YnNjcmlwdGlvbi5vdXQKaW5kZXggYTVmZGZlNjhhMGUuLjNmZDhhMThiNzNhIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CkBAIC0xLDYgKzEsMTQgQEAKIC0t CiAtLSBTVUJTQ1JJUFRJT04KIC0tCistLSBkaXJlY3RvcnkgcGF0aHMgYW5kIGRsc3VmZml4IGFy ZSBwYXNzZWQgdG8gdXMgaW4gZW52aXJvbm1lbnQgdmFyaWFibGVzCitcZ2V0ZW52IGxpYmRpciBQ R19MSUJESVIKK1xnZXRlbnYgZGxzdWZmaXggUEdfRExTVUZGSVgKK1xzZXQgcmVncmVzc2xpYiA6 bGliZGlyICcvcmVncmVzcycgOmRsc3VmZml4CitDUkVBVEUgRlVOQ1RJT04gdGVzdF9mZHdfY29u bmVjdGlvbihvaWQsIG9pZCwgaW50ZXJuYWwpCisgICAgUkVUVVJOUyB0ZXh0CisgICAgQVMgOidy ZWdyZXNzbGliJywgJ3Rlc3RfZmR3X2Nvbm5lY3Rpb24nCisgICAgTEFOR1VBR0UgQzsKIENSRUFU RSBST0xFIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgTE9HSU4gU1VQRVJVU0VSOwogQ1JFQVRF IFJPTEUgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjI7CiBDUkVBVEUgUk9MRSByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyMyBJTiBST0xFIHBnX2NyZWF0ZV9zdWJzY3JpcHRpb247CkBAIC0xMTYs MTggKzEyNCwxOCBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjQgQ09OTkVD VElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVQogV0FSTklORzogIHN1YnNjcmlw dGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0 ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBz bG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24g dG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKyByZWdyZXNzX3Rlc3RzdWI0Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3Jp cHRpb25zCi0gICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBF bmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29t bWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVu IGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8 IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8 IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgbm9uZSAgIHwgdCAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAg fCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZl ciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRp b24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIg fCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IG5vbmUgICB8IHQgICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwg MC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViNCBTRVQgKG9yaWdpbiA9IGFueSk7CiBcZFJzKyByZWdyZXNzX3Rlc3RzdWI0Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3Jp cHRpb25zCi0gICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBF bmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29t bWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVu IGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8 IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8 IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAg fCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZl ciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRp b24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIg fCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwg MC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIzOwpAQCAtMTQwLDE1ICsxNDgsMzAgQEAgRVJST1I6ICBpbnZhbGlkIGNvbm5lY3Rpb24gc3Ry aW5nIHN5bnRheDogaW52YWxpZCBjb25uZWN0aW9uIG9wdGlvbiAiaV9kb250X2V4aXMKIC0tIGNv bm5lY3RpbmcsIHNvIHRoaXMgaXMgcmVsaWFibGUgYW5kIHNhZmUpCiBDUkVBVEUgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YjUgQ09OTkVDVElPTiAncG9ydD0tMScgUFVCTElDQVRJT04gdGVz dHB1YjsKIEVSUk9SOiAgc3Vic2NyaXB0aW9uICJyZWdyZXNzX3Rlc3RzdWI1IiBjb3VsZCBub3Qg Y29ubmVjdCB0byB0aGUgcHVibGlzaGVyOiBpbnZhbGlkIHBvcnQgbnVtYmVyOiAiLTEiCitDUkVB VEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHc7CitDUkVBVEUgU0VSVkVSIHRlc3Rfc2Vy dmVyIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3OworQ1JFQVRFIFVTRVIgTUFQUElORyBG T1IgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciBTRVJWRVIgdGVzdF9zZXJ2ZXI7CistLSBmYWls LCBuZWVkIENPTk5FQ1RJT04gY2xhdXNlCitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVz dHN1YjYgU0VSVkVSIHRlc3Rfc2VydmVyIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoc2xvdF9u YW1lID0gTk9ORSwgY29ubmVjdCA9IGZhbHNlKTsKK0VSUk9SOiAgZm9yZWlnbiBkYXRhIHdyYXBw ZXIgInRlc3RfZmR3IiBkb2VzIG5vdCBzdXBwb3J0IHN1YnNjcmlwdGlvbiBjb25uZWN0aW9ucwor REVUQUlMOiAgRm9yZWlnbiBkYXRhIHdyYXBwZXIgbXVzdCBiZSBkZWZpbmVkIHdpdGggQ09OTkVD VElPTiBzcGVjaWZpZWQuCitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdyBDT05O RUNUSU9OIHRlc3RfZmR3X2Nvbm5lY3Rpb247CitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YjYgU0VSVkVSIHRlc3Rfc2VydmVyIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoc2xv dF9uYW1lID0gTk9ORSwgY29ubmVjdCA9IGZhbHNlKTsKK1dBUk5JTkc6ICBzdWJzY3JpcHRpb24g d2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCitISU5UOiAgVG8gaW5pdGlhdGUgcmVw bGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwg ZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJl ZnJlc2ggcHVibGljYXRpb25zLgorRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNjsK K0RST1AgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIFNFUlZFUiB0 ZXN0X3NlcnZlcjsKK0RST1AgU0VSVkVSIHRlc3Rfc2VydmVyOworRFJPUCBGT1JFSUdOIERBVEEg V1JBUFBFUiB0ZXN0X2ZkdzsKIC0tIGZhaWwgLSBpbnZhbGlkIGNvbm5lY3Rpb24gc3RyaW5nIGR1 cmluZyBBTFRFUgogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9O ICdmb29iYXInOwogRVJST1I6ICBpbnZhbGlkIGNvbm5lY3Rpb24gc3RyaW5nIHN5bnRheDogbWlz c2luZyAiPSIgYWZ0ZXIgImZvb2JhciIgaW4gY29ubmVjdGlvbiBpbmZvIHN0cmluZwogCiBcZFJz KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVx dWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBN YXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNv bW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAg U2tpcCBMU04gIHwgICAgRGVzY3JpcHRpb24gICAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg IHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAg fCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgdGVzdCBzdWJzY3JpcHRpb24KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVx dWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0 dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNo cm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRp bWVvdXQgfCAgU2tpcCBMU04gIHwgICAgRGVzY3JpcHRpb24gICAgCistLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAg ICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8 IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAw MDAwIHwgdGVzdCBzdWJzY3JpcHRpb24KICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfdGVzdHN1YiBTRVQgUFVCTElDQVRJT04gdGVzdHB1YjIsIHRlc3RwdWIzIFdJVEggKHJl ZnJlc2ggPSBmYWxzZSk7CkBAIC0xNTcsMTAgKzE4MCwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gJ25ld25hbWUnKTsKIEFMVEVSIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChwYXNzd29yZF9yZXF1aXJlZCA9IGZhbHNlKTsK IEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChydW5fYXNfb3duZXIgPSB0 cnVlKTsKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8 IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9y IHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIg fCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9u IGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAg ICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8ICAgIERlc2NyaXB0aW9uICAgIAot LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0 aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFs bGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgZiAg ICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAg ICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAtMSAgICAgICAg ICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9uCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVp cmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVw bGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGlt ZW91dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICAKKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBk ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IGYgICAgICAgICAg ICAgICAgIHwgdCAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYg ICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgLTEgICAgICAg ICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlwdGlvbgogKDEgcm93KQogCiBBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAocGFzc3dvcmRfcmVxdWlyZWQgPSB0 cnVlKTsKQEAgLTE3NiwxMCArMTk5LDEwIEBAIEVSUk9SOiAgdW5yZWNvZ25pemVkIHN1YnNjcmlw dGlvbiBwYXJhbWV0ZXI6ICJjcmVhdGVfc2xvdCIKIC0tIG9rCiBBTFRFUiBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViIFNLSVAgKGxzbiA9ICcwLzEyMzQ1Jyk7CiBcZFJzKwotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1 YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgRW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBU d28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJl cXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwg TWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBj b21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8 ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0KLSBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0 ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMTIzNDUgfCB0 ZXN0IHN1YnNjcmlwdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRp b24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUg b24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBG YWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVy YXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgICAg RGVzY3JpcHRpb24gICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190 ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIs dGVzdHB1YjN9IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg fCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1l PXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDEyMzQ1IHwg dGVzdCBzdWJzY3JpcHRpb24KICgxIHJvdykKIAogLS0gb2sgLSB3aXRoIGxzbiA9IE5PTkUKQEAg LTE4OCwxMCArMjExLDEwIEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0tJ UCAobHNuID0gTk9ORSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNLSVAg KGxzbiA9ICcwLzAnKTsKIEVSUk9SOiAgaW52YWxpZCBXQUwgbG9jYXRpb24gKExTTik6IDAvMAog XGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAg IE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJl Y2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgICAgRGVzY3JpcHRpb24gICAgCi0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNl ciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwg ZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAg ICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IC0xICAgICAgICAgICAgICAg fCAwLzAwMDAwMDAwIHwgdGVzdCBzdWJzY3JpcHRpb24KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBj b21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBS dW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBN YXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNv bW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwg IFNraXAgTFNOICB8ICAgIERlc2NyaXB0aW9uICAgIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAg ICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAtMSAgICAgICAgICAgICAg IHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9uCiAoMSByb3cpCiAKIEJFR0lOOwpAQCAt MjI3LDEwICsyNTAsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1Yl9mb28g U0VUICh3YWxfcmVjZWl2ZXJfdGltZW91dCA9ICc4MHMnKTsKIEFMVEVSIFNVQlNDUklQVElPTiBy ZWdyZXNzX3Rlc3RzdWJfZm9vIFNFVCAod2FsX3JlY2VpdmVyX3RpbWVvdXQgPSAnZm9vYmFyJyk7 CiBFUlJPUjogIGludmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciAid2FsX3JlY2VpdmVyX3RpbWVv dXQiOiAiZm9vYmFyIgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgICAgTmFt ZSAgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVi bGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERp c2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25l cj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRp b24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENv bm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgICAgRGVz Y3JpcHRpb24gICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1Yl9m b28gfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0 cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYg ICAgICAgICAgICAgICAgfCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QyIHwgODBzICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlw dGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgICAgTmFtZSAgICAgICAgIHwg ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAg IHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJy b3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3Zl ciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24g fCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5p bmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgICAgRGVzY3Jp cHRpb24gICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVz dHN1Yl9mb28gfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVi Mix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgODBzICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCB0ZXN0IHN1YnNjcmlwdGlvbgogKDEgcm93KQogCiAtLSByZW5hbWUgYmFjayB0byBrZWVwIHRo ZSByZXN0IHNpbXBsZQpAQCAtMjU5LDE5ICsyODIsMTkgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiBy ZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQ VUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVj dGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNy ZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBh bHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRScysKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2Ug Y29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwg UnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVu dGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNO ICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCB0ICAgICAgfCBwYXJhbGxlbCAg fCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAg ICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAg IHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZl ciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRp b24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgdCAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAg ICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAv MDAwMDAwMDAgfCAKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YiBTRVQgKGJpbmFyeSA9IGZhbHNlKTsKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0 aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWls b3ZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAg ICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAg ICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBv ZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1w aGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWly ZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBs ZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVv dXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190 ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0g ICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg ICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAg ICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAw IHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cp CiAKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsKQEAgLTI4MywyNyArMzA2LDI3 IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBj cmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0 aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJs ZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNo IHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVj ZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVi fSAgIHwgZiAgICAgIHwgb24gICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAg ICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAg ICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0 ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBM U04gIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IG9uICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAg IHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAg fCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzdHJlYW1pbmcgPSBwYXJhbGxlbCk7CiBc ZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVx dWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBN YXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNv bW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAg U2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBh cmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwg dCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9m ZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAg ICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAg ICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24g fCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJv ciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVy IHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9u IAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAg ICAgIHwgMC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gZmFsc2UpOwogQUxURVIgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwogXGRScysKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93 bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJh dGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2Ny aXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAw MDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVj ZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0K KyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCAKICgxIHJvdykKIAogLS0gZmFpbCAtIHB1YmxpY2F0aW9uIGFscmVhZHkgZXhpc3RzCkBAIC0z MTgsMTAgKzM0MSwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIEFERCBQ VUJMSUNBVElPTiB0ZXN0cHViMSwgdGVzdHB1YjIgV0lUSCAocmVmcgogQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBBREQgUFVCTElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJ VEggKHJlZnJlc2ggPSBmYWxzZSk7CiBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViMSIgaXMg YWxyZWFkeSBpbiBzdWJzY3JpcHRpb24gInJlZ3Jlc3NfdGVzdHN1YiIKIFxkUnMrCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgICAgICAgICBQdWJsaWNhdGlvbiAgICAgICAgIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQ YXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIg dGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ci0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1Yix0ZXN0cHViMSx0ZXN0cHViMn0gfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8w MDAwMDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8 ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgICAgICBQdWJsaWNhdGlv biAgICAgICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2Fi bGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8g fCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24g ZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAg ICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBE ZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yix0ZXN0 cHViMSx0ZXN0cHViMn0gfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAw MCB8IAogKDEgcm93KQogCiAtLSBmYWlsIC0gcHVibGljYXRpb24gdXNlZCBtb3JlIHRoYW4gb25j ZQpAQCAtMzM2LDEwICszNTksMTAgQEAgRVJST1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1YjMiIGlz IG5vdCBpbiBzdWJzY3JpcHRpb24gInJlZ3Jlc3NfdGVzdHN1YiIKIC0tIG9rIC0gZGVsZXRlIHB1 YmxpY2F0aW9ucwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBEUk9QIFBVQkxJ Q0FUSU9OIHRlc3RwdWIxLCB0ZXN0cHViMiBXSVRIIChyZWZyZXNoID0gZmFsc2UpOwogXGRScysK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJl dGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAg TFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAg ICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAg ICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBP cmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNl cnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAg ICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAg ICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8 IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAogRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViOwpAQCAtMzc1LDE5ICszOTgsMTkgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUIKIFdBUk5J Tkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5U OiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUg cmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUg c3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRScysKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93 bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJh dGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2Ny aXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBwICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAw MDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVj ZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0K KyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgcCAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCAKICgxIHJvdykKIAogLS0gd2UgY2FuIGFsdGVyIHN0cmVhbWluZyB3aGVuIHR3b19waGFzZSBl bmFibGVkCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc3RyZWFtaW5n ID0gdHJ1ZSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0 cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwg UGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVh ZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5 bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVy IHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg IHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAg fCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwor ICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwg UHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVy PyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8 IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvbiAg ICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAt MSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJ UFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CkBAIC0zOTcsMTAg KzQyMCwxMCBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9O ICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQgogV0FSTklORzogIHN1YnNjcmlwdGlv biB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSBy ZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90 LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8g cmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8 IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9y IHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIg fCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9u IGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAg ICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7 dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg IHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAw IHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2Ug Y29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwg UnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwg TWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBj b21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwg IFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBvbiAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYg ICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBB TFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7 CkBAIC00MTMsMTggKzQzNiwxOCBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YiBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQgogV0FSTklORzog IHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBU byBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBs aWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJz Y3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0g ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQ dWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNh YmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/ IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9u IHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5p bmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRp b24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRi bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAw IHwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcg fCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3Jk IHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRl YWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBT eW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZl ciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJl Z3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAog KDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoZGlzYWJs ZV9vbl9lcnJvciA9IHRydWUpOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAg ICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBC aW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8 IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJl Z3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgdCAgICAg ICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNv bW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1 biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1h eCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29t bWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBT a2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIg fCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAg ICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgfCBh bnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAg ICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAg ICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAogQUxU RVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpA QCAtNDM3LDEwICs0NjAsMTAgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIg Q09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUIKIFdBUk5JTkc6ICBz dWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8g aW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGlj YXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2Ny aXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRScysKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAg ICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVi bGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJs ZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8 IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9u IAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBm ICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8 IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIg dGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBm ICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKICgx IHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFt ZSA9IE5PTkUpOwpAQCAtNDU0LDE5ICs0NzcsMTkgQEAgTk9USUNFOiAgbWF4X3JldGVudGlvbl9k dXJhdGlvbiBpcyBpbmVmZmVjdGl2ZSB3aGVuIHJldGFpbl9kZWFkX3R1cGxlcyBpcyBkaXNhYmwK IFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVk CiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0 ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRl ciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRScysKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2Ny aXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBF bmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29t bWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVu IGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8 IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0 aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBk ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgMTAwMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwg MC8wMDAwMDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4g fCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8 IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24g YWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAg IHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAg ICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgIDEwMDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAg IHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAw MDAwMDAgfCAKICgxIHJvdykKIAogLS0gb2sKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWIgU0VUIChtYXhfcmV0ZW50aW9uX2R1cmF0aW9uID0gMCk7CiBcZFJzKwotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1 cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVz Y3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25f dXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAg ICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAg ICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAw MDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJl YW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBh c3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0 YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3Rp dmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBS ZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAw MCB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAo c2xvdF9uYW1lID0gTk9ORSk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3JlZ3Jlc3Mu YyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcmVncmVzcy5jCmluZGV4IGEwMmY0MWM5NzI3Li4xNThjN2I3 YTRjMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9yZWdyZXNzLmMKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9yZWdyZXNzLmMKQEAgLTcyOSw2ICs3MjksMTMgQEAgdGVzdF9mZHdfaGFuZGxl cihQR19GVU5DVElPTl9BUkdTKQogCVBHX1JFVFVSTl9OVUxMKCk7CiB9CiAKK1BHX0ZVTkNUSU9O X0lORk9fVjEodGVzdF9mZHdfY29ubmVjdGlvbik7CitEYXR1bQordGVzdF9mZHdfY29ubmVjdGlv bihQR19GVU5DVElPTl9BUkdTKQoreworCVBHX1JFVFVSTl9URVhUX1AoY3N0cmluZ190b190ZXh0 KCJkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QiKSk7Cit9CisKIFBHX0ZVTkNUSU9OX0lORk9f VjEoaXNfY2F0YWxvZ190ZXh0X3VuaXF1ZV9pbmRleF9vaWQpOwogRGF0dW0KIGlzX2NhdGFsb2df dGV4dF91bmlxdWVfaW5kZXhfb2lkKFBHX0ZVTkNUSU9OX0FSR1MpCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv c3Vic2NyaXB0aW9uLnNxbAppbmRleCBkOTNjYmMyNzlkOS4uOTkwZDc1ZjE3NDkgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbApAQCAtMiw2ICsyLDE3IEBACiAtLSBTVUJTQ1JJ UFRJT04KIC0tCiAKKy0tIGRpcmVjdG9yeSBwYXRocyBhbmQgZGxzdWZmaXggYXJlIHBhc3NlZCB0 byB1cyBpbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKK1xnZXRlbnYgbGliZGlyIFBHX0xJQkRJUgor XGdldGVudiBkbHN1ZmZpeCBQR19ETFNVRkZJWAorCitcc2V0IHJlZ3Jlc3NsaWIgOmxpYmRpciAn L3JlZ3Jlc3MnIDpkbHN1ZmZpeAorCitDUkVBVEUgRlVOQ1RJT04gdGVzdF9mZHdfY29ubmVjdGlv bihvaWQsIG9pZCwgaW50ZXJuYWwpCisgICAgUkVUVVJOUyB0ZXh0CisgICAgQVMgOidyZWdyZXNz bGliJywgJ3Rlc3RfZmR3X2Nvbm5lY3Rpb24nCisgICAgTEFOR1VBR0UgQzsKKwogQ1JFQVRFIFJP TEUgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciBMT0dJTiBTVVBFUlVTRVI7CiBDUkVBVEUgUk9M RSByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMjsKIENSRUFURSBST0xFIHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIzIElOIFJPTEUgcGdfY3JlYXRlX3N1YnNjcmlwdGlvbjsKQEAgLTg1LDYgKzk2 LDIxIEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNSBDT05ORUNUSU9OICdp X2RvbnRfZXhpc3Q9cGFyYW0nIFBVQkxJQ0FUSU9OCiAtLSBjb25uZWN0aW5nLCBzbyB0aGlzIGlz IHJlbGlhYmxlIGFuZCBzYWZlKQogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI1 IENPTk5FQ1RJT04gJ3BvcnQ9LTEnIFBVQkxJQ0FUSU9OIHRlc3RwdWI7CiAKK0NSRUFURSBGT1JF SUdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdzsKK0NSRUFURSBTRVJWRVIgdGVzdF9zZXJ2ZXIgRk9S RUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHc7CitDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIFNFUlZFUiB0ZXN0X3NlcnZlcjsKKworLS0gZmFpbCwgbmVl ZCBDT05ORUNUSU9OIGNsYXVzZQorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2 IFNFUlZFUiB0ZXN0X3NlcnZlciBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKHNsb3RfbmFtZSA9 IE5PTkUsIGNvbm5lY3QgPSBmYWxzZSk7CisKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHRl c3RfZmR3IENPTk5FQ1RJT04gdGVzdF9mZHdfY29ubmVjdGlvbjsKK0NSRUFURSBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViNiBTRVJWRVIgdGVzdF9zZXJ2ZXIgUFVCTElDQVRJT04gdGVzdHB1 YiBXSVRIIChzbG90X25hbWUgPSBOT05FLCBjb25uZWN0ID0gZmFsc2UpOworRFJPUCBTVUJTQ1JJ UFRJT04gcmVncmVzc190ZXN0c3ViNjsKKworRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgU0VSVkVSIHRlc3Rfc2VydmVyOworRFJPUCBTRVJWRVIgdGVzdF9z ZXJ2ZXI7CitEUk9QIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3OworCiAtLSBmYWlsIC0g aW52YWxpZCBjb25uZWN0aW9uIHN0cmluZyBkdXJpbmcgQUxURVIKIEFMVEVSIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZm9vYmFyJzsKIAotLSAKMi40My4wCgo= --=-DD3U81TlBG8nk0mS2oJR--