[Mailman-Developers] cgi/qmail patches

Nagy Balazs julian7@kva.hu
Mon, 31 Aug 1998 13:55:21 +0200 (CEST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---456965764-2069813568-904564521=:31564
Content-Type: TEXT/PLAIN; charset=US-ASCII

Diff against yesterday's CVS checkout.

Fixes / extends
  - decentralized CGI names
  - CGI extensions
  - Ack mail bug
  - qmail posting (set QMAIL to 1 in mm_cfg not to use inner spool)
     - other mailers will be handled soon
  - distclean dependencies
  - 'nofiles' group checking in configure (for qmail)
-- 
hacker: /n./ One who enjoys the intellectual challenge of creatively
             overcoming or circumventing limitations.
PGP 0x1DE3631D / A8 B4 92 EE 1F 55 27 C8  86 64 9C 42 41 A4 BD B8

---456965764-2069813568-904564521=:31564
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mailman.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.02.9808311355210.31564@krondor.kva.hu>
Content-Description: patch
Content-Disposition: attachment; filename="mailman.diff"

ZGlmZiAtYnJ1IC14IENWUyBtYWlsbWFuLm9yaWcvTWFpbG1hbi9Cb3VuY2Vy
LnB5IG1haWxtYW4vTWFpbG1hbi9Cb3VuY2VyLnB5DQotLS0gbWFpbG1hbi5v
cmlnL01haWxtYW4vQm91bmNlci5weQlTYXQgQXVnICA4IDE0OjE1OjQwIDE5
OTgNCisrKyBtYWlsbWFuL01haWxtYW4vQm91bmNlci5weQlGcmkgQXVnICA3
IDIwOjE1OjU1IDE5OTgNCkBAIC0xNzgsNyArMTc4LDcgQEANCiAgICAgICAg
ICAgICBpZiBkaWQgPT0gJ2Rpc2FibGVkJyBhbmQgc3VjY2VlZGVkID09IDE6
DQogICAgICAgICAgICAgICAgIHJlZW5hYmxlID0gVXRpbHMubWFrZXRleHQo
DQogICAgICAgICAgICAgICAgICAgICAncmVlbmFibGUudHh0JywNCi0gICAg
ICAgICAgICAgICAgICAgIHsnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNv
bHV0ZVNjcmlwdFVSTCgnbGlzdGluZm8nKSwNCisgICAgICAgICAgICAgICAg
ICAgIHsnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVS
TChtbV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAgICAgICAg
ICB9KQ0KICAgICAgICAgICAgIGVsc2U6DQogICAgICAgICAgICAgICAgIHJl
ZW5hYmxlID0gJycNCmRpZmYgLWJydSAteCBDVlMgbWFpbG1hbi5vcmlnL01h
aWxtYW4vQ2dpL2FkbWluLnB5IG1haWxtYW4vTWFpbG1hbi9DZ2kvYWRtaW4u
cHkNCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9DZ2kvYWRtaW4ucHkJU2F0
IEF1ZyAgOCAxNDoxNzoyNiAxOTk4DQorKysgbWFpbG1hbi9NYWlsbWFuL0Nn
aS9hZG1pbi5weQlGcmkgQXVnICA3IDIwOjE1OjA5IDE5OTgNCkBAIC0xMzAs
NyArMTMwLDcgQEANCiAgICAgICAgICAgICAgICAgJ2FkbWxvZ2luLnR4dCcs
DQogICAgICAgICAgICAgICAgIHsibGlzdG5hbWUiOiBsaXN0X25hbWUsDQog
ICAgICAgICAgICAgICAgICAicGF0aCIgICAgOiBvcy5lbnZpcm9uLmdldCgi
UkVRVUVTVF9VUkkiLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIi9tYWlsbWFuL2FkbWluLyIgKyBsaXN0X25hbWUp
LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9tYWlsbWFuLyIg
KyBtbV9jZmcuQURNSU5fQ0dJICsgIi8iICsgbGlzdF9uYW1lICksDQogICAg
ICAgICAgICAgICAgICAibWVzc2FnZSIgOiBtZXNzYWdlLA0KICAgICAgICAg
ICAgICAgICAgfSkNCiAgICAgICAgICAgICBwcmludCB0ZXh0DQpAQCAtMjI0
LDcgKzIyNCw3IEBADQogICAgICAgICAgICAgICAgICAgICAgICsNCiAgICAg
ICAgICAgICAgICAgICAgICAgIiBHZW5lcmFsIGxpc3QgaW5mb3JtYXRpb24g
Y2FuIGJlIGZvdW5kIGF0ICIsDQogICAgICAgICAgICAgICAgICAgICAgIExp
bmsob3MucGF0aC5qb2luKCcuLi8nKiBVdGlscy5HZXROZXN0aW5nTGV2ZWwo
KSwgDQotICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdGluZm8vIiks
ICJ0aGUgbWFpbGluZyBsaXN0IG92ZXJ2aWV3IHBhZ2UiKSwNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1tX2NmZy5MSVNUSU5GT19DR0kgKyAiLyIp
LCAidGhlIG1haWxpbmcgbGlzdCBvdmVydmlldyBwYWdlIiksDQogICAgICAg
ICAgICAgICAgICAgICAgICIuIg0KICAgICAgICAgICAgICAgICAgICAgICAi
PHA+KFNlbmQgcXVlc3Rpb25zIGFuZCBjb21tZW50cyB0byAiLA0KICAgICAg
ICAgICAgICAgICAgICAgIExpbmsoIm1haWx0bzolcyIgJSBtbV9jZmcuTUFJ
TE1BTl9PV05FUiwNCkBAIC0yMzksNyArMjM5LDcgQEANCiAgICAgaWYgYWR2
ZXJ0aXNlZDoNCiAgICAgICAgIHRhYmxlLkFkZFJvdyhbSXRhbGljKCJMaXN0
IiksIEl0YWxpYygiRGVzY3JpcHRpb24iKV0pDQogICAgICAgICBmb3IgbCBp
biBhZHZlcnRpc2VkOg0KLSAgICAgICAgICAgIHRhYmxlLkFkZFJvdyhbTGlu
ayhsLkdldFJlbGF0aXZlU2NyaXB0VVJMKCdhZG1pbicpLCANCisgICAgICAg
ICAgICB0YWJsZS5BZGRSb3coW0xpbmsobC5HZXRSZWxhdGl2ZVNjcmlwdFVS
TChtbV9jZmcuQURNSU5fQ0dJKSwgDQogCSAgICAgICAgICAgICAgICAgIEJv
bGQobC5yZWFsX25hbWUpKSxsLmRlc2NyaXB0aW9uXSkNCiANCiAgICAgZG9j
LkFkZEl0ZW0odGFibGUpDQpAQCAtMjYxLDEzICsyNjEsMTMgQEANCiAgICAg
bGlua3NfdGFibGUuQWRkUm93KFtDZW50ZXIoQm9sZCgiQ29uZmlndXJhdGlv
biBDYXRlZ29yaWVzIikpLA0KICAgICAgICAgICAgICAgICAgICAgICAgIENl
bnRlcihCb2xkKCJPdGhlciBBZG1pbmlzdHJhdGl2ZSBBY3Rpdml0aWVzIikp
XSkNCiAgICAgb3RoZXJfbGlua3MgPSBVbm9yZGVyZWRMaXN0KCkNCi0gICAg
bGluayA9IExpbmsobHN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKCdhZG1pbmRi
JyksIA0KKyAgICBsaW5rID0gTGluayhsc3QuR2V0UmVsYXRpdmVTY3JpcHRV
UkwobW1fY2ZnLkFETUlOREJfQ0dJKSwgDQogICAgICAgICAgICAgICAgICdU
ZW5kIHRvIHBlbmRpbmcgYWRtaW5pc3RyYXRpdmUgcmVxdWVzdHMuJykNCiAg
ICAgb3RoZXJfbGlua3MuQWRkSXRlbShsaW5rKQ0KLSAgICBsaW5rID0gTGlu
ayhsc3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwoJ2xpc3RpbmZvJyksDQorICAg
IGxpbmsgPSBMaW5rKGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcu
TElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAgICAgJ0dvIHRvIHRoZSBn
ZW5lcmFsIGxpc3QgaW5mb3JtYXRpb24gcGFnZS4nKQ0KICAgICBvdGhlcl9s
aW5rcy5BZGRJdGVtKGxpbmspDQotICAgIGxpbmsgPSBMaW5rKGxzdC5HZXRS
ZWxhdGl2ZVNjcmlwdFVSTCgnZWRpdGh0bWwnKSwNCisgICAgbGluayA9IExp
bmsobHN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKG1tX2NmZy5FRElUSFRNTF9D
R0kpLA0KICAgICAgICAgICAgICAgICAnRWRpdCB0aGUgSFRNTCBmb3IgdGhl
IHB1YmxpYyBsaXN0IHBhZ2VzLicpDQogICAgIG90aGVyX2xpbmtzLkFkZEl0
ZW0obGluaykNCiANCkBAIC0yNzcsNyArMjc3LDcgQEANCiAgICAgICAgICAg
ICB0aGVzZV9saW5rcy5BZGRJdGVtKCI8Yj4gPSZndDsgIiArIHYgKyAiICZs
dDs9IDwvYj4iKQ0KICAgICAgICAgZWxzZToNCiAgICAgICAgICAgICB0aGVz
ZV9saW5rcy5BZGRJdGVtKExpbmsoIiVzLyVzIiAlIA0KLQkgICAgICAgICAg
ICAgICAgIChsc3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwoJ2FkbWluJyksayks
dikpDQorCSAgICAgICAgICAgICAgICAgKGxzdC5HZXRSZWxhdGl2ZVNjcmlw
dFVSTChtbV9jZmcuQURNSU5fQ0dJKSxrKSx2KSkNCiANCiAgICAgbGlua3Nf
dGFibGUuQWRkUm93KFt0aGVzZV9saW5rcywgb3RoZXJfbGlua3NdKQ0KICAg
ICBsaW5rc190YWJsZS5BZGRSb3dJbmZvKG1heChsaW5rc190YWJsZS5HZXRD
dXJyZW50Um93SW5kZXgoKSwgMCksDQpAQCAtMjg2LDEwICsyODYsMTAgQEAN
CiAgICAgZG9jLkFkZEl0ZW0obGlua3NfdGFibGUpDQogICAgIGRvYy5BZGRJ
dGVtKCc8aHI+JykNCiAgICAgaWYgY2F0ZWdvcnlfc3VmZml4Og0KLSAgICAg
ICAgZm9ybSA9IEZvcm0oIiVzLyVzIiAlIChsc3QuR2V0UmVsYXRpdmVTY3Jp
cHRVUkwoJ2FkbWluJyksDQorICAgICAgICBmb3JtID0gRm9ybSgiJXMvJXMi
ICUgKGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5fQ0dJ
KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdv
cnlfc3VmZml4KSkNCiAgICAgZWxzZToNCi0gICAgICAgIGZvcm0gPSBGb3Jt
KGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTCgnYWRtaW4nKSkNCisgICAgICAg
IGZvcm0gPSBGb3JtKGxzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcu
QURNSU5fQ0dJKSkNCiAgICAgZG9jLkFkZEl0ZW0oZm9ybSkNCiANCiAgICAg
Zm9ybS5BZGRJdGVtKCJNYWtlIHlvdXIgY2hhbmdlcywgYmVsb3csIGFuZCB0
aGVuIHN1Ym1pdCBpdCBhbGwgYXQgdGhlIg0KQEAgLTQwNCw3ICs0MDQsNyBA
QA0KICAgICBkb2MuQWRkSXRlbSgiPGI+JXM8L2I+ICglcyk6ICVzPHA+IiAl
ICh2YXJuYW1lLCBjYXRlZ29yeSwgaXRlbVs0XSkpDQogICAgIGRvYy5BZGRJ
dGVtKCIlczxwPiIgJSBpdGVtWzVdKQ0KIA0KLSAgICBmb3JtID0gRm9ybShv
cy5wYXRoLmpvaW4obHN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKCdhZG1pbicp
LCBjYXRlZ29yeSkpDQorICAgIGZvcm0gPSBGb3JtKG9zLnBhdGguam9pbihs
c3QuR2V0UmVsYXRpdmVTY3JpcHRVUkwobW1fY2ZnLkFETUlOX0NHSSksIGNh
dGVnb3J5KSkNCiAgICAgdmFsdGFiID0gVGFibGUoY2VsbHNwYWNpbmc9Mywg
Y2VsbHBhZGRpbmc9NCkNCiAgICAgQWRkT3B0aW9uc1RhYmxlSXRlbSh2YWx0
YWIsIGl0ZW0sIGNhdGVnb3J5LCBsc3QsIG5vZGV0YWlscz0xKQ0KICAgICBm
b3JtLkFkZEl0ZW0odmFsdGFiKQ0KQEAgLTUwNCw4ICs1MDQsOCBAQA0KICAg
ICAgICAgcGkgPSBvcy5lbnZpcm9uWyJQQVRIX0lORk8iXQ0KICAgICAgICAg
Zm9yIGNpIGluIGNodW5rX2luZGljZXM6DQogICAgICAgICAgICAgc3RhcnQs
IGVuZCA9IGNodW5rc1tjaV1bMF0sIGNodW5rc1tjaV1bLTFdDQotICAgICAg
ICAgICAgYnV0dG9ucy5hcHBlbmQoIjxhIGhyZWY9L21haWxtYW4vYWRtaW4l
cz9jaHVuaz0lZD4gZnJvbSAlcyB0byAlcyA8L2E+IiAlIFwNCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAoIHBpLCBjaSwgc3RhcnQsIGVuZCkpDQor
ICAgICAgICAgICAgYnV0dG9ucy5hcHBlbmQoIjxhIGhyZWY9L21haWxtYW4v
JXMlcz9jaHVuaz0lZD4gZnJvbSAlcyB0byAlcyA8L2E+IiAlIFwNCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoIG1tX2NmZy5BRE1JTl9DR0ksIHBp
LCBjaSwgc3RhcnQsIGVuZCkpDQogICAgICAgICBidXR0b25zID0gYXBwbHko
VW5vcmRlcmVkTGlzdCwgdHVwbGUoYnV0dG9ucykpDQogICAgICAgICBmb290
ZXIgPSBmb290ZXIgKyBidXR0b25zLkZvcm1hdCgpICsgIjxwPiIgDQogICAg
IGVsc2U6DQpkaWZmIC1icnUgLXggQ1ZTIG1haWxtYW4ub3JpZy9NYWlsbWFu
L0NnaS9hZG1pbmRiLnB5IG1haWxtYW4vTWFpbG1hbi9DZ2kvYWRtaW5kYi5w
eQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0NnaS9hZG1pbmRiLnB5CVNh
dCBBdWcgIDggMTQ6MTc6MjkgMTk5OA0KKysrIG1haWxtYW4vTWFpbG1hbi9D
Z2kvYWRtaW5kYi5weQlGcmkgQXVnICA3IDIwOjEyOjI5IDE5OTgNCkBAIC0y
MDcsMTQgKzIwNywxNCBAQA0KICAgICBkb2MuQWRkSXRlbShodG1sZm9ybWF0
LkhlYWRlcigyLCAiQWRtaW5pc3RyYXRpdmUgcmVxdWVzdHMgZm9yICINCiAJ
CQkJICAiJyVzJyBtYWlsaW5nIGxpc3QiICUgbGlzdC5yZWFsX25hbWUpKQ0K
ICAgICBkb2MuQWRkSXRlbShodG1sZm9ybWF0LkZvbnRTaXplKCIrMSIsIGh0
bWxmb3JtYXQuTGluaygNCi0JbGlzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTCgn
YWRtaW4nKSwgaHRtbGZvcm1hdC5JdGFsaWMoDQorCWxpc3QuR2V0UmVsYXRp
dmVTY3JpcHRVUkwobW1fY2ZnLkFETUlOX0NHSSksIGh0bWxmb3JtYXQuSXRh
bGljKA0KIAkgICAgJ1ZpZXcgb3IgZWRpdCB0aGUgbGlzdCBjb25maWd1cmF0
aW9uIGluZm9ybWF0aW9uJykpKSkNCiAgICAgZG9jLkFkZEl0ZW0oJzxwPjxo
cj4nKQ0KICAgICBpZiBub3QgbGlzdC5OdW1SZXF1ZXN0c1BlbmRpbmcoKToN
CiAJZG9jLkFkZEl0ZW0oaHRtbGZvcm1hdC5IZWFkZXIoMywnVGhlcmUgYXJl
IG5vIHBlbmRpbmcgcmVxdWVzdHMuJykpDQogCWRvYy5BZGRJdGVtKGxpc3Qu
R2V0TWFpbG1hbkZvb3RlcigpKQ0KIAlyZXR1cm4NCi0gICAgZm9ybSA9IGh0
bWxmb3JtYXQuRm9ybShsaXN0LkdldFJlbGF0aXZlU2NyaXB0VVJMKCdhZG1p
bmRiJykpDQorICAgIGZvcm0gPSBodG1sZm9ybWF0LkZvcm0obGlzdC5HZXRS
ZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5EQl9DR0kpKQ0KICAgICBk
b2MuQWRkSXRlbShmb3JtKQ0KICAgICBmb3JtLkFkZEl0ZW0oJ0FkbWluIHBh
c3N3b3JkOiAnKQ0KICAgICBmb3JtLkFkZEl0ZW0oaHRtbGZvcm1hdC5QYXNz
d29yZEJveCgnYWRtaW5wdycpKQ0KZGlmZiAtYnJ1IC14IENWUyBtYWlsbWFu
Lm9yaWcvTWFpbG1hbi9DZ2kvZWRpdGh0bWwucHkgbWFpbG1hbi9NYWlsbWFu
L0NnaS9lZGl0aHRtbC5weQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0Nn
aS9lZGl0aHRtbC5weQlTYXQgQXVnICA4IDE0OjE3OjMyIDE5OTgNCisrKyBt
YWlsbWFuL01haWxtYW4vQ2dpL2VkaXRodG1sLnB5CUZyaSBBdWcgIDcgMjA6
MTc6NTMgMTk5OA0KQEAgLTg3LDcgKzg3LDcgQEANCiAgICAgICAgIGRvYy5B
ZGRJdGVtKGh0bWxmb3JtYXQuSGVhZGVyKDIsICdTZWxlY3QgcGFnZSB0byBl
ZGl0OicpKQ0KICAgICAgICAgdGVtcGxhdGVfbGlzdCA9IGh0bWxmb3JtYXQu
VW5vcmRlcmVkTGlzdCgpDQogICAgICAgICBmb3IgKHRlbXBsYXRlLCBpbmZv
KSBpbiB0ZW1wbGF0ZV9kYXRhOg0KLSAgICAgICAgICAgIGwgPSBodG1sZm9y
bWF0Lkxpbmsob3MucGF0aC5qb2luKGxpc3QuR2V0UmVsYXRpdmVTY3JpcHRV
UkwoJ2VkaXRodG1sJyksDQorICAgICAgICAgICAgbCA9IGh0bWxmb3JtYXQu
TGluayhvcy5wYXRoLmpvaW4obGlzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTCht
bV9jZmcuRURJVEhUTUxfQ0dJKSwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZSksIGluZm8pDQogDQog
ICAgICAgICAgICAgdGVtcGxhdGVfbGlzdC5BZGRJdGVtKGwpDQpAQCAtMTQ2
LDE0ICsxNDYsMTQgQEANCiANCiAgICAgZG9jLkFkZEl0ZW0oJzxocj4nKQ0K
IA0KLSAgICBsaW5rID0gaHRtbGZvcm1hdC5MaW5rKGxpc3QuR2V0UmVsYXRp
dmVTY3JpcHRVUkwoJ2FkbWluJyksDQorICAgIGxpbmsgPSBodG1sZm9ybWF0
LkxpbmsobGlzdC5HZXRSZWxhdGl2ZVNjcmlwdFVSTChtbV9jZmcuQURNSU5f
Q0dJKSwNCiAJCQkgICAnVmlldyBvciBlZGl0IHRoZSBsaXN0IGNvbmZpZ3Vy
YXRpb24gaW5mb3JtYXRpb24uJykNCiAgICAgZG9jLkFkZEl0ZW0oaHRtbGZv
cm1hdC5Gb250U2l6ZSgiKzEiLCBsaW5rKSkNCiAgICAgZG9jLkFkZEl0ZW0o
JzxwPicpDQogDQogICAgIGRvYy5BZGRJdGVtKCc8aHI+JykNCiANCi0gICAg
Zm9ybSA9IGh0bWxmb3JtYXQuRm9ybShvcy5wYXRoLmpvaW4obGlzdC5HZXRS
ZWxhdGl2ZVNjcmlwdFVSTCgnZWRpdGh0bWwnKSwNCisgICAgZm9ybSA9IGh0
bWxmb3JtYXQuRm9ybShvcy5wYXRoLmpvaW4obGlzdC5HZXRSZWxhdGl2ZVNj
cmlwdFVSTChtbV9jZmcuRURJVEhUTUxfQ0dJKSwNCiAJCQkJCXRlbXBsYXRl
X25hbWUpKQ0KICAgICBkb2MuQWRkSXRlbShmb3JtKQ0KIA0KZGlmZiAtYnJ1
IC14IENWUyBtYWlsbWFuLm9yaWcvTWFpbG1hbi9DZ2kvbGlzdGluZm8ucHkg
bWFpbG1hbi9NYWlsbWFuL0NnaS9saXN0aW5mby5weQ0KLS0tIG1haWxtYW4u
b3JpZy9NYWlsbWFuL0NnaS9saXN0aW5mby5weQlTYXQgQXVnICA4IDE0OjE3
OjQzIDE5OTgNCisrKyBtYWlsbWFuL01haWxtYW4vQ2dpL2xpc3RpbmZvLnB5
CUZyaSBBdWcgIDcgMjA6MTg6MTYgMTk5OA0KQEAgLTEyMiw3ICsxMjIsNyBA
QA0KICAgICAgICAgICAgICAgICAgICAgICArDQogICAgICAgICAgICAgICAg
ICAgICAgICc8cD4gTGlzdCBhZG1pbmlzdHJhdG9ycywgeW91IGNhbiB2aXNp
dCAnLA0KICAgICAgICAgICAgICAgICAgICAgICBMaW5rKG9zLnBhdGguam9p
bignLi4vJyAqIFV0aWxzLkdldE5lc3RpbmdMZXZlbCgpLA0KLQkgICAgICAg
ICAgICAgICAgICAgJ2FkbWluLycpLCAidGhlIGxpc3QgYWRtaW4gb3ZlcnZp
ZXcgcGFnZSIpLA0KKwkgICAgICAgICAgICAgICAgICAgbW1fY2ZnLkFETUlO
X0NHSSArICcvJyksICJ0aGUgbGlzdCBhZG1pbiBvdmVydmlldyBwYWdlIiks
DQogICAgICAgICAgICAgICAgICAgICAgICIgdG8gZmluZCB0aGUgbWFuYWdl
bWVudCBpbnRlcmZhY2UgZm9yIHlvdXIgbGlzdC4iDQogICAgICAgICAgICAg
ICAgICAgICAgICI8cD4oU2VuZCBxdWVzdGlvbnMgb3IgY29tbWVudHMgdG8g
IiwNCiAgICAgICAgICAgICAgICAgICAgICAgTGluaygibWFpbHRvOiVzIiAl
IG1tX2NmZy5NQUlMTUFOX09XTkVSLA0KQEAgLTEzNSw3ICsxMzUsNyBAQA0K
ICAgICBpZiBhZHZlcnRpc2VkOg0KICAgICAgICAgdGFibGUuQWRkUm93KFtJ
dGFsaWMoIkxpc3QiKSwgSXRhbGljKCJEZXNjcmlwdGlvbiIpXSkNCiAgICAg
Zm9yIGwgaW4gYWR2ZXJ0aXNlZDoNCi0gICAgICAgIHRhYmxlLkFkZFJvdyhb
TGluayhsLkdldFJlbGF0aXZlU2NyaXB0VVJMKCdsaXN0aW5mbycpLCANCisg
ICAgICAgIHRhYmxlLkFkZFJvdyhbTGluayhsLkdldFJlbGF0aXZlU2NyaXB0
VVJMKG1tX2NmZy5MSVNUSU5GT19DR0kpLCANCiAJICAgICAgQm9sZChsLnJl
YWxfbmFtZSkpLCBsLmRlc2NyaXB0aW9uXSkNCiANCiAgICAgZG9jLkFkZEl0
ZW0odGFibGUpDQpAQCAtMTY0LDggKzE2NCw4IEBADQogICAgIHJlcGxhY2Vt
ZW50c1snPG1tLW5ldy1wYXNzd29yZC1ib3g+J10gPSBsaXN0LkZvcm1hdFNl
Y3VyZUJveCgncHcnKQ0KICAgICByZXBsYWNlbWVudHNbJzxtbS1jb25maXJt
LXBhc3N3b3JkPiddID0gbGlzdC5Gb3JtYXRTZWN1cmVCb3goJ3B3LWNvbmYn
KQ0KICAgICByZXBsYWNlbWVudHNbJzxtbS1zdWJzY3JpYmUtZm9ybS1zdGFy
dD4nXSA9IFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGlzdC5Gb3JtYXRGb3JtU3RhcnQoJ3N1YnNjcmliZScp
DQotICAgIHJlcGxhY2VtZW50c1snPG1tLXJvc3Rlci1mb3JtLXN0YXJ0Pidd
ID0gbGlzdC5Gb3JtYXRGb3JtU3RhcnQoJ3Jvc3RlcicpDQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QuRm9y
bWF0Rm9ybVN0YXJ0KG1tX2NmZy5TVUJTQ1JJQkVfQ0dJKQ0KKyAgICByZXBs
YWNlbWVudHNbJzxtbS1yb3N0ZXItZm9ybS1zdGFydD4nXSA9IGxpc3QuRm9y
bWF0Rm9ybVN0YXJ0KG1tX2NmZy5ST1NURVJfQ0dJKQ0KICAgICByZXBsYWNl
bWVudHNbJzxtbS1lZGl0aW5nLW9wdGlvbnM+J10gPSBsaXN0LkZvcm1hdEVk
aXRpbmdPcHRpb24oKQ0KICAgICByZXBsYWNlbWVudHNbJzxtbS1pbmZvLWJ1
dHRvbj4nXSA9IFN1Ym1pdEJ1dHRvbignVXNlck9wdGlvbnMnLA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnRWRpdCBPcHRpb25zJykuRm9ybWF0KCkNCmRpZmYgLWJydSAteCBDVlMg
bWFpbG1hbi5vcmlnL01haWxtYW4vQ2dpL29wdGlvbnMucHkgbWFpbG1hbi9N
YWlsbWFuL0NnaS9vcHRpb25zLnB5DQotLS0gbWFpbG1hbi5vcmlnL01haWxt
YW4vQ2dpL29wdGlvbnMucHkJU2F0IEF1ZyAgOCAxNDoxNzo0NSAxOTk4DQor
KysgbWFpbG1hbi9NYWlsbWFuL0NnaS9vcHRpb25zLnB5CVNhdCBBdWcgIDgg
MTQ6NDA6MTAgMTk5OA0KQEAgLTExNSw3ICsxMTUsNyBAQA0KICAgICByZXBs
YWNlbWVudHNbJzxtbS1jb25maXJtLXBhc3MtYm94PiddID0gbGlzdC5Gb3Jt
YXRTZWN1cmVCb3goJ2NvbmZwdycpDQogICAgIHJlcGxhY2VtZW50c1snPG1t
LWNoYW5nZS1wYXNzLWJ1dHRvbj4nXSA9IGxpc3QuRm9ybWF0QnV0dG9uKCdj
aGFuZ2VwdycsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDaGFuZ2UgTXkgUGFz
c3dvcmQiKQ0KLSAgICByZXBsYWNlbWVudHNbJzxtbS1mb3JtLXN0YXJ0Pidd
ID0gbGlzdC5Gb3JtYXRGb3JtU3RhcnQoJ2hhbmRsZV9vcHRzJywgdXNlcikN
CisgICAgcmVwbGFjZW1lbnRzWyc8bW0tZm9ybS1zdGFydD4nXSA9IGxpc3Qu
Rm9ybWF0Rm9ybVN0YXJ0KG1tX2NmZy5IT1BUU19DR0ksIHVzZXIpDQogICAg
IHJlcGxhY2VtZW50c1snPG1tLXVzZXI+J10gPSB1c2VyDQogICAgIHJlcGxh
Y2VtZW50c1snPG1tLXByZXNlbnRhYmxlLXVzZXI+J10gPSBwcmVzZW50YWJs
ZV91c2VyDQogICAgIHJlcGxhY2VtZW50c1snPG1tLWVtYWlsLW15LXB3Pidd
ID0gbGlzdC5Gb3JtYXRCdXR0b24oJ2VtYWlscHcnLA0KZGlmZiAtYnJ1IC14
IENWUyBtYWlsbWFuLm9yaWcvTWFpbG1hbi9EZWZhdWx0cy5weS5pbiBtYWls
bWFuL01haWxtYW4vRGVmYXVsdHMucHkuaW4NCi0tLSBtYWlsbWFuLm9yaWcv
TWFpbG1hbi9EZWZhdWx0cy5weS5pbglTYXQgQXVnICA4IDE0OjE1OjQzIDE5
OTgNCisrKyBtYWlsbWFuL01haWxtYW4vRGVmYXVsdHMucHkuaW4JRnJpIEF1
ZyAyMSAxNTowMTozMyAxOTk4DQpAQCAtMjE3LDMgKzIxNywxNSBAQA0KIA0K
ICMgRGF0YSBmaWxlIHZlcnNpb24gbnVtYmVyDQogREFUQV9GSUxFX1ZFUlNJ
T04gPSAzDQorDQorIyBDR0kgZmlsZSBuYW1lcw0KK0FETUlOX0NHSSAgICAg
ICA9ICJhZG1pbkBDR0lFWFRAIg0KK0FETUlOREJfQ0dJICAgICA9ICJhZG1p
bmRiQENHSUVYVEAiDQorQVJDSElWRV9DR0kgICAgID0gImFyY2hpdmVAQ0dJ
RVhUQCINCitMSVNUSU5GT19DR0kgICAgPSAibGlzdGluZm9AQ0dJRVhUQCIN
CitPUFRJT05TX0NHSSAgICAgPSAib3B0aW9uc0BDR0lFWFRAIg0KK0VESVRI
VE1MX0NHSSAgICA9ICJlZGl0aHRtbEBDR0lFWFRAIg0KK1JPU1RFUl9DR0kg
ICAgICA9ICJyb3N0ZXJAQ0dJRVhUQCINCitIT1BUU19DR0kgICAgICAgPSAi
aGFuZGxlX29wdHNAQ0dJRVhUQCINCitTVUJTQ1JJQkVfQ0dJICAgPSAic3Vi
c2NyaWJlQENHSUVYVEAiDQorUFJJVkFURV9DR0kgICAgID0gInByaXZhdGVA
Q0dJRVhUQCINCmRpZmYgLWJydSAteCBDVlMgbWFpbG1hbi5vcmlnL01haWxt
YW4vRGVsaXZlcmVyLnB5IG1haWxtYW4vTWFpbG1hbi9EZWxpdmVyZXIucHkN
Ci0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9EZWxpdmVyZXIucHkJU3VuIEF1
ZyAzMCAxNTo1NTo1NCAxOTk4DQorKysgbWFpbG1hbi9NYWlsbWFuL0RlbGl2
ZXJlci5weQlTdW4gQXVnIDMwIDE2OjI5OjQ0IDE5OTgNCkBAIC05NCwxMyAr
OTQsMTMgQEANCiAgICAgICAgICAgICBpZiAobGVuKHN1YmplY3QpID4gbGVu
KHNwKQ0KICAgICAgICAgICAgICAgICBhbmQgc3ViamVjdFswOmxlbihzcCld
ID09IHNwKToNCiAgICAgICAgICAgICAgICAgIyBUcmltIG9mZiBzdWJqZWN0
IHByZWZpeA0KLSAgICAgICAgICAgICAgICBzdWJqZWN0ID0gc3ViamVjdFts
ZW4oc3ApICsgMTpdDQorICAgICAgICAgICAgICAgIHN1YmplY3QgPSBzdWJq
ZWN0W2xlbihzcCk6XQ0KICAgICAgICAgIyBnZXQgdGhlIHRleHQgZnJvbSB0
aGUgdGVtcGxhdGUNCiAgICAgICAgIGJvZHkgPSBVdGlscy5tYWtldGV4dCgN
CiAgICAgICAgICAgICAncG9zdGFjay50eHQnLA0KICAgICAgICAgICAgIHsn
c3ViamVjdCcgICAgIDogc3ViamVjdCwNCiAgICAgICAgICAgICAgJ2xpc3Ru
YW1lJyAgICA6IHNlbGYucmVhbF9uYW1lLA0KLSAgICAgICAgICAgICAnbGlz
dGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVSTCgnbGlzdGlu
Zm8nKSwNCisgICAgICAgICAgICAgJ2xpc3RpbmZvX3VybCc6IHNlbGYuR2V0
QWJzb2x1dGVTY3JpcHRVUkwobW1fY2ZnLkxJU1RJTkZPX0NHSSksDQogICAg
ICAgICAgICAgIH0pDQogCXNlbGYuU2VuZFRleHRUb1VzZXIoJyVzIHBvc3Qg
YWNrbm93bGVnZW1lbnQnICUgc2VsZi5yZWFsX25hbWUsDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvZHksIHNlbmRlcikNCkBAIC0xMTgsNyAr
MTE4LDcgQEANCiAgICAgICAgICAgICAgJ2hvc3RfbmFtZScgICA6IHNlbGYu
aG9zdF9uYW1lLA0KICAgICAgICAgICAgICAnd2VsY29tZScgICAgIDogd2Vs
Y29tZSwNCiAgICAgICAgICAgICAgJ2VtYWlsYWRkcicgICA6IHNlbGYuR2V0
TGlzdEVtYWlsKCksDQotICAgICAgICAgICAgICdsaXN0aW5mb191cmwnOiBz
ZWxmLkdldEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAgICAg
ICAgICAgICAnbGlzdGluZm9fdXJsJzogc2VsZi5HZXRBYnNvbHV0ZVNjcmlw
dFVSTChtbV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAgJ29w
dGlvbnN1cmwnICA6IHNlbGYuR2V0QWJzb2x1dGVPcHRpb25zVVJMKG5hbWUp
LA0KICAgICAgICAgICAgICAncGFzc3dvcmQnICAgIDogcGFzc3dvcmQsDQog
ICAgICAgICAgICAgIH0pDQpkaWZmIC1icnUgLXggQ1ZTIG1haWxtYW4ub3Jp
Zy9NYWlsbWFuL0RpZ2VzdGVyLnB5IG1haWxtYW4vTWFpbG1hbi9EaWdlc3Rl
ci5weQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL0RpZ2VzdGVyLnB5CVNh
dCBBdWcgIDggMTQ6MTU6NDggMTk5OA0KKysrIG1haWxtYW4vTWFpbG1hbi9E
aWdlc3Rlci5weQlGcmkgQXVnIDIxIDE0OjMzOjUwIDE5OTgNCkBAIC0zMzAs
NyArMzMwLDcgQEANCiAgICAgICAgICAgICBzdWJzdHMgPSB7fQ0KICAgICAg
ICAgICAgIHN1YnN0cy51cGRhdGUobHN0Ll9fZGljdF9fKQ0KICAgICAgICAg
ICAgIHN1YnN0cy51cGRhdGUoeydnb3RfbGlzdGluZm9fdXJsJzogDQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxzdC5HZXRB
YnNvbHV0ZVNjcmlwdFVSTCgnbGlzdGluZm8nKSwNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbHN0LkdldEFic29sdXRlU2Ny
aXB0VVJMKG1tX2NmZy5MSVNUSU5GT19DR0kpLA0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdnb3RfcmVxdWVzdF9lbWFpbCc6IGxzdC5HZXRSZXF1
ZXN0RW1haWwoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ290
X2xpc3RfZW1haWwnOiBsc3QuR2V0TGlzdEVtYWlsKCksDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ2dvdF9vd25lcl9lbWFpbCc6IGxzdC5HZXRB
ZG1pbkVtYWlsKCksDQpkaWZmIC1icnUgLXggQ1ZTIG1haWxtYW4ub3JpZy9N
YWlsbWFuL0hUTUxGb3JtYXR0ZXIucHkgbWFpbG1hbi9NYWlsbWFuL0hUTUxG
b3JtYXR0ZXIucHkNCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9IVE1MRm9y
bWF0dGVyLnB5CVNhdCBBdWcgIDggMTQ6MTU6NTQgMTk5OA0KKysrIG1haWxt
YW4vTWFpbG1hbi9IVE1MRm9ybWF0dGVyLnB5CUZyaSBBdWcgMjEgMTQ6MzQ6
NTYgMTk5OA0KQEAgLTkzLDcgKzkzLDcgQEANCiAJCXNob3dpbmcgPSBPYnNj
dXJlRW1haWwocGVyc29uLCBmb3JfdGV4dD0xKQ0KIAkgICAgZWxzZToNCiAJ
CXNob3dpbmcgPSBwZXJzb24NCi0JICAgIGdvdCA9IExpbmsob3MucGF0aC5q
b2luKG1lLkdldFJlbGF0aXZlU2NyaXB0VVJMKCdvcHRpb25zJyksDQorCSAg
ICBnb3QgPSBMaW5rKG9zLnBhdGguam9pbihtZS5HZXRSZWxhdGl2ZVNjcmlw
dFVSTChtbV9jZmcuT1BUSU9OU19DR0kpLA0KIAkJCQkgICAgaWQpLCBzaG93
aW5nKQ0KICAgICAgICAgICAgIGlmIG1lLkdldFVzZXJPcHRpb24ocGVyc29u
LCBkaXNkZWwpOg0KICAgICAgICAgICAgICAgICBnb3QgPSBJdGFsaWMoIigi
LCBnb3QsICIpIikNCmRpZmYgLWJydSAteCBDVlMgbWFpbG1hbi5vcmlnL01h
aWxtYW4vTGlzdEFkbWluLnB5IG1haWxtYW4vTWFpbG1hbi9MaXN0QWRtaW4u
cHkNCi0tLSBtYWlsbWFuLm9yaWcvTWFpbG1hbi9MaXN0QWRtaW4ucHkJU2F0
IEF1ZyAgOCAxNDoxNjoxMCAxOTk4DQorKysgbWFpbG1hbi9NYWlsbWFuL0xp
c3RBZG1pbi5weQlGcmkgQXVnIDIxIDE0OjM1OjM5IDE5OTgNCkBAIC01NSw3
ICs1NSw3IEBADQogICAgICAgICAgICAgICAgICAgICB7J3VzZXJuYW1lJyAg
IDogd2hvLA0KICAgICAgICAgICAgICAgICAgICAgICdsaXN0bmFtZScgICA6
IHNlbGYucmVhbF9uYW1lLA0KICAgICAgICAgICAgICAgICAgICAgICdob3N0
bmFtZScgICA6IHNlbGYuaG9zdF9uYW1lLA0KLSAgICAgICAgICAgICAgICAg
ICAgICdhZG1pbmRiX3VybCc6IHNlbGYuR2V0QWJzb2x1dGVTY3JpcHRVUkwo
J2FkbWluZGInKSwNCisgICAgICAgICAgICAgICAgICAgICAnYWRtaW5kYl91
cmwnOiBzZWxmLkdldEFic29sdXRlU2NyaXB0VVJMKG1tX2NmZy5BRE1JTkRC
X0NHSSksDQogICAgICAgICAgICAgICAgICAgICAgfSkNCiAJCXNlbGYuU2Vu
ZFRleHRUb1VzZXIoc3ViamVjdCA9IHN1YmosDQogCQkJCSAgICByZWNpcGll
bnQgPSBzZWxmLkdldEFkbWluRW1haWwoKSwNCkBAIC03OCw3ICs3OCw3IEBA
DQogICAgICAgICAgICAgICAgICAgICAgJ3JlYXNvbicgICAgIDogcmVhc29u
LA0KICAgICAgICAgICAgICAgICAgICAgICdzZW5kZXInICAgICA6IHNlbmRl
ciwNCiAgICAgICAgICAgICAgICAgICAgICAnc3ViamVjdCcgICAgOiBzdWJq
ZWN0LA0KLSAgICAgICAgICAgICAgICAgICAgICdhZG1pbmRiX3VybCc6IHNl
bGYuR2V0QWJzb2x1dGVTY3JpcHRVUkwoJ2FkbWluZGInKSwNCisgICAgICAg
ICAgICAgICAgICAgICAnYWRtaW5kYl91cmwnOiBzZWxmLkdldEFic29sdXRl
U2NyaXB0VVJMKG1tX2NmZy5BRE1JTkRCX0NHSSksDQogICAgICAgICAgICAg
ICAgICAgICAgfSkNCiAJCXNlbGYuU2VuZFRleHRUb1VzZXIoc3ViamVjdCA9
IHN1YmosDQogCQkJCSAgICByZWNpcGllbnQgPSBzZWxmLkdldEFkbWluRW1h
aWwoKSwNCmRpZmYgLWJydSAteCBDVlMgbWFpbG1hbi5vcmlnL01haWxtYW4v
TWFpbExpc3QucHkgbWFpbG1hbi9NYWlsbWFuL01haWxMaXN0LnB5DQotLS0g
bWFpbG1hbi5vcmlnL01haWxtYW4vTWFpbExpc3QucHkJU2F0IEF1ZyAgOCAx
NDoxNjozNCAxOTk4DQorKysgbWFpbG1hbi9NYWlsbWFuL01haWxMaXN0LnB5
CUZyaSBBdWcgMjEgMTQ6Mzc6NTYgMTk5OA0KQEAgLTg0LDcgKzg0LDcgQEAN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuX2ludGVybmFsX25hbWUpKQ0KIA0KICAgICBkZWYgR2V0QWJz
b2x1dGVPcHRpb25zVVJMKHNlbGYsIGFkZHIsIG9ic2N1cmVkPTAsKToNCi0J
b3B0aW9ucyA9IHNlbGYuR2V0QWJzb2x1dGVTY3JpcHRVUkwoJ29wdGlvbnMn
KQ0KKwlvcHRpb25zID0gc2VsZi5HZXRBYnNvbHV0ZVNjcmlwdFVSTChtbV9j
ZmcuT1BUSU9OU19DR0kpDQogICAgICAgICBpZiBvYnNjdXJlZDoNCiAgICAg
ICAgICAgICB0cmVhdGVkID0gVXRpbHMuT2JzY3VyZUVtYWlsKGFkZHIsIGZv
cl90ZXh0PTApDQogICAgICAgICBlbHNlOg0KQEAgLTM1OSw3ICszNTksNyBA
QA0KICAgICAgICAgICAgICIgY292ZXJpbmcgbWVtYmVycyBhbmQgb3V0c2lk
ZXJzLiINCiAgICAgICAgICAgICAnICAoU2VlIGFsc28gdGhlIDxhIGhyZWY9
IiVzIj5BcmNoaXZhbCBPcHRpb25zIHNlY3Rpb248L2E+IGZvcicNCiAgICAg
ICAgICAgICAnIHNlcGFyYXRlIGFyY2hpdmUtcHJpdmFjeSBzZXR0aW5ncy4p
Jw0KLSAgICAgICAgICAgICUgb3MucGF0aC5qb2luKHNlbGYuR2V0UmVsYXRp
dmVTY3JpcHRVUkwoJ2FkbWluJyksICdhcmNoaXZlJyksDQorICAgICAgICAg
ICAgJSBvcy5wYXRoLmpvaW4oc2VsZi5HZXRSZWxhdGl2ZVNjcmlwdFVSTCht
bV9jZmcuQURNSU5fQ0dJKSwgJ2FyY2hpdmUnKSwNCiANCiAJICAgICJTdWJz
Y3JpYmluZyIsDQogDQpkaWZmIC1icnUgLXggQ1ZTIG1haWxtYW4ub3JpZy9N
YWlsbWFuL01ha2VmaWxlLmluIG1haWxtYW4vTWFpbG1hbi9NYWtlZmlsZS5p
bg0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL01ha2VmaWxlLmluCVNhdCBB
dWcgIDggMTQ6MTY6MzYgMTk5OA0KKysrIG1haWxtYW4vTWFpbG1hbi9NYWtl
ZmlsZS5pbglGcmkgQXVnIDIxIDE0OjM5OjE2IDE5OTgNCkBAIC04Myw3ICs4
Myw3IEBADQogCWRvbmUNCiANCiBkaXN0Y2xlYW46DQotCS1ybSBNYWtlZmls
ZSBEZWZhdWx0cy5weQ0KKwktcm0gTWFrZWZpbGUgRGVmYXVsdHMucHkgbW1f
Y2ZnLnB5DQogCWZvciBkIGluICQoU1VCRElSUyk7IFwNCiAJZG8gXA0KIAkg
ICAgKGNkICQkZDsgJChNQUtFKSBkaXN0Y2xlYW4pOyBcDQpkaWZmIC1icnUg
LXggQ1ZTIG1haWxtYW4ub3JpZy9NYWlsbWFuL091dGdvaW5nUXVldWUucHkg
bWFpbG1hbi9NYWlsbWFuL091dGdvaW5nUXVldWUucHkNCi0tLSBtYWlsbWFu
Lm9yaWcvTWFpbG1hbi9PdXRnb2luZ1F1ZXVlLnB5CVNhdCBBdWcgIDggMTQ6
MTY6MzkgMTk5OA0KKysrIG1haWxtYW4vTWFpbG1hbi9PdXRnb2luZ1F1ZXVl
LnB5CUZyaSBBdWcgMjEgMTQ6NDE6NDYgMTk5OA0KQEAgLTIwLDcgKzIwLDE0
IEBADQogDQogVEVNUExBVEUgPSAibW1fcS4iDQogDQordHJ5Og0KKyAgICBp
c1FtYWlsID0gbW1fY2ZnLlFNQUlMDQorZXhjZXB0Og0KKyAgICBpc1FtYWls
ID0gMA0KKw0KIGRlZiBkZXF1ZXVlTWVzc2FnZShtc2cpOg0KKyAgICBpZiBp
c1FtYWlsOg0KKwlyZXR1cm4NCiAgICAgaW1wb3J0IG9zDQogICAgIG9zLnVu
bGluayhtc2cpDQogDQpAQCAtMzksNiArNDYsOCBAQA0KICAgICAgICAgDQog
ICAgICAgICAgICAgDQogZGVmIGVucXVldWVNZXNzYWdlKHRoZV9zZW5kZXIs
IHJlY2lwLCB0ZXh0KToNCisgICAgaWYgaXNRbWFpbDoNCisJcmV0dXJuICIi
DQogICAgIHRlbXBmaWxlLnRlbXBkaXIgPSBtbV9jZmcuREFUQV9ESVINCiAg
ICAgdGVtcGZpbGUudGVtcGxhdGUgPSBURU1QTEFURQ0KICAgICBmbmFtZSA9
IHRlbXBmaWxlLm1rdGVtcCgpDQpkaWZmIC1icnUgLXggQ1ZTIG1haWxtYW4u
b3JpZy9NYWlsbWFuL1V0aWxzLnB5IG1haWxtYW4vTWFpbG1hbi9VdGlscy5w
eQ0KLS0tIG1haWxtYW4ub3JpZy9NYWlsbWFuL1V0aWxzLnB5CVNhdCBBdWcg
IDggMTQ6MTY6NDYgMTk5OA0KKysrIG1haWxtYW4vTWFpbG1hbi9VdGlscy5w
eQlTdW4gQXVnIDMwIDE2OjQ3OjEwIDE5OTgNCkBAIC0xOTQsNiArMTk0LDIx
IEBADQogICAgICAgICBvcy5fZXhpdCgwKQ0KIA0KIGRlZiBUcnlTTVRQRGVs
aXZlcnkocmVjaXBpZW50LCBzZW5kZXIsIHRleHQsIHF1ZXVlX2VudHJ5KToN
CisgICAgaW1wb3J0IE91dGdvaW5nUXVldWUNCisgICAgaWYgdHlwZShtbV9j
ZmcuU0VMRl9NQUlMRVIpID09IFN0cmluZ1R5cGU6DQorCWZyb20gdHlwZXMg
aW1wb3J0ICoNCisJaWYgdHlwZShyZWNpcGllbnQpID09IFN0cmluZ1R5cGU6
DQorCSAgICB0b2MgPSByZWNpcGllbnQNCisJZWxzZToNCisJICAgIHRvYyA9
IHN0cmluZy5qb2luKHJlY2lwaWVudCwgJyAnKQ0KKwl0cnk6DQorCSAgICBw
aXBlID0gb3MucG9wZW4oIiVzICVzIiAlIChtbV9jZmcuU0VMRl9NQUlMRVIp
LCB0b2MpLCAidyIpDQorCSAgICBwaXBlLndyaXRlKHRleHQpDQorCSAgICBw
aXBlLmNsb3NlKCkNCisJICAgIE91dGdvaW5nUXVldWUuZGVxdWV1ZU1lc3Nh
Z2UocXVldWVfZW50cnkpDQorCWZpbmFsbHk6DQorCSAgICBwYXNzDQorICAg
IGVsc2U6DQogICAgIGltcG9ydCBzeXMsIHNvY2tldA0KICAgICBpbXBvcnQg
c210cGxpYg0KICAgICBpbXBvcnQgT3V0Z29pbmdRdWV1ZQ0KZGlmZiAtYnJ1
IC14IENWUyBtYWlsbWFuLm9yaWcvTWFpbG1hbi9tbV9jZmcucHkuaW4gbWFp
bG1hbi9NYWlsbWFuL21tX2NmZy5weS5pbg0KLS0tIG1haWxtYW4ub3JpZy9N
YWlsbWFuL21tX2NmZy5weS5pbglTYXQgQXVnICA4IDE0OjE2OjU0IDE5OTgN
CisrKyBtYWlsbWFuL01haWxtYW4vbW1fY2ZnLnB5LmluCUZyaSBBdWcgMjEg
MTU6MDE6NDkgMTk5OA0KQEAgLTUzLDcgKzUzLDkgQEANCiBNQUlMTUFOX09X
TkVSICAgICA9ICdtYWlsbWFuLW93bmVyQCVzJyAlIERFRkFVTFRfSE9TVF9O
QU1FDQogDQogUFVCTElDX0FSQ0hJVkVfVVJMID0gJy9waXBlcm1haWwnDQot
UFJJVkFURV9BUkNISVZFX1VSTCA9ICcvbWFpbG1hbi9wcml2YXRlJw0KK1BS
SVZBVEVfQVJDSElWRV9VUkwgPSAnL21haWxtYW4vcHJpdmF0ZUBDR0lFWFRA
Jw0KKw0KK1FNQUlMICAgICAgICAgICAgICA9IDANCiANCiAjIE5vdGUgLSBp
ZiB5b3UncmUgbG9va2luZyBmb3Igc29tZXRoaW5nIHRoYXQgaXMgaW1wb3J0
ZWQgZnJvbSBtbV9jZmcsIGJ1dCB5b3UNCiAjIGRpZG4ndCBmaW5kIGl0IGFi
b3ZlLCBpdCdzIHByb2JhYmx5IGluIERlZmF1bHRzLnB5Lg0KZGlmZiAtYnJ1
IC14IENWUyBtYWlsbWFuLm9yaWcvYmluL2NvbnZlcnRfbGlzdCBtYWlsbWFu
L2Jpbi9jb252ZXJ0X2xpc3QNCi0tLSBtYWlsbWFuLm9yaWcvYmluL2NvbnZl
cnRfbGlzdAlTdW4gQXVnIDMwIDE1OjU1OjU1IDE5OTgNCisrKyBtYWlsbWFu
L2Jpbi9jb252ZXJ0X2xpc3QJRnJpIEF1ZyAyMSAxNDo1MToxNCAxOTk4DQpA
QCAtODQsNyArODQsNyBAQA0KICAgICBkaWN0ID0geydsaXN0bmFtZScgICAg
OiBtbC5yZWFsX25hbWUsDQogICAgICAgICAgICAgJ2xpc3Rob3N0JyAgICA6
IG1sLmhvc3RfbmFtZSwNCiAgICAgICAgICAgICAnbGlzdGFkZHInICAgIDog
bWwuR2V0TGlzdEVtYWlsKCksDQotICAgICAgICAgICAgJ2xpc3RpbmZvX3Vy
bCc6IG1sLkdldEFic29sdXRlU2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAg
ICAgICAgICAgICdsaXN0aW5mb191cmwnOiBtbC5HZXRBYnNvbHV0ZVNjcmlw
dFVSTChtbV9jZmcuTElTVElORk9fQ0dJKSwNCiAgICAgICAgICAgICAncmVx
dWVzdGFkZHInIDogbWwuR2V0UmVxdWVzdEVtYWlsKCksDQogICAgICAgICAg
ICAgJ2FkbWluYWRkcicgICA6IG1sLkdldEFkbWluRW1haWwoKSwNCiAgICAg
ICAgICAgICAndmVyc2lvbicgICAgIDogTWFpbG1hbi5tbV9jZmcuVkVSU0lP
TiwNCmRpZmYgLWJydSAteCBDVlMgbWFpbG1hbi5vcmlnL2Jpbi9uZXdsaXN0
IG1haWxtYW4vYmluL25ld2xpc3QNCi0tLSBtYWlsbWFuLm9yaWcvYmluL25l
d2xpc3QJU2F0IEF1ZyAgOCAxNDoxODo0OCAxOTk4DQorKysgbWFpbG1hbi9i
aW4vbmV3bGlzdAlGcmkgQXVnIDIxIDE0OjUyOjQzIDE5OTgNCkBAIC0xMjAs
OCArMTIwLDggQEANCiAgICAgICAgICduZXdsaXN0LnR4dCcsDQogICAgICAg
ICB7J2xpc3RuYW1lJyAgICA6IGxpc3RfbmFtZSwNCiAgICAgICAgICAncGFz
c3dvcmQnICAgIDogbGlzdF9wdywgDQotICAgICAgICAgJ2FkbWluX3VybCcg
ICA6IG5ld2xpc3QuR2V0QWJzb2x1dGVTY3JpcHRVUkwoJ2FkbWluJyksIA0K
LSAgICAgICAgICdsaXN0aW5mb191cmwnOiBuZXdsaXN0LkdldEFic29sdXRl
U2NyaXB0VVJMKCdsaXN0aW5mbycpLA0KKyAgICAgICAgICdhZG1pbl91cmwn
ICAgOiBuZXdsaXN0LkdldEFic29sdXRlU2NyaXB0VVJMKG1tX2NmZy5BRE1J
Tl9DR0kpLCANCisgICAgICAgICAnbGlzdGluZm9fdXJsJzogbmV3bGlzdC5H
ZXRBYnNvbHV0ZVNjcmlwdFVSTChtbV9jZmcuTElTVElORk9fQ0dJKSwNCiAg
ICAgICAgICAncmVxdWVzdGFkZHInIDogIiVzLXJlcXVlc3RAJXMiICUgKGxp
c3RfbmFtZSwgbmV3bGlzdC5ob3N0X25hbWUpLA0KICAgICAgICAgICdob3N0
bmFtZScgICAgOiBuZXdsaXN0Lmhvc3RfbmFtZSwNCiAgICAgICAgICB9KQ0K
ZGlmZiAtYnJ1IC14IENWUyBtYWlsbWFuLm9yaWcvY29uZmlndXJlIG1haWxt
YW4vY29uZmlndXJlDQotLS0gbWFpbG1hbi5vcmlnL2NvbmZpZ3VyZQlTYXQg
QXVnICA4IDE0OjE1OjI1IDE5OTgNCisrKyBtYWlsbWFuL2NvbmZpZ3VyZQlG
cmkgQXVnIDIxIDE1OjIwOjIxIDE5OTgNCkBAIC0xLDYgKzEsNiBAQA0KICMh
IC9iaW4vc2gNCiANCi0jIEZyb20gY29uZmlndXJlLmluIFJldmlzaW9uOiAx
LjIwIA0KKyMgRnJvbSBjb25maWd1cmUuaW4gUmV2aXNpb246IDEuMjEgDQog
DQogIyBHdWVzcyB2YWx1ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFi
bGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLg0KICMgR2VuZXJhdGVkIGF1dG9t
YXRpY2FsbHkgdXNpbmcgYXV0b2NvbmYgdmVyc2lvbiAyLjEyIA0KQEAgLTI1
LDYgKzI1LDkgQEANCiBhY19oZWxwPSIkYWNfaGVscA0KIA0KIAktLXdpdGgt
Y2dpLWdpZCAgCXNwZWNpZnkgR0lEIENHSSBwcm9ncmFtcyBydW4gYXMiDQor
YWNfaGVscD0iJGFjX2hlbHANCisNCisJLS13aXRoLWNnaS1leHQgICAgICAg
IHNwZWNpZnkgZXh0ZW5zaW9ucyBvZiBDR0kgcHJvZ3JhbXMiDQogDQogIyBJ
bml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHNldCBieSBvcHRpb25zLg0KICMg
VGhlIHZhcmlhYmxlcyBoYXZlIHRoZSBzYW1lIG5hbWVzIGFzIHRoZSBvcHRp
b25zLCB3aXRoDQpAQCAtNTQ1LDcgKzU0OCw3IEBADQogDQogIyBDaGVjayBm
b3IgUHl0aG9uISAgQmV0dGVyIGJlIGZvdW5kIG9uICRQQVRIDQogZWNobyAk
YWNfbiAiY2hlY2tpbmcgZm9yIC0td2l0aC1weXRob24iIi4uLiAkYWNfYyIg
MT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo1NDk6IGNoZWNraW5nIGZvciAtLXdp
dGgtcHl0aG9uIiA+JjUNCitlY2hvICJjb25maWd1cmU6NTUyOiBjaGVja2lu
ZyBmb3IgLS13aXRoLXB5dGhvbiIgPiY1DQogIyBDaGVjayB3aGV0aGVyIC0t
d2l0aC1weXRob24gb3IgLS13aXRob3V0LXB5dGhvbiB3YXMgZ2l2ZW4uDQog
aWYgdGVzdCAiJHt3aXRoX3B5dGhvbitzZXR9IiA9IHNldDsgdGhlbg0KICAg
d2l0aHZhbD0iJHdpdGhfcHl0aG9uIg0KQEAgLTU1OSw3ICs1NjIsNyBAQA0K
IAkjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInB5dGhvbiIsIHNvIGl0
IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuDQogc2V0IGR1bW15
IHB5dGhvbjsgYWNfd29yZD0kMg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZv
ciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJl
OjU2MzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUNCitlY2hvICJjb25m
aWd1cmU6NTY2OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQ0KIGlmIGV2
YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wYXRoX3dpdGhfcHl0aG9u
JytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNo
ZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KQEAgLTU5MSw3ICs1OTQsNyBAQA0K
IGZpDQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgUHl0aG9uIGludGVycHJl
dGVyIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NTk1OiBj
aGVja2luZyBQeXRob24gaW50ZXJwcmV0ZXIiID4mNQ0KK2VjaG8gImNvbmZp
Z3VyZTo1OTg6IGNoZWNraW5nIFB5dGhvbiBpbnRlcnByZXRlciIgPiY1DQog
aWYgdGVzdCAhIC14ICR3aXRoX3B5dGhvbg0KIHRoZW4NCiAgICAgeyBlY2hv
ICJjb25maWd1cmU6IGVycm9yOiANCkBAIC02MzUsNyArNjM4LDcgQEANCiAj
IFNWUjQgL3Vzci91Y2IvaW5zdGFsbCwgd2hpY2ggdHJpZXMgdG8gdXNlIHRo
ZSBub25leGlzdGVudCBncm91cCAic3RhZmYiDQogIyAuL2luc3RhbGwsIHdo
aWNoIGNhbiBiZSBlcnJvbmVvdXNseSBjcmVhdGVkIGJ5IG1ha2UgZnJvbSAu
L2luc3RhbGwuc2guDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGEgQlNE
IGNvbXBhdGlibGUgaW5zdGFsbCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAi
Y29uZmlndXJlOjYzOTogY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUg
aW5zdGFsbCIgPiY1DQorZWNobyAiY29uZmlndXJlOjY0MjogY2hlY2tpbmcg
Zm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbCIgPiY1DQogaWYgdGVzdCAt
eiAiJElOU1RBTEwiOyB0aGVuDQogaWYgZXZhbCAidGVzdCBcImBlY2hvICck
Jyd7J2FjX2N2X3BhdGhfaW5zdGFsbCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVu
DQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KQEAgLTY4
NSw3ICs2ODgsNyBAQA0KIHRlc3QgLXogIiRJTlNUQUxMX0RBVEEiICYmIElO
U1RBTExfREFUQT0nJHtJTlNUQUxMfSAtbSA2NDQnDQogDQogZWNobyAkYWNf
biAiY2hlY2tpbmcgd2hldGhlciAke01BS0UtbWFrZX0gc2V0cyBcJHtNQUtF
fSIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjY4OTogY2hl
Y2tpbmcgd2hldGhlciAke01BS0UtbWFrZX0gc2V0cyBcJHtNQUtFfSIgPiY1
DQorZWNobyAiY29uZmlndXJlOjY5MjogY2hlY2tpbmcgd2hldGhlciAke01B
S0UtbWFrZX0gc2V0cyBcJHtNQUtFfSIgPiY1DQogc2V0IGR1bW15ICR7TUFL
RS1tYWtlfTsgYWNfbWFrZT1gZWNobyAiJDIiIHwgc2VkICd5JS4vKy0lX19w
XyUnYA0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9n
X21ha2VfJHthY19tYWtlfV9zZXQnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0K
ICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCkBAIC03MTQs
NyArNzE3LDcgQEANCiANCiAjIEZpbmQgY29tcGlsZXIsIGFsbG93IGFsdGVy
bmF0aXZlcyB0byBnY2MNCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgLS13
aXRob3V0LWdjYyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJl
OjcxODogY2hlY2tpbmcgZm9yIC0td2l0aG91dC1nY2MiID4mNQ0KK2VjaG8g
ImNvbmZpZ3VyZTo3MjE6IGNoZWNraW5nIGZvciAtLXdpdGhvdXQtZ2NjIiA+
JjUNCiAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWdjYyBvciAtLXdpdGhvdXQt
Z2NjIHdhcyBnaXZlbi4NCiBpZiB0ZXN0ICIke3dpdGhfZ2NjK3NldH0iID0g
c2V0OyB0aGVuDQogICB3aXRodmFsPSIkd2l0aF9nY2MiDQpAQCAtNzQzLDcg
Kzc0Niw3IEBADQogIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJnY2Mi
LCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLg0KIHNl
dCBkdW1teSBnY2M7IGFjX3dvcmQ9JDINCiBlY2hvICRhY19uICJjaGVja2lu
ZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp
Z3VyZTo3NDc6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1DQorZWNobyAi
Y29uZmlndXJlOjc1MDogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUNCiBp
ZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DQycrc2V0
fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAk
YWNfYyIgMT4mNg0KIGVsc2UNCkBAIC03NzIsNyArNzc1LDcgQEANCiAgICMg
RXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiY2MiLCBzbyBpdCBjYW4gYmUg
YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLg0KIHNldCBkdW1teSBjYzsgYWNf
d29yZD0kMg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIi
Li4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjc3NjogY2hlY2tp
bmcgZm9yICRhY193b3JkIiA+JjUNCitlY2hvICJjb25maWd1cmU6Nzc5OiBj
aGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJg
ZWNobyAnJCcneydhY19jdl9wcm9nX0NDJytzZXR9J2BcIiA9IHNldCI7IHRo
ZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxz
ZQ0KQEAgLTgyMCw3ICs4MjMsNyBAQA0KIGZpDQogDQogZWNobyAkYWNfbiAi
Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJENDICRDRkxBR1Mg
JExERkxBR1MpIHdvcmtzIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25m
aWd1cmU6ODI0OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgk
Q0MgJENGTEFHUyAkTERGTEFHUykgd29ya3MiID4mNQ0KK2VjaG8gImNvbmZp
Z3VyZTo4Mjc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKCRD
QyAkQ0ZMQUdTICRMREZMQUdTKSB3b3JrcyIgPiY1DQogDQogYWNfZXh0PWMN
CiAjIENGTEFHUyBpcyBub3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcsIC1PLCBl
dGMuIGFyZSBub3QgdmFsaWQgY3BwIG9wdGlvbnMuDQpAQCAtODMwLDExICs4
MzMsMTEgQEANCiBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jv
c3MNCiANCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUg
ODM0ICJjb25maWd1cmUiDQorI2xpbmUgODM3ICJjb25maWd1cmUiDQogI2lu
Y2x1ZGUgImNvbmZkZWZzLmgiDQogbWFpbigpe3JldHVybigwKTt9DQogRU9G
DQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4Mzg6IFwiJGFjX2xpbmtc
IikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBj
b25mdGVzdDsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODQx
OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9
ICYmIHRlc3QgLXMgY29uZnRlc3Q7IHRoZW4NCiAgIGFjX2N2X3Byb2dfY2Nf
d29ya3M9eWVzDQogICAjIElmIHdlIGNhbid0IHJ1biBhIHRyaXZpYWwgcHJv
Z3JhbSwgd2UgYXJlIHByb2JhYmx5IHVzaW5nIGEgY3Jvc3MgY29tcGlsZXIu
DQogICBpZiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4N
CkBAIC04NTQsMTIgKzg1NywxMiBAQA0KICAgeyBlY2hvICJjb25maWd1cmU6
IGVycm9yOiBpbnN0YWxsYXRpb24gb3IgY29uZmlndXJhdGlvbiBwcm9ibGVt
OiBDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMuIiAxPiYy
OyBleGl0IDE7IH0NCiBmaQ0KIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRo
ZXIgdGhlIEMgY29tcGlsZXIgKCRDQyAkQ0ZMQUdTICRMREZMQUdTKSBpcyBh
IGNyb3NzLWNvbXBpbGVyIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25m
aWd1cmU6ODU4OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgk
Q0MgJENGTEFHUyAkTERGTEFHUykgaXMgYSBjcm9zcy1jb21waWxlciIgPiY1
DQorZWNobyAiY29uZmlndXJlOjg2MTogY2hlY2tpbmcgd2hldGhlciB0aGUg
QyBjb21waWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3Mt
Y29tcGlsZXIiID4mNQ0KIGVjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19jY19j
cm9zcyIgMT4mNg0KIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19j
cm9zcw0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgd2UgYXJl
IHVzaW5nIEdOVSBDIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1
cmU6ODYzOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQyIg
PiY1DQorZWNobyAiY29uZmlndXJlOjg2NjogY2hlY2tpbmcgd2hldGhlciB3
ZSBhcmUgdXNpbmcgR05VIEMiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNo
byAnJCcneydhY19jdl9wcm9nX2djYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVu
DQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UN
CkBAIC04NjgsNyArODcxLDcgQEANCiAgIHllczsNCiAjZW5kaWYNCiBFT0YN
Ci1pZiB7IGFjX3RyeT0nJHtDQy1jY30gLUUgY29uZnRlc3QuYyc7IHsgKGV2
YWwgZWNobyBjb25maWd1cmU6ODcyOiBcIiRhY190cnlcIikgMT4mNTsgKGV2
YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSB8IGVncmVwIHllcyA+L2Rldi9udWxs
IDI+JjE7IHRoZW4NCitpZiB7IGFjX3RyeT0nJHtDQy1jY30gLUUgY29uZnRl
c3QuYyc7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODc1OiBcIiRhY190cnlc
IikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSB8IGVncmVwIHll
cyA+L2Rldi9udWxsIDI+JjE7IHRoZW4NCiAgIGFjX2N2X3Byb2dfZ2NjPXll
cw0KIGVsc2UNCiAgIGFjX2N2X3Byb2dfZ2NjPW5vDQpAQCAtODgzLDcgKzg4
Niw3IEBADQogICBhY19zYXZlX0NGTEFHUz0iJENGTEFHUyINCiAgIENGTEFH
Uz0NCiAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30g
YWNjZXB0cyAtZyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJl
Ojg4NzogY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1nIiA+
JjUNCitlY2hvICJjb25maWd1cmU6ODkwOiBjaGVja2luZyB3aGV0aGVyICR7
Q0MtY2N9IGFjY2VwdHMgLWciID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNo
byAnJCcneydhY19jdl9wcm9nX2NjX2cnK3NldH0nYFwiID0gc2V0IjsgdGhl
bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl
DQpAQCAtOTMxLDcgKzkzNCw3IEBADQogIyBQdWxsIHRoZSBoYXNoIG1hcmsg
b3V0IG9mIHRoZSBtYWNybyBjYWxsIHRvIGF2b2lkIG00IHByb2JsZW1zLg0K
IGFjX21zZz0id2hldGhlciAjISB3b3JrcyBpbiBzaGVsbCBzY3JpcHRzIg0K
IGVjaG8gJGFjX24gImNoZWNraW5nICRhY19tc2ciIi4uLiAkYWNfYyIgMT4m
Ng0KLWVjaG8gImNvbmZpZ3VyZTo5MzU6IGNoZWNraW5nICRhY19tc2ciID4m
NQ0KK2VjaG8gImNvbmZpZ3VyZTo5Mzg6IGNoZWNraW5nICRhY19tc2ciID4m
NQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zeXNfaW50
ZXJwcmV0ZXInK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNf
biAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtOTY1LDcgKzk2
OCw3IEBADQogDQogIyBHcm91cCBgbWFpbG1hbicgbXVzdCBleGlzdA0KIGVj
aG8gJGFjX24gImNoZWNraW5nIGZvciBtYWlsbWFuIEdJRCIiLi4uICRhY19j
IiAxPiY2DQotZWNobyAiY29uZmlndXJlOjk2OTogY2hlY2tpbmcgZm9yIG1h
aWxtYW4gR0lEIiA+JjUNCitlY2hvICJjb25maWd1cmU6OTcyOiBjaGVja2lu
ZyBmb3IgbWFpbG1hbiBHSUQiID4mNQ0KIA0KICMgTUFJTE1BTl9HSUQgPT0g
dmFyaWFibGUgbmFtZQ0KICMgbWFpbG1hbiA9PSB1c2VyIGlkIHRvIGNoZWNr
IGZvcg0KQEAgLTEwMTcsNyArMTAyMCw3IEBADQogZmkNCiANCiBlY2hvICRh
Y19uICJjaGVja2luZyBwZXJtaXNzaW9ucyBvbiAkcHJlZml4Y2hlY2siIi4u
LiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxMDIxOiBjaGVja2lu
ZyBwZXJtaXNzaW9ucyBvbiAkcHJlZml4Y2hlY2siID4mNQ0KK2VjaG8gImNv
bmZpZ3VyZToxMDI0OiBjaGVja2luZyBwZXJtaXNzaW9ucyBvbiAkcHJlZml4
Y2hlY2siID4mNQ0KIA0KIGNhdCA+IGNvbmZ0ZXN0LnB5IDw8RU9GDQogaW1w
b3J0IG9zLCBncnAsIHN0cmluZw0KQEAgLTEwNjMsNyArMTA2Niw3IEBADQog
IyBOb3cgZmluZCB0aGUgVUlEcyBhbmQgR0lEcw0KICMgU3VwcG9ydCAtLXdp
dGgtbWFpbC1naWQgYW5kIC0td2l0aC1jZ2ktZ2lkDQogZWNobyAkYWNfbiAi
Y2hlY2tpbmcgZm9yIG1haWwgd3JhcHBlciBHSUQiIi4uLiAkYWNfYyIgMT4m
Ng0KLWVjaG8gImNvbmZpZ3VyZToxMDY3OiBjaGVja2luZyBmb3IgbWFpbCB3
cmFwcGVyIEdJRCIgPiY1DQorZWNobyAiY29uZmlndXJlOjEwNzA6IGNoZWNr
aW5nIGZvciBtYWlsIHdyYXBwZXIgR0lEIiA+JjUNCiAjIENoZWNrIHdoZXRo
ZXIgLS13aXRoLW1haWwtZ2lkIG9yIC0td2l0aG91dC1tYWlsLWdpZCB3YXMg
Z2l2ZW4uDQogaWYgdGVzdCAiJHt3aXRoX21haWxfZ2lkK3NldH0iID0gc2V0
OyB0aGVuDQogICB3aXRodmFsPSIkd2l0aF9tYWlsX2dpZCINCkBAIC0xMDc1
LDcgKzEwNzgsNyBAQA0KICAgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQn
J3snYWNfY3ZfZ3JvdXBfbWFpbCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQog
ICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCi0g
ICAgICBhY19jdl9ncm91cF9tYWlsPSJvdGhlciBtYWlsIGRhZW1vbiINCisg
ICAgICBhY19jdl9ncm91cF9tYWlsPSJub2ZpbGVzIG90aGVyIG1haWwgZGFl
bW9uIg0KIGZpDQogDQogZWxzZQ0KQEAgLTExMjQsNyArMTEyNyw3IEBADQog
DQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIENHSSB3cmFwcGVyIEdJ
RCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjExMjg6IGNo
ZWNraW5nIGZvciBDR0kgd3JhcHBlciBHSUQiID4mNQ0KK2VjaG8gImNvbmZp
Z3VyZToxMTMxOiBjaGVja2luZyBmb3IgQ0dJIHdyYXBwZXIgR0lEIiA+JjUN
CiAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWNnaS1naWQgb3IgLS13aXRob3V0
LWNnaS1naWQgd2FzIGdpdmVuLg0KIGlmIHRlc3QgIiR7d2l0aF9jZ2lfZ2lk
K3NldH0iID0gc2V0OyB0aGVuDQogICB3aXRodmFsPSIkd2l0aF9jZ2lfZ2lk
Ig0KQEAgLTExODcsNiArMTE5MCwyNSBAQA0KICNNTV9GSU5EX1VTRVJfSUQo
QUxJQVNfVUlELCBtYWlsbWFuLCBhbGlhc193cmFwcGVyKQ0KICNNTV9GSU5E
X0dST1VQX0lEKEFMSUFTX0dJRCwgbWFpbCwgYWxpYXNfd3JhcHBlcikNCiAN
CisjIENHSSBleHRlbnNpb24gY2hlY2tpbmcNCisNCitlY2hvICRhY19uICJj
aGVja2luZyBmb3IgQ0dJIGV4dGVuc2lvbiIiLi4uICRhY19jIiAxPiY2DQor
ZWNobyAiY29uZmlndXJlOjExOTc6IGNoZWNraW5nIGZvciBDR0kgZXh0ZW5z
aW9uIiA+JjUNCisjIENoZWNrIHdoZXRoZXIgLS13aXRoLWNnaS1leHQgb3Ig
LS13aXRob3V0LWNnaS1leHQgd2FzIGdpdmVuLg0KK2lmIHRlc3QgIiR7d2l0
aF9jZ2lfZXh0K3NldH0iID0gc2V0OyB0aGVuDQorICB3aXRodmFsPSIkd2l0
aF9jZ2lfZXh0Ig0KKyAgOg0KK2ZpDQorDQoraWYgdGVzdCAteiAiJHdpdGhf
Y2dpX2V4dCINCit0aGVuDQorICAgIENHSUVYVD0nJw0KKyAgICB3aXRoX2Nn
aV9leHQ9J25vJw0KK2Vsc2UNCisgICAgQ0dJRVhUPSR3aXRoX2NnaV9leHQN
CitmaQ0KK2VjaG8gIiRhY190IiIkd2l0aF9jZ2lfZXh0IiAxPiY2DQorDQog
IyBmaWd1cmUgb3V0IHRoZSBERUZBVUxUX0hPU1RfTkFNRSBhbmQgREVGQVVM
VF9VUkwNCiANCiANCkBAIC0xMjE5LDE0ICsxMjQxLDE0IEBADQogJFBZVEhP
TiBjb25mdGVzdC5weQ0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBk
ZWZhdWx0IGZ1bGx5IHF1YWxpZmllZCBob3N0IG5hbWUiIi4uLiAkYWNfYyIg
MT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxMjIzOiBjaGVja2luZyBmb3IgZGVm
YXVsdCBmdWxseSBxdWFsaWZpZWQgaG9zdCBuYW1lIiA+JjUNCitlY2hvICJj
b25maWd1cmU6MTI0NTogY2hlY2tpbmcgZm9yIGRlZmF1bHQgZnVsbHkgcXVh
bGlmaWVkIGhvc3QgbmFtZSIgPiY1DQogaWYgdGVzdCAteiAiJEZRRE4iDQog
dGhlbg0KICAgICBGUUROPWBoZWFkIC0xIGNvbmZ0ZXN0Lm91dGANCiBmaQ0K
IGVjaG8gIiRhY190IiIkRlFETiIgMT4mNg0KIGVjaG8gJGFjX24gImNoZWNr
aW5nIGZvciBkZWZhdWx0IFVSTCBob3N0IGNvbXBvbmVudCIiLi4uICRhY19j
IiAxPiY2DQotZWNobyAiY29uZmlndXJlOjEyMzA6IGNoZWNraW5nIGZvciBk
ZWZhdWx0IFVSTCBob3N0IGNvbXBvbmVudCIgPiY1DQorZWNobyAiY29uZmln
dXJlOjEyNTI6IGNoZWNraW5nIGZvciBkZWZhdWx0IFVSTCBob3N0IGNvbXBv
bmVudCIgPiY1DQogaWYgdGVzdCAteiAiJFVSTCINCiB0aGVuDQogICAgIFVS
TD1gdGFpbCAtMSBjb25mdGVzdC5vdXRgDQpAQCAtMTIzOCwxMiArMTI2MCwx
MiBAQA0KIGZvciBhY19mdW5jIGluIHN0cmVycm9yDQogZG8NCiBlY2hvICRh
Y19uICJjaGVja2luZyBmb3IgJGFjX2Z1bmMiIi4uLiAkYWNfYyIgMT4mNg0K
LWVjaG8gImNvbmZpZ3VyZToxMjQyOiBjaGVja2luZyBmb3IgJGFjX2Z1bmMi
ID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxMjY0OiBjaGVja2luZyBmb3IgJGFj
X2Z1bmMiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19j
dl9mdW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVj
aG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KICAgY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDEyNDcgImNvbmZp
Z3VyZSINCisjbGluZSAxMjY5ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNv
bmZkZWZzLmgiDQogLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi
IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAgICB3
aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93
LiAgKi8NCkBAIC0xMjY2LDcgKzEyODgsNyBAQA0KIA0KIDsgcmV0dXJuIDA7
IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyNzA6IFwi
JGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYg
dGVzdCAtcyBjb25mdGVzdDsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25m
aWd1cmU6MTI5MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGlu
aykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0OyB0aGVuDQogICBybSAt
cmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9mdW5jXyRhY19mdW5jPXll
cyINCiBlbHNlDQpAQCAtMTI5Myw3ICsxMzE1LDcgQEANCiANCiAjIENoZWNr
cyBmb3IgaGVhZGVyIGZpbGVzLg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGhv
dyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yIiIuLi4gJGFjX2MiIDE+JjYN
Ci1lY2hvICJjb25maWd1cmU6MTI5NzogY2hlY2tpbmcgaG93IHRvIHJ1biB0
aGUgQyBwcmVwcm9jZXNzb3IiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxMzE5
OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvciIgPiY1
DQogIyBPbiBTdW5zLCBzb21ldGltZXMgJENQUCBuYW1lcyBhIGRpcmVjdG9y
eS4NCiBpZiB0ZXN0IC1uICIkQ1BQIiAmJiB0ZXN0IC1kICIkQ1BQIjsgdGhl
bg0KICAgQ1BQPQ0KQEAgLTEzMDgsMTMgKzEzMzAsMTMgQEANCiAgICMgT24g
dGhlIE5lWFQsIGNjIC1FIHJ1bnMgdGhlIGNvZGUgdGhyb3VnaCB0aGUgY29t
cGlsZXIncyBwYXJzZXIsDQogICAjIG5vdCBqdXN0IHRocm91Z2ggY3BwLg0K
ICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDEzMTIg
ImNvbmZpZ3VyZSINCisjbGluZSAxMzM0ICJjb25maWd1cmUiDQogI2luY2x1
ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPGFzc2VydC5oPg0KIFN5bnRh
eCBFcnJvcg0KIEVPRg0KIGFjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNf
ZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiDQoteyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZToxMzE4OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFj
X3RyeSkgMj4mNTsgfQ0KK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTM0MDog
XCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0NCiBh
Y19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dGANCiBpZiB0ZXN0
IC16ICIkYWNfZXJyIjsgdGhlbg0KICAgOg0KQEAgLTEzMjUsMTMgKzEzNDcs
MTMgQEANCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAgIENQUD0iJHtDQy1jY30g
LUUgLXRyYWRpdGlvbmFsLWNwcCINCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19l
eHQgPDxFT0YNCi0jbGluZSAxMzI5ICJjb25maWd1cmUiDQorI2xpbmUgMTM1
MSAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KICNpbmNs
dWRlIDxhc3NlcnQuaD4NCiBTeW50YXggRXJyb3INCiBFT0YNCiBhY190cnk9
IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRl
c3Qub3V0Ig0KLXsgKGV2YWwgZWNobyBjb25maWd1cmU6MTMzNTogXCIkYWNf
dHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0NCit7IChldmFs
IGVjaG8gY29uZmlndXJlOjEzNTc6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZh
bCAkYWNfdHJ5KSAyPiY1OyB9DQogYWNfZXJyPWBncmVwIC12ICdeICorJyBj
b25mdGVzdC5vdXRgDQogaWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4NCiAg
IDoNCkBAIC0xMzU0LDEyICsxMzc2LDEyIEBADQogZWNobyAiJGFjX3QiIiRD
UFAiIDE+JjYNCiANCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgQU5TSSBD
IGhlYWRlciBmaWxlcyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmln
dXJlOjEzNTg6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzIiA+
JjUNCitlY2hvICJjb25maWd1cmU6MTM4MDogY2hlY2tpbmcgZm9yIEFOU0kg
QyBoZWFkZXIgZmlsZXMiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAn
JCcneydhY19jdl9oZWFkZXJfc3RkYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVu
DQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UN
CiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMzYz
ICJjb25maWd1cmUiDQorI2xpbmUgMTM4NSAiY29uZmlndXJlIg0KICNpbmNs
dWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxzdGRsaWIuaD4NCiAjaW5j
bHVkZSA8c3RkYXJnLmg+DQpAQCAtMTM2Nyw3ICsxMzg5LDcgQEANCiAjaW5j
bHVkZSA8ZmxvYXQuaD4NCiBFT0YNCiBhY190cnk9IiRhY19jcHAgY29uZnRl
c3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0Ig0KLXsgKGV2
YWwgZWNobyBjb25maWd1cmU6MTM3MTogXCIkYWNfdHJ5XCIpIDE+JjU7IChl
dmFsICRhY190cnkpIDI+JjU7IH0NCit7IChldmFsIGVjaG8gY29uZmlndXJl
OjEzOTM6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1
OyB9DQogYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXRgDQog
aWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVz
dCoNCkBAIC0xMzg0LDcgKzE0MDYsNyBAQA0KIGlmIHRlc3QgJGFjX2N2X2hl
YWRlcl9zdGRjID0geWVzOyB0aGVuDQogICAjIFN1bk9TIDQueCBzdHJpbmcu
aCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5IHRvIEFOU0kuDQog
Y2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDEzODggImNv
bmZpZ3VyZSINCisjbGluZSAxNDEwICJjb25maWd1cmUiDQogI2luY2x1ZGUg
ImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPHN0cmluZy5oPg0KIEVPRg0KQEAg
LTE0MDIsNyArMTQyNCw3IEBADQogaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0
ZGMgPSB5ZXM7IHRoZW4NCiAgICMgSVNDIDIuMC4yIHN0ZGxpYi5oIGRvZXMg
bm90IGRlY2xhcmUgZnJlZSwgY29udHJhcnkgdG8gQU5TSS4NCiBjYXQgPiBj
b25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTQwNiAiY29uZmlndXJl
Ig0KKyNsaW5lIDE0MjggImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRl
ZnMuaCINCiAjaW5jbHVkZSA8c3RkbGliLmg+DQogRU9GDQpAQCAtMTQyMyw3
ICsxNDQ1LDcgQEANCiAgIDoNCiBlbHNlDQogICBjYXQgPiBjb25mdGVzdC4k
YWNfZXh0IDw8RU9GDQotI2xpbmUgMTQyNyAiY29uZmlndXJlIg0KKyNsaW5l
IDE0NDkgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAj
aW5jbHVkZSA8Y3R5cGUuaD4NCiAjZGVmaW5lIElTTE9XRVIoYykgKCdhJyA8
PSAoYykgJiYgKGMpIDw9ICd6JykNCkBAIC0xNDM0LDcgKzE0NTYsNyBAQA0K
IGV4aXQgKDApOyB9DQogDQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZp
Z3VyZToxNDM4OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5r
KSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3QgJiYgKC4vY29uZnRlc3Q7
IGV4aXQpIDI+L2Rldi9udWxsDQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3Vy
ZToxNDYwOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAy
PiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3QgJiYgKC4vY29uZnRlc3Q7IGV4
aXQpIDI+L2Rldi9udWxsDQogdGhlbg0KICAgOg0KIGVsc2UNCkBAIC0xNDYx
LDE3ICsxNDgzLDE3IEBADQogZG8NCiBhY19zYWZlPWBlY2hvICIkYWNfaGRy
IiB8IHNlZCAneSUuLystJV9fcF8lJ2ANCiBlY2hvICRhY19uICJjaGVja2lu
ZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmln
dXJlOjE0NjU6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUNCitlY2hvICJj
b25maWd1cmU6MTQ4NzogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQ0KIGlm
IGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3Nh
ZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNh
Y2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQogICBjYXQgPiBjb25mdGVzdC4k
YWNfZXh0IDw8RU9GDQotI2xpbmUgMTQ3MCAiY29uZmlndXJlIg0KKyNsaW5l
IDE0OTIgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAj
aW5jbHVkZSA8JGFjX2hkcj4NCiBFT0YNCiBhY190cnk9IiRhY19jcHAgY29u
ZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0Ig0KLXsg
KGV2YWwgZWNobyBjb25maWd1cmU6MTQ3NTogXCIkYWNfdHJ5XCIpIDE+JjU7
IChldmFsICRhY190cnkpIDI+JjU7IH0NCit7IChldmFsIGVjaG8gY29uZmln
dXJlOjE0OTc6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAy
PiY1OyB9DQogYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXRg
DQogaWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4NCiAgIHJtIC1yZiBjb25m
dGVzdCoNCkBAIC0xNTAwLDEyICsxNTIyLDEyIEBADQogDQogIyBDaGVja3Mg
Zm9yIHR5cGVkZWZzLCBzdHJ1Y3R1cmVzLCBhbmQgY29tcGlsZXIgY2hhcmFj
dGVyaXN0aWNzLg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB1aWRfdCBp
biBzeXMvdHlwZXMuaCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmln
dXJlOjE1MDQ6IGNoZWNraW5nIGZvciB1aWRfdCBpbiBzeXMvdHlwZXMuaCIg
PiY1DQorZWNobyAiY29uZmlndXJlOjE1MjY6IGNoZWNraW5nIGZvciB1aWRf
dCBpbiBzeXMvdHlwZXMuaCIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hv
ICckJyd7J2FjX2N2X3R5cGVfdWlkX3QnK3NldH0nYFwiID0gc2V0IjsgdGhl
bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl
DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTUw
OSAiY29uZmlndXJlIg0KKyNsaW5lIDE1MzEgImNvbmZpZ3VyZSINCiAjaW5j
bHVkZSAiY29uZmRlZnMuaCINCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQog
RU9GDQpAQCAtMTUzNCw3ICsxNTU2LDcgQEANCiBmaQ0KIA0KIGVjaG8gJGFj
X24gImNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1lbnQgdG8gZ2V0Z3Jv
dXBzIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTUzODog
Y2hlY2tpbmcgdHlwZSBvZiBhcnJheSBhcmd1bWVudCB0byBnZXRncm91cHMi
ID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxNTYwOiBjaGVja2luZyB0eXBlIG9m
IGFycmF5IGFyZ3VtZW50IHRvIGdldGdyb3VwcyIgPiY1DQogaWYgZXZhbCAi
dGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3R5cGVfZ2V0Z3JvdXBzJytzZXR9
J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRh
Y19jIiAxPiY2DQogZWxzZQ0KQEAgLTE1NDIsNyArMTU2NCw3IEBADQogICBh
Y19jdl90eXBlX2dldGdyb3Vwcz1jcm9zcw0KIGVsc2UNCiAgIGNhdCA+IGNv
bmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxNTQ2ICJjb25maWd1cmUi
DQorI2xpbmUgMTU2OCAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVm
cy5oIg0KIA0KIC8qIFRoYW5rcyB0byBNaWtlIFJlbmRlbGwgZm9yIHRoaXMg
dGVzdC4gICovDQpAQCAtMTU2Nyw3ICsxNTg5LDcgQEANCiB9DQogDQogRU9G
DQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTcxOiBcIiRhY19saW5r
XCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMg
Y29uZnRlc3QgJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQor
aWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTkzOiBcIiRhY19saW5rXCIp
IDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29u
ZnRlc3QgJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQogdGhl
bg0KICAgICBhY19jdl90eXBlX2dldGdyb3Vwcz1naWRfdA0KIGVsc2UNCkBA
IC0xNTgxLDcgKzE2MDMsNyBAQA0KIA0KIGlmIHRlc3QgJGFjX2N2X3R5cGVf
Z2V0Z3JvdXBzID0gY3Jvc3M7IHRoZW4NCiAgICAgICAgIGNhdCA+IGNvbmZ0
ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxNTg1ICJjb25maWd1cmUiDQor
I2xpbmUgMTYwNyAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5o
Ig0KICNpbmNsdWRlIDx1bmlzdGQuaD4NCiBFT0YNCkBAIC0xNjA3LDEyICsx
NjI5LDEyIEBADQogDQogIyBDaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25z
Lg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB2cHJpbnRmIiIuLi4gJGFj
X2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTYxMTogY2hlY2tpbmcgZm9y
IHZwcmludGYiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxNjMzOiBjaGVja2lu
ZyBmb3IgdnByaW50ZiIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICck
Jyd7J2FjX2N2X2Z1bmNfdnByaW50Zicrc2V0fSdgXCIgPSBzZXQiOyB0aGVu
DQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UN
CiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxNjE2
ICJjb25maWd1cmUiDQorI2xpbmUgMTYzOCAiY29uZmlndXJlIg0KICNpbmNs
dWRlICJjb25mZGVmcy5oIg0KIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l
IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywN
CiAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciB2cHJpbnRmKCk7
IGJlbG93LiAgKi8NCkBAIC0xNjM1LDcgKzE2NTcsNyBAQA0KIA0KIDsgcmV0
dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE2
Mzk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7
IH0gJiYgdGVzdCAtcyBjb25mdGVzdDsgdGhlbg0KK2lmIHsgKGV2YWwgZWNo
byBjb25maWd1cmU6MTY2MTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAk
YWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0OyB0aGVuDQog
ICBybSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9mdW5jX3Zwcmlu
dGY9eWVzIg0KIGVsc2UNCkBAIC0xNjU5LDEyICsxNjgxLDEyIEBADQogDQog
aWYgdGVzdCAiJGFjX2N2X2Z1bmNfdnByaW50ZiIgIT0geWVzOyB0aGVuDQog
ZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIF9kb3BybnQiIi4uLiAkYWNfYyIg
MT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxNjYzOiBjaGVja2luZyBmb3IgX2Rv
cHJudCIgPiY1DQorZWNobyAiY29uZmlndXJlOjE2ODU6IGNoZWNraW5nIGZv
ciBfZG9wcm50IiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3sn
YWNfY3ZfZnVuY19fZG9wcm50JytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAg
IGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KICAg
Y2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDE2NjggImNv
bmZpZ3VyZSINCisjbGluZSAxNjkwICJjb25maWd1cmUiDQogI2luY2x1ZGUg
ImNvbmZkZWZzLmgiDQogLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z
dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAg
ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9kb3BybnQoKTsgYmVs
b3cuICAqLw0KQEAgLTE2ODcsNyArMTcwOSw3IEBADQogDQogOyByZXR1cm4g
MDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTY5MTog
XCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAm
JiB0ZXN0IC1zIGNvbmZ0ZXN0OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNv
bmZpZ3VyZToxNzEzOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19s
aW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Q7IHRoZW4NCiAgIHJt
IC1yZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2X2Z1bmNfX2RvcHJudD15
ZXMiDQogZWxzZQ0KQEAgLTE4NzEsNiArMTg5Myw3IEBADQogcyVATUFJTE1B
Tl9HSURAJSRNQUlMTUFOX0dJRCVnDQogcyVATUFJTF9HSURAJSRNQUlMX0dJ
RCVnDQogcyVAQ0dJX0dJREAlJENHSV9HSUQlZw0KK3MlQENHSUVYVEAlJENH
SUVYVCVnDQogcyVARlFETkAlJEZRRE4lZw0KIHMlQFVSTEAlJFVSTCVnDQog
cyVAQ1BQQCUkQ1BQJWcNCmRpZmYgLWJydSAteCBDVlMgbWFpbG1hbi5vcmln
L2NvbmZpZ3VyZS5pbiBtYWlsbWFuL2NvbmZpZ3VyZS5pbg0KLS0tIG1haWxt
YW4ub3JpZy9jb25maWd1cmUuaW4JU2F0IEF1ZyAgOCAxNDoxNToyOCAxOTk4
DQorKysgbWFpbG1hbi9jb25maWd1cmUuaW4JRnJpIEF1ZyAyMSAxNToyMDox
NSAxOTk4DQpAQCAtMjEzLDcgKzIxMyw3IEBADQogaWYgdGVzdCAteiAiJHdp
dGhfbWFpbF9naWQiDQogdGhlbg0KICAgICBBQ19DQUNIRV9WQUwoYWNfY3Zf
Z3JvdXBfbWFpbCwgW2RubA0KLSAgICBhY19jdl9ncm91cF9tYWlsPSJvdGhl
ciBtYWlsIGRhZW1vbiJdKQ0KKyAgICBhY19jdl9ncm91cF9tYWlsPSJub2Zp
bGVzIG90aGVyIG1haWwgZGFlbW9uIl0pDQogZWxzZQ0KICAgICBhY19jdl9n
cm91cF9tYWlsPSR3aXRoX21haWxfZ2lkDQogZmkNCkBAIC0yNTUsNiArMjU1
LDIwIEBADQogDQogI01NX0ZJTkRfVVNFUl9JRChBTElBU19VSUQsIG1haWxt
YW4sIGFsaWFzX3dyYXBwZXIpDQogI01NX0ZJTkRfR1JPVVBfSUQoQUxJQVNf
R0lELCBtYWlsLCBhbGlhc193cmFwcGVyKQ0KKw0KKyMgQ0dJIGV4dGVuc2lv
biBjaGVja2luZw0KK0FDX1NVQlNUKENHSUVYVCkNCitBQ19NU0dfQ0hFQ0tJ
TkcoZm9yIENHSSBleHRlbnNpb24pDQorQUNfQVJHX1dJVEgoY2dpLWV4dCwg
Ww0KKwktLXdpdGgtY2dpLWV4dCAgICAgICAgc3BlY2lmeSBleHRlbnNpb25z
IG9mIENHSSBwcm9ncmFtc10pDQoraWYgdGVzdCAteiAiJHdpdGhfY2dpX2V4
dCINCit0aGVuDQorICAgIENHSUVYVD0nJw0KKyAgICB3aXRoX2NnaV9leHQ9
J25vJw0KK2Vsc2UNCisgICAgQ0dJRVhUPSR3aXRoX2NnaV9leHQNCitmaQ0K
K0FDX01TR19SRVNVTFQoJHdpdGhfY2dpX2V4dCkNCiANCiAjIGZpZ3VyZSBv
dXQgdGhlIERFRkFVTFRfSE9TVF9OQU1FIGFuZCBERUZBVUxUX1VSTA0KIEFD
X1NVQlNUKEZRRE4pDQpkaWZmIC1icnUgLXggQ1ZTIG1haWxtYW4ub3JpZy9j
cm9uL01ha2VmaWxlLmluIG1haWxtYW4vY3Jvbi9NYWtlZmlsZS5pbg0KLS0t
IG1haWxtYW4ub3JpZy9jcm9uL01ha2VmaWxlLmluCVNhdCBBdWcgIDggMTQ6
MTg6NTMgMTk5OA0KKysrIG1haWxtYW4vY3Jvbi9NYWtlZmlsZS5pbglGcmkg
QXVnIDIxIDE0OjU1OjA0IDE5OTgNCkBAIC02Nyw0ICs2Nyw0IEBADQogY2xl
YW46DQogDQogZGlzdGNsZWFuOg0KLQktcm0gTWFrZWZpbGUNCisJLXJtIE1h
a2VmaWxlIGNyb250YWIuaW4NCmRpZmYgLWJydSAteCBDVlMgbWFpbG1hbi5v
cmlnL3NjcmlwdHMvTWFrZWZpbGUuaW4gbWFpbG1hbi9zY3JpcHRzL01ha2Vm
aWxlLmluDQotLS0gbWFpbG1hbi5vcmlnL3NjcmlwdHMvTWFrZWZpbGUuaW4J
U2F0IEF1ZyAgOCAxNDoxOTo1NCAxOTk4DQorKysgbWFpbG1hbi9zY3JpcHRz
L01ha2VmaWxlLmluCUZyaSBBdWcgMjEgMTU6MTI6MzcgMTk5OA0KQEAgLTMx
LDYgKzMxLDcgQEANCiBDQz0JCUBDQ0ANCiBDSE1PRD0gIAlAQ0hNT0RADQog
SU5TVEFMTD0JQElOU1RBTExADQorQ0dJRVhUPQkJQENHSUVYVEANCiANCiBE
RUZTPSAgIAlAREVGU0ANCiANCmRpZmYgLWJydSAteCBDVlMgbWFpbG1hbi5v
cmlnL3NyYy9NYWtlZmlsZS5pbiBtYWlsbWFuL3NyYy9NYWtlZmlsZS5pbg0K
LS0tIG1haWxtYW4ub3JpZy9zcmMvTWFrZWZpbGUuaW4JU2F0IEF1ZyAgOCAx
NDoyMDoxNiAxOTk4DQorKysgbWFpbG1hbi9zcmMvTWFrZWZpbGUuaW4JRnJp
IEF1ZyAyMSAxNToyMTo1NiAxOTk4DQpAQCAtNDUsNyArNDUsNyBAQA0KIE9Q
VD0JCUBPUFRADQogQ0ZMQUdTPQkJJChPUFQpICQoREVGUykNCiBDR0lESVI9
IAkkKGV4ZWNfcHJlZml4KS9jZ2ktYmluDQotQ0dJRVhUPQkJDQorQ0dJRVhU
PQkJQENHSUVYVEANCiBNQUlMRElSPQkkKGV4ZWNfcHJlZml4KS9tYWlsDQog
DQogU0hFTEw9CQkvYmluL3NoDQo=
---456965764-2069813568-904564521=:31564--