Re: [PATCH] Drop some reference specific code from typeset

Philippe Altherr <[email protected]> Tue, 28 Jul 2026 02:37:09 +0200
Newsgroups gmane.comp.shells.zsh.devel
Message-ID <CAGdYchuOUBY0hK5tiAycOkattm-qbEk6GfYkBK1Avem-aWeHrQ@mail.gmail.com>
--000000000000b4cd450657a10a84
Content-Type: multipart/alternative; boundary="000000000000b4cd440657a10a82"

--000000000000b4cd440657a10a82
Content-Type: text/plain; charset="UTF-8"

Synced and updated patch:

- Drop some reference specific code from typeset
<https://github.com/zsh-users/zsh/compare/master...paltherr:zsh:less-reference-specific-typeset-code>

Philippe

--000000000000b4cd440657a10a82
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Synced and updated patch:</div><div dir=3D"ltr"><br><=
div>-=C2=A0<a href=3D"https://github.com/zsh-users/zsh/compare/master...pal=
therr:zsh:less-reference-specific-typeset-code" target=3D"_blank">Drop some=
 reference specific code from typeset</a></div><div><br></div><div>Philippe=
</div><div><br></div></div></div>

--000000000000b4cd440657a10a82--
--000000000000b4cd450657a10a84
Content-Type: text/plain; charset="US-ASCII"; name="less-reference-specific-typeset-code.txt"
Content-Disposition: attachment; 
	filename="less-reference-specific-typeset-code.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_ms3xemvw0>
X-Attachment-Id: f_ms3xemvw0

ZGlmZiAtLWdpdCBhL1NyYy9idWlsdGluLmMgYi9TcmMvYnVpbHRpbi5jCmluZGV4IGUzNWQ3ZmUy
Yy4uMTRhZTkzNjRjIDEwMDY0NAotLS0gYS9TcmMvYnVpbHRpbi5jCisrKyBiL1NyYy9idWlsdGlu
LmMKQEAgLTIxMDQsMjIgKzIxMDQsMjIgQEAgdHlwZXNldF9zaW5nbGUoY2hhciAqY25hbWUsIGNo
YXIgKnBuYW1lLCBQYXJhbSBwbSwgaW50IGZ1bmMsCiAJfQogCXRjID0gMTsKIAlpZiAoT1BUX01J
TlVTKG9wcywncCcpKQotCSAgICB1c2VwbSA9IChvbiAmIHBtLT5ub2RlLmZsYWdzKTsKKwkgICAg
dXNlcG0gPSAhIShvbiAmIHBtLT5ub2RlLmZsYWdzKTsKIAllbHNlIGlmIChPUFRfUExVUyhvcHMs
J3AnKSkKLQkgICAgdXNlcG0gPSAob2ZmICYgcG0tPm5vZGUuZmxhZ3MpOworCSAgICB1c2VwbSA9
ICEhKG9mZiAmIHBtLT5ub2RlLmZsYWdzKTsKIAllbHNlCiAJICAgIHVzZXBtID0gMDsKICAgICB9
CiAgICAgZWxzZSBpZiAodXNlcG0gfHwgbmV3c3BlY2lhbCAhPSBOU19OT05FKSB7CiAJaW50IGNo
ZmxhZ3MgPSAoKG9mZiAmIHBtLT5ub2RlLmZsYWdzKSB8IChvbiAmIH5wbS0+bm9kZS5mbGFncykp
ICYKIAkgICAgKFBNX0lOVEVHRVJ8UE1fRUZMT0FUfFBNX0ZGTE9BVHxQTV9IQVNIRUR8Ci0JICAg
ICBQTV9BUlJBWXxQTV9USUVEfFBNX0FVVE9MT0FEKTsKKwkgICAgIFBNX0FSUkFZfFBNX05BTUVS
RUZ8UE1fVElFRHxQTV9BVVRPTE9BRCk7CiAJLyoga2VlcCB0aGUgcGFyYW1ldGVyIGlmIGp1c3Qg
c3dpdGNoaW5nIGJldHdlZW4gZmxvYXRpbmcgdHlwZXMgKi8KIAlpZiAoKHRjID0gY2hmbGFncyAm
JiBjaGZsYWdzICE9IChQTV9FRkxPQVR8UE1fRkZMT0FUKSkpIHsKIAkgICAgaWYgKE9QVF9NSU5V
UyhvcHMsJ3AnKSkKLQkJdXNlcG0gPSAob24gJiBwbS0+bm9kZS5mbGFncyk7CisJCXVzZXBtID0g
ISEob24gJiBwbS0+bm9kZS5mbGFncyk7CiAJICAgIGVsc2UgaWYgKE9QVF9QTFVTKG9wcywncCcp
KQotCQl1c2VwbSA9IChvZmYgJiBwbS0+bm9kZS5mbGFncyk7CisJCXVzZXBtID0gISEob2ZmICYg
cG0tPm5vZGUuZmxhZ3MpOwogCSAgICBlbHNlCiAJCXVzZXBtID0gMDsKIAl9CkBAIC0yMjMxLDYg
KzIyMzEsNyBAQCB0eXBlc2V0X3NpbmdsZShjaGFyICpjbmFtZSwgY2hhciAqcG5hbWUsIFBhcmFt
IHBtLCBpbnQgZnVuYywKICAgICAgKiAgIGlpLiB3ZSBhcmUgY3JlYXRpbmcgYSBuZXcgbG9jYWwg
cGFyYW1ldGVyCiAgICAgICovCiAgICAgaWYgKHVzZXBtKSB7CisJaW50IGZsYWdzID0gKG9uICYg
UE1fTkFNRVJFRikgPyBBU1NQTV9OT05BTUVSRUYgOiAwOwogCWlmIChPUFRfTUlOVVMob3BzLCdw
JykgJiYgb24gJiYKIAkgICAgISgob24gJiBwbS0+bm9kZS5mbGFncykgfHwgKChvbiAmIFBNX0xP
Q0FMKSAmJiBwbS0+bGV2ZWwpKSkKIAkgICAgcmV0dXJuIE5VTEw7CkBAIC0yMzI0LDEwICsyMzI1
LDEwIEBAIHR5cGVzZXRfc2luZ2xlKGNoYXIgKmNuYW1lLCBjaGFyICpwbmFtZSwgUGFyYW0gcG0s
IGludCBmdW5jLAogCQkgICAgRFBVVFMoIXRkcCwgIkJVRzogbm8gam9pbiBjaGFyYWN0ZXIgdG8g
dXBkYXRlIik7CiAJICAgIH0KIAkgICAgaWYgKGFzZy0+dmFsdWUuc2NhbGFyICYmCi0JCSEocG0g
PSBhc3NpZ25zcGFyYW0ocG5hbWUsIHp0cmR1cChhc2ctPnZhbHVlLnNjYWxhciksIDApKSkKKwkJ
IShwbSA9IGFzc2lnbnNwYXJhbShwbmFtZSwgenRyZHVwKGFzZy0+dmFsdWUuc2NhbGFyKSwgZmxh
Z3MpKSkKIAkJcmV0dXJuIE5VTEw7CiAJfSBlbHNlIGlmIChhc2ctPmZsYWdzICYgQVNHX0FSUkFZ
KSB7Ci0JICAgIGludCBmbGFncyA9IChhc2ctPmZsYWdzICYgQVNHX0tFWV9WQUxVRSkgPyBBU1NQ
TV9LRVlfVkFMVUUgOiAwOworCSAgICBmbGFncyB8PSAoYXNnLT5mbGFncyAmIEFTR19LRVlfVkFM
VUUpID8gQVNTUE1fS0VZX1ZBTFVFIDogMDsKIAkgICAgaWYgKCEocG0gPSBhc3NpZ25hcGFyYW0o
cG5hbWUsIGFzZy0+dmFsdWUuYXJyYXkgPwogCQkJCSB6bGlua2xpc3QyYXJyYXkoYXNnLT52YWx1
ZS5hcnJheSwgMSkgOgogCQkJCSBta2FycmF5KE5VTEwpLCBmbGFncykpKQpAQCAtMjM1OCw2ICsy
MzU5LDkgQEAgdHlwZXNldF9zaW5nbGUoY2hhciAqY25hbWUsIGNoYXIgKnBuYW1lLCBQYXJhbSBw
bSwgaW50IGZ1bmMsCiAJb24gfD0gfm9mZiAmIChQTV9SRUFET05MWXxQTV9FWFBPUlRFRCkgJiBw
bS0+bm9kZS5mbGFnczsKIAkvKiAuLi5idXQgdHVybiBvZmYgZXhpc3RpbmcgcmVhZG9ubHkgc28g
d2UgY2FuIGRlbGV0ZSBpdCAqLwogCXBtLT5ub2RlLmZsYWdzICY9IH5QTV9SRUFET05MWTsKKwkv
KiBIYWNrIHRvIGZvcmNlIGdldHNwYXJhbSBiZWxvdyB0byB1c2UgdGhlIHJlZmVyZW5jZSdzIG93
biB2YWx1ZSAqLworCWlmIChvZmYgJiBQTV9OQU1FUkVGKQorCSAgICBwbS0+bm9kZS5mbGFncyAm
PSB+UE1fTkFNRVJFRjsKIAkvKgogCSAqIElmIHdlJ3JlIGp1c3QgY2hhbmdpbmcgdGhlIHR5cGUs
IHdlIHNob3VsZCBrZWVwIHRoZQogCSAqIHZhcmlhYmxlIGF0IHRoZSBjdXJyZW50IGxldmVsIG9m
IGxvY2FsbmVzcy4KQEAgLTIzNzEsNiArMjM3NSwxMiBAQCB0eXBlc2V0X3NpbmdsZShjaGFyICpj
bmFtZSwgY2hhciAqcG5hbWUsIFBhcmFtIHBtLCBpbnQgZnVuYywKIAkgKiBpbXBsaWNhdGlvbnMu
KQogCSAqLwogCWlmICghQVNHX1ZBTFVFUChhc2cpICYmICEoKHBtLT5ub2RlLmZsYWdzfG9uKSAm
IChQTV9BUlJBWXxQTV9IQVNIRUQpKSkgeworCSAgICAvKgorCSAgICAgKiBSZWx5aW5nIG9uIHBu
YW1lIGlzIGZ1bmRhbWVudGFsbHkgd3JvbmcuIElmIHRoZSBvcmlnaW5hbCBwbSB3YXMKKwkgICAg
ICogYSByZWZlcmVuY2UsIHRoZSByZXNvbHZlZCBwbmFtZSBtYXkgcmVmZXIgdG8gYSBoaWRkZW4g
cGFyYW1ldGVyLgorCSAgICAgKiBJbiB0aGF0IGNhc2UsIGdldHNwYXJhbSB3cm9uZ2x5IHJldHVy
bnMgdGhlIHZhbHVlIG9mIHRoZSBoaWRpbmcKKwkgICAgICogcGFyYW1ldGVyLgorCSAgICAgKi8K
IAkgICAgYXNnLT52YWx1ZS5zY2FsYXIgPSBkdXBzdHJpbmcoZ2V0c3BhcmFtKHBuYW1lKSk7CiAJ
ICAgIGFzZy0+ZmxhZ3MgPSAwOwogCX0KQEAgLTMxMTUsNDIgKzMxMjUsNiBAQCBiaW5fdHlwZXNl
dChjaGFyICpuYW1lLCBjaGFyICoqYXJndiwgTGlua0xpc3QgYXNzaWducywgT3B0aW9ucyBvcHMs
IGludCBmdW5jKQogCSAgICBjb250aW51ZTsKIAl9CiAKLQlpZiAob24gJiBQTV9OQU1FUkVGKSB7
Ci0JICAgIGlmIChhc2ctPnZhbHVlLnNjYWxhciAmJgotCQkoKHBtID0gKFBhcmFtKXBhcmFtdGFi
LT5nZXRub2RlKHBhcmFtdGFiLCBhc2ctPnZhbHVlLnNjYWxhcikpICYmCi0JCSAocG0tPm5vZGUu
ZmxhZ3MgJiBQTV9OQU1FUkVGKSkpIHsKLQkJaWYgKHBtLT5ub2RlLmZsYWdzICYgUE1fU1BFQ0lB
TCkgewotCQkgICAgendhcm5uYW0obmFtZSwgIiVzOiBpbnZhbGlkIHJlZmVyZW5jZSIsIHBtLT5u
b2RlLm5hbSk7Ci0JCSAgICByZXR1cm52YWwgPSAxOwotCQkgICAgY29udGludWU7Ci0JCX0KLQkg
ICAgfQotCSAgICBpZiAoaG4pIHsKLQkJLyogbmFtZXJlZnMgYWx3YXlzIHN0YXJ0IG92ZXIgZnJl
c2ggKi8KLQkJaWYgKCgoUGFyYW0paG4pLT5sZXZlbCA+PSBsb2NhbGxldmVsIHx8Ci0JCSAgICAo
IShvbiAmIFBNX0xPQ0FMKSAmJiAoKFBhcmFtKWhuKS0+bGV2ZWwgPCBsb2NhbGxldmVsKSkgewot
CQkgICAgUGFyYW0gb2xkcG0gPSAoUGFyYW0paG47Ci0JCSAgICBpZiAoIWFzZy0+dmFsdWUuc2Nh
bGFyICYmCi0JCQlQTV9UWVBFKG9sZHBtLT5ub2RlLmZsYWdzKSA9PSBQTV9TQ0FMQVIgJiYKLQkJ
CW9sZHBtLT51LnN0cikKLQkJCWFzZy0+dmFsdWUuc2NhbGFyID0gZHVwc3RyaW5nKG9sZHBtLT51
LnN0cik7Ci0JCSAgICAvKiBEZWZlciByZWFkLW9ubHkgZXJyb3IgdG8gdHlwZXNldF9zaW5nbGUo
KSAqLwotCQkgICAgaWYgKCEoaG4tPmZsYWdzICYgUE1fUkVBRE9OTFkpKSB7Ci0JCQl1bnNldHBh
cmFtX3BtKG9sZHBtLCAwLCAxKTsKLQkJCWhuID0gTlVMTDsKLQkJICAgIH0KLQkJfQotCQkvKiBQ
YXNzaW5nIGEgTlVMTCBwbSB0byB0eXBlc2V0X3NpbmdsZSgpIG1ha2VzIHRoZQotCQkgKiBuYW1l
cmVmIHJlYWQtb25seSBiZWZvcmUgYXNzaWdubWVudCwgd2hpY2ggYnJlYWtzCi0JCSAqICAgdHlw
ZXNldCAtcm4gcmVmPXZhcgotCQkgKiBzbyB0aGlzIGlzIHNwZWNpYWwtY2FzZWQgdG8gcGVybWl0
IHRoYXQgYWN0aW9uCi0JCSAqIGxpa2UgYXNzaWduLWF0LWNyZWF0ZSBmb3Igb3RoZXIgcGFyYW1l
dGVyIHR5cGVzLgotCQkgKi8KLQkJaWYgKGhuICYmICEoaG4tPmZsYWdzICYgUE1fUkVBRE9OTFkp
KQotCQkgICAgaG4gPSBOVUxMOwotCSAgICB9Ci0JfQotCiAJaWYgKCF0eXBlc2V0X3NpbmdsZShu
YW1lLCBhc2ctPm5hbWUsIChQYXJhbSlobiwKIAkJCSAgICBmdW5jLCBvbiwgb2ZmLCByb2ZmLCBh
c2csIE5VTEwsCiAJCQkgICAgb3BzLCAwKSkKZGlmZiAtLWdpdCBhL1NyYy9wYXJhbXMuYyBiL1Ny
Yy9wYXJhbXMuYwppbmRleCA3MTZkZDY2YzMuLjFhNDYzOGI2OSAxMDA2NDQKLS0tIGEvU3JjL3Bh
cmFtcy5jCisrKyBiL1NyYy9wYXJhbXMuYwpAQCAtMzE0Myw2ICszMTQzLDcgQEAgYXNzaWduc3Bh
cmFtKGNoYXIgKnMsIGNoYXIgKnZhbCwgaW50IGZsYWdzKQogICAgIHNpemVfdCBsdmFyOwogICAg
IG1udW1iZXIgbGhzLCByaHM7CiAgICAgaW50IHNzdGFydCwgY3JlYXRlZCA9IDA7CisgICAgaW50
IHNjYW5mbGFncyA9IGZsYWdzICYgQVNTUE1fTk9OQU1FUkVGID8gU0NBTlBNX05PTkFNRVJFRiA6
IDA7CiAKICAgICBpZiAoIWlzaWRlbnQocykpIHsKIAl6ZXJyKCJub3QgYW4gaWRlbnRpZmllcjog
JXMiLCBzKTsKQEAgLTMxNTMsNyArMzE1NCw3IEBAIGFzc2lnbnNwYXJhbShjaGFyICpzLCBjaGFy
ICp2YWwsIGludCBmbGFncykKICAgICBxdWV1ZV9zaWduYWxzKCk7CiAgICAgaWYgKChzcyA9IHN0
cmNocihzLCAnWycpKSkgewogCSpzcyA9ICdcMCc7Ci0JaWYgKCEodiA9IGdldHZhbHVlKCZ2YnVm
LCAmcywgMSkpKSB7CisJaWYgKCEodiA9IGZldGNodmFsdWUoJnZidWYsICZzLCAxLCBzY2FuZmxh
Z3MpKSkgewogCSAgICBjcmVhdGVwYXJhbSh0LCBQTV9BUlJBWSk7CiAJICAgIGNyZWF0ZWQgPSAx
OwogCX0gZWxzZSB7CkBAIC0zMTc0LDcgKzMxNzUsNyBAQCBhc3NpZ25zcGFyYW0oY2hhciAqcywg
Y2hhciAqdmFsLCBpbnQgZmxhZ3MpCiAJKnNzID0gJ1snOwogCXYgPSBOVUxMOwogICAgIH0gZWxz
ZSB7Ci0JaWYgKCEodiA9IGdldHZhbHVlKCZ2YnVmLCAmcywgMSkpKSB7CisJaWYgKCEodiA9IGZl
dGNodmFsdWUoJnZidWYsICZzLCAxLCBzY2FuZmxhZ3MpKSkgewogCSAgICBjcmVhdGVwYXJhbSh0
LCBQTV9TQ0FMQVIpOwogCSAgICBjcmVhdGVkID0gMTsKIAl9IGVsc2UgaWYgKCgoKHYtPnBtLT5u
b2RlLmZsYWdzICYgUE1fQVJSQVkpICYmCkBAIC0zMTkyLDcgKzMxOTMsNyBAQCBhc3NpZ25zcGFy
YW0oY2hhciAqcywgY2hhciAqdmFsLCBpbnQgZmxhZ3MpCiAJICAgIHYgPSBOVUxMOwogCX0KICAg
ICB9Ci0gICAgaWYgKCF2ICYmICEodiA9IGdldHZhbHVlKCZ2YnVmLCAmdCwgMSkpKSB7CisgICAg
aWYgKCF2ICYmICEodiA9IGZldGNodmFsdWUoJnZidWYsICZ0LCAxLCBzY2FuZmxhZ3MpKSkgewog
CXpzZnJlZSh2YWwpOwogCXVucXVldWVfc2lnbmFscygpOwogCS8qIGVycmZsYWcgfD0gRVJSRkxB
R19FUlJPUjsgKi8KQEAgLTMzMDUsNiArMzMwNiw3IEBAIGFzc2lnbmFwYXJhbShjaGFyICpzLCBj
aGFyICoqdmFsLCBpbnQgZmxhZ3MpCiAgICAgY2hhciAqc3M7CiAgICAgaW50IGNyZWF0ZWQgPSAw
OwogICAgIGludCBtYXlfd2Fybl9hYm91dF9uZXN0ZWRfdmFycyA9IDE7CisgICAgaW50IHNjYW5m
bGFncyA9IGZsYWdzICYgQVNTUE1fTk9OQU1FUkVGID8gU0NBTlBNX05PTkFNRVJFRiA6IDA7CiAK
ICAgICBpZiAoIWlzaWRlbnQocykpIHsKIAl6ZXJyKCJub3QgYW4gaWRlbnRpZmllcjogJXMiLCBz
KTsKQEAgLTMzMTUsNyArMzMxNyw3IEBAIGFzc2lnbmFwYXJhbShjaGFyICpzLCBjaGFyICoqdmFs
LCBpbnQgZmxhZ3MpCiAgICAgcXVldWVfc2lnbmFscygpOwogICAgIGlmICgoc3MgPSBzdHJjaHIo
cywgJ1snKSkpIHsKIAkqc3MgPSAnXDAnOwotCWlmICghKHYgPSBnZXR2YWx1ZSgmdmJ1ZiwgJnMs
IDEpKSkgeworCWlmICghKHYgPSBmZXRjaHZhbHVlKCZ2YnVmLCAmcywgMSwgc2NhbmZsYWdzKSkp
IHsKIAkgICAgY3JlYXRlcGFyYW0odCwgUE1fQVJSQVkpOwogCSAgICBjcmVhdGVkID0gMTsKIAl9
IGVsc2UgewpAQCAtMzMzMiw3ICszMzM0LDcgQEAgYXNzaWduYXBhcmFtKGNoYXIgKnMsIGNoYXIg
Kip2YWwsIGludCBmbGFncykKIAl9CiAJdiA9IE5VTEw7CiAgICAgfSBlbHNlIHsKLQlpZiAoISh2
ID0gZmV0Y2h2YWx1ZSgmdmJ1ZiwgJnMsIDEsIFNDQU5QTV9BU1NJR05JTkcpKSkgeworCWlmICgh
KHYgPSBmZXRjaHZhbHVlKCZ2YnVmLCAmcywgMSwgc2NhbmZsYWdzIHwgU0NBTlBNX0FTU0lHTklO
RykpKSB7CiAJICAgIGNyZWF0ZXBhcmFtKHQsIFBNX0FSUkFZKTsKIAkgICAgY3JlYXRlZCA9IDE7
CiAJfSBlbHNlIGlmICh2LT5wbS0+bm9kZS5mbGFncyAmIFBNX05BTUVSRUYpIHsKQEAgLTMzNjMs
NyArMzM2NSw3IEBAIGFzc2lnbmFwYXJhbShjaGFyICpzLCBjaGFyICoqdmFsLCBpbnQgZmxhZ3Mp
CiAJfQogICAgIH0KICAgICBpZiAoIXYpCi0JaWYgKCEodiA9IGZldGNodmFsdWUoJnZidWYsICZ0
LCAxLCBTQ0FOUE1fQVNTSUdOSU5HKSkpIHsKKwlpZiAoISh2ID0gZmV0Y2h2YWx1ZSgmdmJ1Ziwg
JnQsIDEsIHNjYW5mbGFncyB8IFNDQU5QTV9BU1NJR05JTkcpKSkgewogCSAgICB1bnF1ZXVlX3Np
Z25hbHMoKTsKIAkgICAgZnJlZWFycmF5KHZhbCk7CiAJICAgIC8qIGVycmZsYWcgfD0gRVJSRkxB
R19FUlJPUjsgKi8KZGlmZiAtLWdpdCBhL1NyYy96c2guaCBiL1NyYy96c2guaAppbmRleCA1YTk4
OWZmNDcuLmQ0NTQwM2UwYiAxMDA2NDQKLS0tIGEvU3JjL3pzaC5oCisrKyBiL1NyYy96c2guaApA
QCAtMjE0MSw3ICsyMTQxLDkgQEAgZW51bSB7CiAgICAgICogVGhpcyBpcyBub3JtYWwgZm9yIGFz
c29jaWF0aXZlIGFycmF5cyBidXQgdmFyaWFudCBiZWhhdmlvdXIgZm9yCiAgICAgICogbm9ybWFs
IGFycmF5cy4KICAgICAgKi8KLSAgICBBU1NQTV9LRVlfVkFMVUUgPSAxIDw8IDQKKyAgICBBU1NQ
TV9LRVlfVkFMVUUgPSAxIDw8IDQsCisgICAgLyogTmFtZWQgcmVmZXJlbmNlcyBhcmUgbm90IGZv
bGxvd2VkICovCisgICAgQVNTUE1fTk9OQU1FUkVGID0gMSA8PCA1CiB9OwogCiAvKiBub2RlIGZv
ciBuYW1lZCBkaXJlY3RvcnkgaGFzaCB0YWJsZSAobmFtZWRkaXJ0YWIpICovCmRpZmYgLS1naXQg
YS9UZXN0L0IwMnR5cGVzZXQuenRzdCBiL1Rlc3QvQjAydHlwZXNldC56dHN0CmluZGV4IDhiNjZj
MTg0Zi4uZDZlOWM5ZDc1IDEwMDY0NAotLS0gYS9UZXN0L0IwMnR5cGVzZXQuenRzdAorKysgYi9U
ZXN0L0IwMnR5cGVzZXQuenRzdApAQCAtMTIxMiw2ICsxMjEyLDk3IEBAIEY6VGhpcyBpcyBhIGJ1
ZywgdGhlIG5vbiAtaCB2YXJpYWJsZSBzaG91bGQgbm90IGhpZGUgdGhlIGF1dG9sb2FkIHZhcmlh
YmxlCiA+ej0KID52PQogCisgem1vZGxvYWQgLXUgenNoL3JhbmRvbQorICgpIHsgeyB0eXBlc2V0
IC1nIC1pIFNSQU5ET00gMj4mMSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorICgp
IHsgeyB0eXBlc2V0IC1nIC1hIFNSQU5ET00gMj4mMSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJP
Uj0wIH0gfQorICgpIHsgeyB0eXBlc2V0IC1nIC1uIFNSQU5ET00gMj4mMSB9IGFsd2F5cyB7IFRS
WV9CTE9DS19FUlJPUj0wIH0gfQorIGVjaG8gej0keyhNKSR7KGYpJHsgem1vZGxvYWQgLWFwfX06
IypTUkFORE9NKn0KKzA6R2xvYmFsIHBhcmFtZXRlciBjYW4ndCBjaGFuZ2UgdHlwZSBvZiBhdXRv
bG9hZGVkIHBhcmFtZXRlcgorPihhbm9uKTp0eXBlc2V0OiBTUkFORE9NOiBjYW4ndCBjaGFuZ2Ug
dHlwZSBvZiBhdXRvbG9hZGVkIHBhcmFtZXRlcgorPihhbm9uKTp0eXBlc2V0OiBTUkFORE9NOiBj
YW4ndCBjaGFuZ2UgdHlwZSBvZiBhdXRvbG9hZGVkIHBhcmFtZXRlcgorPihhbm9uKTp0eXBlc2V0
OiBTUkFORE9NOiBjYW4ndCBjaGFuZ2UgdHlwZSBvZiBhdXRvbG9hZGVkIHBhcmFtZXRlcgorPno9
U1JBTkRPTSAoenNoL3JhbmRvbSkKKworIHptb2Rsb2FkIC11IHpzaC9yYW5kb20KKyAoKSB7IHsg
dHlwZXNldCAgICBTUkFORE9NIDI+JjEgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJST1I9MCB9IH0K
KyAoKSB7IHsgdHlwZXNldCAtaSBTUkFORE9NIDI+JjEgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJS
T1I9MCB9IH0KKyAoKSB7IHsgdHlwZXNldCAtYSBTUkFORE9NIDI+JjEgfSBhbHdheXMgeyBUUllf
QkxPQ0tfRVJST1I9MCB9IH0KKyAoKSB7IHsgdHlwZXNldCAtbiBTUkFORE9NIDI+JjEgfSBhbHdh
eXMgeyBUUllfQkxPQ0tfRVJST1I9MCB9IH0KKyBlY2hvIHo9JHsoTSkkeyhmKSR7IHptb2Rsb2Fk
IC1hcH19OiMqU1JBTkRPTSp9CiswOkxvY2FsIG5vbiAtaCBwYXJhbWV0ZXIgY2FuIGhpZGUgYXV0
b2xvYWRlZCBwYXJhbWV0ZXIKKz56PVNSQU5ET00gKHpzaC9yYW5kb20pCisKKyAoKSB7IHsgdHlw
ZXNldCAtZyAraSBFVUlEIDI+JjEgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJST1I9MCB9IH0KKyAo
KSB7IHsgdHlwZXNldCAtZyAtaSBIT01FIDI+JjEgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJST1I9
MCB9IH0KKyAoKSB7IHsgdHlwZXNldCAtZyAtYSBIT01FIDI+JjEgfSBhbHdheXMgeyBUUllfQkxP
Q0tfRVJST1I9MCB9IH0KKyAoICgpIHsgeyB0eXBlc2V0IC1nIC1uIEhPTUUgMj4mMSB9IGFsd2F5
cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfSApCisgdHlwZXNldCAtcCBFVUlEIEhPTUUKKzBxOkds
b2JhbCBwYXJhbWV0ZXIgY2FuJ3QgY2hhbmdlIHR5cGUgb2Ygc3BlY2lhbCBwYXJhbWV0ZXIKKz4o
YW5vbik6dHlwZXNldDogRVVJRDogY2FuJ3QgY2hhbmdlIHR5cGUgb2YgYSBzcGVjaWFsIHBhcmFt
ZXRlcgorPihhbm9uKTp0eXBlc2V0OiBIT01FOiBjYW4ndCBjaGFuZ2UgdHlwZSBvZiBhIHNwZWNp
YWwgcGFyYW1ldGVyCis+KGFub24pOnR5cGVzZXQ6IEhPTUU6IGNhbid0IGNoYW5nZSB0eXBlIG9m
IGEgc3BlY2lhbCBwYXJhbWV0ZXIKKz4oYW5vbik6dHlwZXNldDogSE9NRTogY2FuJ3QgY2hhbmdl
IHR5cGUgb2YgYSBzcGVjaWFsIHBhcmFtZXRlcgorPnR5cGVzZXQgLWcgLWkxMCBFVUlEPSRFVUlE
Cis+ZXhwb3J0IEhPTUU9JEhPTUUKKworICgpIHsgeyB0eXBlc2V0ICtpIEVVSUQgMj4mMSB9IGFs
d2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorICgpIHsgeyB0eXBlc2V0IC1pIEhPTUUgMj4m
MSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorICgpIHsgeyB0eXBlc2V0IC1hIEhP
TUUgMj4mMSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorICgpIHsgeyB0eXBlc2V0
IC1uIEhPTUUgMj4mMSB9IGFsd2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0gfQorIHR5cGVzZXQg
LXAgRVVJRCBIT01FCiswcTpMb2NhbCBub24gLWggcGFyYW1ldGVyIGNhbid0IGhpZGUgc3BlY2lh
bCBwYXJhbWV0ZXIKKz4oYW5vbik6dHlwZXNldDogRVVJRDogY2FuJ3QgY2hhbmdlIHR5cGUgb2Yg
YSBzcGVjaWFsIHBhcmFtZXRlcgorPihhbm9uKTp0eXBlc2V0OiBIT01FOiBjYW4ndCBjaGFuZ2Ug
dHlwZSBvZiBhIHNwZWNpYWwgcGFyYW1ldGVyCis+KGFub24pOnR5cGVzZXQ6IEhPTUU6IGNhbid0
IGNoYW5nZSB0eXBlIG9mIGEgc3BlY2lhbCBwYXJhbWV0ZXIKKz4oYW5vbik6dHlwZXNldDogSE9N
RTogY2FuJ3QgY2hhbmdlIHR5cGUgb2YgYSBzcGVjaWFsIHBhcmFtZXRlcgorPnR5cGVzZXQgLWcg
LWkxMCBFVUlEPSRFVUlECis+ZXhwb3J0IEhPTUU9JEhPTUUKKworICgpIHsgdHlwZXNldCAtaCAr
aSBFVUlEIDI+JjE7IHR5cGVzZXQgLXAgRVVJRCB9CisgKCkgeyB0eXBlc2V0IC1oIC1pIEhPTUUg
Mj4mMTsgdHlwZXNldCAtcCBIT01FIH0KKyAoKSB7IHR5cGVzZXQgLWggLWEgSE9NRSAyPiYxOyB0
eXBlc2V0IC1wIEhPTUUgfQorICgpIHsgdHlwZXNldCAtaCAtbiBIT01FIDI+JjE7IHR5cGVzZXQg
LXAgSE9NRSB9CisgdHlwZXNldCAtcCBFVUlEIEhPTUUKKzBxOkxvY2FsIC1oIHBhcmFtZXRlciBj
YW4gaGlkZSBzcGVjaWFsIHBhcmFtZXRlcgorPnR5cGVzZXQgLWggRVVJRD0nJworPnR5cGVzZXQg
LWloIEhPTUU9MAorPnR5cGVzZXQgLWFoIEhPTUU9KCAgKQorPnR5cGVzZXQgLWhuIEhPTUU9JycK
Kz50eXBlc2V0IC1nIC1pMTAgRVVJRD0kRVVJRAorPmV4cG9ydCBIT01FPSRIT01FCisKKyBjaGVj
aygpIHsKKyAgIGVjaG8gIlRlc3RpbmcgXCJsb2NhbCAkMSAkMj0kezN9PE4+XCIiCisgICB7IGxv
Y2FsICQxIC1yICQyPSR7M30xIDI+JjEgJiYgdHlwZXNldCAtcCAkMiB9IGFsd2F5cyB7IFRSWV9C
TE9DS19FUlJPUj0wIH0KKyAgIHsgbG9jYWwgICAgLXIgJDI9JHszfTIgMj4mMSAmJiB0eXBlc2V0
IC1wICQyIH0gYWx3YXlzIHsgVFJZX0JMT0NLX0VSUk9SPTAgfQorICAgeyBsb2NhbCAkMSAgICAk
Mj0kezN9MyAyPiYxICYmIHR5cGVzZXQgLXAgJDIgfSBhbHdheXMgeyBUUllfQkxPQ0tfRVJST1I9
MCB9CisgICB7IGxvY2FsICQxIC1yICQyPSR7M300IDI+JjEgJiYgdHlwZXNldCAtcCAkMiB9IGFs
d2F5cyB7IFRSWV9CTE9DS19FUlJPUj0wIH0KKyAgIHsgbG9jYWwgJDEgK3IgJDI9JHszfTUgMj4m
MSAmJiB0eXBlc2V0IC1wICQyIH0gYWx3YXlzIHsgVFJZX0JMT0NLX0VSUk9SPTAgfQorIH0KKyBj
aGVjayAiIiBzdHIgcworIGNoZWNrIC1pIGludCAxCisgY2hlY2sgLW4gcmVmIHYKKzA6Tm9uICty
IHBhcmFtZXRlciBkZWZpbml0aW9uIGNhbid0IGNoYW5nZS9yZXBsYWNlIHJlYWRvbmx5IHBhcmFt
ZXRlcgorPlRlc3RpbmcgImxvY2FsICBzdHI9czxOPiIKKz50eXBlc2V0IC1yIHN0cj1zMQorPmNo
ZWNrOjM6IHJlYWQtb25seSB2YXJpYWJsZTogc3RyCis+Y2hlY2s6NDogcmVhZC1vbmx5IHZhcmlh
YmxlOiBzdHIKKz5jaGVjazo1OiByZWFkLW9ubHkgdmFyaWFibGU6IHN0cgorPnR5cGVzZXQgc3Ry
PXM1Cis+VGVzdGluZyAibG9jYWwgLWkgaW50PTE8Tj4iCis+dHlwZXNldCAtaXIgaW50PTExCis+
Y2hlY2s6MzogcmVhZC1vbmx5IHZhcmlhYmxlOiBpbnQKKz5jaGVjazo0OiByZWFkLW9ubHkgdmFy
aWFibGU6IGludAorPmNoZWNrOjU6IHJlYWQtb25seSB2YXJpYWJsZTogaW50Cis+dHlwZXNldCAt
aSBpbnQ9MTUKKz5UZXN0aW5nICJsb2NhbCAtbiByZWY9djxOPiIKKz50eXBlc2V0IC1ybiByZWY9
djEKKz50eXBlc2V0IC1ybiByZWY9djEKK0Y6InR5cGVzZXQgLXIgcmVmPXYyIiBzdWNjZWVkcyBi
ZWNhdXNlIGl0IGRlcmVmZXJlbmNlcyAicmVmIiBhbmQgYXNzaWducyAidjEiIHdpdGggInYyIgor
PmNoZWNrOmxvY2FsOjQ6IHJlZjogcmVhZC1vbmx5IHJlZmVyZW5jZQorPmNoZWNrOmxvY2FsOjU6
IHJlZjogcmVhZC1vbmx5IHJlZmVyZW5jZQorPnR5cGVzZXQgLW4gcmVmPXY1CisKICAoKSB7CiAg
ICB0eXBlc2V0IC1GIGYxPW5hbiBmMj1pbmYgZjM9LWluZgogICAgdHlwZXNldCAtcCBmMSBmMiBm
MwpkaWZmIC0tZ2l0IGEvVGVzdC9LMDFuYW1lcmVmLnp0c3QgYi9UZXN0L0swMW5hbWVyZWYuenRz
dAppbmRleCAwZTFjYzllNGUuLmU4NTY0MGU2ZSAxMDA2NDQKLS0tIGEvVGVzdC9LMDFuYW1lcmVm
Lnp0c3QKKysrIGIvVGVzdC9LMDFuYW1lcmVmLnp0c3QKQEAgLTExMDcsMzIgKzExMDcsMzAgQEAg
RjpDaGVja2luZyBmb3IgYSBidWcgaW4gem1vZGxvYWQgdGhhdCBhZmZlY3RzIGxhdGVyIHRlc3Rz
CiAgdW5zZXQgLW4gcmVmCiAgdHlwZXNldCAtcm4gcmVmPVJPCiAgdHlwZXNldCAtcCByZWYKLSAo
dHlwZXNldCAtbiByZWY9UlcpCisgKHR5cGVzZXQgLW4gcmVmPVJXIDI+JjEgJiYgdHlwZXNldCAt
cCByZWYpCiAgcHJpbnQgc3RhdHVzOiAkPyBleHBlY3RlZDogMQogIHR5cGVzZXQgK3IgLW4gcmVm
CiAgdHlwZXNldCAtcCByZWYKICB0eXBlc2V0IC1yICtuIHJlZgogIHR5cGVzZXQgLXAgcmVmCi0g
KHR5cGVzZXQgLXJuIHJlZikKLSBwcmludCBzdGF0dXM6ICQ/IGV4cGVjdGVkOiAxCi0gdHlwZXNl
dCArciAtbiByZWY9UlcJIyBBc3NpZ25tZW50IG9jY3VycyBhZnRlciB0eXBlIGNoYW5nZSwKLSB0
eXBlc2V0IC1wIHJlZiBSTwkjIHNvIFJPPVJXIGhlcmUuICBQb3RlbnRpYWxseSBjb25mdXNpbmcu
Ci0gdHlwZXNldCAtciAtbiByZWY9UlgJIyBObyB0eXBlIGNoYW5nZSwgc28gcmVmZXJlbnQgY2hh
bmdlcyAuLi4KLSB0eXBlc2V0IC1wIHJlZiBSTwkjIC4uLiBhbmQgcHJldmlvdXMgcmVmZXJlcmVu
dCBkb2VzIG5vdC4KLSB0eXBlc2V0ICtybiByZWY9UlcJIyBIZXJlIHJlZj1SVywgYWdhaW4gdHlw
ZSBjaGFuZ2VkIGZpcnN0LgorICh0eXBlc2V0IC1ybiByZWYgMj4mMSAmJiB0eXBlc2V0IC1wIHJl
ZikKKyBwcmludCBzdGF0dXM6ICQ/IGV4cGVjdGVkOiAwCisgdHlwZXNldCArciAtbiByZWY9UlcK
KyB0eXBlc2V0IC1wIHJlZgorIHR5cGVzZXQgLXIgLW4gcmVmPVJYCisgdHlwZXNldCAtcCByZWYK
KyB0eXBlc2V0ICtybiByZWY9UlcKICB0eXBlc2V0IC1wIHJlZgogMDphZGQgYW5kIHJlbW92ZSBy
ZWFkb25seSBhdHRyaWJ1dGUgd2l0aCByZWZlcmVuY2VzCiA+dHlwZXNldCAtcm4gcmVmPVJPCi0q
Pyo6IHJlZjogcmVhZC1vbmx5IHJlZmVyZW5jZQorPihldmFsKTp0eXBlc2V0OjQ6IHJlZjogcmVh
ZC1vbmx5IHJlZmVyZW5jZQogPnN0YXR1czogMSBleHBlY3RlZDogMQogPnR5cGVzZXQgLW4gcmVm
PVJPCiA+dHlwZXNldCAtciByZWY9Uk8KLSo/KjogcmVmOiByZWFkLW9ubHkgdmFyaWFibGUKLT5z
dGF0dXM6IDEgZXhwZWN0ZWQ6IDEKLT50eXBlc2V0IC1uIHJlZj1STwotPnR5cGVzZXQgLWcgUk89
UlcKKz50eXBlc2V0IC1ybiByZWY9Uk8KKz5zdGF0dXM6IDAgZXhwZWN0ZWQ6IDAKKz50eXBlc2V0
IC1uIHJlZj1SVwogPnR5cGVzZXQgLXJuIHJlZj1SWAotPnR5cGVzZXQgLWcgUk89UlcKID50eXBl
c2V0IHJlZj1SVwogCiAgKCkgewpkaWZmIC0tZ2l0IGEvVGVzdC9WMTBwcml2YXRlLnp0c3QgYi9U
ZXN0L1YxMHByaXZhdGUuenRzdAppbmRleCAyNTY4NDRiZTEuLmYzYWQ3YjZiOSAxMDA2NDQKLS0t
IGEvVGVzdC9WMTBwcml2YXRlLnp0c3QKKysrIGIvVGVzdC9WMTBwcml2YXRlLnp0c3QKQEAgLTMw
NCwzOSArMzA0LDQ0IEBAIEY6ZnV0dXJlIHJldmlzaW9uIHdpbGwgY3JlYXRlIGEgZ2xvYmFsIHdp
dGggdGhpcyBhc3NpZ25tZW50CiAgdHlwZXNldCB0b3A9VE9QCiAgKCkgewogICBsb2NhbCAtUCAt
biB0ZXN0PXRvcAotICBwcmludCAkdG9wCisgIHByaW50ICR0ZXN0CisgIHRlc3Q9dG9wCisgIHBy
aW50ICR0ZXN0CiAgICgpIHsgcHJpbnQgVVA6ICR0ZXN0IH0KICB9CisgcHJpbnQgJHRvcAogMDpu
YW1lcmVmIGNhbiBiZSBkZWNsYXJlZCBwcml2YXRlCiA+VE9QCis+dG9wCiA+VVA6Cis+dG9wCiAK
ICAoKSB7CiAgICB0eXBlc2V0IC1hIGFyeQogICAgbG9jYWwgLVAgLW4gcmVmPWFyeQogICAgewot
ICAgICgpewotICAgICByZWY9WFgJIyBTaG91bGQgYmUgYW4gZXJyb3IKLSAgICAgdHlwZXNldCAt
cCBhcnkgcmVmCisgICAgKCkgeworICAgICByZWY9WFggMj4mMQkjIFNob3VsZCBiZSBhbiBlcnJv
cgorICAgICBlY2hvIE5PVCBSRUFDSEVECiAgICAgfQogICAgfSBhbHdheXMgewogICAgIFRSWV9C
TE9DS19FUlJPUj0wCiAgICAgdHlwZXNldCAtcCBhcnkgcmVmCiAgICB9CiAgfQotIHR5cGVzZXQg
LXAgYXJ5CisgdHlwZXNldCAtcCBhcnkgMj4mMQogMTphc3NpZ25tZW50IHRvIHByaXZhdGUgbmFt
ZXJlZiBpbiB3cm9uZyBzY29wZSwgcGFydCAxCis+KGFub24pOjE6IHJlZjogY2FuJ3QgbW9kaWZ5
IHJlYWQtb25seSBwYXJhbWV0ZXIKID50eXBlc2V0IC1hIGFyeQogPnR5cGVzZXQgLWhuIHJlZj1h
cnkKLSo/KnJlZjogY2FuJ3QgbW9kaWZ5IHJlYWQtb25seSBwYXJhbWV0ZXIKLSo/Km5vIHN1Y2gg
dmFyaWFibGU6IGFyeQorPihldmFsKTp0eXBlc2V0OjE0OiBubyBzdWNoIHZhcmlhYmxlOiBhcnkK
IAogICgpIHsKICAgIHR5cGVzZXQgLWEgYXJ5CiAgICBsb2NhbCAtUCAtbiByZWY9YXJ5CiAgICB7
CiAgICAgKCl7Ci0gICAgIHR5cGVzZXQgcmVmPVhYCSMgU2hvdWxkIGNyZWF0ZSBhIGxvY2FsCisg
ICAgIHR5cGVzZXQgcmVmPVhYIDI+JjEJIyBTaG91bGQgY3JlYXRlIGEgbG9jYWwKICAgICAgdHlw
ZXNldCAtcCBhcnkgcmVmCiAgICAgfQogICAgfSBhbHdheXMgewpAQCAtMzQ0LDUzICszNDksODkg
QEAgRjpmdXR1cmUgcmV2aXNpb24gd2lsbCBjcmVhdGUgYSBnbG9iYWwgd2l0aCB0aGlzIGFzc2ln
bm1lbnQKICAgICB0eXBlc2V0IC1wIGFyeSByZWYKICAgIH0KICB9Ci0gdHlwZXNldCAtcCBhcnkK
KyB0eXBlc2V0IC1wIGFyeSAyPiYxCiAxOmFzc2lnbm1lbnQgdG8gcHJpdmF0ZSBuYW1lcmVmIGlu
IHdyb25nIHNjb3BlLCBwYXJ0IDIKID50eXBlc2V0IC1nIC1hIGFyeQogPnR5cGVzZXQgcmVmPVhY
CiA+dHlwZXNldCAtYSBhcnkKID50eXBlc2V0IC1obiByZWY9YXJ5Ci0qPypubyBzdWNoIHZhcmlh
YmxlOiBhcnkKKz4oZXZhbCk6dHlwZXNldDoxNDogbm8gc3VjaCB2YXJpYWJsZTogYXJ5CiAKICAo
KSB7CisgICB0eXBlc2V0IHZhbD1MT0NBTAogICAgdHlwZXNldCAtbiBwdHIxPXB0cjIKICAgIHBy
aXZhdGUgLW4gcHRyMgkjIFRZUEVTRVRfVE9fVU5TRVQgbWFrZXMgdGhpcyBub3QgYSAicGxhY2Vo
b2xkZXIiCiAgICB0eXBlc2V0IC1wIHB0cjEgcHRyMgotICAgdHlwZXNldCB2YWw9TE9DQUwKICAg
ICgpIHsKLSAgICAgcHRyMT12YWwJCSMgVGVzdCBkaWVzIGhlcmUgYXMgcHRyMiBpcyBwcml2YXRl
IGFuZCB1bnNldAotICAgICB0eXBlc2V0IC1uCi0gICAgIHByaW50ZiAiJXM9JXNcbiIgcHRyMSAi
JHB0cjEiIHB0cjIgIiRwdHIyIgorICAgICBwdHIxPXZhbCAyPiYxCQkjIFRlc3QgZGllcyBoZXJl
IGFzIHB0cjIgaXMgcHJpdmF0ZQorICAgICBlY2hvIE5PVCBSRUFDSEVECiAgICB9Ci0gICB0eXBl
c2V0IC1wIHB0cjEgcHRyMgorICAgZWNobyBOT1QgUkVBQ0hFRAogIH0KLSB0eXBlc2V0IC1wIHB0
cjIKKyBlY2hvIE5PVCBSRUFDSEVECiAxOnVwLXJlZmVyZW5jZSBmb3IgcHJpdmF0ZSBuYW1lcmVm
cywgZW5kIHVuc2V0IGFuZCBub3QgaW4gc2NvcGUKIEY6U2VlIEswMW5hbWVyZWYuenRzdCB1cC1y
ZWZlcmVuY2UgcGFydCA1CiBGOkhlcmUgcHRyMSBmaW5kcyBwcml2YXRlIHB0cjIgYnkgc2NvcGUg
bWlzbWF0Y2gKID50eXBlc2V0IC1uIHB0cjE9cHRyMgogPnR5cGVzZXQgLWhuIHB0cjIKLT8oYW5v
bik6MTogcmVhZC1vbmx5IHZhcmlhYmxlOiBwdHIyCis+KGFub24pOjE6IHJlYWQtb25seSB2YXJp
YWJsZTogcHRyMgogCiAgKCkgeworICAgdHlwZXNldCB2YWw9TE9DQUwKICAgIHR5cGVzZXQgLW4g
cHRyMT1wdHIyCiAgICBwcml2YXRlIC1uIHB0cjI9CSMgQXNzaWdubWVudCBtYWtlcyB0aGlzIGEg
cGxhY2Vob2xkZXIsIG5vdCB1bnNldAogICAgdHlwZXNldCAtcCBwdHIxIHB0cjIKKyAgICgpIHsK
KyAgICAgcHRyMT12YWwgMj4mMQkJIyBUZXN0IGRpZXMgaGVyZSBhcyBwdHIyIGlzIHByaXZhdGUK
KyAgICAgZWNobyBOT1QgUkVBQ0hFRAorICAgfQorICAgZWNobyBOT1QgUkVBQ0hFRAorIH0KKyBl
Y2hvIE5PVCBSRUFDSEVECisxOnVwLXJlZmVyZW5jZSBmb3IgcHJpdmF0ZSBuYW1lcmVmcywgZW5k
IGlzIHBsYWNlaG9sZGVyIGFuZCBub3QgaW4gc2NvcGUKK0Y6U2VlIEswMW5hbWVyZWYuenRzdCB1
cC1yZWZlcmVuY2UgcGFydCA1CitGOkhlcmUgcHRyMSBmaW5kcyBwcml2YXRlIHB0cjIgYnkgc2Nv
cGUgbWlzbWF0Y2gKKz50eXBlc2V0IC1uIHB0cjE9cHRyMgorPnR5cGVzZXQgLWhuIHB0cjI9JycK
Kz4oYW5vbik6MTogcHRyMTogY2FuJ3QgbW9kaWZ5IHJlYWQtb25seSBwYXJhbWV0ZXIKKworICgp
IHsKICAgIHR5cGVzZXQgdmFsPUxPQ0FMCisgICB0eXBlc2V0IC1uIHB0cjE9cHRyMgorICAgcHJp
dmF0ZSAtbiBwdHIyPXZhbAkjIEFzc2lnbm1lbnQgbWFrZXMgdGhpcyBhIHJlZmVyZW5jZSB0byBl
eGlzdGluZyB2YWwKKyAgIHR5cGVzZXQgLXAgcHRyMSBwdHIyCiAgICAoKSB7Ci0gICAgIHB0cjE9
dmFsCQkjIFRlc3QgZGllcyBoZXJlIGFzIHB0cjIgaXMgcHJpdmF0ZSBhbmQgdW5pbml0aWFsaXpl
ZAotICAgICB0eXBlc2V0IC1uCi0gICAgIHByaW50ZiAiJXM9JXNcbiIgcHRyMSAiJHB0cjEiIHB0
cjIgIiRwdHIyIgorICAgICBwdHIxPXZhbCAyPiYxCQkjIFRlc3QgZGllcyBoZXJlIGFzIHB0cjIg
aXMgcHJpdmF0ZQorICAgICBlY2hvIE5PVCBSRUFDSEVECiAgICB9CisgICBlY2hvIE5PVCBSRUFD
SEVECisgfQorIGVjaG8gTk9UIFJFQUNIRUQKKzE6dXAtcmVmZXJlbmNlIGZvciBwcml2YXRlIG5h
bWVyZWZzLCBlbmQgcmVmZXJzIGV4aXN0aW5nIHZhcmlhYmxlIGFuZCBub3QgaW4gc2NvcGUKK0Y6
U2VlIEswMW5hbWVyZWYuenRzdCB1cC1yZWZlcmVuY2UgcGFydCA1CitGOkhlcmUgcHRyMSBmaW5k
cyBwcml2YXRlIHB0cjIgYnkgc2NvcGUgbWlzbWF0Y2gKKz50eXBlc2V0IC1uIHB0cjE9cHRyMgor
PnR5cGVzZXQgLWhuIHB0cjI9dmFsCis+KGFub24pOjE6IHB0cjE6IGNhbid0IG1vZGlmeSByZWFk
LW9ubHkgcGFyYW1ldGVyCisKKyAoKSB7CisgICB0eXBlc2V0IHZhbD1MT0NBTAorICAgdHlwZXNl
dCAtbiBwdHIxPXB0cjIKKyAgIHByaXZhdGUgLW4gcHRyMj1mb28JIyBBc3NpZ25tZW50IG1ha2Vz
IHRoaXMgYSByZWZlcmVuY2UgdG8gbm90LXlldC1kZWZpbmVkIGZvbwogICAgdHlwZXNldCAtcCBw
dHIxIHB0cjIKKyAgICgpIHsKKyAgICAgcHRyMT12YWwgMj4mMQkJIyBUZXN0IGRpZXMgaGVyZSBh
cyBwdHIyIGlzIHByaXZhdGUKKyAgICAgZWNobyBOT1QgUkVBQ0hFRAorICAgfQorICAgZWNobyBO
T1QgUkVBQ0hFRAogIH0KLSB0eXBlc2V0IC1wIHB0cjIKLTE6dXAtcmVmZXJlbmNlIGZvciBwcml2
YXRlIG5hbWVyZWZzLCBlbmQgbm90IGluIHNjb3BlCisgZWNobyBOT1QgUkVBQ0hFRAorMTp1cC1y
ZWZlcmVuY2UgZm9yIHByaXZhdGUgbmFtZXJlZnMsIGVuZCByZWZlcnMgbm90LXlldC1kZWZpbmVk
IHZhcmlhYmxlIGFuZCBub3QgaW4gc2NvcGUKIEY6U2VlIEswMW5hbWVyZWYuenRzdCB1cC1yZWZl
cmVuY2UgcGFydCA1CiBGOkhlcmUgcHRyMSBmaW5kcyBwcml2YXRlIHB0cjIgYnkgc2NvcGUgbWlz
bWF0Y2gKID50eXBlc2V0IC1uIHB0cjE9cHRyMgotPnR5cGVzZXQgLWhuIHB0cjI9JycKLT8oYW5v
bik6MTogcHRyMTogY2FuJ3QgbW9kaWZ5IHJlYWQtb25seSBwYXJhbWV0ZXIKKz50eXBlc2V0IC1o
biBwdHIyPWZvbworPihhbm9uKToxOiBwdHIxOiBjYW4ndCBtb2RpZnkgcmVhZC1vbmx5IHBhcmFt
ZXRlcgogCiAgdHlwZXNldCBwdHIyCiAgKCkgewpAQCAtNDAxLDcgKzQ0Miw3IEBAIEY6SGVyZSBw
dHIxIGZpbmRzIHByaXZhdGUgcHRyMiBieSBzY29wZSBtaXNtYXRjaAogICAgKCkgewogICAgICBw
dHIxPXZhbAogICAgICB0eXBlc2V0IC1uCi0gICAgIHByaW50ZiAiJXM9JXNcbiIgcHRyMSAiJHB0
cjEiIHB0cjIgIiRwdHIyIgorICAgICBwcmludGYgInByaW50OiVzPSVzXG4iIHB0cjEgIiRwdHIx
IiBwdHIyICIkcHRyMiIKICAgIH0KICAgIHR5cGVzZXQgLXAgcHRyMSBwdHIyCiAgfQpAQCAtNDEz
LDI0ICs0NTQsMzggQEAgRjpIZXJlIHB0cjEgcG9pbnRzIHRvIGdsb2JhbCBwdHIyIHNvIGFzc2ln
bm1lbnQgc3VjY2VlZHMKID50eXBlc2V0IC1obiBwdHIyCiA+cHRyMT1wdHIyCiA+cHRyMj12YWwK
LT5wdHIxPXZhbAotPnB0cjI9dmFsCis+cHJpbnQ6cHRyMT12YWwKKz5wcmludDpwdHIyPXZhbAog
PnR5cGVzZXQgLW4gcHRyMT1wdHIyCiA+dHlwZXNldCAtaG4gcHRyMgogPnR5cGVzZXQgcHRyMj12
YWwKIAorICgpIHsKKyAgIHNldG9wdCBsb2NhbG9wdGlvbnMgZXJycmV0dXJuCisgICBwcml2YXRl
IC1uIHB0cjI9dmFsCisgICB0eXBlc2V0IC1uIHB0cjE9cHRyMiAyPiYxCisgICBwdHIxPWZvbwor
ICAgdHlwZXNldCAtcCBwdHIxIHB0cjIgdmFsCisgfQorIHVuc2V0IHZhbAorMDp1cC1yZWZlcmVu
Y2UgZm9yIHByaXZhdGUgbmFtZXJlZnMsIGVuZCBpcyBzZXQgYW5kIGluIHNjb3BlIGJ1dCBwcml2
YXRlCis+dHlwZXNldCAtbiBwdHIxPXB0cjIKKz50eXBlc2V0IC1obiBwdHIyPXZhbAorPnR5cGVz
ZXQgLWcgdmFsPWZvbworCiAgKCkgewogICAgc2V0b3B0IGxvY2Fsb3B0aW9ucyBlcnJyZXR1cm4K
ICAgIHByaXZhdGUgLW4gcHRyMgotICAgdHlwZXNldCAtbiBwdHIxPXB0cjIKLSAgIGVjaG8gTk9U
IFJFQUNIRUQKKyAgIHR5cGVzZXQgLW4gcHRyMT1wdHIyIDI+JjEKKyAgIHB0cjE9dmFsCisgICBw
dHIxPWZvbworICAgdHlwZXNldCAtcCBwdHIxIHB0cjIgdmFsCiAgfQotIHR5cGVzZXQgLXAgcHRy
MSBwdHIyCi0xOnVwLXJlZmVyZW5jZSBmb3IgcHJpdmF0ZSBuYW1lcmVmcywgZW5kIGlzIGluIHNj
b3BlIGJ1dCBwcml2YXRlCi1GOlNob3VsZCB3ZSBhbGxvdyAicHVibGljIiBuYW1lcmVmcyB0byBw
cml2YXRlIHBhcmFtZXRlcnM/Ci0qPypwdHIyOiBpbnZhbGlkIHJlZmVyZW5jZQotKj8qbm8gc3Vj
aCB2YXJpYWJsZTogcHRyMQotKj8qbm8gc3VjaCB2YXJpYWJsZTogcHRyMgorIHVuc2V0IHZhbAor
MDp1cC1yZWZlcmVuY2UgZm9yIHByaXZhdGUgbmFtZXJlZnMsIGVuZCBpcyB1bnNldCBhbmQgaW4g
c2NvcGUgYnV0IHByaXZhdGUKKz50eXBlc2V0IC1uIHB0cjE9cHRyMgorPnR5cGVzZXQgLWhuIHB0
cjI9dmFsCis+dHlwZXNldCAtZyB2YWw9Zm9vCiAKICAoKSB7CiAgICB0eXBlc2V0IHB0cjI9Zm9v
CkBAIC00MzgsMTMgKzQ5MywxMyBAQCBGOlNob3VsZCB3ZSBhbGxvdyAicHVibGljIiBuYW1lcmVm
cyB0byBwcml2YXRlIHBhcmFtZXRlcnM/CiAgICAoKSB7CiAgICAgIHNldG9wdCBsb2NhbG9wdGlv
bnMgZXJycmV0dXJuCiAgICAgIHByaXZhdGUgLW4gcHRyMgotICAgICB0eXBlc2V0IC1uIHB0cjE9
cHRyMgotICAgICBlY2hvIE5PVCBSRUFDSEVECisgICAgIHR5cGVzZXQgLW4gcHRyMT1wdHIyIDI+
JjEKKyAgICAgdHlwZXNldCAtcCBwdHIxIHB0cjIKICAgIH0KICB9Ci0xOnJlZ3Jlc3Npb24gdGVz
dCBmb3IgaW52YWxpZCByZWZlcmVuY2UgZGV0ZWN0aW9uCi1GOlNob3VsZCB3ZSBhbGxvdyAicHVi
bGljIiBuYW1lcmVmcyB0byBwcml2YXRlIHBhcmFtZXRlcnM/Ci0qPypwdHIyOiBpbnZhbGlkIHJl
ZmVyZW5jZQorMDpyZWdyZXNzaW9uIHRlc3QgZm9yIGludmFsaWQgcmVmZXJlbmNlIGRldGVjdGlv
bgorPnR5cGVzZXQgLW4gcHRyMT1wdHIyCis+dHlwZXNldCAtaG4gcHRyMgogCiAgKCkgewogICAg
cHJpdmF0ZSB4PTEK
--000000000000b4cd450657a10a84--