[LyX/master] add support for aligned-overset

Udi Fogiel <[email protected]> Tue, 04 Aug 2026 16:43:16 +0000
Newsgroups gmane.editors.lyx.cvs
Message-ID <[email protected]>
Y29tbWl0IGFjYjkxMTBkNjE3ZDBjM2I2MWNhYjJlZDQ1NzIyNzMyZjExOTVhM2MKQXV0aG9yOiBV
ZGkgRm9naWVsIDx1Zm9naWVsQGx5eC5vcmc+CkRhdGU6ICAgVHVlIEF1ZyA0IDE5OjIyOjQ4IDIw
MjYgKzAzMDAKCiAgICBhZGQgc3VwcG9ydCBmb3IgYWxpZ25lZC1vdmVyc2V0CiAgICAKICAgIHNl
ZSAjMTMwNjMKLS0tCiBsaWIvY2hrY29uZmlnLmx0eCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMSArCiBsaWIvZG9jL0xhVGVYQ29uZmlnLmx5eCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICA5OCArKysrKysrCiBsaWIvZG9jL01hdGgubHl4ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8IDExMyArKysrKysrKwogbGliL2x5eDJseXgvbHl4XzJfNi5w
eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyOTMgKysrKysrKysrKysrKysrKysrKyst
CiBzcmMvQnVmZmVyUGFyYW1zLmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MyArCiBzcmMvTGFUZVhGZWF0dXJlcy5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgNSArCiBzcmMvbWF0aGVkL0luc2V0TWF0aEdyaWQuY3BwICAgICAgICAgICAgICAgICAgICAg
ICB8ICA5NiArKysrKystCiBzcmMvbWF0aGVkL0luc2V0TWF0aEdyaWQuaCAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgNSArCiBzcmMvbWF0aGVkL0luc2V0TWF0aEh1bGwuY3BwICAgICAgICAg
ICAgICAgICAgICAgICB8ICAxNSArKwogc3JjL21hdGhlZC9JbnNldE1hdGhIdWxsLmggICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL21hdGhlZC9JbnNldE1hdGhTcGxpdC5jcHAg
ICAgICAgICAgICAgICAgICAgICAgfCAgMTAgKwogc3JjL21hdGhlZC9JbnNldE1hdGhTcGxpdC5o
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL21hdGhlZC9NYXRoUGFyc2VyLmNw
cCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKy0KIHNyYy90ZXgybHl4L1ByZWFtYmxl
LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICstCiBzcmMvdGV4Mmx5eC90ZXN0
L0NKSy5seXgubHl4ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArLQogc3JjL3RleDJseXgv
dGVzdC9DSkt1dGY4Lmx5eC5seXggICAgICAgICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy90ZXgy
bHl4L3Rlc3QvRHVtbXlEb2N1bWVudC5seXgubHl4ICAgICAgICAgICAgIHwgICAzICstCiBzcmMv
dGV4Mmx5eC90ZXN0L0R1bW15fkRvY3VtZW50Lmx5eC5seXggICAgICAgICAgICB8ICAgMyArLQog
c3JjL3RleDJseXgvdGVzdC9YZVRlWC1wb2x5Z2xvc3NpYS5seXgubHl4ICAgICAgICAgfCAgIDMg
Ky0KIHNyYy90ZXgybHl4L3Rlc3QvYWxnbzJlLmx5eC5seXggICAgICAgICAgICAgICAgICAgIHwg
ICAzICstCiBzcmMvdGV4Mmx5eC90ZXN0L2JlYW1lci5seXgubHl4ICAgICAgICAgICAgICAgICAg
ICB8ICAgMyArLQogLi4uL3Rlc3QvYm94LWNvbG9yLXNpemUtc3BhY2UtYWxpZ24ubHl4Lmx5eCAg
ICAgICAgfCAgIDMgKy0KIHNyYy90ZXgybHl4L3Rlc3QvbGlzdHByZWFtYmxlLmx5eC5seXggICAg
ICAgICAgICAgIHwgICAzICstCiBzcmMvdGV4Mmx5eC90ZXN0L3RhYnVsYXIteC10ZXN0Lmx5eC5s
eXggICAgICAgICAgICB8ICAgMyArLQogc3JjL3RleDJseXgvdGVzdC90ZXN0LWluc2V0cy1iYXNp
Yy5seXgubHl4ICAgICAgICAgfCAgIDMgKy0KIHNyYy90ZXgybHl4L3Rlc3QvdGVzdC1pbnNldHMu
bHl4Lmx5eCAgICAgICAgICAgICAgIHwgICAzICstCiBzcmMvdGV4Mmx5eC90ZXN0L3Rlc3QtbWVt
b2lyLmx5eC5seXggICAgICAgICAgICAgICB8ICAgMyArLQogc3JjL3RleDJseXgvdGVzdC90ZXN0
LW1pbnRlZC5seXgubHl4ICAgICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy90ZXgybHl4L3Rlc3Qv
dGVzdC1tb2R1bGVzLmx5eC5seXggICAgICAgICAgICAgIHwgICAzICstCiBzcmMvdGV4Mmx5eC90
ZXN0L3Rlc3QtcmVmc3R5bGUtdGhlb3JlbXMubHl4Lmx5eCAgICB8ICAgMyArLQogc3JjL3RleDJs
eXgvdGVzdC90ZXN0LXNjci5seXgubHl4ICAgICAgICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy90
ZXgybHl4L3Rlc3QvdGVzdC1zdHJ1Y3R1cmUubHl4Lmx5eCAgICAgICAgICAgIHwgICAzICstCiBz
cmMvdGV4Mmx5eC90ZXN0L3Rlc3QubHl4Lmx5eCAgICAgICAgICAgICAgICAgICAgICB8ICAgMyAr
LQogc3JjL3RleDJseXgvdGVzdC92ZXJiYXRpbS5seXgubHl4ICAgICAgICAgICAgICAgICAgfCAg
IDMgKy0KIHNyYy92ZXJzaW9uLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICA0ICstCiAzNSBmaWxlcyBjaGFuZ2VkLCA2ODggaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2Noa2NvbmZpZy5sdHggYi9saWIvY2hrY29uZmlnLmx0
eAppbmRleCA4NTUyOTZmOGFlLi42ZjA4YmI3NmQ4IDEwMDY0NAotLS0gYS9saWIvY2hrY29uZmln
Lmx0eAorKysgYi9saWIvY2hrY29uZmlnLmx0eApAQCAtMzI1LDYgKzMyNSw3IEBACiBcVGVzdFBh
Y2thZ2V7YWZ0ZXJwYWdlfQogXFRlc3RQYWNrYWdle2FsZ29yaXRobX0KIFxUZXN0UGFja2FnZXth
bGdvcml0aG0yZX0KK1xUZXN0UGFja2FnZXthbGlnbmVkLW92ZXJzZXR9CiBcVGVzdFBhY2thZ2V7
YW1zbWF0aH0KIFxUZXN0UGFja2FnZXthbXN0ZXh0fQogXFRlc3RQYWNrYWdle2FwYWNpdGV9CmRp
ZmYgLS1naXQgYS9saWIvZG9jL0xhVGVYQ29uZmlnLmx5eCBiL2xpYi9kb2MvTGFUZVhDb25maWcu
bHl4CmluZGV4IDU3YmY0NTIwNWIuLjRkMTk1ODIzZjEgMTAwNjQ0Ci0tLSBhL2xpYi9kb2MvTGFU
ZVhDb25maWcubHl4CisrKyBiL2xpYi9kb2MvTGFUZVhDb25maWcubHl4CkBAIC04Nzc2LDYgKzg3
NzYsMTA0IEBAIE1vZHVsZXMKIC4KIFxlbmRfbGF5b3V0CiAKK1xiZWdpbl9sYXlvdXQgU3Vic2Vj
dGlvbgorYWxpZ25lZC1vdmVyc2V0CitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IERlc2Ny
aXB0aW9uCitGb3VuZDoKKyAKK1xiZWdpbl9pbnNldCBJbmZvCit0eXBlICAicGFja2FnZSIKK2Fy
ZyAgICJhbGlnbmVkLW92ZXJzZXQiCitcZW5kX2luc2V0CisKKworXGVuZF9sYXlvdXQKKworXGJl
Z2luX2xheW91dCBEZXNjcmlwdGlvbgorQ1RBTjoKKyAKK1xmYW1pbHkgdHlwZXdyaXRlcgorbWFj
cm9zL2xhdGV4L2NvbnRyaWIvYWxpZ25lZC1vdmVyc2V0LworXGVuZF9sYXlvdXQKKworXGJlZ2lu
X2xheW91dCBEZXNjcmlwdGlvbgorTm90ZXM6CisgVGhlIHBhY2thZ2UgCitcZmFtaWx5IHNhbnMK
K2FsaWduZWQtb3ZlcnNldAorXGZhbWlseSBkZWZhdWx0CisgbGV0cyB0aGUgYmFzZSBvZiAKK1xm
YW1pbHkgc2FucworCitcYmFja3NsYXNoCitvdmVyc2V0CitcZmFtaWx5IGRlZmF1bHQKKyBvciAK
K1xmYW1pbHkgc2FucworCitcYmFja3NsYXNoCit1bmRlcnNldAorXGZhbWlseSBkZWZhdWx0Cisg
c2VydmUgYXMgdGhlIGFsaWdubWVudCBwb2ludCBpbiBhbiAKK1xmYW1pbHkgc2FucworYW1zbWF0
aAorXGZhbWlseSBkZWZhdWx0CisgYWxpZ25lZC10eXBlIGVudmlyb25tZW50LAorIGluc3RlYWQg
b2YgdGhlIHdob2xlIG92ZXJzZXQvdW5kZXJzZXQgYXRvbS4KKyBMeVggbG9hZHMgaXQgYXV0b21h
dGljYWxseSB3aGVuIAorXGZhbWlseSBzYW5zCisKK1xiYWNrc2xhc2gKK292ZXJzZXQKK1xmYW1p
bHkgZGVmYXVsdAorIG9yIAorXGZhbWlseSBzYW5zCisKK1xiYWNrc2xhc2gKK3VuZGVyc2V0Citc
ZmFtaWx5IGRlZmF1bHQKKyBpcyBlbnRlcmVkIGFzIHRoZSBmaXJzdCBpdGVtIG9mIGEgbm9uLWZp
cnN0IGNlbGwgaW4gYW4gCitcZmFtaWx5IHNhbnMKK2FsaWduCitcZmFtaWx5IGRlZmF1bHQKKywK
KyAKK1xmYW1pbHkgc2FucworYWxpZ25hdAorXGZhbWlseSBkZWZhdWx0CissCisgCitcZmFtaWx5
IHNhbnMKK3hhbGlnbmF0CitcZmFtaWx5IGRlZmF1bHQKKywKKyAKK1xmYW1pbHkgc2FucworeHhh
bGlnbmF0CitcZmFtaWx5IGRlZmF1bHQKKywKKyBvciAKK1xmYW1pbHkgc2FucworZmxhbGlnbgor
XGZhbWlseSBkZWZhdWx0CisgZW52aXJvbm1lbnQ7CisgdGhlIGFsaWdubWVudCB0YWIgdGhhdCB3
b3VsZCBvdGhlcndpc2UgcHJlY2VkZSB0aGUgaW5zZXQgaXMgdGhlbiB3cml0dGVuIGluc2lkZSB0
aGUgCitcZmFtaWx5IHNhbnMKKworXGJhY2tzbGFzaAorb3ZlcnNldAorXGZhbWlseSBkZWZhdWx0
CisvCitcZmFtaWx5IHNhbnMKKworXGJhY2tzbGFzaAordW5kZXJzZXQKK1xmYW1pbHkgZGVmYXVs
dAorIGNhbGwgaXRzZWxmLgorXGVuZF9sYXlvdXQKKwogXGJlZ2luX2xheW91dCBTdWJzZWN0aW9u
CiBicmVha3VybAogXGVuZF9sYXlvdXQKZGlmZiAtLWdpdCBhL2xpYi9kb2MvTWF0aC5seXggYi9s
aWIvZG9jL01hdGgubHl4CmluZGV4IGRiNmNhMzllZWIuLjAyNWFiOWMwMDMgMTAwNjQ0Ci0tLSBh
L2xpYi9kb2MvTWF0aC5seXgKKysrIGIvbGliL2RvYy9NYXRoLmx5eApAQCAtMTQ5LDYgKzE0OSw5
IEBACiAgIH0KICAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezIxMkJ9e1xBQX0KIFxmaQorJSBB
ZGRlZCBieSBseXgybHl4CitcdXNlcGFja2FnZXthbGlnbmVkLW92ZXJzZXR9CitcbGV0XGx5eG92
ZXJzZXRcb3ZlcnNldAogXGVuZF9wcmVhbWJsZQogXG9wdGlvbnMgYmlibGlvZ3JhcGh5PXRvdG9j
LGluZGV4PXRvdG9jLEJDT1I3LjVtbSx0aXRsZXBhZ2UsY2FwdGlvbnM9dGFibGVoZWFkaW5nCiBc
dXNlX2RlZmF1bHRfb3B0aW9ucyBmYWxzZQpAQCAtMjYxLDYgKzI2NCw3IEBAIGxvZ2ljYWxta3Vw
CiBcZG9jYm9va190YWJsZV9vdXRwdXQgMAogXGRvY2Jvb2tfbWF0aG1sX3ByZWZpeCAxCiBcZG9j
Ym9va19tYXRobWxfdmVyc2lvbiAwCitcYXV0aG9yIDY3MzA4NTY0OCAidWZvZ2llbCIKIFxhdXRo
b3IgMjA5MDI1MDMwMSAiZmNhbiIKIFxlbmRfaGVhZGVyCiAKQEAgLTMyMzczLDYgKzMyMzc3LDEx
NSBAQCBJbmRlbnRlZAogXGVuZF9pbnNldAogCiBwdCBzcGFjZSB3YXMgaW5zZXJ0ZWQgYXQgdGhl
IGJlZ2lubmluZyBvZiB0aGUgZmlyc3QgY29sdW1uLgorXGNoYW5nZV9pbnNlcnRlZCA2NzMwODU2
NDggMTc4NTg0MDE2MQorCitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IFN1YnNlY3Rpb24K
KworXGNoYW5nZV9pbnNlcnRlZCA2NzMwODU2NDggMTc4NTg0MDE5NQorQWxpZ25tZW50IFBvaW50
IEluc2lkZSBvdmVyc2V0L3VuZGVyc2V0CitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IFN0
YW5kYXJkCisKK1xjaGFuZ2VfaW5zZXJ0ZWQgNjczMDg1NjQ4IDE3ODU4NDE0NjAKK0luIGFuIGFs
aWduZWQgZW52aXJvbm1lbnRzLAorIGlmIGEgY2VsbCBzdGFydHMgd2l0aCAKK1xzZXJpZXMgYm9s
ZAorCitcYmFja3NsYXNoCitvdmVyc2V0Citcc2VyaWVzIGRlZmF1bHQKKy8KK1xzZXJpZXMgYm9s
ZAorCitcYmFja3NsYXNoCit1bmRlcnNldAorXHNlcmllcyBkZWZhdWx0CissCisgdGhlIGFsaWdu
bWVudCBwb2ludCBzaXRzIGF0IHRoZSBlZGdlIG9mIHRoZSB3aG9sZSBvdmVyc2V0L3VuZGVyc2V0
IGF0b20g4oCUCisgd2hpY2ggaXMgYXMgd2lkZSBhcyB3aGljaGV2ZXIgb2YgdGhlIGJhc2Ugb3Ig
dGhlIGFjY2VudCBpcyB3aWRlci4KKyBJZiB0aGUgYWNjZW50IChlLmcuCitcYmVnaW5faW5zZXQg
c3BhY2UgXHNwYWNle30KK1xlbmRfaW5zZXQKKworCitcc2VyaWVzIGJvbGQKKworXGJhY2tzbGFz
aAordGV4dHsKK1xzZXJpZXMgZGVmYXVsdAorRGVmCitcc2VyaWVzIGJvbGQKK30KK1xzZXJpZXMg
ZGVmYXVsdAorKSBpcyB3aWRlciB0aGFuIHRoZSBiYXNlIChlLmcuCitcYmVnaW5faW5zZXQgc3Bh
Y2UgXHNwYWNle30KK1xlbmRfaW5zZXQKKworPSksCisgdGhlIHZpc3VhbCBhbGlnbm1lbnQgcG9p
bnQgZW5kcyB1cCBvZmZzZXQgZnJvbSB3aGVyZSB0aGUgcmVhZGVyIGV4cGVjdHMgaXQgKHRoZSBi
YXNlKSwKKyB3aGljaCBsb29rcyB3cm9uZyB3aGVuIHNldmVyYWwgcm93cyBhcmUgbWVhbnQgdG8g
bGluZSB1cCBvbiB0aGF0IGJhc2UgY2hhcmFjdGVyLgorXGVuZF9sYXlvdXQKKworXGJlZ2luX2xh
eW91dCBTdGFuZGFyZAorCitcY2hhbmdlX2luc2VydGVkIDY3MzA4NTY0OCAxNzg1ODQxNDY0CitB
cyBvZiBcU3BlY2lhbENoYXIgTHlYCisyLjYgaWYgCitcc2VyaWVzIGJvbGQKKworXGJhY2tzbGFz
aAorb3ZlcnNldAorXHNlcmllcyBkZWZhdWx0CisvCitcc2VyaWVzIGJvbGQKKworXGJhY2tzbGFz
aAordW5kZXJzZXQKK1xzZXJpZXMgZGVmYXVsdAorIGlzIHVzZWQgYXMgdGhlIGZpcnN0IGl0ZW0g
aW4gYSBjZWxsIG5vdCBpbiB0aGUgZmlyc3QgY29sdW1uIChpLmUuCisgcmlnaHQgYWZ0ZXIgYSAm
KSBhbmQgCitcZmFtaWx5IHNhbnMKK0RvY3VtZW50XFNwZWNpYWxDaGFyIG1lbnVzZXBhcmF0b3IK
K1NldHRpbmdzXFNwZWNpYWxDaGFyIG1lbnVzZXBhcmF0b3IKK01hdGggT3B0aW9uc1xTcGVjaWFs
Q2hhciBtZW51c2VwYXJhdG9yCithbGlnbmVkLW92ZXJzZXQKK1xmYW1pbHkgZGVmYXVsdAorIGlz
IGxvYWRlZCB0aGVuIHRoZSBmb3JtYXQgb2YgdGhlIGFsaWduZWQtb3ZlcnNldCBwYWNrYWdlIHdp
bGwgYmUgdXNlZCwKKyBhbmQgZS5nLgorXGJlZ2luX2luc2V0IHNwYWNlIFxzcGFjZXt9CitcZW5k
X2luc2V0CisKKworXHNlcmllcyBib2xkCismCitcYmFja3NsYXNoCitvdmVyc2V0eworXGJhY2tz
bGFzaAordGV4dHtEZWZ9fXs9fQorXHNlcmllcyBkZWZhdWx0Cisgd2lsbCBiZSBleHBvcnRlZCBh
cyAKK1xzZXJpZXMgYm9sZAorCitcYmFja3NsYXNoCitvdmVyc2V0eworXGJhY2tzbGFzaAordGV4
dHtEZWZ9fSZ7PX0KK1xzZXJpZXMgZGVmYXVsdAorLgorXGJlZ2luX2luc2V0IEZvcm11bGEgCitc
YmVnaW57YWxpZ24qfQorZih4KVxseXhvdmVyc2V0e1x0ZXh0e0RlZn19ICYgez19eCt4XFwKKyAm
ID0yeAorXGVuZHthbGlnbip9CisKK1xlbmRfaW5zZXQKKworCitcY2hhbmdlX3VuY2hhbmdlZAor
CiBcZW5kX2xheW91dAogCiBcYmVnaW5fbGF5b3V0IFN1YnNlY3Rpb24KZGlmZiAtLWdpdCBhL2xp
Yi9seXgybHl4L2x5eF8yXzYucHkgYi9saWIvbHl4Mmx5eC9seXhfMl82LnB5CmluZGV4IGZjOTE4
NGMxNWYuLmRiM2FmMzljYWYgMTAwNjQ0Ci0tLSBhL2xpYi9seXgybHl4L2x5eF8yXzYucHkKKysr
IGIvbGliL2x5eDJseXgvbHl4XzJfNi5weQpAQCAtNDMsNyArNDMsNiBAQCBmcm9tIGx5eDJseXhf
dG9vbHMgaW1wb3J0ICgKICMgVW5jb21tZW50IG9ubHkgd2hhdCB5b3UgbmVlZCB0byBpbXBvcnQs
IHBsZWFzZSAocGFyc2VyX3Rvb2xzKToKICMgICAgY2hlY2tfdG9rZW4sCiAjICAgIGNvdW50X3Bh
cnNfaW5faW5zZXQsCi0jICAgIGRlbF9jb21wbGV0ZV9saW5lcywKICMgICAgZGVsX3ZhbHVlLAog
IyAgICBmaW5kX2NvbXBsZXRlX2xpbmVzLCAKICMgICAgZmluZF9lbmRfb2YsCkBAIC01Miw2ICs1
MSw3IEBAIGZyb20gbHl4Mmx5eF90b29scyBpbXBvcnQgKAogIyAgICBzZXRfYm9vbF92YWx1ZSwK
ICMgICAgaXNfaW5faW5zZXQKIGZyb20gcGFyc2VyX3Rvb2xzIGltcG9ydCAoCisgICAgZGVsX2Nv
bXBsZXRlX2xpbmVzLAogICAgIGRlbF90b2tlbiwKICAgICBmaW5kX2VuZF9vZl9pbnNldCwKICAg
ICBmaW5kX2VuZF9vZl9sYXlvdXQsCkBAIC0xMTY3LDYgKzExNjcsMjkzIEBAIGRlZiByZXZlcnRf
bHBfcG9seWdsb3NzaWEoZG9jdW1lbnQpOgogICAgICAgICBkb2N1bWVudC5oZWFkZXJbaV0gPSAi
XFxsYW5ndWFnZV9wYWNrYWdlIGF1dG8iCiAKIAorZGVmIGNvbnZlcnRfdXNlX2FsaWduZWRvdmVy
c2V0KGRvY3VtZW50KToKKyAgICAiIiJpbnNlcnQgdXNlX3BhY2thZ2UgYWxpZ25lZC1vdmVyc2V0
IiIiCisgICAgaSA9IGZpbmRfdG9rZW4oZG9jdW1lbnQuaGVhZGVyLCAiXFx1c2VfcGFja2FnZSIp
CisgICAgaWYgaSA9PSAtMToKKyAgICAgICAgZG9jdW1lbnQud2FybmluZygiTWFsZm9ybWVkIEx5
WCBkb2N1bWVudDogQ2FuJ3QgZmluZCBcXHVzZV9wYWNrYWdlLiIpCisgICAgICAgIHJldHVybgor
ICAgIHBrZyA9ICJhbGlnbmVkLW92ZXJzZXQiCisgICAgIyBUcnkgY2FuZGlkYXRlcyBmcm9tIG1v
c3Qgc3BlY2lmaWMgKHdpdGggXGxldCBhbGlhc2VzKSB0byBsZWFzdCAoYmFyZQorICAgICMgXHVz
ZXBhY2thZ2UpLCBzbyBhIHJvdW5kLXRyaXBwZWQgYmxvY2sgaXMgYWx3YXlzIHJlbW92ZWQgaW4g
ZnVsbCBhbmQKKyAgICAjIG5vIFxsZXQgYWxpYXMgbGluZSBpcyBldmVyIGxlZnQgb3JwaGFuZWQg
YmVoaW5kIGEgcGFydGlhbCBtYXRjaC4KKyAgICBjYW5kaWRhdGVzID0gWworICAgICAgICBhbGln
bmVkb3ZlcnNldF9wcmVhbWJsZV9saW5lcyhUcnVlLCBUcnVlKSwKKyAgICAgICAgYWxpZ25lZG92
ZXJzZXRfcHJlYW1ibGVfbGluZXMoVHJ1ZSwgRmFsc2UpLAorICAgICAgICBhbGlnbmVkb3ZlcnNl
dF9wcmVhbWJsZV9saW5lcyhGYWxzZSwgVHJ1ZSksCisgICAgICAgIGFsaWduZWRvdmVyc2V0X3By
ZWFtYmxlX2xpbmVzKEZhbHNlLCBGYWxzZSksCisgICAgXQorICAgIGZvdW5kID0gRmFsc2UKKyAg
ICBmb3IgY2FuZCBpbiBjYW5kaWRhdGVzOgorICAgICAgICBpZiBkZWxfY29tcGxldGVfbGluZXMo
CisgICAgICAgICAgICBkb2N1bWVudC5wcmVhbWJsZSwgWyIlIEFkZGVkIGJ5IGx5eDJseXgiXSAr
IGNhbmQKKyAgICAgICAgKSBvciBkZWxfY29tcGxldGVfbGluZXMoZG9jdW1lbnQucHJlYW1ibGUs
IGNhbmQpOgorICAgICAgICAgICAgZm91bmQgPSBUcnVlCisgICAgICAgICAgICBicmVhaworICAg
IGRvY3VtZW50LmhlYWRlci5pbnNlcnQoaSArIDEsICJcXHVzZV9wYWNrYWdlICIgKyBwa2cgKyAi
ICIgKyAoIjIiIGlmIGZvdW5kIGVsc2UgIjAiKSkKKworCithbGlnbmVkb3ZlcnNldF9hbGlnbl9l
bnZzID0geworICAgICJhbGlnbiIsICJhbGlnbmF0IiwgInhhbGlnbmF0IiwgInh4YWxpZ25hdCIs
ICJmbGFsaWduIiwKKyAgICAiYWxpZ25lZCIsICJhbGlnbmVkYXQiLCAic3BsaXQiLAorfQorCisK
K2RlZiBhbGlnbmVkb3ZlcnNldF9yZWFkX2NvbW1hbmQocywgcG9zKToKKyAgICAiIiJwb3MgcG9p
bnRzIHJpZ2h0IGFmdGVyIGEgYmFja3NsYXNoOiByZXR1cm4gKG5hbWUsIGVuZHBvcykiIiIKKyAg
ICBtID0gcmUubWF0Y2gociJbYS16QS1aXSsiLCBzW3BvczpdKQorICAgIGlmIG06CisgICAgICAg
IHJldHVybiBtLmdyb3VwKDApLCBwb3MgKyBsZW4obS5ncm91cCgwKSkKKyAgICBpZiBwb3MgPCBs
ZW4ocyk6CisgICAgICAgIHJldHVybiBzW3Bvc10sIHBvcyArIDEKKyAgICByZXR1cm4gIiIsIHBv
cworCisKK2RlZiBhbGlnbmVkb3ZlcnNldF9tYXRjaGluZ19icmFjZShzLCBwb3MpOgorICAgICIi
InNbcG9zXSA9PSAneyc6IHJldHVybiBpbmRleCBvZiB0aGUgbWF0Y2hpbmcgJ30nLCBvciAtMSIi
IgorICAgIGRlcHRoID0gMAorICAgIGogPSBwb3MKKyAgICBuID0gbGVuKHMpCisgICAgd2hpbGUg
aiA8IG46CisgICAgICAgIGMgPSBzW2pdCisgICAgICAgIGlmIGMgPT0gIlxcIjoKKyAgICAgICAg
ICAgIF8sIGogPSBhbGlnbmVkb3ZlcnNldF9yZWFkX2NvbW1hbmQocywgaiArIDEpCisgICAgICAg
ICAgICBjb250aW51ZQorICAgICAgICBpZiBjID09ICJ7IjoKKyAgICAgICAgICAgIGRlcHRoICs9
IDEKKyAgICAgICAgZWxpZiBjID09ICJ9IjoKKyAgICAgICAgICAgIGRlcHRoIC09IDEKKyAgICAg
ICAgICAgIGlmIGRlcHRoID09IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIGoKKyAgICAgICAg
aiArPSAxCisgICAgcmV0dXJuIC0xCisKKworZGVmIHJld3JpdGVfYWxpZ25lZF9vdmVyc2V0X3Rl
eHQodGV4dCk6CisgICAgIiIiUmV3cml0ZSAmXFxvdmVyc2V0e2FjY317YmFzZX0gdG8gXFxseXhv
dmVyc2V0e2FjY30me2Jhc2V9IChkaXR0bworICAgIHVuZGVyc2V0KSwgZm9yIG9sZGVyIEx5WC4g
UmV0dXJucyAobmV3dGV4dCwgdXNlZF9vdmVyc2V0LAorICAgIHVzZWRfdW5kZXJzZXQsIGNoYW5n
ZWQpLiIiIgorICAgIG4gPSBsZW4odGV4dCkKKyAgICBvdXQgPSBbXQorICAgIGkgPSAwCisgICAg
IyBPbmUgZW50cnkgcGVyIGN1cnJlbnRseS1vcGVuIFxiZWdpbnsuLi59LCByZWNvcmRpbmcgd2hl
dGhlciB0aGF0CisgICAgIyBzcGVjaWZpYyBlbnZpcm9ubWVudCBpcyBpdHNlbGYgYWxpZ24tZmFt
aWx5LiBUaGlzIGxldHMgYSBuZXN0ZWQKKyAgICAjIGFsaWduLWZhbWlseSBlbnZpcm9ubWVudCAo
ZS5nLiAiYWxpZ25lZCIgaW5zaWRlICJhbGlnbiIpIGdldCBpdHMKKyAgICAjIG93biAmIHRhYnMg
cmV3cml0dGVuIGluZGVwZW5kZW50bHkgb2Ygd2hhdCBpdCdzIG5lc3RlZCBpbi4KKyAgICBlbnZf
c3RhY2sgPSBbXQorICAgIGJyYWNlX2RlcHRoID0gMAorICAgIHVzZWRfb3ZlcnNldCA9IEZhbHNl
CisgICAgdXNlZF91bmRlcnNldCA9IEZhbHNlCisgICAgY2hhbmdlZCA9IEZhbHNlCisKKyAgICB3
aGlsZSBpIDwgbjoKKyAgICAgICAgYyA9IHRleHRbaV0KKyAgICAgICAgaWYgYyA9PSAiXFwiOgor
ICAgICAgICAgICAgbmFtZSwgbmV4dGkgPSBhbGlnbmVkb3ZlcnNldF9yZWFkX2NvbW1hbmQodGV4
dCwgaSArIDEpCisgICAgICAgICAgICBpZiBuYW1lIGluICgiYmVnaW4iLCAiZW5kIik6CisgICAg
ICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHIiXHsoW2EtekEtWl0rKShcKj8pXH0iLCB0ZXh0W25l
eHRpOl0pCisgICAgICAgICAgICAgICAgaWYgbToKKyAgICAgICAgICAgICAgICAgICAgZnVsbCA9
IHRleHRbaTpuZXh0aV0gKyB0ZXh0W25leHRpIDogbmV4dGkgKyBtLmVuZCgpXQorICAgICAgICAg
ICAgICAgICAgICBpZiBuYW1lID09ICJiZWdpbiI6CisgICAgICAgICAgICAgICAgICAgICAgICBl
bnZfc3RhY2suYXBwZW5kKG0uZ3JvdXAoMSkgaW4gYWxpZ25lZG92ZXJzZXRfYWxpZ25fZW52cykK
KyAgICAgICAgICAgICAgICAgICAgZWxpZiBlbnZfc3RhY2s6CisgICAgICAgICAgICAgICAgICAg
ICAgICBlbnZfc3RhY2sucG9wKCkKKyAgICAgICAgICAgICAgICAgICAgb3V0LmFwcGVuZChmdWxs
KQorICAgICAgICAgICAgICAgICAgICBpID0gbmV4dGkgKyBtLmVuZCgpCisgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBvdXQuYXBwZW5kKHRleHRbaTpuZXh0aV0pCisg
ICAgICAgICAgICBpID0gbmV4dGkKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmIGMg
PT0gInsiOgorICAgICAgICAgICAgYnJhY2VfZGVwdGggKz0gMQorICAgICAgICAgICAgb3V0LmFw
cGVuZChjKQorICAgICAgICAgICAgaSArPSAxCisgICAgICAgICAgICBjb250aW51ZQorICAgICAg
ICBpZiBjID09ICJ9IjoKKyAgICAgICAgICAgIGJyYWNlX2RlcHRoIC09IDEKKyAgICAgICAgICAg
IG91dC5hcHBlbmQoYykKKyAgICAgICAgICAgIGkgKz0gMQorICAgICAgICAgICAgY29udGludWUK
KyAgICAgICAgaWYgYyA9PSAiJiIgYW5kIGJyYWNlX2RlcHRoID09IDAgYW5kIGVudl9zdGFjayBh
bmQgZW52X3N0YWNrWy0xXToKKyAgICAgICAgICAgIGogPSBpICsgMQorICAgICAgICAgICAgd2hp
bGUgaiA8IG4gYW5kIHRleHRbal0gaW4gIiBcdFxuIjoKKyAgICAgICAgICAgICAgICBqICs9IDEK
KyAgICAgICAgICAgIG0gPSByZS5tYXRjaChyIlxcKG92ZXJzZXR8dW5kZXJzZXQpXHsiLCB0ZXh0
W2o6XSkKKyAgICAgICAgICAgIGlmIG06CisgICAgICAgICAgICAgICAgY21kID0gbS5ncm91cCgx
KQorICAgICAgICAgICAgICAgIGIxID0gaiArIG0uZW5kKCkgLSAxCisgICAgICAgICAgICAgICAg
ZTEgPSBhbGlnbmVkb3ZlcnNldF9tYXRjaGluZ19icmFjZSh0ZXh0LCBiMSkKKyAgICAgICAgICAg
ICAgICBpZiBlMSAhPSAtMSBhbmQgZTEgKyAxIDwgbiBhbmQgdGV4dFtlMSArIDFdID09ICJ7IjoK
KyAgICAgICAgICAgICAgICAgICAgYjIgPSBlMSArIDEKKyAgICAgICAgICAgICAgICAgICAgZTIg
PSBhbGlnbmVkb3ZlcnNldF9tYXRjaGluZ19icmFjZSh0ZXh0LCBiMikKKyAgICAgICAgICAgICAg
ICAgICAgaWYgZTIgIT0gLTE6CisgICAgICAgICAgICAgICAgICAgICAgICBhY2MgPSB0ZXh0W2Ix
ICsgMSA6IGUxXQorICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSA9IHRleHRbYjIgKyAxIDog
ZTJdCisgICAgICAgICAgICAgICAgICAgICAgICBuZXdjbWQgPSAibHl4b3ZlcnNldCIgaWYgY21k
ID09ICJvdmVyc2V0IiBlbHNlICJseXh1bmRlcnNldCIKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmIGNtZCA9PSAib3ZlcnNldCI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZF9v
dmVyc2V0ID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1c2VkX3VuZGVyc2V0ID0gVHJ1ZQorICAgICAgICAgICAgICAgICAg
ICAgICAgb3V0LmFwcGVuZCgiXFwiICsgbmV3Y21kICsgInsiICsgYWNjICsgIn0meyIgKyBiYXNl
ICsgIn0iKQorICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUyICsgMQorICAgICAgICAgICAg
ICAgICAgICAgICAgY2hhbmdlZCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCisgICAgICAgICAgICBvdXQuYXBwZW5kKGMpCisgICAgICAgICAgICBpICs9IDEKKyAgICAg
ICAgICAgIGNvbnRpbnVlCisgICAgICAgIG91dC5hcHBlbmQoYykKKyAgICAgICAgaSArPSAxCisg
ICAgcmV0dXJuICIiLmpvaW4ob3V0KSwgdXNlZF9vdmVyc2V0LCB1c2VkX3VuZGVyc2V0LCBjaGFu
Z2VkCisKKworZGVmIGNvbnZlcnRfYWxpZ25lZF9vdmVyc2V0X3RleHQodGV4dCk6CisgICAgIiIi
SW52ZXJzZSBvZiByZXdyaXRlX2FsaWduZWRfb3ZlcnNldF90ZXh0LiBSZXR1cm5zIChuZXd0ZXh0
LAorICAgIHVzZWRfb3ZlcnNldCwgdXNlZF91bmRlcnNldCkuIiIiCisgICAgbiA9IGxlbih0ZXh0
KQorICAgIG91dCA9IFtdCisgICAgaSA9IDAKKyAgICB1c2VkX292ZXJzZXQgPSBGYWxzZQorICAg
IHVzZWRfdW5kZXJzZXQgPSBGYWxzZQorCisgICAgd2hpbGUgaSA8IG46CisgICAgICAgIGMgPSB0
ZXh0W2ldCisgICAgICAgIGlmIGMgPT0gIlxcIjoKKyAgICAgICAgICAgIG5hbWUsIG5leHRpID0g
YWxpZ25lZG92ZXJzZXRfcmVhZF9jb21tYW5kKHRleHQsIGkgKyAxKQorICAgICAgICAgICAgaWYg
bmFtZSBpbiAoImx5eG92ZXJzZXQiLCAibHl4dW5kZXJzZXQiKToKKyAgICAgICAgICAgICAgICBi
MSA9IG5leHRpCisgICAgICAgICAgICAgICAgaWYgYjEgPCBuIGFuZCB0ZXh0W2IxXSA9PSAieyI6
CisgICAgICAgICAgICAgICAgICAgIGUxID0gYWxpZ25lZG92ZXJzZXRfbWF0Y2hpbmdfYnJhY2Uo
dGV4dCwgYjEpCisgICAgICAgICAgICAgICAgICAgIGsgPSBlMSArIDEKKyAgICAgICAgICAgICAg
ICAgICAgd2hpbGUgZTEgIT0gLTEgYW5kIGsgPCBuIGFuZCB0ZXh0W2tdIGluICIgXHRcbiI6Cisg
ICAgICAgICAgICAgICAgICAgICAgICBrICs9IDEKKyAgICAgICAgICAgICAgICAgICAgaWYgZTEg
IT0gLTEgYW5kIGsgPCBuIGFuZCB0ZXh0W2tdID09ICImIjoKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGsgKz0gMQorICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgayA8IG4gYW5kIHRleHRb
a10gaW4gIiBcdFxuIjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBrICs9IDEKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIGsgPCBuIGFuZCB0ZXh0W2tdID09ICJ7IjoKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBiMiA9IGsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
MiA9IGFsaWduZWRvdmVyc2V0X21hdGNoaW5nX2JyYWNlKHRleHQsIGIyKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIGUyICE9IC0xOgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhY2MgPSB0ZXh0W2IxICsgMSA6IGUxXQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBiYXNlID0gdGV4dFtiMiArIDEgOiBlMl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbmV3Y21kID0gIm92ZXJzZXQiIGlmIG5hbWUgPT0gImx5eG92ZXJzZXQiIGVsc2UgInVu
ZGVyc2V0IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBuYW1lID09ICJseXhv
dmVyc2V0IjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWRfb3ZlcnNl
dCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWRfdW5kZXJzZXQgPSBUcnVlCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG91dC5hcHBlbmQoIiZcXCIgKyBuZXdjbWQgKyAieyIg
KyBhY2MgKyAifXsiICsgYmFzZSArICJ9IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaSA9IGUyICsgMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQor
ICAgICAgICAgICAgb3V0LmFwcGVuZCh0ZXh0W2k6bmV4dGldKQorICAgICAgICAgICAgaSA9IG5l
eHRpCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBvdXQuYXBwZW5kKGMpCisgICAgICAg
IGkgKz0gMQorICAgIHJldHVybiAiIi5qb2luKG91dCksIHVzZWRfb3ZlcnNldCwgdXNlZF91bmRl
cnNldAorCisKK2RlZiBhbGlnbmVkb3ZlcnNldF9wcmVhbWJsZV9saW5lcyh1c2VkX292ZXJzZXQs
IHVzZWRfdW5kZXJzZXQpOgorICAgICIiIlRoZSBwcmVhbWJsZSBsaW5lcyByZXZlcnRfYWxpZ25l
ZG92ZXJzZXRfYm9keSBhZGRzLworICAgIGNvbnZlcnRfYWxpZ25lZG92ZXJzZXRfYm9keSByZW1v
dmVzLCBhcyBhIHNpbmdsZSBncm91cC4iIiIKKyAgICBsaW5lcyA9IFsiXFx1c2VwYWNrYWdle2Fs
aWduZWQtb3ZlcnNldH0iXQorICAgIGlmIHVzZWRfb3ZlcnNldDoKKyAgICAgICAgbGluZXMuYXBw
ZW5kKCJcXGxldFxcbHl4b3ZlcnNldFxcb3ZlcnNldCIpCisgICAgaWYgdXNlZF91bmRlcnNldDoK
KyAgICAgICAgbGluZXMuYXBwZW5kKCJcXGxldFxcbHl4dW5kZXJzZXRcXHVuZGVyc2V0IikKKyAg
ICByZXR1cm4gbGluZXMKKworCitkZWYgY29udmVydF9hbGlnbmVkb3ZlcnNldF9ib2R5KGRvY3Vt
ZW50KToKKyAgICAiIiJVbmRvIHJldmVydF9hbGlnbmVkb3ZlcnNldF9ib2R5OiByZXN0b3JlIG5h
dGl2ZSBcXG92ZXJzZXQvXFx1bmRlcnNldCwKKyAgICBkcm9wIHRoZSBcXGxldCBhbGlhc2VzLiBP
bmx5IGRvZXMgc28gaWYgdGhlIGFsaWduZWQtb3ZlcnNldCBwYWNrYWdlIGlzCisgICAgc2V0IHRv
IGF1dG8gb3Igb247IGlmIGl0IGlzIG9mZiwgXFxseXhvdmVyc2V0L1xcbHl4dW5kZXJzZXQgbXVz
dCBzdGF5IGFzCisgICAgaXMsIHNpbmNlIHJld3JpdGluZyB0byBuYXRpdmUgXFxvdmVyc2V0L1xc
dW5kZXJzZXQgd2l0aG91dCBsb2FkaW5nIHRoZQorICAgIHBhY2thZ2Ugd291bGQgc2lsZW50bHkg
Y2hhbmdlIHRoZSBMYVRlWCBvdXRwdXQuIiIiCisgICAgcGtnID0gImFsaWduZWQtb3ZlcnNldCIK
KyAgICByZWdleHAgPSByZS5jb21waWxlKHIiKFxcdXNlX3BhY2thZ2VccyslcykiICUgcGtnKQor
ICAgIGkgPSBmaW5kX3JlKGRvY3VtZW50LmhlYWRlciwgcmVnZXhwLCAwKQorICAgIHZhbHVlID0g
IjEiICAjIGRlZmF1bHQgaXMgYXV0bworICAgIGlmIGkgIT0gLTE6CisgICAgICAgIHZhbHVlID0g
Z2V0X3ZhbHVlKGRvY3VtZW50LmhlYWRlciwgIlxcdXNlX3BhY2thZ2UiLCBpKS5zcGxpdCgpWzFd
CisgICAgaWYgdmFsdWUgPT0gIjAiOgorICAgICAgICByZXR1cm4KKyAgICB1c2VkX292ZXJzZXQg
PSBGYWxzZQorICAgIHVzZWRfdW5kZXJzZXQgPSBGYWxzZQorICAgIGkgPSAwCisgICAgd2hpbGUg
VHJ1ZToKKyAgICAgICAgaSA9IGZpbmRfdG9rZW4oZG9jdW1lbnQuYm9keSwgIlxcYmVnaW5faW5z
ZXQgRm9ybXVsYSIsIGkpCisgICAgICAgIGlmIGkgPT0gLTE6CisgICAgICAgICAgICBicmVhawor
ICAgICAgICBqID0gZmluZF9lbmRfb2ZfaW5zZXQoZG9jdW1lbnQuYm9keSwgaSkKKyAgICAgICAg
aWYgaiA9PSAtMToKKyAgICAgICAgICAgIGRvY3VtZW50Lndhcm5pbmcoCisgICAgICAgICAgICAg
ICAgIk1hbGZvcm1lZCBMeVggZG9jdW1lbnQ6IENhbid0IGZpbmQgZW5kIG9mIEZvcm11bGEgaW5z
ZXQgYXQgbGluZSAiCisgICAgICAgICAgICAgICAgKyBzdHIoaSkKKyAgICAgICAgICAgICkKKyAg
ICAgICAgICAgIGkgKz0gMQorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgdGV4dCA9ICJc
biIuam9pbihkb2N1bWVudC5ib2R5W2k6al0pCisgICAgICAgIG5ld3RleHQsIHVvLCB1dSA9IGNv
bnZlcnRfYWxpZ25lZF9vdmVyc2V0X3RleHQodGV4dCkKKyAgICAgICAgaWYgdW8gb3IgdXU6Cisg
ICAgICAgICAgICBkb2N1bWVudC5ib2R5W2k6al0gPSBuZXd0ZXh0LnNwbGl0KCJcbiIpCisgICAg
ICAgICAgICBqID0gaSArIGxlbihuZXd0ZXh0LnNwbGl0KCJcbiIpKQorICAgICAgICAgICAgdXNl
ZF9vdmVyc2V0ID0gdXNlZF9vdmVyc2V0IG9yIHVvCisgICAgICAgICAgICB1c2VkX3VuZGVyc2V0
ID0gdXNlZF91bmRlcnNldCBvciB1dQorICAgICAgICBpID0gagorICAgIGlmIHVzZWRfb3ZlcnNl
dCBvciB1c2VkX3VuZGVyc2V0OgorICAgICAgICBsaW5lcyA9IGFsaWduZWRvdmVyc2V0X3ByZWFt
YmxlX2xpbmVzKHVzZWRfb3ZlcnNldCwgdXNlZF91bmRlcnNldCkKKyAgICAgICAgaWYgbm90IGRl
bF9jb21wbGV0ZV9saW5lcyhkb2N1bWVudC5wcmVhbWJsZSwgWyIlIEFkZGVkIGJ5IGx5eDJseXgi
XSArIGxpbmVzKToKKyAgICAgICAgICAgIGRlbF9jb21wbGV0ZV9saW5lcyhkb2N1bWVudC5wcmVh
bWJsZSwgbGluZXMpCisKKworZGVmIHJldmVydF9hbGlnbmVkb3ZlcnNldF9ib2R5KGRvY3VtZW50
KToKKyAgICAiIiJNYWtlIGFsaWduZWQtb3ZlcnNldCB1c2FnZXMgcmVhZGFibGUgYnkgYW4gb2xk
ZXIgTHlYLCBwcmVzZXJ2aW5nCisgICAgTGFUZVggb3V0cHV0IHZpYSBcXGxldCBhbGlhc2VzLiBS
ZXR1cm5zICh1c2VkX292ZXJzZXQsIHVzZWRfdW5kZXJzZXQpLiIiIgorICAgIHVzZWRfb3ZlcnNl
dCA9IEZhbHNlCisgICAgdXNlZF91bmRlcnNldCA9IEZhbHNlCisgICAgaSA9IDAKKyAgICB3aGls
ZSBUcnVlOgorICAgICAgICBpID0gZmluZF90b2tlbihkb2N1bWVudC5ib2R5LCAiXFxiZWdpbl9p
bnNldCBGb3JtdWxhIiwgaSkKKyAgICAgICAgaWYgaSA9PSAtMToKKyAgICAgICAgICAgIGJyZWFr
CisgICAgICAgIGogPSBmaW5kX2VuZF9vZl9pbnNldChkb2N1bWVudC5ib2R5LCBpKQorICAgICAg
ICBpZiBqID09IC0xOgorICAgICAgICAgICAgZG9jdW1lbnQud2FybmluZygKKyAgICAgICAgICAg
ICAgICAiTWFsZm9ybWVkIEx5WCBkb2N1bWVudDogQ2FuJ3QgZmluZCBlbmQgb2YgRm9ybXVsYSBp
bnNldCBhdCBsaW5lICIKKyAgICAgICAgICAgICAgICArIHN0cihpKQorICAgICAgICAgICAgKQor
ICAgICAgICAgICAgaSArPSAxCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICB0ZXh0ID0g
IlxuIi5qb2luKGRvY3VtZW50LmJvZHlbaTpqXSkKKyAgICAgICAgbmV3dGV4dCwgdW8sIHV1LCBj
aGFuZ2VkID0gcmV3cml0ZV9hbGlnbmVkX292ZXJzZXRfdGV4dCh0ZXh0KQorICAgICAgICBpZiBj
aGFuZ2VkOgorICAgICAgICAgICAgZG9jdW1lbnQuYm9keVtpOmpdID0gbmV3dGV4dC5zcGxpdCgi
XG4iKQorICAgICAgICAgICAgaiA9IGkgKyBsZW4obmV3dGV4dC5zcGxpdCgiXG4iKSkKKyAgICAg
ICAgICAgIHVzZWRfb3ZlcnNldCA9IHVzZWRfb3ZlcnNldCBvciB1bworICAgICAgICAgICAgdXNl
ZF91bmRlcnNldCA9IHVzZWRfdW5kZXJzZXQgb3IgdXUKKyAgICAgICAgaSA9IGoKKyAgICBpZiB1
c2VkX292ZXJzZXQgb3IgdXNlZF91bmRlcnNldDoKKyAgICAgICAgYWRkX3RvX3ByZWFtYmxlKGRv
Y3VtZW50LCBhbGlnbmVkb3ZlcnNldF9wcmVhbWJsZV9saW5lcyh1c2VkX292ZXJzZXQsIHVzZWRf
dW5kZXJzZXQpKQorICAgIHJldHVybiB1c2VkX292ZXJzZXQsIHVzZWRfdW5kZXJzZXQKKworCitk
ZWYgcmV2ZXJ0X3VzZV9hbGlnbmVkb3ZlcnNldChkb2N1bWVudCk6CisgICAgInJlbW92ZSB1c2Vf
cGFja2FnZSBhbGlnbmVkLW92ZXJzZXQiCisgICAgcGtnID0gImFsaWduZWQtb3ZlcnNldCIKKyAg
ICByZWdleHAgPSByZS5jb21waWxlKHIiKFxcdXNlX3BhY2thZ2VccyslcykiICUgcGtnKQorICAg
IGkgPSBmaW5kX3JlKGRvY3VtZW50LmhlYWRlciwgcmVnZXhwLCAwKQorICAgIHZhbHVlID0gIjEi
ICAjIGRlZmF1bHQgaXMgYXV0bworICAgIGlmIGkgIT0gLTE6CisgICAgICAgIHZhbHVlID0gZ2V0
X3ZhbHVlKGRvY3VtZW50LmhlYWRlciwgIlxcdXNlX3BhY2thZ2UiLCBpKS5zcGxpdCgpWzFdCisg
ICAgICAgIGRlbCBkb2N1bWVudC5oZWFkZXJbaV0KKyAgICAjIHJld3JpdGUgYW55IGFjdHVhbCB1
c2VzIHNvIHRoZSBlZmZlY3Qgc3Vydml2ZXMgaW4gdGhlIG9sZGVyIGZvcm1hdAorICAgIHVzZWRf
b3ZlcnNldCwgdXNlZF91bmRlcnNldCA9IHJldmVydF9hbGlnbmVkb3ZlcnNldF9ib2R5KGRvY3Vt
ZW50KQorICAgICMgaWYgdGhlIHBhY2thZ2Ugd2FzIGZvcmNlZCBvbiBidXQgbm8gYWN0dWFsIHVz
ZSB3YXMgZm91bmQgKGFuZCB0aHVzIG5vCisgICAgIyBwcmVhbWJsZSBjb2RlIGFkZGVkIGFib3Zl
KSwgc3RpbGwgbG9hZCBpdCBleHBsaWNpdGx5CisgICAgaWYgdmFsdWUgPT0gIjIiIGFuZCBub3Qg
KHVzZWRfb3ZlcnNldCBvciB1c2VkX3VuZGVyc2V0KToKKyAgICAgICAgYWRkX3RvX3ByZWFtYmxl
KGRvY3VtZW50LCBbIlxcdXNlcGFja2FnZXsiICsgcGtnICsgIn0iXSkKKworCiBkZWYgcmV2ZXJ0
X3NwZWNpYWxmb250cyhkb2N1bWVudCk6CiAgICAgIiIiUmV2ZXJ0IGxhbmd1YWdlLS9zY3JpcHQt
c3BlY2lmaWMgZm9udHMgdG8gcHJlYW1ibGUgY29kZSIiIgogCkBAIC0xNzEwLDExICsxOTk3LDEz
IEBAIGNvbnZlcnQgPSBbCiAgICAgWzY1NCwgW11dLAogICAgIFs2NTUsIFtdXSwKICAgICBbNjU2
LCBbXV0sCi0gICAgWzY1NywgW2NvbnZlcnRfc3ZtYXR0ZXJzXV0KKyAgICBbNjU3LCBbY29udmVy
dF9zdm1hdHRlcnNdXSwKKyAgICBbNjU4LCBbY29udmVydF91c2VfYWxpZ25lZG92ZXJzZXQsIGNv
bnZlcnRfYWxpZ25lZG92ZXJzZXRfYm9keV1dCiBdCiAKIAogcmV2ZXJ0ID0gWworICAgIFs2NTcs
IFtyZXZlcnRfdXNlX2FsaWduZWRvdmVyc2V0XV0sCiAgICAgWzY1NiwgW3JldmVydF9tYXR0ZXJz
XV0sCiAgICAgWzY1NSwgW3JldmVydF9wYXJmaWxsc2tpcF1dLAogICAgIFs2NTQsIFtyZXZlcnRf
aGV4MzJjb2xvcnNdXSwKZGlmZiAtLWdpdCBhL3NyYy9CdWZmZXJQYXJhbXMuY3BwIGIvc3JjL0J1
ZmZlclBhcmFtcy5jcHAKaW5kZXggNzM2N2RkNTY1Yi4uM2ZmMTI0YWRmNiAxMDA2NDQKLS0tIGEv
c3JjL0J1ZmZlclBhcmFtcy5jcHAKKysrIGIvc3JjL0J1ZmZlclBhcmFtcy5jcHAKQEAgLTU3NSw2
ICs1NzUsOSBAQCBtYXA8c3RyaW5nLCBzdHJpbmc+IGNvbnN0ICYgQnVmZmVyUGFyYW1zOjphdXRv
X3BhY2thZ2VzKCkKIAkJc3RhdGljIE11dGV4IG11dGV4OwogCQlNdXRleDo6TG9ja2VyIGxvY2tl
cigmbXV0ZXgpOwogCQkvLyBhZGRpbmcgYSBwYWNrYWdlIGhlcmUgaW1wbGllcyBhIGZpbGUgZm9y
bWF0IGNoYW5nZSEKKwkJcGFja2FnZXNbImFsaWduZWQtb3ZlcnNldCJdID0KKwkJCU5fKCJUaGUg
TGFUZVggcGFja2FnZSBhbGlnbmVkLW92ZXJzZXQgaXMgb25seSB1c2VkIGlmIFxcb3ZlcnNldCBv
ciBcXHVuZGVyc2V0ICIKKwkJCSAgICJpcyB1c2VkIGFzIHRoZSBmaXJzdCBpdGVtIGluIGEgY2Vs
bCBvZiBhbiBhbGlnbmVkIG1hdGggZW52aXJvbm1lbnQiKTsKIAkJcGFja2FnZXNbImFtc21hdGgi
XSA9CiAJCQlOXygiVGhlIExhVGVYIHBhY2thZ2UgYW1zbWF0aCBpcyBvbmx5IHVzZWQgaWYgQU1T
IGZvcm11bGEgdHlwZXMgb3Igc3ltYm9scyBmcm9tIHRoZSBBTVMgbWF0aCB0b29sYmFycyBhcmUg
aW5zZXJ0ZWQgaW50byBmb3JtdWxhcyIpOwogCQlwYWNrYWdlc1siYW1zc3ltYiJdID0KZGlmZiAt
LWdpdCBhL3NyYy9MYVRlWEZlYXR1cmVzLmNwcCBiL3NyYy9MYVRlWEZlYXR1cmVzLmNwcAppbmRl
eCA3MWI3MmU3NDY0Li45NTJmZDYxYzVjIDEwMDY0NAotLS0gYS9zcmMvTGFUZVhGZWF0dXJlcy5j
cHAKKysrIGIvc3JjL0xhVGVYRmVhdHVyZXMuY3BwCkBAIC0xNTIzLDYgKzE1MjMsMTEgQEAgc3Ry
aW5nIGNvbnN0IExhVGVYRmVhdHVyZXM6OmdldFBhY2thZ2VzKCkgY29uc3QKIAkgICAgcGFyYW1z
Xy51c2VfcGFja2FnZSgic3RhY2tyZWwiKSAhPSBCdWZmZXJQYXJhbXM6OnBhY2thZ2Vfb2ZmKQog
CQlwYWNrYWdlcyA8PCAiXFx1c2VwYWNrYWdle3N0YWNrcmVsfVxuIjsKIAorCS8vIGFsaWduZWQt
b3ZlcnNldCBtdXN0IGJlIGxvYWRlZCBhZnRlciBhbXNtYXRoCisJaWYgKG11c3RQcm92aWRlKCJh
bGlnbmVkLW92ZXJzZXQiKSAmJgorCSAgICBwYXJhbXNfLnVzZV9wYWNrYWdlKCJhbGlnbmVkLW92
ZXJzZXQiKSAhPSBCdWZmZXJQYXJhbXM6OnBhY2thZ2Vfb2ZmKQorCQlwYWNrYWdlcyA8PCAiXFx1
c2VwYWNrYWdle2FsaWduZWQtb3ZlcnNldH1cbiI7CisKIAlpZiAobXVzdFByb3ZpZGUoInVuZGVy
dGlsZGUiKSAmJgogCQlwYXJhbXNfLnVzZV9wYWNrYWdlKCJ1bmRlcnRpbGRlIikgIT0gQnVmZmVy
UGFyYW1zOjpwYWNrYWdlX29mZikKIAkJcGFja2FnZXMgPDwgIlxcdXNlcGFja2FnZXt1bmRlcnRp
bGRlfVxuIjsKZGlmZiAtLWdpdCBhL3NyYy9tYXRoZWQvSW5zZXRNYXRoR3JpZC5jcHAgYi9zcmMv
bWF0aGVkL0luc2V0TWF0aEdyaWQuY3BwCmluZGV4IDU4YzQwNWVlZjYuLmRkZTU2NzJjYzggMTAw
NjQ0Ci0tLSBhL3NyYy9tYXRoZWQvSW5zZXRNYXRoR3JpZC5jcHAKKysrIGIvc3JjL21hdGhlZC9J
bnNldE1hdGhHcmlkLmNwcApAQCAtNDgsNiArNDgsMjIgQEAgdXNpbmcgbmFtZXNwYWNlIGx5eDo6
c3VwcG9ydDsKIAogbmFtZXNwYWNlIGx5eCB7CiAKK25hbWVzcGFjZSB7CisKKy8vIElmIFxwIG1k
IGxlYWRzIHdpdGggXG92ZXJzZXQgb3IgXHVuZGVyc2V0LCByZXR1cm4gdGhhdCBpbnNldCwgZWxz
ZSBudWxscHRyLgorSW5zZXRNYXRoIGNvbnN0ICogYWxpZ25lZE92ZXJzZXRMZWFkKE1hdGhEYXRh
IGNvbnN0ICYgbWQpCit7CisJaWYgKG1kLmVtcHR5KCkpCisJCXJldHVybiBudWxscHRyOworCUlu
c2V0TWF0aCBjb25zdCAqIGluID0gbWRbMF0ubnVjbGV1cygpOworCWlmIChpbiAmJiAoaW4tPmx5
eENvZGUoKSA9PSBNQVRIX09WRVJTRVRfQ09ERSB8fCBpbi0+bHl4Q29kZSgpID09IE1BVEhfVU5E
RVJTRVRfQ09ERSkpCisJCXJldHVybiBpbjsKKwlyZXR1cm4gbnVsbHB0cjsKK30KKworfSAvLyBu
YW1lc3BhY2UKKworCiBzdGF0aWMgZG9jc3RyaW5nIHZlcmJvc2VITGluZShpbnQgbikKIHsKIAlk
b2NzdHJpbmcgcmVzOwpAQCAtNDQyLDcgKzQ1OCwxMCBAQCB2b2lkIEluc2V0TWF0aEdyaWQ6Om1l
dHJpY3MoTWV0cmljc0luZm8gJiBtaSwgRGltZW5zaW9uICYgZGltKSBjb25zdAogCQlmb3IgKHJv
d190eXBlIHJvdyA9IDA7IHJvdyA8IG5yb3dzKCk7ICsrcm93KSB7CiAJCQlpZHhfdHlwZSBjb25z
dCBpID0gaW5kZXgocm93LCBjb2wpOwogCQkJaWYgKGNlbGxpbmZvX1tpXS5tdWx0aSAhPSBDRUxM
X1BBUlRfT0ZfTVVMVElDT0xVTU4pIHsKLQkJCQlpbnQgY29uc3QgdyA9IGNlbGwoaSkuZGltZW5z
aW9uKGJ2KS53aWQ7CisJCQkJaW50IHcgPSBjZWxsKGkpLmRpbWVuc2lvbihidikud2lkOworCQkJ
CS8vIGFsaWduZWQtb3ZlcnNldCB1c2UgZXh0cmEgcGFkZGluZworCQkJCWlmIChjb2wgKyAxIDwg
bmNvbHMoKSkKKwkJCQkJdyArPSBhbGlnbmVkT3ZlcnNldERlbHRhKGJ2LCBpbmRleChyb3csIGNv
bCArIDEpKTsKIAkJCQljb2xfdHlwZSBjb25zdCBjb2xzID0gbmNlbGxjb2xzKGkpOwogCQkJCWlm
IChjb2xzID4gMSAmJiBucm93cygpID4gMSkgewogCQkJCQljb2xfdHlwZSBsYXN0ID0gY29sK2Nv
bHMtMTsKQEAgLTkwNSw2ICs5MjQsMjQgQEAgdm9pZCBJbnNldE1hdGhHcmlkOjpzd2FwQ29sKGNv
bF90eXBlIGNvbCkKIH0KIAogCitpbnQgSW5zZXRNYXRoR3JpZDo6YWxpZ25lZE92ZXJzZXREZWx0
YShCdWZmZXJWaWV3IGNvbnN0ICYgYnYsIGlkeF90eXBlIGlkeCkgY29uc3QKK3sKKwlpZiAoIXVz
ZUFsaWduZWRPdmVyc2V0KCkgfHwgY29sKGlkeCkgPT0gMCkKKwkJcmV0dXJuIDA7CisJaWYgKGNl
bGxpbmZvX1tpZHhdLm11bHRpID09IENFTExfUEFSVF9PRl9NVUxUSUNPTFVNTikKKwkJcmV0dXJu
IDA7CisJaWYgKGJ1ZmZlcigpLnBhcmFtcygpLnVzZV9wYWNrYWdlKCJhbGlnbmVkLW92ZXJzZXQi
KSA9PSBCdWZmZXJQYXJhbXM6OnBhY2thZ2Vfb2ZmKQorCQlyZXR1cm4gMDsKKwlJbnNldE1hdGgg
Y29uc3QgKiBsZWFkID0gYWxpZ25lZE92ZXJzZXRMZWFkKGNlbGwoaWR4KSk7CisJaWYgKCFsZWFk
KQorCQlyZXR1cm4gMDsKKwlpbnQgY29uc3QgZGltMCA9IGxlYWQtPmNlbGwoMCkuZGltZW5zaW9u
KGJ2KS53aWQ7CisJaW50IGNvbnN0IGRpbTEgPSBsZWFkLT5jZWxsKDEpLmRpbWVuc2lvbihidiku
d2lkdGgoKTsKKwlpbnQgY29uc3QgYm94d2lkID0gbWF4KGRpbTEsIGRpbTApICsgNDsKKwlyZXR1
cm4gYm94d2lkIC8gMiAtIGRpbTAgLyAyICsgMjsKK30KKworCiBpbnQgSW5zZXRNYXRoR3JpZDo6
Y2VsbFhPZmZzZXQoQnVmZmVyVmlldyBjb25zdCAmIGJ2LCBpZHhfdHlwZSBpZHgpIGNvbnN0CiB7
CiAJaWYgKGNlbGxpbmZvX1tpZHhdLm11bHRpID09IENFTExfUEFSVF9PRl9NVUxUSUNPTFVNTikK
QEAgLTkxMywxMCArOTUwLDIyIEBAIGludCBJbnNldE1hdGhHcmlkOjpjZWxsWE9mZnNldChCdWZm
ZXJWaWV3IGNvbnN0ICYgYnYsIGlkeF90eXBlIGlkeCkgY29uc3QKIAlpbnQgeCA9IGNvbGluZm9f
W2NdLm9mZnNldDsKIAljaGFyIGFsaWduID0gZGlzcGxheUNvbEFsaWduKGlkeCk7CiAJRGltZW5z
aW9uIGNvbnN0ICYgY2VsbGRpbSA9IGNlbGwoaWR4KS5kaW1lbnNpb24oYnYpOworCS8vIEEgbGVh
ZGluZyBhbGlnbmVkLW92ZXJzZXQgaXRlbSBpcyBzaGlmdGVkIGxlZnQgYnkgaXRzIG93biBvdmVy
aGFuZworCWludCBjb25zdCBvd25fZGVsdGEgPSBhbGlnbmVkT3ZlcnNldERlbHRhKGJ2LCBpZHgp
OworCWlmIChvd25fZGVsdGEgPiAwKQorCQlyZXR1cm4geCAtIG93bl9kZWx0YTsKKwkvLyBBIGNl
bGwgaW1tZWRpYXRlbHkgYmVmb3JlIG9uZSB0aGF0IGxlYWRzIHdpdGggYW4gYWxpZ25lZC1vdmVy
c2V0CisJLy8gaXRlbSBoYXMgZXh0cmEgd2lkdGgKKwlpbnQgbmV4dF9kZWx0YSA9IDA7CisJaWYg
KGNvbChpZHgpICsgMSA8IG5jb2xzKCkpIHsKKwkJaWR4X3R5cGUgY29uc3QgbmV4dGkgPSBpbmRl
eChyb3coaWR4KSwgY29sKGlkeCkgKyAxKTsKKwkJbmV4dF9kZWx0YSA9IGFsaWduZWRPdmVyc2V0
RGVsdGEoYnYsIG5leHRpKTsKKwl9CisJaW50IGNvbnN0IHcgPSBjZWxsZGltLndpZCArIG5leHRf
ZGVsdGE7CiAJaWYgKGFsaWduID09ICdyJyB8fCBhbGlnbiA9PSAnUicpCi0JCXggKz0gY2VsbFdp
ZHRoKGlkeCkgLSBjZWxsZGltLndpZDsKKwkJeCArPSBjZWxsV2lkdGgoaWR4KSAtIHc7CiAJaWYg
KGFsaWduID09ICdjJyB8fCBhbGlnbiA9PSAnQycpCi0JCXggKz0gKGNlbGxXaWR0aChpZHgpIC0g
Y2VsbGRpbS53aWQpIC8gMjsKKwkJeCArPSAoY2VsbFdpZHRoKGlkeCkgLSB3KSAvIDI7CiAJcmV0
dXJuIHg7CiB9CiAKQEAgLTEyMzgsNiArMTI4NywxMyBAQCB2b2lkIEluc2V0TWF0aEdyaWQ6OnZh
bGlkYXRlKExhVGVYRmVhdHVyZXMgJiBmZWF0dXJlcykgY29uc3QKIAkJCSJib3JkZXItbGVmdDog
dGhpbiBzb2xpZCBibGFjazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgcGFkZGluZy1sZWZ0OiAw
LjVleDt9XG4iCiAJCQkidGFibGUubWF0aHRhYmxlIHRkIHt0ZXh0LWFsaWduOiBsZWZ0OyBib3Jk
ZXI6IG5vbmU7fSIpOwogCX0KKwlpZiAodXNlQWxpZ25lZE92ZXJzZXQoKSAmJiBmZWF0dXJlcy5y
dW5wYXJhbXMoKS5pc0xhVGVYKCkKKwkgICAgJiYgZmVhdHVyZXMuYnVmZmVyUGFyYW1zKCkudXNl
X3BhY2thZ2UoImFsaWduZWQtb3ZlcnNldCIpICE9IEJ1ZmZlclBhcmFtczo6cGFja2FnZV9vZmYp
IHsKKwkJZm9yIChyb3dfdHlwZSByb3cgPSAwOyByb3cgPCBucm93cygpOyArK3JvdykKKwkJCWZv
ciAoY29sX3R5cGUgY29sID0gMTsgY29sIDwgbmNvbHMoKTsgKytjb2wpCisJCQkJaWYgKGFsaWdu
ZWRPdmVyc2V0TGVhZChjZWxsKGluZGV4KHJvdywgY29sKSkpKQorCQkJCQlmZWF0dXJlcy5yZXF1
aXJlKCJhbGlnbmVkLW92ZXJzZXQiKTsKKwl9CiAJSW5zZXRNYXRoTmVzdDo6dmFsaWRhdGUoZmVh
dHVyZXMpOwogfQogCkBAIC0xMjU4LDYgKzEzMTQsOCBAQCB2b2lkIEluc2V0TWF0aEdyaWQ6Ondy
aXRlTWF0aChUZVhNYXRoU3RyZWFtICYgb3MsCiAJLy8gaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeQog
CWJvb2wgY29uc3QgZnJhZ2lsZSA9IG9zLmZyYWdpbGUoKQogCQkJJiYgIUxhVGVYRmVhdHVyZXM6
OmlzQXZhaWxhYmxlQXRMZWFzdEZyb20oIkxhVGVYIiwgMjAyMSwgMDYpOworCWJvb2wgY29uc3Qg
dXNlX2FsaWduZWRfb3ZlcnNldCA9IG9zLmxhdGV4KCkgJiYgdXNlQWxpZ25lZE92ZXJzZXQoKQor
CQkJJiYgYnVmZmVyKCkucGFyYW1zKCkudXNlX3BhY2thZ2UoImFsaWduZWQtb3ZlcnNldCIpICE9
IEJ1ZmZlclBhcmFtczo6cGFja2FnZV9vZmY7CiAJZm9yIChyb3dfdHlwZSByb3cgPSBiZWdfcm93
OyByb3cgPCBlbmRfcm93OyArK3JvdykgewogCQlvcyA8PCB2ZXJib3NlSExpbmUocm93aW5mb19b
cm93XS5saW5lcyk7CiAJCS8vIGRvbid0IHdyaXRlICYgYW5kIGVtcHR5IGNlbGxzIGF0IGVuZCBv
ZiBsaW5lLApAQCAtMTI4Niw3ICsxMzQ0LDkgQEAgdm9pZCBJbnNldE1hdGhHcmlkOjp3cml0ZU1h
dGgoVGVYTWF0aFN0cmVhbSAmIG9zLAogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJQ2hhbmdlciBk
dW1teSA9IG9zLmNoYW5nZVJvd0VudHJ5KGVudHJ5KTsKLQkJCWlmIChjZWxsaW5mb19baWR4XS5t
dWx0aSA9PSBDRUxMX0JFR0lOX09GX01VTFRJQ09MVU1OKSB7CisJCQlib29sIGNvbnN0IG11bHRp
Y29sX2JlZ2luID0KKwkJCQljZWxsaW5mb19baWR4XS5tdWx0aSA9PSBDRUxMX0JFR0lOX09GX01V
TFRJQ09MVU1OOworCQkJaWYgKG11bHRpY29sX2JlZ2luKSB7CiAJCQkJc2l6ZV90IHMgPSBjb2wg
KyAxOwogCQkJCXdoaWxlIChzIDwgbmNvbHMoKSAmJgogCQkJCSAgICAgICBjZWxsaW5mb19baW5k
ZXgocm93LCBzKV0ubXVsdGkgPT0gQ0VMTF9QQVJUX09GX01VTFRJQ09MVU1OKQpAQCAtMTI5Niwx
MiArMTM1NiwzNCBAQCB2b2lkIEluc2V0TWF0aEdyaWQ6OndyaXRlTWF0aChUZVhNYXRoU3RyZWFt
ICYgb3MsCiAJCQkJICAgPDwgIn17IiA8PCBjZWxsaW5mb19baWR4XS5hbGlnbgogCQkJCSAgIDw8
ICJ9eyI7CiAJCQl9Ci0JCQlvcyA8PCBjZWxsKGlkeCk7CisJCQkvLyAmIFxvdmVyc2V0e2FjY317
YmFzZX0gLT4gXG92ZXJzZXR7YWNjfSZ7YmFzZX0gKGFsaWduZWQtb3ZlcnNldCkKKwkJCUluc2V0
TWF0aCBjb25zdCAqIGxlYWRfb3ZlcnNldCA9CisJCQkJKGNvbCA+IGJlZ19jb2wgJiYgIW11bHRp
Y29sX2JlZ2luICYmIHVzZV9hbGlnbmVkX292ZXJzZXQpCisJCQkJCT8gYWxpZ25lZE92ZXJzZXRM
ZWFkKGNlbGwoaWR4KSkgOiBudWxscHRyOworCQkJaWYgKGxlYWRfb3ZlcnNldCkgeworCQkJCW9z
IDw8IChsZWFkX292ZXJzZXQtPmx5eENvZGUoKSA9PSBNQVRIX09WRVJTRVRfQ09ERSA/CisJCQkJ
ICAgICAgIGZyb21fYXNjaWkoIlxcb3ZlcnNldHsiKSA6IGZyb21fYXNjaWkoIlxcdW5kZXJzZXR7
IikpCisJCQkJICAgPDwgbGVhZF9vdmVyc2V0LT5jZWxsKDEpIDw8ICJ9JnsiIDw8IGxlYWRfb3Zl
cnNldC0+Y2VsbCgwKSA8PCAnfSc7CisJCQkJZm9yIChzaXplX3QgaSA9IDE7IGkgPCBjZWxsKGlk
eCkuc2l6ZSgpOyArK2kpCisJCQkJCW9zIDw8IGNlbGwoaWR4KVtpXTsKKwkJCX0gZWxzZSB7CisJ
CQkJb3MgPDwgY2VsbChpZHgpOworCQkJfQogCQkJaWYgKG9zLnBlbmRpbmdCcmFjZSgpKQogCQkJ
CU1vZGVTcGVjaWZpZXIgc3BlY2lmaWVyKG9zLCBURVhUX01PREUpOwotCQkJaWYgKGNlbGxpbmZv
X1tpZHhdLm11bHRpID09IENFTExfQkVHSU5fT0ZfTVVMVElDT0xVTU4pCisJCQlpZiAobXVsdGlj
b2xfYmVnaW4pCiAJCQkJb3MgPDwgJ30nOwotCQkJb3MgPDwgZW9jU3RyaW5nKGNvbCArIG5jY29s
cyAtIDEsIGxhc3Rjb2wpOworCQkJZG9jc3RyaW5nIGNvbnN0IGVvYyA9IGVvY1N0cmluZyhjb2wg
KyBuY2NvbHMgLSAxLCBsYXN0Y29sKTsKKwkJCWJvb2wgc3VwcHJlc3NfZW9jID0gZmFsc2U7CisJ
CQlpZiAoIWVvYy5lbXB0eSgpICYmIGNvbCArIG5jY29scyA8IGVuZF9jb2wpIHsKKwkJCQlpZHhf
dHlwZSBjb25zdCBuZXh0aWR4ID0gaW5kZXgocm93LCBjb2wgKyBuY2NvbHMpOworCQkJCWlmIChj
ZWxsaW5mb19bbmV4dGlkeF0ubXVsdGkgIT0gQ0VMTF9CRUdJTl9PRl9NVUxUSUNPTFVNTiAmJgor
CQkJCSAgICB1c2VfYWxpZ25lZF9vdmVyc2V0ICYmCisJCQkJICAgIGFsaWduZWRPdmVyc2V0TGVh
ZChjZWxsKG5leHRpZHgpKSkKKwkJCQkJc3VwcHJlc3NfZW9jID0gdHJ1ZTsKKwkJCX0KKwkJCWlm
ICghc3VwcHJlc3NfZW9jKQorCQkJCW9zIDw8IGVvYzsKIAkJCWNvbCArPSBuY2NvbHM7CiAJCX0K
IAkJZW9sKG9zLCByb3csIGZyYWdpbGUsIG9zLmxhdGV4KCksIGxhc3RfZW9sbik7CmRpZmYgLS1n
aXQgYS9zcmMvbWF0aGVkL0luc2V0TWF0aEdyaWQuaCBiL3NyYy9tYXRoZWQvSW5zZXRNYXRoR3Jp
ZC5oCmluZGV4IGIyM2U5NWVhNWMuLjgxZjFhNjZhZTMgMTAwNjQ0Ci0tLSBhL3NyYy9tYXRoZWQv
SW5zZXRNYXRoR3JpZC5oCisrKyBiL3NyYy9tYXRoZWQvSW5zZXRNYXRoR3JpZC5oCkBAIC0yMDYs
NiArMjA2LDkgQEAgcHVibGljOgogCXZpcnR1YWwgaW50IGJvcmRlcigpIGNvbnN0OwogCS8vLwog
CXZpcnR1YWwgYm9vbCBoYW5kbGVzTXVsdGljb2x1bW4oKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQorCS8vLyB3aGV0aGVyIFxvdmVyc2V0L1x1bmRlcnNldCBsZWFkaW5nIGEgbm9uLWZpcnN0IGNl
bGwgb2YgYSByb3cKKwkvLy8gc2hvdWxkIGJlIHJld3JpdHRlbiBhcyBcb3ZlcnNldHthY2NlbnR9
JntiYXNlfQorCXZpcnR1YWwgYm9vbCB1c2VBbGlnbmVkT3ZlcnNldCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAKIAkvLy8KIAl2b2lkIHdyaXRlTWF0aChUZVhNYXRoU3RyZWFtICYgb3MpIGNv
bnN0IG92ZXJyaWRlOwpAQCAtMjQwLDYgKzI0Myw4IEBAIHByb3RlY3RlZDoKIAlpbnQgY2VsbFlP
ZmZzZXQoQnVmZmVyVmlldyBjb25zdCAmLCBpZHhfdHlwZSBpZHgpIGNvbnN0OwogCS8vLyBXaWR0
aCBvZiBjZWxsLCB0YWtpbmcgY29tYmluZWQgY29sdW1ucyBpbnRvIGFjY291bnQKIAlpbnQgY2Vs
bFdpZHRoKGlkeF90eXBlIGlkeCkgY29uc3Q7CisJLy8vIGNhbGN1bGF0ZSBzaGlmdCBuZWVkZWQg
Zm9yIGFsaWduZWQtb3ZlcnNldCBpdGVtCisJaW50IGFsaWduZWRPdmVyc2V0RGVsdGEoQnVmZmVy
VmlldyBjb25zdCAmLCBpZHhfdHlwZSBpZHgpIGNvbnN0OwogCS8vLwogCXZpcnR1YWwgaW50IGxl
ZnRNYXJnaW4oKSBjb25zdCB7IHJldHVybiAwOyB9CiAJLy8vCmRpZmYgLS1naXQgYS9zcmMvbWF0
aGVkL0luc2V0TWF0aEh1bGwuY3BwIGIvc3JjL21hdGhlZC9JbnNldE1hdGhIdWxsLmNwcAppbmRl
eCA3YjczNDU1OTg3Li43ZTJiZDMyOTM5IDEwMDY0NAotLS0gYS9zcmMvbWF0aGVkL0luc2V0TWF0
aEh1bGwuY3BwCisrKyBiL3NyYy9tYXRoZWQvSW5zZXRNYXRoSHVsbC5jcHAKQEAgLTExNjMsNiAr
MTE2MywyMSBAQCBib29sIEluc2V0TWF0aEh1bGw6Om51bWJlcmVkVHlwZSgpIGNvbnN0CiB9CiAK
IAorYm9vbCBJbnNldE1hdGhIdWxsOjp1c2VBbGlnbmVkT3ZlcnNldCgpIGNvbnN0Cit7CisJc3dp
dGNoICh0eXBlXykgeworCWNhc2UgaHVsbEFsaWduOgorCWNhc2UgaHVsbEFsaWduQXQ6CisJY2Fz
ZSBodWxsWEFsaWduQXQ6CisJY2FzZSBodWxsWFhBbGlnbkF0OgorCWNhc2UgaHVsbEZsQWxpZ246
CisJCXJldHVybiB0cnVlOworCWRlZmF1bHQ6CisJCXJldHVybiBmYWxzZTsKKwl9Cit9CisKKwog
dm9pZCBJbnNldE1hdGhIdWxsOjp2YWxpZGF0ZShMYVRlWEZlYXR1cmVzICYgZmVhdHVyZXMpIGNv
bnN0CiB7CiAJaWYgKGZlYXR1cmVzLnJ1bnBhcmFtcygpLmlzTGFUZVgoKSkgewpkaWZmIC0tZ2l0
IGEvc3JjL21hdGhlZC9JbnNldE1hdGhIdWxsLmggYi9zcmMvbWF0aGVkL0luc2V0TWF0aEh1bGwu
aAppbmRleCAzOTI0NTYyYWJlLi42NGMyMjUzMjk4IDEwMDY0NAotLS0gYS9zcmMvbWF0aGVkL0lu
c2V0TWF0aEh1bGwuaAorKysgYi9zcmMvbWF0aGVkL0luc2V0TWF0aEh1bGwuaApAQCAtMTEwLDYg
KzExMCw4IEBAIHB1YmxpYzoKIAogCS8vLyBnZXQgdHlwZQogCUh1bGxUeXBlIGdldFR5cGUoKSBj
b25zdCBvdmVycmlkZTsKKwkvLy8KKwlib29sIHVzZUFsaWduZWRPdmVyc2V0KCkgY29uc3Qgb3Zl
cnJpZGU7CiAJLy8vIGlzIG11dGF0aW9uIGltcGxlbWVudGVkIGZvciB0aGlzIHR5cGU/CiAJc3Rh
dGljIGJvb2wgaXNNdXRhYmxlKEh1bGxUeXBlIHR5cGUpOwogCS8vLyBjaGFuZ2UgdHlwZQpkaWZm
IC0tZ2l0IGEvc3JjL21hdGhlZC9JbnNldE1hdGhTcGxpdC5jcHAgYi9zcmMvbWF0aGVkL0luc2V0
TWF0aFNwbGl0LmNwcAppbmRleCBiNzIxZTA2Mzk4Li5lZWQ2NzVkMzc3IDEwMDY0NAotLS0gYS9z
cmMvbWF0aGVkL0luc2V0TWF0aFNwbGl0LmNwcAorKysgYi9zcmMvbWF0aGVkL0luc2V0TWF0aFNw
bGl0LmNwcApAQCAtOTQsNiArOTQsMTYgQEAgaW50IEluc2V0TWF0aFNwbGl0OjpkaXNwbGF5Q29s
U3BhY2UoY29sX3R5cGUgY29sKSBjb25zdAogfQogCiAKK2Jvb2wgSW5zZXRNYXRoU3BsaXQ6OnVz
ZUFsaWduZWRPdmVyc2V0KCkgY29uc3QKK3sKKwlkb2NzdHJpbmcgY29uc3QgYmFzZSA9IHN1cHBv
cnQ6OnN1ZmZpeElzKG5hbWVfLCAnKicpCisJCT8gbmFtZV8uc3Vic3RyKDAsIG5hbWVfLnNpemUo
KSAtIDEpIDogbmFtZV87CisJcmV0dXJuIGJhc2UgPT0gImFsaWduIiB8fCBiYXNlID09ICJhbGln
bmF0IiB8fCBiYXNlID09ICJ4YWxpZ25hdCIKKwkJfHwgYmFzZSA9PSAieHhhbGlnbmF0IiB8fCBi
YXNlID09ICJmbGFsaWduIgorCQl8fCBiYXNlID09ICJhbGlnbmVkIiB8fCBiYXNlID09ICJhbGln
bmVkYXQiIHx8IGJhc2UgPT0gInNwbGl0IjsKK30KKworCiAKIHZvaWQgSW5zZXRNYXRoU3BsaXQ6
Om1ldHJpY3MoTWV0cmljc0luZm8gJiBtaSwgRGltZW5zaW9uICYgZGltKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvc3JjL21hdGhlZC9JbnNldE1hdGhTcGxpdC5oIGIvc3JjL21hdGhlZC9JbnNldE1h
dGhTcGxpdC5oCmluZGV4IGNlYzQ5ZTIxNTguLjA3NjE4NmVlMmMgMTAwNjQ0Ci0tLSBhL3NyYy9t
YXRoZWQvSW5zZXRNYXRoU3BsaXQuaAorKysgYi9zcmMvbWF0aGVkL0luc2V0TWF0aFNwbGl0LmgK
QEAgLTQxLDYgKzQxLDggQEAgcHVibGljOgogCS8vLwogCXZvaWQgdmFsaWRhdGUoTGFUZVhGZWF0
dXJlcyAmIGZlYXR1cmVzKSBjb25zdCBvdmVycmlkZTsKIAkvLy8KKwlib29sIHVzZUFsaWduZWRP
dmVyc2V0KCkgY29uc3Qgb3ZlcnJpZGU7CisJLy8vCiAJaW50IGRlZmF1bHRDb2xTcGFjZShjb2xf
dHlwZSkgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogCS8vLwogCWludCBkaXNwbGF5Q29sU3BhY2Uo
Y29sX3R5cGUgY29sKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL3NyYy9tYXRoZWQvTWF0
aFBhcnNlci5jcHAgYi9zcmMvbWF0aGVkL01hdGhQYXJzZXIuY3BwCmluZGV4IDk5ZWU3ZDVkNmEu
Ljg2NWYwYWQzNjEgMTAwNjQ0Ci0tLSBhL3NyYy9tYXRoZWQvTWF0aFBhcnNlci5jcHAKKysrIGIv
c3JjL21hdGhlZC9NYXRoUGFyc2VyLmNwcApAQCAtMjA3NCw4ICsyMDc0LDE2IEBAIGJvb2wgUGFy
c2VyOjpwYXJzZTEoSW5zZXRNYXRoR3JpZCAmIGdyaWQsIHVuc2lnbmVkIGZsYWdzLAogCQkJCX0K
IAogCQkJCWVsc2UgaWYgKGwtPmluc2V0ID09ICJ1bmRlcnNldCIgfHwgbC0+aW5zZXQgPT0gIm92
ZXJzZXQiKSB7Ci0JCQkJCWNlbGwtPnB1c2hfYmFjayhjcmVhdGVJbnNldE1hdGgodC5jcygpLCBi
dWYpKTsKLQkJCQkJcGFyc2UoY2VsbC0+YmFjaygpLm51Y2xldXMoKS0+Y2VsbCgxKSwgRkxBR19J
VEVNLCBtb2RlKTsKKwkJCQkJTWF0aEF0b20gYXQgPSBjcmVhdGVJbnNldE1hdGgodC5jcygpLCBi
dWYpOworCQkJCQlwYXJzZShhdC5udWNsZXVzKCktPmNlbGwoMSksIEZMQUdfSVRFTSwgbW9kZSk7
CisJCQkJCS8vIGFsaWduZWQtb3ZlcnNldCBzeW50YXg6IFxvdmVyc2V0e2FjY30me2Jhc2V9CisJ
CQkJCXNraXBTcGFjZXMoKTsKKwkJCQkJaWYgKG5leHRUb2tlbigpLmNhdCgpID09IGNhdEFsaWdu
KSB7CisJCQkJCQlnZXRUb2tlbigpOworCQkJCQkJaWYgKGFkZENvbChncmlkLCBjZWxsY29sKSkK
KwkJCQkJCQljZWxsID0gJmdyaWQuY2VsbChncmlkLmluZGV4KGNlbGxyb3csIGNlbGxjb2wpKTsK
KwkJCQkJfQorCQkJCQljZWxsLT5wdXNoX2JhY2soYXQpOwogCQkJCQlwYXJzZShjZWxsLT5iYWNr
KCkubnVjbGV1cygpLT5jZWxsKDApLCBGTEFHX0lURU0sIG1vZGUpOwogCQkJCX0KIApkaWZmIC0t
Z2l0IGEvc3JjL3RleDJseXgvUHJlYW1ibGUuY3BwIGIvc3JjL3RleDJseXgvUHJlYW1ibGUuY3Bw
CmluZGV4IDcxM2Q3NmY5ZmMuLjIwOTliMzdmM2QgMTAwNjQ0Ci0tLSBhL3NyYy90ZXgybHl4L1By
ZWFtYmxlLmNwcAorKysgYi9zcmMvdGV4Mmx5eC9QcmVhbWJsZS5jcHAKQEAgLTEwNjgsNiArMTA2
OCw3IEBAIFByZWFtYmxlOjpQcmVhbWJsZSgpIDogb25lX2xhbmd1YWdlKHRydWUpLCBkZWZhdWx0
X2xhbmd1YWdlKCJlbmdsaXNoIiksCiAJaF9jcm9zc3JlZl9wYWNrYWdlICAgICAgICA9ICJwcmV0
dHlyZWYiOwogCWhfdXNlX21pbnRlZCAgICAgICAgICAgICAgPSBmYWxzZTsKIAloX3VzZV94Y29s
b3Jfc3ZnbmFtZXMgICAgID0gZmFsc2U7CisJaF91c2VfcGFja2FnZXNbImFsaWduZWQtb3ZlcnNl
dCJdID0gIjAiOwogCWhfdXNlX3BhY2thZ2VzWyJhbXNtYXRoIl0gICAgPSAiMSI7CiAJaF91c2Vf
cGFja2FnZXNbImFtc3N5bWIiXSAgICA9ICIwIjsKIAloX3VzZV9wYWNrYWdlc1siY2FuY2VsIl0g
ICAgID0gIjAiOwpAQCAtMjA3Myw3ICsyMDc0LDcgQEAgdm9pZCBQcmVhbWJsZTo6aGFuZGxlX3Bh
Y2thZ2UoUGFyc2VyICZwLCBzdHJpbmcgY29uc3QgJiBuYW1lLAogCQl8fAlpc19rbm93bihuYW1l
LCBrbm93bl90eXBld3JpdGVyX2ZvbnRfcGFja2FnZXMpIHx8IGlzX2tub3duKG5hbWUsIGtub3du
X21hdGhfZm9udF9wYWNrYWdlcykpCiAJCTsKIAkvLyJPbiIuIFNlZSB0aGUgZW51bSBQYWNrYWdl
IGluIEJ1ZmZlclBhcmFtcy5oIGlmIHlvdSB0aG91Z2h0IHRoYXQgIjIiIHNob3VsZCBoYXZlIGJl
ZW4gIjQyIgotCWVsc2UgaWYgKG5hbWUgPT0gImFtc21hdGgiIHx8IG5hbWUgPT0gImFtc3N5bWIi
IHx8IG5hbWUgPT0gImNhbmNlbCIgfHwKKwllbHNlIGlmIChuYW1lID09ICJhbGlnbmVkLW92ZXJz
ZXQiIHx8IG5hbWUgPT0gImFtc21hdGgiIHx8IG5hbWUgPT0gImFtc3N5bWIiIHx8IG5hbWUgPT0g
ImNhbmNlbCIgfHwKIAkgICAgICAgICBuYW1lID09ICJlc2ludCIgfHwgbmFtZSA9PSAibWhjaGVt
IiB8fCBuYW1lID09ICJtYXRoZG90cyIgfHwKIAkgICAgICAgICBuYW1lID09ICJtYXRodG9vbHMi
IHx8IG5hbWUgPT0gInN0YWNrcmVsIiB8fAogCQkgbmFtZSA9PSAic3RtYXJ5cmQiIHx8IG5hbWUg
PT0gInVuZGVydGlsZGUiKSB7CmRpZmYgLS1naXQgYS9zcmMvdGV4Mmx5eC90ZXN0L0NKSy5seXgu
bHl4IGIvc3JjL3RleDJseXgvdGVzdC9DSksubHl4Lmx5eAppbmRleCA1YjU4YjFmZmZmLi5kMjkx
NjFkYzM5IDEwMDY0NAotLS0gYS9zcmMvdGV4Mmx5eC90ZXN0L0NKSy5seXgubHl4CisrKyBiL3Ny
Yy90ZXgybHl4L3Rlc3QvQ0pLLmx5eC5seXgKQEAgLTEsNSArMSw1IEBACiAjTHlYIGZpbGUgY3Jl
YXRlZCBieSB0ZXgybHl4IDIuNgotXGx5eGZvcm1hdCA2NTcKK1xseXhmb3JtYXQgNjU4CiBcYmVn
aW5fZG9jdW1lbnQKIFxiZWdpbl9oZWFkZXIKIFxzYXZlX3RyYW5zaWVudF9wcm9wZXJ0aWVzIHRy
dWUKQEAgLTQ2LDYgKzQ2LDcgQEAKIFx1c2VfaHlwZXJyZWYgZmFsc2UKIFxwYXBlcnNpemUgZGVm
YXVsdAogXHVzZV9nZW9tZXRyeSBmYWxzZQorXHVzZV9wYWNrYWdlIGFsaWduZWQtb3ZlcnNldCAw
CiBcdXNlX3BhY2thZ2UgYW1zbWF0aCAxCiBcdXNlX3BhY2thZ2UgYW1zc3ltYiAwCiBcdXNlX3Bh
Y2thZ2UgY2FuY2VsIDAKZGlmZiAtLWdpdCBhL3NyYy90ZXgybHl4L3Rlc3QvQ0pLdXRmOC5seXgu
bHl4IGIvc3JjL3RleDJseXgvdGVzdC9DSkt1dGY4Lmx5eC5seXgKaW5kZXggMGU2ZjlkMjFlMS4u
NTI4NmIyOGJiMiAxMDA2NDQKLS0tIGEvc3JjL3RleDJseXgvdGVzdC9DSkt1dGY4Lmx5eC5seXgK
KysrIGIvc3JjL3RleDJseXgvdGVzdC9DSkt1dGY4Lmx5eC5seXgKQEAgLTEsNSArMSw1IEBACiAj
THlYIGZpbGUgY3JlYXRlZCBieSB0ZXgybHl4IDIuNgotXGx5eGZvcm1hdCA2NTcKK1xseXhmb3Jt
YXQgNjU4CiBcYmVnaW5fZG9jdW1lbnQKIFxiZWdpbl9oZWFkZXIKIFxzYXZlX3RyYW5zaWVudF9w
cm9wZXJ0aWVzIHRydWUKQEAgLTQ2LDYgKzQ2LDcgQEAKIFx1c2VfaHlwZXJyZWYgZmFsc2UKIFxw
YXBlcnNpemUgZGVmYXVsdAogXHVzZV9nZW9tZXRyeSBmYWxzZQorXHVzZV9wYWNrYWdlIGFsaWdu
ZWQtb3ZlcnNldCAwCiBcdXNlX3BhY2thZ2UgYW1zbWF0aCAxCiBcdXNlX3BhY2thZ2UgYW1zc3lt
YiAwCiBcdXNlX3BhY2thZ2UgY2FuY2VsIDAKZGlmZiAtLWdpdCBhL3NyYy90ZXgybHl4L3Rlc3Qv
RHVtbXlEb2N1bWVudC5seXgubHl4IGIvc3JjL3RleDJseXgvdGVzdC9EdW1teURvY3VtZW50Lmx5
eC5seXgKaW5kZXggZmNmOTkzZGQ3Yy4uOTc1ZTRjMjM1NiAxMDA2NDQKLS0tIGEvc3JjL3RleDJs
eXgvdGVzdC9EdW1teURvY3VtZW50Lmx5eC5seXgKKysrIGIvc3JjL3RleDJseXgvdGVzdC9EdW1t
eURvY3VtZW50Lmx5eC5seXgKQEAgLTEsNSArMSw1IEBACiAjTHlYIGZpbGUgY3JlYXRlZCBieSB0
ZXgybHl4IDIuNgotXGx5eGZvcm1hdCA2NTcKK1xseXhmb3JtYXQgNjU4CiBcYmVnaW5fZG9jdW1l
bnQKIFxiZWdpbl9oZWFkZXIKIFxzYXZlX3RyYW5zaWVudF9wcm9wZXJ0aWVzIHRydWUKQEAgLTQ0
LDYgKzQ0LDcgQEAKIFxwZGZfcGRmdXNldGl0bGUgMAogXHBhcGVyc2l6ZSBhNAogXHVzZV9nZW9t
ZXRyeSBmYWxzZQorXHVzZV9wYWNrYWdlIGFsaWduZWQtb3ZlcnNldCAwCiBcdXNlX3BhY2thZ2Ug
YW1zbWF0aCAyCiBcdXNlX3BhY2thZ2UgYW1zc3ltYiAyCiBcdXNlX3BhY2thZ2UgY2FuY2VsIDAK
ZGlmZiAtLWdpdCBhL3NyYy90ZXgybHl4L3Rlc3QvRHVtbXl+RG9jdW1lbnQubHl4Lmx5eCBiL3Ny
Yy90ZXgybHl4L3Rlc3QvRHVtbXl+RG9jdW1lbnQubHl4Lmx5eAppbmRleCBhMzQ5Y2YxMWMxLi4x
Y2I1MDkwNTMwIDEwMDY0NAotLS0gYS9zcmMvdGV4Mmx5eC90ZXN0L0R1bW15fkRvY3VtZW50Lmx5
eC5seXgKKysrIGIvc3JjL3RleDJseXgvdGVzdC9EdW1teX5Eb2N1bWVudC5seXgubHl4CkBAIC0x
LDUgKzEsNSBAQAogI0x5WCBmaWxlIGNyZWF0ZWQgYnkgdGV4Mmx5eCAyLjYKLVxseXhmb3JtYXQg
NjU3CitcbHl4Zm9ybWF0IDY1OAogXGJlZ2luX2RvY3VtZW50CiBcYmVnaW5faGVhZGVyCiBcc2F2
ZV90cmFuc2llbnRfcHJvcGVydGllcyB0cnVlCkBAIC00NCw2ICs0NCw3IEBACiBccGRmX3BkZnVz
ZXRpdGxlIDAKIFxwYXBlcnNpemUgYTQKIFx1c2VfZ2VvbWV0cnkgZmFsc2UKK1x1c2VfcGFja2Fn
ZSBhbGlnbmVkLW92ZXJzZXQgMAogXHVzZV9wYWNrYWdlIGFtc21hdGggMgogXHVzZV9wYWNrYWdl
IGFtc3N5bWIgMgogXHVzZV9wYWNrYWdlIGNhbmNlbCAwCmRpZmYgLS1naXQgYS9zcmMvdGV4Mmx5
eC90ZXN0L1hlVGVYLXBvbHlnbG9zc2lhLmx5eC5seXggYi9zcmMvdGV4Mmx5eC90ZXN0L1hlVGVY
LXBvbHlnbG9zc2lhLmx5eC5seXgKaW5kZXggNGUzOWNiYmY2Ny4uMDdiNDY3YTEyYSAxMDA2NDQK
LS0tIGEvc3JjL3RleDJseXgvdGVzdC9YZVRlWC1wb2x5Z2xvc3NpYS5seXgubHl4CisrKyBiL3Ny
Yy90ZXgybHl4L3Rlc3QvWGVUZVgtcG9seWdsb3NzaWEubHl4Lmx5eApAQCAtMSw1ICsxLDUgQEAK
ICNMeVggZmlsZSBjcmVhdGVkIGJ5IHRleDJseXggMi42Ci1cbHl4Zm9ybWF0IDY1NworXGx5eGZv
cm1hdCA2NTgKIFxiZWdpbl9kb2N1bWVudAogXGJlZ2luX2hlYWRlcgogXHNhdmVfdHJhbnNpZW50
X3Byb3BlcnRpZXMgdHJ1ZQpAQCAtNDUsNiArNDUsNyBAQAogXHVzZV9oeXBlcnJlZiBmYWxzZQog
XHBhcGVyc2l6ZSBkZWZhdWx0CiBcdXNlX2dlb21ldHJ5IGZhbHNlCitcdXNlX3BhY2thZ2UgYWxp
Z25lZC1vdmVyc2V0IDAKIFx1c2VfcGFja2FnZSBhbXNtYXRoIDEKIFx1c2VfcGFja2FnZSBhbXNz
eW1iIDAKIFx1c2VfcGFja2FnZSBjYW5jZWwgMApkaWZmIC0tZ2l0IGEvc3JjL3RleDJseXgvdGVz
dC9hbGdvMmUubHl4Lmx5eCBiL3NyYy90ZXgybHl4L3Rlc3QvYWxnbzJlLmx5eC5seXgKaW5kZXgg
ZTZlMGRiMzY4OC4uYTQwMWZmNDU2MyAxMDA2NDQKLS0tIGEvc3JjL3RleDJseXgvdGVzdC9hbGdv
MmUubHl4Lmx5eAorKysgYi9zcmMvdGV4Mmx5eC90ZXN0L2FsZ28yZS5seXgubHl4CkBAIC0xLDUg
KzEsNSBAQAogI0x5WCBmaWxlIGNyZWF0ZWQgYnkgdGV4Mmx5eCAyLjYKLVxseXhmb3JtYXQgNjU3
CitcbHl4Zm9ybWF0IDY1OAogXGJlZ2luX2RvY3VtZW50CiBcYmVnaW5faGVhZGVyCiBcc2F2ZV90
cmFuc2llbnRfcHJvcGVydGllcyB0cnVlCkBAIC00NCw2ICs0NCw3IEBAIGFsZ29yaXRobTJlCiBc
dXNlX2h5cGVycmVmIGZhbHNlCiBccGFwZXJzaXplIGRlZmF1bHQKIFx1c2VfZ2VvbWV0cnkgZmFs
c2UKK1x1c2VfcGFja2FnZSBhbGlnbmVkLW92ZXJzZXQgMAogXHVzZV9wYWNrYWdlIGFtc21hdGgg
MQogXHVzZV9wYWNrYWdlIGFtc3N5bWIgMAogXHVzZV9wYWNrYWdlIGNhbmNlbCAwCmRpZmYgLS1n
aXQgYS9zcmMvdGV4Mmx5eC90ZXN0L2JlYW1lci5seXgubHl4IGIvc3JjL3RleDJseXgvdGVzdC9i
ZWFtZXIubHl4Lmx5eAppbmRleCA5YmNkNzJjOTAzLi5iYjQ4ZDFiODhmIDEwMDY0NAotLS0gYS9z
cmMvdGV4Mmx5eC90ZXN0L2JlYW1lci5seXgubHl4CisrKyBiL3NyYy90ZXgybHl4L3Rlc3QvYmVh
bWVyLmx5eC5seXgKQEAgLTEsNSArMSw1IEBACiAjTHlYIGZpbGUgY3JlYXRlZCBieSB0ZXgybHl4
IDIuNgotXGx5eGZvcm1hdCA2NTcKK1xseXhmb3JtYXQgNjU4CiBcYmVnaW5fZG9jdW1lbnQKIFxi
ZWdpbl9oZWFkZXIKIFxzYXZlX3RyYW5zaWVudF9wcm9wZXJ0aWVzIHRydWUKQEAgLTQ1LDYgKzQ1
LDcgQEAKIFx1c2VfaHlwZXJyZWYgZmFsc2UKIFxwYXBlcnNpemUgZGVmYXVsdAogXHVzZV9nZW9t
ZXRyeSBmYWxzZQorXHVzZV9wYWNrYWdlIGFsaWduZWQtb3ZlcnNldCAwCiBcdXNlX3BhY2thZ2Ug
YW1zbWF0aCAxCiBcdXNlX3BhY2thZ2UgYW1zc3ltYiAwCiBcdXNlX3BhY2thZ2UgY2FuY2VsIDAK
ZGlmZiAtLWdpdCBhL3NyYy90ZXgybHl4L3Rlc3QvYm94LWNvbG9yLXNpemUtc3BhY2UtYWxpZ24u
bHl4Lmx5eCBiL3NyYy90ZXgybHl4L3Rlc3QvYm94LWNvbG9yLXNpemUtc3BhY2UtYWxpZ24ubHl4
Lmx5eAppbmRleCA1YmUxOTRkNWE2Li43MTBlMmExODBhIDEwMDY0NAotLS0gYS9zcmMvdGV4Mmx5
eC90ZXN0L2JveC1jb2xvci1zaXplLXNwYWNlLWFsaWduLmx5eC5seXgKKysrIGIvc3JjL3RleDJs
eXgvdGVzdC9ib3gtY29sb3Itc2l6ZS1zcGFjZS1hbGlnbi5seXgubHl4CkBAIC0xLDUgKzEsNSBA
QAogI0x5WCBmaWxlIGNyZWF0ZWQgYnkgdGV4Mmx5eCAyLjYKLVxseXhmb3JtYXQgNjU3CitcbHl4
Zm9ybWF0IDY1OAogXGJlZ2luX2RvY3VtZW50CiBcYmVnaW5faGVhZGVyCiBcc2F2ZV90cmFuc2ll
bnRfcHJvcGVydGllcyB0cnVlCkBAIC03MCw2ICs3MCw3IEBACiBcdXNlX2h5cGVycmVmIGZhbHNl
CiBccGFwZXJzaXplIGI0CiBcdXNlX2dlb21ldHJ5IHRydWUKK1x1c2VfcGFja2FnZSBhbGlnbmVk
LW92ZXJzZXQgMAogXHVzZV9wYWNrYWdlIGFtc21hdGggMgogXHVzZV9wYWNrYWdlIGFtc3N5bWIg
MAogXHVzZV9wYWNrYWdlIGNhbmNlbCAwCmRpZmYgLS1naXQgYS9zcmMvdGV4Mmx5eC90ZXN0L2xp
c3RwcmVhbWJsZS5seXgubHl4IGIvc3JjL3RleDJseXgvdGVzdC9saXN0cHJlYW1ibGUubHl4Lmx5
eAppbmRleCA0ZGRjM2MzOWMwLi4xMzI1NjdmYWEwIDEwMDY0NAotLS0gYS9zcmMvdGV4Mmx5eC90
ZXN0L2xpc3RwcmVhbWJsZS5seXgubHl4CisrKyBiL3NyYy90ZXgybHl4L3Rlc3QvbGlzdHByZWFt
YmxlLmx5eC5seXgKQEAgLTEsNSArMSw1IEBACiAjTHlYIGZpbGUgY3JlYXRlZCBieSB0ZXgybHl4
IDIuNgotXGx5eGZvcm1hdCA2NTcKK1xseXhmb3JtYXQgNjU4CiBcYmVnaW5fZG9jdW1lbnQKIFxi
ZWdpbl9oZWFkZXIKIFxzYXZlX3RyYW5zaWVudF9wcm9wZXJ0aWVzIHRydWUKQEAgLTQ5LDYgKzQ5
LDcgQEAKIFx1c2VfaHlwZXJyZWYgZmFsc2UKIFxwYXBlcnNpemUgZGVmYXVsdAogXHVzZV9nZW9t
ZXRyeSBmYWxzZQorXHVzZV9wYWNrYWdlIGFsaWduZWQtb3ZlcnNldCAwCiBcdXNlX3BhY2thZ2Ug
YW1zbWF0aCAxCiBcdXNlX3BhY2thZ2UgYW1zc3ltYiAwCiBcdXNlX3BhY2thZ2UgY2FuY2VsIDAK
ZGlmZiAtLWdpdCBhL3NyYy90ZXgybHl4L3Rlc3QvdGFidWxhci14LXRlc3QubHl4Lmx5eCBiL3Ny
Yy90ZXgybHl4L3Rlc3QvdGFidWxhci14LXRlc3QubHl4Lmx5eAppbmRleCBkNWNjNWZkZTY2Li4y
NzJjMGQ3NjBhIDEwMDY0NAotLS0gYS9zcmMvdGV4Mmx5eC90ZXN0L3RhYnVsYXIteC10ZXN0Lmx5
eC5seXgKKysrIGIvc3JjL3RleDJseXgvdGVzdC90YWJ1bGFyLXgtdGVzdC5seXgubHl4CkBAIC0x
LDUgKzEsNSBAQAogI0x5WCBmaWxlIGNyZWF0ZWQgYnkgdGV4Mmx5eCAyLjYKLVxseXhmb3JtYXQg
NjU3CitcbHl4Zm9ybWF0IDY1OAogXGJlZ2luX2RvY3VtZW50CiBcYmVnaW5faGVhZGVyCiBcc2F2
ZV90cmFuc2llbnRfcHJvcGVydGllcyB0cnVlCkBAIC00Nyw2ICs0Nyw3IEBACiBcdXNlX2h5cGVy
cmVmIGZhbHNlCiBccGFwZXJzaXplIGRlZmF1bHQKIFx1c2VfZ2VvbWV0cnkgZmFsc2UKK1x1c2Vf
cGFja2FnZSBhbGlnbmVkLW92ZXJzZXQgMAogXHVzZV9wYWNrYWdlIGFtc21hdGggMQogXHVzZV9w
YWNrYWdlIGFtc3N5bWIgMAogXHVzZV9wYWNrYWdlIGNhbmNlbCAwCmRpZmYgLS1naXQgYS9zcmMv
dGV4Mmx5eC90ZXN0L3Rlc3QtaW5zZXRzLWJhc2ljLmx5eC5seXggYi9zcmMvdGV4Mmx5eC90ZXN0
L3Rlc3QtaW5zZXRzLWJhc2ljLmx5eC5seXgKaW5kZXggODc0NDVhN2JlOC4uYTYzMDNiMjlhMiAx
MDA2NDQKLS0tIGEvc3JjL3RleDJseXgvdGVzdC90ZXN0LWluc2V0cy1iYXNpYy5seXgubHl4Cisr
KyBiL3NyYy90ZXgybHl4L3Rlc3QvdGVzdC1pbnNldHMtYmFzaWMubHl4Lmx5eApAQCAtMSw1ICsx
LDUgQEAKICNMeVggZmlsZSBjcmVhdGVkIGJ5IHRleDJseXggMi42Ci1cbHl4Zm9ybWF0IDY1Nwor
XGx5eGZvcm1hdCA2NTgKIFxiZWdpbl9kb2N1bWVudAogXGJlZ2luX2hlYWRlcgogXHNhdmVfdHJh
bnNpZW50X3Byb3BlcnRpZXMgdHJ1ZQpAQCAtODAsNiArODAsNyBAQAogXHBkZl9wZGZ1c2V0aXRs
ZSAwCiBccGFwZXJzaXplIGE0CiBcdXNlX2dlb21ldHJ5IGZhbHNlCitcdXNlX3BhY2thZ2UgYWxp
Z25lZC1vdmVyc2V0IDAKIFx1c2VfcGFja2FnZSBhbXNtYXRoIDIKIFx1c2VfcGFja2FnZSBhbXNz
eW1iIDIKIFx1c2VfcGFja2FnZSBjYW5jZWwgMApkaWZmIC0tZ2l0IGEvc3JjL3RleDJseXgvdGVz
dC90ZXN0LWluc2V0cy5seXgubHl4IGIvc3JjL3RleDJseXgvdGVzdC90ZXN0LWluc2V0cy5seXgu
bHl4CmluZGV4IDRkMzBlNzQ2NDQuLmM5ZjFkNjdmYWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXgybHl4
L3Rlc3QvdGVzdC1pbnNldHMubHl4Lmx5eAorKysgYi9zcmMvdGV4Mmx5eC90ZXN0L3Rlc3QtaW5z
ZXRzLmx5eC5seXgKQEAgLTEsNSArMSw1IEBACiAjTHlYIGZpbGUgY3JlYXRlZCBieSB0ZXgybHl4
IDIuNgotXGx5eGZvcm1hdCA2NTcKK1xseXhmb3JtYXQgNjU4CiBcYmVnaW5fZG9jdW1lbnQKIFxi
ZWdpbl9oZWFkZXIKIFxzYXZlX3RyYW5zaWVudF9wcm9wZXJ0aWVzIHRydWUKQEAgLTU2LDYgKzU2
LDcgQEAKIFxwZGZfcGRmdXNldGl0bGUgMAogXHBhcGVyc2l6ZSBhNAogXHVzZV9nZW9tZXRyeSBm
YWxzZQorXHVzZV9wYWNrYWdlIGFsaWduZWQtb3ZlcnNldCAwCiBcdXNlX3BhY2thZ2UgYW1zbWF0
aCAyCiBcdXNlX3BhY2thZ2UgYW1zc3ltYiAyCiBcdXNlX3BhY2thZ2UgY2FuY2VsIDAKZGlmZiAt
LWdpdCBhL3NyYy90ZXgybHl4L3Rlc3QvdGVzdC1tZW1vaXIubHl4Lmx5eCBiL3NyYy90ZXgybHl4
L3Rlc3QvdGVzdC1tZW1vaXIubHl4Lmx5eAppbmRleCA4ZDE1ODRlZDY4Li45ODI0ODVkOGYxIDEw
MDY0NAotLS0gYS9zcmMvdGV4Mmx5eC90ZXN0L3Rlc3QtbWVtb2lyLmx5eC5seXgKKysrIGIvc3Jj
L3RleDJseXgvdGVzdC90ZXN0LW1lbW9pci5seXgubHl4CkBAIC0xLDUgKzEsNSBAQAogI0x5WCBm
aWxlIGNyZWF0ZWQgYnkgdGV4Mmx5eCAyLjYKLVxseXhmb3JtYXQgNjU3CitcbHl4Zm9ybWF0IDY1
OAogXGJlZ2luX2RvY3VtZW50CiBcYmVnaW5faGVhZGVyCiBcc2F2ZV90cmFuc2llbnRfcHJvcGVy
dGllcyB0cnVlCkBAIC00Miw2ICs0Miw3IEBACiBcdXNlX2h5cGVycmVmIGZhbHNlCiBccGFwZXJz
aXplIGRlZmF1bHQKIFx1c2VfZ2VvbWV0cnkgZmFsc2UKK1x1c2VfcGFja2FnZSBhbGlnbmVkLW92
ZXJzZXQgMAogXHVzZV9wYWNrYWdlIGFtc21hdGggMQogXHVzZV9wYWNrYWdlIGFtc3N5bWIgMAog
XHVzZV9wYWNrYWdlIGNhbmNlbCAwCmRpZmYgLS1naXQgYS9zcmMvdGV4Mmx5eC90ZXN0L3Rlc3Qt
bWludGVkLmx5eC5seXggYi9zcmMvdGV4Mmx5eC90ZXN0L3Rlc3QtbWludGVkLmx5eC5seXgKaW5k
ZXggODJmMDQxNzcyNS4uMGIyNWIzMDE0NCAxMDA2NDQKLS0tIGEvc3JjL3RleDJseXgvdGVzdC90
ZXN0LW1pbnRlZC5seXgubHl4CisrKyBiL3NyYy90ZXgybHl4L3Rlc3QvdGVzdC1taW50ZWQubHl4
Lmx5eApAQCAtMSw1ICsxLDUgQEAKICNMeVggZmlsZSBjcmVhdGVkIGJ5IHRleDJseXggMi42Ci1c
bHl4Zm9ybWF0IDY1NworXGx5eGZvcm1hdCA2NTgKIFxiZWdpbl9kb2N1bWVudAogXGJlZ2luX2hl
YWRlcgogXHNhdmVfdHJhbnNpZW50X3Byb3BlcnRpZXMgdHJ1ZQpAQCAtNDEsNiArNDEsNyBAQAog
XHVzZV9oeXBlcnJlZiBmYWxzZQogXHBhcGVyc2l6ZSBhNAogXHVzZV9nZW9tZXRyeSBmYWxzZQor
XHVzZV9wYWNrYWdlIGFsaWduZWQtb3ZlcnNldCAwCiBcdXNlX3BhY2thZ2UgYW1zbWF0aCAxCiBc
dXNlX3BhY2thZ2UgYW1zc3ltYiAwCiBcdXNlX3BhY2thZ2UgY2FuY2VsIDAKZGlmZiAtLWdpdCBh
L3NyYy90ZXgybHl4L3Rlc3QvdGVzdC1tb2R1bGVzLmx5eC5seXggYi9zcmMvdGV4Mmx5eC90ZXN0
L3Rlc3QtbW9kdWxlcy5seXgubHl4CmluZGV4IDQ4YjYyYjIwZmIuLjI5YTczMzZjYjIgMTAwNjQ0
Ci0tLSBhL3NyYy90ZXgybHl4L3Rlc3QvdGVzdC1tb2R1bGVzLmx5eC5seXgKKysrIGIvc3JjL3Rl
eDJseXgvdGVzdC90ZXN0LW1vZHVsZXMubHl4Lmx5eApAQCAtMSw1ICsxLDUgQEAKICNMeVggZmls
ZSBjcmVhdGVkIGJ5IHRleDJseXggMi42Ci1cbHl4Zm9ybWF0IDY1NworXGx5eGZvcm1hdCA2NTgK
IFxiZWdpbl9kb2N1bWVudAogXGJlZ2luX2hlYWRlcgogXHNhdmVfdHJhbnNpZW50X3Byb3BlcnRp
ZXMgdHJ1ZQpAQCAtNDIsNiArNDIsNyBAQCB0aGVvcmVtcy1hbXMKIFx1c2VfaHlwZXJyZWYgZmFs
c2UKIFxwYXBlcnNpemUgZGVmYXVsdAogXHVzZV9nZW9tZXRyeSBmYWxzZQorXHVzZV9wYWNrYWdl
IGFsaWduZWQtb3ZlcnNldCAwCiBcdXNlX3BhY2thZ2UgYW1zbWF0aCAxCiBcdXNlX3BhY2thZ2Ug
YW1zc3ltYiAwCiBcdXNlX3BhY2thZ2UgY2FuY2VsIDAKZGlmZiAtLWdpdCBhL3NyYy90ZXgybHl4
L3Rlc3QvdGVzdC1yZWZzdHlsZS10aGVvcmVtcy5seXgubHl4IGIvc3JjL3RleDJseXgvdGVzdC90
ZXN0LXJlZnN0eWxlLXRoZW9yZW1zLmx5eC5seXgKaW5kZXggNDUzMTg0YTRlMi4uYTA2YjU4OGZi
ZiAxMDA2NDQKLS0tIGEvc3JjL3RleDJseXgvdGVzdC90ZXN0LXJlZnN0eWxlLXRoZW9yZW1zLmx5
eC5seXgKKysrIGIvc3JjL3RleDJseXgvdGVzdC90ZXN0LXJlZnN0eWxlLXRoZW9yZW1zLmx5eC5s
eXgKQEAgLTEsNSArMSw1IEBACiAjTHlYIGZpbGUgY3JlYXRlZCBieSB0ZXgybHl4IDIuNgotXGx5
eGZvcm1hdCA2NTcKK1xseXhmb3JtYXQgNjU4CiBcYmVnaW5fZG9jdW1lbnQKIFxiZWdpbl9oZWFk
ZXIKIFxzYXZlX3RyYW5zaWVudF9wcm9wZXJ0aWVzIHRydWUKQEAgLTQyLDYgKzQyLDcgQEAgdGhl
b3JlbXMtYW1zCiBcdXNlX2h5cGVycmVmIGZhbHNlCiBccGFwZXJzaXplIGRlZmF1bHQKIFx1c2Vf
Z2VvbWV0cnkgZmFsc2UKK1x1c2VfcGFja2FnZSBhbGlnbmVkLW92ZXJzZXQgMAogXHVzZV9wYWNr
YWdlIGFtc21hdGggMQogXHVzZV9wYWNrYWdlIGFtc3N5bWIgMAogXHVzZV9wYWNrYWdlIGNhbmNl
bCAwCmRpZmYgLS1naXQgYS9zcmMvdGV4Mmx5eC90ZXN0L3Rlc3Qtc2NyLmx5eC5seXggYi9zcmMv
dGV4Mmx5eC90ZXN0L3Rlc3Qtc2NyLmx5eC5seXgKaW5kZXggZDNhNzQ2ZDZmMy4uYjZhOGUxZGY3
MiAxMDA2NDQKLS0tIGEvc3JjL3RleDJseXgvdGVzdC90ZXN0LXNjci5seXgubHl4CisrKyBiL3Ny
Yy90ZXgybHl4L3Rlc3QvdGVzdC1zY3IubHl4Lmx5eApAQCAtMSw1ICsxLDUgQEAKICNMeVggZmls
ZSBjcmVhdGVkIGJ5IHRleDJseXggMi42Ci1cbHl4Zm9ybWF0IDY1NworXGx5eGZvcm1hdCA2NTgK
IFxiZWdpbl9kb2N1bWVudAogXGJlZ2luX2hlYWRlcgogXHNhdmVfdHJhbnNpZW50X3Byb3BlcnRp
ZXMgdHJ1ZQpAQCAtMzksNiArMzksNyBAQAogXHVzZV9oeXBlcnJlZiBmYWxzZQogXHBhcGVyc2l6
ZSBkZWZhdWx0CiBcdXNlX2dlb21ldHJ5IGZhbHNlCitcdXNlX3BhY2thZ2UgYWxpZ25lZC1vdmVy
c2V0IDAKIFx1c2VfcGFja2FnZSBhbXNtYXRoIDEKIFx1c2VfcGFja2FnZSBhbXNzeW1iIDAKIFx1
c2VfcGFja2FnZSBjYW5jZWwgMApkaWZmIC0tZ2l0IGEvc3JjL3RleDJseXgvdGVzdC90ZXN0LXN0
cnVjdHVyZS5seXgubHl4IGIvc3JjL3RleDJseXgvdGVzdC90ZXN0LXN0cnVjdHVyZS5seXgubHl4
CmluZGV4IGMxODRkNmM5MTMuLjJiNjFkMDdlNzEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXgybHl4L3Rl
c3QvdGVzdC1zdHJ1Y3R1cmUubHl4Lmx5eAorKysgYi9zcmMvdGV4Mmx5eC90ZXN0L3Rlc3Qtc3Ry
dWN0dXJlLmx5eC5seXgKQEAgLTEsNSArMSw1IEBACiAjTHlYIGZpbGUgY3JlYXRlZCBieSB0ZXgy
bHl4IDIuNgotXGx5eGZvcm1hdCA2NTcKK1xseXhmb3JtYXQgNjU4CiBcYmVnaW5fZG9jdW1lbnQK
IFxiZWdpbl9oZWFkZXIKIFxzYXZlX3RyYW5zaWVudF9wcm9wZXJ0aWVzIHRydWUKQEAgLTc2LDYg
Kzc2LDcgQEAgbG9naWNhbG1rdXAKIFx1c2VfaHlwZXJyZWYgZmFsc2UKIFxwYXBlcnNpemUgbGVn
YWwKIFx1c2VfZ2VvbWV0cnkgZmFsc2UKK1x1c2VfcGFja2FnZSBhbGlnbmVkLW92ZXJzZXQgMAog
XHVzZV9wYWNrYWdlIGFtc21hdGggMQogXHVzZV9wYWNrYWdlIGFtc3N5bWIgMAogXHVzZV9wYWNr
YWdlIGNhbmNlbCAwCmRpZmYgLS1naXQgYS9zcmMvdGV4Mmx5eC90ZXN0L3Rlc3QubHl4Lmx5eCBi
L3NyYy90ZXgybHl4L3Rlc3QvdGVzdC5seXgubHl4CmluZGV4IGJjMGVmMTljNTguLmVkNTgxYTIz
OWMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXgybHl4L3Rlc3QvdGVzdC5seXgubHl4CisrKyBiL3NyYy90
ZXgybHl4L3Rlc3QvdGVzdC5seXgubHl4CkBAIC0xLDUgKzEsNSBAQAogI0x5WCBmaWxlIGNyZWF0
ZWQgYnkgdGV4Mmx5eCAyLjYKLVxseXhmb3JtYXQgNjU3CitcbHl4Zm9ybWF0IDY1OAogXGJlZ2lu
X2RvY3VtZW50CiBcYmVnaW5faGVhZGVyCiBcc2F2ZV90cmFuc2llbnRfcHJvcGVydGllcyB0cnVl
CkBAIC00Niw2ICs0Niw3IEBACiBcdXNlX2h5cGVycmVmIGZhbHNlCiBccGFwZXJzaXplIGRlZmF1
bHQKIFx1c2VfZ2VvbWV0cnkgZmFsc2UKK1x1c2VfcGFja2FnZSBhbGlnbmVkLW92ZXJzZXQgMAog
XHVzZV9wYWNrYWdlIGFtc21hdGggMQogXHVzZV9wYWNrYWdlIGFtc3N5bWIgMAogXHVzZV9wYWNr
YWdlIGNhbmNlbCAwCmRpZmYgLS1naXQgYS9zcmMvdGV4Mmx5eC90ZXN0L3ZlcmJhdGltLmx5eC5s
eXggYi9zcmMvdGV4Mmx5eC90ZXN0L3ZlcmJhdGltLmx5eC5seXgKaW5kZXggOWNkM2M5Mzg1ZS4u
OTBiOWVmNDE2NCAxMDA2NDQKLS0tIGEvc3JjL3RleDJseXgvdGVzdC92ZXJiYXRpbS5seXgubHl4
CisrKyBiL3NyYy90ZXgybHl4L3Rlc3QvdmVyYmF0aW0ubHl4Lmx5eApAQCAtMSw1ICsxLDUgQEAK
ICNMeVggZmlsZSBjcmVhdGVkIGJ5IHRleDJseXggMi42Ci1cbHl4Zm9ybWF0IDY1NworXGx5eGZv
cm1hdCA2NTgKIFxiZWdpbl9kb2N1bWVudAogXGJlZ2luX2hlYWRlcgogXHNhdmVfdHJhbnNpZW50
X3Byb3BlcnRpZXMgdHJ1ZQpAQCAtMzUsNiArMzUsNyBAQAogXHVzZV9oeXBlcnJlZiBmYWxzZQog
XHBhcGVyc2l6ZSBkZWZhdWx0CiBcdXNlX2dlb21ldHJ5IGZhbHNlCitcdXNlX3BhY2thZ2UgYWxp
Z25lZC1vdmVyc2V0IDAKIFx1c2VfcGFja2FnZSBhbXNtYXRoIDEKIFx1c2VfcGFja2FnZSBhbXNz
eW1iIDAKIFx1c2VfcGFja2FnZSBjYW5jZWwgMApkaWZmIC0tZ2l0IGEvc3JjL3ZlcnNpb24uaCBi
L3NyYy92ZXJzaW9uLmgKaW5kZXggOTNlZWZmMDRhNi4uM2E1NDY2Yjk5OCAxMDA2NDQKLS0tIGEv
c3JjL3ZlcnNpb24uaAorKysgYi9zcmMvdmVyc2lvbi5oCkBAIC0zMiw4ICszMiw4IEBAIGV4dGVy
biBjaGFyIGNvbnN0ICogY29uc3QgbHl4X3ZlcnNpb25faW5mbzsKIAogLy8gRG8gbm90IHJlbW92
ZSB0aGUgY29tbWVudCBiZWxvdywgc28gd2UgZ2V0IG1lcmdlIGNvbmZsaWN0IGluCiAvLyBpbmRl
cGVuZGVudCBicmFuY2hlcy4gSW5zdGVhZCBhZGQgeW91ciBvd24uCi0jZGVmaW5lIExZWF9GT1JN
QVRfTFlYIDY1NyAvLyBzcGl0ejogbWF0dGVycwotI2RlZmluZSBMWVhfRk9STUFUX1RFWDJMWVgg
NjU3CisjZGVmaW5lIExZWF9GT1JNQVRfTFlYIDY1OCAvLyB1Zm9naWVsOiBhbGlnbmVkLW92ZXJz
ZXQKKyNkZWZpbmUgTFlYX0ZPUk1BVF9URVgyTFlYIDY1OAogCiAjaWYgTFlYX0ZPUk1BVF9URVgy
TFlYICE9IExZWF9GT1JNQVRfTFlYCiAjaWZuZGVmIF9NU0NfVkVSCi0tIApseXgtY3ZzIG1haWxp
bmcgbGlzdApseXgtY3ZzQGxpc3RzLmx5eC5vcmcKaHR0cHM6Ly9saXN0cy5seXgub3JnL21haWxt
YW4vbGlzdGluZm8vbHl4LWN2cwo=