Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Aug 2012 22:12:10 +0800
From:      =?UTF-8?B?5LmU5qWa?= <honestqiao@gmail.com>
To:        Chris Rees <utisoft@gmail.com>
Cc:        "O. Hartmann" <ohartman@mail.zedat.fu-berlin.de>, Current FreeBSD <freebsd-current@freebsd.org>, "O. Hartmann" <ohartman@zedat.fu-berlin.de>, FreeBSD Mailing List <freebsd-ports@freebsd.org>, Bryan Drewery <bryan@shatow.net>
Subject:   Re: pkg and portmaster: Downgrading ports? Why? portmaster messes up ...
Message-ID:  <CAMAY4VgiixdpFwyt5ZdWn_tjbXKVTJYw4objWSf8j2j1ZEheBg@mail.gmail.com>
In-Reply-To: <CADLo839cz-5EfKZ=MuNZSp0wmhSRhxwAgdGT=wqdMjZoXQke7g@mail.gmail.com>
References:  <5020E05C.3000704@zedat.fu-berlin.de> <50211A8F.40108@shatow.net> <50211CEA.6030108@mail.zedat.fu-berlin.de> <CADLo839cz-5EfKZ=MuNZSp0wmhSRhxwAgdGT=wqdMjZoXQke7g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--20cf3074b4f49b7d9b04c6d5d258
Content-Type: text/plain; charset=ISO-8859-1

2012/8/9 Chris Rees <utisoft@gmail.com>:
> On 7 Aug 2012 15:50, "O. Hartmann" <ohartman@mail.zedat.fu-berlin.de> wrote:
>>
>> On 08/07/12 15:39, Bryan Drewery wrote:
>> > On 8/7/2012 4:31 AM, O. Hartmann wrote:
>> >> ports-mgmt/portmaster installs still the old fashioned style folders of
>> >> ports in /var/db/pkg. I thought ith the new scheme of pkg, everything
> is
>> >> going into a file based SQLite3 DB?
>> >
>> > Also ensure WITH_PKGNG=yes is in your /etc/make.conf. My last comment
>> > still stands though, portmaster will store distifile information in
>> > /var/db/pkg.
>> >
>>
>> WITH_PKGNG=yes is set in /etc/make.conf.
>
> Also in your portmasterrc?
>
> Chris
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"

You can use this patch.

--20cf3074b4f49b7d9b04c6d5d258
Content-Type: application/octet-stream; name="patch-portmaster-pkgng-3.13.13"
Content-Disposition: attachment; filename="patch-portmaster-pkgng-3.13.13"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h5nxdqw40

CiRGcmVlQlNEJAoKLS0tIHBvcnRtYXN0ZXIuc2guaW4ub3JpZworKysgcG9ydG1hc3Rlci5zaC5p
bgpAQCAtNDcsNyArNDcsNyBAQAogIz09PT09PT09PT09PT09PSBCZWdpbiBmdW5jdGlvbnMgd2Ug
YWx3YXlzIHdhbnQgdG8gaGF2ZSA9PT09PT09PT09PT09PT0KIAogdmVyc2lvbiAoKSB7Ci0JZWNo
byAnJyA7IGVjaG8gIj09PT4+PiBWZXJzaW9uIDMuMTMuMTMiCisJZWNobyAnJyA7IGVjaG8gIj09
PT4+PiBWZXJzaW9uIDMuMTMuMTMgKHBrZ25nIHBhdGNoIDEuMykiCiAJI3N2bj0nJEZyZWVCU0Q6
IHVzZXIvZG91Z2IvcG9ydG1hc3Rlci9wb3J0bWFzdGVyIDIzODc1NCAyMDEyLTA3LTI0IDIwOjE1
OjQxWiBkb3VnYiAkJwogfQogCkBAIC0xMzQsNiArMTM0LDggQEAKIAkJCWlmIFsgLW4gIiRmaWxl
cyIgXTsgdGhlbgogCQkJCXBtX3N2IERlbGV0aW5nIFwnaW5zdGFsbCBjb21wbGV0ZVwnIGZsYWdz
CiAJCQkJcG1fZmluZF9zICRwZGIgLXR5cGUgZiAtbmFtZSBQTV9VUEdSQURFX0RPTkVfRkxBRyAt
ZGVsZXRlCisJCQkJWyAtbiAiJHVzZV9wa2duZyIgXSAmJgorCQkJCQlwbV9maW5kX3MgJHBkYiAt
dHlwZSBkIC1kZXB0aCAxIC1lbXB0eSAhIC1wYXRoIFwqXC56ZnMvXCogLWRlbGV0ZSAyPi9kZXYv
bnVsbAogCQkJZmkKIAkJZmkKIAkJaWYgWyAteiAiJEJBQ0tVUCIgLWEgLXogIiROT19CQUNLVVAi
IC1hIC1uICIkTkJfREVMRVRFIiBdOyB0aGVuCkBAIC0xODcsOSArMTg5LDE0IEBACiAJCWZpCiAK
IAkJOiAke1BBR0VSOj0nbGVzcyAtZSd9Ci0JCSggZm9yIGYgaW4gJERJU1BMQVlfTElTVDsgZG8K
LQkJCWVjaG8gIj09PT4+PiBwa2ctbWVzc2FnZSBmb3IgJGYiIDsgY2F0ICRwZGIvJGYvK0RJU1BM
QVkgOyBlY2hvICcnCi0JCWRvbmUKKwkJKCBpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJ
CQlmb3IgZiBpbiAkRElTUExBWV9MSVNUOyBkbworCQkJCWVjaG8gIj09PT4+PiBwa2ctbWVzc2Fn
ZSBmb3IgJGYiCisJCQkJY2F0ICRwZGIvJGYvK0RJU1BMQVkgOyBlY2hvICcnCisJCQlkb25lCisJ
CWVsc2UKKwkJCXBrZyBxdWVyeSAiPT09Pj4+IHBrZy1tZXNzYWdlIGZvciAlbi0ldlxuJU0iICRE
SVNQTEFZX0xJU1QKKwkJZmkKIAkJZWNobyAiPT09Pj4+IERvbmUgZGlzcGxheWluZyBwa2ctbWVz
c2FnZSBmaWxlcyIgOyBlY2hvICcnICkgfCAkUEFHRVIgOzsKIAllc2FjCiAKQEAgLTIzMiwxMCAr
MjM5LDE0IEBACiAJaWYgWyAtbiAiJGJ1aWxkX2RlcHNfaWwiIF07IHRoZW4KIAkJZWNobyAiPT09
Pj4+IERlbGV0aW5nIGluc3RhbGxlZCBidWlsZC1vbmx5IGRlcGVuZGVuY2llcyIKIAkJY2QKLQkJ
Zm9yIGYgaW4gJGJ1aWxkX2RlcHNfaWw7IGRvCi0JCQlwbV92ICIgICAgICAgJGYiCi0JCQlwbV9w
a2dfZGVsZXRlX3MgLWYgJGYKLQkJZG9uZQorCQlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVu
CisJCQlmb3IgZiBpbiAkYnVpbGRfZGVwc19pbDsgZG8KKwkJCQlwbV92ICIgICAgICAgJGYiCisJ
CQkJcG1fcGtnX2RlbGV0ZV9zIC1mICRmCisJCQlkb25lCisJCWVsc2UKKwkJCXBtX3BrZ19kZWxl
dGVfcyAtZiAkYnVpbGRfZGVwc19pbAorCQlmaQogCQllY2hvICcnCiAJZmkKIApAQCAtMzIzLDcg
KzMzNCwxMyBAQAogcG1fbWFrZV9zICAgICAgICAgKCkgeyAoIHVuc2V0IC12IENVUl9ERVBTIElO
U1RBTExFRF9MSVNUIFBNX0RFUFRIIGJ1aWxkX2wgUE1fVVJCX0xJU1Q7CiAJCQkgJFBNX1NVX0NN
RCAvdXNyL2Jpbi9uaWNlIC91c3IvYmluL21ha2UgJFBNX01BS0VfQVJHUyAkKjsgKTsgfQogcG1f
bWtkaXJfcyAgICAgICAgKCkgeyAkUE1fU1VfQ01EIC9iaW4vbWtkaXIgLXAgJDE7IH0KLXBtX3Br
Z19kZWxldGVfcyAgICgpIHsgJFBNX1NVX0NNRCAvdXNyL3NiaW4vcGtnX2RlbGV0ZSAkKjsgfQor
cG1fcGtnX2RlbGV0ZV9zICAgKCkgeworCWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4KKwkJ
JFBNX1NVX0NNRCAvdXNyL3NiaW4vcGtnX2RlbGV0ZSAkKjsKKwllbHNlCisJCSRQTV9TVV9DTUQg
L3Vzci9sb2NhbC9zYmluL3BrZyBkZWxldGUgLXkgJCo7CisJZmkKK30KIHBtX3JtX3MgICAgICAg
ICAgICgpIHsgJFBNX1NVX0NNRCAvYmluL3JtICQqOyB9CiBwbV9ybWRpcl9zICAgICAgICAoKSB7
ICRQTV9TVV9DTUQgL2Jpbi9ybWRpciAkKjsgfQogcG1fdW5saW5rX3MgICAgICAgKCkgeyBbIC1l
ICIkMSIgXSAmJiAkUE1fU1VfQ01EIC9iaW4vdW5saW5rICQxOyB9CkBAIC0zNzEsNiArMzg4LDEw
IEBACiAJWyAteiAiJHBvcnRfZGJkaXIiIF0gJiYKIAkJcG9ydF9kYmRpcj1gcG1fbWFrZV9iIC1m
L3Vzci9zaGFyZS9tay9ic2QucG9ydC5tayAtViBQT1JUX0RCRElSIDI+L2Rldi9udWxsYAogCVsg
LW4gIiRwb3J0X2RiZGlyIiBdICYmIGV4cG9ydCBwb3J0X2RiZGlyCisKKwkjIERldGVjdCBpZiBw
a2duZyBpcyBiZWluZyB1c2VkCisJdXNlX3BrZ25nPSJgcG1fbWFrZV9iIC1WIFdJVEhfUEtHTkdg
IgorCVsgLW4gIiR1c2VfcGtnbmciIF0gJiYgZXhwb3J0IHVzZV9wa2duZwogZmkKIAogdXNhZ2Ug
KCkgewpAQCAtNTI3LDEyICs1NDgsMTcgQEAKIAogCXBhdHRlcm49YGdsb2JzdHJpcCAkMWAKIAot
CWdsb2JfZGlycz1gZmluZCAkcGRiIC1tYXhkZXB0aCAxIC10eXBlIGQgLW5hbWUgJHtwYXR0ZXJu
fVwqYAorCWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4KKwkJZ2xvYl9kaXJzPWBmaW5kICRw
ZGIgLWRlcHRoIDEgLXR5cGUgZCAtbmFtZSAke3BhdHRlcm59XCpgCisJZWxzZQorCQlnbG9iX2Rp
cnM9YHBrZyBxdWVyeSAtZyAiJW4tJXYiICR7cGF0dGVybn1cKmAKKwlmaQogCWNhc2UgIiRnbG9i
X2RpcnMiIGluCiAJIyBNYXRjaCBhIG5ld2xpbmUgaW4gbXVsdGlwbGUgcmVzcG9uc2VzIGZyb20g
ZmluZAogCSonCiAnKikJCXJldHVybiAyIDs7Ci0JJHBkYi8qKQlyZXR1cm4gOzsKKwknJykJOzsK
KwkqKQlyZXR1cm4gOzsKIAllc2FjCiAKIAl1bnNldCBnbG9iX2RpcnMKQEAgLTU0MiwyMCArNTY4
LDM1IEBACiBvcmlnaW5fZnJvbV9wZGIgKCkgewogCWxvY2FsIG8KIAotCW89YGdyZXAgLW0xICdA
Y29tbWVudCBPUklHSU46JyAkcGRiLyQxLytDT05URU5UUyAyPi9kZXYvbnVsbGAgJiYgewotCQll
Y2hvICR7byNAY29tbWVudCBPUklHSU46fTsgcmV0dXJuIDA7IH0KKwlpZiBbIC16ICIkdXNlX3Br
Z25nIiBdOyB0aGVuCisJCW89YGdyZXAgLW0xICdAY29tbWVudCBPUklHSU46JyAkcGRiLyQxLytD
T05URU5UUyAyPi9kZXYvbnVsbGAgJiYgeworCQkJZWNobyAke28jQGNvbW1lbnQgT1JJR0lOOn07
IHJldHVybiAwOyB9CisJZWxzZQorCQlwa2cgaW5mbyAtcW8gJDEgMj4vZGV2L251bGwgJiYgcmV0
dXJuIDAKKwlmaQogCiAJY2FzZSAiJDEiIGluIGJzZHBhbi0qKSByZXR1cm4gMyA7OyBlc2FjCiAK
LQlpZiBbIC1lICIkcGRiLyQxLytJR05PUkVNRSIgXTsgdGhlbgorCWlmIFsgLWUgIiRwZGIvJDEv
K0lHTk9SRU1FIiBdICYmICggWyAteiAiJHVzZV9wa2duZyIgXSB8fCBwa2cgaW5mbyAtZSAkMSAp
OyB0aGVuCiAJCWlmIFsgLW4gIiRQTV9WRVJCT1NFIiAtbyAtbiAiJExJU1RfT1JJR0lOUyIgXTsg
dGhlbgotCQkJZWNobyAiCT09PT4+PiBObyBPUklHSU4gaW4gJHBkYi8kMS8rQ09OVEVOVFMiID4m
MgorCQkJaWYgWyAteiAiJHVzZV9wa2duZyIgXTsgdGhlbgorCQkJCWVjaG8gIgk9PT0+Pj4gTm8g
T1JJR0lOIGluICRwZGIvJDEvK0NPTlRFTlRTIiA+JjIKKwkJCWVsc2UKKwkJCQkjIEFuIGVycm9y
IGFib3ZlIGRvZXNuJ3QgbmVjZXNzYXJpbHkgbWVhbiB0aGVyZSdzCisJCQkJIyBhIHByb2JsZW0g
aW4gK01BTklGRVNULCBzbyBkb24ndCBtZW50aW9uIGl0CisJCQkJZWNobyAiCT09PT4+PiBObyBv
cmlnaW4gYXZhaWxhYmxlIGZvciAkMSIgPiYyCisJCQlmaQogCQkJZWNobyAiCT09PT4+PiAkcGRi
LyQxLytJR05PUkVNRSBleGlzdHMiID4mMgogCQkJZWNobyAnJyA+JjIKIAkJZmkKIAkJcmV0dXJu
IDIKIAllbHNlCi0JCWVjaG8gIgk9PT0+Pj4gTm8gT1JJR0lOIGluICRwZGIvJDEvK0NPTlRFTlRT
IiA+JjIKKwkJaWYgWyAteiAiJHVzZV9wa2duZyIgXTsgdGhlbgorCQkJZWNobyAiCT09PT4+PiBO
byBPUklHSU4gaW4gJHBkYi8kMS8rQ09OVEVOVFMiID4mMgorCQllbHNlCisJCQkjIFNhbWUgYXMg
YWJvdmUKKwkJCWVjaG8gIgk9PT0+Pj4gTm8gb3JpZ2luIGF2YWlsYWJsZSBmb3IgJDEiID4mMgor
CQlmaQogCQllY2hvICcnID4mMgogCWZpCiAJcmV0dXJuIDEKQEAgLTY5NywxMiArNzM4LDE3IEBA
CiAJbykJUkVQTEFDRV9PUklHSU49b29wdCA7OwogCXApCWZhaWwgJ1RoZSAtcCBvcHRpb24gaGFz
IGJlZW4gZGVwcmVjYXRlZCcgOzsKIAlyKQlQTV9VUkI9cm9wdAotCQlpZiBbIC1kICIkcGRiLyRP
UFRBUkciIF07IHRoZW4KKwkJaWYgWyAtZCAiJHBkYi8kT1BUQVJHIiBdICYmICggWyAteiAiJHVz
ZV9wa2duZyIgXSB8fCBwa2cgaW5mbyAtZSAkT1BUQVJHICk7IHRoZW4KIAkJCWdsb2JfZGlycz0k
T1BUQVJHCiAJCWVsc2UKKwkJCWNhc2UgIiRPUFRBUkciIGluICovKikgZmFpbCAnVGhlIGFyZ3Vt
ZW50IHRvIC1yIG11c3QgYmUgYSBwYWNrYWdlIG5hbWUsIG9yIGEgZ2xvYiBwYXR0ZXJuJyA7OyBl
c2FjCiAJCQlmaW5kX2dsb2JfZGlycyAkT1BUQVJHCiAJCQljYXNlICQ/IGluCi0JCQkxKQlmYWls
ICIkcGRiLyRPUFRBUkcgZG9lcyBub3QgZXhpc3QiIDs7CisJCQkxKQlpZiBbIC16ICIkdXNlX3Br
Z25nIiBdOyB0aGVuCisJCQkJCWZhaWwgIiRwZGIvJE9QVEFSRyBkb2VzIG5vdCBleGlzdCIKKwkJ
CQllbHNlCisJCQkJCWZhaWwgIiRPUFRBUkcgaXMgbm90IGluc3RhbGxlZCIKKwkJCQlmaSA7Owog
CQkJMikJZmFpbCAnVGhlIGFyZ3VtZW50IHRvIC1yIG11c3QgbWF0Y2ggb25seSBvbmUgcG9ydCcg
OzsKIAkJCWVzYWMKIAkJZmkKQEAgLTc4NCw2ICs4MzAsMTIgQEAKIAkgICAgZmFpbCAnVGhlIC1b
YXJdIG9wdGlvbnMgYXJlIG5vdCBjb21wYXRpYmxlIHdpdGggb3RoZXIgdXBkYXRlcycKIAogCWlm
IFsgLW4gIiRQTV9QQUNLQUdFUyIgLW8gLW4gIiRQTV9QQUNLQUdFU19CVUlMRCIgXTsgdGhlbgor
CQlpZiBbIC1uICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJCQl1bnNldCBQTV9QQUNLQUdFUyBQTV9Q
QUNLQUdFU19CVUlMRCBQTV9QQUNLQUdFU19MT0NBTCBQTV9QQUNLQUdFU19ORVdFUiBQTV9BTFdB
WVNfRkVUQ0ggUE1fREVMRVRFX1BBQ0tBR0VTCisJCQllY2hvICI9PT0+Pj4gUGFja2FnZSBpbnN0
YWxsYXRpb24gc3VwcG9ydCBjYW5ub3QgYmUgdXNlZCB3aXRoIHBrZ25nIHlldCwiCisJCQllY2hv
ICIgICAgICAgaXQgd2lsbCBiZSBkaXNhYmxlZCIKKwkJCWVjaG8gJycKKwkJZmkKIAkJWyBgL3Ni
aW4vc3lzY3RsIC1uIGtlcm4ub3NyZWxkYXRlIDI+L2Rldi9udWxsYCAtbHQgNjAwNDAwIF0gJiYK
IAkJCWZhaWwgUGFja2FnZSBpbnN0YWxsYXRpb24gc3VwcG9ydCByZXF1aXJlcyBGcmVlQlNEIDYu
NCBvciBuZXdlcgogCWZpCkBAIC04NTAsNyArOTAyLDEyIEBACiAJCWZpCiAJCXVuc2V0IElOREVY
RklMRSBJTkRFWERJUgogCi0JCVBNX0lOREVYX1BPUlRTPWBwa2dfdmVyc2lvbiAtSXZsXDwgJFBN
X0lOREVYIHwgY3V0IC1mMSAtZFw8YAorCQlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJ
CQlwa2dfdmVyc2lvbj0icGtnX3ZlcnNpb24iCisJCWVsc2UKKwkJCXBrZ192ZXJzaW9uPSJwa2cg
dmVyc2lvbiIKKwkJZmkKKwkJUE1fSU5ERVhfUE9SVFM9YCRwa2dfdmVyc2lvbiAtSXZsXDwgJFBN
X0lOREVYIHwgY3V0IC1mMSAtZFw8YAogCQlleHBvcnQgUE1fSU5ERVhfUE9SVFMKIAogCQlpZiBb
IC16ICIkcGQiIC1vICIkcGQiICE9IC91c3IvcG9ydHMgXTsgdGhlbgpAQCAtOTA3LDYgKzk2NCwx
MCBAQAogaXBvcnRfZnJvbV9vcmlnaW4gKCkgewogCWxvY2FsIHNuIGRpcgogCisJaWYgWyAtbiAi
JHVzZV9wa2duZyIgXTsgdGhlbgorCQlwa2cgaW5mbyAtcU8gJHsxfSB8fCByZXR1cm4gMQorCQly
ZXR1cm4KKwlmaQogCXNuPSR7MSMqL30gOyBzbj0ke3NuJS0qfSA7IHNuPSR7c24lJVswLTldKn0K
IAogCWlmICEgZGlyPWBncmVwIC1sICJAY29tbWVudCBPUklHSU46JHsxfSQiICRwZGIvJHtzbn0q
LytDT05URU5UUyAyPi9kZXYvbnVsbGA7IHRoZW4KQEAgLTkzNSw3ICs5OTYsOSBAQAogCWRvbmUK
IH0KIAorIyBSZWR1bmRhbnQgd2l0aCBwa2duZwogY2hlY2tfZGVwZW5kZW5jeV9maWxlcyAoKSB7
CisJWyAtbiAiJHVzZV9wa2duZyIgXSAmJiByZXR1cm4KIAkjIEdsb2JhbDogZ3JlcF9kZXBzCiAJ
bG9jYWwgb3JpZ2luIGlwb3J0IHJvX29wZAogCkBAIC0xMDE3LDcgKzEwODAsOSBAQAogCWZpCiB9
CiAKKyMgcmVkdW5kYW50IHdpdGggcGtnbmcKIHVwZGF0ZV9jb250ZW50cyAoKSB7CisJWyAtbiAi
JHVzZV9wa2duZyIgXSAmJiByZXR1cm4KIAlsb2NhbCBJRlMgZGVsZXRlIGNvbnRlbnRzIG9yaWdp
biBuX3BvcnQgb2xkX29yaWdpbiBpcG9ydAogCWxvY2FsIG9fc2VlbiBsaW5lIGRfbWlzc2luZyBk
X29yaWdpbiBkX2lwb3J0IHByZXZfbGluZSBhbnN3ZXIKIApAQCAtMTExNyw3ICsxMTgyLDcgQEAK
IAlmb3IgbCBpbiBgZ3JlcCAiXiRzZnwiICRwZC9NT1ZFRGA7IGRvCiAJCWNhc2UgIiRsIiBpbgog
CQkke3NmfVx8XHwqKSBbIC1uICIkaXBvcnQiIF0gfHwgaXBvcnQ9YGlwb3J0X2Zyb21fb3JpZ2lu
ICRzZmAKLQkJCWlmIFsgLWUgIiRwZGIvJGlwb3J0LytJR05PUkVNRSIgXTsgdGhlbgorCQkJaWYg
WyAtZSAiJHBkYi8kaXBvcnQvK0lHTk9SRU1FIiBdICYmICggWyAteiAiJHVzZV9wa2duZyIgXSB8
fCBwa2cgaW5mbyAtZSAkaXBvcnQgKTsgdGhlbgogCQkJCWlmIFsgLW4gIiRQTV9WRVJCT1NFIiBd
OyB0aGVuCiAJCQkJCWVjaG8gJycKIAkJCQkJZWNobyAiCT09PT4+PiBUaGUgJHNmIHBvcnQgaGFz
IGJlZW4gZGVsZXRlZCIKQEAgLTExNTIsMjQgKzEyMTcsMzYgQEAKIAkJZWNobyAnJwogCiAJCVsg
LW4gIiRpcG9ydCIgXSB8fCBpcG9ydD1gaXBvcnRfZnJvbV9vcmlnaW4gJHNmYAotCQlbIC1lICIk
cGRiLyRpcG9ydC8rSUdOT1JFTUUiIF0gfHwgcmV0dXJuIDEKKwkJWyAtZSAiJHBkYi8kaXBvcnQv
K0lHTk9SRU1FIiBdICYmICggWyAteiAiJHVzZV9wa2duZyIgXSB8fCBwa2cgaW5mbyAtZSAkaXBv
cnQgKSB8fCByZXR1cm4gMQogCWZpCiAJcmV0dXJuIDAKIH0KIAorYWxsX3BrZ3NfYnlfb3JpZ2lu
ICgpIHsKKwlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJCWxvY2FsIHBrZyBpcG9ydCBv
cmlnaW4KKworCQlmb3IgcGtnIGluICR7cGRifS8qIDsgZG8KKwkJCVsgLWQgJHBrZyBdIHx8IGNv
bnRpbnVlCisJCQlpcG9ydD0ke3BrZyMkcGRiL30KKworCQkJb3JpZ2luPWBvcmlnaW5fZnJvbV9w
ZGIgJGlwb3J0YCB8fCBjb250aW51ZQorCQkJZWNobyAkaXBvcnQgJG9yaWdpbgorCQlkb25lCisJ
ZWxzZQorCQlwa2cgcXVlcnkgLWEgIiVuLSV2ICVvIgorCWZpCisJcmV0dXJuCit9CisKIHJlYWRf
ZGlzdGluZm9zICgpIHsKLQlsb2NhbCBwa2cgaXBvcnQgb3JpZ2luIGRpc3RpbmZvIHMgZiBkaXNj
YXJkCisJbG9jYWwgaXBvcnQgb3JpZ2luIGRpc3RpbmZvIHMgZiBkaXNjYXJkCiAKIAllY2hvICcj
IyMjIyMjIyMjIyMnID4gJERJX0ZJTEVTCQkjIE1ha2UgdGhlIGZpbGUgPiAwIGJ5dGVzCiAJZWNo
byAiPT09Pj4+IEdhdGhlcmluZyBkaXN0aW5mbyBsaXN0IGZvciBpbnN0YWxsZWQgcG9ydHMiCiAJ
ZWNobyAnJwogCi0JZm9yIHBrZyBpbiAke3BkYn0vKjsgZG8KLQkJWyAtZCAkcGtnIF0gfHwgY29u
dGludWUKLQkJaXBvcnQ9JHtwa2cjJHBkYi99Ci0KLQkJb3JpZ2luPWBvcmlnaW5fZnJvbV9wZGIg
JGlwb3J0YCB8fCBjb250aW51ZQotCisJYWxsX3BrZ3NfYnlfb3JpZ2luIHwgd2hpbGUgcmVhZCBp
cG9ydCBvcmlnaW47IGRvCiAJCWlmIFsgISAtZCAiJHBkLyRvcmlnaW4iIF07IHRoZW4KIAkJCWZp
bmRfbW92ZWRfcG9ydCAkb3JpZ2luICRpcG9ydCBub25mYXRhbCA+L2Rldi9udWxsCiAJCQlbIC1u
ICIkbW92ZWRfbnBkIiBdIHx8IGNvbnRpbnVlCkBAIC0xMjQ1LDI5ICsxMzIyLDQzIEBACiAKIAlw
bV92ICI9PT0+Pj4gU29ydGluZyBwb3J0cyBieSBjYXRlZ29yeSIKIAotCW51bV9yb290cz0wOyBu
dW1fdHJ1bmtzPTA7IG51bV9icmFuY2hlcz0wOyBudW1fbGVhdmVzPTAKLQlmb3IgcGtnIGluICRw
ZGIvKjsgZG8KLQkJaWYgWyAtcyAiJHBrZy8rUkVRVUlSRURfQlkiIF07IHRoZW4KLQkJCWlmIGdy
ZXAgLXFsICdeQHBrZ2RlcCAnICRwa2cvK0NPTlRFTlRTIDI+L2Rldi9udWxsOyB0aGVuCi0JCQkJ
YnJhbmNoZXM9IiRicmFuY2hlcyAke3BrZyMkcGRiL30iCi0JCQkJbnVtX2JyYW5jaGVzPSQoKCAk
bnVtX2JyYW5jaGVzICsgMSApKQotCQkJZWxzZQotCQkJCXRydW5rcz0iJHRydW5rcyAke3BrZyMk
cGRiL30iCi0JCQkJbnVtX3RydW5rcz0kKCggJG51bV90cnVua3MgKyAxICkpCi0JCQlmaQotCQll
bHNlCi0JCQlpZiBncmVwIC1xbCAnXkBwa2dkZXAgJyAkcGtnLytDT05URU5UUyAyPi9kZXYvbnVs
bDsgdGhlbgotCQkJCWxlYXZlcz0iJGxlYXZlcyAke3BrZyMkcGRiL30iCi0JCQkJbnVtX2xlYXZl
cz0kKCggJG51bV9sZWF2ZXMgKyAxICkpCisJaWYgWyAteiAiJHVzZV9wa2duZyIgXTsgdGhlbgor
CQludW1fcm9vdHM9MDsgbnVtX3RydW5rcz0wOyBudW1fYnJhbmNoZXM9MDsgbnVtX2xlYXZlcz0w
CisJCWZvciBwa2cgaW4gJHBkYi8qOyBkbworCQkJaWYgWyAtcyAiJHBrZy8rUkVRVUlSRURfQlki
IF07IHRoZW4KKwkJCQlpZiBncmVwIC1xbCAnXkBwa2dkZXAgJyAkcGtnLytDT05URU5UUyAyPi9k
ZXYvbnVsbDsgdGhlbgorCQkJCQlicmFuY2hlcz0iJGJyYW5jaGVzICR7cGtnIyRwZGIvfSIKKwkJ
CQkJbnVtX2JyYW5jaGVzPSQoKCAkbnVtX2JyYW5jaGVzICsgMSApKQorCQkJCWVsc2UKKwkJCQkJ
dHJ1bmtzPSIkdHJ1bmtzICR7cGtnIyRwZGIvfSIKKwkJCQkJbnVtX3RydW5rcz0kKCggJG51bV90
cnVua3MgKyAxICkpCisJCQkJZmkKIAkJCWVsc2UKLQkJCQlbIC1kICIkcGtnIiBdIHx8IGNvbnRp
bnVlCi0JCQkJcm9vdHM9IiRyb290cyAke3BrZyMkcGRiL30iCi0JCQkJbnVtX3Jvb3RzPSQoKCAk
bnVtX3Jvb3RzICsgMSApKQorCQkJCWlmIGdyZXAgLXFsICdeQHBrZ2RlcCAnICRwa2cvK0NPTlRF
TlRTIDI+L2Rldi9udWxsOyB0aGVuCisJCQkJCWxlYXZlcz0iJGxlYXZlcyAke3BrZyMkcGRiL30i
CisJCQkJCW51bV9sZWF2ZXM9JCgoICRudW1fbGVhdmVzICsgMSApKQorCQkJCWVsc2UKKwkJCQkJ
WyAtZCAiJHBrZyIgXSB8fCBjb250aW51ZQorCQkJCQlyb290cz0iJHJvb3RzICR7cGtnIyRwZGIv
fSIKKwkJCQkJbnVtX3Jvb3RzPSQoKCAkbnVtX3Jvb3RzICsgMSApKQorCQkJCWZpCiAJCQlmaQot
CQlmaQotCWRvbmUKKwkJZG9uZQogCi0JbnVtX3BvcnRzPSQoKCAkbnVtX3Jvb3RzICsgJG51bV90
cnVua3MgKyAkbnVtX2JyYW5jaGVzICsgJG51bV9sZWF2ZXMgKSkKKwkJbnVtX3BvcnRzPSQoKCAk
bnVtX3Jvb3RzICsgJG51bV90cnVua3MgKyAkbnVtX2JyYW5jaGVzICsgJG51bV9sZWF2ZXMgKSkK
KwllbHNlCisJCXJvb3RzPWAgICBwa2cgcXVlcnkgLWUgIiUjZCA9IDAgJiYgJSNyID0gMCIgIiVu
LSV2ImAKKwkJdHJ1bmtzPWAgIHBrZyBxdWVyeSAtZSAiJSNkID0gMCAmJiAlI3IgPiAwIiAiJW4t
JXYiYAorCQlicmFuY2hlcz1gcGtnIHF1ZXJ5IC1lICIlI2QgPiAwICYmICUjciA+IDAiICIlbi0l
diJgCisJCWxlYXZlcz1gICBwa2cgcXVlcnkgLWUgIiUjZCA+IDAgJiYgJSNyID0gMCIgIiVuLSV2
ImAKKworCQludW1fcm9vdHM9JChlY2hvICAgICQoZWNobyAkcm9vdHMgICAgfCB3YyAtdykpCisJ
CW51bV90cnVua3M9JChlY2hvICAgJChlY2hvICR0cnVua3MgICB8IHdjIC13KSkKKwkJbnVtX2Jy
YW5jaGVzPSQoZWNobyAkKGVjaG8gJGJyYW5jaGVzIHwgd2MgLXcpKQorCQludW1fbGVhdmVzPSQo
ZWNobyAgICQoZWNobyAkbGVhdmVzICAgfCB3YyAtdykpCisKKwkJbnVtX3BvcnRzPSQoZWNobyAk
KHBrZyBxdWVyeSAtYSAiJW4tJXYiIHwgd2MgLXcpKQorCWZpCiB9CiAKIGRlbGV0ZV9lbXB0eV9k
aXN0X3N1YmRpcnMgKCkgewpAQCAtMTMxNSw3ICsxNDA2LDkgQEAKIAllc2FjCiB9CiAKKyMgUmVk
dW5kYW50IHdpdGggcGtnbmcKIHVwZGF0ZV9yZXF1aXJlZF9ieSAoKSB7CisJWyAtbiAiJHVzZV9w
a2duZyIgXSAmJiAvYmluL3VubGluayAkZ3JlcF9kZXBzICYmIHVuc2V0IGdyZXBfZGVwcyAmJiBy
ZXR1cm4KIAkjIEdsb2JhbDogbmVlZHdzCiAJbG9jYWwgZG9fdXBkYXRlCiAKQEAgLTEzMjUsNyAr
MTQxOCw3IEBACiAJZWxzZQogCQlkb191cGRhdGU9ZG9fdXBkYXRlMgogCWZpCi0JaWYgWyAtbiAi
JGRvX3VwZGF0ZSIgXTsgdGhlbgorIAlpZiBbIC1uICIkZG9fdXBkYXRlIiBdOyB0aGVuCiAJCXBt
X3YgIgk9PT0+Pj4gVXBkYXRpbmcgJDEvK1JFUVVJUkVEX0JZIgogCQluZWVkd3M9bmVlZHdzX3Vy
YgogCQlwbV9pbnN0YWxsX3MgJGdyZXBfZGVwcyAkcGRiLyQxLytSRVFVSVJFRF9CWQpAQCAtMTM3
MSwxMSArMTQ2NCwxNSBAQAogCiAJZWNobyAiPT09Pj4+IENoZWNraW5nIGZvciBzdGFsZSBwYWNr
YWdlcyIKIAlmb3IgcGFja2FnZSBpbiBgZmluZCAkUEFDS0FHRVMgLXR5cGUgZiB8IHNvcnRgOyBk
bwotCQlwa2dfZGlyPSR7cGFja2FnZSMjKi99IDsgcGtnX2Rpcj0ke3BrZ19kaXIlXC50Ynp9IDsg
ZWNobyAnJworCQlwa2dfZGlyPSR7cGFja2FnZSMjKi99IDsgcGtnX2Rpcj0ke3BrZ19kaXIlXC4q
fSA7IGVjaG8gJycKIAotCQlvcmlnaW49YHRhciAtTyAtenh2ZiAkcGFja2FnZSAnK0NPTlRFTlRT
JyAyPi9kZXYvbnVsbCB8IGdyZXAgJ0Bjb21tZW50IE9SSUdJTjonYCB8fAotCQkJZmFpbCBFbXB0
eSBvcmlnaW4gaW4gJHBhY2thZ2UKKwkJWyAtbiAiJHVzZV9wa2duZyIgXSAmJgorCQkJb3JpZ2lu
PWBwa2cgcXVlcnkgLUYgJHBhY2thZ2UgIiVvIiAyPi9kZXYvbnVsbGAgfHwKKwkJCW9yaWdpbj1g
dGFyIC1PIC16eHZmICRwYWNrYWdlICcrQ09OVEVOVFMnIDI+L2Rldi9udWxsIHwgZ3JlcCAnQGNv
bW1lbnQgT1JJR0lOOidgIHx8CisJCQlvcmlnaW49YHRhciAtTyAtenh2ZiAkcGFja2FnZSAnK01B
TklGRVNUJyAyPi9kZXYvbnVsbCB8IGdyZXAgJ15vcmlnaW46J2AgfHwKKwkJCWZhaWwgIkVtcHR5
IG9yaWdpbiBpbiAkcGFja2FnZSIKIAkJb3JpZ2luPSR7b3JpZ2luI0Bjb21tZW50IE9SSUdJTjp9
CisJCW9yaWdpbj0ke29yaWdpbiNvcmlnaW46IH0KIAogCQlpZiBbIC16ICIkUE1fSU5ERVgiIF07
IHRoZW4KIAkJCWlmIFsgLWQgIiRwZC8kb3JpZ2luIiBdOyB0aGVuCkBAIC0xMzkxLDE2ICsxNDg4
LDI4IEBACiAJCWZpCiAKIAkJaWYgWyAtbiAiJHBvcnRfdmVyIiBdOyB0aGVuCi0JCQlpZiBbICIk
e3BvcnRfdmVyfS50YnoiID0gIiR7cGFja2FnZSMjKi99IiBdOyB0aGVuCisJCQlpZiBbICIkcG9y
dF92ZXIiID0gIiRwa2dfZGlyIiBdOyB0aGVuCiAJCQkJZWNobyAiPT09Pj4+ICR7cGFja2FnZSMj
Ki99IGlzIHVwIHRvIGRhdGUiCi0JCQkJaWYgWyAhIC1kICIke3BkYn0vJHtwa2dfZGlyfSIgXTsg
dGhlbgotCQkJCQllY2hvICIJPT09Pj4+ICRwa2dfZGlyIGlzIG5vdCBpbnN0YWxsZWQiCi0JCQkJ
CWVjaG8gIgk9PT0+Pj4gUGF0aDogJHtwYWNrYWdlfSIKLQkJCQkJZ2V0X2Fuc3dlcl95biB5ICJc
blx0PT09Pj4+IERlbGV0ZSBzdGFsZSBwYWNrYWdlOiAke3BhY2thZ2UjIyovfSIKLQkJCQkJY2Fz
ZSAiJD8iIGluCi0JCQkJCTApCWVjaG8gIgk9PT0+Pj4gRGVsZXRpbmcgJHBhY2thZ2UiCi0JCQkJ
CQlwbV91bmxpbmtfcyAkcGFja2FnZSA7OwotCQkJCQllc2FjCisJCQkJaWYgWyAteiAiJHVzZV9w
a2duZyIgXTsgdGhlbgorCQkJCQlpZiBbICEgLWQgIiR7cGRifS8ke3BrZ19kaXJ9IiBdOyB0aGVu
CisJCQkJCQllY2hvICIJPT09Pj4+ICRwa2dfZGlyIGlzIG5vdCBpbnN0YWxsZWQiCisJCQkJCQll
Y2hvICIJPT09Pj4+IFBhdGg6ICR7cGFja2FnZX0iCisJCQkJCQlnZXRfYW5zd2VyX3luIHkgIlxu
XHQ9PT0+Pj4gRGVsZXRlIHN0YWxlIHBhY2thZ2U6ICR7cGFja2FnZSMjKi99IgorCQkJCQkJY2Fz
ZSAiJD8iIGluCisJCQkJCQkwKQllY2hvICIJPT09Pj4+IERlbGV0aW5nICRwYWNrYWdlIgorCQkJ
CQkJCXBtX3VubGlua19zICRwYWNrYWdlIDs7CisJCQkJCQllc2FjCisJCQkJCWZpCisJCQkJZWxz
ZQorCQkJCQlpZiAhIHBrZyBpbmZvIC1lICRwa2dfZGlyOyB0aGVuCisJCQkJCQllY2hvICIJPT09
Pj4+ICRwa2dfZGlyIGlzIG5vdCBpbnN0YWxsZWQiCisJCQkJCQllY2hvICIJPT09Pj4+IFBhdGg6
ICR7cGFja2FnZX0iCisJCQkJCQlnZXRfYW5zd2VyX3luIHkgIlxuXHQ9PT0+Pj4gRGVsZXRlIHN0
YWxlIHBhY2thZ2U6ICR7cGFja2FnZSMjKi99IgorCQkJCQkJY2FzZSAiJD8iIGluCisJCQkJCQkw
KQllY2hvICIJPT09Pj4+IERlbGV0aW5nICRwYWNrYWdlIgorCQkJCQkJCXBtX3VubGlua19zICRw
YWNrYWdlIDs7CisJCQkJCQllc2FjCisJCQkJCWZpCiAJCQkJZmkKIAkJCQl1bnNldCBwb3J0X3Zl
cgogCQkJCWNvbnRpbnVlCkBAIC0xNDExLDEwICsxNTIwLDE4IEBACiAKIAkJCXVuc2V0IHBvcnRf
dmVyCiAKLQkJCWlmIFsgLWQgIiR7cGRifS8ke3BrZ19kaXJ9IiBdOyB0aGVuCi0JCQkJZWNobyAi
CT09PT4+PiAke3BhY2thZ2UjIyovfSBtYXRjaGVzIHRoZSBpbnN0YWxsZWQgdmVyc2lvbiIKKwkJ
CWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4KKwkJCQlpZiBbIC1kICIke3BkYn0vJHtwa2df
ZGlyfSIgXTsgdGhlbgorCQkJCQllY2hvICIJPT09Pj4+ICR7cGFja2FnZSMjKi99IG1hdGNoZXMg
dGhlIGluc3RhbGxlZCB2ZXJzaW9uIgorCQkJCWVsc2UKKwkJCQkJZWNobyAiCT09PT4+PiAke3Bh
Y2thZ2UjIyovfSBpcyBub3QgaW5zdGFsbGVkIgorCQkJCWZpCiAJCQllbHNlCi0JCQkJZWNobyAi
CT09PT4+PiAke3BhY2thZ2UjIyovfSBpcyBub3QgaW5zdGFsbGVkIgorCQkJCWlmIHBrZyBpbmZv
IC1lICRwa2dfZGlyOyB0aGVuCisJCQkJCWVjaG8gIgk9PT0+Pj4gJHtwYWNrYWdlIyMqL30gbWF0
Y2hlcyB0aGUgaW5zdGFsbGVkIHZlcnNpb24iCisJCQkJZWxzZQorCQkJCQllY2hvICIJPT09Pj4+
ICR7cGFja2FnZSMjKi99IGlzIG5vdCBpbnN0YWxsZWQiCisJCQkJZmkKIAkJCWZpCiAJCWZpCiAK
QEAgLTE0NTMsNiArMTU3MCwxMCBAQAogZmkJIyBbIC1uICIkQ0xFQU5fUEFDS0FHRVMiIF0KIAog
aWYgWyAtbiAiJENIRUNLX0RFUEVORFMiIF07IHRoZW4KKwlpZiBbIC1uICIkdXNlX3BrZ25nIiBd
OyB0aGVuCisJCXBrZyBjaGVjayAtYWR2CisJCWV4aXQKKwlmaQogCVBNX1ZFUkJPU0U9cG12X2No
ZWNrX2RlcGVuZHMKIElGUz0nCiAnCkBAIC0xNDk5LDI0ICsxNjIwLDQyIEBACiAJdW5pcXVlX2xp
c3Q9JzonCiAKIAllY2hvICI9PT0+Pj4gQnVpbGRpbmcgbGlzdCBvZiBpbnN0YWxsZWQgcG9ydCBu
YW1lcyI7IGVjaG8gJycKLQlmb3IgcGtnIGluICRwZGIvKjsgZG8KLQkJWyAtZCAkcGtnIF0gfHwg
Y29udGludWUKKwlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJCWZvciBwa2cgaW4gJHBk
Yi8qOyBkbworCQkJWyAtZCAkcGtnIF0gfHwgY29udGludWUKIAotCQlpcG9ydD0ke3BrZyMkcGRi
L30KLQkJb3JpZ2luPWBvcmlnaW5fZnJvbV9wZGIgJGlwb3J0YCB8fCBjb250aW51ZQorCQkJaXBv
cnQ9JHtwa2cjJHBkYi99CisJCQlvcmlnaW49YG9yaWdpbl9mcm9tX3BkYiAkaXBvcnRgIHx8IGNv
bnRpbnVlCiAKLQkJaWYgWyAhIC1kICIkcGQvJG9yaWdpbiIgXTsgdGhlbgotCQkJZmluZF9tb3Zl
ZF9wb3J0ICRvcmlnaW4gJGlwb3J0IG5vbmZhdGFsID4vZGV2L251bGwKLQkJCVsgLW4gIiRtb3Zl
ZF9ucGQiIF0gfHwgY29udGludWUKLQkJCW9yaWdpbj0kbW92ZWRfbnBkCi0JCWZpCisJCQlpZiBb
ICEgLWQgIiRwZC8kb3JpZ2luIiBdOyB0aGVuCisJCQkJZmluZF9tb3ZlZF9wb3J0ICRvcmlnaW4g
JGlwb3J0IG5vbmZhdGFsID4vZGV2L251bGwKKwkJCQlbIC1uICIkbW92ZWRfbnBkIiBdIHx8IGNv
bnRpbnVlCisJCQkJb3JpZ2luPSRtb3ZlZF9ucGQKKwkJCWZpCiAKLQkJaWYgISBwbV9jZCAkcGQv
JG9yaWdpbjsgdGhlbgotCQkJZWNobyAiCT09PT4+PiAkcGQvJG9yaWdpbiBkb2VzIG5vdCBleGlz
dCBmb3IgJHBrZyIKLQkJCWNvbnRpbnVlCi0JCWZpCi0JCXVuaXF1ZV9saXN0PSIke3VuaXF1ZV9s
aXN0fWBtYWtlIC1WIFVOSVFVRU5BTUVgOiIKLQlkb25lCisJCQlpZiAhIHBtX2NkICRwZC8kb3Jp
Z2luOyB0aGVuCisJCQkJZWNobyAiCT09PT4+PiAkcGQvJG9yaWdpbiBkb2VzIG5vdCBleGlzdCBm
b3IgJHBrZyIKKwkJCQljb250aW51ZQorCQkJZmkKKwkJCXVuaXF1ZV9saXN0PSIke3VuaXF1ZV9s
aXN0fWBtYWtlIC1WIFVOSVFVRU5BTUVgOiIKKwkJZG9uZQorCWVsc2UKKwkJd2hpbGUgcmVhZCBw
a2cgb3JpZ2luOyBkbworCQkJaWYgWyAhIC1kICIkcGQvJG9yaWdpbiIgXTsgdGhlbgorCQkJCWZp
bmRfbW92ZWRfcG9ydCAkb3JpZ2luICRwa2cgbm9uZmF0YWwgPi9kZXYvbnVsbAorCQkJCVsgLW4g
IiRtb3ZlZF9ucGQiIF0gfHwgY29udGludWUKKwkJCQlvcmlnaW49JG1vdmVkX25wZAorCQkJZmkK
KworCQkJaWYgISBwbV9jZCAkcGQvJG9yaWdpbjsgdGhlbgorCQkJCWVjaG8gIgk9PT0+Pj4gJHBk
LyRvcmlnaW4gZG9lcyBub3QgZXhpc3QgZm9yICRwa2ciCisJCQkJY29udGludWUKKwkJCWZpCisJ
CQl1bmlxdWVfbGlzdD0iJHt1bmlxdWVfbGlzdH1gbWFrZSAtViBVTklRVUVOQU1FYDoiCisJCWRv
bmUgPDwgRU9GCitgcGtnIHF1ZXJ5IC1hICIlbi0ldiAlbyJgCitFT0YKKwlmaQogCiAJZWNobyAi
PT09Pj4+IENoZWNraW5nICRwb3J0X2RiZGlyIgogCkBAIC0xNjE3LDcgKzE3NTYsNyBAQAogCiAJ
aWYgWyAteiAiJGRvX3VwZGF0ZSIgLWEgLXogIiRza2lwIiAtYSAteiAiJFBNX0lOREVYX09OTFki
IF0gJiYgWyAtZCAiJHBkLyRvcmlnaW4iIF07IHRoZW4KIAkJaWYgISBwbV9jZCAkcGQvJG9yaWdp
bjsgdGhlbgotCQkJaWYgWyAtZSAiJHBkYi8kaXBvcnQvK0lHTk9SRU1FIiBdOyB0aGVuCisJCQlp
ZiBbIC1lICIkcGRiLyRpcG9ydC8rSUdOT1JFTUUiIF0gJiYgKCBbIC16ICIkdXNlX3BrZ25nIiBd
IHx8IHBrZyBpbmZvIC1lICRpcG9ydCApOyB0aGVuCiAJCQkJZWNobyAiCT09PT4+PiBXYXJuaW5n
OiBVbmFibGUgdG8gY2QgdG8gJHBkLyRvcmlnaW4iCiAJCQkJZWNobyAiCT09PT4+PiBDb250aW51
aW5nIGR1ZSB0byAkcGRiLyRpcG9ydC8rSUdOT1JFTUUiCiAJCQkJZWNobyAnJwpAQCAtMTYzNCwx
MyArMTc3MywxMyBAQAogCiAJCSMgSWYgdGhlIHBvcnQgaGFzIG1vdmVkIGFuZCBubyArSUdOT1JF
TUUsIHdlIGhhdmUgdG8gdXBkYXRlIGl0CiAJCWlmIFsgLW4gIiRtb3ZlZF9ucGQiIF07IHRoZW4K
LQkJCWlmIFsgISAtZSAiJHBkYi8kaXBvcnQvK0lHTk9SRU1FIiBdOyB0aGVuCi0JCQkJZG9fdXBk
YXRlPWRvX3VwZGF0ZV9tb3ZlZAotCQkJZWxzZQorCQkJaWYgWyAtZSAiJHBkYi8kaXBvcnQvK0lH
Tk9SRU1FIiBdICYmICggWyAteiAiJHVzZV9wa2duZyIgXSB8fCBwa2cgaW5mbyAtZSAkaXBvcnQg
KTsgdGhlbgogCQkJCWVjaG8gIgk9PT0+Pj4gQ29udGludWluZyBkdWUgdG8gJHBkYi8kaXBvcnQv
K0lHTk9SRU1FIgogCQkJCWVjaG8gJycKIAkJCQlDVVJfREVQUz0iJHtDVVJfREVQU30ke2lwb3J0
fToke29yaWdpbn06IgogCQkJCXJldHVybiAwCisJCQllbHNlCisJCQkJZG9fdXBkYXRlPWRvX3Vw
ZGF0ZV9tb3ZlZAogCQkJZmkKIAkJZmkKIAlmaQpAQCAtMTY1NywxNCArMTc5NiwyMCBAQAogCQkJ
CXVuc2V0IHBvcnRfdmVyCiAJCQlmaQogCQllbHNlCi0JCQljYXNlIGBwa2dfdmVyc2lvbiAtdCAk
aXBvcnQgJHBvcnRfdmVyYCBpbgorCQkJbG9jYWwgcGtnX3ZlcnNpb24KKwkJCWlmIFsgLXogIiR1
c2VfcGtnbmciIF07IHRoZW4KKwkJCQlwa2dfdmVyc2lvbj0icGtnX3ZlcnNpb24iCisJCQllbHNl
CisJCQkJcGtnX3ZlcnNpb249InBrZyB2ZXJzaW9uIgorCQkJZmkKKwkJCWNhc2UgYCRwa2dfdmVy
c2lvbiAtdCAkaXBvcnQgJHBvcnRfdmVyYCBpbgogCQkJXDwpCWRvX3VwZGF0ZT11cGRfbHQgOzsK
IAkJCT0pCTs7CSMgQ2FuIGJlIHJlYWNoZWQgaWYgc2FtZSB2ZXJzaW9uIHdpdGggZGlmZmVyZW50
IG9wdGlvbnMKIAkJCVw+KQlpZiBbIC1uICIkUE1fVkVSQk9TRSIgXTsgdGhlbgogCQkJCQllY2hv
ICIJPT09Pj4+IFBvcnQgdmVyc2lvbiAkcG9ydF92ZXIgZG9lcyBub3QiCiAJCQkJCWVjaG8gIgk9
PT0+Pj4gc2VlbSBuZXdlciB0aGFuIGluc3RhbGxlZCAkaXBvcnQiCiAJCQkJZmkgOzsKLQkJCSop
CWZhaWwgInBrZ192ZXJzaW9uIC10ICRpcG9ydCAkcG9ydF92ZXIgZ2F2ZSBhbiB1bmV4cGVjdGVk
IHJlc3VsdCIKKwkJCSopCWZhaWwgIiRwa2dfdmVyc2lvbiAtdCAkaXBvcnQgJHBvcnRfdmVyIGdh
dmUgYW4gdW5leHBlY3RlZCByZXN1bHQiCiAJCQllc2FjCiAKIAkJCVsgLXogIiRkb191cGRhdGUi
IF0gJiYgewpAQCAtMTY4MCw4ICsxODI1LDkgQEAKIAlpZiBbIC1uICIkTElTVF9QTFVTIiBdOyB0
aGVuCiAJCWlmIFsgLXogIiRtb3ZlZF9ucGQiIF07IHRoZW4KIAkJCWVjaG8gIgk9PT0+Pj4gTmV3
IHZlcnNpb24gYXZhaWxhYmxlOiAkcG9ydF92ZXIiCi0JCQlbIC1lICIkcGRiLyRpcG9ydC8rSUdO
T1JFTUUiIF0gJiYKKwkJCWlmIFsgLWUgIiRwZGIvJGlwb3J0LytJR05PUkVNRSIgXSAmJiAoIFsg
LXogIiR1c2VfcGtnbmciIF0gfHwgcGtnIGluZm8gLWUgJGlwb3J0ICk7IHRoZW4KIAkJCQllY2hv
ICIJPT09Pj4+ICtJR05PUkVNRSBmaWxlIGlzIHByZXNlbnQgZm9yICQxIgorCQkJZmkKIAkJCXBt
X2NkX3BkICRvcmlnaW4gJiYgY2hlY2tfc3RhdGUKIAkJCW51bV91cGRhdGVzPSQoKCAkbnVtX3Vw
ZGF0ZXMgKyAxICkpCiAJCWVsc2UKQEAgLTE3MzYsNyArMTg4MiwxMyBAQAogCWZpCiAKIAlwbV9j
ZCAkcGtnZGlyIHx8IGZhaWwgIkNhbm5vdCBjZCBpbnRvICRwa2dkaXIgdG8gY3JlYXRlIGEgcGFj
a2FnZSIKLQlpZiAkUE1fU1VfQ01EIHBrZ19jcmVhdGUgLWIgJDI7IHRoZW4KKwlsb2NhbCBwa2df
Y3JlYXRlCisJaWYgWyAteiAiJHVzZV9wa2duZyIgXTsgdGhlbgorCQlwa2dfY3JlYXRlPSJwa2df
Y3JlYXRlIC1iIgorCWVsc2UKKwkJcGtnX2NyZWF0ZT0icGtnIGNyZWF0ZSAiCisJZmkKKwlpZiAk
UE1fU1VfQ01EICRwa2dfY3JlYXRlICQyOyB0aGVuCiAJCWlmIFsgIiQxIiA9ICIkcGJ1IiBdOyB0
aGVuCiAJCQlpZiBbIC1uICIkQkFDS1VQIiBdOyB0aGVuCiAJCQkJZWNobyAiCT09PT4+PiBQYWNr
YWdlIHNhdmVkIHRvICQxIiA7IGVjaG8gJycKQEAgLTIwODUsMTAgKzIyMzcsMTQgQEAKIGZpCiAK
IGlmIFsgLW4gIiRFWFBVTkdFIiBdOyB0aGVuCi0JaWYgWyAhIC1kICIkcGRiLyRFWFBVTkdFIiBd
OyB0aGVuCisJaWYgWyAhIC1kICIkcGRiLyRFWFBVTkdFIiBdIHx8ICggWyAtbiAiJHVzZV9wa2du
ZyIgXSAmJiAhIHBrZyBpbmZvIC1lICRFWFBVTkdFICk7IHRoZW4KIAkJZmluZF9nbG9iX2RpcnMg
JEVYUFVOR0UKIAkJY2FzZSAkPyBpbgotCQkxKQlmYWlsICJObyBzdWNoIGRpcmVjdG9yeS9wb3J0
OiAkcGRiLyRFWFBVTkdFIiA7OworCQkxKQlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJ
CQkJZmFpbCAiTm8gc3VjaCBkaXJlY3RvcnkvcG9ydDogJHBkYi8kRVhQVU5HRSIKKwkJCWVsc2UK
KwkJCQlmYWlsICJObyBzdWNoIHBvcnQ6ICRFWFBVTkdFIgorCQkJZmkgOzsKIAkJMikJZWNobyAi
PT09Pj4+ICRFWFBVTkdFIG1hdGNoZWQgbXVsdGlwbGUgcG9ydHMiCiAJCQlmYWlsICJUaGUgLWUg
b3B0aW9uIHdvcmtzIHdpdGggb25seSBvbmUgcG9ydCBhdCBhIHRpbWUiIDs7CiAJCTApCUVYUFVO
R0U9JHtnbG9iX2RpcnMjJHBkYi99CkBAIC0yMDk3LDE1ICsyMjUzLDI0IEBACiAJZmkKIAogCW9y
aWdpbj1gb3JpZ2luX2Zyb21fcGRiICRFWFBVTkdFYAotCWRlcGxpc3Q9YGdyZXAgLWwgREVQT1JJ
R0lOOiRvcmlnaW4kICRwZGIvKi8rQ09OVEVOVFNgCisJaWYgWyAteiAiJHVzZV9wa2duZyIgXTsg
dGhlbgorCQlkZXBsaXN0PWBncmVwIC1sIERFUE9SSUdJTjokb3JpZ2luJCAkcGRiLyovK0NPTlRF
TlRTYAorCWVsc2UKKwkJZGVwbGlzdD1gcGtnIHF1ZXJ5ICIlcm4tJXJ2IiAkb3JpZ2luYAorCWZp
CiAJaWYgWyAtbiAiJGRlcGxpc3QiIF07IHRoZW4KIAkJZWNobyAiPT09Pj4+IFdhcm5pbmc6IFBv
cnRzIHdpdGggZGVwZW5kZW5jaWVzIG9uICR7RVhQVU5HRX06IgotCQlmb3IgZGVwIGluICRkZXBs
aXN0OyBkbwotCQkJZGVwPSR7ZGVwJS8rQ09OKn0gOyBlY2hvICIJJHtkZXAjIyovfSIKLQkJZG9u
ZQorCQlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJCQlmb3IgZGVwIGluICRkZXBsaXN0
OyBkbworCQkJCWRlcD0ke2RlcCUvK0NPTip9IDsgZWNobyAiCSR7ZGVwIyMqL30iCisJCQlkb25l
CisJCWVsc2UKKwkJCWVjaG8gIiRkZXBsaXN0IiB8IHNlZCAncy9eLwkvJworCQlmaQogCQlnZXRf
YW5zd2VyX3luIG4gIlxuXHQ9PT0+Pj4gRGVsZXRlIHRoaXMgZGVwZW5kZW5jeSBkYXRhIgogCQlj
YXNlICIkPyIgaW4KLQkJMCkJZm9yIGYgaW4gJGRlcGxpc3Q7IGRvCisJCTApCVsgLW4gIiR1c2Vf
cGtnbmciIF0gJiYgZXhpdCAxICNUT0RPCisJCQlmb3IgZiBpbiAkZGVwbGlzdDsgZG8KIAkJCQl1
cGRhdGVfY29udGVudHMgZGVsZXRlICRmICRvcmlnaW4KIAkJCWRvbmUgOzsKIAkJKikJZXhpdCAx
IDs7CkBAIC0yMTE1LDggKzIyODAsMTMgQEAKIAlbIC1uICIkQkFDS1VQIiBdICYmIHsgaW5pdF9w
YWNrYWdlcyA7IHBtX3BrZ19jcmVhdGUgJHBidSAkRVhQVU5HRTsgfQogCVsgLXogIiRET05UX1ND
UlVCX0RJU1RGSUxFUyIgXSAmJiBkZWxldGVfYWxsX2Rpc3RmaWxlcyAkb3JpZ2luCiAKLQllY2hv
ICI9PT0+Pj4gUnVubmluZyBwa2dfZGVsZXRlIC1mICRFWFBVTkdFIgotCXBtX3BrZ19kZWxldGVf
cyAtZiAkRVhQVU5HRSB8fCBmYWlsICdwa2dfZGVsZXRlIGZhaWxlZCcKKwlpZiBbIC16ICIkdXNl
X3BrZ25nIiBdOyB0aGVuCisJCXBrZ19kZWxldGU9InBrZ19kZWxldGUiCisJZWxzZQorCQlwa2df
ZGVsZXRlPSJwa2cgZGVsZXRlIgorCWZpCisJZWNobyAiPT09Pj4+IFJ1bm5pbmcgJHBrZ19kZWxl
dGUgLWYgJEVYUFVOR0UiCisJcG1fcGtnX2RlbGV0ZV9zIC1mICRFWFBVTkdFIHx8IGZhaWwgIiRw
a2dfZGVsZXRlIGZhaWxlZCIKIAogCWVjaG8gJycgOyBlY2hvICI9PT0+Pj4gUnVubmluZyAkezAj
IyovfSAtcyAkQVJHUyIKIAlleGVjICQwIC1zICRBUkdTCkBAIC0yMTI2LDEzICsyMjk2LDIxIEBA
CiBpZiBbIC1uICIkQ0xFQU5fU1RBTEUiIF07IHRoZW4KIAlbIC16ICIkbm9fZGVsX2xpc3QiIF0g
JiYgZXhwb3J0IG5vX2RlbF9saXN0PSc6JwogCi0JZm9yIGZpbGUgaW4gYGZpbmQgJHBkYiAtdHlw
ZSBmIC1uYW1lIFwrUkVRVUlSRURfQlkgLWVtcHR5YCA7IGRvCisJaWYgWyAteiAiJHVzZV9wa2du
ZyIgXTsgdGhlbgorCQlmaW5kX3N0YWxlX3BvcnRzPSJmaW5kICRwZGIgLXR5cGUgZiAtbmFtZSBc
K1JFUVVJUkVEX0JZIC1lbXB0eSIKKwllbHNlCisJCWZpbmRfc3RhbGVfcG9ydHM9InBrZyBxdWVy
eSAtYSBcIiU/ciAlbi0ldlwiIHwgYXdrICcvXjAvIHsgcHJpbnQgXCQyIH0nIgorCWZpCisJZm9y
IGZpbGUgaW4gYGV2YWwgJGZpbmRfc3RhbGVfcG9ydHNgIDsgZG8KIAkJaXBvcnQ9IiR7ZmlsZSUv
K1JFUVVJUkVEX0JZfSIgOyBpcG9ydD0ke2lwb3J0IyRwZGIvfQogCiAJCWNhc2UgIiRub19kZWxf
bGlzdCIgaW4gKjoke2lwb3J0fToqKSBjb250aW51ZSA7OyBlc2FjCiAKIAkJb3JpZ2luPWBvcmln
aW5fZnJvbV9wZGIgJGlwb3J0YAotCQlkZXBsaXN0PWBncmVwIC1sIERFUE9SSUdJTjokb3JpZ2lu
JCAkcGRiLyovK0NPTlRFTlRTYAorCQlkZXBsaXN0PSIiCisJCWlmIFsgLXogIiR1c2VfcGtnbmci
IF07IHRoZW4KKwkJCWRlcGxpc3Q9YGdyZXAgLWwgREVQT1JJR0lOOiRvcmlnaW4kICRwZGIvKi8r
Q09OVEVOVFNgCisJCWZpCiAJCWlmIFsgLW4gIiRkZXBsaXN0IiBdOyB0aGVuCiAJCQllY2hvICcn
CiAJCQllY2hvICI9PT0+Pj4gV2FybmluZzogVW5yZWNvcmRlZCBkZXBlbmRlbmNpZXMgb24gJHtp
cG9ydH06IgpAQCAtMjE0NSwyMiArMjMyMywzMiBAQAogCQkJY29udGludWUKIAkJZmkKIAotCQll
Y2hvICcnIDsgcGtnX2luZm8gJGlwb3J0CisJCWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4K
KwkJCWVjaG8gJycgOyBwa2dfaW5mbyAkaXBvcnQKKwkJCXBrZ19kZWxldGU9InBrZ19kZWxldGUi
CisJCWVsc2UKKwkJCWVjaG8gJycgOyBwa2cgaW5mbyAtZiAkaXBvcnQKKwkJCXBrZ19kZWxldGU9
InBrZyBkZWxldGUiCisJCWZpCiAKIAkJZ2V0X2Fuc3dlcl95biBuICJcdD09PT4+PiAke2lwb3J0
fSBpcyBubyBsb25nZXIgZGVwZW5kZWQgb24sIGRlbGV0ZSIKIAkJY2FzZSAiJD8iIGluCiAJCTAp
CVsgLW4gIiRCQUNLVVAiIF0gJiYgeyBpbml0X3BhY2thZ2VzIDsgcG1fcGtnX2NyZWF0ZSAkcGJ1
ICRpcG9ydDsgfQogCQkJWyAteiAiJERPTlRfU0NSVUJfRElTVEZJTEVTIiBdICYmIGRlbGV0ZV9h
bGxfZGlzdGZpbGVzICRvcmlnaW4KIAotCQkJZWNobyAiPT09Pj4+IFJ1bm5pbmcgcGtnX2RlbGV0
ZSAtZiAkaXBvcnQiCi0JCQlwbV9wa2dfZGVsZXRlX3MgLWYgJGlwb3J0IHx8IGZhaWwgJ3BrZ19k
ZWxldGUgZmFpbGVkJworCQkJZWNobyAiPT09Pj4+IFJ1bm5pbmcgJHBrZ19kZWxldGUgLWYgJGlw
b3J0IgorCQkJcG1fcGtnX2RlbGV0ZV9zIC1mICRpcG9ydCB8fCBmYWlsICIkcGtnX2RlbGV0ZSBm
YWlsZWQiCiAKIAkJCWV4ZWMgJDAgLXMgJEFSR1MgOzsKLQkJKikJZ2V0X2Fuc3dlcl95biBuICJc
dD09PT4+PiBEZWxldGUgdGhpcyBkZXBlbmRlbmN5IGRhdGEiCi0JCQljYXNlICIkPyIgaW4KLQkJ
CTApCXBtX3VubGlua19zICRmaWxlIDs7Ci0JCQkqKQlub19kZWxfbGlzdD0iJHtub19kZWxfbGlz
dH0ke2lwb3J0fToiIDs7Ci0JCQllc2FjIDs7CisJCSopCWlmIFsgLXogIiR1c2VfcGtnbmciIF07
IHRoZW4KKwkJCQlnZXRfYW5zd2VyX3luIG4gIlx0PT09Pj4+IERlbGV0ZSB0aGlzIGRlcGVuZGVu
Y3kgZGF0YSIKKwkJCQljYXNlICIkPyIgaW4KKwkJCQkwKQlwbV91bmxpbmtfcyAkZmlsZSA7Owor
CQkJCSopCW5vX2RlbF9saXN0PSIke25vX2RlbF9saXN0fSR7aXBvcnR9OiIgOzsKKwkJCQllc2Fj
CisJCQllbHNlCisJCQkJbm9fZGVsX2xpc3Q9IiR7bm9fZGVsX2xpc3R9JHtpcG9ydH06IgorCQkJ
ZmkgOzsKIAkJZXNhYwogCWRvbmUKIAlleGl0IDAKQEAgLTIxODMsNyArMjM3MSw3IEBACiAJIyB0
byBnbyBvdXQgdG8gdGhlIGRpc2sgaWYgd2UgZG9uJ3QgaGF2ZSB0by4KIAlbIC16ICIkUkVTVEFS
VCIgXSAmJiByZXR1cm4gMQogCi0JaWYgWyAhIC1lICIkcGRiLyR7MX0vUE1fVVBHUkFERV9ET05F
X0ZMQUciIF07IHRoZW4KKwlpZiBbICEgLWUgIiRwZGIvJHsxfS9QTV9VUEdSQURFX0RPTkVfRkxB
RyIgXSB8fCAoIFsgLW4gIiR1c2VfcGtnbmciIF0gJiYgISBwa2cgaW5mbyAtZSAkMSApOyB0aGVu
CiAJCXJldHVybiAxCiAJZWxzZQogCQlhbHJlYWR5X2RvbmUgJDEKQEAgLTIyMDAsNyArMjM4OCw3
IEBACiAJY2FzZSAiJElOVEVSQUNUSVZFX1lFUyIgaW4gKjokezF9OiopIHJldHVybiAwIDs7IGVz
YWMKIAljYXNlICIkSU5URVJBQ1RJVkVfTk8iIGluICo6JHsxfToqKSByZXR1cm4gMSA7OyBlc2Fj
CiAKLQlpZiBbIC1lICIkcGRiLyQxLytJR05PUkVNRSIgXTsgdGhlbgorCWlmIFsgLWUgIiRwZGIv
JDEvK0lHTk9SRU1FIiBdICYmICggWyAteiAiJHVzZV9wa2duZyIgXSB8fCBwa2cgaW5mbyAtZSAk
MSApOyB0aGVuCiAJCWVjaG8gJycKIAkJZWNobyAiPT09Pj4+ICtJR05PUkVNRSBmaWxlIGlzIHBy
ZXNlbnQgZm9yICQxIgogCQllY2hvICcnCkBAIC0yMzEyLDcgKzI1MDAsMTMgQEAKIAkJCWZhaWwg
Ik5vIGVudHJ5IGZvciAkb3JpZ2luIGluICRQTV9JTkRFWCIKIAlmaQogCi0JY2FzZSBgcGtnX3Zl
cnNpb24gLXQgJGlwb3J0ICRuZXdfcG9ydCAyPi9kZXYvbnVsbGAgaW4KKwlsb2NhbCBwa2dfdmVy
c2lvbgorCWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4KKwkJcGtnX3ZlcnNpb249InBrZ192
ZXJzaW9uIgorCWVsc2UKKwkJcGtnX3ZlcnNpb249InBrZyB2ZXJzaW9uIgorCWZpCisJY2FzZSBg
JHBrZ192ZXJzaW9uIC10ICRpcG9ydCAkbmV3X3BvcnQgMj4vZGV2L251bGxgIGluCiAJXDwpCWJ1
aWxkX2w9IiR7YnVpbGRfbH1cdFVwZ3JhZGUgJGlwb3J0IHRvICRuZXdfcG9ydFxuIiA7OwogCT0p
CWJ1aWxkX2w9IiR7YnVpbGRfbH1cdFJlLWluc3RhbGwgJGlwb3J0XG4iIDs7CiAJXD4pCWJ1aWxk
X2w9IiR7YnVpbGRfbH1cdERvd25ncmFkZSAkaXBvcnQgdG8gJG5ld19wb3J0XG4iIDs7CkBAIC0y
NDYzLDYgKzI2NTcsMTggQEAKIAkJcnVuZGVwcz1gZ2VuX2RlcF9saXN0IHJ1bi1kZXBlbmRzLWxp
c3RgCiAKIAkJZm9yIGRlcCBpbiAkZF9wb3J0X2xpc3Q7IGRvCisJCQkjIElmIHRoZSBwb3J0IGlz
IGFscmVhZHkgaW5zdGFsbGVkLCBkbyBub3QgbWFyaworCQkJIyBpdCBhcyBhIGJ1aWxkLW9ubHkg
ZGVwZW5kZW5jeSwgb3IgaXQgd2lsbCBiZQorCQkJIyBpbnN0YWxsZWQgYnkgcGFja2FnZSBhbmQv
b3IgcmVtb3ZlZAorCQkJaWYgWyAteiAiJHVzZV9wa2duZyIgXTsgdGhlbgorCQkJCWlwb3J0X2Zy
b21fb3JpZ2luICR7ZGVwIyRwZC99ID4vZGV2L251bGwgJiYKKwkJCQkJcnVuX2RsPSIkcnVuX2Rs
ICRkZXAiICYmCisJCQkJCWNvbnRpbnVlCisJCQllbHNlCisJCQkJcGtnIGluZm8gLWUgJHtkZXAj
JHBkL30gJiYKKwkJCQkJcnVuX2RsPSIkcnVuX2RsICRkZXAiICYmCisJCQkJCWNvbnRpbnVlCisJ
CQlmaQogCQkJY2FzZSAiJHJ1bmRlcHMiIGluCiAJCQkqIiAke2RlcH0gIip8KiR7ZGVwfSopCiAJ
CQkJdmFybmFtZT1gZWNobyAke2RlcCMkcGQvfSB8IHNlZCAncyNbLSsvXC5dI18jZydgCkBAIC0y
NTMyLDcgKzI3MzgsMTEgQEAKIAkJCQlmYWlsICJDYW5ub3QgY2QgdG8gJGRfcG9ydCIKIAkJCWZp
CiAJCQlmb3IgZ2xvYiBpbiAkY29uZmxpY3RzOyBkbwotCQkJCWNvbmZsX3A9YHBrZ19pbmZvIC1J
ICRnbG9iIDI+L2Rldi9udWxsYAorCQkJCWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4KKwkJ
CQkJY29uZmxfcD1gcGtnX2luZm8gLUkgJGdsb2IgMj4vZGV2L251bGxgCisJCQkJZWxzZQorCQkJ
CQljb25mbF9wPWBwa2cgcXVlcnkgLWcgIiVuLSV2IiAkZ2xvYiAyPi9kZXYvbnVsbGAKKwkJCQlm
aQogCQkJCWlmIFsgLW4gIiRjb25mbF9wIiBdOyB0aGVuCiAJCQkJCWNvbmZsX3A9JHtjb25mbF9w
JSUgKn0KIAkJCQkJZF9wb3J0PSIkcGQvYG9yaWdpbl9mcm9tX3BkYiAkY29uZmxfcGAiCkBAIC0y
NjcyLDcgKzI4ODIsMTEgQEAKIAkJZG9uZQogCiAJCWZvciBkZXAgaW4gJGJ1aWxkX29ubHlfZGxf
ZzsgZG8KLQkJCWdyZXAgLXEgIkBjb21tZW50IERFUE9SSUdJTjoke2RlcCMkcGQvfSQiICRwZGIv
Ki8rQ09OVEVOVFMgJiYgY29udGludWUKKwkJCWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4K
KwkJCQlncmVwIC1xICJAY29tbWVudCBERVBPUklHSU46JHtkZXAjJHBkL30kIiAkcGRiLyovK0NP
TlRFTlRTICYmIGNvbnRpbnVlCisJCQllbHNlCisJCQkJWyAiYHBrZyBxdWVyeSAiJT9yIiAke2Rl
cCMkcGQvfWAiID0gIjEiIF0gJiYgY29udGludWUKKwkJCWZpCiAJCQlbIC1uICIkUE1fREVMX0JV
SUxEX09OTFkiIF0gJiYKIAkJCQlpcG9ydF9mcm9tX29yaWdpbiAke2RlcCMkcGQvfSA+L2Rldi9u
dWxsICYmIGNvbnRpbnVlCiAJCQl0ZW1wX2JvZGxnPSIkdGVtcF9ib2RsZyAkZGVwIgpAQCAtMjY5
OSw3ICsyOTEzLDcgQEAKIAogdXJiX3VwZGF0ZSAoKSB7CiAJIyBHbG9iYWw6IFBNX1VSQl9VUAot
CWxvY2FsIHZlcmIgb3JpZ2luIHJlcV9ieQorCWxvY2FsIHZlcmIgb3JpZ2luIHJlcV9ieSByZXFf
YnlfbwogCiAJdmVyYj1jaGVja2luZyA7IFsgLW4gIiQxIiBdICYmIHZlcmI9dXBkYXRpbmcKIApA
QCAtMjcwOSwxNSArMjkyMywyNSBAQAogCWVjaG8gJycKIAogCWZvciBvcmlnaW4gaW4gJFBNX1VS
Ql9PUklHSU5TOyBkbwotCQlmb3IgcmVxX2J5IGluIGBncmVwIC1sIERFUE9SSUdJTjoke29yaWdp
bn0kICRwZGIvKi8rQ09OVEVOVFNgOyBkbwotCQkJcmVxX2J5PSIke3JlcV9ieSUvK0NPTlRFTlRT
fSIKLQkJCXJlcV9ieT0iJHtyZXFfYnkjIyovfSIKKwkJaWYgWyAteiAiJHVzZV9wa2duZyIgXTsg
dGhlbgorCQkJZm9yIHJlcV9ieSBpbiBgZ3JlcCAtbCBERVBPUklHSU46JHtvcmlnaW59JCAkcGRi
LyovK0NPTlRFTlRTYDsgZG8KKwkJCQlyZXFfYnk9IiR7cmVxX2J5JS8rQ09OVEVOVFN9IgorCQkJ
CXJlcV9ieT0iJHtyZXFfYnkjIyovfSIKIAotCQkJY2FzZSAiICRQTV9VUkJfSVBPUlRTIiBpbiAq
IiAkcmVxX2J5ICIqKSBjb250aW51ZSA7OyBlc2FjCi0JCQljYXNlICIgJFBNX1VSQl9PUklHSU5T
IiBpbiAqIiBgb3JpZ2luX2Zyb21fcGRiICRyZXFfYnlgICIqKSBjb250aW51ZSA7OyBlc2FjCisJ
CQkJY2FzZSAiICRQTV9VUkJfSVBPUlRTIiBpbiAqIiAkcmVxX2J5ICIqKSBjb250aW51ZSA7OyBl
c2FjCisJCQkJY2FzZSAiICRQTV9VUkJfT1JJR0lOUyIgaW4gKiIgYG9yaWdpbl9mcm9tX3BkYiAk
cmVxX2J5YCAiKikgY29udGludWUgOzsgZXNhYwogCi0JCQlQTV9VUkJfTElTVD0iJHtQTV9VUkJf
TElTVH0gJHtyZXFfYnl9IgotCQlkb25lCisJCQkJUE1fVVJCX0xJU1Q9IiR7UE1fVVJCX0xJU1R9
ICR7cmVxX2J5fSIKKwkJCWRvbmUKKwkJZWxzZQorCQkJd2hpbGUgcmVhZCByZXFfYnkgcmVxX2J5
X287IGRvCisJCQkJY2FzZSAiICRQTV9VUkJfSVBPUlRTIiBpbiAqIiAkcmVxX2J5ICIqKSBjb250
aW51ZSA7OyBlc2FjCisJCQkJY2FzZSAiICRQTV9VUkJfT1JJR0lOUyIgaW4gKiIgJHJlcV9ieV9v
ICIqKSBjb250aW51ZSA7OyBlc2FjCisJCQkJUE1fVVJCX0xJU1Q9IiR7UE1fVVJCX0xJU1R9ICR7
cmVxX2J5fSIKKwkJCWRvbmUgPDwgRU9GCitgcGtnIHF1ZXJ5ICIlcm4tJXJ2ICVybyIgJHtvcmln
aW59YAorRU9GCisJCWZpCiAJZG9uZQogCiAJaWYgWyAtbiAiJFBNX1VSQl9MSVNUIiBdOyB0aGVu
CkBAIC0yNzI5LDcgKzI5NTMsMTEgQEAKIAogCWZvciByZXFfYnkgaW4gJFBNX1VSQl9MSVNUOyBk
bwogCQkjIFByb2JhYmx5IG5vdCBuZWVkZWQsIGJ1dCBKSUMKLQkJWyAtZCAiJHBkYi8kcmVxX2J5
IiBdIHx8IGNvbnRpbnVlCisJCWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4KKwkJCVsgLWQg
IiRwZGIvJHJlcV9ieSIgXSB8fCBjb250aW51ZQorCQllbHNlCisJCQlwa2cgaW5mbyAtZSAkcmVx
X2J5IHx8IGNvbnRpbnVlCisJCWZpCiAKIAkJcG1fdiAiPT09Pj4+ICRyZXFfYnkgZGVwZW5kcyBv
biAkUE1fVVJCX0lQT1JUUyIKIApAQCAtMjc3MCwxMiArMjk5OCwxNiBAQAogCQkJZWxzZQogCQkJ
CWZhaWwgIiRwZC8ke3BvcnR9IGRvZXMgbm90IGV4aXN0IgogCQkJZmkgOzsKLQkJKikJaWYgWyAt
ZCAiJHBkYi8kcG9ydCIgXTsgdGhlbgorCQkqKQlpZiBbIC1kICIkcGRiLyRwb3J0IiBdICYmICgg
WyAteiAiJHVzZV9wa2duZyIgXSB8fCBwa2cgaW5mbyAtZSAkcG9ydCApOyB0aGVuCiAJCQkJd29y
a2xpc3RfdGVtcD0iJHdvcmtsaXN0X3RlbXAgJHBvcnQiCiAJCQllbHNlCiAJCQkJZmluZF9nbG9i
X2RpcnMgJHBvcnQKIAkJCQljYXNlICQ/IGluCi0JCQkJMSkJZmFpbCAiJHBkYi8kcG9ydCBkb2Vz
IG5vdCBleGlzdCIgOzsKKwkJCQkxKQlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJCQkJ
CQlmYWlsICIkcGRiLyRwb3J0IGRvZXMgbm90IGV4aXN0IgorCQkJCQllbHNlCisJCQkJCQlmYWls
ICIkcG9ydCBpcyBub3QgaW5zdGFsbGVkIgorCQkJCQlmaSA7OwogCQkJCSopCWxvY2FsIGRpcgog
CQkJCQlmb3IgZGlyIGluICRnbG9iX2RpcnM7IGRvCiAJCQkJCXdvcmtsaXN0X3RlbXA9IiR3b3Jr
bGlzdF90ZW1wICR7ZGlyIyRwZGIvfSIKQEAgLTI4ODcsOSArMzExOSwxNiBAQAogCQkqLyopCW9y
aWdpbj0kcG9ydCA7OwogCQkqKQkjIElmIGFuIGluc3RhbGxlZCB2ZXJzaW9uIGRvZXMgbm90IGV4
aXN0IGF0IHRoaXMKIAkJCSMgcG9pbnQgaXQgcHJvYmFibHkgZ290IHVwZGF0ZWQgYXMgYSBkZXBl
bmRlbmN5Ci0JCQlpZiBbICEgLWQgIiRwZGIvJHBvcnQiIF07IHRoZW4KLQkJCQludW1wb3J0cz0k
KCggJG51bXBvcnRzIC0gMSApKQotCQkJCWNvbnRpbnVlCisJCQlpZiBbIC16ICIkdXNlX3BrZ25n
IiBdOyB0aGVuCisJCQkJaWYgWyAhIC1kICIkcGRiLyRwb3J0IiBdOyB0aGVuCisJCQkJCW51bXBv
cnRzPSQoKCAkbnVtcG9ydHMgLSAxICkpCisJCQkJCWNvbnRpbnVlCisJCQkJZmkKKwkJCWVsc2UK
KwkJCQlpZiAhIHBrZyBpbmZvIC1lICRwb3J0OyB0aGVuCisJCQkJCW51bXBvcnRzPSQoKCAkbnVt
cG9ydHMgLSAxICkpCisJCQkJCWNvbnRpbnVlCisJCQkJZmkKIAkJCWZpCiAJCQlvcmlnaW49YG9y
aWdpbl9mcm9tX3BkYiAkcG9ydGAgOzsKIAkJZXNhYwpAQCAtMzExMiwxNyArMzM1MSwyMiBAQAog
ICAgY2FzZSAiJGFyZ3YiIGluCiAgICAkcGQvKikgIHBvcnRkaXI9JHthcmd2IyRwZC99IDs7Ci0g
ICAkcGRiLyopIHVwZ19wb3J0PSR7YXJndiMkcGRiL30gOzsKKyAgICRwZGIvKikgaWYgWyAteiAi
JHVzZV9wa2duZyIgXTsgdGhlbgorICAgICAgICAgICB1cGdfcG9ydD0ke2FyZ3YjJHBkYi99Cisg
ICAgICAgZWxzZQorICAgICAgICAgICBlY2hvICcnIDsgbm9fdmFsaWRfcG9ydAorICAgICAgIGZp
IDs7ICAgIAogICAgLyopIGVjaG8gJycgOyBub192YWxpZF9wb3J0IDs7CiAgICAqLyopICAgIHBv
cnRkaXI9JGFyZ3YgOzsKICAgIFwufCcnKSAgcG9ydGRpcj0iJFBXRCIKICAgICAgICB3aGlsZSA6
IDsgZG8KICAgICAgICAgICAgY2FzZSAiJHBvcnRkaXIiIGluCiAgICAgICAgICAgICovKi8qKSAg
cG9ydGRpcj0iJHtwb3J0ZGlyIyovfSIgOzsKICAgICAgICAgICAgKi8qKSAgICBicmVhayA7Owog
ICAgICAgICAgICAqKSAgZWNobyAnJyA7IG5vX3ZhbGlkX3BvcnQgOzsKICAgICAgICAgICAgZXNh
YwogICAgICAgIGRvbmUgOzsKLSAgICopICBbIC1kICIkcGRiLyRhcmd2IiBdICYmIHVwZ19wb3J0
PSRhcmd2IDs7CisgICAqKSAgWyAtZCAiJHBkYi8kYXJndiIgXSAmJiAoIFsgLXogIiR1c2VfcGtn
bmciIF0gfHwgcGtnIGluZm8gLWUgJGFyZ3YgKSAmJgorICAgICAgIHVwZ19wb3J0PSRhcmd2IDs7
ICAgIAogICAgZXNhYwoKICAgIGlmIFsgLXogIiRwb3J0ZGlyIiAtYSAteiAiJHVwZ19wb3J0IiBd
OyB0aGVuCkBAIC0zMTQ5LDcgKzMzOTMsNyBAQAogCiAJY2FzZSAiJGFyZzIiIGluCiAJKi8qKQly
b19vcGQ9JGFyZzIgOyByb191cGdfcG9ydD1gaXBvcnRfZnJvbV9vcmlnaW4gJHJvX29wZGAgOzsK
LQkqKQlpZiBbIC1kICIkcGRiLyRhcmcyIiBdOyB0aGVuCisJKikJaWYgWyAtZCAiJHBkYi8kYXJn
MiIgXSAmJiAoIFsgLXogIiR1c2VfcGtnbmciIF0gfHwgcGtnIGluZm8gLWUgJGFyZzIgKTsgdGhl
bgogCQkJcm9fdXBnX3BvcnQ9JGFyZzIKIAkJZWxzZQogCQkJZmluZF9nbG9iX2RpcnMgJGFyZzIg
JiYgcm9fdXBnX3BvcnQ9JHtnbG9iX2RpcnMjJHBkYi99CkBAIC0zMTY0LDEyICszNDA4LDIxIEBA
CiAJdW5zZXQgYXJnMgogCiAJaWYgWyAteiAiJHJvX3VwZ19wb3J0IiBdOyB0aGVuCi0JCWlmICEg
Z3JlcCAtcWwgIkRFUE9SSUdJTjokcm9fb3BkJCIgJHBkYi8qLytDT05URU5UUzsgdGhlbgorCQlp
ZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJCQlncmVwIC1xbCAiREVQT1JJR0lOOiRyb19v
cGQkIiAkcGRiLyovK0NPTlRFTlRTCisJCWVsc2UKKwkJCXBrZyBxdWVyeSAtYSAiJWRvIiB8IGdy
ZXAgLXEgIl4kcm9fb3BkJCIKKwkJZmkKKwkJaWYgWyAiJD8iIC1lcSAxIF07IHRoZW4KIAkJCWVj
aG8gJycKLQkJCWVjaG8gIj09PT4+PiBUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIC1vIGNhbiBiZSBh
IHBvcnQgaW4gJHBkYiwiCisJCQlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJCQkJZWNo
byAiPT09Pj4+IFRoZSBzZWNvbmQgYXJndW1lbnQgdG8gLW8gY2FuIGJlIGEgcG9ydCBpbiAkcGRi
LCIKKwkJCWVsc2UKKwkJCQllY2hvICI9PT0+Pj4gVGhlIHNlY29uZCBhcmd1bWVudCB0byAtbyBj
YW4gYmUgYSBwYWNrYWdlIG5hbWUsIgorCQkJZmkKIAkJCWVjaG8gIiAgICAgICBvciBhIHBvcnQg
ZGlyZWN0b3J5IGZyb20gJHBkIgogCQkJZWNobyAnJwotCQkJZWNobyAiICAgICAgICRyb19vcGQg
ZG9lcyBub3Qgc2VlbSB0byBiZSBpbnN0YWxsZWQsIgorCQkJZWNobyAiICAgICAgICRhcmcyIGRv
ZXMgbm90IHNlZW0gdG8gYmUgaW5zdGFsbGVkLCIKIAkJCWVjaG8gJyAgICAgICBvciBsaXN0ZWQg
YXMgYSBkZXBlbmRlbmN5JwogCQkJZWNobyAnJyA7IG5vX3ZhbGlkX3BvcnQKIAkJZmkKQEAgLTMy
MDEsNyArMzQ1NCw3IEBACiBmaQogWyAteiAiJHVwZ19wb3J0IiAtYSAteiAiJFJFUExBQ0VfT1JJ
R0lOIiBdICYmIHVwZ19wb3J0PWBpcG9ydF9mcm9tX29yaWdpbiAke3BvcnRkaXJ9YAogCi1pZiBb
IC1lICIkcGRiLyR1cGdfcG9ydC8rSUdOT1JFTUUiIF07IHRoZW4KK2lmIFsgLWUgIiRwZGIvJHVw
Z19wb3J0LytJR05PUkVNRSIgXSAmJiAoIFsgLXogIiR1c2VfcGtnbmciIF0gfHwgcGtnIGluZm8g
LWUgJHVwZ19wb3J0ICk7IHRoZW4KIAkjIEFkZGluZyB0byBDVVJfREVQUyBtZWFucyB3ZSB3aWxs
IG5vdCBnZXQgaGVyZSBpbiB0aGUgYnVpbGQKIAlpZiBbIC16ICIkUE1fQlVJTERJTkciIF07IHRo
ZW4KIAkJIyBPbmx5IG5lZWQgdG8gcHJvbXB0IGZvciB0aGlzIG9uY2UgaWYgLWFpCkBAIC0zNTk5
LDcgKzM4NTIsMTIgQEAKIAkJcG1fdiAiPT09Pj4+IEF2YWlsYWJsZSBwYWNrYWdlICgkbGF0ZXN0
X3B2KSBtYXRjaGVzIHRoZSBjdXJyZW50IHZlcnNpb24iCiAJZWxpZiBbIC1uICIkbGF0ZXN0X3B2
IiAtYSAtbiAiJFBNX1BBQ0tBR0VTX05FV0VSIiBdOyB0aGVuCiAJCWlmIFsgLW4gIiR1cGdfcG9y
dCIgXTsgdGhlbgotCQkJY2FzZSBgcGtnX3ZlcnNpb24gLXQgJHVwZ19wb3J0ICRsYXRlc3RfcHZg
IGluCisJCQlpZiBbIC16ICIkdXNlX3BrZ25nIiBdOyB0aGVuCisJCQkJcGtnX3ZlcnNpb249InBr
Z192ZXJzaW9uIgorCQkJZWxzZQorCQkJCXBrZ192ZXJzaW9uPSJwa2cgdmVyc2lvbiIKKwkJCWZp
CisJCQljYXNlIGAkcGtnX3ZlcnNpb24gLXQgJHVwZ19wb3J0ICRsYXRlc3RfcHZgIGluCiAJCQlc
PCkJdXNlX3BhY2thZ2U9dXBfbmV3ZXIKIAkJCQlwbV92ICI9PT0+Pj4gQXZhaWxhYmxlIHBhY2th
Z2UgKCRsYXRlc3RfcHYpIgogCQkJCXBtX3YgIiAgICAgICBpcyBuZXdlciB0aGFuIGluc3RhbGxl
ZCAoJHVwZ19wb3J0KSIgOzsKQEAgLTM2MTUsNyArMzg3MywxMiBAQAogCQkJcG1fdiAiPT09Pj4+
IFRoZXJlIGlzIGEgcGFja2FnZSBhdmFpbGFibGUgKCRsYXRlc3RfcHYpIgogCQlmaQogCWVsaWYg
WyAtbiAiJGxhdGVzdF9wdiIgXTsgdGhlbgotCQljYXNlIGBwa2dfdmVyc2lvbiAtdCAkbmV3X3Bv
cnQgJGxhdGVzdF9wdmAgaW4KKwkJaWYgWyAteiAiJHVzZV9wa2duZyIgXTsgdGhlbgorCQkJcGtn
X3ZlcnNpb249InBrZ192ZXJzaW9uIgorCQllbHNlCisJCQlwa2dfdmVyc2lvbj0icGtnIHZlcnNp
b24iCisJCWZpCisJCWNhc2UgYCRwa2dfdmVyc2lvbiAtdCAkbmV3X3BvcnQgJGxhdGVzdF9wdmAg
aW4KIAkJXDwpCSMgQ291bGQgaGFwcGVuIGlmIHBvcnRzIHRyZWUgaXMgb3V0IG9mIGRhdGUKIAkJ
CXVzZV9wYWNrYWdlPXVwX29sZF90cmVlCiAJCQlwbV92ICI9PT0+Pj4gQXZhaWxhYmxlIHBhY2th
Z2UgKCRsYXRlc3RfcHYpIgpAQCAtMzcxNSw3ICszOTc4LDEyIEBACiAJCSAgICBncmVwIC12IF4k
TE9DQUxCQVNFX0NPTVBBVCA+ICRwbV9ta3RlbXBfZmlsZQogCiAJCXVuc2V0IHRlbXAKLQkJZm9y
IGZpbGUgaW4gYHBrZ19pbmZvIC1xIC1MICRVUEdSQURFX1BPUlQgfAorCQlpZiBbIC16ICIkdXNl
X3BrZ25nIiBdOyB0aGVuCisJCQlwa2dsaXN0PSJwa2dfaW5mbyAtcSAtTCIKKwkJZWxzZQorCQkJ
cGtnbGlzdD0icGtnIHF1ZXJ5ICVGcCIKKwkJZmkKKwkJZm9yIGZpbGUgaW4gYCRwa2dsaXN0ICRV
UEdSQURFX1BPUlQgfAogCQkgICAgc29ydCAtICRwbV9ta3RlbXBfZmlsZSB8IHVuaXEgLWRgOyBk
bwogCQkJdGVtcD0iJHt0ZW1wfSRmaWxlICIKIAkJZG9uZQpAQCAtMzczOCw2ICs0MDA2LDcgQEAK
IAogCWlmIFsgLW4gIiRSRVBMQUNFX09SSUdJTiIgLWEgLW4gIiRyb191cGdfcG9ydCIgXTsgdGhl
bgogCQkjIERlbGV0ZSBhbnkgZXhpc3RpbmcgdmVyc2lvbnMgb2YgdGhlIG9sZCBwb3J0CisJCW5w
X29ycGhhbj1gcGtnIHF1ZXJ5ICIlYSIgJHJvX3VwZ19wb3J0YAogCQlwbV9zdiAiUnVubmluZyBw
a2dfZGVsZXRlIGZvciAkcm9fdXBnX3BvcnQiCiAJCXBtX3BrZ19kZWxldGVfcyAtZiAkcm9fdXBn
X3BvcnQKIAlmaQpAQCAtMzc1Nyw2ICs0MDI2LDggQEAKIAkJCXVuc2V0IHByZXNlcnZlX3BvcnQg
ZmlsZXMKIAkJZXNhYwogCisJCSMgT3JwaGFuIHN0YXRlIG9mICRyb191cGdfcG9ydCBoYXMgcHJl
Y2VkZW5jZQorCQk6ICR7bnBfb3JwaGFuOj1gcGtnIHF1ZXJ5ICIlYSIgJHVwZ19wb3J0YH0KIAkJ
cG1fc3YgIlJ1bm5pbmcgcGtnX2RlbGV0ZSBmb3IgJHVwZ19wb3J0IgogCQlwbV9wa2dfZGVsZXRl
X3MgLWYgJHVwZ19wb3J0CiAJZmkKQEAgLTM4MDMsNiArNDA3NCwxOCBAQAogCQl1bnNldCBwb3J0
X2xvZ19hcmdzCiAJZmkKIAorCWlmIFsgLXogIiRVUERBVEVfQUxMIiAtYSAteiAiJFJFUExBQ0Vf
T1JJR0lOIiAtYSAteiAiJFBNX1VSQiIgLWEgIiR7bnBfb3JwaGFuOi0xfSIgLWVxIDEgXTsgdGhl
bgorCQlpZiBbIC1uICIkUE1fTVVMVElfUE9SVFMiIF07IHRoZW4KKwkJCWNhc2UgIiRQTV9NVUxU
SV9QT1JUUyIgaW4KKwkJCSo6JHt1cGdfcG9ydDotTk9ORX06KikJbnBfb3JwaGFuPTAgOzsKKwkJ
CSo6JHtwb3J0ZGlyfToqKQkJbnBfb3JwaGFuPTAgOzsKKwkJCWVzYWMKKwkJZWxzZQorCQkJWyAi
JCQiIC1lcSAiJFBNX1BBUkVOVF9QSUQiIF0gJiYgbnBfb3JwaGFuPTAKKwkJZmkKKwlmaQorCVsg
IiR7bnBfb3JwaGFuOi0xfSIgLWVxIDEgXSAmJiBQTV9NQUtFX0FSR1M9IiR7UE1fTUFLRV9BUkdT
fSAtRElOU1RBTExTX0RFUEVORFMiCisJdW5zZXQgbnBfb3JwaGFuCiAJIyBEZWZpbmluZyBOT19E
RVBFTkRTIGVuc3VyZXMgdGhhdCB3ZSB3aWxsIGNvbnRyb2wgdGhlIGluc3RhbGxhdGlvbgogCSMg
b2YgdGhlIGRlcGVuZHMsIG5vdCBic2QucG9ydC5tay4KIAlldmFsIHBtX21ha2VfcyAtRE5PX0RF
UEVORFMgaW5zdGFsbCAkcG9ydF9sb2dfYXJncyB8fCBpbnN0YWxsX2ZhaWxlZCAkbmV3X3BvcnQK
QEAgLTM4MjAsMjkgKzQxMDMsMzEgQEAKIAlmaQogZmkKIAotZm9yIGZpbGUgaW4gJHByZXNlcnZl
X3BvcnRfZmlsZXM7IGRvCi0JbXYgJGZpbGUgJHtmaWxlfS1uZXcKLQltdiAke3ByZXNlcnZlX2Rp
cn0vJHtmaWxlIyMqL30gJGZpbGUKLQlvbGRtZDU9Ik1ENTpgbWQ1IC1xICRmaWxlYCIKLQotCXBt
X21rdGVtcCBjb250ZW50cwotCXdoaWxlIHJlYWQgbGVmdCByaWdodDsgZG8KLQkJY2FzZSAiJGxl
ZnQiIGluCi0JCUBjd2QpCQlzaG9ydF9maWxlPSIke2ZpbGUjJHtyaWdodH0vfSIgOzsKLQkJJHNo
b3J0X2ZpbGUpCWZvdW5kX2l0PWZvdW5kX2l0IDsgY29udGludWU7OwotCQlAY29tbWVudCkJaWYg
WyAtbiAiJGZvdW5kX2l0IiBdOyB0aGVuCi0JCQkJCWVjaG8gLWUgIiR7c2hvcnRfZmlsZX0tbmV3
XG4kbGVmdCAkcmlnaHQiCi0JCQkJCWVjaG8gLWUgIiRzaG9ydF9maWxlXG5AY29tbWVudCAkb2xk
bWQ1IgotCQkJCQl1bnNldCBmb3VuZF9pdAotCQkJCQljb250aW51ZQotCQkJCWZpIDs7Ci0JCWVz
YWMKLQkJZWNobyAiJGxlZnQgJHJpZ2h0IgotCWRvbmUgPCAkcGRiLyRuZXdfcG9ydC8rQ09OVEVO
VFMgPiAkcG1fbWt0ZW1wX2ZpbGUKLQlwbV9pbnN0YWxsX3MgJHBtX21rdGVtcF9maWxlICRjb250
ZW50cwotCXBtX3VubGluayAkcG1fbWt0ZW1wX2ZpbGUKLQl1bnNldCBmaWxlIG9sZG1kNSBwbV9t
a3RlbXBfZmlsZSBsZWZ0IHJpZ2h0IHNob3J0X2ZpbGUKLWRvbmUKK2lmIFsgLXogIiR1c2VfcGtn
bmciIF07IHRoZW4KKwlmb3IgZmlsZSBpbiAkcHJlc2VydmVfcG9ydF9maWxlczsgZG8KKwkJbXYg
JGZpbGUgJHtmaWxlfS1uZXcKKwkJbXYgJHtwcmVzZXJ2ZV9kaXJ9LyR7ZmlsZSMjKi99ICRmaWxl
CisJCW9sZG1kNT0iTUQ1OmBtZDUgLXEgJGZpbGVgIgorCQorCQlwbV9ta3RlbXAgY29udGVudHMK
KwkJd2hpbGUgcmVhZCBsZWZ0IHJpZ2h0OyBkbworCQkJY2FzZSAiJGxlZnQiIGluCisJCQlAY3dk
KQkJc2hvcnRfZmlsZT0iJHtmaWxlIyR7cmlnaHR9L30iIDs7CisJCQkkc2hvcnRfZmlsZSkJZm91
bmRfaXQ9Zm91bmRfaXQgOyBjb250aW51ZTs7CisJCQlAY29tbWVudCkJaWYgWyAtbiAiJGZvdW5k
X2l0IiBdOyB0aGVuCisJCQkJCQllY2hvIC1lICIke3Nob3J0X2ZpbGV9LW5ld1xuJGxlZnQgJHJp
Z2h0IgorCQkJCQkJZWNobyAtZSAiJHNob3J0X2ZpbGVcbkBjb21tZW50ICRvbGRtZDUiCisJCQkJ
CQl1bnNldCBmb3VuZF9pdAorCQkJCQkJY29udGludWUKKwkJCQkJZmkgOzsKKwkJCWVzYWMKKwkJ
CWVjaG8gIiRsZWZ0ICRyaWdodCIKKwkJZG9uZSA8ICRwZGIvJG5ld19wb3J0LytDT05URU5UUyA+
ICRwbV9ta3RlbXBfZmlsZQorCQlwbV9pbnN0YWxsX3MgJHBtX21rdGVtcF9maWxlICRjb250ZW50
cworCQlwbV91bmxpbmsgJHBtX21rdGVtcF9maWxlCisJCXVuc2V0IGZpbGUgb2xkbWQ1IHBtX21r
dGVtcF9maWxlIGxlZnQgcmlnaHQgc2hvcnRfZmlsZQorCWRvbmUKK2ZpCiBpZiBbIC1uICIkcHJl
c2VydmVfZGlyIiBdOyB0aGVuCiAJcm1kaXIgJHByZXNlcnZlX2RpciAyPi9kZXYvbnVsbAogCXVu
c2V0IHByZXNlcnZlX2RpciBwcmVzZXJ2ZV9wb3J0X2ZpbGVzCkBAIC0zODU4LDE0ICs0MTQzLDE5
IEBACiB0ZW1wPWBmaW5kICRMT0NBTEJBU0VfQ09NUEFUIC10eXBlIGQgLWVtcHR5IDI+L2Rldi9u
dWxsYAogaWYgWyAteiAiJHRlbXAiIF0gJiYgWyAtZCAiJExPQ0FMQkFTRV9DT01QQVQiIF07IHRo
ZW4KIAl1bnNldCBmaWxlcwotCWZvciBmaWxlIGluIGBwa2dfaW5mbyAtcSAtTCAkbmV3X3BvcnRg
OyBkbworCWlmIFsgLXogIiR1c2VfcGtnbmciIF07IHRoZW4KKwkJcGtnbGlzdD0icGtnX2luZm8g
LXEgLUwiCisJZWxzZQorCQlwa2dsaXN0PSJwa2cgcXVlcnkgJUZwIgorCWZpCisJZm9yIGZpbGUg
aW4gYCRwa2dsaXN0ICRuZXdfcG9ydGA7IGRvCiAJCVsgLWYgIiR7TE9DQUxCQVNFX0NPTVBBVH0v
JHtmaWxlIyMqL30iIF0gJiYKIAkJCWZpbGVzPSIke2ZpbGVzfSR7TE9DQUxCQVNFX0NPTVBBVH0v
JHtmaWxlIyMqL30gIgogCWRvbmUKIAogCWlmIFsgLW4gIiRmaWxlcyIgXTsgdGhlbgogCQlwbV9z
diBSZW1vdmluZyBvbGQgc2hhcmVkIGxpYnJhcmllcywgYW5kIHJ1bm5pbmcgbGRjb25maWcKLQkJ
cG1fcm1fcyAkZmlsZXMKKwkJcG1fcm1fcyBgbWFrZSAtViBGSUxFUzpPOnUgRklMRVM9IiRmaWxl
cyJgCiAJCSRQTV9TVV9DTUQgL2V0Yy9yYy5kL2xkY29uZmlnIHN0YXJ0ID4gL2Rldi9udWxsCiAJ
ZmkKIAl1bnNldCB0ZW1wIGZpbGUgZmlsZXMKQEAgLTM5MTcsMTEgKzQyMDcsMTMgQEAKIAlkb25l
CiAKIAlwbV9zdiAiSW5zdGFsbGluZyAkZGlzdF9saXN0XG4iCisJcG1fbWtkaXJfcyAke2Rpc3Rf
bGlzdCUvKn0KIAlwbV9pbnN0YWxsX3MgJHBtX21rdGVtcF9maWxlICRkaXN0X2xpc3QKIAkvYmlu
L3VubGluayAkcG1fbWt0ZW1wX2ZpbGUgOyB1bnNldCBkaXN0aW5mbyBwbV9ta3RlbXBfZmlsZSBm
aWxlIGxpbmUKIGZpCiAKLWlmIFsgLW4gIiR1c2VfcGFja2FnZSIgXTsgdGhlbgorIyBwa2duZyBk
b2VzIG5vdCBuZWVkIHRoaXMKK2lmIFsgLXogIiR1c2VfcGtnbmciIC1hIC1uICIkdXNlX3BhY2th
Z2UiIF07IHRoZW4KIAlpZiBncmVwIC1xIERFUE9SSUdJTiAkcGRiLyRuZXdfcG9ydC8rQ09OVEVO
VFM7IHRoZW4KIAkJZWNobyAtZSAiPT09Pj4+IFVwZGF0aW5nIGRlcGVuZGVuY2llcyBmb3IgJG5l
d19wb3J0IHRvIG1hdGNoIGluc3RhbGxlZCB2ZXJzaW9uc1xuIgogCQl1cGRhdGVfY29udGVudHMg
JHBkYi8kbmV3X3BvcnQvK0NPTlRFTlRTIDsgcG1fdgpAQCAtMzk0Myw3ICs0MjM1LDcgQEAKIGlm
IFsgLW4gIiRNQUtFX1BBQ0tBR0UiIF07IHRoZW4KIAlpZiBbIC16ICIkdXNlX3BhY2thZ2UiIF07
IHRoZW4KIAkJZWNobyAiPT09Pj4+IENyZWF0aW5nIGEgcGFja2FnZSBmb3IgbmV3IHZlcnNpb24g
JG5ld19wb3J0IgotCQlwbV9tYWtlX3MgcGFja2FnZSA+L2Rldi9udWxsIHx8IGZhaWwgIlBhY2th
Z2UgY3JlYXRpb24gb2YgJG5ld19wb3J0IGZhaWxlZCIKKwkJcG1fbWFrZV9zIC1EX09QVElPTlNf
T0sgcGFja2FnZSA+L2Rldi9udWxsIHx8IGZhaWwgIlBhY2thZ2UgY3JlYXRpb24gb2YgJG5ld19w
b3J0IGZhaWxlZCIKIAkJZWNobyAiCT09PT4+PiBQYWNrYWdlIHNhdmVkIHRvICRQQUNLQUdFUy9B
bGwiIDsgZWNobyAnJwogCWVsc2UKIAkJcG1fcGtnX2NyZWF0ZSAkUEFDS0FHRVMgJG5ld19wb3J0
CkBAIC0zOTU2LDI5ICs0MjQ4LDM3IEBACiAJcG1fdgogZmkKIAotY2hlY2tfZGVwZW5kZW5jeV9m
aWxlcyAkcG9ydGRpciAkbmV3X3BvcnQKLWlmIFsgLXMgIiRncmVwX2RlcHMiIF07IHRoZW4KLQll
Y2hvIC1lICI9PT0+Pj4gVXBkYXRpbmcgZGVwZW5kZW5jeSBlbnRyeSBmb3IgJG5ld19wb3J0IGlu
IGVhY2ggZGVwZW5kZW50IHBvcnRcbiIKLQl3aGlsZSByZWFkIGRfcG9ydDsgZG8KLQkJcG1fdiAi
PT09Pj4+ICRkX3BvcnQiCi0JCWRwX2NvbnQ9JHBkYi8kZF9wb3J0LytDT05URU5UUwotCQlbIC1l
ICIkZHBfY29udCIgXSB8fCBjb250aW51ZQotCi0JCWlmIFsgLW4gIiRyb19vcGQiIF0gJiYgZ3Jl
cCAtcWwgIkRFUE9SSUdJTjokcm9fb3BkJCIgJGRwX2NvbnQ7IHRoZW4KLQkJCXVwZGF0ZV9jb250
ZW50cyAkZHBfY29udCAkcG9ydGRpciAkbmV3X3BvcnQgJHJvX29wZAotCQlmaQotCQkjIERvIHRo
aXMgb25lIGxhc3Qgc28gaXQgY2FuIGdldCBkZWxldGVkIGFzIGEgZHVwbGljYXRlCi0JCSMgaWYg
cm9fb3BkIGlzIHByZXNlbnQuCi0JCWlmIGdyZXAgLXFsICJERVBPUklHSU46JHBvcnRkaXIkIiAk
ZHBfY29udDsgdGhlbgotCQkJdXBkYXRlX2NvbnRlbnRzICRkcF9jb250ICRwb3J0ZGlyICRuZXdf
cG9ydAotCQlmaQotCWRvbmUgPCAkZ3JlcF9kZXBzCi0JdW5zZXQgZF9wb3J0IGRwX2NvbnQgOyBw
bV92Ci0KLQl1cGRhdGVfcmVxdWlyZWRfYnkgJG5ld19wb3J0Ci0JWyAtbiAiJG5lZWR3cyIgXSAm
JiB7IHBtX3Y7IHVuc2V0IG5lZWR3czsgfQoraWYgWyAteiAiJHVzZV9wa2duZyIgXTsgdGhlbgor
CWNoZWNrX2RlcGVuZGVuY3lfZmlsZXMgJHBvcnRkaXIgJG5ld19wb3J0CisJaWYgWyAtcyAiJGdy
ZXBfZGVwcyIgXTsgdGhlbgorCQllY2hvIC1lICI9PT0+Pj4gVXBkYXRpbmcgZGVwZW5kZW5jeSBl
bnRyeSBmb3IgJG5ld19wb3J0IGluIGVhY2ggZGVwZW5kZW50IHBvcnRcbiIKKwkJd2hpbGUgcmVh
ZCBkX3BvcnQ7IGRvCisJCQlwbV92ICI9PT0+Pj4gJGRfcG9ydCIKKwkJCWRwX2NvbnQ9JHBkYi8k
ZF9wb3J0LytDT05URU5UUworCQkJWyAtZSAiJGRwX2NvbnQiIF0gfHwgY29udGludWUKKwkKKwkJ
CWlmIFsgLW4gIiRyb19vcGQiIF0gJiYgZ3JlcCAtcWwgIkRFUE9SSUdJTjokcm9fb3BkJCIgJGRw
X2NvbnQ7IHRoZW4KKwkJCQl1cGRhdGVfY29udGVudHMgJGRwX2NvbnQgJHBvcnRkaXIgJG5ld19w
b3J0ICRyb19vcGQKKwkJCWZpCisJCQkjIERvIHRoaXMgb25lIGxhc3Qgc28gaXQgY2FuIGdldCBk
ZWxldGVkIGFzIGEgZHVwbGljYXRlCisJCQkjIGlmIHJvX29wZCBpcyBwcmVzZW50LgorCQkJaWYg
Z3JlcCAtcWwgIkRFUE9SSUdJTjokcG9ydGRpciQiICRkcF9jb250OyB0aGVuCisJCQkJdXBkYXRl
X2NvbnRlbnRzICRkcF9jb250ICRwb3J0ZGlyICRuZXdfcG9ydAorCQkJZmkKKwkJZG9uZSA8ICRn
cmVwX2RlcHMKKwkJdW5zZXQgZF9wb3J0IGRwX2NvbnQgOyBwbV92CisJCisJCXVwZGF0ZV9yZXF1
aXJlZF9ieSAkbmV3X3BvcnQKKwkJWyAtbiAiJG5lZWR3cyIgXSAmJiB7IHBtX3Y7IHVuc2V0IG5l
ZWR3czsgfQorCWZpCitlbHNlCisJaWYgWyAtbiAiJHJvX29wZCIgXTsgdGhlbgorCQllY2hvICI9
PT0+Pj4gVXBkYXRpbmcgZGVwZW5kZW5jeSBlbnRyeSBmb3IgJG5ld19wb3J0IGluIGVhY2ggZGVw
ZW5kZW50IHBvcnQiCisJCXBrZyBzZXQgLXlvICRyb19vcGQ6JHBvcnRkaXIKKwlmaQogZmkKIAor
CiBpZiBbIC1uICIkdXBnX3BvcnQiIF07IHRoZW4KIAlpZiBbICEgIiR1cGdfcG9ydCIgPSAiJG5l
d19wb3J0IiBdOyB0aGVuCiAJCWlsaXN0PSJVcGdyYWRlIG9mICR1cGdfcG9ydCB0byAkbmV3X3Bv
cnQiCkBAIC0zOTk0LDEzICs0Mjk0LDE1IEBACiBmaQogCiBJTlNUQUxMRURfTElTVD0iJHtJTlNU
QUxMRURfTElTVH1cdCR7aWxpc3R9XG4iCi1bIC1lICIkcGRiLyRuZXdfcG9ydC8rRElTUExBWSIg
XSAmJiBESVNQTEFZX0xJU1Q9IiR7RElTUExBWV9MSVNUfSRuZXdfcG9ydCAiCitbIC16ICIkdXNl
X3BrZ25nIiAtYSAtZSAiJHBkYi8kbmV3X3BvcnQvK0RJU1BMQVkiIC1vIC1uICIkdXNlX3BrZ25n
IiAtYSAtbiAiYHBrZyBxdWVyeSAiJU0iICRuZXdfcG9ydGAiIF0gJiYKKwlESVNQTEFZX0xJU1Q9
IiR7RElTUExBWV9MSVNUfSRuZXdfcG9ydCAiCiBDVVJfREVQUz0iJHtDVVJfREVQU30ke25ld19w
b3J0fToke3BvcnRkaXJ9OiIKIAogWyAtbiAiJEhJREVfQlVJTEQiIC1hIC1uICIkcG9ydF9sb2ci
IF0gJiYgcG1fdW5saW5rICRwb3J0X2xvZwogCiBbIC1uICIkUE1fVVJCIiAtbyAtbiAiJFBNX1VS
Ql9VUCIgXSAmJiBQTV9VUkJfRE9ORT0iJHtQTV9VUkJfRE9ORX0ke25ld19wb3J0fToiCiBbIC1u
ICIkUE1fVVJCIiAtbyAtbiAiJFBNX1VSQl9VUCIgLW8gLW4gIiRQTV9GT1JDRSIgXSAmJgorCXBt
X21rZGlyX3MgJHBkYi8kbmV3X3BvcnQgJiYKIAkkUE1fU1VfQ01EIHRvdWNoICRwZGIvJG5ld19w
b3J0L1BNX1VQR1JBREVfRE9ORV9GTEFHCiAKIGlmIFsgLXogIiRET05UX1NDUlVCX0RJU1RGSUxF
UyIgXTsgdGhlbgo=
--20cf3074b4f49b7d9b04c6d5d258--



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