Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jan 2012 17:19:12 -0800
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Doug Barton <dougb@freebsd.org>
Cc:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, FreeBSD current mailing list <freebsd-current@freebsd.org>
Subject:   Re: periodic emails
Message-ID:  <CAGH67wQkDOewrquuCB6TAFcyhx3nBd9pUEt7=w3GQ1LMVv1EXg@mail.gmail.com>
In-Reply-To: <4F02350D.2050500@FreeBSD.org>
References:  <E4CECE08-C9BE-4CA5-842B-420A44DCF461@lists.zabbadoz.net> <CAGH67wSUuzMtS51gOV5POEmuw3Do-Kcg6H3dawpDJ39a=OSw7A@mail.gmail.com> <4F023387.1060300@FreeBSD.org> <CAGH67wQOhsqBCRSWwH%2BaUVZWXzN0X6jLZr5L1MZycPx_-Ldygg@mail.gmail.com> <4F02350D.2050500@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--f46d044469e7a75f4e04b5957cd2
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Mon, Jan 2, 2012 at 2:51 PM, Doug Barton <dougb@freebsd.org> wrote:
> On 01/02/2012 14:49, Garrett Cooper wrote:
>> On Mon, Jan 2, 2012 at 2:45 PM, Doug Barton <dougb@freebsd.org> wrote:
>>> On 01/02/2012 14:14, Garrett Cooper wrote:
>>>
>>>> =A0 =A0 How does this look for starters? The attached patch's goal is =
to
>>>> provide a generic, rc(5)-like infrastructure that would quiet down the
>>>> periodic emails for 120.clean-preserve .
>>>
>>> The periodic scripts are badly in need of attention, so effort in that
>>> area is much appreciated.
>>>
>>> Regarding your patch, rather than copying functions from rc.subr, why
>>> not just source it? Yes, you will get more than you need, but I think
>>> that the virtue of not having to maintain the same code in 2 places far
>>> outweighs that minor drawback.
>>
>> =A0 =A0 That works too, assuming that rc.subr isn't too rc(5) centric.
>
> Well of course it's rc-centric, but that's not the point. :) =A0If you're
> going to be using the exact same code from rc.subr, you might as well
> just source it. The things that you'll get by doing that which are only
> relevant to rc you just ignore.
>
>> Thanks for the feedback!
>
> Glad to help.

    Here's a patch (untested apart from sh -n, but I'm going to toss
it into a VM to watch the sparks fly), based on stable/9 that makes
periodic(5) a bit more like rc(5).
    Apart from that it resolves some inconsistencies with
800.zfs-scrub (the defaults were in the script and not
/etc/defaults/periodic.conf), removes duplicate rc=3D0 declarations,
consolidates and generalizes the "catmsgs" function, catches more
errors, and some other good stuff.
Thanks!
-Garrett

--f46d044469e7a75f4e04b5957cd2
Content-Type: application/octet-stream; name="periodic-rototill.patch"
Content-Disposition: attachment; filename="periodic-rototill.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gwy8c8il0

SW5kZXg6IGV0Yy9wZXJpb2RpYy93ZWVrbHkvMzIwLndoYXRpcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMv
cGVyaW9kaWMvd2Vla2x5LzMyMC53aGF0aXMJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJp
b2RpYy93ZWVrbHkvMzIwLndoYXRpcwkod29ya2luZyBjb3B5KQpAQCAtMywyMSArMywxNSBAQAog
IyAkRnJlZUJTRCQKICMKIAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJh
dGlvbiBmaWxlLCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGlj
LmNvbmYgXQotdGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291
cmNlX3BlcmlvZGljX2NvbmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJHdl
ZWtseV93aGF0aXNfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hl
Y2t5ZXNubyB3ZWVrbHlfd2hhdGlzX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICJSZWJ1
aWxkaW5nIHdoYXRpcyBkYXRhYmFzZToiCiAKLQlNQU5QQVRIPWAvdXNyL2Jpbi9tYW5wYXRoIC1x
YAotCWlmIFsgJD8gPSAwIF0KKwlpZiBNQU5QQVRIPSQoL3Vzci9iaW4vbWFucGF0aCAtcSk7IHRo
ZW4KIAl0aGVuCiAJICAgIGlmIFsgLXogIiR7TUFOUEFUSH0iIF0KIAkgICAgdGhlbgpAQCAtMjUs
NyArMTksNiBAQAogCQlyYz0zCiAJICAgIGVsc2UKIAkJbWFuX2xvY2FsZXM9YC91c3IvYmluL21h
bnBhdGggLXFMYAotCQlyYz0wCiAKIAkgICAgICAgICMgQnVpbGQgd2hhdGlzKDEpIGRhdGFiYXNl
KHMpIGZvciBvcmlnaW5hbCwgbm9uLWxvY2FsaXplZAogCQkjICBtYW5wYWdlcy4KQEAgLTQzLDkg
KzM2LDcgQEAKIAkgICAgZmkKIAllbHNlCiAJICAgIHJjPTMKLQlmaTs7CisJZmkKK2ZpCiAKLSAg
ICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvd2Vla2x5
Lzk5OS5sb2NhbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvd2Vla2x5Lzk5OS5sb2NhbAko
cmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL3dlZWtseS85OTkubG9jYWwJKHdvcmtp
bmcgY29weSkKQEAgLTMsMTUgKzMsMTAgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUg
aXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlm
IFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVm
YXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0
Yy9wZXJpb2RpYy5zdWJyCiAKIHJjPTAKKwogZm9yIHNjcmlwdCBpbiAkd2Vla2x5X2xvY2FsCiBk
bwogICAgIGVjaG8gJycKSW5kZXg6IGV0Yy9wZXJpb2RpYy93ZWVrbHkvNDAwLnN0YXR1cy1wa2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3dlZWtseS80MDAuc3RhdHVzLXBrZwkocmV2aXNp
b24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL3dlZWtseS80MDAuc3RhdHVzLXBrZwkod29ya2lu
ZyBjb3B5KQpAQCAtMywxNiArMywxMSBAQAogIyAkRnJlZUJTRCQKICMKIAotIyBJZiB0aGVyZSBp
cyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGluLgotIwotaWYg
WyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4gL2V0Yy9kZWZh
dWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1maQorLiAvZXRj
L3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJHdlZWtseV9zdGF0dXNfcGtnX2VuYWJsZSIgaW4KLSAg
ICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8gd2Vla2x5X3N0YXR1c19wa2df
ZW5hYmxlOyB0aGVuCiAJZWNobyAiIgogCWVjaG8gIkNoZWNrIGZvciBvdXQgb2YgZGF0ZSBwYWNr
YWdlczoiCiAKQEAgLTI1LDkgKzIwLDcgQEAKIAkJLWUgJ3MvXlwoW14gXSotW14gXSpcKSAgKj8g
Klwob3JwaGFuZWQ6LipcKSQvICBcMSB3YXMgXDIvcCcgfAogCSAgICB0ZWUgL2Rldi9zdGRlcnIg
fAogCSAgICB3YyAtbCkKLQlbICRyYyAtZ3QgMSBdICYmIHJjPTE7OworCVsgJHJjIC1ndCAxIF0g
JiYgcmM9MQorZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0
Yy9wZXJpb2RpYy93ZWVrbHkvMzMwLmNhdG1hbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMv
d2Vla2x5LzMzMC5jYXRtYW4JKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy93ZWVr
bHkvMzMwLmNhdG1hbgkod29ya2luZyBjb3B5KQpAQCAtMyw1NiArMyw0NCBAQAogIyAkRnJlZUJT
RCQKICMKIAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxl
LCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQot
dGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3Blcmlv
ZGljX2NvbmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJHdlZWtseV9jYXRt
YW5fZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyB3
ZWVrbHlfY2F0bWFuX2VuYWJsZTsgdGhlbgogCWlmIFsgISAtZCAvdXNyL3NoYXJlL21hbi9jYXQx
IF0KIAl0aGVuCi0JICAgIGVjaG8gJyR3ZWVrbHlfY2F0bWFuX2VuYWJsZSBpcyBzZXQgYnV0IC91
c3Ivc2hhcmUvbWFuL2NhdDEnIFwKKwkgICAgZXJyIDIgJyR3ZWVrbHlfY2F0bWFuX2VuYWJsZSBp
cyBzZXQgYnV0IC91c3Ivc2hhcmUvbWFuL2NhdDEnIFwKIAkJImRvZXNuJ3QgZXhpc3QiCi0JICAg
IHJjPTIKLQllbHNlCi0JICAgIGVjaG8gIiIKLQkgICAgZWNobyAiUmVmb3JtYXR0aW5nIG1hbnVh
bCBwYWdlczoiCisJZmkKKwllY2hvICIiCisJZWNobyAiUmVmb3JtYXR0aW5nIG1hbnVhbCBwYWdl
czoiCiAKLQkgICAgTUFOUEFUSD1gL3Vzci9iaW4vbWFucGF0aCAtcWAKLQkgICAgaWYgWyAkPyA9
IDAgXQorCWlmIE1BTlBBVEg9YC91c3IvYmluL21hbnBhdGggLXFgOyB0aGVuCisJdGhlbgorCSAg
ICBpZiBbIC16ICIke01BTlBBVEh9IiBdCiAJICAgIHRoZW4KLQkJaWYgWyAteiAiJHtNQU5QQVRI
fSIgXQotCQl0aGVuCi0JCSAgICBlY2hvICJtYW5wYXRoIGZhaWxlZCB0byBmaW5kIGFueSBtYW5w
YXRoIGRpcmVjdG9yaWVzIgotCQkgICAgcmM9MwotCQllbHNlCi0JCSAgICBtYW5fbG9jYWxlcz1g
L3Vzci9iaW4vbWFucGF0aCAtcUxgCi0JCSAgICByYz0wCisJICAgICAgICBlcnIgMyAibWFucGF0
aCBmYWlsZWQgdG8gZmluZCBhbnkgbWFucGF0aCBkaXJlY3RvcmllcyIKKwkgICAgZWxzZQorCSAg
ICAgICAgbWFuX2xvY2FsZXM9YC91c3IvYmluL21hbnBhdGggLXFMYAogCi0JCSAgICAjIFByZWZv
cm1hdCBvcmlnaW5hbCwgbm9uLWxvY2FsaXplZCBtYW5wYWdlcwotCQkgICAgZWNobyAvdXNyL2xp
YmV4ZWMvY2F0bWFuLmxvY2FsIC1yICIkTUFOUEFUSCIgfAotCQkJc3UgLWZtIG1hbiB8fCByYz0z
CisJICAgICAgICAjIFByZWZvcm1hdCBvcmlnaW5hbCwgbm9uLWxvY2FsaXplZCBtYW5wYWdlcwor
CQllY2hvIC91c3IvbGliZXhlYy9jYXRtYW4ubG9jYWwgLXIgIiRNQU5QQVRIIiB8CisJCSAgICBz
dSAtZm0gbWFuIHx8IHJjPTMKIAotCQkgICAgIyBQcmVmb3JtYXQgbG9jYWxpemVkIG1hbnBhZ2Vz
LgotCQkgICAgaWYgWyAtbiAiJG1hbl9sb2NhbGVzIiBdCi0JCSAgICB0aGVuCi0JCQlmb3IgaSBp
biAkbWFuX2xvY2FsZXMKLQkJCWRvCi0JCQkgICAgZWNobyAvdXNyL2xpYmV4ZWMvY2F0bWFuLmxv
Y2FsIC1MciBcCi0JCQkJIiRNQU5QQVRIIiB8IExDX0FMTD0kaSBzdSAtZm0gbWFuIHx8IHJjPTMK
LQkJCWRvbmUKLQkJICAgIGZpCisJCSMgUHJlZm9ybWF0IGxvY2FsaXplZCBtYW5wYWdlcy4KKwkJ
aWYgWyAtbiAiJG1hbl9sb2NhbGVzIiBdCisJCXRoZW4KKwkJICAgIGZvciBpIGluICRtYW5fbG9j
YWxlcworCQkgICAgZG8KKwkJICAgICAgICBlY2hvIC91c3IvbGliZXhlYy9jYXRtYW4ubG9jYWwg
LUxyIFwKKwkJCSIkTUFOUEFUSCIgfCBMQ19BTEw9JGkgc3UgLWZtIG1hbiB8fCByYz0zCisJCSAg
ICBkb25lCiAJCWZpCi0JICAgIGVsc2UKLQkJcmM9MwogCSAgICBmaQotCWZpOzsKKwllbHNlCisJ
ICAgIHJjPTMKKwlmaQorZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5k
ZXg6IGV0Yy9wZXJpb2RpYy93ZWVrbHkvMzEwLmxvY2F0ZQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVy
aW9kaWMvd2Vla2x5LzMxMC5sb2NhdGUJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2Rp
Yy93ZWVrbHkvMzEwLmxvY2F0ZQkod29ya2luZyBjb3B5KQpAQCAtMywzMCArMywyMyBAQAogIyAk
RnJlZUJTRCQKICMKIAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlv
biBmaWxlLCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNv
bmYgXQotdGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNl
X3BlcmlvZGljX2NvbmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJHdlZWts
eV9sb2NhdGVfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5
ZXNubyB3ZWVrbHlfbG9jYXRlX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICJSZWJ1aWxk
aW5nIGxvY2F0ZSBkYXRhYmFzZToiCiAKIAlsb2NkYj0vdmFyL2RiL2xvY2F0ZS5kYXRhYmFzZQog
Ci0JdG91Y2ggJGxvY2RiICYmIHJjPTAgfHwgcmM9MworCXRvdWNoICRsb2NkYiB8fCByYz0zCiAJ
Y2hvd24gbm9ib2R5ICRsb2NkYiB8fCByYz0zCiAJY2htb2QgNjQ0ICRsb2NkYiB8fCByYz0zCiAK
IAljZCAvCiAJZWNobyAvdXNyL2xpYmV4ZWMvbG9jYXRlLnVwZGF0ZWRiIHwgbmljZSAtbiA1IHN1
IC1mbSBub2JvZHkgfHwgcmM9MwotCWNobW9kIDQ0NCAkbG9jZGIgfHwgcmM9Mzs7CisJY2htb2Qg
NDQ0ICRsb2NkYiB8fCByYz0zCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRy
YwpJbmRleDogZXRjL3BlcmlvZGljL3dlZWtseS8zNDAubm9pZAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMv
cGVyaW9kaWMvd2Vla2x5LzM0MC5ub2lkCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9k
aWMvd2Vla2x5LzM0MC5ub2lkCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE2ICszLDExIEBACiAjICRG
cmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9u
IGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u
ZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2Vf
cGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkd2Vla2x5
X25vaWRfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNu
byB3ZWVrbHlfbm9pZF9lbmFibGU7IHRoZW4KIAllY2hvICIiCiAJZWNobyAiQ2hlY2sgZm9yIGZp
bGVzIHdpdGggYW4gdW5rbm93biB1c2VyIG9yIGdyb3VwOiIKIApAQCAtMjEsOSArMTYsNiBAQAog
CSAgICBcKCAtbm9ncm91cCAtbyAtbm91c2VyIFwpIC1wcmludCB8IHNlZCAncy9eLyAgLycgfAog
CSAgICB0ZWUgL2Rldi9zdGRlcnIgfCB3YyAtbCkKIAlbICRyYyAtZ3QgMSBdICYmIHJjPTEKLQk7
OworZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJp
b2RpYy9kYWlseS8zMzAubmV3cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMzMw
Lm5ld3MJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS8zMzAubmV3cwko
d29ya2luZyBjb3B5KQpAQCAtNiwyOSArNiwyMSBAQAogIyAoVGhpcyBpcyBwcmVzZW50IG9ubHkg
Zm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB1c3VhbGx5IHRoZSBuZXdzCiAjIHN5c3RlbSBo
YW5kbGVzIHRoaXMgb24gaXRzIG93bikuCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVt
IGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0
cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u
ZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAK
LWNhc2UgIiRkYWlseV9uZXdzX2V4cGlyZV9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQor
cmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X25ld3NfZXhwaXJlX2VuYWJsZTsgdGhlbgogCWlm
IFsgISAtZiAvZXRjL25ld3MuZXhwaXJlIF0KIAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9uZXdz
X2V4cGlyZV9lbmFibGUgaXMgc2V0IGJ1dCAvZXRjL25ld3MuZXhwaXJlJyBcCisJICAgIGVyciAy
ICckZGFpbHlfbmV3c19leHBpcmVfZW5hYmxlIGlzIHNldCBidXQgL2V0Yy9uZXdzLmV4cGlyZScg
XAogCQkiZG9lc24ndCBleGlzdCIKLQkgICAgcmM9MgogCWVsc2UKIAkgICAgZWNobyAiIgogCSAg
ICBlY2hvICJSdW5uaW5nIG5ld3MuZXhwaXJlOiIKIAogCSAgICAvZXRjL25ld3MuZXhwaXJlICYm
IHJjPTAgfHwgcmM9MwotCWZpOzsKKwlmaQorZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQog
ZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS80OTAuc3RhdHVzLXBrZy1jaGFuZ2Vz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9kYWlseS80OTAuc3RhdHVzLXBrZy1jaGFuZ2Vz
CShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvNDkwLnN0YXR1cy1wa2ct
Y2hhbmdlcwkod29ya2luZyBjb3B5KQpAQCAtMywyMiArMywxNiBAQAogIyAkRnJlZUJTRCQKICMK
IAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNr
IGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXTsgdGhlbgot
ICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2Nv
bmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3N0YXR1c19wa2df
Y2hhbmdlc19lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3ll
c25vIGRhaWx5X3N0YXR1c19wa2dfY2hhbmdlc19lbmFibGU7IHRoZW4KIAlpZiBbICEgLWYgL3Vz
ci9zYmluL3BrZ19pbmZvIF07IHRoZW4KLQkgICAgZWNobyAnJGRhaWx5X3N0YXR1c19wa2dfY2hh
bmdlc19lbmFibGUgaXMgZW5hYmxlZCBidXQnIFwKKwkgICAgZXJyIDIgJyRkYWlseV9zdGF0dXNf
cGtnX2NoYW5nZXNfZW5hYmxlIGlzIGVuYWJsZWQgYnV0JyBcCiAJCSAiL3Vzci9zYmluL3BrZ19p
bmZvIGRvZXNuJ3QgZXhpc3QiCi0JICAgIHJjPTIKIAllbHNlCiAJICAgIGJhaz0vdmFyL2JhY2t1
cHMKLQkgICAgcmM9MAogCiAJICAgIGlmIFsgLWYgJGJhay9wa2dfaW5mby5iYWsgXTsgdGhlbgog
CSAgICAJbXYgLWYgJGJhay9wa2dfaW5mby5iYWsgJGJhay9wa2dfaW5mby5iYWsyCkBAIC0zMywx
MSArMjcsNiBAQAogCQl8IGdyZXAgJ15bLStdW14tK10nIHwgc29ydCAtayAxLjIKIAkgICAgZmkK
IAlmaQotCTs7CitmaQogCi0gICAgKikKLQlyYz0wCi0JOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5k
ZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS85OTkubG9jYWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3Blcmlv
ZGljL2RhaWx5Lzk5OS5sb2NhbAkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2Rh
aWx5Lzk5OS5sb2NhbAkod29ya2luZyBjb3B5KQpAQCAtNiwxMyArNiw3IEBACiAjIGNvbXBhdGli
aWxpdHkgbW9yZSB0aGFuIGFueXRoaW5nIGVsc2UuCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9i
YWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0
Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVy
aW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2Rp
Yy5zdWJyCiAKIHJjPTAKIGZvciBzY3JpcHQgaW4gJGRhaWx5X2xvY2FsCkluZGV4OiBldGMvcGVy
aW9kaWMvZGFpbHkvODAwLnNjcnViLXpmcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFp
bHkvODAwLnNjcnViLXpmcwkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5
LzgwMC5zY3J1Yi16ZnMJKHdvcmtpbmcgY29weSkKQEAgLTMsMjIgKzMsMTYgQEAKICMgJEZyZWVC
U0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmls
ZSwgc3VjayBpdCBpbi4KLSMKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKIG5ld2xpbmU9IgogIiAj
IEEgc2luZ2xlIG5ld2xpbmUKIAotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYg
XQotdGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3Bl
cmlvZGljX2NvbmZzCi1maQorcmM9MAogCiA6ICR7ZGFpbHlfc2NydWJfemZzX2RlZmF1bHRfdGhy
ZXNob2xkPTMwfQogCi1jYXNlICIkZGFpbHlfc2NydWJfemZzX2VuYWJsZSIgaW4KLSAgICBbWXld
W0VlXVtTc10pCitpZiBjaGVja3llc25vIGRhaWx5X3NjcnViX3pmc19lbmFibGU7IHRoZW4KIAll
Y2hvCiAJZWNobyAnU2NydWJiaW5nIG9mIHpmcyBwb29sczonCiAKQEAgLTI2LDcgKzIwLDYgQEAK
IAkJZGFpbHlfc2NydWJfemZzX3Bvb2xzPSIkKHpwb29sIGxpc3QgLUggLW8gbmFtZSkiCiAJZmkK
IAotCXJjPTAKIAlmb3IgcG9vbCBpbiAke2RhaWx5X3NjcnViX3pmc19wb29sc307IGRvCiAJCSMg
c2FuaXR5IGNoZWNrCiAJCV9zdGF0dXM9JCh6cG9vbCBsaXN0ICIke3Bvb2x9IiAyPiAvZGV2L251
bGwpCkBAIC04OCwxMSArODEsNiBAQAogCiAJCWVjaG8gIiAgICAgIGNvbnN1bHQgJ3pwb29sIHN0
YXR1cyAke3Bvb2x9JyBmb3IgdGhlIHJlc3VsdCIKIAlkb25lCi0JOzsKK2ZpCiAKLSAgICAqKQot
CXJjPTAKLQk7OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzQ0
MC5zdGF0dXMtbWFpbHEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzQ0MC5zdGF0
dXMtbWFpbHEJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS80NDAuc3Rh
dHVzLW1haWxxCSh3b3JraW5nIGNvcHkpCkBAIC0zLDY0ICszLDUzIEBACiAjICRGcmVlQlNEJAog
IwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1
Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVu
Ci0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNf
Y29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfc3RhdHVzX21h
aWxxX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8g
ZGFpbHlfc3RhdHVzX21haWxxX2VuYWJsZTsgdGhlbgogCWlmIFsgISAteCAvdXNyL2Jpbi9tYWls
cSBdCiAJdGhlbgotCSAgICBlY2hvICckZGFpbHlfc3RhdHVzX21haWxxX2VuYWJsZSBpcyBzZXQg
YnV0IC91c3IvYmluL21haWxxJyBcCisJICAgIGVyciAyICckZGFpbHlfc3RhdHVzX21haWxxX2Vu
YWJsZSBpcyBzZXQgYnV0IC91c3IvYmluL21haWxxJyBcCiAJCSJpc24ndCBleGVjdXRhYmxlIgot
CSAgICByYz0yCiAJZWxzZQogCSAgICBlY2hvICIiCiAJICAgIGVjaG8gIk1haWwgaW4gbG9jYWwg
cXVldWU6IgogCi0JICAgIHJjPSQoY2FzZSAiJGRhaWx5X3N0YXR1c19tYWlscV9zaG9ydGVuIiBp
bgotCQlbWXldW0VlXVtTc10pCisJICAgIG49JChpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19t
YWlscV9zaG9ydGVuOyB0aGVuCiAJCSAgICBtYWlscSB8CiAJCQllZ3JlcCAtZSAnXltbOnNwYWNl
Ol1dK1teWzpzcGFjZTpdXStAJyB8CiAJCQlzb3J0IHwKIAkJCXVuaXEgLWMgfAogCQkJc29ydCAt
bnIgfAotCQkJYXdrICckMSA+PSAxIHtwcmludCAkMSwgJDJ9Jzs7Ci0JCSopCi0JCSAgICBtYWls
cTs7Ci0JICAgIGVzYWMgfCB0ZWUgL2Rldi9zdGRlcnIgfAorCQkJYXdrICckMSA+PSAxIHtwcmlu
dCAkMSwgJDJ9JworCQllbHNlCisJCSAgICBtYWlscQorCSAgICAgICAgZmkgfCB0ZWUgL2Rldi9z
dGRlcnIgfAogCSAgICBlZ3JlcCAtdiAnKG1xdWV1ZSBpcyBlbXB0eXxUb3RhbCByZXF1ZXN0cykn
IHwgd2MgLWwpCi0JICAgIFsgJHJjIC1ndCAwIF0gJiYgcmM9MSB8fCByYz0wCisJICAgIFsgJG4g
LWd0IDAgXSAmJiByYz0xCiAKLQkgICAgY2FzZSAiJGRhaWx5X3N0YXR1c19pbmNsdWRlX3N1Ym1p
dF9tYWlscSIgaW4KLQkgICAgW1l5XVtFZV1bU3NdKQorCSAgICBpZiBjaGVja3llc25vIGRhaWx5
X3N0YXR1c19pbmNsdWRlX3N1Ym1pdF9tYWlscTsgdGhlbgogCQlpZiBbIC1mIC9ldGMvbWFpbC9z
dWJtaXQuY2YgXQogCQl0aGVuCiAJCSAgICBlY2hvICIiCiAJCSAgICBlY2hvICJNYWlsIGluIHN1
Ym1pdCBxdWV1ZToiCiAKLQkJICAgIHJjX3N1Ym1pdD0kKGNhc2UgIiRkYWlseV9zdGF0dXNfbWFp
bHFfc2hvcnRlbiIgaW4KLQkJCVtZeV1bRWVdW1NzXSkKKwkJICAgIG49JChpZiBjaGVja3llc25v
IGRhaWx5X3N0YXR1c19tYWlscV9zaG9ydGVuOyB0aGVuCiAJCQkgICAgbWFpbHEgLUFjIHwKIAkJ
CQllZ3JlcCAtZSAnXltbOnNwYWNlOl1dK1teWzpzcGFjZTpdXStAJyB8CiAJCQkJc29ydCB8CiAJ
CQkJdW5pcSAtYyB8CiAJCQkJc29ydCAtbnIgfAotCQkJCWF3ayAnJDEgPj0gMSB7cHJpbnQgJDEs
ICQyfSc7OwotCQkJKikKLQkJCSAgICBtYWlscSAtQWM7OwotCQkgICAgZXNhYyB8IHRlZSAvZGV2
L3N0ZGVyciB8CisJCQkJYXdrICckMSA+PSAxIHtwcmludCAkMSwgJDJ9JworCQkJZWxzZQorCQkJ
ICAgIG1haWxxIC1BYworCQkgICAgICAgIGZpIHwgdGVlIC9kZXYvc3RkZXJyIHwKIAkJICAgIGVn
cmVwIC12ICcobXF1ZXVlIGlzIGVtcHR5fFRvdGFsIHJlcXVlc3RzKScgfCB3YyAtbCkKLQkJICAg
IFsgJHJjX3N1Ym1pdCAtZ3QgMCBdICYmIHJjPTEKLQkJZmk7OwotCSAgICBlc2FjCi0JZmk7Owor
CQkgICAgWyAkbiAtZ3QgMCBdICYmIHJjPTEKKwkJZmkKKwkgICAgZmkKKwlmaQorZmkKIAotICAg
ICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS8x
MzAuY2xlYW4tbXNncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMTMwLmNsZWFu
LW1zZ3MJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS8xMzAuY2xlYW4t
bXNncwkod29ya2luZyBjb3B5KQpAQCAtNSwyMSArNSwxNSBAQAogIyBSZW1vdmUgc3lzdGVtCW1l
c3NhZ2VzCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24g
ZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25m
IF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9w
ZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2UgIiRkYWlseV9j
bGVhbl9tc2dzX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNr
eWVzbm8gZGFpbHlfY2xlYW5fbXNnc19lbmFibGU7IHRoZW4KIAlpZiBbICEgLWQgL3Zhci9tc2dz
IF0KIAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9jbGVhbl9tc2dzX2VuYWJsZSBpcyBzZXQgYnV0
IC92YXIvbXNncycgXAorCSAgICBlcnIgMiAnJGRhaWx5X2NsZWFuX21zZ3NfZW5hYmxlIGlzIHNl
dCBidXQgL3Zhci9tc2dzJyBcCiAJCSJkb2Vzbid0IGV4aXN0IgotCSAgICByYz0yCiAJZWxzZQog
CSAgICBlY2hvICIiCiAJICAgIGVjaG8gIkNsZWFuaW5nIG91dCBvbGQgc3lzdGVtIGFubm91bmNl
bWVudHM6IgpAQCAtMjcsOSArMjEsNyBAQAogCSAgICBbIC1uICIkZGFpbHlfY2xlYW5fbXNnc19k
YXlzIiBdICYmCiAJCWFyZz0tJHtkYWlseV9jbGVhbl9tc2dzX2RheXMjLX0gfHwgYXJnPQogCSAg
ICBtc2dzIC1jICRhcmcgJiYgcmM9MCB8fCByYz0zCi0JZmk7OworCWZpCitmaQogCi0gICAgKikg
IHJjPTA7OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzEwMC5j
bGVhbi1kaXNrcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMTAwLmNsZWFuLWRp
c2tzCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvMTAwLmNsZWFuLWRp
c2tzCSh3b3JraW5nIGNvcHkpCkBAIC01LDUxICs1LDQwIEBACiAjIFJlbW92ZSBnYXJiYWdlIGZp
bGVzIG1vcmUgdGhhbiAkZGFpbHlfY2xlYW5fZGlza3NfZGF5cyBkYXlzIG9sZAogIwogCi0jIElm
IHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4u
Ci0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAv
ZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZp
CisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfY2xlYW5fZGlza3NfZW5hYmxl
IiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyBkYWlseV9jbGVh
bl9kaXNrc19lbmFibGU7IHRoZW4KIAlpZiBbIC16ICIkZGFpbHlfY2xlYW5fZGlza3NfZGF5cyIg
XQogCXRoZW4KLQkgICAgZWNobyAnJGRhaWx5X2NsZWFuX2Rpc2tzX2VuYWJsZSBpcyBzZXQgYnV0
JyBcCisJICAgIGVyciAyICckZGFpbHlfY2xlYW5fZGlza3NfZW5hYmxlIGlzIHNldCBidXQnIFwK
IAkJJyRkYWlseV9jbGVhbl9kaXNrc19kYXlzIGlzIG5vdCcKLQkgICAgcmM9MgogCWVsaWYgWyAt
eiAiJGRhaWx5X2NsZWFuX2Rpc2tzX2ZpbGVzIiBdCiAJdGhlbgotCSAgICBlY2hvICckZGFpbHlf
Y2xlYW5fZGlza3NfZW5hYmxlIGlzIHNldCBidXQnIFwKKwkgICAgZXJyIDIgJyRkYWlseV9jbGVh
bl9kaXNrc19lbmFibGUgaXMgc2V0IGJ1dCcgXAogCQknJGRhaWx5X2NsZWFuX2Rpc2tzX2ZpbGVz
IGlzIG5vdCcKLQkgICAgcmM9MgogCWVsc2UKLQkgICAgZWNobyAiIgotCSAgICBlY2hvICJDbGVh
bmluZyBkaXNrczoiCisJICAgIGlmIGNoZWNreWVzbm8gZGFpbHlfY2xlYW5fZGlza3NfdmVyYm9z
ZTsgdGhlbgorCQllY2hvICIiCisJCWVjaG8gIkNsZWFuaW5nIGRpc2tzOiIKKworCQlwcmludD0t
cHJpbnQKKwkgICAgZWxzZQorCQlwcmludD0KKwkgICAgZmkKIAkgICAgc2V0IC1mIG5vZ2xvYgog
CSAgICBhcmdzPSItbmFtZSAiYGVjaG8gIiRkYWlseV9jbGVhbl9kaXNrc19maWxlcyIgfAogCQlz
ZWQgLWUgJ3MvXlsgCV0qLy8nIFwKIAkJICAgIC1lICdzL1sgCV0qJC8vJyBcCiAJCSAgICAtZSAn
cy9bIAldWyAJXSovIC1vIC1uYW1lIC9nJ2AKIAotCSAgICBjYXNlICIkZGFpbHlfY2xlYW5fZGlz
a3NfdmVyYm9zZSIgaW4KLQkJW1l5XVtFZV1bU3NdKQotCQkgICAgcHJpbnQ9LXByaW50OzsKLQkJ
KikKLQkJICAgIHByaW50PTs7Ci0JICAgIGVzYWMKLQogCSAgICByYz0kKGZpbmQgLyBcKCAhIC1m
c3R5cGUgbG9jYWwgLW8gLWZzdHlwZSByZG9ubHkgXCkgLXBydW5lIC1vIFwKIAkJXCggJGFyZ3Mg
XCkgLWF0aW1lICskZGFpbHlfY2xlYW5fZGlza3NfZGF5cyBcCiAJCS1leGVjZGlyIHJtIC1kZiB7
fSBcOyAkcHJpbnQgfCB0ZWUgL2Rldi9zdGRlcnIgfCB3YyAtbCkKLQkgICAgWyAteiAiJHByaW50
IiBdICYmIHJjPTAKIAkgICAgWyAkcmMgLWd0IDEgXSAmJiByYz0xCiAJICAgIHNldCAtZiBnbG9i
Ci0JZmk7OworCWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRyYwpJbmRl
eDogZXRjL3BlcmlvZGljL2RhaWx5LzQ1MC5zdGF0dXMtc2VjdXJpdHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
ZXRjL3BlcmlvZGljL2RhaWx5LzQ1MC5zdGF0dXMtc2VjdXJpdHkJKHJldmlzaW9uIDIyOTMyMykK
KysrIGV0Yy9wZXJpb2RpYy9kYWlseS80NTAuc3RhdHVzLXNlY3VyaXR5CSh3b3JraW5nIGNvcHkp
CkBAIC0zLDM5ICszLDMxIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xv
YmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9l
dGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3Bl
cmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9k
aWMuc3VicgogCi1jYXNlICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2VuYWJsZSIgaW4KLSAgICBb
WXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5
X2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICJTZWN1cml0eSBjaGVjazoiCiAKLQljYXNl
ICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2lubGluZSIgaW4KLQkgICAgW1l5XVtFZV1bU3NdKQor
CWlmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2lubGluZTsgdGhlbgogCQlleHBv
cnQgc2VjdXJpdHlfb3V0cHV0PSIiOzsKLQkgICAgKikKKwllbHNlCiAJCWV4cG9ydCBzZWN1cml0
eV9vdXRwdXQ9IiR7ZGFpbHlfc3RhdHVzX3NlY3VyaXR5X291dHB1dH0iCiAJCWNhc2UgIiR7ZGFp
bHlfc3RhdHVzX3NlY3VyaXR5X291dHB1dH0iIGluCiAJCSAgICAiIikKIAkJCXJjPTM7OwogCQkg
ICAgLyopCiAJCQllY2hvICIgICAgKG91dHB1dCBsb2dnZWQgc2VwYXJhdGVseSkiCi0JCQlyYz0w
OzsKKwkJCTs7CiAJCSAgICAqKQogCQkJZWNobyAiICAgIChvdXRwdXQgbWFpbGVkIHNlcGFyYXRl
bHkpIgotCQkJcmM9MDs7Ci0JCWVzYWM7OwotCWVzYWMKKwkJCTs7CisJCWVzYWMKKwlmaQogCi0J
cGVyaW9kaWMgc2VjdXJpdHkgfHwgcmM9Mzs7CisJcGVyaW9kaWMgc2VjdXJpdHkgfHwgcmM9Mwor
ZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2Rp
Yy9kYWlseS8xNDAuY2xlYW4tcndobwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkv
MTQwLmNsZWFuLXJ3aG8JKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS8x
NDAuY2xlYW4tcndobwkod29ya2luZyBjb3B5KQpAQCAtNSw0OSArNSwzNyBAQAogIyBSZW1vdmUg
c3RhbGUgZmlsZXMgaW4gL3Zhci9yd2hvCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lz
dGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZh
dWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMu
Y29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJy
CiAKLWNhc2UgIiRkYWlseV9jbGVhbl9yd2hvX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10p
CityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFpbHlfY2xlYW5fcndob19lbmFibGU7IHRoZW4KIAlp
ZiBbIC16ICIkZGFpbHlfY2xlYW5fcndob19kYXlzIiBdCiAJdGhlbgotCSAgICBlY2hvICckZGFp
bHlfY2xlYW5fcndob19lbmFibGUgaXMgZW5hYmxlZCBidXQnIFwKKwkgICAgZXJyIDIgJyRkYWls
eV9jbGVhbl9yd2hvX2VuYWJsZSBpcyBlbmFibGVkIGJ1dCcgXAogCQknJGRhaWx5X2NsZWFuX3J3
aG9fZGF5cyBpcyBub3Qgc2V0JwotCSAgICByYz0yCiAJZWxpZiBbICEgLWQgL3Zhci9yd2hvIF0K
IAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9jbGVhbl9yd2hvX2VuYWJsZSBpcyBlbmFibGVkIGJ1
dCAvdmFyL3J3aG8nIFwKKwkgICAgZXJyIDIgJyRkYWlseV9jbGVhbl9yd2hvX2VuYWJsZSBpcyBl
bmFibGVkIGJ1dCAvdmFyL3J3aG8nIFwKIAkJImRvZXNuJ3QgZXhpc3QiCi0JICAgIHJjPTIKIAll
bHNlCi0JICAgIGVjaG8gIiIKLQkgICAgZWNobyAiUmVtb3Zpbmcgc3RhbGUgZmlsZXMgZnJvbSAv
dmFyL3J3aG86IgorCSAgICBpZiBjaGVja3llc25vIGRhaWx5X2NsZWFuX3J3aG9fdmVyYm9zZTsg
dGhlbgorCQllY2hvICIiCisJCWVjaG8gIlJlbW92aW5nIHN0YWxlIGZpbGVzIGZyb20gL3Zhci9y
d2hvOiIKIAotCSAgICBjYXNlICIkZGFpbHlfY2xlYW5fcndob192ZXJib3NlIiBpbgotCQlbWXld
W0VlXVtTc10pCi0JCSAgICBwcmludD0tcHJpbnQ7OwotCQkqKQotCQkgICAgcHJpbnQ9OzsKLQkg
ICAgZXNhYwotCisJCXByaW50PS1wcmludAorCSAgICBlbHNlCisJCXByaW50PQorCSAgICBmaQog
CSAgICBpZiBjZCAvdmFyL3J3aG8KIAkgICAgdGhlbgogCQlyYz0kKGZpbmQgLiAhIC1uYW1lIC4g
LW10aW1lICskZGFpbHlfY2xlYW5fcndob19kYXlzIFwKIAkJICAgIC1kZWxldGUgJHByaW50IHwg
dGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCi0JCVsgLXogIiRwcmludCIgXSAmJiByYz0wCiAJCVsg
JHJjIC1ndCAxIF0gJiYgcmM9MQogCSAgICBlbHNlCiAJCXJjPTMKIAkgICAgZmkKLQlmaTs7CisJ
ZmkKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBldGMvcGVy
aW9kaWMvZGFpbHkvMTEwLmNsZWFuLXRtcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2Rh
aWx5LzExMC5jbGVhbi10bXBzCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFp
bHkvMTEwLmNsZWFuLXRtcHMJKHdvcmtpbmcgY29weSkKQEAgLTYsMjUgKzYsMjQgQEAKICMgZG9u
J3QgZW5kIHVwIHdpdGggZXhjZXNzaXZlbHkgb2xkIGZpbGVzIHRoZXJlLgogIwogCi0jIElmIHRo
ZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0j
Ci1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRj
L2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisu
IC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfY2xlYW5fdG1wc19lbmFibGUiIGlu
Ci0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X2NsZWFuX3Rt
cHNfZW5hYmxlOyB0aGVuCiAJaWYgWyAteiAiJGRhaWx5X2NsZWFuX3RtcHNfZGF5cyIgXQogCXRo
ZW4KLQkgICAgZWNobyAnJGRhaWx5X2NsZWFuX3RtcHNfZW5hYmxlIGlzIHNldCBidXQnIFwKKwkg
ICAgZXJyIDIgJyRkYWlseV9jbGVhbl90bXBzX2VuYWJsZSBpcyBzZXQgYnV0JyBcCiAJCSckZGFp
bHlfY2xlYW5fdG1wc19kYXlzIGlzIG5vdCcKLQkgICAgcmM9MgogCWVsc2UKLQkgICAgZWNobyAi
IgotCSAgICBlY2hvICJSZW1vdmluZyBvbGQgdGVtcG9yYXJ5IGZpbGVzOiIKKwkgICAgaWYgY2hl
Y2t5ZXNubyBkYWlseV9jbGVhbl90bXBzX3ZlcmJvc2U7IHRoZW4KKwkJZWNobyAiIgorCQllY2hv
ICJSZW1vdmluZyBvbGQgdGVtcG9yYXJ5IGZpbGVzOiIKIAorCQlwcmludD0tcHJpbnQKKwkgICAg
ZWxzZQorCQlwcmludD0KKwkgICAgZmkKIAkgICAgc2V0IC1mIG5vZ2xvYgogCSAgICBhcmdzPSIt
YXRpbWUgKyRkYWlseV9jbGVhbl90bXBzX2RheXMgLW10aW1lICskZGFpbHlfY2xlYW5fdG1wc19k
YXlzIgogCSAgICBhcmdzPSIke2FyZ3N9IC1jdGltZSArJGRhaWx5X2NsZWFuX3RtcHNfZGF5cyIK
QEAgLTM1LDEzICszNCw2IEBACiAJCWRhcmdzPSIkZGFyZ3MgImBlY2hvICIgJHtkYWlseV9jbGVh
bl90bXBzX2lnbm9yZSUgfSIgfAogCQkgICAgc2VkICdzL1sgCV1bIAldKi8gISAtbmFtZSAvZydg
CiAJICAgIH0KLQkgICAgY2FzZSAiJGRhaWx5X2NsZWFuX3RtcHNfdmVyYm9zZSIgaW4KLQkJW1l5
XVtFZV1bU3NdKQotCQkgICAgcHJpbnQ9LXByaW50OzsKLQkJKikKLQkJICAgIHByaW50PTs7Ci0J
ICAgIGVzYWMKLQogCSAgICByYz0kKGZvciBkaXIgaW4gJGRhaWx5X2NsZWFuX3RtcHNfZGlycwog
CQlkbwogCQkgICAgWyAuIiR7ZGlyIy99IiAhPSAuIiRkaXIiIC1hIC1kICRkaXIgXSAmJiBjZCAk
ZGlyICYmIHsKQEAgLTQ5LDEyICs0MSw5IEBACiAJCQlmaW5kIC1kIC4gISAtbmFtZSAuIC10eXBl
IGQgJGRhcmdzIC1kZWxldGUgJHByaW50CiAJCSAgICB9IHwgc2VkICJzLF5cXC4sICAkZGlyLCIK
IAkJZG9uZSB8IHRlZSAvZGV2L3N0ZGVyciB8IHdjIC1sKQotCSAgICBbIC16ICIkcHJpbnQiIF0g
JiYgcmM9MAogCSAgICBbICRyYyAtZ3QgMSBdICYmIHJjPTEKIAkgICAgc2V0IC1mIGdsb2IKLQlm
aTs7CisJZmkKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBl
dGMvcGVyaW9kaWMvZGFpbHkvNDMwLnN0YXR1cy1yd2hvCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJp
b2RpYy9kYWlseS80MzAuc3RhdHVzLXJ3aG8JKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJp
b2RpYy9kYWlseS80MzAuc3RhdHVzLXJ3aG8JKHdvcmtpbmcgY29weSkKQEAgLTMsMTYgKzMsMTEg
QEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZp
Z3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJp
b2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAg
IHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2Ug
IiRkYWlseV9zdGF0dXNfcndob19lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAor
CitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19yd2hvX2VuYWJsZTsgdGhlbgogCXJ3aG89JChl
Y2hvIC92YXIvcndoby8qKQogICAgICAgICBpZiBbIC1mICIke3J3aG8lJSAqfSIgXQogICAgICAg
ICB0aGVuCkBAIC0yNCwxNSArMTksMTMgQEAKIAkgICAgZWNobyAiTG9jYWwgc3lzdGVtIHN0YXR1
czoiCiAJICAgIHByb2c9dXB0aW1lCiAJZmkKLQlyYz0kKCRwcm9nIHwgdGVlIC9kZXYvc3RkZXJy
IHwgd2MgLWwpCisJbj0kKCRwcm9nIHwgdGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCiAJaWYgWyAk
PyAtZXEgMCBdCiAJdGhlbgotCSAgICBbICRyYyAtZ3QgMSBdICYmIHJjPTEKKwkgICAgWyAkbiAt
Z3QgMSBdICYmIHJjPTEKIAllbHNlCiAJICAgIHJjPTMKLQlmaTs7CisJZmkKK2ZpCiAKLSAgICAq
KSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvZGFpbHkvNDYw
LnN0YXR1cy1tYWlsLXJlamVjdHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzQ2
MC5zdGF0dXMtbWFpbC1yZWplY3RzCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMv
ZGFpbHkvNDYwLnN0YXR1cy1tYWlsLXJlamVjdHMJKHdvcmtpbmcgY29weSkKQEAgLTMsMzYgKzMs
MjkgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNv
bmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9w
ZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgot
ICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcworLiAvZXRjL3BlcmlvZGljLnN1YnIKKworcmM9MAor
CitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19tYWlsX3JlamVjdHNfc2hvcnRlbjsgdGhlbgor
CXNob3J0ZW49J2N1dCAtZCIgIiAtZjIsMycKK2Vsc2UKKwlzaG9ydGVuPWNhdAogZmkKIAotY2Fz
ZSAiJGRhaWx5X3N0YXR1c19tYWlsX3JlamVjdHNfc2hvcnRlbiIgaW4KLVtZeV1bRWVdW1NzXSkJ
c2hvcnRlbj0nY3V0IC1kIiAiIC1mMiwzJzs7Ci0qKQkJc2hvcnRlbj1jYXQ7OwotZXNhYwotCi1j
YXNlICIkZGFpbHlfc3RhdHVzX21haWxfcmVqZWN0c19lbmFibGUiIGluCi0gICAgW1l5XVtFZV1b
U3NdKQoraWYgY2hlY2t5ZXNubyBkYWlseV9zdGF0dXNfbWFpbF9yZWplY3RzX2VuYWJsZTsgdGhl
bgogCWlmIFsgISAtZCAvZXRjL21haWwgXQogCXRoZW4KLQkgICAgZWNobyAnJGRhaWx5X3N0YXR1
c19tYWlsX3JlamVjdHNfZW5hYmxlIGlzIHNldCBidXQgL2V0Yy9tYWlsJyBcCisJICAgIGVyciAy
ICckZGFpbHlfc3RhdHVzX21haWxfcmVqZWN0c19lbmFibGUgaXMgc2V0IGJ1dCAvZXRjL21haWwn
IFwKIAkJImRvZXNuJ3QgZXhpc3QiCi0JICAgIHJjPTIKIAllbGlmIFsgISAtZiAvdmFyL2xvZy9t
YWlsbG9nIF0KIAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9zdGF0dXNfbWFpbF9yZWplY3RzX2Vu
YWJsZSBpcyBzZXQgYnV0ICcgXAorCSAgICBlcnIgMiAnJGRhaWx5X3N0YXR1c19tYWlsX3JlamVj
dHNfZW5hYmxlIGlzIHNldCBidXQgJyBcCiAJCSIvdmFyL2xvZy9tYWlsbG9nIGRvZXNuJ3QgZXhp
c3QiCi0JICAgIHJjPTIKIAllbGlmIFsgIiRkYWlseV9zdGF0dXNfbWFpbF9yZWplY3RzX2xvZ3Mi
IC1sZSAwIF0KIAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9zdGF0dXNfbWFpbF9yZWplY3RzX2Vu
YWJsZSBpcyBzZXQgYnV0ICcgXAorCSAgICBlcnIgMiAnJGRhaWx5X3N0YXR1c19tYWlsX3JlamVj
dHNfZW5hYmxlIGlzIHNldCBidXQgJyBcCiAJCSckZGFpbHlfc3RhdHVzX21haWxfcmVqZWN0c19s
b2dzIGlzIG5vdCBncmVhdGVyIHRoYW4gemVybycKLQkgICAgcmM9MgogCWVsc2UKIAkgICAgZWNo
bwogCSAgICBlY2hvIENoZWNraW5nIGZvciByZWplY3RlZCBtYWlsIGhvc3RzOgpAQCAtNjUsOSAr
NTgsNyBAQAogCQkgICAgOmVuZAogCQl9JyB8IGV2YWwgJHNob3J0ZW4gfCBzb3J0IC1mIHwgdW5p
cSAtaWMgfCBzb3J0IC1mbnIgfCB0ZWUgL2Rldi9zdGRlcnIgfCB3YyAtbCkKIAkgICAgWyAkcmMg
LWd0IDAgXSAmJiByYz0xCi0JZmk7OworCWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwot
CiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzQwNS5zdGF0dXMtYXRhLXJhaWQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzQwNS5zdGF0dXMtYXRhLXJhaWQJKHJl
dmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS80MDUuc3RhdHVzLWF0YS1yYWlk
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMzICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyAkRnJlZUJT
RCQKLSMKLQotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxl
LCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQot
dGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3Blcmlv
ZGljX2NvbmZzCi1maQotCi1jYXNlICIkZGFpbHlfc3RhdHVzX2F0YV9yYWlkX2VuYWJsZSIgaW4K
LSAgICBbWXldW0VlXVtTc10pCi0JZWNobwotCWVjaG8gJ0NoZWNraW5nIHN0YXR1cyBvZiBBVEEg
cmFpZCBwYXJ0aXRpb25zOicKLQotCXJjPTAKLQlmb3IgcmFpZCBpbiBgZmluZCAvZGV2LyAtbmFt
ZSAnYXJbMC05XSonIC10eXBlIGMgfCBlZ3JlcCAnWzAtOV0kJyBcCi0JCXwgZWdyZXAgLXYgJ3Nb
MC05XScgfCBjdXQgLWQgLyAtZiAzYAotCSAgICAgZG8KLQkJc3RhdHVzPWAvc2Jpbi9hdGFjb250
cm9sIHN0YXR1cyAkcmFpZGAKLQkJZWNobyAkc3RhdHVzCi0JCXJhaWRfcmM9YGVjaG8gJHN0YXR1
cyB8IGdyZXAgLXYgUkVBRFkgfCB3YyAtbGAKLQkJWyAkcmMgLWVxIDAgXSAmJiBbICRyYWlkX3Jj
IC1ndCAwIF0gJiYgcmM9MwotCSAgICAgZG9uZQotCTs7Ci0KLSAgICAqKSAgcmM9MDs7Ci1lc2Fj
Ci0KLWV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvZGFpbHkvNDA5LnN0YXR1cy1nY29uY2F0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9kYWlseS80MDkuc3RhdHVzLWdjb25jYXQJKHJl
dmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS80MDkuc3RhdHVzLWdjb25jYXQJ
KHdvcmtpbmcgY29weSkKQEAgLTMsMTYgKzMsMTEgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYg
dGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4K
LSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9l
dGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkK
Ky4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfZ2NvbmNhdF9lbmFi
bGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X3N0
YXR1c19nY29uY2F0X2VuYWJsZTsgdGhlbgogCWVjaG8KIAllY2hvICdDaGVja2luZyBzdGF0dXMg
b2YgZ2NvbmNhdCg4KSBkZXZpY2VzOicKIApAQCAtMjAsMTUgKzE1LDEwIEBACiAJCWNvbXBvbmVu
dHM9IiQoZ2NvbmNhdCBzdGF0dXMgLXMgfCBmZ3JlcCAtdiBVUCkiCiAJCWlmIFsgIiR7Y29tcG9u
ZW50c30iIF07IHRoZW4KIAkJCXJjPTMKLQkJZWxzZQotCQkJcmM9MAogCQlmaQogCWVsc2UKIAkJ
cmM9MgogCWZpCi0JOzsKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCklu
ZGV4OiBldGMvcGVyaW9kaWMvZGFpbHkvNDA2LnN0YXR1cy1nbWlycm9yCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IGV0Yy9wZXJpb2RpYy9kYWlseS80MDYuc3RhdHVzLWdtaXJyb3IJKHJldmlzaW9uIDIyOTMyMykK
KysrIGV0Yy9wZXJpb2RpYy9kYWlseS80MDYuc3RhdHVzLWdtaXJyb3IJKHdvcmtpbmcgY29weSkK
QEAgLTMsMTYgKzMsMTEgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9i
YWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0
Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVy
aW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2Rp
Yy5zdWJyCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfZ21pcnJvcl9lbmFibGUiIGluCi0gICAgW1l5
XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19nbWlycm9yX2Vu
YWJsZTsgdGhlbgogCWVjaG8KIAllY2hvICdDaGVja2luZyBzdGF0dXMgb2YgZ21pcnJvcig4KSBk
ZXZpY2VzOicKIApAQCAtMjAsMTUgKzE1LDEwIEBACiAJCWNvbXBvbmVudHM9IiQoZ21pcnJvciBz
dGF0dXMgLXMgfCBmZ3JlcCAtdiBDT01QTEVURSkiCiAJCWlmIFsgIiR7Y29tcG9uZW50c30iIF07
IHRoZW4KIAkJCXJjPTMKLQkJZWxzZQotCQkJcmM9MAogCQlmaQogCWVsc2UKIAkJcmM9MgogCWZp
Ci0JOzsKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBldGMv
cGVyaW9kaWMvZGFpbHkvMzAwLmNhbGVuZGFyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9k
YWlseS8zMDAuY2FsZW5kYXIJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWls
eS8zMDAuY2FsZW5kYXIJKHdvcmtpbmcgY29weSkKQEAgLTgsMjIgKzgsMTUgQEAKICMgb3IgcnVu
IGl0IGZyb20geW91ciB+Ly5wcm9maWxlIG9yIH4vLmxvZ2luLgogIwogCi0jIElmIHRoZXJlIGlz
IGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBb
IC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1
bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMv
cGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfY2FsZW5kYXJfZW5hYmxlIiBpbgotICAgIFtZ
eV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyBkYWlseV9jYWxlbmRhcl9lbmFibGU7
IHRoZW4KIAllY2hvICIiCiAJZWNobyAiUnVubmluZyBjYWxlbmRhcjoiCiAKLQljYWxlbmRhciAt
YSAmJiByYz0wIHx8IHJjPTM7OworCWNhbGVuZGFyIC1hICYmIHJjPTAgfHwgcmM9MworZmkKIAot
ICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWls
eS81MDAucXVldWVydW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzUwMC5xdWV1
ZXJ1bgkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzUwMC5xdWV1ZXJ1
bgkod29ya2luZyBjb3B5KQpAQCAtMywzNCArMywyMiBAQAogIyAkRnJlZUJTRCQKICMKIAotIyBJ
ZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGlu
LgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4g
L2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1m
aQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3F1ZXVlcnVuX2VuYWJsZSIg
aW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFpbHlfcXVldWVy
dW5fZW5hYmxlOyB0aGVuCiAJaWYgWyAhIC14IC91c3Ivc2Jpbi9zZW5kbWFpbCBdCiAJdGhlbgot
CSAgICBlY2hvICckZGFpbHlfcXVldWVydW5fZW5hYmxlIGlzIHNldCBidXQgL3Vzci9zYmluL3Nl
bmRtYWlsJyBcCisJICAgIGVyciAyICckZGFpbHlfcXVldWVydW5fZW5hYmxlIGlzIHNldCBidXQg
L3Vzci9zYmluL3NlbmRtYWlsJyBcCiAJCSJpc24ndCBleGVjdXRhYmxlIgotCSAgICByYz0yCi0J
ZWxzZQotCSAgICAvdXNyL3NiaW4vc2VuZG1haWwgLXEgPi9kZXYvbnVsbCAyPiYxICYKLQkgICAg
Y2FzZSAiJGRhaWx5X3N1Ym1pdF9xdWV1ZXJ1biIgaW4KLQkgICAgW1l5XVtFZV1bU3NdKQotCQlp
ZiBbIC1mIC9ldGMvbWFpbC9zdWJtaXQuY2YgXQotCQl0aGVuCi0JCSAgICAvdXNyL3NiaW4vc2Vu
ZG1haWwgLXEgLUFjID4vZGV2L251bGwgMj4mMSAmCi0JCWZpOzsKLQkgICAgZXNhYwotCSAgICBy
Yz0wCi0JZmk7OworCWZpCisJL3Vzci9zYmluL3NlbmRtYWlsIC1xID4vZGV2L251bGwgMj4mMSAm
CisJaWYgY2hlY2t5ZXNubyBkYWlseV9zdWJtaXRfcXVldWVydW47IHRoZW4KKwkgICAgaWYgWyAt
ZiAvZXRjL21haWwvc3VibWl0LmNmIF07IHRoZW4KKwkJL3Vzci9zYmluL3NlbmRtYWlsIC1xIC1B
YyA+L2Rldi9udWxsIDI+JjEgJgorCSAgICBmaQorCWZpCitmaQogCi0gICAgKikgIHJjPTA7Owot
ZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzQyMC5zdGF0dXMtbmV0
d29yawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvNDIwLnN0YXR1cy1uZXR3b3Jr
CShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvNDIwLnN0YXR1cy1uZXR3
b3JrCSh3b3JraW5nIGNvcHkpCkBAIC0zLDI3ICszLDIwIEBACiAjICRGcmVlQlNEJAogIwogCi0j
IElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQg
aW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAg
LiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMK
LWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfc3RhdHVzX25ldHdvcmtf
ZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyBkYWls
eV9zdGF0dXNfbmV0d29ya19lbmFibGU7IHRoZW4KIAllY2hvICIiCiAJZWNobyAiTmV0d29yayBp
bnRlcmZhY2Ugc3RhdHVzOiIKIAotCWNhc2UgIiRkYWlseV9zdGF0dXNfbmV0d29ya191c2VkbnMi
IGluCi0JICAgIFtZeV1bRWVdW1NzXSkKLQkJbmV0c3RhdCAtaSAmJiByYz0wIHx8IHJjPTM7Owot
CSAgICAqKQotCQluZXRzdGF0IC1pbiAmJiByYz0wIHx8IHJjPTM7OwotCWVzYWM7OworCWlmIGNo
ZWNreWVzbm8gZGFpbHlfc3RhdHVzX25ldHdvcmtfdXNlZG5zOyB0aGVuCisJCW5ldHN0YXRfZmxh
Z3M9Ii1pIgorCWVsc2UKKwkJbmV0c3RhdF9mbGFncz0iLWluIgorCWZpCisJbmV0c3RhdCAkbmV0
c3RhdF9mbGFncyAmJiByYz0wIHx8IHJjPTMKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0K
IGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvZGFpbHkvNDcwLnN0YXR1cy1uYW1lZAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvNDcwLnN0YXR1cy1uYW1lZAkocmV2aXNpb24g
MjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzQ3MC5zdGF0dXMtbmFtZWQJKHdvcmtpbmcg
Y29weSkKQEAgLTMsNDMgKzMsMjQgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMg
YSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsg
LXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVs
dHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9w
ZXJpb2RpYy5zdWJyCiAKLWNhdG1zZ3MoKSB7Ci0JZmluZCAvdmFyL2xvZyAtbmFtZSAnbWVzc2Fn
ZXMuKicgLW10aW1lIC0yIHwKLQkgICAgc29ydCAtdC4gLXIgLW4gLWsgMiwyIHwKLQkgICAgd2hp
bGUgcmVhZCBmCi0JICAgIGRvCi0JCWNhc2UgJGYgaW4KLQkJICAgICouZ3opCXpjYXQgLWYgJGY7
OwotCQkgICAgKi5iejIpCWJ6Y2F0IC1mICRmOzsKLQkJZXNhYwotCSAgICBkb25lCi0JWyAtZiAv
dmFyL2xvZy9tZXNzYWdlcyBdICYmIGNhdCAvdmFyL2xvZy9tZXNzYWdlcwotfQorcmM9MAogCi1j
YXNlICIkZGFpbHlfc3RhdHVzX25hbWVkX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCitp
ZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19uYW1lZF9lbmFibGU7IHRoZW4KIAllY2hvCiAJZWNo
byAnQ2hlY2tpbmcgZm9yIGRlbmllZCB6b25lIHRyYW5zZmVycyAoQVhGUiBhbmQgSVhGUik6Jwog
CiAJc3RhcnQ9YGRhdGUgLXYtMWQgJyslYiAlZSdgCi0JcmM9JChjYXRtc2dzIHwKKwlyYz0kKGNh
dGxvZ3MgIm1lc3NhZ2VzIiAvdmFyL2xvZyB8CiAJICAgIGZncmVwIC1FICJeJHN0YXJ0LipuYW1l
ZFxbW1s6ZGlnaXQ6XV0rXF06IHRyYW5zZmVyIG9mIC4qZmFpbGVkIC4qOiBSRUZVU0VEIiB8CiAJ
ICAgIHNlZCAtZSAicy8uKnRyYW5zZmVyIG9mIFwnXCguKlwpXC9JTlwnIGZyb20gXCguKlwpI1sw
LTldKjogLiovXDEgZnJvbSBcMi8iIHwKIAkgICAgc29ydCAtZiB8IHVuaXEgLWljIHwgKAotCQl1
c2VkbnM9MAotCQljYXNlICIkZGFpbHlfc3RhdHVzX25hbWVkX3VzZWRucyIgaW4KLQkJJycpIDs7
Ci0JCVt5WV1bZUVdW3NTXSkgdXNlZG5zPTEgOzsKLQkJZXNhYwotCisJCWlmIGNoZWNreWVzbm8g
ZGFpbHlfc3RhdHVzX25hbWVkX3VzZWRuczsgdGhlbgorCQkJdXNlZG5zPTEKKwkJZWxzZQorCQkJ
dXNlZG5zPTAKKwkJZmkKIAkJd2hpbGUgcmVhZCBsaW5lIDtkbwogCQkJaXBhZGRyPWBlY2hvICIk
bGluZSIgfCBzZWQgLWUgJ3MvXi4qZnJvbSAvLydgCiAJCQlpZiBbICR1c2VkbnMgLWVxIDEgXTsg
dGhlbgpAQCAtNTQsOSArMzUsNiBAQAogCQlkb25lICkgfCBcCiAJCXRlZSAvZGV2L3N0ZGVyciB8
IHdjIC1sKQogCVsgJHJjIC1ndCAwIF0gJiYgcmM9MQotCTs7CitmaQogCi0gICAgKikgIHJjPTA7
OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzIxMC5iYWNrdXAt
YWxpYXNlcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMjEwLmJhY2t1cC1hbGlh
c2VzCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvMjEwLmJhY2t1cC1h
bGlhc2VzCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE2ICszLDExIEBACiAjICRGcmVlQlNEJAogIwog
Ci0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sg
aXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0g
ICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29u
ZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfYmFja3VwX2FsaWFz
ZXNfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyBk
YWlseV9iYWNrdXBfYWxpYXNlc19lbmFibGU7IHRoZW4KIAlpZiBbICEgLWYgL2V0Yy9tYWlsL2Fs
aWFzZXMgXQogCXRoZW4KIAkgICAgZWNobyAnJGRhaWx5X2JhY2t1cF9hbGlhc2VzX2VuYWJsZSBp
cyBlbmFibGVkIGJ1dCcgXApAQCAtMjAsNyArMTUsNiBAQAogCSAgICByYz0yCiAJZWxzZQogCSAg
ICBiYWs9L3Zhci9iYWNrdXBzCi0JICAgIHJjPTAKIAogCSAgICBlY2hvICIiCiAJICAgIGVjaG8g
IkJhY2tpbmcgdXAgbWFpbCBhbGlhc2VzOiIKQEAgLTMxLDE3ICsyNSwxNCBAQAogCQljcCAtcCAv
ZXRjL21haWwvYWxpYXNlcyAkYmFrL2FsaWFzZXMuYmFrIHx8IHJjPTMKIAkgICAgZmkKIAotCSAg
ICBpZiAhIGNtcCAtcyAkYmFrL2FsaWFzZXMuYmFrIC9ldGMvbWFpbC9hbGlhc2VzCisJICAgIGlm
IFsgJHJjIC1lcSAwIF0gJiYgISBjbXAgLXMgJGJhay9hbGlhc2VzLmJhayAvZXRjL21haWwvYWxp
YXNlcwogCSAgICB0aGVuCi0JCVsgJHJjIC1sdCAxIF0gJiYgcmM9MQogCQllY2hvICIkaG9zdCBh
bGlhc2VzIGRpZmZzOiIKIAkJZGlmZiAtdSAkYmFrL2FsaWFzZXMuYmFrIC9ldGMvbWFpbC9hbGlh
c2VzCiAJCW12ICRiYWsvYWxpYXNlcy5iYWsgJGJhay9hbGlhc2VzLmJhazIKIAkJY3AgLXAgL2V0
Yy9tYWlsL2FsaWFzZXMgJGJhay9hbGlhc2VzLmJhayB8fCByYz0zCiAJICAgIGZpCi0JZmk7Owor
CWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3Bl
cmlvZGljL2RhaWx5LzQwNC5zdGF0dXMtemZzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9k
YWlseS80MDQuc3RhdHVzLXpmcwkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2Rh
aWx5LzQwNC5zdGF0dXMtemZzCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE2ICszLDExIEBACiAjICRG
cmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9u
IGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u
ZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2Vf
cGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlf
c3RhdHVzX3pmc19lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVj
a3llc25vIGRhaWx5X3N0YXR1c196ZnNfZW5hYmxlOyB0aGVuCiAJZWNobwogCWVjaG8gJ0NoZWNr
aW5nIHN0YXR1cyBvZiB6ZnMgcG9vbHM6JwogCkBAIC0yNiwxMSArMjEsNiBAQAogCWVsc2UKIAkJ
cmM9MQogCWZpCi0JOzsKK2ZpCiAKLSAgICAqKQotCXJjPTAKLQk7OwotZXNhYwotCiBleGl0ICRy
YwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzIyMC5iYWNrdXAtcGtnZGIKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gZXRjL3BlcmlvZGljL2RhaWx5LzIyMC5iYWNrdXAtcGtnZGIJKHJldmlzaW9uIDIyOTMyMykK
KysrIGV0Yy9wZXJpb2RpYy9kYWlseS8yMjAuYmFja3VwLXBrZ2RiCSh3b3JraW5nIGNvcHkpCkBA
IC0zLDE4ICszLDExIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFs
IHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMv
ZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3Blcmlv
ZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMu
c3VicgogCiByYz0wCiAKLWNhc2UgIiRkYWlseV9iYWNrdXBfcGtnZGJfZW5hYmxlIiBpbgotICAg
IFtZeV1bRWVdW1NzXSkKK2lmIGNoZWNreWVzbm8gZGFpbHlfYmFja3VwX3BrZ2RiX2VuYWJsZTsg
dGhlbgogCWJhaz0iJHtkYWlseV9iYWNrdXBfcGtnZGJfZGlyOi0vdmFyL2JhY2t1cHN9IgogCWJh
a19maWxlPSIke2Jha30vcGtnZGIuYmFrLnRieiIKIApAQCAtMjMsMTAgKzE2LDEwIEBACiAKIAlp
ZiBbICEgLWQgIiRiYWsiIF0KIAl0aGVuCi0JICAgIGluc3RhbGwgLWQgLW8gcm9vdCAtZyB3aGVl
bCAtbSA3NTAgJGJhayB8fCB7Ci0JCWVjaG8gJyRkYWlseV9iYWNrdXBfcGtnZGJfZW5hYmxlIGlz
IGVuYWJsZWQgYnV0JyBcCisJICAgIGlmICEgaW5zdGFsbCAtZCAtbyByb290IC1nIHdoZWVsIC1t
IDc1MCAkYmFrOyB0aGVuCisJCWVyciAyICckZGFpbHlfYmFja3VwX3BrZ2RiX2VuYWJsZSBpcyBl
bmFibGVkIGJ1dCcgXAogCQkgICAgIiRkYWlseV9iYWNrdXBfcGtnZGJfZGJkaXIgZG9lc24ndCBl
eGlzdCIgOwotCQlleGl0IDIgOyB9CisJICAgIGZpCiAJZmkKIAogCWVjaG8gJycKQEAgLTQ1LDcg
KzM4LDcgQEAKIAkgICAgbXYgIiR7bmV3X2Jha19maWxlfSIgIiR7YmFrX2ZpbGV9IgogCWVsc2UK
IAkgICAgcmM9MwotCWZpIDs7Ci1lc2FjCisJZmkKK2ZpCiAKIGV4aXQgJHJjCkluZGV4OiBldGMv
cGVyaW9kaWMvZGFpbHkvMzEwLmFjY291bnRpbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGlj
L2RhaWx5LzMxMC5hY2NvdW50aW5nCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMv
ZGFpbHkvMzEwLmFjY291bnRpbmcJKHdvcmtpbmcgY29weSkKQEAgLTMsMTYgKzMsMTEgQEAKICMg
JEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRp
b24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5j
b25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJj
ZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2UgIiRkYWls
eV9hY2NvdW50aW5nX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNo
ZWNreWVzbm8gZGFpbHlfYWNjb3VudGluZ19lbmFibGU7IHRoZW4KIAlpZiBbICEgLWYgL3Zhci9h
Y2NvdW50L2FjY3QgXQogCXRoZW4KIAkgICAgZWNobyAnJGRhaWx5X2FjY291bnRpbmdfZW5hYmxl
IGlzIHNldCBidXQgL3Zhci9hY2NvdW50L2FjY3QnIFwKQEAgLTI4LDcgKzIzLDYgQEAKIAkgICAg
ZWNobyAiUm90YXRpbmcgYWNjb3VudGluZyBsb2dzIGFuZCBnYXRoZXJpbmcgc3RhdGlzdGljczoi
CiAKIAkgICAgY2QgL3Zhci9hY2NvdW50Ci0JICAgIHJjPTAKIAogCSAgICBuPSQoKCAkZGFpbHlf
YWNjb3VudGluZ19zYXZlIC0gMSApKQogCSAgICBmb3IgZiBpbiBhY2N0Lio7IGRvCkBAIC01Mywx
MyArNDcsMTAgQEAKIAkgICAgc2EgLXMgJGRhaWx5X2FjY291bnRpbmdfZmxhZ3MgL3Zhci9hY2Nv
dW50L2FjY3QubWVyZ2UgfHwgcmM9MwogCSAgICBybSBhY2N0Lm1lcmdlCiAKLQkgICAgY2FzZSAi
JGRhaWx5X2FjY291bnRpbmdfY29tcHJlc3MiIGluCi0JCVtZeV1bRWVdW1NzXSkKLQkJICAgIGd6
aXAgLWYgYWNjdC4wIHx8IHJjPTM7OwotCSAgICBlc2FjCi0JZmk7OworCSAgICBpZiBjaGVja3ll
c25vIGRhaWx5X2FjY291bnRpbmdfY29tcHJlc3M7IHRoZW4KKwkJZ3ppcCAtZiBhY2N0LjAgfHwg
cmM9MworCSAgICBmaQorCWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRy
YwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzE1MC5jbGVhbi1ob3N0c3RhdAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMTUwLmNsZWFuLWhvc3RzdGF0CShyZXZpc2lvbiAyMjkz
MjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvMTUwLmNsZWFuLWhvc3RzdGF0CSh3b3JraW5nIGNv
cHkpCkBAIC01LDI1ICs1LDE4IEBACiAjIFJlbW92ZSBzdGFsZSBwZXJzaXN0ZW50IGhvc3Qgc3Rh
dHVzIGZpbGVzCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRp
b24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5j
b25mIF07IHRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJj
ZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2UgIiRkYWls
eV9jbGVhbl9ob3N0c3RhdF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitp
ZiBjaGVja3llc25vIGRhaWx5X2NsZWFuX2hvc3RzdGF0X2VuYWJsZTsgdGhlbgogCWlmIFsgLXog
IiQoaG9zdHN0YXQgMj4mMSkiIF07IHRoZW4KIAkgICAgcmM9MgogCWVsc2UKIAkgICAgZWNobyAi
IgogCSAgICBlY2hvICJSZW1vdmluZyBzdGFsZSBlbnRyaWVzIGZyb20gc2VuZG1haWwgaG9zdCBz
dGF0dXMgY2FjaGU6IgotCSAgICByYz0wCiAJICAgIHB1cmdlc3RhdCB8fCByYz0xCi0JZmk7Owor
CWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3Bl
cmlvZGljL2RhaWx5LzQ4MC5zdGF0dXMtbnRwZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMv
ZGFpbHkvNDgwLnN0YXR1cy1udHBkCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMv
ZGFpbHkvNDgwLnN0YXR1cy1udHBkCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE4ICszLDExIEBACiAj
ICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0
aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMu
Y29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3Vy
Y2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCiByYz0wCiAKLWNh
c2UgIiRkYWlseV9zdGF0dXNfbnRwZF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQoraWYg
Y2hlY2t5ZXNubyBkYWlseV9zdGF0dXNfbnRwZF9lbmFibGU7IHRoZW4KIAllY2hvICIiCiAJZWNo
byAiTlRQIHN0YXR1czoiCiAKQEAgLTIyLDcgKzE1LDYgQEAKIAlpZiBbIC16ICIkc3luY2hyb25p
emVkIiBdOyB0aGVuCiAJCXJjPTEKIAlmaQotCTs7Ci1lc2FjCitmaQogCiBleGl0ICRyYwpJbmRl
eDogZXRjL3BlcmlvZGljL2RhaWx5LzQwMC5zdGF0dXMtZGlza3MKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRj
L3BlcmlvZGljL2RhaWx5LzQwMC5zdGF0dXMtZGlza3MJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0
Yy9wZXJpb2RpYy9kYWlseS80MDAuc3RhdHVzLWRpc2tzCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE2
ICszLDExIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3Rl
bSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVs
dHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNv
bmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3Vicgog
Ci1jYXNlICIkZGFpbHlfc3RhdHVzX2Rpc2tzX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10p
CityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVzX2Rpc2tzX2VuYWJsZTsgdGhlbgog
CWVjaG8gIiIKIAllY2hvICJEaXNrIHN0YXR1czoiCiAKQEAgLTI0LDkgKzE5LDcgQEAKIAlmaQog
CiAJZWNobyAiIgotCWR1bXAgVyB8fCByYz0zOzsKKwlkdW1wIFcgfHwgcmM9MworZmkKIAotICAg
ICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS80
MDcuc3RhdHVzLWdyYWlkMwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvNDA3LnN0
YXR1cy1ncmFpZDMJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS80MDcu
c3RhdHVzLWdyYWlkMwkod29ya2luZyBjb3B5KQpAQCAtMywxNiArMywxMSBAQAogIyAkRnJlZUJT
RCQKICMKIAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxl
LCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQot
dGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3Blcmlv
ZGljX2NvbmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3N0YXR1
c19ncmFpZDNfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5
ZXNubyBkYWlseV9zdGF0dXNfZ3JhaWQzX2VuYWJsZTsgdGhlbgogCWVjaG8KIAllY2hvICdDaGVj
a2luZyBzdGF0dXMgb2YgZ3JhaWQzKDgpIGRldmljZXM6JwogCkBAIC0yMCwxNSArMTUsMTAgQEAK
IAkJY29tcG9uZW50cz0iJChncmFpZDMgc3RhdHVzIC1zIHwgZmdyZXAgLXYgQ09NUExFVEUpIgog
CQlpZiBbICIke2NvbXBvbmVudHN9IiBdOyB0aGVuCiAJCQlyYz0zCi0JCWVsc2UKLQkJCXJjPTAK
IAkJZmkKIAllbHNlCiAJCXJjPTIKIAlmaQotCTs7CitmaQogCi0gICAgKikgIHJjPTA7OwotZXNh
YwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzIwMC5iYWNrdXAtcGFzc3dk
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9kYWlseS8yMDAuYmFja3VwLXBhc3N3ZAkocmV2
aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzIwMC5iYWNrdXAtcGFzc3dkCSh3
b3JraW5nIGNvcHkpCkBAIC0zLDE2ICszLDExIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRo
ZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0j
Ci1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRj
L2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisu
IC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfYmFja3VwX3Bhc3N3ZF9lbmFibGUi
IGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X2JhY2t1
cF9wYXNzd2RfZW5hYmxlOyB0aGVuCiAJaWYgWyAhIC1mIC9ldGMvbWFzdGVyLnBhc3N3ZCBdCiAJ
dGhlbgogCSAgICBlY2hvICckZGFpbHlfYmFja3VwX3Bhc3N3ZF9lbmFibGUiIGlzIHNldCBidXQg
L2V0Yy9tYXN0ZXIucGFzc3dkJyBcCkBAIC0yNSw3ICsyMCw2IEBACiAJICAgIHJjPTIKIAllbHNl
CiAJICAgIGJhaz0vdmFyL2JhY2t1cHMKLQkgICAgcmM9MAogCiAJICAgIGVjaG8gIiIKIAkgICAg
ZWNobyAiQmFja3VwIHBhc3N3ZCBhbmQgZ3JvdXAgZmlsZXM6IgpAQCAtNjksOSArNjMsNyBAQAog
CQllY2hvICJWZXJpZnlpbmcgZ3JvdXAgZmlsZSBzeW50YXg6IgogCSAgICAgICAgY2hrZ3JwIC9l
dGMvZ3JvdXAgfHwgcmM9MwogCSAgICBmaQotCWZpOzsKKwlmaQorZmkKIAotICAgICopICByYz0w
OzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS80MDguc3RhdHVz
LWdzdHJpcGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzQwOC5zdGF0dXMtZ3N0
cmlwZQkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzQwOC5zdGF0dXMt
Z3N0cmlwZQkod29ya2luZyBjb3B5KQpAQCAtMywxNiArMywxMSBAQAogIyAkRnJlZUJTRCQKICMK
IAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNr
IGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgot
ICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2Nv
bmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3N0YXR1c19nc3Ry
aXBlX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8g
ZGFpbHlfc3RhdHVzX2dzdHJpcGVfZW5hYmxlOyB0aGVuCiAJZWNobwogCWVjaG8gJ0NoZWNraW5n
IHN0YXR1cyBvZiBnc3RyaXBlKDgpIGRldmljZXM6JwogCkBAIC0yMCwxNSArMTUsMTAgQEAKIAkJ
Y29tcG9uZW50cz0iJChnc3RyaXBlIHN0YXR1cyAtcyB8IGZncmVwIC12IFVQKSIKIAkJaWYgWyAi
JHtjb21wb25lbnRzfSIgXTsgdGhlbgogCQkJcmM9MwotCQllbHNlCi0JCQlyYz0wCiAJCWZpCiAJ
ZWxzZQogCQlyYz0yCiAJZmkKLQk7OworZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhp
dCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS8xMjAuY2xlYW4tcHJlc2VydmUKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzEyMC5jbGVhbi1wcmVzZXJ2ZQkocmV2aXNpb24g
MjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzEyMC5jbGVhbi1wcmVzZXJ2ZQkod29ya2lu
ZyBjb3B5KQpAQCAtNSw0OSArNSwzNyBAQAogIyBSZW1vdmUgc3RhbGUgZmlsZXMgaW4gL3Zhci9w
cmVzZXJ2ZQogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9u
IGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u
ZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2Vf
cGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlf
Y2xlYW5fcHJlc2VydmVfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYg
Y2hlY2t5ZXNubyBkYWlseV9jbGVhbl9wcmVzZXJ2ZV9lbmFibGU7IHRoZW4KIAlpZiBbIC16ICIk
ZGFpbHlfY2xlYW5fcHJlc2VydmVfZGF5cyIgXQogCXRoZW4KLQkgICAgZWNobyAnJGRhaWx5X2Ns
ZWFuX3ByZXNlcnZlX2VuYWJsZSBpcyBzZXQgYnV0JyBcCisJICAgIGVyciAyICckZGFpbHlfY2xl
YW5fcHJlc2VydmVfZW5hYmxlIGlzIHNldCBidXQnIFwKIAkJJyRkYWlseV9jbGVhbl9wcmVzZXJ2
ZV9kYXlzIGlzIG5vdCcKLQkgICAgcmM9MgogCWVsaWYgWyAhIC1kIC92YXIvcHJlc2VydmUgXQog
CXRoZW4KLQkgICAgZWNobyAnJGRhaWx5X2NsZWFuX3ByZXNlcnZlX2VuYWJsZSBpcyBzZXQgYnV0
IC92YXIvcHJlc2VydmUnIFwKKwkgICAgZXJyIDIgJyRkYWlseV9jbGVhbl9wcmVzZXJ2ZV9lbmFi
bGUgaXMgc2V0IGJ1dCAvdmFyL3ByZXNlcnZlJyBcCiAJCSJkb2Vzbid0IGV4aXN0IgotCSAgICBy
Yz0yCiAJZWxzZQotCSAgICBlY2hvICIiCi0JICAgIGVjaG8gIlJlbW92aW5nIHN0YWxlIGZpbGVz
IGZyb20gL3Zhci9wcmVzZXJ2ZToiCisJICAgIGlmIGNoZWNreWVzbm8gZGFpbHlfY2xlYW5fcHJl
c2VydmVfdmVyYm9zZTsgdGhlbgorCQllY2hvICIiCisJCWVjaG8gIlJlbW92aW5nIHN0YWxlIGZp
bGVzIGZyb20gL3Zhci9wcmVzZXJ2ZToiCiAKKwkJcHJpbnQ9LXByaW50CisJICAgIGVsc2UKKwkJ
cHJpbnQ9CisJICAgIGZpCiAJICAgIGlmIGNkIC92YXIvcHJlc2VydmUKIAkgICAgdGhlbgotCQlj
YXNlICIkZGFpbHlfY2xlYW5fcHJlc2VydmVfdmVyYm9zZSIgaW4KLQkJICAgIFtZeV1bRWVdW1Nz
XSkKLQkJCXByaW50PS1wcmludDs7Ci0JCSAgICAqKQotCQkJcHJpbnQ9OzsKLQkJZXNhYwotCiAJ
CXJjPSQoZmluZCAuICEgLW5hbWUgLiAtbXRpbWUgKyRkYWlseV9jbGVhbl9wcmVzZXJ2ZV9kYXlz
IFwKIAkJICAgIC1kZWxldGUgJHByaW50IHwgdGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCi0JCVsg
LXogIiRwcmludCIgXSAmJiByYz0wCiAJCVsgJHJjIC1ndCAxIF0gJiYgcmM9MQogCSAgICBlbHNl
CiAJCXJjPTMKIAkgICAgZmkKLQlmaTs7CisJZmkKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2Fj
Ci0KIGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNTAwLmlwZndkZW5pZWQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5LzUwMC5pcGZ3ZGVuaWVkCShyZXZp
c2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNTAwLmlwZndkZW5pZWQJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDI3ICsyNywyNCBAQAogIyAkRnJlZUJTRCQKICMKIAotIyBJZiB0
aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGluLgot
IwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4gL2V0
Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1maQot
CisuIC9ldGMvcGVyaW9kaWMuc3VicgogLiAvZXRjL3BlcmlvZGljL3NlY3VyaXR5L3NlY3VyaXR5
LmZ1bmN0aW9ucwogCiByYz0wCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfc2VjdXJpdHlfaXBmd2Rl
bmllZF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQotCVRNUD1gbWt0ZW1wIC10IHNlY3Vy
aXR5YAotCWlmIGlwZncgLWEgbGlzdCAyPi9kZXYvbnVsbCB8IGVncmVwICJkZW55fHJlc2V0fHVu
cmVhY2giID4gJHtUTVB9OyB0aGVuCi0JICBjaGVja19kaWZmIG5ld19vbmx5IGlwZncgJHtUTVB9
ICIke2hvc3R9IGlwZncgZGVuaWVkIHBhY2tldHM6IgoraWYgY2hlY2t5ZXNubyBkYWlseV9zdGF0
dXNfc2VjdXJpdHlfaXBmd2RlbmllZF9lbmFibGU7IHRoZW4KKwlpZiBUTVA9JChta3RlbXAgLXQg
c2VjdXJpdHkpOyB0aGVuCisJCWlmIGlwZncgLWEgbGlzdCAyPi9kZXYvbnVsbCB8IGVncmVwICJk
ZW55fHJlc2V0fHVucmVhY2giID4gJHtUTVB9OyB0aGVuCisJCQljaGVja19kaWZmIG5ld19vbmx5
IGlwZncgJHtUTVB9IFwKKwkJCSAgICAiJHtob3N0fSBpcGZ3IGRlbmllZCBwYWNrZXRzOiIKKwkJ
CXJjPSQ/CisJCWVsc2UKKwkJCXJjPTEKKwkJZmkKKwkJcm0gLWYgJHtUTVB9CisJZWxzZQorCQly
Yz0zCiAJZmkKLQlyYz0kPwotCXJtIC1mICR7VE1QfTs7Ci0gICAgKikJcmM9MDs7Ci1lc2FjCitm
aQogCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL3NlY3VyaXR5LzEwMC5jaGtzZXR1aWQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5LzEwMC5jaGtzZXR1aWQJKHJldmlz
aW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS8xMDAuY2hrc2V0dWlkCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNywyMCArMjcsMTIgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhl
cmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMK
LWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMv
ZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKLQor
LiAvZXRjL3BlcmlvZGljLnN1YnIKIC4gL2V0Yy9wZXJpb2RpYy9zZWN1cml0eS9zZWN1cml0eS5m
dW5jdGlvbnMKIAogcmM9MAogCi1jYXNlICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2Noa3NldHVp
ZF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQoraWYgY2hlY2t5ZXNubyBkYWlseV9zdGF0
dXNfc2VjdXJpdHlfY2hrc2V0dWlkX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICdDaGVj
a2luZyBzZXR1aWQgZmlsZXMgYW5kIGRldmljZXM6JwogCU1QPWBtb3VudCAtdCB1ZnMsemZzIHwg
YXdrICckMCAhfiAvbm8oc3VpZHxleGVjKS8geyBwcmludCAkMyB9J2AKQEAgLTQ5LDEwICs0MSw2
IEBACiAJICAgIFwoIC1wZXJtIC11K3MgLW9yIC1wZXJtIC1nK3MgXCkgLWV4ZWMgbHMgLWxpVGQg
XHtcfSBcKyB8CiAJY2hlY2tfZGlmZiBzZXR1aWQgLSAiJHtob3N0fSBzZXR1aWQgZGlmZnM6Igog
CXJjPSQ/Ci0JOzsKLSAgICAqKQotCXJjPTAKLQk7OwotZXNhYworZmkKIAogZXhpdCAkcmMKSW5k
ZXg6IGV0Yy9wZXJpb2RpYy9zZWN1cml0eS81MjAucGZkZW5pZWQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRj
L3BlcmlvZGljL3NlY3VyaXR5LzUyMC5wZmRlbmllZAkocmV2aXNpb24gMjI5MzIzKQorKysgZXRj
L3BlcmlvZGljL3NlY3VyaXR5LzUyMC5wZmRlbmllZAkod29ya2luZyBjb3B5KQpAQCAtMjcsMjcg
KzI3LDMyIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3Rl
bSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVs
dHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNv
bmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCi0KKy4gL2V0Yy9wZXJpb2RpYy5zdWJy
CiAuIC9ldGMvcGVyaW9kaWMvc2VjdXJpdHkvc2VjdXJpdHkuZnVuY3Rpb25zCiAKIHJjPTAKIAot
Y2FzZSAiJGRhaWx5X3N0YXR1c19zZWN1cml0eV9wZmRlbmllZF9lbmFibGUiIGluCi0gICAgW1l5
XVtFZV1bU3NdKQotCVRNUD1gbWt0ZW1wIC10IHNlY3VyaXR5YAotCWlmIHBmY3RsIC1zciAtdiAy
Pi9kZXYvbnVsbCB8IG5hd2sgJ3tpZiAoL15ibG9jay8pIHtidWY9JDA7IGdldGxpbmU7IGdzdWIo
IiArIiwiICIsJDApOyBwcmludCBidWYkMDt9IH0nID4gJHtUTVB9OyB0aGVuCi0JICBjaGVja19k
aWZmIG5ld19vbmx5IHBmICR7VE1QfSAiJHtob3N0fSBwZiBkZW5pZWQgcGFja2V0czoiCitpZiBj
aGVja3llc25vIGRhaWx5X3N0YXR1c19zZWN1cml0eV9wZmRlbmllZF9lbmFibGU7IHRoZW4KKwlp
ZiBUTVA9JChta3RlbXAgLXQgc2VjdXJpdHkpOyB0aGVuCisJCXBmY3RsIC1zciAtdiAyPi9kZXYv
bnVsbCB8IFwKKwkJICAgIG5hd2sgJ3sKKwkJCWlmICgvXmJsb2NrLykgeworCQkJCWJ1Zj0kMDsK
KwkJCQlnZXRsaW5lOworCQkJCWdzdWIoIiArIiwiICIsJDApOworCQkJCXByaW50IGJ1ZiQwOwor
CQkJfQorCQl9JyA+ICR7VE1QfQorCQlpZiBbICQ/IC1lcSAwIF07IHRoZW4KKwkJCWNoZWNrX2Rp
ZmYgbmV3X29ubHkgcGYgJHtUTVB9ICIke2hvc3R9IHBmIGRlbmllZCBwYWNrZXRzOiIKKwkJCXJj
PSQ/CisJCWVsc2UKKwkJCXJjPTEKKwkJZmkKKwkJcm0gLWYgJHtUTVB9CisJZWxzZQorCQlyYz0z
CiAJZmkKLQlyYz0kPwotCXJtIC1mICR7VE1QfTs7Ci0gICAgKikJcmM9MDs7Ci1lc2FjCitmaQog
CiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL3NlY3VyaXR5LzMwMC5jaGt1aWQwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS8zMDAuY2hrdWlkMAkocmV2aXNpb24gMjI5
MzIzKQorKysgZXRjL3BlcmlvZGljL3NlY3VyaXR5LzMwMC5jaGt1aWQwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNywyNSArMjcsMTggQEAKICMgJEZyZWVCU0QkCiAjCiAKKy4gL2V0Yy9wZXJpb2RpYy5z
dWJyCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwg
c3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRo
ZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2Rp
Y19jb25mcwotZmkKK3JjPTAKIAotY2FzZSAiJGRhaWx5X3N0YXR1c19zZWN1cml0eV9jaGt1aWQw
X2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1
c19zZWN1cml0eV9jaGt1aWQwX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICdDaGVja2lu
ZyBmb3IgdWlkcyBvZiAwOicKIAluPSQoYXdrIC1GOiAnL14jLyB7bmV4dH0gJDM9PTAge3ByaW50
ICQxLCQzfScgL2V0Yy9tYXN0ZXIucGFzc3dkIHwKIAl0ZWUgL2Rldi9zdGRlcnIgfAogCXNlZCAt
ZSAnL15yb290IDAkL2QnIC1lICcvXnRvb3IgMCQvZCcgfAogCXdjIC1sKQotCVsgJG4gLWd0IDAg
XSAmJiByYz0xIHx8IHJjPTA7OwotICAgICopCXJjPTA7OwotZXNhYworCVsgJG4gLWd0IDAgXSAm
JiByYz0xCitmaQogCi1leGl0ICIkcmMiCitleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL3Nl
Y3VyaXR5LzcwMC5rZXJuZWxtc2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5
LzcwMC5rZXJuZWxtc2cJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0
eS83MDAua2VybmVsbXNnCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwyNCArMzAsMTUgQEAKICMgU2hv
dyBrZXJuZWwgbG9nIG1lc3NhZ2VzCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVt
IGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0
cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u
ZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKLQorLiAvZXRjL3BlcmlvZGljLnN1YnIK
IC4gL2V0Yy9wZXJpb2RpYy9zZWN1cml0eS9zZWN1cml0eS5mdW5jdGlvbnMKIAogcmM9MAogCi1j
YXNlICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2tlcm5lbG1zZ19lbmFibGUiIGluCi0gICAgW1l5
XVtFZV1bU3NdKQoraWYgY2hlY2t5ZXNubyBkYWlseV9zdGF0dXNfc2VjdXJpdHlfa2VybmVsbXNn
X2VuYWJsZTsgdGhlbgogCWRtZXNnIDI+L2Rldi9udWxsIHwKIAkgICAgY2hlY2tfZGlmZiBuZXdf
b25seSBkbWVzZyAtICIke2hvc3R9IGtlcm5lbCBsb2cgbWVzc2FnZXM6IgotCXJjPSQ/OzsKLSAg
ICAqKQlyYz0wOzsKLWVzYWMKKwlyYz0kPworZmkKIAogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJp
b2RpYy9zZWN1cml0eS80NjAuY2hrcG9ydHN1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMv
c2VjdXJpdHkvNDYwLmNoa3BvcnRzdW0JKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2Rp
Yy9zZWN1cml0eS80NjAuY2hrcG9ydHN1bQkod29ya2luZyBjb3B5KQpAQCAtMjcsNDIgKzI3LDQw
IEBACiAjICRGcmVlQlNEJAogIwogCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u
ZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2Vf
cGVyaW9kaWNfY29uZnMKLWZpCi0KKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAuIC9ldGMvcGVyaW9k
aWMvc2VjdXJpdHkvc2VjdXJpdHkuZnVuY3Rpb25zCiAKIHJjPTAKIAotZWNobyAiIgotZWNobyAn
Q2hlY2tpbmcgZm9yIHBvcnRzIHdpdGggbWlzbWF0Y2hlZCBjaGVja3N1bXM6JwotCi1jYXNlICIk
e2RhaWx5X3N0YXR1c19zZWN1cml0eV9jaGtwb3J0c3VtX2VuYWJsZX0iIGluCi0JW1l5XVtFZV1b
U3NdKQotCXNldCAtZgotCXBrZ19pbmZvIC1nYSAyPi9kZXYvbnVsbCB8IFwKLQl3aGlsZSBJRlM9
IHJlYWQgLXIgbGluZTsgZG8KLQkJc2V0IC0tICRsaW5lCi0JCWNhc2UgJDEgaW4KK2lmIGNoZWNr
eWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2Noa3BvcnRzdW1fZW5hYmxlOyB0aGVuCisJaWYg
VE1QPSQobWt0ZW1wIC10IGNoa3BvcnRzdW0pOyB0aGVuCisJCWVjaG8gIiIKKwkJZWNobyAnQ2hl
Y2tpbmcgZm9yIHBvcnRzIHdpdGggbWlzbWF0Y2hlZCBjaGVja3N1bXM6JworCQlzZXQgLWYKKwkJ
cGtnX2luZm8gLWdhIDI+L2Rldi9udWxsIHwgXAorCQl3aGlsZSBJRlM9IHJlYWQgLXIgbGluZTsg
ZG8KKwkJCXNldCAtLSAkbGluZQorCQkJY2FzZSAkMSBpbgogCQkJSW5mb3JtYXRpb24pCi0JCQlj
YXNlICQyIGluCisJCQkJY2FzZSAkMiBpbgogCQkJCWZvcikgbmFtZT0iJHszJSU6fSIgOzsKIAkJ
CQkqKSBuYW1lPSc/PycgOzsKLQkJCWVzYWMKLQkJCTs7CisJCQkJZXNhYworCQkJCTs7CiAJCQlN
aXNtYXRjaGVkfCcnKSA7OwogCQkJKikgWyAtbiAiJHtuYW1lfSIgXSAmJgogCQkJCWVjaG8gIiR7
bmFtZX06ICR7bGluZSUlIGZhaWxzIHRoZSBvcmlnaW5hbCBNRDUgY2hlY2tzdW19IgotCQkJOzsK
LQkJZXNhYwotCWRvbmUKLQk7OwotCSopCi0JcmM9MAotCTs7Ci1lc2FjCisJCQkJOzsKKwkJCWVz
YWMKKwkJZG9uZSA+ICRUTVAKKwkJaWYgWyAkKHdjIC1sICRUTVApIC1ndCAwIF07IHRoZW4KKwkJ
CWNhdCAkVE1QCisJCQlyYz0xCisJCWZpCisJCXJtIC1mICRUTVAKKwllbHNlCisJCXJjPTMKKwlm
aQorZmkKIAogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9zZWN1cml0eS80MTAubG9naW5j
aGVjawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNDEwLmxvZ2luY2hlY2sJ
KHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS80MTAubG9naW5jaGVj
awkod29ya2luZyBjb3B5KQpAQCAtMjcsMjYgKzI3LDE2IEBACiAjICRGcmVlQlNEJAogIwogCi0j
IElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQg
aW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAg
LiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMK
LWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5
X2xvZ2luY2hlY2tfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hl
Y2t5ZXNubyBkYWlseV9zdGF0dXNfc2VjdXJpdHlfbG9naW5jaGVja19lbmFibGU7IHRoZW4KIAll
Y2hvICIiCiAJZWNobyAnQ2hlY2tpbmcgbG9naW4uY29uZiBwZXJtaXNzaW9uczonCi0JaWYgWyAt
RyAvZXRjL2xvZ2luLmNvbmYgLWEgLU8gL2V0Yy9sb2dpbi5jb25mIF07IHRoZW4KLQkgICAgbj0w
Ci0JZWxzZQotCSAgICBlY2hvICJCYWQgb3duZXJzaGlwIG9mIC9ldGMvbG9naW4uY29uZiIKLQkg
ICAgbj0xCisJaWYgISBbIC1HIC9ldGMvbG9naW4uY29uZiAtYSAtTyAvZXRjL2xvZ2luLmNvbmYg
XTsgdGhlbgorCQllcnIgMSAiQmFkIG93bmVyc2hpcCBvZiAvZXRjL2xvZ2luLmNvbmYiCiAJZmkK
LQlbICRuIC1ndCAwIF0gJiYgcmM9MSB8fCByYz0wOzsKLSAgICAqKQlyYz0wOzsKLWVzYWMKK2Zp
CiAKLWV4aXQgIiRyYyIKK2V4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvc2VjdXJpdHkvODAw
LmxvZ2luZmFpbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvc2VjdXJpdHkvODAwLmxvZ2lu
ZmFpbAkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL3NlY3VyaXR5LzgwMC5sb2dp
bmZhaWwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDM5ICszMCwyMCBAQAogIyBTaG93IGxvZ2luIGZh
aWx1cmVzCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24g
ZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25m
IF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9w
ZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKIExPRz0iJHtkYWlseV9z
dGF0dXNfc2VjdXJpdHlfbG9nZGlyfSIKIAorcmM9MAorCiB5ZXN0ZXJkYXk9YGRhdGUgLXYtMWQg
IislYiAlZSAiYAogCi1jYXRtc2dzKCkgewotCWZpbmQgJHtMT0d9IC1uYW1lICdhdXRoLmxvZy4q
JyAtbXRpbWUgLTIgfAotCSAgICBzb3J0IC10LiAtciAtbiAtayAyLDIgfAotCSAgICB3aGlsZSBy
ZWFkIGYKLQkgICAgZG8KLQkJY2FzZSAkZiBpbgotCQkgICAgKi5neikJemNhdCAtZiAkZjs7Ci0J
CSAgICAqLmJ6MikJYnpjYXQgLWYgJGY7OwotCQllc2FjCi0JICAgIGRvbmUKLQlbIC1mICR7TE9H
fS9hdXRoLmxvZyBdICYmIGNhdCAkTE9HL2F1dGgubG9nCi19Ci0KLWNhc2UgIiRkYWlseV9zdGF0
dXNfc2VjdXJpdHlfbG9naW5mYWlsX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCitpZiBj
aGVja3llc25vIGRhaWx5X3N0YXR1c19zZWN1cml0eV9sb2dpbmZhaWxfZW5hYmxlOyB0aGVuCiAJ
ZWNobyAiIgogCWVjaG8gIiR7aG9zdH0gbG9naW4gZmFpbHVyZXM6IgotCW49JChjYXRtc2dzIHwg
ZWdyZXAgLWlhICJeJHllc3RlcmRheS4qOiAuKihmYWlsfGludmFsaWR8YmFkfGlsbGVnYWwpIiB8
CisJbj0kKGNhdGxvZ3MgJExPRyBhdXRoIHwgZWdyZXAgLWlhICJeJHllc3RlcmRheS4qOiAuKihm
YWlsfGludmFsaWR8YmFkfGlsbGVnYWwpIiB8CiAJICAgIHRlZSAvZGV2L3N0ZGVyciB8IHdjIC1s
KQotCVsgJG4gLWd0IDAgXSAmJiByYz0xIHx8IHJjPTA7OwotICAgICopCXJjPTA7OwotZXNhYwor
CVsgJG4gLWd0IDAgXSAmJiByYz0xCitmaQogCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGlj
L3NlY3VyaXR5LzIwMC5jaGttb3VudHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3Vy
aXR5LzIwMC5jaGttb3VudHMJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1
cml0eS8yMDAuY2hrbW91bnRzCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwzMyArMzAsMjcgQEAKICMg
U2hvdyBjaGFuZ2VzIGluIHRoZSB3YXkgZmlsZXN5c3RlbXMgYXJlIG1vdW50ZWQKICMKIAotIyBJ
ZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGlu
LgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4g
L2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1m
aQotCisuIC9ldGMvcGVyaW9kaWMuc3VicgogLiAvZXRjL3BlcmlvZGljL3NlY3VyaXR5L3NlY3Vy
aXR5LmZ1bmN0aW9ucwogCiBpZ25vcmU9IiR7ZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2Noa21vdW50
c19pZ25vcmV9IgorCiByYz0wCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfc2VjdXJpdHlfY2hrbW91
bnRzX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCi0JY2FzZSAiJGRhaWx5X3N0YXR1c19z
ZWN1cml0eV9ub2FtZCIgaW4KLQkgICAgW1l5XVtFZV1bU3NdKQoraWYgY2hlY2t5ZXNubyBkYWls
eV9zdGF0dXNfc2VjdXJpdHlfY2hrbW91bnRzX2VuYWJsZTsgdGhlbgorCWlmIGNoZWNreWVzbm8g
ZGFpbHlfc3RhdHVzX3NlY3VyaXR5X25vYW1kOyB0aGVuCiAJCWlnbm9yZT0iJHtpZ25vcmV9fF5h
bWQ6IgotCWVzYWMKLQlbIC1uICIkaWdub3JlIiBdICYmIGNtZD0iZWdyZXAgLXYgJHtpZ25vcmUj
fH0iIHx8IGNtZD1jYXQKLQlpZiAhIFsgLWYgL2V0Yy9mc3RhYiBdOyB0aGVuCisJZmkKKwlpZiBb
IC1uICIkaWdub3JlIiBdOyB0aGVuCisJCWNtZD0iZWdyZXAgLXYgJHtpZ25vcmUjfH0iCisJZWxz
ZQorCQljbWQ9Y2F0CisJZmkKKwlpZiBbICEgLWYgL2V0Yy9mc3RhYiBdOyB0aGVuCiAJCWV4cG9y
dCBQQVRIX0ZTVEFCPS9kZXYvbnVsbAogCWZpCiAJbW91bnQgLXAgfCBzb3J0IHwgJHtjbWR9IHwK
IAkgIGNoZWNrX2RpZmYgbW91bnQgLSAiJHtob3N0fSBjaGFuZ2VzIGluIG1vdW50ZWQgZmlsZXN5
c3RlbXM6IgotCXJjPSQ/OzsKLSAgICAqKQlyYz0wOzsKLWVzYWMKLQotZXhpdCAiJHJjIgorCXJj
PSQ/CitmaQorZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9zZWN1cml0eS81NTAuaXBmd2xp
bWl0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS81NTAuaXBmd2xpbWl0CShy
ZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNTUwLmlwZndsaW1pdAko
d29ya2luZyBjb3B5KQpAQCAtMzAsMzkgKzMwLDMzIEBACiAjIFNob3cgaXBmdyBydWxlcyB3aGlj
aCBoYXZlIHJlYWNoZWQgdGhlIGxvZyBsaW1pdAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFs
IHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMv
ZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3Blcmlv
ZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMu
c3VicgogCiByYz0wCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfc2VjdXJpdHlfaXBmd2xpbWl0X2Vu
YWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19z
ZWN1cml0eV9pcGZ3bGltaXRfZW5hYmxlOyB0aGVuCiAJSVBGV19WRVJCT1NFPWBzeXNjdGwgLW4g
bmV0LmluZXQuaXAuZncudmVyYm9zZSAyPiAvZGV2L251bGxgCi0JaWYgWyAkPyAtbmUgMCBdIHx8
IFsgIiRJUEZXX1ZFUkJPU0UiIC1lcSAwIF07IHRoZW4KKwlpZiBbICQ/IC1uZSAwIC1vICIkSVBG
V19WRVJCT1NFIiAtZXEgMCBdOyB0aGVuCiAJCWV4aXQgMAogCWZpCi0JVE1QPWBta3RlbXAgLXQg
c2VjdXJpdHlgCi0JaXBmdyAtYSBsaXN0IHwgZ3JlcCAiIGxvZyAiIHwgXAotCWdyZXAgJ15bWzpk
aWdpdDpdXVwrW1s6c3BhY2U6XV1cK1tbOmRpZ2l0Ol1dXCsnIHwgXAotCWF3ayBcCi0JCSd7aWYg
KCQ2ID09ICJsb2dhbW91bnQiKSB7Ci0JCQlpZiAoJDIgPiAkNykKLQkJCQl7cHJpbnQgJDB9fQot
CQl9JyA+ICR7VE1QfQorCWlmIFRNUD1gbWt0ZW1wIC10IHNlY3VyaXR5YDsgdGhlbgorCQlpcGZ3
IC1hIGxpc3QgfCBncmVwICIgbG9nICIgfCBcCisJCWdyZXAgJ15bWzpkaWdpdDpdXVwrW1s6c3Bh
Y2U6XV1cK1tbOmRpZ2l0Ol1dXCsnIHwgXAorCQlhd2sgXAorCQkJJ3tpZiAoJDYgPT0gImxvZ2Ft
b3VudCIpIHsKKwkJCQlpZiAoJDIgPiAkNykKKwkJCQkJe3ByaW50ICQwfX0KKwkJCX0nID4gJHtU
TVB9CiAKLQlpZiBbIC1zICIke1RNUH0iIF07IHRoZW4KLQkJcmM9MQotCQllY2hvICIiCi0JCWVj
aG8gJ2lwZncgbG9nIGxpbWl0IHJlYWNoZWQ6JwotCQljYXQgJHtUTVB9CisJCWlmIFsgLXMgIiR7
VE1QfSIgXTsgdGhlbgorCQkJcmM9MQorCQkJZWNobyAiIgorCQkJZWNobyAnaXBmdyBsb2cgbGlt
aXQgcmVhY2hlZDonCisJCQljYXQgJHtUTVB9CisJCWZpCisJCXJtIC1mICR7VE1QfQorCWVsc2UK
KwkJcmM9MwogCWZpCi0Jcm0gLWYgJHtUTVB9OzsKLSAgICAqKQlyYz0wOzsKLWVzYWMKLQorZmkK
IGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvc2VjdXJpdHkvc2VjdXJpdHkuZnVuY3Rpb25z
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS9zZWN1cml0eS5mdW5jdGlvbnMJ
KHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS9zZWN1cml0eS5mdW5j
dGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTczLDYgKzczLDUgQEAKICAgICBtdiAke3RtcGZ9ICR7
TE9HfS8ke2xhYmVsfS50b2RheSB8fCByYz0zCiAgIGZpCiAKLSAgcm0gLWYgJHt0bXBmfQotICBl
eGl0ICR7cmN9CisgIHJldHVybiAke3JjfQogfQpJbmRleDogZXRjL3BlcmlvZGljL3NlY3VyaXR5
LzYxMC5pcGY2ZGVuaWVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS82MTAu
aXBmNmRlbmllZAkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL3NlY3VyaXR5LzYx
MC5pcGY2ZGVuaWVkCSh3b3JraW5nIGNvcHkpCkBAIC0yNywyNyArMjcsMjMgQEAKICMgJEZyZWVC
U0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmls
ZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0K
LXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJp
b2RpY19jb25mcwotZmkKLQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIC4gL2V0Yy9wZXJpb2RpYy9z
ZWN1cml0eS9zZWN1cml0eS5mdW5jdGlvbnMKIAogcmM9MAogCi1jYXNlICIkZGFpbHlfc3RhdHVz
X3NlY3VyaXR5X2lwZjZkZW5pZWRfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKLQlUTVA9
YG1rdGVtcCAke1RNUERJUjotL3RtcH0vc2VjdXJpdHkuWFhYWFhYWFhYWGAKLQlpZiBpcGZzdGF0
IC1uaGlvNiAyPi9kZXYvbnVsbCB8IGdyZXAgYmxvY2sgPiAke1RNUH07IHRoZW4KLQkgY2hlY2tf
ZGlmZiBuZXdfb25seSBpcGY2ICR7VE1QfSAiJHtob3N0fSBpcGY2IGRlbmllZCBwYWNrZXRzOiIK
K2lmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2lwZjZkZW5pZWRfZW5hYmxlOyB0
aGVuCisJaWYgVE1QPSQobWt0ZW1wIC10IHNlY3VyaXR5KTsgdGhlbgorCQlpZiBpcGZzdGF0IC1u
aGlvNiAyPi9kZXYvbnVsbCB8IGdyZXAgYmxvY2sgPiAke1RNUH07IHRoZW4KKwkJCWNoZWNrX2Rp
ZmYgbmV3X29ubHkgaXBmNiAke1RNUH0gIiR7aG9zdH0gaXBmNiBkZW5pZWQgcGFja2V0czoiCisJ
CQlyYz0kPworCQllbHNlCisJCQlyYz0xCisJCWZpCisJCXJtIC1mICR7VE1QfQorCWVsc2UKKwkJ
cmM9MwogCWZpCi0JcmM9JD8KLQlybSAtZiAke1RNUH07OwotICAgICopCXJjPTA7OwotZXNhYwor
ZmkKIAogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9zZWN1cml0eS85MDAudGNwd3JhcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvc2VjdXJpdHkvOTAwLnRjcHdyYXAJKHJldmlzaW9u
IDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS85MDAudGNwd3JhcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsMzkgKzMwLDIwIEBACiAjIFNob3cgdGNwX3dyYXBwZXIgd2FybmluZyBtZXNz
YWdlcwogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZp
bGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBd
Ci10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVy
aW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCiBMT0c9IiR7ZGFpbHlfc3Rh
dHVzX3NlY3VyaXR5X2xvZ2Rpcn0iCiAKK3JjPTAKKwogeWVzdGVyZGF5PWBkYXRlIC12LTFkICIr
JWIgJWUgImAKIAotY2F0bXNncygpIHsKLQlmaW5kICR7TE9HfSAtbmFtZSAnbWVzc2FnZXMuKicg
LW10aW1lIC0yIHwKLQkgICAgc29ydCAtdC4gLXIgLW4gLWsgMiwyIHwKLQkgICAgd2hpbGUgcmVh
ZCBmCi0JICAgIGRvCi0JCWNhc2UgJGYgaW4KLQkJICAgICouZ3opCXpjYXQgLWYgJGY7OwotCQkg
ICAgKi5iejIpCWJ6Y2F0IC1mICRmOzsKLQkJZXNhYwotCSAgICBkb25lCi0JWyAtZiAke0xPR30v
bWVzc2FnZXMgXSAmJiBjYXQgJExPRy9tZXNzYWdlcwotfQotCi1jYXNlICIkZGFpbHlfc3RhdHVz
X3NlY3VyaXR5X3RjcHdyYXBfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK2lmIGNoZWNr
eWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5X3RjcHdyYXBfZW5hYmxlOyB0aGVuCiAJZWNobyAi
IgogCWVjaG8gIiR7aG9zdH0gcmVmdXNlZCBjb25uZWN0aW9uczoiCi0Jbj0kKGNhdG1zZ3MgfCBn
cmVwIC1pICJeJHllc3RlcmRheS4qcmVmdXNlZCBjb25uZWN0IiB8CisJbj0kKGNhdGxvZ3MgJExP
RyBtZXNzYWdlcyB8IGdyZXAgLWkgIl4keWVzdGVyZGF5LipyZWZ1c2VkIGNvbm5lY3QiIHwKIAkg
ICAgdGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCi0JWyAkbiAtZ3QgMCBdICYmIHJjPTEgfHwgcmM9
MDs7Ci0gICAgKikJcmM9MDs7Ci1lc2FjCisJWyAkbiAtZ3QgMCBdICYmIHJjPTEKK2ZpCiAKIGV4
aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNDAwLnBhc3N3ZGxlc3MKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5LzQwMC5wYXNzd2RsZXNzCShyZXZpc2lvbiAy
MjkzMjMpCisrKyBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNDAwLnBhc3N3ZGxlc3MJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDIyICsyNywxNiBAQAogIyAkRnJlZUJTRCQKICMKIAotIyBJZiB0aGVyZSBp
cyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGluLgotIwotaWYg
WyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4gL2V0Yy9kZWZh
dWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1maQorLiAvZXRj
L3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3N0YXR1c19zZWN1cml0eV9wYXNzd2RsZXNz
X2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFp
bHlfc3RhdHVzX3NlY3VyaXR5X3Bhc3N3ZGxlc3NfZW5hYmxlOyB0aGVuCiAJZWNobyAiIgogCWVj
aG8gJ0NoZWNraW5nIGZvciBwYXNzd29yZGxlc3MgYWNjb3VudHM6JwogCW49JChhd2sgLUY6ICdO
RiA+IDEgJiYgJDEgIX4gL15bIystXS8gJiYgJDI9PSIiIHtwcmludCAkMH0nIC9ldGMvbWFzdGVy
LnBhc3N3ZCB8CiAJICAgIHRlZSAvZGV2L3N0ZGVyciB8IHdjIC1sKQotCVsgJG4gLWd0IDAgXSAm
JiByYz0xIHx8IHJjPTA7OwotICAgICopCXJjPTA7OwotZXNhYworCVsgJG4gLWd0IDAgXSAmJiBy
Yz0xCitmaQogCi1leGl0ICIkcmMiCitleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL3NlY3Vy
aXR5LzUxMC5pcGZkZW5pZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5LzUx
MC5pcGZkZW5pZWQJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS81
MTAuaXBmZGVuaWVkCSh3b3JraW5nIGNvcHkpCkBAIC0yNywyNyArMjcsMjMgQEAKICMgJEZyZWVC
U0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmls
ZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0K
LXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJp
b2RpY19jb25mcwotZmkKLQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIC4gL2V0Yy9wZXJpb2RpYy9z
ZWN1cml0eS9zZWN1cml0eS5mdW5jdGlvbnMKIAogcmM9MAogCi1jYXNlICIkZGFpbHlfc3RhdHVz
X3NlY3VyaXR5X2lwZmRlbmllZF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQotCVRNUD1g
bWt0ZW1wIC10IHNlY3VyaXR5YAotCWlmIGlwZnN0YXQgLW5oaW8gMj4vZGV2L251bGwgfCBncmVw
IGJsb2NrID4gJHtUTVB9OyB0aGVuCi0JICBjaGVja19kaWZmIG5ld19vbmx5IGlwZiAke1RNUH0g
IiR7aG9zdH0gaXBmIGRlbmllZCBwYWNrZXRzOiIKK2lmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVz
X3NlY3VyaXR5X2lwZmRlbmllZF9lbmFibGU7IHRoZW4KKwlpZiBUTVA9JChta3RlbXAgLXQgc2Vj
dXJpdHkpOyB0aGVuCisJCWlmIGlwZnN0YXQgLW5oaW8gMj4vZGV2L251bGwgfCBncmVwIGJsb2Nr
ID4gJHtUTVB9OyB0aGVuCisJCQljaGVja19kaWZmIG5ld19vbmx5IGlwZiAke1RNUH0gIiR7aG9z
dH0gaXBmIGRlbmllZCBwYWNrZXRzOiIKKwkJCXJjPSQ/CisJCWVsc2UKKwkJCXJjPTEKKwkJZmkK
KwkJcm0gLWYgJHtUTVB9CisJZWxzZQorCQlyYz0zCiAJZmkKLQlyYz0kPwotCXJtIC1mICR7VE1Q
fTs7Ci0gICAgKikJcmM9MDs7Ci1lc2FjCitmaQogCiBleGl0ICRyYwpJbmRleDogZXRjL3Blcmlv
ZGljL3NlY3VyaXR5LzExMC5uZWdncnBwZXJtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9z
ZWN1cml0eS8xMTAubmVnZ3JwcGVybQkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGlj
L3NlY3VyaXR5LzExMC5uZWdncnBwZXJtCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxOCArMjcsMTEg
QEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZp
Z3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJp
b2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAg
IHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKIHJjPTAK
IAotY2FzZSAiJGRhaWx5X3N0YXR1c19zZWN1cml0eV9uZWdncnBwZXJtX2VuYWJsZSIgaW4KLSAg
ICBbWXldW0VlXVtTc10pCitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19zZWN1cml0eV9uZWdn
cnBwZXJtX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICdDaGVja2luZyBuZWdhdGl2ZSBn
cm91cCBwZXJtaXNzaW9uczonCiAJTVA9YG1vdW50IC10IHVmcyx6ZnMgfCBhd2sgJyQwICF+IC9u
byhzdWlkfGV4ZWMpLyB7IHByaW50ICQzIH0nYApAQCAtNDcsOCArNDAsNyBAQAogCSAgICBcKCAh
IC1wZXJtICswMjAgLWFuZCAtcGVybSArMDAyIFwpIC1vciBcCiAJICAgIFwoICEgLXBlcm0gKzA0
MCAtYW5kIC1wZXJtICswMDQgXCkgXCkgXAogCSAgICAtZXhlYyBscyAtbGlUZCBce1x9IFwrIHwg
dGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCi0JWyAkbiAtZ3QgMCBdICYmIHJjPTEgfHwgcmM9MAot
CTs7Ci1lc2FjCisJWyAkbiAtZ3QgMCBdICYmIHJjPTEKK2ZpCiAKIGV4aXQgJHJjCkluZGV4OiBl
dGMvcGVyaW9kaWMvbW9udGhseS85OTkubG9jYWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGlj
L21vbnRobHkvOTk5LmxvY2FsCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvbW9u
dGhseS85OTkubG9jYWwJKHdvcmtpbmcgY29weSkKQEAgLTMsMTUgKzMsMTAgQEAKICMgJEZyZWVC
U0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmls
ZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0K
LXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJp
b2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5jb25mCiAKIHJjPTAKKwogZm9yIHNjcmlw
dCBpbiAkbW9udGhseV9sb2NhbAogZG8KICAgICBlY2hvICcnCkluZGV4OiBldGMvcGVyaW9kaWMv
bW9udGhseS8yMDAuYWNjb3VudGluZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvbW9udGhs
eS8yMDAuYWNjb3VudGluZwkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL21vbnRo
bHkvMjAwLmFjY291bnRpbmcJKHdvcmtpbmcgY29weSkKQEAgLTMsMjAgKzMsMTMgQEAKICMgJEZy
ZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24g
ZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25m
IF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9w
ZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5jb25mCiAKLW9sZG1hc2s9JCh1bWFz
aykKK3JjPTAKKwogdW1hc2sgMDY2Ci1jYXNlICIkbW9udGhseV9hY2NvdW50aW5nX2VuYWJsZSIg
aW4KLSAgICBbWXldW0VlXVtTc10pCitpZiBjaGVja3llc25vIG1vbnRobHlfYWNjb3VudGluZ19l
bmFibGU7IHRoZW4KIAlXPS92YXIvbG9nL3V0eC5sb2cKLQlyYz0wCiAJcmVtb3ZlPU5PCiAJaWYg
WyAhIC1mICRXLjAgXQogCXRoZW4KQEAgLTI5LDIzICsyMiwyMCBAQAogCQlyZW1vdmU9WUVTCiAJ
CWJ6Y2F0ICRXLjAuYnoyID4gJFcuMCB8fCByYz0xCiAJICAgIGVsc2UKLQkJZWNobyAnJG1vbnRo
bHlfYWNjb3VudGluZ19lbmFibGUgaXMgc2V0IGJ1dCcgXAorCQllcnIgMiAnJG1vbnRobHlfYWNj
b3VudGluZ19lbmFibGUgaXMgc2V0IGJ1dCcgXAogCQkgICAgIiRXLjAgZG9lc24ndCBleGlzdCIK
LQkJcmM9MgogCSAgICBmaQogCWZpCiAJaWYgWyAkcmMgLWVxIDAgXQogCXRoZW4KLQkgICAgZWNo
byAiIgotCSAgICBlY2hvICJEb2luZyBsb2dpbiBhY2NvdW50aW5nOiIKLQorCSAgICBpZiBjaGVj
a3llc25vIG1vbnRobHlfYWNjb3VudGluZ192ZXJib3NlOyB0aGVuCisJCWVjaG8gIiIKKwkJZWNo
byAiRG9pbmcgbG9naW4gYWNjb3VudGluZzoiCisJICAgIGZpCiAJICAgIHJjPSQoYWMgLXAgLXcg
JFcuMCB8IHNvcnQgLW5yIC1rIDIgfCB0ZWUgL2Rldi9zdGRlcnIgfCB3YyAtbCkKIAkgICAgWyAk
cmMgLWd0IDAgXSAmJiByYz0xCiAJZmkKLQlbICRyZW1vdmUgPSBZRVMgXSAmJiBybSAtZiAkVy4w
OzsKKwlbICRyZW1vdmUgPSBZRVMgXSAmJiBybSAtZiAkVy4wCitmaQogCi0gICAgKikgIHJjPTA7
OwotZXNhYwotCi11bWFzayAkb2xkbWFzawogZXhpdCAkcmMK
--f46d044469e7a75f4e04b5957cd2--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wQkDOewrquuCB6TAFcyhx3nBd9pUEt7=w3GQ1LMVv1EXg>