ports/187408: [PATCH] security/denyhosts: set USE_PYTHON=2
Corey Smith
corsmith at gmail.com
Sat Apr 12 02:10:01 UTC 2014
The following reply was made to PR ports/187408; it has been noted by GNATS.
From: Corey Smith <corsmith at gmail.com>
To: Shane Ambler <FreeBSD at shaneware.biz>
Cc: "bug-followup at FreeBSD.org" <bug-followup at freebsd.org>
Subject: Re: ports/187408: [PATCH] security/denyhosts: set USE_PYTHON=2
Date: Fri, 11 Apr 2014 22:00:55 -0400
--f46d0434394a214ba904f6ced211
Content-Type: multipart/alternative; boundary=f46d0434394a214ba604f6ced20f
--f46d0434394a214ba604f6ced20f
Content-Type: text/plain; charset=ISO-8859-1
Attached is the svn diff against ports revision 351057. There were three
additional changes required but it does actually run under python3.4 now.
This diff is against the current version of the port in HEAD and includes
both of our changes.
On Thu, Mar 13, 2014 at 3:01 AM, Shane Ambler <FreeBSD at shaneware.biz> wrote:
> No it isn't. I did see that repo and a couple of others that have made
> some changes since the last sourceforge release of denyhosts.
>
> I approached denyhosts from the ports tree using py3.3, making syntax
> changes that are acceptable in both py3.3 and py2.7. What I see in
> mruffalo/denyhosts is py2.7 code that uses 2to3 to support py3.x.
>
> So I have added support for py3.3 but have not incorporated any other
> external bug fixes that may also be worth adding.
>
> I get the impression that denyhosts is neglected and a little
> splintered. Probably time someone picks up the project and considers
> consolidating the various changes made in different places.
>
--f46d0434394a214ba604f6ced20f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Attached is the svn diff against ports revision 351057.=A0=
There were three additional changes required but it does actually run unde=
r python3.4 now.=A0 This diff is against the current version of the port in=
HEAD and includes both of our changes.<br>
</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Thu,=
Mar 13, 2014 at 3:01 AM, Shane Ambler <span dir=3D"ltr"><<a href=3D"mai=
lto:FreeBSD at shaneware.biz" target=3D"_blank">FreeBSD at shaneware.biz</a>><=
/span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">No it isn't. I did see that repo and a c=
ouple of others that have made<br>
some changes since the last sourceforge release of denyhosts.<br>
<br>
I approached denyhosts from the ports tree using py3.3, making syntax<br>
changes that are acceptable in both py3.3 and py2.7. What I see in<br>
mruffalo/denyhosts is py2.7 code that uses 2to3 to support py3.x.<br>
<br>
So I have added support for py3.3 but have not incorporated any other<br>
external bug fixes that may also be worth adding.<br>
<br>
I get the impression that denyhosts is neglected and a little<br>
splintered. Probably time someone picks up the project and considers<br>
consolidating the various changes made in different places.<br>
</blockquote></div><br></div>
--f46d0434394a214ba604f6ced20f--
--f46d0434394a214ba904f6ced211
Content-Type: text/x-patch; charset=US-ASCII; name="denyhosts-svn-351057.patch"
Content-Disposition: attachment; filename="denyhosts-svn-351057.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_htw998ak0
SW5kZXg6IE1ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIE1ha2VmaWxlCShyZXZpc2lvbiAzNTEwNTcp
CisrKyBNYWtlZmlsZQkod29ya2luZyBjb3B5KQpAQCAtMTMsNyArMTMsMTAgQEAKIAogTElDRU5T
RT0JR1BMdjIKIAorTElDRU5TRT0JR1BMdjIKKwogVVNFX1BZVEhPTj0JeWVzCitQWVRIT05fUFkz
S19QTElTVF9IQUNLPQl5ZXMKIFVTRV9QWURJU1RVVElMUz0JeWVzCiBQWURJU1RVVElMU19BVVRP
UExJU1Q9CXllcwogCkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5weQko
cmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fYWxsb3dlZGhvc3RzLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKy0tLSBEZW55SG9zdHMvYWxsb3dlZGhvc3Rz
LnB5Lm9yaWcJMjAxNC0wNC0xMSAyMTo0NDo0My43ODA0NDYzMzkgLTA0MDAKKysrKyBEZW55SG9z
dHMvYWxsb3dlZGhvc3RzLnB5CTIwMTQtMDQtMTEgMjE6NDU6MTIuMzg4NDQ3MTA0IC0wNDAwCitA
QCAtMSwxMSArMSwxMiBAQAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247
IAorIGltcG9ydCBvcworIGZyb20gc29ja2V0IGltcG9ydCBnZXRmcWRuLCBnZXRob3N0YnluYW1l
CisgaW1wb3J0IGxvZ2dpbmcKKyAKKyAKKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgQUxMT1dFRF9I
T1NUUywgQUxMT1dFRF9XQVJORURfSE9TVFMKKy1mcm9tIHJlZ2V4IGltcG9ydCBBTExPV0VEX1JF
R0VYCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRz
IGltcG9ydCBBTExPV0VEX0hPU1RTLCBBTExPV0VEX1dBUk5FRF9IT1NUUworK2Zyb20gRGVueUhv
c3RzLnJlZ2V4IGltcG9ydCBBTExPV0VEX1JFR0VYCisrZnJvbSBEZW55SG9zdHMudXRpbCBpbXBv
cnQgaXNfdHJ1ZQorIAorIGRlYnVnID0gbG9nZ2luZy5nZXRMb2dnZXIoIkFsbG93ZWRIb3N0cyIp
LmRlYnVnCisgCitAQCAtMjQsMTggKzI1LDE4IEBACisgICAgICAgICBkZWJ1ZygiZG9uZSBpbml0
aWFsaXppbmcgQWxsb3dlZEhvc3RzIikKKyAKKyAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBp
cF9hZGRyKToKKy0gICAgICAgIGlmIHNlbGYuYWxsb3dlZF9ob3N0cy5oYXNfa2V5KGlwX2FkZHIp
OiByZXR1cm4gMQorKyAgICAgICAgaWYgaXBfYWRkciBpbiBzZWxmLmFsbG93ZWRfaG9zdHM6IHJl
dHVybiAxCisgICAgICAgICBlbHNlOiByZXR1cm4gMAorIAorICAgICBkZWYgZHVtcChzZWxmKToK
Ky0gICAgICAgIHByaW50ICJEdW1waW5nIEFsbG93ZWRIb3N0cyIKKy0gICAgICAgIHByaW50IHNl
bGYuYWxsb3dlZF9ob3N0cy5rZXlzKCkKKysgICAgICAgIHByaW50KCJEdW1waW5nIEFsbG93ZWRI
b3N0cyIpCisrICAgICAgICBwcmludChzZWxmLmFsbG93ZWRfaG9zdHMua2V5cygpKQorIAorICAg
ICAgICAgCisgICAgIGRlZiBsb2FkX2hvc3RzKHNlbGYpOgorICAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgIGZwID0gb3BlbihzZWxmLmFsbG93ZWRfcGF0aCwgInIiKQorLSAgICAgICAgZXhjZXB0
IEV4Y2VwdGlvbiwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg
ICAgICBkZWJ1ZygiQ291bGQgbm90IG9wZW4gJXMgLSAlcyIsIHNlbGYuYWxsb3dlZF9wYXRoLCBz
dHIoZSkpCisgICAgICAgICAgICAgcmV0dXJuCisgCitAQCAtMTE3LDggKzExOCw4IEBACisgICAg
ICAgICAgICAgZm9yIGhvc3QgaW4gc2VsZi5uZXdfd2FybmVkX2hvc3RzOgorICAgICAgICAgICAg
ICAgICBmcC53cml0ZSgiJXNcbiIgJSBob3N0KQorICAgICAgICAgICAgIGZwLmNsb3NlKCkKKy0g
ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAg
ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50KGUpCisgCisgCisg
ICAgIGRlZiBjbGVhcl93YXJuZWRfaG9zdHMoc2VsZik6CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBm
aWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5weQpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBm
aWxlcy9wYXRjaC1EZW55SG9zdHNfX2NvdW50ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0
Y2gtRGVueUhvc3RzX19jb3VudGVyLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVu
eUhvc3RzX19jb3VudGVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKKy0tLSAu
L0RlbnlIb3N0cy9jb3VudGVyLnB5Lm9yaWcJMjAwNi0wMi0wOSAxMTo0NzoyNC4wMDAwMDAwMDAg
KzEwMzAKKysrKyAuL0RlbnlIb3N0cy9jb3VudGVyLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMDY4
MTg3MTkwICsxMDMwCitAQCAtMTQsNiArMTQsOSBAQAorIAorICAgICBkZWYgX19zdHJfXyhzZWxm
KToKKyAgICAgICAgIHJldHVybiAiJWQ6JXMiICUgKHNlbGYuX19jb3VudCwgc2VsZi5fX2RhdGUp
CisrICAgICAgICAKKysgICAgZGVmIF9faW50X18oc2VsZik6CisrICAgICAgICByZXR1cm4gc2Vs
Zi5fX2NvdW50CisgCisgICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIHJldHVybiAi
Q291bnRSZWNvcmQgPCVkIC0gJXM+IiAlIChzZWxmLl9fY291bnQsIHNlbGYuX19kYXRlKQorQEAg
LTMzLDcgKzM2LDcgQEAKKyAgICAgICAgIHNlbGYuX19jb3VudCA9IDAKKyAgICAgICAgIAorICAg
ICBkZWYgYWdlX2NvdW50KHNlbGYsIGFnZSk6CistICAgICAgICBjdXRvZmYgPSBsb25nKHRpbWUu
dGltZSgpKSAtIGFnZQorKyAgICAgICAgY3V0b2ZmID0gdGltZS50aW1lKCkgLSBhZ2UKKyAgICAg
ICAgIGVwb2NoID0gdGltZS5ta3RpbWUodGltZS5zdHJwdGltZShzZWxmLl9fZGF0ZSkpCisgICAg
ICAgICAjZGVidWcoImN1dG9mZiA6ICVkIiwgY3V0b2ZmKQorICAgICAgICAgI2RlYnVnKCJlcG9j
aCAgOiAlZCIsIGVwb2NoKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv
c3RzX19jb3VudGVyLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCww
ICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVv
bC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19f
ZGFlbW9uLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGFlbW9uLnB5
CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19kYWVtb24ucHkJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorLS0tIC4vRGVueUhvc3RzL2RhZW1vbi5weS5vcmln
CTIwMDUtMTItMTcgMDk6MTU6MDAuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvZGFl
bW9uLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMTEwMTg1ODkwICsxMDMwCitAQCAtMzcsNyArMzcs
NyBAQAorICAgICAgICMgdGhlIGNoaWxkIGdldHMgYSBuZXcgUElELCBtYWtpbmcgaXQgaW1wb3Nz
aWJsZSBmb3IgaXRzIFBJRCB0byBlcXVhbCBpdHMKKyAgICAgICAjIFBHSUQuCisgICAgICAgcGlk
ID0gb3MuZm9yaygpCistICAgZXhjZXB0IE9TRXJyb3IsIGU6CisrICAgZXhjZXB0IE9TRXJyb3Ig
YXMgZToKKyAgICAgICByZXR1cm4oKGUuZXJybm8sIGUuc3RyZXJyb3IpKSAgICAgIyBFUlJPUiAo
cmV0dXJuIGEgdHVwbGUpCisgCisgICAgaWYgKHBpZCA9PSAwKTogICAgICAgIyBUaGUgZmlyc3Qg
Y2hpbGQuCitAQCAtNjIsNyArNjIsNyBAQAorICAgICAgICAgICMgZm9yayBndWFyYW50ZWVzIHRo
YXQgdGhlIGNoaWxkIGlzIG5vIGxvbmdlciBhIHNlc3Npb24gbGVhZGVyLCB0aHVzCisgICAgICAg
ICAgIyBwcmV2ZW50aW5nIHRoZSBkYWVtb24gZnJvbSBldmVyIGFjcXVpcmluZyBhIGNvbnRyb2xs
aW5nIHRlcm1pbmFsLgorICAgICAgICAgIHBpZCA9IG9zLmZvcmsoKSAgICAgICAgIyBGb3JrIGEg
c2Vjb25kIGNoaWxkLgorLSAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorKyAgICAgIGV4Y2VwdCBP
U0Vycm9yIGFzIGU6CisgICAgICAgICAgcmV0dXJuKChlLmVycm5vLCBlLnN0cmVycm9yKSkgICMg
RVJST1IgKHJldHVybiBhIHR1cGxlKQorIAorICAgICAgIGlmIChwaWQgPT0gMCk6ICAgICAgIyBU
aGUgc2Vjb25kIGNoaWxkLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv
c3RzX19kYWVtb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsx
ICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZi
c2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19k
ZW55X2hvc3RzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9o
b3N0cy5weQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9ob3N0
cy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyNyBAQAorLS0tIERlbnlIb3N0cy9kZW55
X2hvc3RzLnB5Lm9yaWcJMjAxNC0wNC0xMSAyMTo0NTowNy44Mjc0NDgwNDkgLTA0MDAKKysrKyBE
ZW55SG9zdHMvZGVueV9ob3N0cy5weQkyMDE0LTA0LTExIDIxOjQ1OjIyLjIxMzQ0NDEzNSAtMDQw
MAorQEAgLTEsMyArMSw0IEBACisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlv
bgorIGltcG9ydCBvcywgc3lzCisgaW1wb3J0IHN0cmluZworIGltcG9ydCB0aW1lCitAQCAtMTYs
MjMgKzE3LDIzIEBACisgZnJvbSBzdGF0IGltcG9ydCBTVF9TSVpFLCBTVF9JTk8KKyBpbXBvcnQg
cmUKKyAKKy1mcm9tIHV0aWwgaW1wb3J0IGRpZSwgaXNfdHJ1ZSwgaXNfZmFsc2UsIHNlbmRfZW1h
aWwKKy1mcm9tIGFsbG93ZWRob3N0cyBpbXBvcnQgQWxsb3dlZEhvc3RzCistZnJvbSBsb2dpbmF0
dGVtcHQgaW1wb3J0IExvZ2luQXR0ZW1wdAorLWZyb20gbG9ja2ZpbGUgaW1wb3J0IExvY2tGaWxl
CistZnJvbSBmaWxldHJhY2tlciBpbXBvcnQgRmlsZVRyYWNrZXIKKy1mcm9tIHByZWZzIGltcG9y
dCBQcmVmcworLWZyb20gcmVwb3J0IGltcG9ydCBSZXBvcnQKKy1mcm9tIHZlcnNpb24gaW1wb3J0
IFZFUlNJT04KKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgKgorLWZyb20gcmVnZXggaW1wb3J0ICoK
Ky1mcm9tIGRhZW1vbiBpbXBvcnQgY3JlYXRlRGFlbW9uCistZnJvbSBkZW55ZmlsZXV0aWwgaW1w
b3J0IFB1cmdlCistZnJvbSB1dGlsIGltcG9ydCBwYXJzZV9ob3N0CistZnJvbSB2ZXJzaW9uIGlt
cG9ydCBWRVJTSU9OCistZnJvbSBzeW5jIGltcG9ydCBTeW5jCistZnJvbSByZXN0cmljdGVkIGlt
cG9ydCBSZXN0cmljdGVkCistaW1wb3J0IHBsdWdpbgorK2Zyb20gRGVueUhvc3RzLnV0aWwgaW1w
b3J0IGRpZSwgaXNfdHJ1ZSwgaXNfZmFsc2UsIHNlbmRfZW1haWwKKytmcm9tIERlbnlIb3N0cy5h
bGxvd2VkaG9zdHMgaW1wb3J0IEFsbG93ZWRIb3N0cworK2Zyb20gRGVueUhvc3RzLmxvZ2luYXR0
ZW1wdCBpbXBvcnQgTG9naW5BdHRlbXB0CisrZnJvbSBEZW55SG9zdHMubG9ja2ZpbGUgaW1wb3J0
IExvY2tGaWxlCisrZnJvbSBEZW55SG9zdHMuZmlsZXRyYWNrZXIgaW1wb3J0IEZpbGVUcmFja2Vy
CisrZnJvbSBEZW55SG9zdHMucHJlZnMgaW1wb3J0IFByZWZzCisrZnJvbSBEZW55SG9zdHMucmVw
b3J0IGltcG9ydCBSZXBvcnQKKytmcm9tIERlbnlIb3N0cy52ZXJzaW9uIGltcG9ydCBWRVJTSU9O
CisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCAqCisrZnJvbSBEZW55SG9zdHMucmVn
ZXggaW1wb3J0ICoKKytmcm9tIERlbnlIb3N0cy5kYWVtb24gaW1wb3J0IGNyZWF0ZURhZW1vbgor
K2Zyb20gRGVueUhvc3RzLmRlbnlmaWxldXRpbCBpbXBvcnQgUHVyZ2UKKytmcm9tIERlbnlIb3N0
cy51dGlsIGltcG9ydCBwYXJzZV9ob3N0CisrZnJvbSBEZW55SG9zdHMudmVyc2lvbiBpbXBvcnQg
VkVSU0lPTgorK2Zyb20gRGVueUhvc3RzLnN5bmMgaW1wb3J0IFN5bmMKKytmcm9tIERlbnlIb3N0
cy5yZXN0cmljdGVkIGltcG9ydCBSZXN0cmljdGVkCisraW1wb3J0IERlbnlIb3N0cy5wbHVnaW4K
KyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJkZW55aG9zdHMiKS5kZWJ1ZworIGluZm8g
PSBsb2dnaW5nLmdldExvZ2dlcigiZGVueWhvc3RzIikuaW5mbworQEAgLTYyLDcgKzYzLDcgQEAK
KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBzZWxmLmZpbGVfdHJhY2tlciA9IEZpbGVUcmFj
a2VyKHNlbGYuX19wcmVmcy5nZXQoJ1dPUktfRElSJyksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2dmaWxlKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBzZWxm
Ll9fbG9ja19maWxlLnJlbW92ZSgpCisgICAgICAgICAgICAgZGllKCJDYW4ndCByZWFkOiAlcyIg
JSBsb2dmaWxlLCBlKQorIAorQEAgLTIzOSw3ICsyNDAsNyBAQAorICAgICAgICAgICAgICAgICB0
cnk6CisgICAgICAgICAgICAgICAgICAgICBwdXJnZSA9IFB1cmdlKHNlbGYuX19wcmVmcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyZ2VfdGltZSkKKy0gICAgICAgICAg
ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2Vw
dGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5nZXRMb2dnZXIoKS5leGNl
cHRpb24oZSkKKyAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgIHNl
bGYucHVyZ2VfY291bnRlciA9IDAKK0BAIC0yNjEsNyArMjYyLDcgQEAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5nZXRfZGVuaWVkX2hvc3RzKCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi51cGRhdGVfaG9zdHNfZGVueShuZXdfaG9zdHMpCisgICAgICAgICAg
ICAgICAgICAgICBzeW5jLnhtbHJwY19kaXNjb25uZWN0KCkKKy0gICAgICAgICAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBl
OgorICAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5nZXRMb2dnZXIoKS5leGNlcHRpb24oZSkK
KyAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgIHNlbGYuc3luY19j
b3VudGVyID0gMAorQEAgLTMwMCw3ICszMDEsNyBAQAorIAorICAgICAgICAgI2luZm8oImtleXM6
ICVzIiwgc3RyKCBzZWxmLl9fZGVuaWVkX2hvc3RzLmtleXMoKSkpCisgICAgICAgICBuZXdfaG9z
dHMgPSBbaG9zdCBmb3IgaG9zdCBpbiBkZW55X2hvc3RzCistICAgICAgICAgICAgICAgICAgICAg
aWYgbm90IHNlbGYuX19kZW5pZWRfaG9zdHMuaGFzX2tleShob3N0KQorKyAgICAgICAgICAgICAg
ICAgICAgIGlmIGhvc3Qgbm90IGluIHNlbGYuX19kZW5pZWRfaG9zdHMKKyAgICAgICAgICAgICAg
ICAgICAgICBhbmQgaG9zdCBub3QgaW4gc2VsZi5fX2FsbG93ZWRfaG9zdHNdCisgICAgICAgICAK
KyAgICAgICAgIGRlYnVnKCJuZXcgaG9zdHM6ICVzIiwgc3RyKG5ld19ob3N0cykpCitAQCAtMzA4
LDEwICszMDksMTAgQEAKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2Vs
Zi5fX3ByZWZzLmdldCgnSE9TVFNfREVOWScpLCAiYSIpCisgICAgICAgICAgICAgc3RhdHVzID0g
MQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0gICAgICAgICAgICBwcmludCBlCist
ICAgICAgICAgICAgcHJpbnQgIlRoZXNlIGhvc3RzIHNob3VsZCBiZSBtYW51YWxseSBhZGRlZCB0
byIsCistICAgICAgICAgICAgcHJpbnQgc2VsZi5fX3ByZWZzLmdldCgnSE9TVFNfREVOWScpCisr
ICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisrICAgICAgICAgICAgcHJpbnQoZSkKKysg
ICAgICAgICAgICBwcmludCgiVGhlc2UgaG9zdHMgc2hvdWxkIGJlIG1hbnVhbGx5IGFkZGVkIHRv
IikKKysgICAgICAgICAgICBwcmludChzZWxmLl9fcHJlZnMuZ2V0KCdIT1NUU19ERU5ZJykpCisg
ICAgICAgICAgICAgZnAgPSBzeXMuc3Rkb3V0CisgICAgICAgICAgICAgc3RhdHVzID0gMAorIAor
QEAgLTM1MSwxMiArMzUyLDEyIEBACisgICAgICAgICAgICAgICAgIGZwID0gZ3ppcC5vcGVuKGxv
Z2ZpbGUpCisgICAgICAgICAgICAgZWxpZiBsb2dmaWxlLmVuZHN3aXRoKCIuYnoyIik6CisgICAg
ICAgICAgICAgICAgIGlmIEhBU19CWjI6IGZwID0gYnoyLkJaMkZpbGUobG9nZmlsZSwgInIiKQor
LSAgICAgICAgICAgICAgICBlbHNlOiAgICAgICByYWlzZSBFeGNlcHRpb24sICJDYW4gbm90IG9w
ZW4gYnppcDIgZmlsZSAobWlzc2luZyBiejIgbW9kdWxlKSIKKysgICAgICAgICAgICAgICAgZWxz
ZTogICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDYW4gbm90IG9wZW4gYnppcDIgZmlsZSAobWlzc2lu
ZyBiejIgbW9kdWxlKSIpCisgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgZnAg
PSBvcGVuKGxvZ2ZpbGUsICJyIikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CistICAg
ICAgICAgICAgcHJpbnQgIkNvdWxkIG5vdCBvcGVuIGxvZyBmaWxlOiAlcyIgJSBsb2dmaWxlCist
ICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAg
ICAgICAgICAgIHByaW50KCJDb3VsZCBub3Qgb3BlbiBsb2cgZmlsZTogJXMiICUgbG9nZmlsZSkK
KysgICAgICAgICAgICBwcmludChlKQorICAgICAgICAgICAgIHJldHVybiAtMQorIAorICAgICAg
ICAgdHJ5OgorQEAgLTQ3NCw4ICs0NzUsOCBAQAorICAgICAgICAgICAgIGZvciBob3N0IGluIGhv
c3RzOgorICAgICAgICAgICAgICAgICBmcC53cml0ZSgiJXNcbiIgJSBob3N0KQorICAgICAgICAg
ICAgIGZwLmNsb3NlKCkKKy0gICAgICAgICAgICBvcy5jaG1vZChmaWxlbmFtZSwgMDY0NCkKKy0g
ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAgICAgICAgICAgb3MuY2htb2QoZmlsZW5h
bWUsIDBvNjQ0KQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAg
IGVycm9yKHN0cihlKSkKKyAKKyAgICAgZGVmIGdldF9yZWdleChzZWxmLCBuYW1lLCBkZWZhdWx0
KToKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9ob3N0
cy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQv
cGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdv
cmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRp
bC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRpbC5w
eQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueWZpbGV1dGlsLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTA0IEBACistLS0gLi9EZW55SG9zdHMvZGVueWZp
bGV1dGlsLnB5Lm9yaWcJMjAwNi0wNC0yMCAxMzoxNDo1OC4wMDAwMDAwMDAgKzA5MzAKKysrKyAu
L0RlbnlIb3N0cy9kZW55ZmlsZXV0aWwucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4xMzMxODY0MjUg
KzEwMzAKK0BAIC0xLDEzICsxLDE0IEBACisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9m
dW5jdGlvbjsgCisgaW1wb3J0IG9zCisgaW1wb3J0IHNodXRpbAorIGltcG9ydCB0aW1lCisgaW1w
b3J0IGxvZ2dpbmcKKyAKKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgREVOWV9ERUxJTUlURVIsIEVO
VFJZX0RFTElNSVRFUgorLWZyb20gbG9naW5hdHRlbXB0IGltcG9ydCBBYnVzaXZlSG9zdHMKKy1m
cm9tIHV0aWwgaW1wb3J0IHBhcnNlX2hvc3QKKy1pbXBvcnQgcGx1Z2luCistZnJvbSBwdXJnZWNv
dW50ZXIgaW1wb3J0IFB1cmdlQ291bnRlcgorK2Zyb20gRGVueUhvc3RzLmNvbnN0YW50cyBpbXBv
cnQgREVOWV9ERUxJTUlURVIsIEVOVFJZX0RFTElNSVRFUgorK2Zyb20gRGVueUhvc3RzLmxvZ2lu
YXR0ZW1wdCBpbXBvcnQgQWJ1c2l2ZUhvc3RzCisrZnJvbSBEZW55SG9zdHMudXRpbCBpbXBvcnQg
cGFyc2VfaG9zdAorK2ltcG9ydCBEZW55SG9zdHMucGx1Z2luCisrZnJvbSBEZW55SG9zdHMucHVy
Z2Vjb3VudGVyIGltcG9ydCBQdXJnZUNvdW50ZXIKKyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9n
Z2VyKCJkZW55ZmlsZXV0aWwiKS5kZWJ1ZworIGluZm8gPSBsb2dnaW5nLmdldExvZ2dlcigiZGVu
eWZpbGV1dGlsIikuaW5mbworQEAgLTIyLDE1ICsyMywxNSBAQAorICAgICBkZWYgYmFja3VwKHNl
bGYpOgorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHNodXRpbC5jb3B5KHNlbGYuZGVueV9m
aWxlLCBzZWxmLmJhY2t1cF9maWxlKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysg
ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICB3YXJuKHN0cihlKSkK
KyAKKyAgICAgZGVmIHJlcGxhY2Uoc2VsZik6CisgICAgICAgICAjIG92ZXJ3cml0ZXMgZGVueV9m
aWxlIHdpdGggY29udGVudHMgb2YgdGVtcF9maWxlCisgICAgICAgICB0cnk6CisgICAgICAgICAg
ICAgb3MucmVuYW1lKHNlbGYudGVtcF9maWxlLCBzZWxmLmRlbnlfZmlsZSkKKy0gICAgICAgIGV4
Y2VwdCBFeGNlcHRpb24sIGU6CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0
IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50KGUpCisgCisgICAgIGRlZiByZW1v
dmVfdGVtcChzZWxmKToKKyAgICAgICAgIHRyeToKK0BAIC0zOSw3ICs0MCw3IEBACisgICAgICAg
ICAgICAgcGFzcworIAorICAgICBkZWYgY3JlYXRlX3RlbXAoc2VsZiwgZGF0YV9saXN0KToKKy0g
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbiwgIk5vdCBJbWxlbWVudGVkIgorKyAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKCJOb3QgSW1sZW1lbnRlZCIpCisgCisgCisgICAgIGRlZiBnZXRfZGF0YShzZWxm
KToKK0BAIC02NCw3ICs2NSw3IEBACisgICAgIGRlZiBjcmVhdGVfdGVtcChzZWxmLCBkYXRhKToK
KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2VsZi50ZW1wX2ZpbGUsICJ3
IikKKy0gICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMDY0NCkKKysgICAgICAg
ICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMG82NDQpCisgICAgICAgICAgICAgZm9yIGxp
bmUgaW4gZGF0YToKKyAgICAgICAgICAgICAgICAgaWYgbGluZS5maW5kKCIjIikgIT0gLTE6Cisg
ICAgICAgICAgICAgICAgICAgICBmcC53cml0ZShsaW5lKQorQEAgLTgyLDcgKzgzLDcgQEAKKyAg
ICAgICAgICAgICAgICAgZnAud3JpdGUoIiVzXG4iICUgbGluZSkKKyAKKyAgICAgICAgICAgICBm
cC5jbG9zZSgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0
IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAgICAgIAorIAorQEAg
LTEyMSw3ICsxMjIsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVudHJ5KSkKKyAgICAgICAgICAgICAgICAgZnAud3JpdGUoIiVzXG4iICUgZW50cnkpCisgICAg
ICAgICAgICAgZnAuY2xvc2UoKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICByYWlzZSBlCisgCisgIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgICAgICAKK0BAIC0xNjUsNyArMTY2LDcgQEAKKyAgICAg
ICAgICAgICAKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2VsZi50ZW1w
X2ZpbGUsICJ3IikKKy0gICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMDY0NCkK
KysgICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMG82NDQpCisgICAgICAgICAg
ICAgb2Zmc2V0ID0gMAorICAgICAgICAgICAgIG51bV9saW5lcyA9IGxlbihkYXRhKQorICAgICAg
ICAgICAgIHdoaWxlIG9mZnNldCA8IG51bV9saW5lczoKK0BAIC0xODAsNyArMTgxLDcgQEAKKyAg
ICAgICAgICAgICAgICAgICAgICAgICByZXN0ID0gbGluZS5sc3RyaXAoREVOWV9ERUxJTUlURVIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wLCBob3N0X3ZlcmlmeSA9IHJlc3Qu
c3BsaXQoRU5UUllfREVMSU1JVEVSKQorICAgICAgICAgICAgICAgICAgICAgICAgIHRtID0gdGlt
ZS5zdHJwdGltZSh0aW1lc3RhbXApCistICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0
aW9uLCBlOgorKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAg
ICAgICAgICAgICAgICAgICAgICAgIHdhcm4oIlBhcnNlIGVycm9yIC0tIElnbm9ybmluZyB0aW1l
c3RhbXA6ICVzIGZvcjogJXMiLCB0aW1lc3RhbXAsIGxpbmUpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgd2FybigiZXhjZXB0aW9uOiAlcyIsIHN0cihlKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAjIGlnbm9yaW5nIGJhZCB0aW1lIHN0cmluZworQEAgLTIxNCw3ICsyMTUsNyBAQAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlICAgICAgICAgICAgICAgICAgICAKKyAKKyAg
ICAgICAgICAgICBmcC5jbG9zZSgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAg
ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAg
ICAgIHJldHVybiBwdXJnZWRfaG9zdHMKKyAgICAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBmaWxl
cy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRpbC5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNk
Om5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAj
IwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxl
cy9wYXRjaC1EZW55SG9zdHNfX2ZpbGV0cmFja2VyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3Bh
dGNoLURlbnlIb3N0c19fZmlsZXRyYWNrZXIucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRj
aC1EZW55SG9zdHNfX2ZpbGV0cmFja2VyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjIg
QEAKKy0tLSAuL0RlbnlIb3N0cy9maWxldHJhY2tlci5weS5vcmlnCTIwMDUtMTItMTcgMDk6MTU6
MDEuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvZmlsZXRyYWNrZXIucHkJMjAxNC0w
My0xMSAwMDo1ODowOC4xMzUxODYyNzIgKzEwMzAKK0BAIC0xLDYgKzEsNyBAQAorK2Zyb20gX19m
dXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAorIGltcG9ydCBvcworIGltcG9ydCBsb2dn
aW5nCistZnJvbSBjb25zdGFudHMgaW1wb3J0IFNFQ1VSRV9MT0dfT0ZGU0VUCisrZnJvbSBEZW55
SG9zdHMuY29uc3RhbnRzIGltcG9ydCBTRUNVUkVfTE9HX09GRlNFVAorIAorIGRlYnVnID0gbG9n
Z2luZy5nZXRMb2dnZXIoImZpbGV0cmFja2VyIikuZGVidWcKKyAKK0BAIC0xNSw3ICsxNiw3IEBA
CisgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYud29ya19kaXIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNFQ1VSRV9MT0dfT0ZGU0VUKQorICAgICAgICAgZmlyc3RfbGlu
ZSA9ICIiCistICAgICAgICBvZmZzZXQgPSAwTAorKyAgICAgICAgb2Zmc2V0ID0gMAorICAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgIGZwID0gb3BlbihwYXRoLCAiciIpCisgICAgICAgICAgICAg
Zmlyc3RfbGluZSA9IGZwLnJlYWRsaW5lKClbOi0xXQorQEAgLTMyLDEzICszMywxMyBAQAorIAor
ICAgICBkZWYgX19nZXRfY3VycmVudF9vZmZzZXQoc2VsZik6CisgICAgICAgICBmaXJzdF9saW5l
ID0gIiIKKy0gICAgICAgIG9mZnNldCA9IDBMCisrICAgICAgICBvZmZzZXQgPSAwCisgICAgICAg
ICB0cnk6CisgICAgICAgICAgICAgZnAgPSBvcGVuKHNlbGYubG9nZmlsZSwgInIiKQorICAgICAg
ICAgICAgIGZpcnN0X2xpbmUgPSBmcC5yZWFkbGluZSgpWzotMV0KKyAgICAgICAgICAgICBmcC5z
ZWVrKDAsIDIpCisgICAgICAgICAgICAgb2Zmc2V0ID0gZnAudGVsbCgpCistICAgICAgICBleGNl
cHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAg
ICAgICAgIHJhaXNlIGUKKyAKKyAgICAgICAgIGRlYnVnKCJfX2dldF9jdXJyZW50X29mZnNldCgp
OiIpCitAQCAtNTIsNyArNTMsNyBAQAorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIGZwID0g
b3BlbihzZWxmLmxvZ2ZpbGUsICJyIikKKyAgICAgICAgICAgICBmaXJzdF9saW5lID0gZnAucmVh
ZGxpbmUoKVs6LTFdCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAgICAgIAorICAg
ICAgICAgc2VsZi5fX2ZpcnN0X2xpbmUgPSBmaXJzdF9saW5lCitAQCAtNjQsNyArNjUsNyBAQAor
IAorICAgICAgICAgaWYgbGFzdF9saW5lICE9IHNlbGYuX19maXJzdF9saW5lOgorICAgICAgICAg
ICAgICMgbG9nIGZpbGUgd2FzIHJvdGF0ZWQsIHN0YXJ0IGZyb20gYmVnaW5uaW5nCistICAgICAg
ICAgICAgb2Zmc2V0ID0gMEwKKysgICAgICAgICAgICBvZmZzZXQgPSAwCisgICAgICAgICBlbGlm
IHNlbGYuX19vZmZzZXQgPiBsYXN0X29mZnNldDoKKyAgICAgICAgICAgICAjIG5ldyBsaW5lcyBl
eGlzdCBpbiBsb2cgZmlsZQorICAgICAgICAgICAgIG9mZnNldCA9IGxhc3Rfb2Zmc2V0CitAQCAt
ODcsNiArODgsNiBAQAorICAgICAgICAgICAgIGZwLndyaXRlKCIlbGRcbiIgJSBvZmZzZXQpCisg
ICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgZXhjZXB0OgorLSAgICAgICAgICAgIHBy
aW50ICJDb3VsZCBub3Qgc2F2ZSBsb2dmaWxlIG9mZnNldCB0bzogJXMiICUgcGF0aAorKyAgICAg
ICAgICAgIHByaW50KCJDb3VsZCBub3Qgc2F2ZSBsb2dmaWxlIG9mZnNldCB0bzogJXMiICUgcGF0
aCkKKyAKKyAgICAgICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv
c3RzX19maWxldHJhY2tlci5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
LDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBz
dm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9z
dHNfX2xvY2tmaWxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fbG9j
a2ZpbGUucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2xvY2tmaWxl
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy0tLSBEZW55SG9zdHMvbG9ja2Zp
bGUucHkub3JpZwkyMDE0LTA0LTExIDIxOjQ0OjU3LjY5OTQ1Mjk5NCAtMDQwMAorKysrIERlbnlI
b3N0cy9sb2NrZmlsZS5weQkyMDE0LTA0LTExIDIxOjQ1OjE2Ljg4MzQ0NjUzMyAtMDQwMAorQEAg
LTEsNSArMSw1IEBACisgaW1wb3J0IG9zCistZnJvbSB1dGlsIGltcG9ydCBkaWUKKytmcm9tIERl
bnlIb3N0cy51dGlsIGltcG9ydCBkaWUKKyAKKyBjbGFzcyBMb2NrRmlsZToKKyAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGxvY2twYXRoKToKK0BAIC0yOCwxMyArMjgsMTMgQEAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcy5PX1RSVU5DIHwgICMgdHJ1bmNhdGUgaXQsIGlmIGl0IGV4
aXN0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLk9fV1JPTkxZIHwgIyB3cml0
ZS1vbmx5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuT19FWENMLCAgICAjIGV4
Y2x1c2l2ZSBhY2Nlc3MKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwNjQ0KSAgICAg
ICAgICMgZmlsZSBtb2RlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMG82NDQpICAg
ICAgICAgIyBmaWxlIG1vZGUKKyAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAg
ICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgcGlkID0gc2VsZi5nZXRf
cGlkKCkKKyAgICAgICAgICAgICBkaWUoIkRlbnlIb3N0cyBjb3VsZCBub3Qgb2J0YWluIGxvY2sg
KHBpZDogJXMpIiAlIHBpZCwgZSkKKyAgICAgICAgICAgICAKKy0gICAgICAgIG9zLndyaXRlKHNl
bGYuZmQsICIlc1xuIiAlIG9zLmdldHBpZCgpKQorKyAgICAgICAgb3Mud3JpdGUoc2VsZi5mZCwg
Ynl0ZXMoIiVzXG4iICUgb3MuZ2V0cGlkKCksJ2FzY2lpJykpCisgICAgICAgICBvcy5mc3luYyhz
ZWxmLmZkKQorIAorIAorQEAgLTQ3LDYgKzQ3LDYgQEAKKyAgICAgICAgIHNlbGYuZmQgPSBOb25l
CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgb3MudW5saW5rKHNlbGYubG9ja3BhdGgpCist
ICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh
cyBlOgorICAgICAgICAgICAgIGlmIGRpZV86CisgICAgICAgICAgICAgICAgIGRpZSgiRXJyb3Ig
ZGVsZXRpbmcgRGVueUhvc3RzIGxvY2sgZmlsZTogJXMiICUgc2VsZi5sb2NrcGF0aCwgZSkKClBy
b3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fbG9ja2ZpbGUucHkKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAt
MCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19sb2dpbmF0dGVtcHQucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19sb2dpbmF0dGVtcHQucHkJKHJldmlz
aW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2xvZ2luYXR0ZW1wdC5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDcxIEBACistLS0gLi9EZW55SG9zdHMvbG9naW5hdHRlbXB0LnB5
Lm9yaWcJMjAwNi0wNS0yMSAxMDoyODo1Ni4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL0RlbnlIb3N0
cy9sb2dpbmF0dGVtcHQucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4xNjYxODYwNDUgKzEwMzAKK0BA
IC0xLDYgKzEsNyBAQAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAor
IGltcG9ydCBvcworIGltcG9ydCBsb2dnaW5nCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisr
ZnJvbSBEZW55SG9zdHMudXRpbCBpbXBvcnQgaXNfdHJ1ZQorIAorIHRyeToKKyAgICAgc2V0ID0g
c2V0CitAQCAtOCw4ICs5LDggQEAKKyAgICAgZnJvbSBzZXRzIGltcG9ydCBTZXQKKyAgICAgc2V0
ID0gU2V0CisgCistZnJvbSBjb3VudGVyIGltcG9ydCBDb3VudGVyLCBDb3VudGVyUmVjb3JkCist
ZnJvbSBjb25zdGFudHMgaW1wb3J0ICoKKytmcm9tIERlbnlIb3N0cy5jb3VudGVyIGltcG9ydCBD
b3VudGVyLCBDb3VudGVyUmVjb3JkCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCAq
CisgCisgZGVidWcgPSBsb2dnaW5nLmdldExvZ2dlcigibG9naW5hdHRlbXB0IikuZGVidWcKKyBp
bmZvID0gbG9nZ2luZy5nZXRMb2dnZXIoImxvZ2luYXR0ZW1wdCIpLmluZm8KK0BAIC03NSw3ICs3
Niw3IEBACisgICAgICAgICAgICAgc2VsZi5fX2FidXNpdmVfaG9zdHNfaW52YWxpZFtob3N0XS5y
ZXNldF9jb3VudCgpCisgCisgCistICAgICAgICBpZiBzdWNjZXNzIGFuZCBzZWxmLl9fYWJ1c2l2
ZV9ob3N0c19pbnZhbGlkLmdldChob3N0LCAwKSA+IHNlbGYuX19kZW55X3RocmVzaG9sZF9pbnZh
bGlkOgorKyAgICAgICAgaWYgc3VjY2VzcyBhbmQgaW50KHNlbGYuX19hYnVzaXZlX2hvc3RzX2lu
dmFsaWQuZ2V0KGhvc3QsIDApKSA+IHNlbGYuX19kZW55X3RocmVzaG9sZF9pbnZhbGlkOgorICAg
ICAgICAgICAgIG51bV9mYWlsdXJlcyA9IHNlbGYuX192YWxpZF91c2Vyc19hbmRfaG9zdHMuZ2V0
KHVzZXJfaG9zdF9rZXksIDApCisgICAgICAgICAgICAgc2VsZi5fX3N1c3BpY2lvdXNfbG9naW5z
W3VzZXJfaG9zdF9rZXldICs9IDEKKyAgICAgICAgICAgICBpZiBzZWxmLl9fc3VzcGljaW91c19h
bHdheXMgb3IgaG9zdCBub3QgaW4gc2VsZi5fX2FsbG93ZWRfaG9zdHM6CitAQCAtMTY5LDE0ICsx
NzAsMTQgQEAKKyAKKyAgICAgICAgICAgICAgICAgICAgIHN0YXRzW25hbWVdID0gQ291bnRlclJl
Y29yZChpbnQoY291bnQpLCBkYXRlKQorICAgICAgICAgICAgICAgICAgICAgI2RlYnVnKCJzdGF0
c1slc10gPSAlcyIsIG5hbWUsIHN0YXRzW25hbWVdKQorLSAgICAgICAgICAgICAgICBleGNlcHQg
RXhjZXB0aW9uLCBlOgorKyAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Cisg
ICAgICAgICAgICAgICAgICAgICAjI2RlYnVnKGUpCisgICAgICAgICAgICAgICAgICAgICBwYXNz
ICAgICAgICAgICAgICAgIAorLSAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisrICAgICAgICBl
eGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gMjogZGVidWco
IiVzIGRvZXMgbm90IGV4aXN0IiwgZm5hbWUpCistICAgICAgICAgICAgZWxzZTogcHJpbnQgZQor
LSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0gICAgICAgICAgICBpZiBub3Qgc2VsZi5f
X2ZpcnN0X3RpbWU6IHByaW50IGUKKysgICAgICAgICAgICBlbHNlOiBwcmludChlKQorKyAgICAg
ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9fZmly
c3RfdGltZTogcHJpbnQoZSkKKyAgICAgICAgICAgICAKKyAgICAgICAgIHJldHVybiBzdGF0cwor
IAorQEAgLTI0OCw4ICsyNDksOCBAQAorICAgICAgICAgCisgICAgICAgICB0cnk6CisgICAgICAg
ICAgICAgZnAgPSBvcGVuKHBhdGgsICJ3IikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6
CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgor
KyAgICAgICAgICAgIHByaW50KGUpCisgICAgICAgICAgICAgcmV0dXJuCisgCisgICAgICAgICBp
ZiBub3Qgc3RhdHM6CitAQCAtMjU3LDcgKzI1OCw3IEBACisgICAgICAgICAgICAgZnAuY2xvc2Uo
KQorICAgICAgICAgICAgIHJldHVybgorICAKKy0gICAgICAgIGtleXMgPSBzdGF0cy5rZXlzKCkK
KysgICAgICAgIGtleXMgPSBsaXN0KHN0YXRzLmtleXMoKSkKKyAgICAgICAgIGtleXMuc29ydCgp
CisgCisgICAgICAgICBmb3Iga2V5IGluIGtleXM6CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBmaWxl
cy9wYXRjaC1EZW55SG9zdHNfX2xvZ2luYXR0ZW1wdC5weQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNk
Om5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAj
IwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxl
cy9wYXRjaC1EZW55SG9zdHNfX29sZC1kYWVtb24ucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0
Y2gtRGVueUhvc3RzX19vbGQtZGFlbW9uLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gt
RGVueUhvc3RzX19vbGQtZGFlbW9uLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAK
Ky0tLSAuL0RlbnlIb3N0cy9vbGQtZGFlbW9uLnB5Lm9yaWcJMjAwNS0xMi0xNyAwOToxNTowMC4w
MDAwMDAwMDAgKzEwMzAKKysrKyAuL0RlbnlIb3N0cy9vbGQtZGFlbW9uLnB5CTIwMTQtMDMtMTEg
MDA6NTg6MDguMTY5MTg3NDE3ICsxMDMwCitAQCAtMzcsNyArMzcsNyBAQAorICAgICAgICMgdGhl
IGNoaWxkIGdldHMgYSBuZXcgUElELCBtYWtpbmcgaXQgaW1wb3NzaWJsZSBmb3IgaXRzIFBJRCB0
byBlcXVhbCBpdHMKKyAgICAgICAjIFBHSUQuCisgICAgICAgcGlkID0gb3MuZm9yaygpCistICAg
ZXhjZXB0IE9TRXJyb3IsIGU6CisrICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICByZXR1
cm4oKGUuZXJybm8sIGUuc3RyZXJyb3IpKSAgICAgIyBFUlJPUiAocmV0dXJuIGEgdHVwbGUpCisg
CisgICAgaWYgKHBpZCA9PSAwKTogICAgICAgIyBUaGUgZmlyc3QgY2hpbGQuCitAQCAtNjIsNyAr
NjIsNyBAQAorICAgICAgICAgICMgZm9yayBndWFyYW50ZWVzIHRoYXQgdGhlIGNoaWxkIGlzIG5v
IGxvbmdlciBhIHNlc3Npb24gbGVhZGVyLCB0aHVzCisgICAgICAgICAgIyBwcmV2ZW50aW5nIHRo
ZSBkYWVtb24gZnJvbSBldmVyIGFjcXVpcmluZyBhIGNvbnRyb2xsaW5nIHRlcm1pbmFsLgorICAg
ICAgICAgIHBpZCA9IG9zLmZvcmsoKSAgICAgICAgIyBGb3JrIGEgc2Vjb25kIGNoaWxkLgorLSAg
ICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorKyAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAg
ICAgICAgcmV0dXJuKChlLmVycm5vLCBlLnN0cmVycm9yKSkgICMgRVJST1IgKHJldHVybiBhIHR1
cGxlKQorIAorICAgICAgIGlmIChwaWQgPT0gMCk6ICAgICAgIyBUaGUgc2Vjb25kIGNoaWxkLgoK
UHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19vbGQtZGFlbW9uLnB5
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
ICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3Zu
Om1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcGx1Z2luLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcGx1Z2luLnB5CShyZXZpc2lvbiAwKQor
KysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wbHVnaW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMCBAQAorLS0tIC4vRGVueUhvc3RzL3BsdWdpbi5weS5vcmlnCTIwMDUtMTItMTcgMDk6
MTU6MDAuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvcGx1Z2luLnB5CTIwMTQtMDMt
MTEgMDA6NTg6MDguMTg1MTg2MjA5ICsxMDMwCitAQCAtMTMsNiArMTMsNiBAQAorICAgICAgICAg
dHJ5OgorICAgICAgICAgICAgIHJlcyA9IG9zLnN5c3RlbSgiJXMgJXMiICUgKGV4ZWN1dGFibGUs
IGhvc3QpKQorICAgICAgICAgICAgIGlmIHJlczogaW5mbygicGx1Z2luIHJldHVybmVkICVkIiwg
cmVzKSAgICAgICAgICAgICAgICAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHQsIGU6CisrICAgICAg
ICBleGNlcHQgRXhjZXB0IGFzIGU6CisgICAgICAgICAgICAgZXJyb3IoInBsdWdpbiBlcnJvcjog
JXMiLCBlKQorIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19w
bHVnaW4ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0
ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZic2Q6bm9r
ZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wcmVmcy5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3ByZWZzLnB5CShyZXZpc2lv
biAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wcmVmcy5weQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDg5IEBACistLS0gLi9EZW55SG9zdHMvcHJlZnMucHkub3JpZwkyMDA2LTExLTEw
IDE0OjU0OjQwLjAwMDAwMDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3ByZWZzLnB5CTIwMTQt
MDMtMTEgMDA6NTg6MDguMjAzMTg2MzA5ICsxMDMwCitAQCAtMSw2ICsxLDcgQEAKKytmcm9tIF9f
ZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uOyAKKyBpbXBvcnQgb3MsIHN5cywgcmUKKy1m
cm9tIHV0aWwgaW1wb3J0IGRpZSwgY2FsY3VsYXRlX3NlY29uZHMsIGlzX3RydWUKKy1mcm9tIHJl
Z2V4IGltcG9ydCBQUkVGU19SRUdFWAorK2Zyb20gRGVueUhvc3RzLnV0aWwgaW1wb3J0IGRpZSwg
Y2FsY3VsYXRlX3NlY29uZHMsIGlzX3RydWUKKytmcm9tIERlbnlIb3N0cy5yZWdleCBpbXBvcnQg
UFJFRlNfUkVHRVgKKyBpbXBvcnQgbG9nZ2luZworIAorIGRlYnVnID0gbG9nZ2luZy5nZXRMb2dn
ZXIoInByZWZzIikuZGVidWcKK0BAIC0xMjEsNyArMTIyLDcgQEAKKyAgICAgZGVmIGxvYWRfc2V0
dGluZ3Moc2VsZiwgcGF0aCk6CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgZnAgPSBvcGVu
KHBhdGgsICJyIikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGUgOgorKyAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbiBhcyBlIDoKKyAgICAgICAgICAgICBkaWUoIkVycm9yIHJlYWRpbmcgZmls
ZTogJXMiICUgcGF0aCwgZSkKKyAKKyAKK0BAIC0xNDUsNyArMTQ2LDcgQEAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9fZGF0YVsnVVNFUkRFRl9GQUlMRURfRU5UUllfUkVHRVgnXS5h
cHBlbmQocmUuY29tcGlsZSh2YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kYXRhW25hbWVdID0gdmFsdWUKKy0gICAgICAg
ICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g
YXMgZToKKyAgICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgICAgICAgICBkaWUo
IkVycm9yIHByb2Nlc3NpbmcgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIgJXM6ICVzIiAlIChuYW1l
LCBlKSkKKyAgICAgICAgIGZwLmNsb3NlKCkKK0BAIC0xNjMsMjYgKzE2NCwyNiBAQAorICAgICBk
ZWYgY2hlY2tfcmVxdWlyZWQoc2VsZiwgcGF0aCk6CisgICAgICAgICBvayA9IDEKKyAgICAgICAg
IGZvciBuYW1lX3JlcWQsIHZhbF9yZXFkIGluIHNlbGYucmVxZDoKKy0gICAgICAgICAgICBpZiBu
b3Qgc2VsZi5fX2RhdGEuaGFzX2tleShuYW1lX3JlcWQpOgorLSAgICAgICAgICAgICAgICBwcmlu
dCAiTWlzc2luZyBjb25maWd1cmF0aW9uIHBhcmFtZXRlcjogJXMiICUgbmFtZV9yZXFkCisrICAg
ICAgICAgICAgaWYgbmFtZV9yZXFkIG5vdCBpbiBzZWxmLl9fZGF0YS5rZXlzKCk6CisrICAgICAg
ICAgICAgICAgIHByaW50KCJNaXNzaW5nIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyOiAlcyIgJSBu
YW1lX3JlcWQpCisgICAgICAgICAgICAgICAgIGlmIG5hbWVfcmVxZCA9PSAnREVOWV9USFJFU0hP
TERfSU5WQUxJRCc6CistICAgICAgICAgICAgICAgICAgICBwcmludCAiXG5Ob3RlOiBUaGUgY29u
ZmlndXJhdGlvbiBwYXJhbWV0ZXIgREVOWV9USFJFU0hPTEQgaGFzIGJlZW4gcmVuYW1lZCIKKy0g
ICAgICAgICAgICAgICAgICAgIHByaW50ICIgICAgICBERU5ZX1RIUkVTSE9MRF9JTlZBTElELiAg
UGxlYXNlIHVwZGF0ZSB5b3VyIERlbnlIb3N0cyBjb25maWd1cmF0aW9uIgorLSAgICAgICAgICAg
ICAgICAgICAgcHJpbnQgIiAgICAgIGZpbGUgdG8gcmVmbGVjdCB0aGlzIGNoYW5nZS4iCisrICAg
ICAgICAgICAgICAgICAgICBwcmludCgiXG5Ob3RlOiBUaGUgY29uZmlndXJhdGlvbiBwYXJhbWV0
ZXIgREVOWV9USFJFU0hPTEQgaGFzIGJlZW4gcmVuYW1lZCIpCisrICAgICAgICAgICAgICAgICAg
ICBwcmludCgiICAgICAgREVOWV9USFJFU0hPTERfSU5WQUxJRC4gIFBsZWFzZSB1cGRhdGUgeW91
ciBEZW55SG9zdHMgY29uZmlndXJhdGlvbiIpCisrICAgICAgICAgICAgICAgICAgICBwcmludCgi
ICAgICAgZmlsZSB0byByZWZsZWN0IHRoaXMgY2hhbmdlLiIpCisgCisgICAgICAgICAgICAgICAg
ICAgICBpZiBzZWxmLl9fZGF0YS5oYXNfa2V5KCdERU5ZX1RIUkVTSE9MRCcpOgorLSAgICAgICAg
ICAgICAgICAgICAgICAgIHByaW50ICJcbioqKiBVc2luZyBkZXByZWNhdGVkIERFTllfVEhSRVNI
T0xEIHZhbHVlIGZvciBERU5ZX1RIUkVTSE9MRF9JTlZBTElEICoqKiIKKysgICAgICAgICAgICAg
ICAgICAgICAgICBwcmludCgiXG4qKiogVXNpbmcgZGVwcmVjYXRlZCBERU5ZX1RIUkVTSE9MRCB2
YWx1ZSBmb3IgREVOWV9USFJFU0hPTERfSU5WQUxJRCAqKioiKQorICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuX19kYXRhWydERU5ZX1RIUkVTSE9MRF9JTlZBTElEJ10gPSBzZWxmLl9fZGF0
YVsnREVOWV9USFJFU0hPTEQnXQorICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBvayA9IDAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAg
ICAgICAgICAgZWxpZiBuYW1lX3JlcWQgPT0gJ0RFTllfVEhSRVNIT0xEX1JFU1RSSUNURUQnOgor
LSAgICAgICAgICAgICAgICAgICAgcHJpbnQgIlxuTm90ZTogREVOWV9USFJFU0hPTERfUkVTVFJJ
Q1RFRCBoYXMgbm90IGJlZW4gZGVmaW5lZC4gU2V0dGluZyB0aGlzIgorLSAgICAgICAgICAgICAg
ICAgICAgcHJpbnQgInZhbHVlIHRvIERFTllfVEhSRVNIT0xEX1JPT1QiCisrICAgICAgICAgICAg
ICAgICAgICBwcmludCgiXG5Ob3RlOiBERU5ZX1RIUkVTSE9MRF9SRVNUUklDVEVEIGhhcyBub3Qg
YmVlbiBkZWZpbmVkLiBTZXR0aW5nIHRoaXMiKQorKyAgICAgICAgICAgICAgICAgICAgcHJpbnQo
InZhbHVlIHRvIERFTllfVEhSRVNIT0xEX1JPT1QiKQorICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5fX2RhdGFbJ0RFTllfVEhSRVNIT0xEX1JFU1RSSUNURUQnXSA9IHNlbGYuX19kYXRhWydERU5Z
X1RIUkVTSE9MRF9ST09UJ10KKyAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICAgICAgIG9rID0gMAorICAgICAgICAgICAgIGVsaWYgdmFsX3JlcWQgYW5kIG5vdCBzZWxmLl9f
ZGF0YVtuYW1lX3JlcWRdOgorLSAgICAgICAgICAgICAgICBwcmludCAiTWlzc2luZyBjb25maWd1
cmF0aW9uIHZhbHVlIGZvcjogJXMiICUgbmFtZV9yZXFkCisrICAgICAgICAgICAgICAgIHByaW50
KCJNaXNzaW5nIGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yOiAlcyIgJSBuYW1lX3JlcWQpCisgICAg
ICAgICAgICAgICAgIG9rID0gMAorIAorICAgICAgICAgaWYgbm90IG9rOgorQEAgLTIwNiwxOCAr
MjA3LDE4IEBACisgCisgCisgICAgIGRlZiBkdW1wKHNlbGYpOgorLSAgICAgICAgcHJpbnQgIlBy
ZWZlcmVuY2VzOiIKKysgICAgICAgIHByaW50KCJQcmVmZXJlbmNlczoiKQorICAgICAgICAga2V5
cyA9IHNlbGYuX19kYXRhLmtleXMoKQorICAgICAgICAgZm9yIGtleSBpbiBrZXlzOgorICAgICAg
ICAgICAgIGlmIGtleSA9PSAnVVNFUkRFRl9GQUlMRURfRU5UUllfUkVHRVgnOgorICAgICAgICAg
ICAgICAgICBmb3IgcnggaW4gc2VsZi5fX2RhdGFba2V5XToKKy0gICAgICAgICAgICAgICAgICAg
IHByaW50ICIgICAlczogWyVzXSIgJSAoa2V5LCByeC5wYXR0ZXJuKQorKyAgICAgICAgICAgICAg
ICAgICAgcHJpbnQoIiAgICVzOiBbJXNdIiAlIChrZXksIHJ4LnBhdHRlcm4pKQorICAgICAgICAg
ICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHByaW50ICIgICAlczogWyVzXSIgJSAoa2V5LCBz
ZWxmLl9fZGF0YVtrZXldKQorKyAgICAgICAgICAgICAgICBwcmludCgiICAgJXM6IFslc10iICUg
KGtleSwgc2VsZi5fX2RhdGFba2V5XSkpCisgCisgICAgIAorICAgICBkZWYgZHVtcF90b19sb2dn
ZXIoc2VsZik6CistICAgICAgICBrZXlzID0gc2VsZi5fX2RhdGEua2V5cygpCisrICAgICAgICBr
ZXlzID0gbGlzdChzZWxmLl9fZGF0YS5rZXlzKCkpCisgICAgICAgICBrZXlzLnNvcnQoKQorICAg
ICAgICAgaW5mbygiRGVueUhvc3RzIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3M6IikKKyAgICAgICAg
IGZvciBrZXkgaW4ga2V5czoKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlI
b3N0c19fcHJlZnMucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsx
ICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZi
c2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19w
dXJnZWNvdW50ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wdXJn
ZWNvdW50ZXIucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3B1cmdl
Y291bnRlci5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACistLS0gLi9EZW55SG9z
dHMvcHVyZ2Vjb3VudGVyLnB5Lm9yaWcJMjAwNi0wNC0wOSAxMDoxMTo1OC4wMDAwMDAwMDAgKzA5
MzAKKysrKyAuL0RlbnlIb3N0cy9wdXJnZWNvdW50ZXIucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4y
MDQxODc0MDggKzEwMzAKK0BAIC0xLDcgKzEsNyBAQAorIAorLWZyb20gY291bnRlciBpbXBvcnQg
Q291bnRlciwgQ291bnRlclJlY29yZAorK2Zyb20gRGVueUhvc3RzLmNvdW50ZXIgaW1wb3J0IENv
dW50ZXIsIENvdW50ZXJSZWNvcmQKKyAKKy1pbXBvcnQgY29uc3RhbnRzCisraW1wb3J0IERlbnlI
b3N0cy5jb25zdGFudHMKKyBpbXBvcnQgb3MKKyAKKyB0cnk6CitAQCAtNjYsNyArNjYsNyBAQAor
ICAgICBkZWYgd3JpdGVfZGF0YShzZWxmLCBkYXRhKToKKyAgICAgICAgIHRyeToKKyAgICAgICAg
ICAgICBmcCA9IG9wZW4oc2VsZi5maWxlbmFtZSwgInciKQorLSAgICAgICAgZXhjZXB0IEV4Y2Vw
dGlvbiwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBl
cnJvcigiZXJyb3Igc2F2aW5nICVzOiAlcyIsIHNlbGYuZmlsZW5hbWUsIHN0cihlKSkKKyAKKyAg
ICAgICAgIGtleXMgPSBkYXRhLmtleXMoKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0
Y2gtRGVueUhvc3RzX19wdXJnZWNvdW50ZXIucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogZmJzZDpub2tl
eXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3Rl
eHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0
Y2gtRGVueUhvc3RzX19weXRob25fdmVyc2lvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRj
aC1EZW55SG9zdHNfX3B5dGhvbl92ZXJzaW9uLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0
Y2gtRGVueUhvc3RzX19weXRob25fdmVyc2lvbi5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI4IEBACistLS0gLi9EZW55SG9zdHMvcHl0aG9uX3ZlcnNpb24ucHkub3JpZwkyMDA1LTEyLTE3
IDA5OjE1OjAxLjAwMDAwMDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3B5dGhvbl92ZXJzaW9u
LnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMjA2MTg2MTI3ICsxMDMwCitAQCAtMSwzICsxLDQgQEAK
Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IHN5cworIAor
IAorQEAgLTUsOSArNiw5IEBACisgICAgIHZlcnNpb25fdHVwbGUgPSBzeXMudmVyc2lvbl9pbmZv
CisgICAgIHZlcnNpb24gPSB2ZXJzaW9uX3R1cGxlWzBdICogMTAwICsgdmVyc2lvbl90dXBsZVsx
XQorICAgICBpZiB2ZXJzaW9uIDwgMjAzOgorLSAgICAgICAgcHJpbnQgIlB5dGhvbiA+PSAyLjMg
cmVxdWlyZWQuICBZb3UgYXJlIHVzaW5nOiIsIHN5cy52ZXJzaW9uCisrICAgICAgICBwcmludCgi
UHl0aG9uID49IDIuMyByZXF1aXJlZC4gIFlvdSBhcmUgdXNpbmc6Iiwgc3lzLnZlcnNpb24pCisg
CistICAgICAgICBwcmludCAiIiIKKysgICAgICAgIHByaW50KCIiIgorICMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
KyAKKyBWaXNpdCBodHRwOi8vd3d3LnB5dGhvbi5vcmcgYW5kIGRvd25sb2FkIGEgbW9yZSByZWNl
bnQgdmVyc2lvbiBvZgorQEAgLTIzLDcgKzI0LDcgQEAKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgCist
IiIiICUgJyAnLmpvaW4oc3lzLmFyZ3YpCisrIiIiICUgJyAnLmpvaW4oc3lzLmFyZ3YpKQorIAor
ICAgICAgICAgc3lzLmV4aXQoMSkKKyAKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNo
LURlbnlIb3N0c19fcHl0aG9uX3ZlcnNpb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt
dHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
CituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0
Y2gtRGVueUhvc3RzX19yZWdleC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9z
dHNfX3JlZ2V4LnB5CShyZXZpc2lvbiAzNTEwNTcpCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNf
X3JlZ2V4LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDExIEBACi0jIFBhdGNoIHNoYXBl
ZCBmcm9tIGh0dHA6Ly9zZWNsaXN0cy5vcmcvb3NzLXNlYy8yMDEzL3E0LzUzNQotPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0tIC4vRGVueUhvc3RzL3JlZ2V4LnB5Lm9yaWcJMjAwNi0xMi0wNyAyMDo0NzowNC4wMDAw
MDAwMDAgKzAxMDAKLSsrKyAuL0RlbnlIb3N0cy9yZWdleC5weQkyMDEzLTEyLTIzIDE3OjE3OjQy
LjAwMDAwMDAwMCArMDEwMAotQEAgLTYsMjIgKzYsMjIgQEAKKy0tLSAuL0RlbnlIb3N0cy9yZWdl
eC5weS5vcmlnCTIwMDYtMTItMDggMDY6MTc6MDQuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55
SG9zdHMvcmVnZXgucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4yMDcxODY3MDkgKzEwMzAKK0BAIC0x
Nyw3ICsxNyw3IEBACiAgCi0gI0RBVEVfRk9STUFUX1JFR0VYID0gcmUuY29tcGlsZShyIiIiKD9Q
PG1vbnRoPltBLXpdezMsM30pXHMqKD9QPGRheT5cZCspIiIiKQorIEZBSUxFRF9FTlRSWV9SRUdF
WDQgPSByZS5jb21waWxlKHIiIiJBdXRoZW50aWNhdGlvbiBmYWlsdXJlIGZvciAoP1A8dXNlcj4u
KikgLipmcm9tICg/UDxob3N0Pi4qKSIiIikKICAKLS1TU0hEX0ZPUk1BVF9SRUdFWCA9IHJlLmNv
bXBpbGUociIiIi4qIChzc2hkLio6fFxbc3NoZFxdKSAoP1A8bWVzc2FnZT4uKikiIiIpCi0rU1NI
RF9GT1JNQVRfUkVHRVggPSByZS5jb21waWxlKHIiIiIuKj8gKHNzaGQuKj86fFxbc3NoZFxdKSAo
P1A8bWVzc2FnZT4uKikiIiIpCi0gI1NTSERfRk9STUFUX1JFR0VYID0gcmUuY29tcGlsZShyIiIi
Liogc3NoZC4qOiAoP1A8bWVzc2FnZT4uKikiIiIpCi0gCi0tRkFJTEVEX0VOVFJZX1JFR0VYID0g
cmUuY29tcGlsZShyIiIiRmFpbGVkICg/UDxtZXRob2Q+LiopIGZvciAoP1A8aW52YWxpZD5pbnZh
bGlkIHVzZXIgfGlsbGVnYWwgdXNlciApPyg/UDx1c2VyPi4qPykgLipmcm9tICg6OmZmZmY6KT8o
P1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikKLStGQUlMRURf
RU5UUllfUkVHRVggPSByZS5jb21waWxlKHIiIiJGYWlsZWQgKD9QPG1ldGhvZD5cUyopIGZvciAo
P1A8aW52YWxpZD5pbnZhbGlkIHVzZXIgfGlsbGVnYWwgdXNlciApPyg/UDx1c2VyPi4qKSBmcm9t
ICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSQi
IiIpCi0gCi0tRkFJTEVEX0VOVFJZX1JFR0VYMiA9IHJlLmNvbXBpbGUociIiIig/UDxpbnZhbGlk
PihJbGxlZ2FsfEludmFsaWQpKSB1c2VyICg/UDx1c2VyPi4qPykgLipmcm9tICg6OmZmZmY6KT8o
P1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikKLStGQUlMRURf
RU5UUllfUkVHRVgyID0gcmUuY29tcGlsZShyIiIiKD9QPGludmFsaWQ+KElsbGVnYWx8SW52YWxp
ZCkpIHVzZXIgKD9QPHVzZXI+LiopIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxkezEsM31cLlxk
ezEsM31cLlxkezEsM31cLlxkezEsM30pJCIiIikKLSAKLS1GQUlMRURfRU5UUllfUkVHRVgzID0g
cmUuY29tcGlsZShyIiIiQXV0aGVudGljYXRpb24gZmFpbHVyZSBmb3IgKD9QPHVzZXI+LiopIC4q
ZnJvbSAoOjpmZmZmOik/KD9QPGhvc3Q+XGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwz
fSkiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYMyA9IE5vbmUKLSAKLS1GQUlMRURfRU5UUllfUkVH
RVg0ID0gcmUuY29tcGlsZShyIiIiQXV0aGVudGljYXRpb24gZmFpbHVyZSBmb3IgKD9QPHVzZXI+
LiopIC4qZnJvbSAoP1A8aG9zdD4uKikiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNCA9IHJlLmNv
bXBpbGUociIiIkF1dGhlbnRpY2F0aW9uIGZhaWx1cmUgZm9yICg/UDx1c2VyPi4qKSBmcm9tICg6
OmZmZmY6KT8oP1A8aG9zdD5cUyspJCIiIikKLSAKIC1GQUlMRURfRU5UUllfUkVHRVg1ID0gcmUu
Y29tcGlsZShyIiIiVXNlciAoP1A8dXNlcj4uKikgLipmcm9tICg/UDxob3N0Pi4qKSBub3QgYWxs
b3dlZCBiZWNhdXNlIG5vbmUgb2YgdXNlcidzIGdyb3VwcyBhcmUgbGlzdGVkIGluIEFsbG93R3Jv
dXBzIiIiKQotK0ZBSUxFRF9FTlRSWV9SRUdFWDUgPSByZS5jb21waWxlKHIiIiJVc2VyICg/UDx1
c2VyPi4qKSBmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cUyspIG5vdCBhbGxvd2VkIGJlY2F1c2Ug
bm9uZSBvZiB1c2VyJ3MgZ3JvdXBzIGFyZSBsaXN0ZWQgaW4gQWxsb3dHcm91cHMkIiIiKQorK0ZB
SUxFRF9FTlRSWV9SRUdFWDUgPSByZS5jb21waWxlKHIiIiJVc2VyICg/UDx1c2VyPi4qKSAuKmZy
b20gKD9QPGhvc3Q+LiopIG5vdCBhbGxvd2VkIGJlY2F1c2Ugbm9uZSBvZiB1c2VyJ3MgZ3JvdXBz
IGFyZSBsaXN0ZWQgaW4gQWxsb3dHcm91cHMkIiIiKQogIAotLUZBSUxFRF9FTlRSWV9SRUdFWDYg
PSByZS5jb21waWxlKHIiIiJEaWQgbm90IHJlY2VpdmUgaWRlbnRpZmljYXRpb24gc3RyaW5nIC4q
ZnJvbSAoOjpmZmZmOik/KD9QPGhvc3Q+XGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwz
fSkiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNiA9IHJlLmNvbXBpbGUociIiIkRpZCBub3QgcmVj
ZWl2ZSBpZGVudGlmaWNhdGlvbiBzdHJpbmcgLipmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsx
LDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSQiIiIpCisgRkFJTEVEX0VOVFJZX1JFR0VY
NiA9IHJlLmNvbXBpbGUociIiIkRpZCBub3QgcmVjZWl2ZSBpZGVudGlmaWNhdGlvbiBzdHJpbmcg
Lipmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsx
LDN9KSIiIikKICAKLS1GQUlMRURfRU5UUllfUkVHRVg3ID0gcmUuY29tcGlsZShyIiIiVXNlciAo
P1A8dXNlcj4uKikgbm90IGFsbG93ZWQgYmVjYXVzZSBub3QgbGlzdGVkIGluIEFsbG93VXNlcnMi
IiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNyA9IHJlLmNvbXBpbGUociIiIlVzZXIgKD9QPHVzZXI+
LiopIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxTKykgbm90IGFsbG93ZWQgYmVjYXVzZSBub3Qg
bGlzdGVkIGluIEFsbG93VXNlcnMkIiIiKQotIAotIAotICMgdGhlc2UgYXJlIHJlc2VydmVkIGZv
ciBmdXR1cmUgdmVyc2lvbnMKLUBAIC00Miw3ICs0Miw3IEBACi0gICAgIEZBSUxFRF9FTlRSWV9S
RUdFWF9NQVBbaV0gPSByeAotIAotIAotLVNVQ0NFU1NGVUxfRU5UUllfUkVHRVggPSByZS5jb21w
aWxlKHIiIiJBY2NlcHRlZCAoP1A8bWV0aG9kPi4qKSBmb3IgKD9QPHVzZXI+Lio/KSBmcm9tICg6
OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikK
LStTVUNDRVNTRlVMX0VOVFJZX1JFR0VYID0gcmUuY29tcGlsZShyIiIiQWNjZXB0ZWQgKD9QPG1l
dGhvZD5cUyspIGZvciAoP1A8dXNlcj4uKj8pIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxkezEs
M31cLlxkezEsM31cLlxkezEsM31cLlxkezEsM30pJCIiIikKLSAKLSBUSU1FX1NQRUNfUkVHRVgg
PSByZS5jb21waWxlKHIiIiIoP1A8dW5pdHM+XGQqKVxzKig/UDxwZXJpb2Q+W3NtaGR3eV0pPyIi
IikKLSAKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVwb3J0LnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVwb3J0LnB5CShyZXZpc2lvbiAwKQorKysgZmls
ZXMvcGF0Y2gtRGVueUhvc3RzX19yZXBvcnQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
MiBAQAorLS0tIC4vRGVueUhvc3RzL3JlcG9ydC5weS5vcmlnCTIwMDYtMDQtMDkgMTM6MDQ6MDQu
MDAwMDAwMDAwICswOTMwCisrKysgLi9EZW55SG9zdHMvcmVwb3J0LnB5CTIwMTQtMDMtMTEgMDA6
NTg6MDguMjA4MTg2NjAwICsxMDMwCitAQCAtMSw5ICsxLDggQEAKKyBpbXBvcnQgb3MKKyBpbXBv
cnQgcmUKKyBpbXBvcnQgc29ja2V0CistZnJvbSB0eXBlcyBpbXBvcnQgTGlzdFR5cGUsIFR1cGxl
VHlwZQorIGltcG9ydCBsb2dnaW5nCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisrZnJvbSBE
ZW55SG9zdHMudXRpbCBpbXBvcnQgaXNfdHJ1ZQorIHRyeToKKyAgICAgaW1wb3J0IHN5c2xvZwor
ICAgICBIQVNfU1lTTE9HID0gVHJ1ZQorQEAgLTM4LDcgKzM3LDcgQEAKKyAgICAgZGVmIGFkZF9z
ZWN0aW9uKHNlbGYsIG1lc3NhZ2UsIGl0ZXJhYmxlKToKKyAgICAgICAgIHNlbGYucmVwb3J0ICs9
ICIlczpcblxuIiAlIG1lc3NhZ2UKKyAgICAgICAgIGZvciBpIGluIGl0ZXJhYmxlOgorLSAgICAg
ICAgICAgIGlmIHR5cGUoaSkgaW4gKFR1cGxlVHlwZSwgTGlzdFR5cGUpOgorKyAgICAgICAgICAg
IGlmIGlzaW5zdGFuY2UodHlwZShpKSwgKHR1cGxlLGxpc3QpKToKKyAgICAgICAgICAgICAgICAg
ZXh0cmEgPSAiOiAlZFxuIiAlIGlbMV0KKyAgICAgICAgICAgICAgICAgaSA9IGlbMF0KKyAgICAg
ICAgICAgICBlbHNlOgoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3Rz
X19yZXBvcnQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEg
IyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19yZXN0
cmljdGVkLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVzdHJpY3Rl
ZC5weQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVzdHJpY3RlZC5w
eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACistLS0gLi9EZW55SG9zdHMvcmVzdHJp
Y3RlZC5weS5vcmlnCTIwMDYtMDItMDkgMTY6MzY6MTkuMDAwMDAwMDAwICsxMDMwCisrKysgLi9E
ZW55SG9zdHMvcmVzdHJpY3RlZC5weQkyMDE0LTAzLTExIDAwOjU4OjA4LjIyMDE4NjIyOCArMTAz
MAorQEAgLTEsNiArMSw2IEBACisgaW1wb3J0IG9zCisgCistZnJvbSBjb25zdGFudHMgaW1wb3J0
IFJFU1RSSUNURURfVVNFUk5BTUVTCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCBS
RVNUUklDVEVEX1VTRVJOQU1FUworIHRyeToKKyAgICAgc2V0ID0gc2V0CisgZXhjZXB0OgoKUHJv
cGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19yZXN0cmljdGVkLnB5Cl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMg
LTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2
bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fc3luYy5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3N5bmMucHkJKHJldmlzaW9uIDApCisrKyBmaWxl
cy9wYXRjaC1EZW55SG9zdHNfX3N5bmMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBA
QAorLS0tIC4vRGVueUhvc3RzL3N5bmMucHkub3JpZwkyMDA2LTAyLTA5IDE1OjUwOjQ2LjAwMDAw
MDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3N5bmMucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4y
MjExODczMjcgKzEwMzAKK0BAIC0xLDggKzEsMTIgQEAKKy1mcm9tIHhtbHJwY2xpYiBpbXBvcnQg
U2VydmVyUHJveHkKKyt0cnk6CisrICAgIGZyb20geG1scnBjbGliIGltcG9ydCBTZXJ2ZXJQcm94
eQorK2V4Y2VwdDoKKysgICAgZnJvbSB4bWxycGMuY2xpZW50IGltcG9ydCBTZXJ2ZXJQcm94eQor
KworIGltcG9ydCBsb2dnaW5nCisgaW1wb3J0IG9zCisgaW1wb3J0IHRpbWUKKy1mcm9tIGNvbnN0
YW50cyBpbXBvcnQgU1lOQ19USU1FU1RBTVAsIFNZTkNfSE9TVFMsIFNZTkNfSE9TVFNfVE1QLCBT
WU5DX1JFQ0VJVkVEX0hPU1RTCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCBTWU5D
X1RJTUVTVEFNUCwgU1lOQ19IT1NUUywgU1lOQ19IT1NUU19UTVAsIFNZTkNfUkVDRUlWRURfSE9T
VFMKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJzeW5jIikuZGVidWcKKyBpbmZvID0gbG9n
Z2luZy5nZXRMb2dnZXIoInN5bmMiKS5pbmZvCisgZXJyb3IgPSBsb2dnaW5nLmdldExvZ2dlcigi
c3luYyIpLmVycm9yCitAQCAtMjMsNyArMjcsNyBAQAorICAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgIHNlbGYuX19zZXJ2ZXIgPSBTZXJ2ZXJQcm94eShzZWxmLl9fcHJlZnMuZ2V0KCdTWU5DX1NF
UlZFUicpKQorICAgICAgICAgICAgIHNlbGYuX19jb25uZWN0ZWQgPSBUcnVlCistICAgICAgICBl
eGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAg
ICAgICAgICAgIGVycm9yKHN0cihlKSkKKyAgICAgICAgICAgICBzZWxmLl9fY29ubmVjdGVkID0g
RmFsc2UKKyAgICAgICAgIHJldHVybiBzZWxmLl9fY29ubmVjdGVkCitAQCAtNDYsOSArNTAsOSBA
QAorICAgICAgICAgICAgIHRpbWVzdGFtcCA9IGZwLnJlYWRsaW5lKCkKKyAgICAgICAgICAgICB0
aW1lc3RhbXAgPSBsb25nKHRpbWVzdGFtcC5zdHJpcCgpKQorICAgICAgICAgICAgIHJldHVybiB0
aW1lc3RhbXAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAgICAgICBleGNlcHQg
RXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgZXJyb3Ioc3RyKGUpKQorLSAgICAgICAgICAg
IHJldHVybiAwbAorKyAgICAgICAgICAgIHJldHVybiAwCisgCisgICAgIGRlZiBzZXRfc3luY190
aW1lc3RhbXAoc2VsZiwgdGltZXN0YW1wKToKKyAgICAgICAgIHRyeToKK0BAIC05OCw3ICsxMDIs
NyBAQAorIAorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHNlbGYuX19zZXJ2ZXIuYWRkX2hv
c3RzKGhvc3RzKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgIGV4Y2Vw
dCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBleGNlcHRpb24oZSkKKyAKKyAKK0BAIC0x
MjEsNyArMTI1LDcgQEAKKyAgICAgICAgICAgICBpbmZvKCJyZWNlaXZlZCAlZCBuZXcgaG9zdCVz
IiwgbGVuKGhvc3RzKSwgZ2V0X3BsdXJhbChob3N0cykpCisgICAgICAgICAgICAgc2VsZi5fX3Nh
dmVfcmVjZWl2ZWRfaG9zdHMoaG9zdHMsIHRpbWVzdGFtcCkKKyAgICAgICAgICAgICByZXR1cm4g
aG9zdHMgCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIGV4Y2VwdGlvbihlKQorICAgICAgICAgICAgIHJl
dHVybiBOb25lCisgICAgICAgICAKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURl
bnlIb3N0c19fc3luYy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAg
KzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDog
ZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNf
X3V0aWwucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX191dGlsLnB5CShy
ZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX191dGlsLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjYgQEAKKy0tLSAuL0RlbnlIb3N0cy91dGlsLnB5Lm9yaWcJMjAwNi0w
Ni0yMiAxMjoxNToyOC4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL0RlbnlIb3N0cy91dGlsLnB5CTIw
MTQtMDMtMTEgMDA6NTg6MDguMjIzMTg2OTY3ICsxMDMwCitAQCAtMSwxMSArMSwxMSBAQAorK2Zy
b20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAorIGltcG9ydCBzeXMKKyBpbXBv
cnQgb3MKKyBpbXBvcnQgdGltZQorIGZyb20gc210cGxpYiBpbXBvcnQgU01UUAorIGltcG9ydCBs
b2dnaW5nCistZnJvbSBjb25zdGFudHMgaW1wb3J0IEJTRF9TVFlMRSwgVElNRV9TUEVDX0xPT0tV
UAorLWZyb20gcmVnZXggaW1wb3J0IFRJTUVfU1BFQ19SRUdFWAorLWZyb20gdHlwZXMgaW1wb3J0
IEludFR5cGUKKytmcm9tIERlbnlIb3N0cy5jb25zdGFudHMgaW1wb3J0IEJTRF9TVFlMRSwgVElN
RV9TUEVDX0xPT0tVUAorK2Zyb20gRGVueUhvc3RzLnJlZ2V4IGltcG9ydCBUSU1FX1NQRUNfUkVH
RVgKKyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ1dGlsIikuZGVidWcKKyAKK0BAIC01
NSw4ICs1NSw4IEBACisgCisgCisgZGVmIGRpZShtc2csIGV4PU5vbmUpOgorLSAgICBwcmludCBt
c2cKKy0gICAgaWYgZXg6IHByaW50IGV4CisrICAgIHByaW50KG1zZykKKysgICAgaWYgZXg6IHBy
aW50KGV4KQorICAgICBzeXMuZXhpdCgxKQorIAorIAorQEAgLTc0LDE3ICs3NCwxNyBAQAorIGRl
ZiBjYWxjdWxhdGVfc2Vjb25kcyh0aW1lc3RyLCB6ZXJvX29rPUZhbHNlKToKKyAgICAgIyByZXR1
cm4gdGhlIG51bWJlciBvZiBzZWNvbmRzIGluIGEgZ2l2ZW4gdGltZXN0ciBzdWNoIGFzIDFkICgx
IGRheSksCisgICAgICMgMTN3ICgxMyB3ZWVrcyksIDVzICg1c2Vjb25kcyksIGV0Yy4uLgorLSAg
ICBpZiB0eXBlKHRpbWVzdHIpIGlzIEludFR5cGU6IHJldHVybiB0aW1lc3RyCisrICAgIGlmIHR5
cGUodGltZXN0cikgaXMgaW50OiByZXR1cm4gdGltZXN0cgorICAgICAKKyAgICAgbSA9IFRJTUVf
U1BFQ19SRUdFWC5zZWFyY2godGltZXN0cikKKyAgICAgaWYgbm90IG06CistICAgICAgICByYWlz
ZSBFeGNlcHRpb24sICJJbnZhbGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogc3RyaW5nIGZvcm1hdCBl
cnJvcjogJXMiLCB0aW1lc3RyCisrICAgICAgICByYWlzZSBFeGNlcHRpb24oIkludmFsaWQgdGlt
ZSBzcGVjaWZpY2F0aW9uOiBzdHJpbmcgZm9ybWF0IGVycm9yOiAlcyIsIHRpbWVzdHIpCisgCisg
ICAgIHVuaXRzID0gaW50KG0uZ3JvdXAoJ3VuaXRzJykpCisgICAgIHBlcmlvZCA9IG0uZ3JvdXAo
J3BlcmlvZCcpIG9yICdzJyAjIHNlY29uZHMgaXMgdGhlIGRlZmF1bHQKKyAKKyAgICAgaWYgdW5p
dHMgPT0gMCBhbmQgbm90IHplcm9fb2s6CistICAgICAgICByYWlzZSBFeGNlcHRpb24sICJJbnZh
bGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogdW5pdHMgPSAwIgorKyAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCJJbnZhbGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogdW5pdHMgPSAwIikKKyAKKyAgICAgc2Vj
b25kcyA9IHVuaXRzICogVElNRV9TUEVDX0xPT0tVUFtwZXJpb2RdCisgICAgICNpbmZvKCJjb252
ZXJ0ZWQgJXMgdG8gJWxkIHNlY29uZHM6ICIsIHRpbWVzdHIsIHNlY29uZHMpCitAQCAtMTQ1LDEx
ICsxNDUsMTEgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgcmVjaXBpZW50cywKKyAgICAgICAg
ICAgICAgICAgICAgICAgbXNnKQorICAgICAgICAgZGVidWcoInNlbnQgZW1haWwgdG86ICVzIiAl
IHByZWZzLmdldCgiQURNSU5fRU1BSUwiKSkKKy0gICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0g
ICAgICAgIHByaW50ICJFcnJvciBzZW5kaW5nIGVtYWlsIgorLSAgICAgICAgcHJpbnQgZQorLSAg
ICAgICAgcHJpbnQgIkVtYWlsIG1lc3NhZ2UgZm9sbG93czoiCistICAgICAgICBwcmludCBtc2cK
KysgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgcHJpbnQoIkVycm9yIHNlbmRp
bmcgZW1haWwiKQorKyAgICAgICAgcHJpbnQoZSkKKysgICAgICAgIHByaW50KCJFbWFpbCBtZXNz
YWdlIGZvbGxvd3M6IikKKysgICAgICAgIHByaW50KG1zZykKKyAKKyAgICAgdHJ5OgorICAgICAg
ICAgc210cC5xdWl0KCkKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0
c19fdXRpbC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAsMCArMSAj
IworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5
bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1kYWVtb24tY29udHJvbC1k
aXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLWRhZW1vbi1jb250cm9sLWRpc3QJKHJldmlz
aW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLWRhZW1vbi1jb250cm9sLWRpc3QJKHdvcmtpbmcg
Y29weSkKQEAgLTEsOSArMSwxMiBAQAotCi0kRnJlZUJTRCQKLQotLS0tIGRhZW1vbi1jb250cm9s
LWRpc3Qub3JpZwotKysrIGRhZW1vbi1jb250cm9sLWRpc3QKLUBAIC0xMSw5ICsxMSw5IEBACist
LS0gLi9kYWVtb24tY29udHJvbC1kaXN0Lm9yaWcJMjAwNi0wNC0yMiAwODozNDo0My4wMDAwMDAw
MDAgKzA5MzAKKysrKyAuL2RhZW1vbi1jb250cm9sLWRpc3QJMjAxNC0wMy0xMSAwMDo1ODowOC4z
MDcxODYyMDIgKzEwMzAKK0BAIC02LDE0ICs2LDE0IEBACisgIyAgICBEZW55SG9zdHMgZGFlbW9u
IHRvIGJsb2NrIHNzaCBhdHRlbXB0cworICMKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIworLQorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVu
Y3Rpb24KKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog
ICMjIyMgRWRpdCB0aGVzZSB0byBzdWl0IHlvdXIgY29uZmlndXJhdGlvbiAjIyMjCiAgIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAKQEAgLTE0LDUgKzE3
LDY1IEBACiArREVOWUhPU1RTX0xPQ0sgID0gIi92YXIvcnVuL2Rlbnlob3N0cyIKICtERU5ZSE9T
VFNfQ0ZHICAgPSAiJSVQUkVGSVglJS9zaGFyZS9kZW55aG9zdHMvZGVueWhvc3RzLmNmZyIKICAK
KyBQWVRIT05fQklOICAgICAgPSAiL3Vzci9iaW4vZW52IHB5dGhvbiIKICAKLSAjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQEAgLTM1LDExICszNSwxMSBA
QAorIFNUQVRFX0xPQ0tfRVhJU1RTID0gLTIKKyAKKyBkZWYgdXNhZ2UoKToKKy0gICAgcHJpbnQg
IlVzYWdlOiAlcyB7c3RhcnQgW2FyZ3MuLi5dIHwgc3RvcCB8IHJlc3RhcnQgW2FyZ3MuLi5dIHwg
c3RhdHVzIHwgZGVidWcgfCBjb25kcmVzdGFydCBbYXJncy4uLl0gfSIgJSBzeXMuYXJndlswXQor
LSAgICBwcmludAorLSAgICBwcmludCAiRm9yIGEgbGlzdCBvZiB2YWxpZCAnYXJncycgcmVmZXIg
dG86IgorLSAgICBwcmludCAiJCBkZW55aG9zdHMucHkgLS1oZWxwIgorLSAgICBwcmludAorKyAg
ICBwcmludCgiVXNhZ2U6ICVzIHtzdGFydCBbYXJncy4uLl0gfCBzdG9wIHwgcmVzdGFydCBbYXJn
cy4uLl0gfCBzdGF0dXMgfCBkZWJ1ZyB8IGNvbmRyZXN0YXJ0IFthcmdzLi4uXSB9IiAlIHN5cy5h
cmd2WzBdKQorKyAgICBwcmludCgpCisrICAgIHByaW50KCJGb3IgYSBsaXN0IG9mIHZhbGlkICdh
cmdzJyByZWZlciB0bzoiKQorKyAgICBwcmludCgiJCBkZW55aG9zdHMucHkgLS1oZWxwIikKKysg
ICAgcHJpbnQoKQorICAgICBzeXMuZXhpdCgwKSAKKyAKKyAKK0BAIC03NCw3ICs3NCw3IEBACisg
ICAgIGNtZCA9ICIlcyAtLWRhZW1vbiAiICUgREVOWUhPU1RTX0JJTgorICAgICBpZiBhcmdzOiBj
bWQgKz0gJyAnLmpvaW4oYXJncykKKyAgICAgICAgIAorLSAgICBwcmludCAic3RhcnRpbmcgRGVu
eUhvc3RzOiAgICIsIGNtZAorKyAgICBwcmludCgic3RhcnRpbmcgRGVueUhvc3RzOiAgICIsIGNt
ZCkKKyAKKyAgICAgb3Muc3lzdGVtKGNtZCkKKyAKK0BAIC04MywyNiArODMsMjYgQEAKKyAgICAg
cGlkID0gZ2V0cGlkKCkKKyAgICAgaWYgcGlkID49IDA6CisgICAgICAgICBvcy5raWxsKHBpZCwg
c2lnbmFsLlNJR1RFUk0pCistICAgICAgICBwcmludCAic2VudCBEZW55SG9zdHMgU0lHVEVSTSIK
KysgICAgICAgIHByaW50KCJzZW50IERlbnlIb3N0cyBTSUdURVJNIikKKyAgICAgZWxzZToKKy0g
ICAgICAgIHByaW50ICJEZW55SG9zdHMgaXMgbm90IHJ1bm5pbmciCisrICAgICAgICBwcmludCgi
RGVueUhvc3RzIGlzIG5vdCBydW5uaW5nIikKKyAKKyBkZWYgZGVidWcoKToKKyAgICAgcGlkID0g
Z2V0cGlkKCkKKyAgICAgaWYgcGlkID49IDA6CisgICAgICAgICBvcy5raWxsKHBpZCwgc2lnbmFs
LlNJR1VTUjEpCistICAgICAgICBwcmludCAic2VudCBEZW55SG9zdHMgU0lHVVNSMSIKKysgICAg
ICAgIHByaW50KCJzZW50IERlbnlIb3N0cyBTSUdVU1IxIikKKyAgICAgZWxzZToKKy0gICAgICAg
IHByaW50ICJEZW55SG9zdHMgaXMgbm90IHJ1bm5pbmciCisrICAgICAgICBwcmludCgiRGVueUhv
c3RzIGlzIG5vdCBydW5uaW5nIikKKyAgICAgICAgIAorIGRlZiBzdGF0dXMoKToKKyAgICAgcGlk
ID0gZ2V0cGlkKCkKKyAgICAgaWYgcGlkID09IFNUQVRFX0xPQ0tfRVhJU1RTOgorLSAgICAgICAg
cHJpbnQgIiVzIGV4aXN0cyBidXQgRGVueUhvc3RzIGlzIG5vdCBydW5uaW5nIiAlIERFTllIT1NU
U19MT0NLCisrICAgICAgICBwcmludCgiJXMgZXhpc3RzIGJ1dCBEZW55SG9zdHMgaXMgbm90IHJ1
bm5pbmciICUgREVOWUhPU1RTX0xPQ0spCisgICAgIGVsaWYgcGlkID09IFNUQVRFX05PVF9SVU5O
SU5HOgorLSAgICAgICAgcHJpbnQgIkRlbnlob3N0cyBpcyBub3QgcnVubmluZyIKKysgICAgICAg
IHByaW50KCJEZW55aG9zdHMgaXMgbm90IHJ1bm5pbmciKQorICAgICBlbHNlOgorLSAgICAgICAg
cHJpbnQgIkRlbnlIb3N0cyBpcyBydW5uaW5nIHdpdGggcGlkID0gJWQiICUgcGlkCisrICAgICAg
ICBwcmludCgiRGVueUhvc3RzIGlzIHJ1bm5pbmcgd2l0aCBwaWQgPSAlZCIgJSBwaWQpCisgCisg
CisgZGVmIGNvbmRyZXN0YXJ0KCphcmdzKToKSW5kZXg6IGZpbGVzL3BhdGNoLWRlbnlob3N0cy5j
ZmctZGlzdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1kZW55aG9zdHMuY2ZnLWRpc3QJKHJl
dmlzaW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5jZmctZGlzdAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw4ICsxLDUgQEAKLQotJEZyZWVCU0QkCi0KLS0tLSBkZW55aG9zdHMuY2Zn
LWRpc3Qub3JpZwotKysrIGRlbnlob3N0cy5jZmctZGlzdAorLS0tIC4vZGVueWhvc3RzLmNmZy1k
aXN0Lm9yaWcJMjAwNi0wOC0yMCAyMzozOTo1Ny4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL2Rlbnlo
b3N0cy5jZmctZGlzdAkyMDE0LTAzLTExIDAwOjU4OjA4LjMwNzE4NjIwMiArMTAzMAogQEAgLTks
MTAgKzksMTAgQEAKICAjIGFyZ3VtZW50CiAgIwpJbmRleDogZmlsZXMvcGF0Y2gtZGVueWhvc3Rz
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5weQkocmV2aXNpb24gMCkK
KysrIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
OCBAQAorLS0tIC4vZGVueWhvc3RzLnB5Lm9yaWcJMjAwNi0wNy0wOSAwMDowMjo0NS4wMDAwMDAw
MDAgKzA5MzAKKysrKyAuL2Rlbnlob3N0cy5weQkyMDE0LTAzLTExIDAwOjU4OjA4LjI2MzE4NTc5
MyArMTAzMAorQEAgLTEsNCArMSw1IEBACisgIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisrZnJvbSBf
X2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBvcworIGltcG9ydCBzeXMK
KyAKK0BAIC0yMiwyNiArMjMsMjYgQEAKKyAKKyAKKyBkZWYgdXNhZ2UoKToKKy0gICAgcHJpbnQg
IlVzYWdlOiIKKy0gICAgcHJpbnQgIiVzIFstZiBsb2dmaWxlIHwgLS1maWxlPWxvZ2ZpbGVdIFsg
LWMgY29uZmlnZmlsZSB8IC0tY29uZmlnPWNvbmZpZ2ZpbGVdIFstaSB8IC0taWdub3JlXSBbLW4g
fCAtLW5vZW1haWxdIFstLXB1cmdlXSBbLS1taWdyYXRlXSBbLS1kYWVtb25dIFstLXN5bmNdIFst
LXZlcnNpb25dIiAlIHN5cy5hcmd2WzBdCistICAgIHByaW50CistICAgIHByaW50CistICAgIHBy
aW50ICIgLS1maWxlOiAgIFRoZSBuYW1lIG9mIGxvZyBmaWxlIHRvIHBhcnNlIgorLSAgICBwcmlu
dCAiIC0taWdub3JlOiBJZ25vcmUgbGFzdCBwcm9jZXNzZWQgb2Zmc2V0IChzdGFydCBwcm9jZXNz
aW5nIGZyb20gYmVnaW5uaW5nKSIKKy0gICAgcHJpbnQgIiAtLW5vZW1haWw6IERvIG5vdCBzZW5k
IGFuIGVtYWlsIHJlcG9ydCIKKy0gICAgcHJpbnQgIiAtLXVubG9jazogaWYgbG9ja2ZpbGUgZXhp
c3RzLCByZW1vdmUgaXQgYW5kIHJ1biBhcyBub3JtYWwiCistICAgIHByaW50ICIgLS1taWdyYXRl
OiBtaWdyYXRlIHlvdXIgSE9TVFNfREVOWSBmaWxlIHNvIHRoYXQgaXQgaXMgc3VpdGFibGUgZm9y
IC0tcHVyZ2UiCistICAgIHByaW50ICIgLS1wdXJnZTogZXhwaXJlIGVudHJpZXMgb2xkZXIgdGhh
biB5b3VyIFBVUkdFX0RFTlkgc2V0dGluZyIKKy0gICAgcHJpbnQgIiAtLWRhZW1vbjogcnVuIERl
bnlIb3N0cyBpbiBkYWVtb24gbW9kZSIKKy0gICAgcHJpbnQgIiAtLXN5bmM6IHJ1biBEZW55SG9z
dHMgc3luY2hyb25pemF0aW9uIG1vZGUiCistICAgIHByaW50ICIgLS12ZXJzaW9uOiBQcmludHMg
dGhlIHZlcnNpb24gb2YgRGVueUhvc3RzIGFuZCBleGl0cyIKKysgICAgcHJpbnQoIlVzYWdlOiIp
CisrICAgIHByaW50KCIlcyBbLWYgbG9nZmlsZSB8IC0tZmlsZT1sb2dmaWxlXSBbIC1jIGNvbmZp
Z2ZpbGUgfCAtLWNvbmZpZz1jb25maWdmaWxlXSBbLWkgfCAtLWlnbm9yZV0gWy1uIHwgLS1ub2Vt
YWlsXSBbLS1wdXJnZV0gWy0tbWlncmF0ZV0gWy0tZGFlbW9uXSBbLS1zeW5jXSBbLS12ZXJzaW9u
XSIgJSBzeXMuYXJndlswXSkKKysgICAgcHJpbnQoKQorKyAgICBwcmludCgpCisrICAgIHByaW50
KCIgLS1maWxlOiAgIFRoZSBuYW1lIG9mIGxvZyBmaWxlIHRvIHBhcnNlIikKKysgICAgcHJpbnQo
IiAtLWlnbm9yZTogSWdub3JlIGxhc3QgcHJvY2Vzc2VkIG9mZnNldCAoc3RhcnQgcHJvY2Vzc2lu
ZyBmcm9tIGJlZ2lubmluZykiKQorKyAgICBwcmludCgiIC0tbm9lbWFpbDogRG8gbm90IHNlbmQg
YW4gZW1haWwgcmVwb3J0IikKKysgICAgcHJpbnQoIiAtLXVubG9jazogaWYgbG9ja2ZpbGUgZXhp
c3RzLCByZW1vdmUgaXQgYW5kIHJ1biBhcyBub3JtYWwiKQorKyAgICBwcmludCgiIC0tbWlncmF0
ZTogbWlncmF0ZSB5b3VyIEhPU1RTX0RFTlkgZmlsZSBzbyB0aGF0IGl0IGlzIHN1aXRhYmxlIGZv
ciAtLXB1cmdlIikKKysgICAgcHJpbnQoIiAtLXB1cmdlOiBleHBpcmUgZW50cmllcyBvbGRlciB0
aGFuIHlvdXIgUFVSR0VfREVOWSBzZXR0aW5nIikKKysgICAgcHJpbnQoIiAtLWRhZW1vbjogcnVu
IERlbnlIb3N0cyBpbiBkYWVtb24gbW9kZSIpCisrICAgIHByaW50KCIgLS1zeW5jOiBydW4gRGVu
eUhvc3RzIHN5bmNocm9uaXphdGlvbiBtb2RlIikKKysgICAgcHJpbnQoIiAtLXZlcnNpb246IFBy
aW50cyB0aGUgdmVyc2lvbiBvZiBEZW55SG9zdHMgYW5kIGV4aXRzIikKKyAgICAgCistICAgIHBy
aW50CistICAgIHByaW50ICJOb3RlOiBtdWx0aXBsZSAtLWZpbGUgYXJncyBjYW4gYmUgcHJvY2Vz
c2VkLiAiLAorLSAgICBwcmludCAiSWYgbXVsdGlwbGUgZmlsZXMgYXJlIHByb3ZpZGVkLCAtLWln
bm9yZSBpcyBpbXBsaWVkIgorLSAgICBwcmludAorLSAgICBwcmludCAiV2hlbiBydW4gaW4gLS1k
YWVtb24gbW9kZSB0aGUgZm9sbG93aW5nIGZsYWdzIGFyZSBpZ25vcmVkOiIKKy0gICAgcHJpbnQg
IiAgICAgLS1maWxlLCAtLXB1cmdlLCAtLW1pZ3JhdGUsIC0tc3luYywgLS12ZXJib3NlIgorKyAg
ICBwcmludCgpCisrICAgIHByaW50KCJOb3RlOiBtdWx0aXBsZSAtLWZpbGUgYXJncyBjYW4gYmUg
cHJvY2Vzc2VkLiAiKQorKyAgICBwcmludCgiSWYgbXVsdGlwbGUgZmlsZXMgYXJlIHByb3ZpZGVk
LCAtLWlnbm9yZSBpcyBpbXBsaWVkIikKKysgICAgcHJpbnQoKQorKyAgICBwcmludCgiV2hlbiBy
dW4gaW4gLS1kYWVtb24gbW9kZSB0aGUgZm9sbG93aW5nIGZsYWdzIGFyZSBpZ25vcmVkOiIpCisr
ICAgIHByaW50KCIgICAgIC0tZmlsZSwgLS1wdXJnZSwgLS1taWdyYXRlLCAtLXN5bmMsIC0tdmVy
Ym9zZSIpCisgCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitAQCAtNzIsNyArNzMsNyBA
QAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1pZ3JhdGUiLCAi
cHVyZ2UiLCAiZGFlbW9uIiwgInN5bmMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInVwZ3JhZGUwOTkiXSkKKyAgICAgZXhjZXB0OgorLSAgICAgICAgcHJpbnQg
IlxuSW52YWxpZCBjb21tYW5kIGxpbmUgb3B0aW9uIGRldGVjdGVkLiIKKysgICAgICAgIHByaW50
KCJcbkludmFsaWQgY29tbWFuZCBsaW5lIG9wdGlvbiBkZXRlY3RlZC4iKQorICAgICAgICAgdXNh
Z2UoKQorICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgCitAQCAtMTAzLDcgKzEwNCw3IEBACisg
ICAgICAgICBpZiBvcHQgPT0gJy0tdXBncmFkZTA5OSc6CisgICAgICAgICAgICAgdXBncmFkZTA5
OSA9IDEKKyAgICAgICAgIGlmIG9wdCA9PSAnLS12ZXJzaW9uJzoKKy0gICAgICAgICAgICBwcmlu
dCAiRGVueUhvc3RzIHZlcnNpb246IiwgVkVSU0lPTgorKyAgICAgICAgICAgIHByaW50KCJEZW55
SG9zdHMgdmVyc2lvbjoiLCBWRVJTSU9OKQorICAgICAgICAgICAgIHN5cy5leGl0KDApCisgCisg
ICAgIHByZWZzID0gUHJlZnMoY29uZmlnX2ZpbGUpICAgIAorQEAgLTExMiw5ICsxMTMsOSBAQAor
ICAgICB0cnk6CisgICAgICAgICBvcy5tYWtlZGlycyhwcmVmcy5nZXQoJ1dPUktfRElSJykpCisg
ICAgICAgICBmaXJzdF90aW1lID0gMQorLSAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorLSAgICAg
ICAgaWYgZVswXSAhPSAxNzoKKy0gICAgICAgICAgICBwcmludCBlCisrICAgIGV4Y2VwdCBFeGNl
cHRpb24gYXMgZToKKysgICAgICAgIGlmIGUuYXJnc1swXSAhPSAxNzoKKysgICAgICAgICAgICBw
cmludChlKQorICAgICAgICAgICAgIHN5cy5leGl0KDEpCisgCisgICAgIHNldHVwX2xvZ2dpbmco
cHJlZnMsIGVuYWJsZV9kZWJ1ZywgdmVyYm9zZSwgZGFlbW9uKQorQEAgLTE1NCw3ICsxNTUsNyBA
QAorICAgICAgICAgICAgICAgICBwID0gUHVyZ2UocHJlZnMsIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVyZ2VfdGltZSkKKyAKKy0gICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBl
OgorKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAg
bG9ja19maWxlLnJlbW92ZSgpCisgICAgICAgICAgICAgICAgIGRpZShzdHIoZSkpCisgCitAQCAt
MTYyLDExICsxNjMsMTEgQEAKKyAgICAgICAgIGZvciBmIGluIGxvZ2ZpbGVzOgorICAgICAgICAg
ICAgIGRoID0gRGVueUhvc3RzKGYsIHByZWZzLCBsb2NrX2ZpbGUsIGlnbm9yZV9vZmZzZXQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RfdGltZSwgbm9lbWFpbCwgZGFlbW9uKQor
LSAgICBleGNlcHQgU3lzdGVtRXhpdCwgZToKKysgICAgZXhjZXB0IFN5c3RlbUV4aXQgYXMgZToK
KyAgICAgICAgIHBhc3MKKy0gICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlOgorICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRv
dXQpCistICAgICAgICBwcmludCAiXG5EZW55SG9zdHMgZXhpdGVkIGFibm9ybWFsbHkiCisrICAg
ICAgICBwcmludCgiXG5EZW55SG9zdHMgZXhpdGVkIGFibm9ybWFsbHkiKQorIAorIAorICAgICBp
ZiBzeW5jX21vZGUgYW5kIG5vdCBkYWVtb246CitAQCAtMTg5LDcgKzE5MCw3IEBACisgICAgICAg
ICAgICAgICAgICAgICBzeW5jLmdldF9kZW5pZWRfaG9zdHMoKQorICAgICAgICAgICAgICAgICAg
ICAgc3luYy51cGRhdGVfaG9zdHNfZGVueShuZXdfaG9zdHMpCisgICAgICAgICAgICAgc3luYy54
bWxycGNfZGlzY29ubmVjdCgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAg
ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIGxvY2tfZmlsZS5yZW1vdmUo
KQorICAgICAgICAgICAgIGRpZSgiRXJyb3Igc3luY2hyb25pemluZyBkYXRhIiwgZSkKKyAgICAg
ICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtZGVueWhvc3RzLnB5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAs
MCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLXBsdWdpbnNfX3Rlc3RfZGVueS5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBmaWxlcy9wYXRjaC1wbHVnaW5zX190ZXN0X2RlbnkucHkJKHJldmlzaW9uIDApCisrKyBm
aWxlcy9wYXRjaC1wbHVnaW5zX190ZXN0X2RlbnkucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxMCBAQAorLS0tIC4vcGx1Z2lucy90ZXN0X2RlbnkucHkub3JpZwkyMDA1LTEyLTE3IDA5OjE1
OjAxLjAwMDAwMDAwMCArMTAzMAorKysrIC4vcGx1Z2lucy90ZXN0X2RlbnkucHkJMjAxNC0wMy0x
MSAwMDo1ODowOC4yODMxODU3MzYgKzEwMzAKK0BAIC0xLDUgKzEsNiBAQAorICMhL3Vzci9iaW4v
cHl0aG9uCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBz
eXMKKyAKKy1wcmludCAiJXMgaW52b2tlZCB3aXRoIHRoZSBmb2xsb3dpbmcgYXJnczogJXMiICUg
KHN5cy5hcmd2WzBdLCBzeXMuYXJndlsxOl0pCisrcHJpbnQoIiVzIGludm9rZWQgd2l0aCB0aGUg
Zm9sbG93aW5nIGFyZ3M6ICVzIiAlIChzeXMuYXJndlswXSwgc3lzLmFyZ3ZbMTpdKSkKKyBzeXMu
ZXhpdCgwKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtcGx1Z2luc19fdGVzdF9k
ZW55LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5
ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
IyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRl
ZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRf
ZnJvbV9pbnZhbGlkLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3Ry
aWN0ZWRfZnJvbV9pbnZhbGlkLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtc2NyaXB0
c19fcmVzdHJpY3RlZF9mcm9tX2ludmFsaWQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
NyBAQAorLS0tIC4vc2NyaXB0cy9yZXN0cmljdGVkX2Zyb21faW52YWxpZC5weS5vcmlnCTIwMDYt
MDItMTAgMDQ6MTY6MDYuMDAwMDAwMDAwICsxMDMwCisrKysgLi9zY3JpcHRzL3Jlc3RyaWN0ZWRf
ZnJvbV9pbnZhbGlkLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMjg0MTg2MDI4ICsxMDMwCitAQCAt
MSwxNCArMSwxNSBAQAorICMhL2Jpbi9lbnYgcHl0aG9uCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9y
dCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBvcywgc3lzCisgCisgZGVmIHVzYWdlKCk6CistICAg
IHByaW50ICIlcyBXT1JLX0RJUiBbbnVtX3Jlc3VsdHNdIiAlIHN5cy5hcmd2WzBdCisrICAgIHBy
aW50KCIlcyBXT1JLX0RJUiBbbnVtX3Jlc3VsdHNdIiAlIHN5cy5hcmd2WzBdKQorICAgICBzeXMu
ZXhpdCgxKQorIAorIHRyeToKKyAgICAgd29ya19kaXIgPSBzeXMuYXJndlsxXQorIGV4Y2VwdDoK
Ky0gICAgcHJpbnQgInlvdSBtdXN0IHNwZWNpZnkgeW91ciBEZW55SG9zdHMgV09SS19ESVIiCisr
ICAgIHByaW50KCJ5b3UgbXVzdCBzcGVjaWZ5IHlvdXIgRGVueUhvc3RzIFdPUktfRElSIikKKyAg
ICAgdXNhZ2UoKQorIAorIHRyeTogCitAQCAtMjEsNyArMjIsNyBAQAorIHRyeToKKyAgICAgZnAg
PSBvcGVuKGZuYW1lLCAiciIpCisgZXhjZXB0OgorLSAgICBwcmludCBmbmFtZSwgImRvZXMgbm90
IGV4aXN0IgorKyAgICBwcmludChmbmFtZSwgImRvZXMgbm90IGV4aXN0IikKKyAgICAgc3lzLmV4
aXQoMSkKKyAKKyBkID0ge30KK0BAIC01MCw2ICs1MSw2IEBACisgICAgIGwgPSBkLmdldChrZXkp
CisgICAgIGZvciB1c2VybmFtZSBpbiBsOgorICAgICAgICAgaSArPSAxCistICAgICAgICBwcmlu
dCB1c2VybmFtZQorKyAgICAgICAgcHJpbnQodXNlcm5hbWUpCisgICAgICAgICBpZiBpID49IG51
bTogYnJlYWsKKyAgICAgaWYgaSA+PSBudW06IGJyZWFrCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBm
aWxlcy9wYXRjaC1zY3JpcHRzX19yZXN0cmljdGVkX2Zyb21faW52YWxpZC5weQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0
aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUK
IyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
CkluZGV4OiBmaWxlcy9wYXRjaC1zY3JpcHRzX19yZXN0cmljdGVkX2Zyb21fcGFzc3dkLnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2Qu
cHkJKHJldmlzaW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRf
ZnJvbV9wYXNzd2QucHkJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzEsMjEgQEAKLS0tLSAuL3Nj
cmlwdHMvcmVzdHJpY3RlZF9mcm9tX3Bhc3N3ZC5weS5vcmlnCTIwMTMtMTItMjggMTg6NTE6NDEu
MDAwMDAwMDAwICswMTAwCi0rKysgLi9zY3JpcHRzL3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2QucHkJ
MjAxMy0xMi0yOCAxODo1MTo0MS4wMDAwMDAwMDAgKzAxMDAKLUBAIC0xMiw2ICsxMiw3IEBACist
LS0gLi9zY3JpcHRzL3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2QucHkub3JpZwkyMDE0LTAzLTExIDAw
OjIzOjExLjM5ODE4NjI3NiArMTAzMAorKysrIC4vc2NyaXB0cy9yZXN0cmljdGVkX2Zyb21fcGFz
c3dkLnB5CTIwMTQtMDMtMTEgMDA6MjM6MjQuODc1MTg2MjEzICsxMDMwCitAQCAtMTAsOCArMTAs
OCBAQAorICMgd2hlcmUgJFdPUktfRElSIGlzIHlvdXIgRGVueUhvc3RzIFdPUktfRElSIHBhcmFt
ZXRlcgorICMKICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gCi0gUkVTVFJJQ1RFRF9TSEVMTFMgPSAo
Ii9zYmluL25vbG9naW4iLAotKyAgICAgICAgICAgICAgICAgICAgICIvdXNyL3NiaW4vbm9sb2dp
biIsCistCistUkVTVFJJQ1RFRF9TSEVMTFMgPSAoIi9zYmluL25vbG9naW4iLAorK2Zyb20gX19m
dXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKytSRVNUUklDVEVEX1NIRUxMUyA9ICgiL3Vz
ci9zYmluL25vbG9naW4iLAogICAgICAgICAgICAgICAgICAgICAgICIvc2Jpbi9zaHV0ZG93biIs
CiAgICAgICAgICAgICAgICAgICAgICAgIi9zYmluL2hhbHQiKQogIAorQEAgLTI2LDYgKzI2LDYg
QEAKKyAKKyB1c2VybmFtZXMuc29ydCgpCisgZm9yIHVzZXJuYW1lIGluIHVzZXJuYW1lczoKKy0g
ICAgcHJpbnQgdXNlcm5hbWUKKysgICAgcHJpbnQodXNlcm5hbWUpCisgICAgIAorICAgICAgICAg
ICAgICAgICAgICAgIAo=
--f46d0434394a214ba904f6ced211--
More information about the freebsd-ports-bugs
mailing list