Bug#1143581: trixie-pu: package calibre/8.5.0+ds-1+deb13u4
yokota <[email protected]> Thu, 6 Aug 2026 02:31:09 +0900
| Newsgroups | gmane.linux.debian.devel.release |
|---|---|
| Message-ID | <CA+0c0dUF+qEqCb5cOBugUXzA=v4=yrNN3Yt+wjmG=O2kK5CGzw__31874.8266248562$1785951230$gmane$org@mail.gmail.com> |
--000000000000d24aef06585023e7 Content-Type: text/plain; charset="UTF-8" Hello, > [ Risks ] > I don't have ePub file with obfuscated fonts. > So I can't test specific file conversions. I was taken ePub file with obfuscated fonts from https://idpf.github.io/epub3-samples/30/samples.html . And add autopkgtest for this issue. You can examine from online: https://github.com/debian-calibre/calibre/compare/debian/8.5.0+ds-1+deb13u3...debian/trixie -- YOKOTA Hiroshi --000000000000d24aef06585023e7 Content-Type: application/octet-stream; name="calibre_8.5.0+ds-1+deb13u4-1.debdiff" Content-Disposition: attachment; filename="calibre_8.5.0+ds-1+deb13u4-1.debdiff" Content-Transfer-Encoding: base64 Content-ID: <f_msgd2io90> X-Attachment-Id: f_msgd2io90 ZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL2NoYW5nZWxvZyBjYWxpYnJlLTguNS4w K2RzL2RlYmlhbi9jaGFuZ2Vsb2cKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL2NoYW5nZWxv ZwkyMDI2LTA1LTI1IDA4OjE5OjUzLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtk cy9kZWJpYW4vY2hhbmdlbG9nCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBA IC0xLDMgKzEsMTkgQEAKK2NhbGlicmUgKDguNS4wK2RzLTErZGViMTN1NCkgdHJpeGllOyB1cmdl bmN5PW1lZGl1bQorCisgICogVGhpcyB1cGRhdGUgYWRkcyBmaXh1cCBmb3IgQ1ZFLTIwMjYtMjU2 MzYgcGF0Y2ggaW4gOC41LjArZHMtMStkZWIxM3UyCisKKyAgKiBTZXQgZGVmYXVsdCBEZWJpYW4g YnJhbmNoIG5hbWUgZm9yIHRyaXhpZQorICAqIFVzZSBzYWxzYSBDSQorICAqIERpc2FibGUgdXNj YW4gdGVzdC4KKyAgICBJdCBhbHdheXMgZmFpbCBiZWNhdXNlIHRoZSB1cHN0cmVhbSBjb2RlIGlz IG5vdCBsYXRlc3Qgb25lLgorICAqIEFkZCB0ZXN0IGZvciByZXByb2R1Y2UgRGViaWFuIGJ1ZyAx MTQzNDg0CisgICogQ1ZFLTIwMjYtMjU2MzYgKDEvMik6IEVQVUIgSW5wdXQ6IEVuc3VyZSBmb250 IG9iZnVzY2F0aW9uIHByb2Nlc3NpbmcKKyAgICBoYXBwZW5zIG9ubHkgb24gZmlsZXMgZnJvbSB0 aGUgRVBVQiAoQ2xvc2VzOiAjMTE0MzQ4NCkKKyAgKiBSZW5hbWUgYSBDVkUtMjAyNi0yNTYzNiBw YXRjaCBpbiA4LjUuMCtkcy0xK2RlYjEzdTIKKyAgKiBSZW51bWJlciBwYXRjaGVzCisKKyAtLSBZ T0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhnbWxAZ21haWwuY29tPiAgV2VkLCAwNSBBdWcgMjAyNiAy Mzo1NDozOSArMDkwMAorCiBjYWxpYnJlICg4LjUuMCtkcy0xK2RlYjEzdTMpIHRyaXhpZTsgdXJn ZW5jeT1tZWRpdW0KIAogICAqIEZpeCBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgYW5kIGNvZGUg cXVhbGl0eSBpc3N1ZXMgKENsb3NlczogIzExMzU1NDMpCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4w K2RzL2RlYmlhbi9jb3B5cmlnaHQgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vY29weXJpZ2h0Ci0t LSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9jb3B5cmlnaHQJMjAyNi0wNS0yNSAwODoxOTo1My4w MDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL2NvcHlyaWdodAkyMDI2 LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApAQCAtOTMsNiArOTMsMTggQEAKICAgICAg ICAgICAgQ29weXJpZ2h0IChDKSAyMDA4LCBSb3NldHRhIENvbnRyaWJ1dG9ycyBhbmQgQ2Fub25p Y2FsIEx0ZC4KIExpY2Vuc2U6IEdQTC0zCiAKK0ZpbGVzOiBkZWJpYW4vKgorQ29weXJpZ2h0OiBZ T0tPVEEgSGlyb3NoaSwgTWFydGluIFBpdHQsIE5pY2hvbGFzIEQgU3RlZXZlcworTGljZW5zZTog R1BMLTMKKworRmlsZXM6IGRlYmlhbi90ZXN0cy9kYXRhL3dhc3RlbGFuZC13b2ZmLW9iZi5lcHVi CitDb3B5cmlnaHQ6IEVQVUIgMyBDb21tdW5pdHkgR3JvdXAKK0xpY2Vuc2U6IENDLUJZLVNBLTMu MAorQ29tbWVudDogaW5wdXQgZmlsZSB3YXMgdGFrZW4gZnJvbSBFUFVCIDMgU2FtcGxlcworICBo dHRwczovL2dpdGh1Yi5jb20vSURQRi9lcHViMy1zYW1wbGVzL3JlbGVhc2VzL2Rvd25sb2FkLzIw MjMwNzA0L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCisgIGh0dHBzOi8vaWRwZi5naXRodWIuaW8v ZXB1YjMtc2FtcGxlcy8zMC9zYW1wbGVzLmh0bWwKKyAgaHR0cHM6Ly9naXRodWIuY29tL0lEUEYv ZXB1YjMtc2FtcGxlcy8KKwogCiBMaWNlbnNlOiBBcGFjaGUtMi4wCiAgVGhlIGZ1bGwgdGV4dCBv ZiB0aGUgR1BMIGlzIGRpc3RyaWJ1dGVkIGFzIGluCkBAIC0xMTgsNiArMTMwLDEwIEBACiAgVGhl IGZ1bGwgdGV4dCBvZiB0aGUgTEdQTCBpcyBkaXN0cmlidXRlZCBhcyBpbgogIC91c3Ivc2hhcmUv Y29tbW9uLWxpY2Vuc2VzL0xHUEwtMi4xIG9uIERlYmlhbiBzeXN0ZW1zLgogCitMaWNlbnNlOiBD Qy1CWS1TQS0zLjAKKyBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBDQy1CWS1TQS0zLjAgaXMgZGlzdHJp YnV0ZWQgYXMgaW4KKyAvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNlcy9DQy1CWS1TQS0zLjAgb24g RGViaWFuIHN5c3RlbXMuCisKIExpY2Vuc2U6IEJTRC0zLUNsYXVzZQogIEFsbCByaWdodHMgcmVz ZXJ2ZWQuCiAgLgpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vZ2JwLmNvbmYgY2Fs aWJyZS04LjUuMCtkcy9kZWJpYW4vZ2JwLmNvbmYKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFu L2dicC5jb25mCTIwMjYtMDUtMjUgMDg6MTk6NTMuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJl LTguNS4wK2RzL2RlYmlhbi9nYnAuY29uZgkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCAr MDkwMApAQCAtMSw1ICsxLDYgQEAKIFtERUZBVUxUXQogcHJpc3RpbmUtdGFyID0gVHJ1ZQorZGVi aWFuLWJyYW5jaCA9IGRlYmlhbi90cml4aWUKIAogW2RjaF0KIGZ1bGwgPSBUcnVlCmRpZmYgLU5y dSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3NlcmllcyBjYWxpYnJlLTguNS4wK2Rz L2RlYmlhbi9wYXRjaGVzL3NlcmllcwotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hl cy9zZXJpZXMJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUt OC41LjArZHMvZGViaWFuL3BhdGNoZXMvc2VyaWVzCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAw MDAwICswOTAwCkBAIC04MSwxNCArODEsMTUgQEAKIDAwODEtUmV2ZXJ0LVVwZGF0ZS03emlwLXdy YXBwZXItY29kZS1mb3ItcmVtb3ZhbC1vZi1yZWFkLS5wYXRjaAogdXBzdHJlYW0vMDA4Mi1GaXgt Q1ZFLTIwMjUtNjQ0ODYucGF0Y2gKIHVwc3RyZWFtLzAwODMtQ1ZFLTIwMjYtMjU2MzUtQ0hNLUlu cHV0LUlnbm9yZS1pbnRlcm5hbC1maWxlcy10aGF0LS5wYXRjaAotdXBzdHJlYW0vMDA4NC1DVkUt MjAyNi0yNTYzNi1EUlllci5wYXRjaAotdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0yNTczMS1aSVAt T3V0cHV0LUNoYW5nZS10aGUtdGVtcGxhdGUtZW5naW5lLnBhdGNoCi11cHN0cmVhbS8wMDg2LUNW RS0yMDI2LTI2MDY0LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0ZWQucGF0Y2gK LXVwc3RyZWFtLzAwODctQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVuc3VyZS1leHRyYWN0ZWQt aW1hZ2VzLWFyZS5wYXRjaAotdXBzdHJlYW0vMDA4OC1DVkUtMjAyNi0yNzgxMC1Db250ZW50LXNl cnZlci1TYW5pdGl6ZS1jb250ZW50LWRpc3BvLnBhdGNoCi11cHN0cmVhbS8wMDg5LUNWRS0yMDI2 LTI3ODI0LUNvbnRlbnQtc2VydmVyLVdoZW4tYmFubmluZy1JUHMtZm9yLXIucGF0Y2gKLXVwc3Ry ZWFtLzAwOTAtRml4LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlz c3Vlcy5wYXRjaAotdXBzdHJlYW0vMDA5MS1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1FbnN1cmUt ZmlsZXMtYXJlLWV4dHJhY3RlZC13LnBhdGNoCi11cHN0cmVhbS8wMDkyLUNWRS0yMDI2LTMzMjA1 LTEtMi1FLWJvb2stdmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0Y2gKLXVwc3RyZWFtLzAw OTMtQ1ZFLTIwMjYtMzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5w YXRjaAotdXBzdHJlYW0vMDA5NC1DVkUtMjAyNi0zMzIwNi1UWFQtSW5wdXQtRW5zdXJlLXJlc291 cmNlLWZpbGVzLWFyZS1yLnBhdGNoCit1cHN0cmVhbS8wMDg0LUNWRS0yMDI2LTI1NjM2LTEtMi1F UFVCLUlucHV0LUVuc3VyZS1mb250LW9iZnVzY2F0aW8ucGF0Y2gKK3Vwc3RyZWFtLzAwODUtQ1ZF LTIwMjYtMjU2MzYtMi0yLURSWWVyLnBhdGNoCit1cHN0cmVhbS8wMDg2LUNWRS0yMDI2LTI1NzMx LVpJUC1PdXRwdXQtQ2hhbmdlLXRoZS10ZW1wbGF0ZS1lbmdpbmUucGF0Y2gKK3Vwc3RyZWFtLzAw ODctQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1pbWFnZXMtYXJlLWV4dHJhY3RlZC5w YXRjaAordXBzdHJlYW0vMDA4OC1DVkUtMjAyNi0yNjA2NS1QREItSW5wdXQtRW5zdXJlLWV4dHJh Y3RlZC1pbWFnZXMtYXJlLnBhdGNoCit1cHN0cmVhbS8wMDg5LUNWRS0yMDI2LTI3ODEwLUNvbnRl bnQtc2VydmVyLVNhbml0aXplLWNvbnRlbnQtZGlzcG8ucGF0Y2gKK3Vwc3RyZWFtLzAwOTAtQ1ZF LTIwMjYtMjc4MjQtQ29udGVudC1zZXJ2ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5wYXRjaAor dXBzdHJlYW0vMDA5MS1GaXgtc2VjdXJpdHktdnVsbmVyYWJpbGl0aWVzLWFuZC1jb2RlLXF1YWxp dHktaXNzdWVzLnBhdGNoCit1cHN0cmVhbS8wMDkyLUNWRS0yMDI2LTMwODUzLVJCLUlucHV0LUVu c3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0Y2gKK3Vwc3RyZWFtLzAwOTMtQ1ZFLTIwMjYt MzMyMDUtMS0yLUUtYm9vay12aWV3ZXItcHJldmVudC1yZWFkaW5nLWJhYy5wYXRjaAordXBzdHJl YW0vMDA5NC1DVkUtMjAyNi0zMzIwNS0yLTItRS1ib29rLXZpZXdlci1EaXNhbGxvdy1iYWNrZ3Jv dW5kLnBhdGNoCit1cHN0cmVhbS8wMDk1LUNWRS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUt cmVzb3VyY2UtZmlsZXMtYXJlLXIucGF0Y2gKZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGVi aWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi0xLTItRVBVQi1JbnB1dC1F bnN1cmUtZm9udC1vYmZ1c2NhdGlvLnBhdGNoIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNo ZXMvdXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi0xLTItRVBVQi1JbnB1dC1FbnN1cmUtZm9u dC1vYmZ1c2NhdGlvLnBhdGNoCi0tLSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vw c3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtMS0yLUVQVUItSW5wdXQtRW5zdXJlLWZvbnQtb2Jm dXNjYXRpby5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMAorKysgY2Fs aWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg0LUNWRS0yMDI2LTI1NjM2 LTEtMi1FUFVCLUlucHV0LUVuc3VyZS1mb250LW9iZnVzY2F0aW8ucGF0Y2gJMjAyNi0wOC0wNSAy Mzo1NDozOS4wMDAwMDAwMDAgKzA5MDAKQEAgLTAsMCArMSw2MyBAQAorRnJvbTogS292aWQgR295 YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTogTW9uLCAyIEZlYiAyMDI2IDA5OjUxOjE4 ICswNTMwCitTdWJqZWN0OiBDVkUtMjAyNi0yNTYzNiAoMS8yKTogRVBVQiBJbnB1dDogRW5zdXJl IGZvbnQgb2JmdXNjYXRpb24gcHJvY2Vzc2luZworIGhhcHBlbnMgb25seSBvbiBmaWxlcyBmcm9t IHRoZSBFUFVCCisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQnVnOiBodHRwczovL2dpdGh1Yi5j b20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS04cjI2LW03ajUt aG0yOQorT3JpZ2luOiBiYWNrcG9ydCwgaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2Fs aWJyZS9jb21taXQvMjY3YmZkMzQwMjBhNGYyOTdjMmRlOWNjMGNkZTUwZWJlNWQwMjRkNAorQnVn LURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1 Zz0xMTQzNDg0CisKK1NpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBn bWFpbC5jb20+CistLS0KKyBzcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2Vw dWJfaW5wdXQucHkgfCAgNCArKystCisgc3JjL2NhbGlicmUvdXRpbHMvZmlsZW5hbWVzLnB5ICAg ICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQs IDE3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jYWxp YnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5weSBiL3NyYy9jYWxpYnJl L2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5weQoraW5kZXggMjUwNTE2OS4u ZjYyZmVkMSAxMDA2NDQKKy0tLSBhL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdp bnMvZXB1Yl9pbnB1dC5weQorKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1 Z2lucy9lcHViX2lucHV0LnB5CitAQCAtNDQsNiArNDQsOCBAQCBjbGFzcyBFUFVCSW5wdXQoSW5w dXRGb3JtYXRQbHVnaW4pOgorICAgICAgICAgaW1wb3J0IHV1aWQKKyAKKyAgICAgICAgIGZyb20g bHhtbCBpbXBvcnQgZXRyZWUKKysKKysgICAgICAgIGZyb20gY2FsaWJyZS51dGlscy5maWxlbmFt ZXMgaW1wb3J0IGlzX2V4aXN0aW5nX3N1YnBhdGgKKyAgICAgICAgIGlkcGZfa2V5ID0gb3BmLnJh d191bmlxdWVfaWRlbnRpZmllcgorICAgICAgICAgaWYgaWRwZl9rZXk6CisgICAgICAgICAgICAg aWRwZl9rZXkgPSByZS5zdWIocidbIFx0XHJcbl0nLCAnJywgaWRwZl9rZXkpCitAQCAtNzQsNyAr NzYsNyBAQCBjbGFzcyBFUFVCSW5wdXQoSW5wdXRGb3JtYXRQbHVnaW4pOgorICAgICAgICAgICAg ICAgICB1cmkgPSBjci5nZXQoJ1VSSScpCisgICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRo LmFic3BhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShlbmNmaWxlKSwgJy4uJywgKnVy aS5zcGxpdCgnLycpKSkKKyAgICAgICAgICAgICAgICAgdGtleSA9IChrZXkgaWYgYWxnb3JpdGht ID09IEFET0JFX09CRlVTQ0FUSU9OIGVsc2UgaWRwZl9rZXkpCistICAgICAgICAgICAgICAgIGlm ICh0a2V5IGFuZCBvcy5wYXRoLmV4aXN0cyhwYXRoKSk6CisrICAgICAgICAgICAgICAgIGlmICh0 a2V5IGFuZCBpc19leGlzdGluZ19zdWJwYXRoKHBhdGgsIG9zLmdldGN3ZCgpKSk6CisgICAgICAg ICAgICAgICAgICAgICBzZWxmLl9lbmNyeXB0ZWRfZm9udF91cmlzLmFwcGVuZCh1cmkpCisgICAg ICAgICAgICAgICAgICAgICBkZWNyeXB0X2ZvbnQodGtleSwgcGF0aCwgYWxnb3JpdGhtKQorICAg ICAgICAgICAgIHJldHVybiBUcnVlCitkaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvdXRpbHMvZmls ZW5hbWVzLnB5IGIvc3JjL2NhbGlicmUvdXRpbHMvZmlsZW5hbWVzLnB5CitpbmRleCA1MTgyZjc1 Li4xY2IwN2Y0IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvdXRpbHMvZmlsZW5hbWVzLnB5Cisr KysgYi9zcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMucHkKK0BAIC02NDQsNiArNjQ0LDIwIEBA IGRlZiBjb3B5dHJlZV91c2luZ19saW5rcyhwYXRoLCBkZXN0LCBkZXN0X2lzX3BhcmVudD1UcnVl LCBmaWxlY29weWZ1bmM9Y29weWZpbGUpCisgICAgICAgICAgICAgICAgIGZpbGVjb3B5ZnVuYyhz cmMsIGRmKQorIAorIAorK2RlZiBpc19leGlzdGluZ19zdWJwYXRoKGNoaWxkOiBzdHIsIHBhcmVu dDogc3RyKSAtPiBib29sOgorKyAgICAnIENoZWNrIGlmIGNoaWxkIGlzIHVuZGVyIHBhcmVudC4g SWYgZWl0aGVyIGNoaWxkIG9yIHBhcmVudCBkb250IGV4aXN0LCByZXR1cm5zIEZhbHNlLiAnCisr ICAgIHRyeToKKysgICAgICAgIHBhcmVudCA9IG9zLnBhdGgucmVhbHBhdGgocGFyZW50LCBzdHJp Y3Q9VHJ1ZSkgICMgcmVzb2x2ZSBzeW1saW5rcworKyAgICAgICAgY2hpbGQgPSBvcy5wYXRoLnJl YWxwYXRoKGNoaWxkLCBzdHJpY3Q9VHJ1ZSkKKysgICAgZXhjZXB0IE9TRXJyb3I6CisrICAgICAg ICByZXR1cm4gRmFsc2UKKysgICAgcGFyZW50ID0gb3MucGF0aC5hYnNwYXRoKHBhcmVudCkKKysg ICAgY2hpbGQgPSBvcy5wYXRoLmFic3BhdGgoY2hpbGQpCisrICAgIGlmIG5vdCBwYXJlbnQuZW5k c3dpdGgob3Muc2VwKToKKysgICAgICAgIHBhcmVudCArPSBvcy5zZXAKKysgICAgcmV0dXJuIGNo aWxkLnN0YXJ0c3dpdGgocGFyZW50KQorKworKworIHJtdHJlZSA9IHNodXRpbC5ybXRyZWUKKyAK KyAKZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4 NC1DVkUtMjAyNi0yNTYzNi1EUlllci5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRj aGVzL3Vwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtRFJZZXIucGF0Y2gKLS0tIGNhbGlicmUt OC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi1EUlll ci5wYXRjaAkyMDI2LTA1LTI1IDA4OjE5OjUzLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04 LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg0LUNWRS0yMDI2LTI1NjM2LURSWWVy LnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDM3ICswLDAg QEAKLUZyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IE1vbiwg MiBGZWIgMjAyNiAxMToyNTowOSArMDUzMAotU3ViamVjdDogQ1ZFLTIwMjYtMjU2MzY6IERSWWVy Ci0KLUZvcndhcmRlZDogbm90LW5lZWRlZAotQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRn b3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS04cjI2LW03ajUtaG0yOQotT3Jp Z2luOiBiYWNrcG9ydCwgaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9jb21t aXQvOTQ4NGVhODJjNmFiMjI2YzE4ZTZjYTVhYTAwMGZhMTZkZTU5ODcyNgotCi1TaWduZWQtb2Zm LWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhnbWxAZ21haWwuY29tPgotLS0tCi0gc3JjL2Nh bGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5IHwgNiArKysrLS0K LSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0 LnB5IGIvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5 Ci1pbmRleCAyNTA1MTY5Li5lZGZlYmVlIDEwMDY0NAotLS0tIGEvc3JjL2NhbGlicmUvZWJvb2tz L2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9lYm9v a3MvY29udmVyc2lvbi9wbHVnaW5zL2VwdWJfaW5wdXQucHkKLUBAIC02NiwxNSArNjYsMTcgQEAg Y2xhc3MgRVBVQklucHV0KElucHV0Rm9ybWF0UGx1Z2luKToKLSAKLSAgICAgICAgIHRyeToKLSAg ICAgICAgICAgICByb290ID0gZXRyZWUucGFyc2UoZW5jZmlsZSkKLSsgICAgICAgICAgICBiYXNl ID0gb3MucGF0aC5kaXJuYW1lKGVuY2ZpbGUpCi0rICAgICAgICAgICAgY29udGFpbmVyX2Jhc2Ug PSBvcy5wYXRoLmRpcm5hbWUoYmFzZSkKLSAgICAgICAgICAgICBmb3IgZW0gaW4gcm9vdC54cGF0 aCgnZGVzY2VuZGFudDo6Kltjb250YWlucyhuYW1lKCksICJFbmNyeXB0aW9uTWV0aG9kIildJyk6 Ci0gICAgICAgICAgICAgICAgIGFsZ29yaXRobSA9IGVtLmdldCgnQWxnb3JpdGhtJywgJycpCi0g ICAgICAgICAgICAgICAgIGlmIGFsZ29yaXRobSBub3QgaW4ge0FET0JFX09CRlVTQ0FUSU9OLCBJ RFBGX09CRlVTQ0FUSU9OfToKLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAg ICAgICAgICAgICAgICBjciA9IGVtLmdldHBhcmVudCgpLnhwYXRoKCdkZXNjZW5kYW50OjoqW2Nv bnRhaW5zKG5hbWUoKSwgIkNpcGhlclJlZmVyZW5jZSIpXScpWzBdCi0gICAgICAgICAgICAgICAg IHVyaSA9IGNyLmdldCgnVVJJJykKLS0gICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz cGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGVuY2ZpbGUpLCAnLi4nLCAqdXJpLnNw bGl0KCcvJykpKQotKyAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKG9zLnBh dGguam9pbihiYXNlLCAnLi4nLCAqdXJpLnNwbGl0KCcvJykpKQotICAgICAgICAgICAgICAgICB0 a2V5ID0gKGtleSBpZiBhbGdvcml0aG0gPT0gQURPQkVfT0JGVVNDQVRJT04gZWxzZSBpZHBmX2tl eSkKLS0gICAgICAgICAgICAgICAgaWYgKHRrZXkgYW5kIG9zLnBhdGguZXhpc3RzKHBhdGgpKToK LSsgICAgICAgICAgICAgICAgaWYgKHRrZXkgYW5kIGlzX2V4aXN0aW5nX3N1YnBhdGgocGF0aCwg Y29udGFpbmVyX2Jhc2UpKToKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2VuY3J5cHRlZF9m b250X3VyaXMuYXBwZW5kKHVyaSkKLSAgICAgICAgICAgICAgICAgICAgIGRlY3J5cHRfZm9udCh0 a2V5LCBwYXRoLCBhbGdvcml0aG0pCi0gICAgICAgICAgICAgcmV0dXJuIFRydWUKZGlmZiAtTnJ1 IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0y NTYzNi0yLTItRFJZZXIucGF0Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0 cmVhbS8wMDg1LUNWRS0yMDI2LTI1NjM2LTItMi1EUlllci5wYXRjaAotLS0gY2FsaWJyZS04LjUu MCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg1LUNWRS0yMDI2LTI1NjM2LTItMi1EUlll ci5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04 LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg1LUNWRS0yMDI2LTI1NjM2LTItMi1E Ulllci5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApAQCAtMCwwICsx LDM3IEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+CitEYXRlOiBN b24sIDIgRmViIDIwMjYgMTE6MjU6MDkgKzA1MzAKK1N1YmplY3Q6IENWRS0yMDI2LTI1NjM2ICgy LzIpOiBEUlllcgorCitGb3J3YXJkZWQ6IG5vdC1uZWVkZWQKK0J1ZzogaHR0cHM6Ly9naXRodWIu Y29tL2tvdmlkZ295YWwvY2FsaWJyZS9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtOHIyNi1tN2o1 LWhtMjkKK09yaWdpbjogYmFja3BvcnQsIGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2Nh bGlicmUvY29tbWl0Lzk0ODRlYTgyYzZhYjIyNmMxOGU2Y2E1YWEwMDBmYTE2ZGU1OTg3MjYKKwor U2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdtYWlsLmNvbT4KKy0t LQorIHNyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5weSB8 IDYgKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMv ZXB1Yl9pbnB1dC5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1 Yl9pbnB1dC5weQoraW5kZXggZjYyZmVkMS4uNmI4MTk0OSAxMDA2NDQKKy0tLSBhL3NyYy9jYWxp YnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5weQorKysrIGIvc3JjL2Nh bGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5CitAQCAtNjgsMTUg KzY4LDE3IEBAIGNsYXNzIEVQVUJJbnB1dChJbnB1dEZvcm1hdFBsdWdpbik6CisgCisgICAgICAg ICB0cnk6CisgICAgICAgICAgICAgcm9vdCA9IGV0cmVlLnBhcnNlKGVuY2ZpbGUpCisrICAgICAg ICAgICAgYmFzZSA9IG9zLnBhdGguZGlybmFtZShlbmNmaWxlKQorKyAgICAgICAgICAgIGNvbnRh aW5lcl9iYXNlID0gb3MucGF0aC5kaXJuYW1lKGJhc2UpCisgICAgICAgICAgICAgZm9yIGVtIGlu IHJvb3QueHBhdGgoJ2Rlc2NlbmRhbnQ6OipbY29udGFpbnMobmFtZSgpLCAiRW5jcnlwdGlvbk1l dGhvZCIpXScpOgorICAgICAgICAgICAgICAgICBhbGdvcml0aG0gPSBlbS5nZXQoJ0FsZ29yaXRo bScsICcnKQorICAgICAgICAgICAgICAgICBpZiBhbGdvcml0aG0gbm90IGluIHtBRE9CRV9PQkZV U0NBVElPTiwgSURQRl9PQkZVU0NBVElPTn06CisgICAgICAgICAgICAgICAgICAgICByZXR1cm4g RmFsc2UKKyAgICAgICAgICAgICAgICAgY3IgPSBlbS5nZXRwYXJlbnQoKS54cGF0aCgnZGVzY2Vu ZGFudDo6Kltjb250YWlucyhuYW1lKCksICJDaXBoZXJSZWZlcmVuY2UiKV0nKVswXQorICAgICAg ICAgICAgICAgICB1cmkgPSBjci5nZXQoJ1VSSScpCistICAgICAgICAgICAgICAgIHBhdGggPSBv cy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShlbmNmaWxlKSwgJy4u JywgKnVyaS5zcGxpdCgnLycpKSkKKysgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz cGF0aChvcy5wYXRoLmpvaW4oYmFzZSwgJy4uJywgKnVyaS5zcGxpdCgnLycpKSkKKyAgICAgICAg ICAgICAgICAgdGtleSA9IChrZXkgaWYgYWxnb3JpdGhtID09IEFET0JFX09CRlVTQ0FUSU9OIGVs c2UgaWRwZl9rZXkpCistICAgICAgICAgICAgICAgIGlmICh0a2V5IGFuZCBpc19leGlzdGluZ19z dWJwYXRoKHBhdGgsIG9zLmdldGN3ZCgpKSk6CisrICAgICAgICAgICAgICAgIGlmICh0a2V5IGFu ZCBpc19leGlzdGluZ19zdWJwYXRoKHBhdGgsIGNvbnRhaW5lcl9iYXNlKSk6CisgICAgICAgICAg ICAgICAgICAgICBzZWxmLl9lbmNyeXB0ZWRfZm9udF91cmlzLmFwcGVuZCh1cmkpCisgICAgICAg ICAgICAgICAgICAgICBkZWNyeXB0X2ZvbnQodGtleSwgcGF0aCwgYWxnb3JpdGhtKQorICAgICAg ICAgICAgIHJldHVybiBUcnVlCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRj aGVzL3Vwc3RyZWFtLzAwODUtQ1ZFLTIwMjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhlLXRl bXBsYXRlLWVuZ2luZS5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3Ry ZWFtLzAwODUtQ1ZFLTIwMjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVu Z2luZS5wYXRjaAotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8w MDg1LUNWRS0yMDI2LTI1NzMxLVpJUC1PdXRwdXQtQ2hhbmdlLXRoZS10ZW1wbGF0ZS1lbmdpbmUu cGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41 LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0yNTczMS1aSVAtT3V0 cHV0LUNoYW5nZS10aGUtdGVtcGxhdGUtZW5naW5lLnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAu MDAwMDAwMDAwICswOTAwCkBAIC0xLDU4OCArMCwwIEBACi1Gcm9tOiBLb3ZpZCBHb3lhbCA8a292 aWRAa292aWRnb3lhbC5uZXQ+Ci1EYXRlOiBUaHUsIDUgRmViIDIwMjYgMTQ6MjE6MjUgKzA1MzAK LVN1YmplY3Q6IENWRS0yMDI2LTI1NzMxOiBaSVAgT3V0cHV0OiBDaGFuZ2UgdGhlIHRlbXBsYXRl IGVuZ2luZSB1c2VkIGZvciBIVE1MCi0gdGVtcGxhdGluZyBmcm9tIHRlbXBsaXRlIHRvIE11c3Rh Y2hlLAotIGZvciBncmVhdGVyIHNhZmV0eSBhbmQgcGVyZm9ybWFuY2UuIE5vdGUgdGhhdCB0aGlz IGlzIGEgYnJlYWtpbmcgY2hhbmdlIGlmCi0geW91IHVzZSBjdXN0b20gdGVtcGxhdGVzIHdpdGgg WklQIG91dHB1dC4KLQotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi1CdWc6IGh0dHBzOi8vZ2l0aHVi LmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLXhyaDktdzdx eC0zZ2NjCi1PcmlnaW46IGJhY2twb3J0LCBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9j YWxpYnJlL2NvbW1pdC9mMDY0OWIyNzUxMmU5ODdiOTVmY2FiMmUxZTBhM2JjZGFmYzIzMzc5Ci0K LVNpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+Ci0t LS0KLSBDT1BZUklHSFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA2IC0tCi0gcHlwcm9qZWN0LnRvbWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNSArLQotIHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC5tdXN0 YWNoZSAgIHwgNzAgKysrKysrKysrKysrKysrKwotIHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9l eHBvcnRfZGVmYXVsdC50bXBsICAgICAgIHwgNzQgLS0tLS0tLS0tLS0tLS0tLS0KLSAuLi4vdGVt cGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgubXVzdGFjaGUgICB8IDU1ICsrKysrKysr KysrKysKLSByZXNvdXJjZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1w bCB8IDYxIC0tLS0tLS0tLS0tLS0tCi0gLi4uL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvaHRt bF9vdXRwdXQucHkgICAgICAgfCA2MSArKysrKysrKy0tLS0tLQotIHNyYy90ZW1wbGl0ZS9fX2lu aXRfXy5weSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOTYgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQotIDggZmlsZXMgY2hhbmdlZCwgMTY0IGluc2VydGlvbnMoKyksIDI2NCBkZWxldGlvbnMo LSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9k ZWZhdWx0Lm11c3RhY2hlCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IHJlc291cmNlcy90ZW1wbGF0ZXMv aHRtbF9leHBvcnRfZGVmYXVsdC50bXBsCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHJlc291cmNlcy90 ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9pbmRleC5tdXN0YWNoZQotIGRlbGV0ZSBtb2Rl IDEwMDY0NCByZXNvdXJjZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1w bAotIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMvdGVtcGxpdGUvX19pbml0X18ucHkKLQotZGlmZiAt LWdpdCBhL0NPUFlSSUdIVCBiL0NPUFlSSUdIVAotaW5kZXggYTQ0ZDc1Ni4uMDllMTMwOCAxMDA2 NDQKLS0tLSBhL0NPUFlSSUdIVAotKysrIGIvQ09QWVJJR0hUCi1AQCAtMTIsMTIgKzEyLDYgQEAg RmlsZXM6IHJlc291cmNlcy9yYXB5ZHNjcmlwdC8qCi0gQ29weXJpZ2h0OiBWYXJpb3VzCi0gTGlj ZW5zZTogQlNECi0gCi0tRmlsZXM6IHNyYy90ZW1wbGl0ZS8qCi0tQ29weXJpZ2h0OiBDb3B5cmln aHQgKGMpIDIwMDkgam9vbmlzIG5ldyBtZWRpYSwgVGhpbW8gS3JhZW1lcgotLUxpY2Vuc2U6IEdQ TC0yKwotLSBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBHUEwgaXMgZGlzdHJpYnV0ZWQgYXMgaW4KLS0g L3Vzci9zaGFyZS9jb21tb24tbGljZW5zZXMvR1BMLTIgb24gRGViaWFuIHN5c3RlbXMuCi0tCi0g RmlsZXM6IHNyYy9jYWxpYnJlL2RldmljZXMvYmFtYm9vay8qCi0gQ29weXJpZ2h0OiAyMDEwLCBM aSBGYW54aQotIExpY2Vuc2U6IEdQTC0zCi1kaWZmIC0tZ2l0IGEvcHlwcm9qZWN0LnRvbWwgYi9w eXByb2plY3QudG9tbAotaW5kZXggYjM2OTdiZC4uZjdlZjVjYiAxMDA2NDQKLS0tLSBhL3B5cHJv amVjdC50b21sCi0rKysgYi9weXByb2plY3QudG9tbAotQEAgLTI2LDcgKzI2LDYgQEAgZXhjbHVk ZSA9IFsKLSAgICAgInNldHVwL2xpbnV4LWluc3RhbGxlci5weSIsCi0gICAgICJzcmMvY3NzX3Nl bGVjdG9ycy8qIiwKLSAgICAgInNyYy9wb2x5Z2xvdC8qIiwKLS0gICAgInNyYy90ZW1wbGl0ZS8q IiwKLSAgICAgInNyYy90aW55Y3NzLyoiLAotIF0KLSBwcmV2aWV3ID0gdHJ1ZQotQEAgLTcxLDcg KzcwLDcgQEAgdW5maXhhYmxlID0gWydQSUU3OTQnLCAnSVNDMDAxJ10KLSBkZXRlY3Qtc2FtZS1w YWNrYWdlID0gdHJ1ZQotIGV4dHJhLXN0YW5kYXJkLWxpYnJhcnkgPSBbImFlcyIsICJlbGVtZW50 bWFrZXIiLCAiZW5jb2RpbmdzIl0KLSBrbm93bi1maXJzdC1wYXJ0eSA9IFsiY2FsaWJyZV9leHRl bnNpb25zIiwgImNhbGlicmVfcGx1Z2lucyIsICJwb2x5Z2xvdCJdCi0ta25vd24tdGhpcmQtcGFy dHkgPSBbIm9kZiIsICJxdCIsICJ0ZW1wbGl0ZSIsICJ0aW55Y3NzIiwgImNzc19zZWxlY3RvcnMi XQotK2tub3duLXRoaXJkLXBhcnR5ID0gWyJvZGYiLCAicXQiLCAidGlueWNzcyIsICJjc3Nfc2Vs ZWN0b3JzIl0KLSByZWxhdGl2ZS1pbXBvcnRzLW9yZGVyID0gImNsb3Nlc3QtdG8tZnVydGhlc3Qi Ci0gc3BsaXQtb24tdHJhaWxpbmctY29tbWEgPSBmYWxzZQotIHNlY3Rpb24tb3JkZXIgPSBbJ19f cHl0aG9uX18nLCAiZnV0dXJlIiwgInN0YW5kYXJkLWxpYnJhcnkiLCAidGhpcmQtcGFydHkiLCAi Zmlyc3QtcGFydHkiLCAibG9jYWwtZm9sZGVyIl0KLUBAIC0xODksNyArMTg4LDYgQEAgc2tpcCA9 IFsKLSAgICAgIi4vc2V0dXAvbGludXgtaW5zdGFsbGVyLnB5IiwKLSAgICAgIi4vc3JjL2Nzc19z ZWxlY3RvcnMvKiIsCi0gICAgICIuL3NyYy9wb2x5Z2xvdC8qIiwKLS0gICAgIi4vc3JjL3RlbXBs aXRlLyoiLAotICAgICAiLi9zcmMvdGlueWNzcy8qIiwKLSAgICAgIi4vc3JjL3VuaWNvZGVfbmFt ZXMvKiIsCi0gXQotQEAgLTIwNSw3ICsyMDMsNiBAQCBleGNsdWRlID0gWwotICAgICAic3JjL2Nh bGlicmUvZ3VpMi9zdG9yZS9zdG9yZXMvIiwKLSAgICAgInNyYy9jc3Nfc2VsZWN0b3JzLyIsCi0g ICAgICJzcmMvcG9seWdsb3QvIiwKLS0gICAgInNyYy90ZW1wbGl0ZS8iLAotICAgICAic3JjL3Rp bnljc3MvIiwKLSBdCi0gCi1kaWZmIC0tZ2l0IGEvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4 cG9ydF9kZWZhdWx0Lm11c3RhY2hlIGIvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9k ZWZhdWx0Lm11c3RhY2hlCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMWM4 NjkxYQotLS0tIC9kZXYvbnVsbAotKysrIGIvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9y dF9kZWZhdWx0Lm11c3RhY2hlCi1AQCAtMCwwICsxLDcwIEBACi0rPCFET0NUWVBFIGh0bWwgUFVC TElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3Jn L1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgotKzxodG1sIHhtbG5zPSJodHRwOi8v d3d3LnczLm9yZy8xOTk5L3hodG1sIj4KLSs8aGVhZD4KLSt7e3toZWFkX2NvbnRlbnR9fX0KLSsK LSs8bGluayBocmVmPSJ7e2Nzc19saW5rfX0iIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hl ZXQiIC8+Ci0rCi0rPC9oZWFkPgotKzxib2R5PgotKwotKzxkaXYgY2xhc3M9ImNhbGlicmVNZXRh Ij4KLSsgIDxkaXYgY2xhc3M9ImNhbGlicmVNZXRhVGl0bGUiPgotKyAge3sjbWV0YS50aXRsZXN9 fQotKwl7eyNpc19maXJzdH19Ci0rCQk8aDE+PGEgaHJlZj0ie3t0b2NfdXJsfX0iPnt7dGl0bGV9 fTwvYT4gPC9oMT4KLSsJe3svaXNfZmlyc3R9fQotKwl7e15pc19maXJzdH19Ci0rCQk8ZGl2IGNs YXNzPSJjYWxpYnJlTWV0YVN1YnRpdGxlIj57e3RpdGxlfX08L2Rpdj4KLSsJe3svaXNfZmlyc3R9 fQotKyAge3svbWV0YS50aXRsZXN9fQotKyAgPC9kaXY+Ci0rICA8ZGl2IGNsYXNzPSJjYWxpYnJl TWV0YUF1dGhvciI+e3ttZXRhLmNyZWF0b3JzfX08L2Rpdj4KLSs8L2Rpdj4KLSsKLSs8ZGl2IGNs YXNzPSJjYWxpYnJlTWFpbiI+Ci0rCi0rICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJvb2tDb250ZW50 Ij4KLSsgICAge3sjaGFzX2xpbmt9fQotKyAgICAgIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdlRv cCI+Ci0rCSAgICB7eyNwcmV2X2xpbmt9fQotKyAgICAgICAgICA8YSBocmVmPSJ7e3ByZXZfbGlu a319IiBjbGFzcz0iY2FsaWJyZUFQcmV2Ij57e3ByZXZfcGFnZX19PC9hPgotKwkJe3svcHJldl9s aW5rfX0KLSsgICAgICAgIHt7XnByZXZfbGlua319Ci0rICAgICAgICAgIDxhIGhyZWY9Int7dG9j X3VybH19IiBjbGFzcz0iY2FsaWJyZUFQcmV2Ij57e3ByZXZfcGFnZX19PC9hPgotKwkJe3svcHJl dl9saW5rfX0KLSsJCXt7I25leHRfbGlua319Ci0rICAgICAgICAgIDxhIGhyZWY9Int7bmV4dF9s aW5rfX0iIGNsYXNzPSJjYWxpYnJlQU5leHQiPnt7bmV4dF9wYWdlfX08L2E+Ci0rCQl7ey9uZXh0 X2xpbmt9fQotKyAgICAgIDwvZGl2PgotKwl7ey9oYXNfbGlua319Ci0rCi0rCXt7e2Vib29rX2Nv bnRlbnR9fX0KLSsgIDwvZGl2PgotKwotKyAge3sjaGFzX3RvY319Ci0rICA8ZGl2IGNsYXNzPSJj YWxpYnJlVG9jIj4KLSsgICAgPGgyPjxhIGhyZWY9Int7dG9jX3VybH19Ij57e3RhYmxlX29mX2Nv bnRlbnRzfX08L2E+PC9oMj4KLSsJe3t7dG9jfX19Ci0rICA8L2Rpdj4KLSsgIHt7L2hhc190b2N9 fQotKwotKyAgPGRpdiBjbGFzcz0iY2FsaWJyZUViTmF2Ij4KLSsJe3sjcHJldl9saW5rfX0KLSsJ CTxhIGhyZWY9Int7cHJldl9saW5rfX0iIGNsYXNzPSJjYWxpYnJlQVByZXYiPnt7cHJldl9wYWdl fX08L2E+Ci0rCXt7L3ByZXZfbGlua319Ci0rCXt7XnByZXZfbGlua319Ci0rCQk8YSBocmVmPSJ7 e3RvY191cmx9fSIgY2xhc3M9ImNhbGlicmVBUHJldiI+e3twcmV2X3BhZ2V9fTwvYT4KLSsJe3sv cHJldl9saW5rfX0KLSsKLSsgICAgPGEgaHJlZj0ie3t0b2NfdXJsfX0iIGNsYXNzPSJjYWxpYnJl QUhvbWUiPnt7c3RhcnR9fTwvYT4KLSsKLSsJe3sjbmV4dF9saW5rfX0KLSsJCTxhIGhyZWY9Int7 bmV4dF9saW5rfX0iIGNsYXNzPSJjYWxpYnJlQU5leHQiPnt7bmV4dF9wYWdlfX08L2E+Ci0rCXt7 L25leHRfbGlua319Ci0rICA8L2Rpdj4KLSsKLSs8L2Rpdj4KLSsKLSs8L2JvZHk+Ci0rPC9odG1s PgotZGlmZiAtLWdpdCBhL3Jlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC50 bXBsIGIvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0LnRtcGwKLWRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggN2FhYzI0Ny4uMDAwMDAwMAotLS0tIGEvcmVzb3Vy Y2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0LnRtcGwKLSsrKyAvZGV2L251bGwKLUBA IC0xLDc0ICswLDAgQEAKLS08IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1M IDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEt c3RyaWN0LmR0ZCI+Ci0tPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi PgotLTxoZWFkPgotLSR7aGVhZF9jb250ZW50fSQKLS0KLS08bGluayBocmVmPSIke2Nzc0xpbmt9 JCIgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KLS0KLS08L2hlYWQ+Ci0tPGJv ZHk+Ci0tCi0tPGRpdiBjbGFzcz0iY2FsaWJyZU1ldGEiPgotLSAgPGRpdiBjbGFzcz0iY2FsaWJy ZU1ldGFUaXRsZSI+Ci0tICAke3BvczE9MX0kCi0tICAke2ZvciB0aXRsZSBpbiBtZXRhLnRpdGxl cygpOn0kCi0tICAgICR7aWYgcG9zMTp9JAotLSAgICA8aDE+Ci0tICAgICAgPGEgaHJlZj0iJHt0 b2NVcmx9JCI+JHtwcmludCh0aXRsZSl9JDwvYT4KLS0gICAgPC9oMT4KLS0gICAgJHs6ZWxzZTp9 JAotLSAgICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YVN1YnRpdGxlIj4ke3ByaW50KHRpdGxlKX0k PC9kaXY+Ci0tICAgICR7OmVuZGlmfSQKLS0gICAgJHtwb3MxPTB9JAotLSAgJHs6ZW5kZm9yfSQK LS0gIDwvZGl2PgotLSAgPGRpdiBjbGFzcz0iY2FsaWJyZU1ldGFBdXRob3IiPgotLSAgICAke3By aW50KCcsICcuam9pbihtZXRhLmNyZWF0b3JzKCkpKX0kCi0tICA8L2Rpdj4KLS08L2Rpdj4KLS0K LS08ZGl2IGNsYXNzPSJjYWxpYnJlTWFpbiI+Ci0tCi0tICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJv b2tDb250ZW50Ij4KLS0gICAgJHtpZiBwcmV2TGluayBvciBuZXh0TGluazp9JAotLSAgICAgIDxk aXYgY2xhc3M9ImNhbGlicmVFYk5hdlRvcCI+Ci0tICAgICAgICAke2lmIHByZXZMaW5rOn0kCi0t ICAgICAgICAgIDxhIGhyZWY9IiR7cHJldkxpbmt9JCIgY2xhc3M9ImNhbGlicmVBUHJldiI+JHtw cmludChfKCdwcmV2aW91cyBwYWdlJykpfSQ8L2E+Ci0tICAgICAgICAkezplbHNlOn0kCi0tICAg ICAgICAgIDxhIGhyZWY9IiR7dG9jVXJsfSQiIGNsYXNzPSJjYWxpYnJlQVByZXYiPiR7cHJpbnQo XygncHJldmlvdXMgcGFnZScpKX0kPC9hPgotLSAgICAgICAgJHs6ZW5kaWZ9JAotLQotLSAgICAg ICAgJHtpZiBuZXh0TGluazp9JAotLSAgICAgICAgICA8YSBocmVmPSIke25leHRMaW5rfSQiIGNs YXNzPSJjYWxpYnJlQU5leHQiPiR7cHJpbnQoXygnbmV4dCBwYWdlJykpfSQ8L2E+Ci0tICAgICAg ICAkezplbmRpZn0kCi0tICAgICAgPC9kaXY+Ci0tICAgICR7OmVuZGlmfSQKLS0KLS0gICAgJHtl Ym9va0NvbnRlbnR9JAotLSAgPC9kaXY+Ci0tCi0tICAke2lmIGhhc190b2M6fSQKLS0gIDxkaXYg Y2xhc3M9ImNhbGlicmVUb2MiPgotLSAgICA8aDI+PGEgaHJlZj0iJHt0b2NVcmx9JCI+JHtwcmlu dCggXygnVGFibGUgb2YgY29udGVudHMnKSl9JDwvYT48L2gyPgotLSAgICAke3ByaW50KHRvYygp KX0kCi0tICA8L2Rpdj4KLS0gICR7OmVuZGlmfSQKLS0KLS0gIDxkaXYgY2xhc3M9ImNhbGlicmVF Yk5hdiI+Ci0tICAgICR7aWYgcHJldkxpbms6fSQKLS0gICAgICA8YSBocmVmPSIke3ByZXZMaW5r fSQiIGNsYXNzPSJjYWxpYnJlQVByZXYiPiR7cHJpbnQoXygncHJldmlvdXMgcGFnZScpKX0kPC9h PgotLSAgICAkezplbHNlOn0kCi0tICAgICAgPGEgaHJlZj0iJHt0b2NVcmx9JCIgY2xhc3M9ImNh bGlicmVBUHJldiI+JHtwcmludChfKCdwcmV2aW91cyBwYWdlJykpfSQ8L2E+Ci0tICAgICR7OmVu ZGlmfSQKLS0KLS0gICAgPGEgaHJlZj0iJHt0b2NVcmx9JCIgY2xhc3M9ImNhbGlicmVBSG9tZSI+ JHtwcmludChfKCdzdGFydCcpKX0kPC9hPgotLQotLSAgICAke2lmIG5leHRMaW5rOn0kCi0tICAg ICAgPGEgaHJlZj0iJHtuZXh0TGlua30kIiBjbGFzcz0iY2FsaWJyZUFOZXh0Ij4ke3ByaW50KF8o J25leHQgcGFnZScpKX0kPC9hPgotLSAgICAkezplbmRpZn0kCi0tICA8L2Rpdj4KLS0KLS08L2Rp dj4KLS0KLS08L2JvZHk+Ci0tPC9odG1sPgotZGlmZiAtLWdpdCBhL3Jlc291cmNlcy90ZW1wbGF0 ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9pbmRleC5tdXN0YWNoZSBiL3Jlc291cmNlcy90ZW1wbGF0 ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9pbmRleC5tdXN0YWNoZQotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAuLmFhMWJjNGQKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Jlc291cmNl cy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9pbmRleC5tdXN0YWNoZQotQEAgLTAsMCAr MSw1NSBAQAotKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0 cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3Qu ZHRkIj4KLSs8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Ci0rPGhl YWQ+Ci0rPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7 IGNoYXJzZXQ9VVRGLTgiIC8+Ci0rCi0rPGxpbmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9Imh0dHA6 Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiAvPgotKzxsaW5rIHJlbD0ic2NoZW1hLkRDVEVS TVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIC8+Ci0rCi0rPHRpdGxlPnt7bWV0 YS5jcmVhdG9yc319IC0ge3ttZXRhLmZpcnN0X3RpdGxlfX08L3RpdGxlPgotKwotK3t7I21ldGEu aXRlbXN9fQotKyAgPG1ldGEgbmFtZT0iREMue3tuYW1lfX0iIGNvbnRlbnQ9Int7dmFsdWV9fSIg Lz4KLSt7ey9tZXRhLml0ZW1zfX0KLSsKLSs8bGluayBocmVmPSJ7e2Nzc19saW5rfX0iIHR5cGU9 InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+Ci0rPC9oZWFkPgotKzxib2R5PgotKwotKzxk aXYgY2xhc3M9ImNhbGlicmVNZXRhIj4KLSsgIDxkaXYgY2xhc3M9ImNhbGlicmVNZXRhVGl0bGUi PgotKyAge3sjbWV0YS50aXRsZXN9fQotKwl7eyNpc19maXJzdH19Ci0rCQk8aDE+PGEgaHJlZj0i e3t0b2NfdXJsfX0iPnt7dGl0bGV9fTwvYT4gPC9oMT4KLSsJe3svaXNfZmlyc3R9fQotKwl7e15p c19maXJzdH19Ci0rCQk8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YVN1YnRpdGxlIj57e3RpdGxlfX08 L2Rpdj4KLSsJe3svaXNfZmlyc3R9fQotKyAge3svbWV0YS50aXRsZXN9fQotKyAgPC9kaXY+Ci0r ICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YUF1dGhvciI+e3ttZXRhLmNyZWF0b3JzfX08L2Rpdj4K LSs8L2Rpdj4KLSsKLSs8ZGl2IGNsYXNzPSJjYWxpYnJlTWFpbiI+Ci0rICA8ZGl2IGNsYXNzPSJj YWxpYnJlRWJvb2tDb250ZW50Ij4KLSsgICAge3sjaGFzX3RvY319Ci0rICAgICAgPGRpdiBjbGFz cz0iY2FsaWJyZVRvY0luZGV4Ij4KLSsgICAgICAgIDxoMj57e3RhYmxlX29mX2NvbnRlbnRzfX08 L2gyPgotKwkJe3t7dG9jfX19Ci0rICAgICAgPC9kaXY+Ci0rICAgIHt7L2hhc190b2N9fQotKyAg ICB7e15oYXNfdG9jfX0KLSsgICAgICAgIDxoMj57e25vX3RvY319PC9oMj4KLSsgICAgICAgIDxk aXY+PHN0cm9uZz48YSBocmVmPSJ7e25leHRfbGlua319Ij57e2JlZ2luX3RvX3JlYWR9fTwvYT48 L3N0cm9uZz48L2Rpdj4KLSsgICAge3svaGFzX3RvY319Ci0rICA8L2Rpdj4KLSsKLSsgIDxkaXYg Y2xhc3M9ImNhbGlicmVFYk5hdiI+Ci0rICAgIHt7I25leHRfbGlua319Ci0rICAgICAgPGEgaHJl Zj0ie3tuZXh0X2xpbmt9fSIgY2xhc3M9ImNhbGlicmVBTmV4dCI+e3tuZXh0X3BhZ2V9fTwvYT4K LSsgICAge3svbmV4dF9saW5rfX0KLSsgIDwvZGl2PgotKzwvZGl2PgotKwotKzwvYm9keT4KLSs8 L2h0bWw+Ci1kaWZmIC0tZ2l0IGEvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZh dWx0X2luZGV4LnRtcGwgYi9yZXNvdXJjZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRf aW5kZXgudG1wbAotZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCBmMDY2NWFkLi4wMDAw MDAwCi0tLS0gYS9yZXNvdXJjZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgu dG1wbAotKysrIC9kZXYvbnVsbAotQEAgLTEsNjEgKzAsMCBAQAotLTwhRE9DVFlQRSBodG1sIFBV QkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9y Zy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KLS08aHRtbCB4bWxucz0iaHR0cDov L3d3dy53My5vcmcvMTk5OS94aHRtbCI+Ci0tPGhlYWQ+Ci0tPG1ldGEgaHR0cC1lcXVpdj0iQ29u dGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+Ci0tCi0tPGxp bmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEv IiAvPgotLTxsaW5rIHJlbD0ic2NoZW1hLkRDVEVSTVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9k Yy90ZXJtcy8iIC8+Ci0tCi0tPHRpdGxlPiR7cHJpbnQoJywgJy5qb2luKG1ldGEuY3JlYXRvcnMo KSkpfSQgLSAke3ByaW50KG5leHQobWV0YS50aXRsZXMoKSkpOyBwcmludChtZXRhLnRpdGxlcygp LmNsb3NlKCkpfSQ8L3RpdGxlPgotLQotLSR7Zm9yIGl0ZW0gaW4gbWV0YTp9JAotLSAgPG1ldGEg JHtwcmludCgnbmFtZT0iREMuJytpdGVtWyduYW1lJ10rJyInKX0kICR7cHJpbnQoJ2NvbnRlbnQ9 IicraXRlbVsndmFsdWUnXSsnIicpfSQgLz4KLS0kezplbmRmb3J9JAotLQotLTxsaW5rIGhyZWY9 IiR7Y3NzTGlua30kIiB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgotLTwvaGVh ZD4KLS08Ym9keT4KLS0KLS08ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YSI+Ci0tICA8ZGl2IGNsYXNz PSJjYWxpYnJlTWV0YVRpdGxlIj4KLS0gICR7cG9zMT0xfSQKLS0gICR7Zm9yIHRpdGxlIGluIG1l dGEudGl0bGVzKCk6fSQKLS0gICAgJHtpZiBwb3MxOn0kCi0tICAgIDxoMT4KLS0gICAgICA8YSBo cmVmPSIke3RvY1VybH0kIj4ke3ByaW50KHRpdGxlKX0kPC9hPgotLSAgICA8L2gxPgotLSAgICAk ezplbHNlOn0kCi0tICAgIDxkaXYgY2xhc3M9ImNhbGlicmVNZXRhU3VidGl0bGUiPiR7cHJpbnQo dGl0bGUpfSQ8L2Rpdj4KLS0gICAgJHs6ZW5kaWZ9JAotLSAgICAke3BvczE9MH0kCi0tICAkezpl bmRmb3J9JAotLSAgPC9kaXY+Ci0tICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YUF1dGhvciI+Ci0t ICAgICR7cHJpbnQoJywgJy5qb2luKG1ldGEuY3JlYXRvcnMoKSkpfSQKLS0gIDwvZGl2PgotLTwv ZGl2PgotLQotLTxkaXYgY2xhc3M9ImNhbGlicmVNYWluIj4KLS0gIDxkaXYgY2xhc3M9ImNhbGli cmVFYm9va0NvbnRlbnQiPgotLQotLSAgICAke2lmIGhhc190b2M6fSQKLS0gICAgICA8ZGl2IGNs YXNzPSJjYWxpYnJlVG9jSW5kZXgiPgotLSAgICAgICAgPGgyPiR7cHJpbnQoXygnVGFibGUgb2Yg Y29udGVudHMnKSl9JDwvaDI+Ci0tICAgICAgICAke3RvY30kCi0tICAgICAgPC9kaXY+Ci0tICAg ICR7OmVsc2U6fSQKLS0gICAgICAgIDxoMj4ke3ByaW50KF8oJ05vIHRhYmxlIG9mIGNvbnRlbnRz IHByZXNlbnQnKSl9JDwvaDI+Ci0tICAgICAgICA8ZGl2PjxzdHJvbmc+PGEgaHJlZj0iJHtuZXh0 TGlua30kIj4ke3ByaW50KF8oJ2JlZ2luIHRvIHJlYWQnKSl9JDwvYT48L3N0cm9uZz48L2Rpdj4K LS0gICAgJHs6ZW5kaWZ9JAotLQotLSAgPC9kaXY+Ci0tCi0tICA8ZGl2IGNsYXNzPSJjYWxpYnJl RWJOYXYiPgotLSAgICAke2lmIG5leHRMaW5rOn0kCi0tICAgICAgPGEgaHJlZj0iJHtuZXh0TGlu a30kIiBjbGFzcz0iY2FsaWJyZUFOZXh0Ij4ke3ByaW50KF8oJ25leHQgcGFnZScpKX0kPC9hPgot LSAgICAkezplbmRpZn0kCi0tICA8L2Rpdj4KLS08L2Rpdj4KLS0KLS08L2JvZHk+Ci0tPC9odG1s PgotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvaHRt bF9vdXRwdXQucHkgYi9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2h0bWxf b3V0cHV0LnB5Ci1pbmRleCBlYTY0YzcwLi41NTczZDA0IDEwMDY0NAotLS0tIGEvc3JjL2NhbGli cmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9odG1sX291dHB1dC5weQotKysrIGIvc3JjL2Nh bGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9odG1sX291dHB1dC5weQotQEAgLTI3LDEz ICsyNywxMyBAQCBjbGFzcyBIVE1MT3V0cHV0KE91dHB1dEZvcm1hdFBsdWdpbik6Ci0gCi0gICAg IG9wdGlvbnMgPSB7Ci0gICAgICAgICBPcHRpb25SZWNvbW1lbmRhdGlvbihuYW1lPSd0ZW1wbGF0 ZV9jc3MnLAotLSAgICAgICAgICAgIGhlbHA9XygnQ1NTIGZpbGUgdXNlZCBmb3IgdGhlIG91dHB1 dCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGZpbGUnKSksCi0rICAgICAgICAgICAgaGVscD1fKCdD U1MgZmlsZSB1c2VkIGZvciB0aGUgb3V0cHV0IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgQ1NTLicp KSwKLSAKLSAgICAgICAgIE9wdGlvblJlY29tbWVuZGF0aW9uKG5hbWU9J3RlbXBsYXRlX2h0bWxf aW5kZXgnLAotLSAgICAgICAgICAgIGhlbHA9XygnVGVtcGxhdGUgdXNlZCBmb3IgZ2VuZXJhdGlv biBvZiB0aGUgSFRNTCBpbmRleCBmaWxlIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgZmlsZScpKSwK LSsgICAgICAgICAgICBoZWxwPV8oJ1RlbXBsYXRlIHVzZWQgZm9yIGdlbmVyYXRpb24gb2YgdGhl IEhUTUwgaW5kZXggZmlsZSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IHRlbXBsYXRlLiBJbiBNdXN0 YWNoZSBmb3JtYXQuJykpLAotIAotICAgICAgICAgT3B0aW9uUmVjb21tZW5kYXRpb24obmFtZT0n dGVtcGxhdGVfaHRtbCcsCi0tICAgICAgICAgICAgaGVscD1fKCdUZW1wbGF0ZSB1c2VkIGZvciB0 aGUgZ2VuZXJhdGlvbiBvZiB0aGUgSFRNTCBjb250ZW50cyBvZiB0aGUgYm9vayBpbnN0ZWFkIG9m IHRoZSBkZWZhdWx0IGZpbGUnKSksCi0rICAgICAgICAgICAgaGVscD1fKCdUZW1wbGF0ZSB1c2Vk IGZvciB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgSFRNTCBjb250ZW50cyBvZiB0aGUgYm9vayBpbnN0 ZWFkIG9mIHRoZSBkZWZhdWx0IHRlbXBsYXRlLiBJbiBNdXN0YWNoZSBmb3JtYXQuJykpLAotIAot ICAgICAgICAgT3B0aW9uUmVjb21tZW5kYXRpb24obmFtZT0nZXh0cmFjdF90bycsCi0gICAgICAg ICAgICAgaGVscD1fKCdFeHRyYWN0IHRoZSBjb250ZW50cyBvZiB0aGUgZ2VuZXJhdGVkIFpJUCBm aWxlIHRvIHRoZSAnCi1AQCAtODUsOCArODUsOCBAQCBjbGFzcyBIVE1MT3V0cHV0KE91dHB1dEZv cm1hdFBsdWdpbik6Ci0gICAgICAgICAgICAgICAgIHhtbF9kZWNsYXJhdGlvbj1GYWxzZSkKLSAK LSAgICAgZGVmIGNvbnZlcnQoc2VsZiwgb2ViX2Jvb2ssIG91dHB1dF9wYXRoLCBpbnB1dF9wbHVn aW4sIG9wdHMsIGxvZyk6Ci0rICAgICAgICBpbXBvcnQgcHlzdGFjaGUKLSAgICAgICAgIGZyb20g bHhtbCBpbXBvcnQgZXRyZWUKLS0gICAgICAgIGZyb20gdGVtcGxpdGUgaW1wb3J0IFRlbXBsaXRl Ci0gCi0gICAgICAgICBmcm9tIGNhbGlicmUuZWJvb2tzLmh0bWwubWV0YSBpbXBvcnQgRWFzeU1l dGEKLSAgICAgICAgIGZyb20gY2FsaWJyZS51dGlscyBpbXBvcnQgemlwZmlsZQotQEAgLTk3LDcg Kzk3LDcgQEAgY2xhc3MgSFRNTE91dHB1dChPdXRwdXRGb3JtYXRQbHVnaW4pOgotICAgICAgICAg ICAgIHdpdGggb3BlbihvcHRzLnRlbXBsYXRlX2h0bWxfaW5kZXgsICdyYicpIGFzIGY6Ci0gICAg ICAgICAgICAgICAgIHRlbXBsYXRlX2h0bWxfaW5kZXhfZGF0YSA9IGYucmVhZCgpCi0gICAgICAg ICBlbHNlOgotLSAgICAgICAgICAgIHRlbXBsYXRlX2h0bWxfaW5kZXhfZGF0YSA9IFAoJ3RlbXBs YXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0X2luZGV4LnRtcGwnLCBkYXRhPVRydWUpCi0rICAgICAg ICAgICAgdGVtcGxhdGVfaHRtbF9kYXRhID0gUCgndGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1 bHQubXVzdGFjaGUnLCBkYXRhPVRydWUpCi0gCi0gICAgICAgICBpZiBvcHRzLnRlbXBsYXRlX2h0 bWwgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgd2l0aCBvcGVuKG9wdHMudGVtcGxhdGVfaHRt bCwgJ3JiJykgYXMgZjoKLUBAIC0xMTEsOSArMTExLDEwIEBAIGNsYXNzIEhUTUxPdXRwdXQoT3V0 cHV0Rm9ybWF0UGx1Z2luKToKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgdGVtcGxhdGVf Y3NzX2RhdGEgPSBQKCd0ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC5jc3MnLCBkYXRhPVRy dWUpCi0gCi0tICAgICAgICB0ZW1wbGF0ZV9odG1sX2luZGV4X2RhdGEgPSB0ZW1wbGF0ZV9odG1s X2luZGV4X2RhdGEuZGVjb2RlKCd1dGYtOCcpCi0tICAgICAgICB0ZW1wbGF0ZV9odG1sX2RhdGEg PSB0ZW1wbGF0ZV9odG1sX2RhdGEuZGVjb2RlKCd1dGYtOCcpCi0rICAgICAgICB0ZW1wbGF0ZV9o dG1sX2luZGV4ID0gcHlzdGFjaGUucGFyc2UodGVtcGxhdGVfaHRtbF9pbmRleF9kYXRhLmRlY29k ZSgndXRmLTgnKSkKLSsgICAgICAgIHRlbXBsYXRlX2h0bWwgPSBweXN0YWNoZS5wYXJzZSh0ZW1w bGF0ZV9odG1sX2RhdGEuZGVjb2RlKCd1dGYtOCcpKQotICAgICAgICAgdGVtcGxhdGVfY3NzX2Rh dGEgPSB0ZW1wbGF0ZV9jc3NfZGF0YS5kZWNvZGUoJ3V0Zi04JykKLSsgICAgICAgIGhhc190b2Mg PSBib29sKG9lYl9ib29rLnRvYy5jb3VudCgpKQotIAotICAgICAgICAgc2VsZi5sb2cgID0gbG9n Ci0gICAgICAgICBzZWxmLm9wdHMgPSBvcHRzCi1AQCAtMTMwLDE4ICsxMzEsMzEgQEAgY2xhc3Mg SFRNTE91dHB1dChPdXRwdXRGb3JtYXRQbHVnaW4pOgotICAgICAgICAgY3NzX3BhdGggPSBvdXRw dXRfZGlyK29zLnNlcCsnY2FsaWJyZUh0bWxPdXRCYXNpY0Nzcy5jc3MnCi0gICAgICAgICB3aXRo IG9wZW4oY3NzX3BhdGgsICd3YicpIGFzIGY6Ci0gICAgICAgICAgICAgZi53cml0ZSh0ZW1wbGF0 ZV9jc3NfZGF0YS5lbmNvZGUoJ3V0Zi04JykpCi0rICAgICAgICBtZXRhX2RpY3QgPSB7Ci0rICAg ICAgICAgICAgJ3RpdGxlcyc6IFt7J3RpdGxlJzogeCwgJ2lzX2ZpcnN0JzogaSA9PSAwfSBmb3Ig aSwgeCBpbiBlbnVtZXJhdGUobWV0YS50aXRsZXMoKSldLAotKyAgICAgICAgICAgICdjcmVhdG9y cyc6IGF1dGhvcnNfdG9fc3RyaW5nKHR1cGxlKG1ldGEuY3JlYXRvcnMoKSkpLAotKyAgICAgICAg ICAgICdpdGVtcyc6IGxpc3QobWV0YSksCi0rICAgICAgICB9Ci0rICAgICAgICBtZXRhX2RpY3Rb J2ZpcnN0X3RpdGxlJ10gPSBtZXRhX2RpY3RbJ3RpdGxlcyddWzBdWyd0aXRsZSddIGlmIG1ldGFf ZGljdFsndGl0bGVzJ10gZWxzZSAnJwotKyAgICAgICAgYmFzaWNfdGVtcGxhdGVfdmFycyA9IHsK LSsgICAgICAgICAgICAgICAgJ21ldGEnOiBtZXRhX2RpY3QsICdoYXNfdG9jJzogaGFzX3RvYywK LSsgICAgICAgICAgICAgICAgJ3RhYmxlX29mX2NvbnRlbnRzJzogIF8oJ1RhYmxlIG9mIGNvbnRl bnRzJyksICdub190b2MnOiBfKCdObyB0YWJsZSBvZiBjb250ZW50cyBwcmVzZW50JyksCi0rICAg ICAgICAgICAgICAgICdiZWdpbl90b19yZWFkJzogXygnYmVnaW4gdG8gcmVhZCcpLCAnc3RhcnQn OiBfKCdzdGFydCcpLAotKyAgICAgICAgICAgICAgICAncHJldl9wYWdlJzogXygncHJldmlvdXMg cGFnZScpLCAnbmV4dF9wYWdlJzogXygnbmV4dCBwYWdlJyksCi0rICAgICAgICB9Ci0gCi0gICAg ICAgICB3aXRoIG9wZW4ob3V0cHV0X2ZpbGUsICd3YicpIGFzIGY6Ci0tICAgICAgICAgICAgaHRt bF90b2MgPSBzZWxmLmdlbmVyYXRlX2h0bWxfdG9jKG9lYl9ib29rLCBvdXRwdXRfZmlsZSwgb3V0 cHV0X2RpcikKLS0gICAgICAgICAgICB0ZW1wbGl0ZSA9IFRlbXBsaXRlKHRlbXBsYXRlX2h0bWxf aW5kZXhfZGF0YSkKLSAgICAgICAgICAgICBuZXh0TGluayA9IG9lYl9ib29rLnNwaW5lWzBdLmhy ZWYKLSAgICAgICAgICAgICBuZXh0TGluayA9IHJlbHBhdGgob3V0cHV0X2Rpcitvcy5zZXArbmV4 dExpbmssIGRpcm5hbWUob3V0cHV0X2ZpbGUpKQotICAgICAgICAgICAgIGNzc0xpbmsgPSByZWxw YXRoKGFic3BhdGgoY3NzX3BhdGgpLCBkaXJuYW1lKG91dHB1dF9maWxlKSkKLSAgICAgICAgICAg ICB0b2NVcmwgPSByZWxwYXRoKG91dHB1dF9maWxlLCBkaXJuYW1lKG91dHB1dF9maWxlKSkKLS0g ICAgICAgICAgICB0ID0gdGVtcGxpdGUucmVuZGVyKGhhc190b2M9Ym9vbChvZWJfYm9vay50b2Mu Y291bnQoKSksCi0tICAgICAgICAgICAgICAgICAgICB0b2M9aHRtbF90b2MsIG1ldGE9bWV0YSwg bmV4dExpbms9bmV4dExpbmssCi0tICAgICAgICAgICAgICAgICAgICB0b2NVcmw9dG9jVXJsLCBj c3NMaW5rPWNzc0xpbmssCi0tICAgICAgICAgICAgICAgICAgICBmaXJzdENvbnRlbnRQYWdlTGlu az1uZXh0TGluaykKLSsgICAgICAgICAgICB0b2NfYXNfaHRtbCA9IHNlbGYuZ2VuZXJhdGVfaHRt bF90b2Mob2ViX2Jvb2ssIG91dHB1dF9maWxlLCBvdXRwdXRfZGlyKSBpZiBoYXNfdG9jIGVsc2Ug JycKLSsgICAgICAgICAgICB2ID0gYmFzaWNfdGVtcGxhdGVfdmFycy5jb3B5KCkKLSsgICAgICAg ICAgICB2LnVwZGF0ZSh7Ci0rICAgICAgICAgICAgICAgICd0b2MnOiB0b2NfYXNfaHRtbCwgJ2Nz c19saW5rJzogY3NzTGluaywgJ3RvY191cmwnOiB0b2NVcmwsICduZXh0X2xpbmsnOiBuZXh0TGlu aywKLSsgICAgICAgICAgICAgICAgJ2ZpcnN0X2NvbnRlbnRfcGFnZV9saW5rJzogbmV4dExpbmss Ci0rICAgICAgICAgICAgfSkKLSsgICAgICAgICAgICB0ID0gcHlzdGFjaGUucmVuZGVyKHRlbXBs YXRlX2h0bWxfaW5kZXgsIHYpCi0gICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh0LCBzdHIpOgot ICAgICAgICAgICAgICAgICB0ID0gdC5lbmNvZGUoJ3V0Zi04JykKLSAgICAgICAgICAgICBmLndy aXRlKHQpCi1AQCAtMTk3LDE3ICsyMTEsMTggQEAgY2xhc3MgSFRNTE91dHB1dChPdXRwdXRGb3Jt YXRQbHVnaW4pOgotICAgICAgICAgICAgICAgICBmaXJzdENvbnRlbnRQYWdlTGluayA9IG9lYl9i b29rLnNwaW5lWzBdLmhyZWYKLSAKLSAgICAgICAgICAgICAgICAgIyByZW5kZXIgdGVtcGxhdGUK LS0gICAgICAgICAgICAgICAgdGVtcGxpdGUgPSBUZW1wbGl0ZSh0ZW1wbGF0ZV9odG1sX2RhdGEp Ci0tCi0gICAgICAgICAgICAgICAgIGRlZiB0b2MoKToKLS0gICAgICAgICAgICAgICAgICAgIHJl dHVybiBzZWxmLmdlbmVyYXRlX2h0bWxfdG9jKG9lYl9ib29rLCBwYXRoLCBvdXRwdXRfZGlyKQot LSAgICAgICAgICAgICAgICB0ID0gdGVtcGxpdGUucmVuZGVyKGVib29rQ29udGVudD1lYm9va19j b250ZW50LAotLSAgICAgICAgICAgICAgICAgICAgICAgIHByZXZMaW5rPXByZXZMaW5rLCBuZXh0 TGluaz1uZXh0TGluaywKLS0gICAgICAgICAgICAgICAgICAgICAgICBoYXNfdG9jPWJvb2wob2Vi X2Jvb2sudG9jLmNvdW50KCkpLCB0b2M9dG9jLAotLSAgICAgICAgICAgICAgICAgICAgICAgIHRv Y1VybD10b2NVcmwsIGhlYWRfY29udGVudD1oZWFkX2NvbnRlbnQsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgbWV0YT1tZXRhLCBjc3NMaW5rPWNzc0xpbmssCi0tICAgICAgICAgICAgICAgICAg ICAgICAgZmlyc3RDb250ZW50UGFnZUxpbms9Zmlyc3RDb250ZW50UGFnZUxpbmspCi0tCi0rICAg ICAgICAgICAgICAgICAgICByZXR1cm4KLSsgICAgICAgICAgICAgICAgdG9jX2FzX2h0bWwgPSBz ZWxmLmdlbmVyYXRlX2h0bWxfdG9jKG9lYl9ib29rLCBwYXRoLCBvdXRwdXRfZGlyKSBpZiBoYXNf dG9jIGVsc2UgJycKLSsgICAgICAgICAgICAgICAgdiA9IGJhc2ljX3RlbXBsYXRlX3ZhcnMuY29w eSgpCi0rICAgICAgICAgICAgICAgIHYudXBkYXRlKHsKLSsgICAgICAgICAgICAgICAgICAgICdo YXNfbGluayc6IHByZXZMaW5rIG9yIG5leHRMaW5rLAotKyAgICAgICAgICAgICAgICAgICAgJ3By ZXZfbGluayc6IHByZXZMaW5rLCAnbmV4dF9saW5rJzogbmV4dExpbmssICd0b2NfdXJsJzogdG9j VXJsLAotKyAgICAgICAgICAgICAgICAgICAgJ2hlYWRfY29udGVudCc6IGhlYWRfY29udGVudCwg J2Vib29rX2NvbnRlbnQnOiBlYm9va19jb250ZW50LAotKyAgICAgICAgICAgICAgICAgICAgJ2Nz c19saW5rJzogY3NzTGluaywgJ3RvYyc6IHRvY19hc19odG1sLAotKyAgICAgICAgICAgICAgICAg ICAgJ2ZpcnN0X2NvbnRlbnRfcGFnZV9saW5rJzogZmlyc3RDb250ZW50UGFnZUxpbmssCi0rICAg ICAgICAgICAgICAgIH0pCi0rICAgICAgICAgICAgICAgIHQgPSBweXN0YWNoZS5yZW5kZXIodGVt cGxhdGVfaHRtbCwgdikKLSAgICAgICAgICAgICAgICAgIyB3cml0ZSBodG1sIHRvIGZpbGUKLSAg ICAgICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICd3YicpIGFzIGY6Ci0gICAgICAgICAgICAg ICAgICAgICBmLndyaXRlKHQuZW5jb2RlKCd1dGYtOCcpKQotZGlmZiAtLWdpdCBhL3NyYy90ZW1w bGl0ZS9fX2luaXRfXy5weSBiL3NyYy90ZW1wbGl0ZS9fX2luaXRfXy5weQotZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCA4NzIzZDBkLi4wMDAwMDAwCi0tLS0gYS9zcmMvdGVtcGxpdGUv X19pbml0X18ucHkKLSsrKyAvZGV2L251bGwKLUBAIC0xLDk2ICswLDAgQEAKLS0jIS91c3IvYmlu L2VudiBweXRob24KLS0jCi0tIyAgICAgICBUZW1wbGl0ZSsKLS0jICAgICAgIEEgbGlnaHQtd2Vp Z2h0LCBmdWxseSBmdW5jdGlvbmFsLCBnZW5lcmFsIHB1cnBvc2UgdGVtcGxhdGluZyBlbmdpbmUK LS0jCi0tIyAgICAgICBDb3B5cmlnaHQgKGMpIDIwMDkgam9vbmlzIG5ldyBtZWRpYQotLSMgICAg ICAgQXV0aG9yOiBUaGltbyBLcmFlbWVyIDx0aGltby5rcmFlbWVyQGpvb25pcy5kZT4KLS0jCi0t IyAgICAgICBCYXNlZCBvbiBUZW1wbGl0ZSAtIFRvbWVyIEZpbGliYQotLSMgICAgICAgaHR0cDov L2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lwZXMvNDk2NzAyLwotLSMKLS0jICAgICAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Ci0tIyAgICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotLSMgICAgICAgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS0jICAgICAg IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0tIwotLSMgICAgICAgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Ci0tIyAgICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgotLSMgICAgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotLSMgICAgICAgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLS0jCi0tIyAgICAgICBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSMg ICAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg U29mdHdhcmUKLS0jICAgICAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg RmlmdGggRmxvb3IsIEJvc3RvbiwKLS0jICAgICAgIE1BIDAyMTEwLTEzMDEsIFVTQS4KLS0jCi0t Ci0taW1wb3J0IHJlCi0taW1wb3J0IHN5cwotLQotLWZyb20gcG9seWdsb3QuYnVpbHRpbnMgaW1w b3J0IHVuaWNvZGVfdHlwZQotLQotLQotLWNsYXNzIFRlbXBsaXRlOgotLSAgICBhdXRvX2VtaXQg PSByZS5jb21waWxlKHInJycoXlsnIl0pfCheW2EtekEtWjAtOV9bXF0nIl0rJCknJycpCi0tCi0t ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZW1wbGF0ZSwgc3RhcnQ9JyR7JywgZW5kPSd9JCcpOgot LSAgICAgICAgaWYgbGVuKHN0YXJ0KSAhPSAyIG9yIGxlbihlbmQpICE9IDI6Ci0tICAgICAgICAg ICAgcmFpc2UgVmFsdWVFcnJvcignZWFjaCBkZWxpbWl0ZXIgbXVzdCBiZSB0d28gY2hhcmFjdGVy cyBsb25nJykKLS0gICAgICAgIGRlbGltaXRlciA9IHJlLmNvbXBpbGUoJyVzKC4qPyklcycgJSAo cmUuZXNjYXBlKHN0YXJ0KSwgcmUuZXNjYXBlKGVuZCkpLCByZS5ET1RBTEwpCi0tICAgICAgICBv ZmZzZXQgPSAwCi0tICAgICAgICB0b2tlbnMgPSBbXQotLSAgICAgICAgZm9yIGksIHBhcnQgaW4g ZW51bWVyYXRlKGRlbGltaXRlci5zcGxpdCh0ZW1wbGF0ZSkpOgotLSAgICAgICAgICAgIHBhcnQg PSBwYXJ0LnJlcGxhY2UoJ1xcJy5qb2luKGxpc3Qoc3RhcnQpKSwgc3RhcnQpCi0tICAgICAgICAg ICAgcGFydCA9IHBhcnQucmVwbGFjZSgnXFwnLmpvaW4obGlzdChlbmQpKSwgZW5kKQotLSAgICAg ICAgICAgIGlmIGkgJSAyID09IDA6Ci0tICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0OgotLSAg ICAgICAgICAgICAgICAgICAgY29udGludWUKLS0gICAgICAgICAgICAgICAgcGFydCA9IHBhcnQu cmVwbGFjZSgnXFwnLCAnXFxcXCcpLnJlcGxhY2UoJyInLCAnXFwiJykKLS0gICAgICAgICAgICAg ICAgcGFydCA9ICdcdCcgKiBvZmZzZXQgKyAnZW1pdCgiIiIlcyIiIiknICUgcGFydAotLSAgICAg ICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIHBhcnQgPSBwYXJ0LnJzdHJpcCgpCi0tICAg ICAgICAgICAgICAgIGlmIG5vdCBwYXJ0OgotLSAgICAgICAgICAgICAgICAgICAgY29udGludWUK LS0gICAgICAgICAgICAgICAgaWYgcGFydC5sc3RyaXAoKS5zdGFydHN3aXRoKCc6Jyk6Ci0tICAg ICAgICAgICAgICAgICAgICBpZiBub3Qgb2Zmc2V0OgotLSAgICAgICAgICAgICAgICAgICAgICAg IHJhaXNlIFN5bnRheEVycm9yKCdubyBibG9jayBzdGF0ZW1lbnQgdG8gdGVybWluYXRlOiAkeyVz fSQnICUgcGFydCkKLS0gICAgICAgICAgICAgICAgICAgIG9mZnNldCAtPSAxCi0tICAgICAgICAg ICAgICAgICAgICBwYXJ0ID0gcGFydC5sc3RyaXAoKVsxOl0KLS0gICAgICAgICAgICAgICAgICAg IGlmIG5vdCBwYXJ0LmVuZHN3aXRoKCc6Jyk6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgY29u dGludWUKLS0gICAgICAgICAgICAgICAgZWxpZiBzZWxmLmF1dG9fZW1pdC5tYXRjaChwYXJ0Lmxz dHJpcCgpKToKLS0gICAgICAgICAgICAgICAgICAgIHBhcnQgPSAnZW1pdCglcyknICUgcGFydC5s c3RyaXAoKQotLSAgICAgICAgICAgICAgICBsaW5lcyA9IHBhcnQuc3BsaXRsaW5lcygpCi0tICAg ICAgICAgICAgICAgIG1hcmdpbiA9IG1pbihsZW4obCkgLSBsZW4obC5sc3RyaXAoKSkgZm9yIGwg aW4gbGluZXMgaWYgbC5zdHJpcCgpKQotLSAgICAgICAgICAgICAgICBwYXJ0ID0gJ1xuJy5qb2lu KCdcdCcgKiBvZmZzZXQgKyBsW21hcmdpbjpdIGZvciBsIGluIGxpbmVzKQotLSAgICAgICAgICAg ICAgICBpZiBwYXJ0LmVuZHN3aXRoKCc6Jyk6Ci0tICAgICAgICAgICAgICAgICAgICBvZmZzZXQg Kz0gMQotLSAgICAgICAgICAgIHRva2Vucy5hcHBlbmQocGFydCkKLS0gICAgICAgIGlmIG9mZnNl dDoKLS0gICAgICAgICAgICByYWlzZSBTeW50YXhFcnJvcignJWkgYmxvY2sgc3RhdGVtZW50KHMp IG5vdCB0ZXJtaW5hdGVkJyAlIG9mZnNldCkKLS0gICAgICAgIHNlbGYuX19jb2RlID0gY29tcGls ZSgnXG4nLmpvaW4odG9rZW5zKSwgJzx0ZW1wbGl0ZSAlcj4nICUgdGVtcGxhdGVbOjIwXSwgJ2V4 ZWMnKQotLQotLSAgICBkZWYgcmVuZGVyKHNlbGYsIF9fbmFtZXNwYWNlPU5vbmUsICoqa3cpOgot LSAgICAgICAgIiIiCi0tICAgICAgICByZW5kZXJzIHRoZSB0ZW1wbGF0ZSBhY2NvcmRpbmcgdG8g dGhlIGdpdmVuIG5hbWVzcGFjZS4KLS0gICAgICAgIF9fbmFtZXNwYWNlIC0gYSBkaWN0aW9uYXJ5 IHNlcnZpbmcgYXMgYSBuYW1lc3BhY2UgZm9yIGV2YWx1YXRpb24KLS0gICAgICAgICoqa3cgLSBr ZXl3b3JkIGFyZ3VtZW50cyB3aGljaCBhcmUgYWRkZWQgdG8gdGhlIG5hbWVzcGFjZQotLSAgICAg ICAgIiIiCi0tICAgICAgICBuYW1lc3BhY2UgPSB7fQotLSAgICAgICAgaWYgX19uYW1lc3BhY2U6 Ci0tICAgICAgICAgICAgbmFtZXNwYWNlLnVwZGF0ZShfX25hbWVzcGFjZSkKLS0gICAgICAgIGlm IGt3OgotLSAgICAgICAgICAgIG5hbWVzcGFjZS51cGRhdGUoa3cpCi0tICAgICAgICBuYW1lc3Bh Y2VbJ2VtaXQnXSA9IHNlbGYud3JpdGUKLS0KLS0gICAgICAgIF9fc3Rkb3V0ID0gc3lzLnN0ZG91 dAotLSAgICAgICAgc3lzLnN0ZG91dCA9IHNlbGYKLS0gICAgICAgIHNlbGYuX19vdXRwdXQgPSBb XQotLSAgICAgICAgZXZhbChzZWxmLl9fY29kZSwgbmFtZXNwYWNlKQotLSAgICAgICAgc3lzLnN0 ZG91dCA9IF9fc3Rkb3V0Ci0tICAgICAgICByZXR1cm4gJycuam9pbihzZWxmLl9fb3V0cHV0KQot LQotLSAgICBkZWYgd3JpdGUoc2VsZiwgKmFyZ3MpOgotLSAgICAgICAgZm9yIGEgaW4gYXJnczoK LS0gICAgICAgICAgICBzZWxmLl9fb3V0cHV0LmFwcGVuZCh1bmljb2RlX3R5cGUoYSkpCmRpZmYg LU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIw MjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVuZ2luZS5wYXRjaCBjYWxp YnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjU3MzEt WklQLU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVuZ2luZS5wYXRjaAotLS0gY2FsaWJyZS04 LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg2LUNWRS0yMDI2LTI1NzMxLVpJUC1P dXRwdXQtQ2hhbmdlLXRoZS10ZW1wbGF0ZS1lbmdpbmUucGF0Y2gJMTk3MC0wMS0wMSAwOTowMDow MC4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBz dHJlYW0vMDA4Ni1DVkUtMjAyNi0yNTczMS1aSVAtT3V0cHV0LUNoYW5nZS10aGUtdGVtcGxhdGUt ZW5naW5lLnBhdGNoCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBAIC0wLDAg KzEsNTg4IEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+CitEYXRl OiBUaHUsIDUgRmViIDIwMjYgMTQ6MjE6MjUgKzA1MzAKK1N1YmplY3Q6IENWRS0yMDI2LTI1NzMx OiBaSVAgT3V0cHV0OiBDaGFuZ2UgdGhlIHRlbXBsYXRlIGVuZ2luZSB1c2VkIGZvciBIVE1MCisg dGVtcGxhdGluZyBmcm9tIHRlbXBsaXRlIHRvIE11c3RhY2hlLAorIGZvciBncmVhdGVyIHNhZmV0 eSBhbmQgcGVyZm9ybWFuY2UuIE5vdGUgdGhhdCB0aGlzIGlzIGEgYnJlYWtpbmcgY2hhbmdlIGlm CisgeW91IHVzZSBjdXN0b20gdGVtcGxhdGVzIHdpdGggWklQIG91dHB1dC4KKworRm9yd2FyZGVk OiBub3QtbmVlZGVkCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUv c2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLXhyaDktdzdxeC0zZ2NjCitPcmlnaW46IGJhY2twb3J0 LCBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2NvbW1pdC9mMDY0OWIyNzUx MmU5ODdiOTVmY2FiMmUxZTBhM2JjZGFmYzIzMzc5CisKK1NpZ25lZC1vZmYtYnk6IFlPS09UQSBI aXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+CistLS0KKyBDT1BZUklHSFQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2IC0tCisgcHlwcm9qZWN0LnRvbWwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArLQorIHJlc291cmNlcy90 ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC5tdXN0YWNoZSAgIHwgNzAgKysrKysrKysrKysr KysrKworIHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC50bXBsICAgICAg IHwgNzQgLS0tLS0tLS0tLS0tLS0tLS0KKyAuLi4vdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1 bHRfaW5kZXgubXVzdGFjaGUgICB8IDU1ICsrKysrKysrKysrKysKKyByZXNvdXJjZXMvdGVtcGxh dGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1wbCB8IDYxIC0tLS0tLS0tLS0tLS0tCisg Li4uL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvaHRtbF9vdXRwdXQucHkgICAgICAgfCA2MSAr KysrKysrKy0tLS0tLQorIHNyYy90ZW1wbGl0ZS9fX2luaXRfXy5weSAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgOTYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDggZmlsZXMgY2hhbmdlZCwg MTY0IGluc2VydGlvbnMoKyksIDI2NCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQg cmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0Lm11c3RhY2hlCisgZGVsZXRl IG1vZGUgMTAwNjQ0IHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC50bXBs CisgY3JlYXRlIG1vZGUgMTAwNjQ0IHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVm YXVsdF9pbmRleC5tdXN0YWNoZQorIGRlbGV0ZSBtb2RlIDEwMDY0NCByZXNvdXJjZXMvdGVtcGxh dGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1wbAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmMvdGVtcGxpdGUvX19pbml0X18ucHkKKworZGlmZiAtLWdpdCBhL0NPUFlSSUdIVCBiL0NPUFlS SUdIVAoraW5kZXggYTQ0ZDc1Ni4uMDllMTMwOCAxMDA2NDQKKy0tLSBhL0NPUFlSSUdIVAorKysr IGIvQ09QWVJJR0hUCitAQCAtMTIsMTIgKzEyLDYgQEAgRmlsZXM6IHJlc291cmNlcy9yYXB5ZHNj cmlwdC8qCisgQ29weXJpZ2h0OiBWYXJpb3VzCisgTGljZW5zZTogQlNECisgCistRmlsZXM6IHNy Yy90ZW1wbGl0ZS8qCistQ29weXJpZ2h0OiBDb3B5cmlnaHQgKGMpIDIwMDkgam9vbmlzIG5ldyBt ZWRpYSwgVGhpbW8gS3JhZW1lcgorLUxpY2Vuc2U6IEdQTC0yKworLSBUaGUgZnVsbCB0ZXh0IG9m IHRoZSBHUEwgaXMgZGlzdHJpYnV0ZWQgYXMgaW4KKy0gL3Vzci9zaGFyZS9jb21tb24tbGljZW5z ZXMvR1BMLTIgb24gRGViaWFuIHN5c3RlbXMuCistCisgRmlsZXM6IHNyYy9jYWxpYnJlL2Rldmlj ZXMvYmFtYm9vay8qCisgQ29weXJpZ2h0OiAyMDEwLCBMaSBGYW54aQorIExpY2Vuc2U6IEdQTC0z CitkaWZmIC0tZ2l0IGEvcHlwcm9qZWN0LnRvbWwgYi9weXByb2plY3QudG9tbAoraW5kZXggYjM2 OTdiZC4uZjdlZjVjYiAxMDA2NDQKKy0tLSBhL3B5cHJvamVjdC50b21sCisrKysgYi9weXByb2pl Y3QudG9tbAorQEAgLTI2LDcgKzI2LDYgQEAgZXhjbHVkZSA9IFsKKyAgICAgInNldHVwL2xpbnV4 LWluc3RhbGxlci5weSIsCisgICAgICJzcmMvY3NzX3NlbGVjdG9ycy8qIiwKKyAgICAgInNyYy9w b2x5Z2xvdC8qIiwKKy0gICAgInNyYy90ZW1wbGl0ZS8qIiwKKyAgICAgInNyYy90aW55Y3NzLyoi LAorIF0KKyBwcmV2aWV3ID0gdHJ1ZQorQEAgLTcxLDcgKzcwLDcgQEAgdW5maXhhYmxlID0gWydQ SUU3OTQnLCAnSVNDMDAxJ10KKyBkZXRlY3Qtc2FtZS1wYWNrYWdlID0gdHJ1ZQorIGV4dHJhLXN0 YW5kYXJkLWxpYnJhcnkgPSBbImFlcyIsICJlbGVtZW50bWFrZXIiLCAiZW5jb2RpbmdzIl0KKyBr bm93bi1maXJzdC1wYXJ0eSA9IFsiY2FsaWJyZV9leHRlbnNpb25zIiwgImNhbGlicmVfcGx1Z2lu cyIsICJwb2x5Z2xvdCJdCista25vd24tdGhpcmQtcGFydHkgPSBbIm9kZiIsICJxdCIsICJ0ZW1w bGl0ZSIsICJ0aW55Y3NzIiwgImNzc19zZWxlY3RvcnMiXQorK2tub3duLXRoaXJkLXBhcnR5ID0g WyJvZGYiLCAicXQiLCAidGlueWNzcyIsICJjc3Nfc2VsZWN0b3JzIl0KKyByZWxhdGl2ZS1pbXBv cnRzLW9yZGVyID0gImNsb3Nlc3QtdG8tZnVydGhlc3QiCisgc3BsaXQtb24tdHJhaWxpbmctY29t bWEgPSBmYWxzZQorIHNlY3Rpb24tb3JkZXIgPSBbJ19fcHl0aG9uX18nLCAiZnV0dXJlIiwgInN0 YW5kYXJkLWxpYnJhcnkiLCAidGhpcmQtcGFydHkiLCAiZmlyc3QtcGFydHkiLCAibG9jYWwtZm9s ZGVyIl0KK0BAIC0xODksNyArMTg4LDYgQEAgc2tpcCA9IFsKKyAgICAgIi4vc2V0dXAvbGludXgt aW5zdGFsbGVyLnB5IiwKKyAgICAgIi4vc3JjL2Nzc19zZWxlY3RvcnMvKiIsCisgICAgICIuL3Ny Yy9wb2x5Z2xvdC8qIiwKKy0gICAgIi4vc3JjL3RlbXBsaXRlLyoiLAorICAgICAiLi9zcmMvdGlu eWNzcy8qIiwKKyAgICAgIi4vc3JjL3VuaWNvZGVfbmFtZXMvKiIsCisgXQorQEAgLTIwNSw3ICsy MDMsNiBAQCBleGNsdWRlID0gWworICAgICAic3JjL2NhbGlicmUvZ3VpMi9zdG9yZS9zdG9yZXMv IiwKKyAgICAgInNyYy9jc3Nfc2VsZWN0b3JzLyIsCisgICAgICJzcmMvcG9seWdsb3QvIiwKKy0g ICAgInNyYy90ZW1wbGl0ZS8iLAorICAgICAic3JjL3Rpbnljc3MvIiwKKyBdCisgCitkaWZmIC0t Z2l0IGEvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0Lm11c3RhY2hlIGIv cmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0Lm11c3RhY2hlCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMWM4NjkxYQorLS0tIC9kZXYvbnVsbAorKysr IGIvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0Lm11c3RhY2hlCitAQCAt MCwwICsxLDcwIEBACisrPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAx LjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0 cmljdC5kdGQiPgorKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4K Kys8aGVhZD4KKyt7e3toZWFkX2NvbnRlbnR9fX0KKysKKys8bGluayBocmVmPSJ7e2Nzc19saW5r fX0iIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+CisrCisrPC9oZWFkPgorKzxi b2R5PgorKworKzxkaXYgY2xhc3M9ImNhbGlicmVNZXRhIj4KKysgIDxkaXYgY2xhc3M9ImNhbGli cmVNZXRhVGl0bGUiPgorKyAge3sjbWV0YS50aXRsZXN9fQorKwl7eyNpc19maXJzdH19CisrCQk8 aDE+PGEgaHJlZj0ie3t0b2NfdXJsfX0iPnt7dGl0bGV9fTwvYT4gPC9oMT4KKysJe3svaXNfZmly c3R9fQorKwl7e15pc19maXJzdH19CisrCQk8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YVN1YnRpdGxl Ij57e3RpdGxlfX08L2Rpdj4KKysJe3svaXNfZmlyc3R9fQorKyAge3svbWV0YS50aXRsZXN9fQor KyAgPC9kaXY+CisrICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YUF1dGhvciI+e3ttZXRhLmNyZWF0 b3JzfX08L2Rpdj4KKys8L2Rpdj4KKysKKys8ZGl2IGNsYXNzPSJjYWxpYnJlTWFpbiI+CisrCisr ICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJvb2tDb250ZW50Ij4KKysgICAge3sjaGFzX2xpbmt9fQor KyAgICAgIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdlRvcCI+CisrCSAgICB7eyNwcmV2X2xpbmt9 fQorKyAgICAgICAgICA8YSBocmVmPSJ7e3ByZXZfbGlua319IiBjbGFzcz0iY2FsaWJyZUFQcmV2 Ij57e3ByZXZfcGFnZX19PC9hPgorKwkJe3svcHJldl9saW5rfX0KKysgICAgICAgIHt7XnByZXZf bGlua319CisrICAgICAgICAgIDxhIGhyZWY9Int7dG9jX3VybH19IiBjbGFzcz0iY2FsaWJyZUFQ cmV2Ij57e3ByZXZfcGFnZX19PC9hPgorKwkJe3svcHJldl9saW5rfX0KKysJCXt7I25leHRfbGlu a319CisrICAgICAgICAgIDxhIGhyZWY9Int7bmV4dF9saW5rfX0iIGNsYXNzPSJjYWxpYnJlQU5l eHQiPnt7bmV4dF9wYWdlfX08L2E+CisrCQl7ey9uZXh0X2xpbmt9fQorKyAgICAgIDwvZGl2Pgor Kwl7ey9oYXNfbGlua319CisrCisrCXt7e2Vib29rX2NvbnRlbnR9fX0KKysgIDwvZGl2PgorKwor KyAge3sjaGFzX3RvY319CisrICA8ZGl2IGNsYXNzPSJjYWxpYnJlVG9jIj4KKysgICAgPGgyPjxh IGhyZWY9Int7dG9jX3VybH19Ij57e3RhYmxlX29mX2NvbnRlbnRzfX08L2E+PC9oMj4KKysJe3t7 dG9jfX19CisrICA8L2Rpdj4KKysgIHt7L2hhc190b2N9fQorKworKyAgPGRpdiBjbGFzcz0iY2Fs aWJyZUViTmF2Ij4KKysJe3sjcHJldl9saW5rfX0KKysJCTxhIGhyZWY9Int7cHJldl9saW5rfX0i IGNsYXNzPSJjYWxpYnJlQVByZXYiPnt7cHJldl9wYWdlfX08L2E+CisrCXt7L3ByZXZfbGlua319 CisrCXt7XnByZXZfbGlua319CisrCQk8YSBocmVmPSJ7e3RvY191cmx9fSIgY2xhc3M9ImNhbGli cmVBUHJldiI+e3twcmV2X3BhZ2V9fTwvYT4KKysJe3svcHJldl9saW5rfX0KKysKKysgICAgPGEg aHJlZj0ie3t0b2NfdXJsfX0iIGNsYXNzPSJjYWxpYnJlQUhvbWUiPnt7c3RhcnR9fTwvYT4KKysK KysJe3sjbmV4dF9saW5rfX0KKysJCTxhIGhyZWY9Int7bmV4dF9saW5rfX0iIGNsYXNzPSJjYWxp YnJlQU5leHQiPnt7bmV4dF9wYWdlfX08L2E+CisrCXt7L25leHRfbGlua319CisrICA8L2Rpdj4K KysKKys8L2Rpdj4KKysKKys8L2JvZHk+CisrPC9odG1sPgorZGlmZiAtLWdpdCBhL3Jlc291cmNl cy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC50bXBsIGIvcmVzb3VyY2VzL3RlbXBsYXRl cy9odG1sX2V4cG9ydF9kZWZhdWx0LnRtcGwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggN2FhYzI0Ny4uMDAwMDAwMAorLS0tIGEvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9y dF9kZWZhdWx0LnRtcGwKKysrKyAvZGV2L251bGwKK0BAIC0xLDc0ICswLDAgQEAKKy08IURPQ1RZ UEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDov L3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CistPGh0bWwgeG1s bnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorLTxoZWFkPgorLSR7aGVhZF9jb250 ZW50fSQKKy0KKy08bGluayBocmVmPSIke2Nzc0xpbmt9JCIgdHlwZT0idGV4dC9jc3MiIHJlbD0i c3R5bGVzaGVldCIgLz4KKy0KKy08L2hlYWQ+CistPGJvZHk+CistCistPGRpdiBjbGFzcz0iY2Fs aWJyZU1ldGEiPgorLSAgPGRpdiBjbGFzcz0iY2FsaWJyZU1ldGFUaXRsZSI+CistICAke3BvczE9 MX0kCistICAke2ZvciB0aXRsZSBpbiBtZXRhLnRpdGxlcygpOn0kCistICAgICR7aWYgcG9zMTp9 JAorLSAgICA8aDE+CistICAgICAgPGEgaHJlZj0iJHt0b2NVcmx9JCI+JHtwcmludCh0aXRsZSl9 JDwvYT4KKy0gICAgPC9oMT4KKy0gICAgJHs6ZWxzZTp9JAorLSAgICA8ZGl2IGNsYXNzPSJjYWxp YnJlTWV0YVN1YnRpdGxlIj4ke3ByaW50KHRpdGxlKX0kPC9kaXY+CistICAgICR7OmVuZGlmfSQK Ky0gICAgJHtwb3MxPTB9JAorLSAgJHs6ZW5kZm9yfSQKKy0gIDwvZGl2PgorLSAgPGRpdiBjbGFz cz0iY2FsaWJyZU1ldGFBdXRob3IiPgorLSAgICAke3ByaW50KCcsICcuam9pbihtZXRhLmNyZWF0 b3JzKCkpKX0kCistICA8L2Rpdj4KKy08L2Rpdj4KKy0KKy08ZGl2IGNsYXNzPSJjYWxpYnJlTWFp biI+CistCistICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJvb2tDb250ZW50Ij4KKy0gICAgJHtpZiBw cmV2TGluayBvciBuZXh0TGluazp9JAorLSAgICAgIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdlRv cCI+CistICAgICAgICAke2lmIHByZXZMaW5rOn0kCistICAgICAgICAgIDxhIGhyZWY9IiR7cHJl dkxpbmt9JCIgY2xhc3M9ImNhbGlicmVBUHJldiI+JHtwcmludChfKCdwcmV2aW91cyBwYWdlJykp fSQ8L2E+CistICAgICAgICAkezplbHNlOn0kCistICAgICAgICAgIDxhIGhyZWY9IiR7dG9jVXJs fSQiIGNsYXNzPSJjYWxpYnJlQVByZXYiPiR7cHJpbnQoXygncHJldmlvdXMgcGFnZScpKX0kPC9h PgorLSAgICAgICAgJHs6ZW5kaWZ9JAorLQorLSAgICAgICAgJHtpZiBuZXh0TGluazp9JAorLSAg ICAgICAgICA8YSBocmVmPSIke25leHRMaW5rfSQiIGNsYXNzPSJjYWxpYnJlQU5leHQiPiR7cHJp bnQoXygnbmV4dCBwYWdlJykpfSQ8L2E+CistICAgICAgICAkezplbmRpZn0kCistICAgICAgPC9k aXY+CistICAgICR7OmVuZGlmfSQKKy0KKy0gICAgJHtlYm9va0NvbnRlbnR9JAorLSAgPC9kaXY+ CistCistICAke2lmIGhhc190b2M6fSQKKy0gIDxkaXYgY2xhc3M9ImNhbGlicmVUb2MiPgorLSAg ICA8aDI+PGEgaHJlZj0iJHt0b2NVcmx9JCI+JHtwcmludCggXygnVGFibGUgb2YgY29udGVudHMn KSl9JDwvYT48L2gyPgorLSAgICAke3ByaW50KHRvYygpKX0kCistICA8L2Rpdj4KKy0gICR7OmVu ZGlmfSQKKy0KKy0gIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdiI+CistICAgICR7aWYgcHJldkxp bms6fSQKKy0gICAgICA8YSBocmVmPSIke3ByZXZMaW5rfSQiIGNsYXNzPSJjYWxpYnJlQVByZXYi PiR7cHJpbnQoXygncHJldmlvdXMgcGFnZScpKX0kPC9hPgorLSAgICAkezplbHNlOn0kCistICAg ICAgPGEgaHJlZj0iJHt0b2NVcmx9JCIgY2xhc3M9ImNhbGlicmVBUHJldiI+JHtwcmludChfKCdw cmV2aW91cyBwYWdlJykpfSQ8L2E+CistICAgICR7OmVuZGlmfSQKKy0KKy0gICAgPGEgaHJlZj0i JHt0b2NVcmx9JCIgY2xhc3M9ImNhbGlicmVBSG9tZSI+JHtwcmludChfKCdzdGFydCcpKX0kPC9h PgorLQorLSAgICAke2lmIG5leHRMaW5rOn0kCistICAgICAgPGEgaHJlZj0iJHtuZXh0TGlua30k IiBjbGFzcz0iY2FsaWJyZUFOZXh0Ij4ke3ByaW50KF8oJ25leHQgcGFnZScpKX0kPC9hPgorLSAg ICAkezplbmRpZn0kCistICA8L2Rpdj4KKy0KKy08L2Rpdj4KKy0KKy08L2JvZHk+CistPC9odG1s PgorZGlmZiAtLWdpdCBhL3Jlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9p bmRleC5tdXN0YWNoZSBiL3Jlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9p bmRleC5tdXN0YWNoZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmFhMWJj NGQKKy0tLSAvZGV2L251bGwKKysrKyBiL3Jlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRf ZGVmYXVsdF9pbmRleC5tdXN0YWNoZQorQEAgLTAsMCArMSw1NSBAQAorKzwhRE9DVFlQRSBodG1s IFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3Lncz Lm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKys8aHRtbCB4bWxucz0iaHR0 cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisrPGhlYWQ+CisrPG1ldGEgaHR0cC1lcXVpdj0i Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CisrCisr PGxpbmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8x LjEvIiAvPgorKzxsaW5rIHJlbD0ic2NoZW1hLkRDVEVSTVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9y Zy9kYy90ZXJtcy8iIC8+CisrCisrPHRpdGxlPnt7bWV0YS5jcmVhdG9yc319IC0ge3ttZXRhLmZp cnN0X3RpdGxlfX08L3RpdGxlPgorKworK3t7I21ldGEuaXRlbXN9fQorKyAgPG1ldGEgbmFtZT0i REMue3tuYW1lfX0iIGNvbnRlbnQ9Int7dmFsdWV9fSIgLz4KKyt7ey9tZXRhLml0ZW1zfX0KKysK Kys8bGluayBocmVmPSJ7e2Nzc19saW5rfX0iIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hl ZXQiIC8+CisrPC9oZWFkPgorKzxib2R5PgorKworKzxkaXYgY2xhc3M9ImNhbGlicmVNZXRhIj4K KysgIDxkaXYgY2xhc3M9ImNhbGlicmVNZXRhVGl0bGUiPgorKyAge3sjbWV0YS50aXRsZXN9fQor Kwl7eyNpc19maXJzdH19CisrCQk8aDE+PGEgaHJlZj0ie3t0b2NfdXJsfX0iPnt7dGl0bGV9fTwv YT4gPC9oMT4KKysJe3svaXNfZmlyc3R9fQorKwl7e15pc19maXJzdH19CisrCQk8ZGl2IGNsYXNz PSJjYWxpYnJlTWV0YVN1YnRpdGxlIj57e3RpdGxlfX08L2Rpdj4KKysJe3svaXNfZmlyc3R9fQor KyAge3svbWV0YS50aXRsZXN9fQorKyAgPC9kaXY+CisrICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0 YUF1dGhvciI+e3ttZXRhLmNyZWF0b3JzfX08L2Rpdj4KKys8L2Rpdj4KKysKKys8ZGl2IGNsYXNz PSJjYWxpYnJlTWFpbiI+CisrICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJvb2tDb250ZW50Ij4KKysg ICAge3sjaGFzX3RvY319CisrICAgICAgPGRpdiBjbGFzcz0iY2FsaWJyZVRvY0luZGV4Ij4KKysg ICAgICAgIDxoMj57e3RhYmxlX29mX2NvbnRlbnRzfX08L2gyPgorKwkJe3t7dG9jfX19CisrICAg ICAgPC9kaXY+CisrICAgIHt7L2hhc190b2N9fQorKyAgICB7e15oYXNfdG9jfX0KKysgICAgICAg IDxoMj57e25vX3RvY319PC9oMj4KKysgICAgICAgIDxkaXY+PHN0cm9uZz48YSBocmVmPSJ7e25l eHRfbGlua319Ij57e2JlZ2luX3RvX3JlYWR9fTwvYT48L3N0cm9uZz48L2Rpdj4KKysgICAge3sv aGFzX3RvY319CisrICA8L2Rpdj4KKysKKysgIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdiI+Cisr ICAgIHt7I25leHRfbGlua319CisrICAgICAgPGEgaHJlZj0ie3tuZXh0X2xpbmt9fSIgY2xhc3M9 ImNhbGlicmVBTmV4dCI+e3tuZXh0X3BhZ2V9fTwvYT4KKysgICAge3svbmV4dF9saW5rfX0KKysg IDwvZGl2PgorKzwvZGl2PgorKworKzwvYm9keT4KKys8L2h0bWw+CitkaWZmIC0tZ2l0IGEvcmVz b3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0X2luZGV4LnRtcGwgYi9yZXNvdXJj ZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1wbAorZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCBmMDY2NWFkLi4wMDAwMDAwCistLS0gYS9yZXNvdXJjZXMvdGVt cGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1wbAorKysrIC9kZXYvbnVsbAorQEAg LTEsNjEgKzAsMCBAQAorLTwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwg MS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1z dHJpY3QuZHRkIj4KKy08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+ CistPGhlYWQ+CistPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CistCistPGxpbmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9 Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiAvPgorLTxsaW5rIHJlbD0ic2NoZW1h LkRDVEVSTVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIC8+CistCistPHRpdGxl PiR7cHJpbnQoJywgJy5qb2luKG1ldGEuY3JlYXRvcnMoKSkpfSQgLSAke3ByaW50KG5leHQobWV0 YS50aXRsZXMoKSkpOyBwcmludChtZXRhLnRpdGxlcygpLmNsb3NlKCkpfSQ8L3RpdGxlPgorLQor LSR7Zm9yIGl0ZW0gaW4gbWV0YTp9JAorLSAgPG1ldGEgJHtwcmludCgnbmFtZT0iREMuJytpdGVt WyduYW1lJ10rJyInKX0kICR7cHJpbnQoJ2NvbnRlbnQ9IicraXRlbVsndmFsdWUnXSsnIicpfSQg Lz4KKy0kezplbmRmb3J9JAorLQorLTxsaW5rIGhyZWY9IiR7Y3NzTGlua30kIiB0eXBlPSJ0ZXh0 L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgorLTwvaGVhZD4KKy08Ym9keT4KKy0KKy08ZGl2IGNs YXNzPSJjYWxpYnJlTWV0YSI+CistICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YVRpdGxlIj4KKy0g ICR7cG9zMT0xfSQKKy0gICR7Zm9yIHRpdGxlIGluIG1ldGEudGl0bGVzKCk6fSQKKy0gICAgJHtp ZiBwb3MxOn0kCistICAgIDxoMT4KKy0gICAgICA8YSBocmVmPSIke3RvY1VybH0kIj4ke3ByaW50 KHRpdGxlKX0kPC9hPgorLSAgICA8L2gxPgorLSAgICAkezplbHNlOn0kCistICAgIDxkaXYgY2xh c3M9ImNhbGlicmVNZXRhU3VidGl0bGUiPiR7cHJpbnQodGl0bGUpfSQ8L2Rpdj4KKy0gICAgJHs6 ZW5kaWZ9JAorLSAgICAke3BvczE9MH0kCistICAkezplbmRmb3J9JAorLSAgPC9kaXY+CistICA8 ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YUF1dGhvciI+CistICAgICR7cHJpbnQoJywgJy5qb2luKG1l dGEuY3JlYXRvcnMoKSkpfSQKKy0gIDwvZGl2PgorLTwvZGl2PgorLQorLTxkaXYgY2xhc3M9ImNh bGlicmVNYWluIj4KKy0gIDxkaXYgY2xhc3M9ImNhbGlicmVFYm9va0NvbnRlbnQiPgorLQorLSAg ICAke2lmIGhhc190b2M6fSQKKy0gICAgICA8ZGl2IGNsYXNzPSJjYWxpYnJlVG9jSW5kZXgiPgor LSAgICAgICAgPGgyPiR7cHJpbnQoXygnVGFibGUgb2YgY29udGVudHMnKSl9JDwvaDI+CistICAg ICAgICAke3RvY30kCistICAgICAgPC9kaXY+CistICAgICR7OmVsc2U6fSQKKy0gICAgICAgIDxo Mj4ke3ByaW50KF8oJ05vIHRhYmxlIG9mIGNvbnRlbnRzIHByZXNlbnQnKSl9JDwvaDI+CistICAg ICAgICA8ZGl2PjxzdHJvbmc+PGEgaHJlZj0iJHtuZXh0TGlua30kIj4ke3ByaW50KF8oJ2JlZ2lu IHRvIHJlYWQnKSl9JDwvYT48L3N0cm9uZz48L2Rpdj4KKy0gICAgJHs6ZW5kaWZ9JAorLQorLSAg PC9kaXY+CistCistICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJOYXYiPgorLSAgICAke2lmIG5leHRM aW5rOn0kCistICAgICAgPGEgaHJlZj0iJHtuZXh0TGlua30kIiBjbGFzcz0iY2FsaWJyZUFOZXh0 Ij4ke3ByaW50KF8oJ25leHQgcGFnZScpKX0kPC9hPgorLSAgICAkezplbmRpZn0kCistICA8L2Rp dj4KKy08L2Rpdj4KKy0KKy08L2JvZHk+CistPC9odG1sPgorZGlmZiAtLWdpdCBhL3NyYy9jYWxp YnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvaHRtbF9vdXRwdXQucHkgYi9zcmMvY2FsaWJy ZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2h0bWxfb3V0cHV0LnB5CitpbmRleCBlYTY0Yzcw Li41NTczZDA0IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1 Z2lucy9odG1sX291dHB1dC5weQorKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24v cGx1Z2lucy9odG1sX291dHB1dC5weQorQEAgLTI3LDEzICsyNywxMyBAQCBjbGFzcyBIVE1MT3V0 cHV0KE91dHB1dEZvcm1hdFBsdWdpbik6CisgCisgICAgIG9wdGlvbnMgPSB7CisgICAgICAgICBP cHRpb25SZWNvbW1lbmRhdGlvbihuYW1lPSd0ZW1wbGF0ZV9jc3MnLAorLSAgICAgICAgICAgIGhl bHA9XygnQ1NTIGZpbGUgdXNlZCBmb3IgdGhlIG91dHB1dCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0 IGZpbGUnKSksCisrICAgICAgICAgICAgaGVscD1fKCdDU1MgZmlsZSB1c2VkIGZvciB0aGUgb3V0 cHV0IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgQ1NTLicpKSwKKyAKKyAgICAgICAgIE9wdGlvblJl Y29tbWVuZGF0aW9uKG5hbWU9J3RlbXBsYXRlX2h0bWxfaW5kZXgnLAorLSAgICAgICAgICAgIGhl bHA9XygnVGVtcGxhdGUgdXNlZCBmb3IgZ2VuZXJhdGlvbiBvZiB0aGUgSFRNTCBpbmRleCBmaWxl IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgZmlsZScpKSwKKysgICAgICAgICAgICBoZWxwPV8oJ1Rl bXBsYXRlIHVzZWQgZm9yIGdlbmVyYXRpb24gb2YgdGhlIEhUTUwgaW5kZXggZmlsZSBpbnN0ZWFk IG9mIHRoZSBkZWZhdWx0IHRlbXBsYXRlLiBJbiBNdXN0YWNoZSBmb3JtYXQuJykpLAorIAorICAg ICAgICAgT3B0aW9uUmVjb21tZW5kYXRpb24obmFtZT0ndGVtcGxhdGVfaHRtbCcsCistICAgICAg ICAgICAgaGVscD1fKCdUZW1wbGF0ZSB1c2VkIGZvciB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgSFRN TCBjb250ZW50cyBvZiB0aGUgYm9vayBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGZpbGUnKSksCisr ICAgICAgICAgICAgaGVscD1fKCdUZW1wbGF0ZSB1c2VkIGZvciB0aGUgZ2VuZXJhdGlvbiBvZiB0 aGUgSFRNTCBjb250ZW50cyBvZiB0aGUgYm9vayBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IHRlbXBs YXRlLiBJbiBNdXN0YWNoZSBmb3JtYXQuJykpLAorIAorICAgICAgICAgT3B0aW9uUmVjb21tZW5k YXRpb24obmFtZT0nZXh0cmFjdF90bycsCisgICAgICAgICAgICAgaGVscD1fKCdFeHRyYWN0IHRo ZSBjb250ZW50cyBvZiB0aGUgZ2VuZXJhdGVkIFpJUCBmaWxlIHRvIHRoZSAnCitAQCAtODUsOCAr ODUsOCBAQCBjbGFzcyBIVE1MT3V0cHV0KE91dHB1dEZvcm1hdFBsdWdpbik6CisgICAgICAgICAg ICAgICAgIHhtbF9kZWNsYXJhdGlvbj1GYWxzZSkKKyAKKyAgICAgZGVmIGNvbnZlcnQoc2VsZiwg b2ViX2Jvb2ssIG91dHB1dF9wYXRoLCBpbnB1dF9wbHVnaW4sIG9wdHMsIGxvZyk6CisrICAgICAg ICBpbXBvcnQgcHlzdGFjaGUKKyAgICAgICAgIGZyb20gbHhtbCBpbXBvcnQgZXRyZWUKKy0gICAg ICAgIGZyb20gdGVtcGxpdGUgaW1wb3J0IFRlbXBsaXRlCisgCisgICAgICAgICBmcm9tIGNhbGli cmUuZWJvb2tzLmh0bWwubWV0YSBpbXBvcnQgRWFzeU1ldGEKKyAgICAgICAgIGZyb20gY2FsaWJy ZS51dGlscyBpbXBvcnQgemlwZmlsZQorQEAgLTk3LDcgKzk3LDcgQEAgY2xhc3MgSFRNTE91dHB1 dChPdXRwdXRGb3JtYXRQbHVnaW4pOgorICAgICAgICAgICAgIHdpdGggb3BlbihvcHRzLnRlbXBs YXRlX2h0bWxfaW5kZXgsICdyYicpIGFzIGY6CisgICAgICAgICAgICAgICAgIHRlbXBsYXRlX2h0 bWxfaW5kZXhfZGF0YSA9IGYucmVhZCgpCisgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHRl bXBsYXRlX2h0bWxfaW5kZXhfZGF0YSA9IFAoJ3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0 X2luZGV4LnRtcGwnLCBkYXRhPVRydWUpCisrICAgICAgICAgICAgdGVtcGxhdGVfaHRtbF9kYXRh ID0gUCgndGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHQubXVzdGFjaGUnLCBkYXRhPVRydWUp CisgCisgICAgICAgICBpZiBvcHRzLnRlbXBsYXRlX2h0bWwgaXMgbm90IE5vbmU6CisgICAgICAg ICAgICAgd2l0aCBvcGVuKG9wdHMudGVtcGxhdGVfaHRtbCwgJ3JiJykgYXMgZjoKK0BAIC0xMTEs OSArMTExLDEwIEBAIGNsYXNzIEhUTUxPdXRwdXQoT3V0cHV0Rm9ybWF0UGx1Z2luKToKKyAgICAg ICAgIGVsc2U6CisgICAgICAgICAgICAgdGVtcGxhdGVfY3NzX2RhdGEgPSBQKCd0ZW1wbGF0ZXMv aHRtbF9leHBvcnRfZGVmYXVsdC5jc3MnLCBkYXRhPVRydWUpCisgCistICAgICAgICB0ZW1wbGF0 ZV9odG1sX2luZGV4X2RhdGEgPSB0ZW1wbGF0ZV9odG1sX2luZGV4X2RhdGEuZGVjb2RlKCd1dGYt OCcpCistICAgICAgICB0ZW1wbGF0ZV9odG1sX2RhdGEgPSB0ZW1wbGF0ZV9odG1sX2RhdGEuZGVj b2RlKCd1dGYtOCcpCisrICAgICAgICB0ZW1wbGF0ZV9odG1sX2luZGV4ID0gcHlzdGFjaGUucGFy c2UodGVtcGxhdGVfaHRtbF9pbmRleF9kYXRhLmRlY29kZSgndXRmLTgnKSkKKysgICAgICAgIHRl bXBsYXRlX2h0bWwgPSBweXN0YWNoZS5wYXJzZSh0ZW1wbGF0ZV9odG1sX2RhdGEuZGVjb2RlKCd1 dGYtOCcpKQorICAgICAgICAgdGVtcGxhdGVfY3NzX2RhdGEgPSB0ZW1wbGF0ZV9jc3NfZGF0YS5k ZWNvZGUoJ3V0Zi04JykKKysgICAgICAgIGhhc190b2MgPSBib29sKG9lYl9ib29rLnRvYy5jb3Vu dCgpKQorIAorICAgICAgICAgc2VsZi5sb2cgID0gbG9nCisgICAgICAgICBzZWxmLm9wdHMgPSBv cHRzCitAQCAtMTMwLDE4ICsxMzEsMzEgQEAgY2xhc3MgSFRNTE91dHB1dChPdXRwdXRGb3JtYXRQ bHVnaW4pOgorICAgICAgICAgY3NzX3BhdGggPSBvdXRwdXRfZGlyK29zLnNlcCsnY2FsaWJyZUh0 bWxPdXRCYXNpY0Nzcy5jc3MnCisgICAgICAgICB3aXRoIG9wZW4oY3NzX3BhdGgsICd3YicpIGFz IGY6CisgICAgICAgICAgICAgZi53cml0ZSh0ZW1wbGF0ZV9jc3NfZGF0YS5lbmNvZGUoJ3V0Zi04 JykpCisrICAgICAgICBtZXRhX2RpY3QgPSB7CisrICAgICAgICAgICAgJ3RpdGxlcyc6IFt7J3Rp dGxlJzogeCwgJ2lzX2ZpcnN0JzogaSA9PSAwfSBmb3IgaSwgeCBpbiBlbnVtZXJhdGUobWV0YS50 aXRsZXMoKSldLAorKyAgICAgICAgICAgICdjcmVhdG9ycyc6IGF1dGhvcnNfdG9fc3RyaW5nKHR1 cGxlKG1ldGEuY3JlYXRvcnMoKSkpLAorKyAgICAgICAgICAgICdpdGVtcyc6IGxpc3QobWV0YSks CisrICAgICAgICB9CisrICAgICAgICBtZXRhX2RpY3RbJ2ZpcnN0X3RpdGxlJ10gPSBtZXRhX2Rp Y3RbJ3RpdGxlcyddWzBdWyd0aXRsZSddIGlmIG1ldGFfZGljdFsndGl0bGVzJ10gZWxzZSAnJwor KyAgICAgICAgYmFzaWNfdGVtcGxhdGVfdmFycyA9IHsKKysgICAgICAgICAgICAgICAgJ21ldGEn OiBtZXRhX2RpY3QsICdoYXNfdG9jJzogaGFzX3RvYywKKysgICAgICAgICAgICAgICAgJ3RhYmxl X29mX2NvbnRlbnRzJzogIF8oJ1RhYmxlIG9mIGNvbnRlbnRzJyksICdub190b2MnOiBfKCdObyB0 YWJsZSBvZiBjb250ZW50cyBwcmVzZW50JyksCisrICAgICAgICAgICAgICAgICdiZWdpbl90b19y ZWFkJzogXygnYmVnaW4gdG8gcmVhZCcpLCAnc3RhcnQnOiBfKCdzdGFydCcpLAorKyAgICAgICAg ICAgICAgICAncHJldl9wYWdlJzogXygncHJldmlvdXMgcGFnZScpLCAnbmV4dF9wYWdlJzogXygn bmV4dCBwYWdlJyksCisrICAgICAgICB9CisgCisgICAgICAgICB3aXRoIG9wZW4ob3V0cHV0X2Zp bGUsICd3YicpIGFzIGY6CistICAgICAgICAgICAgaHRtbF90b2MgPSBzZWxmLmdlbmVyYXRlX2h0 bWxfdG9jKG9lYl9ib29rLCBvdXRwdXRfZmlsZSwgb3V0cHV0X2RpcikKKy0gICAgICAgICAgICB0 ZW1wbGl0ZSA9IFRlbXBsaXRlKHRlbXBsYXRlX2h0bWxfaW5kZXhfZGF0YSkKKyAgICAgICAgICAg ICBuZXh0TGluayA9IG9lYl9ib29rLnNwaW5lWzBdLmhyZWYKKyAgICAgICAgICAgICBuZXh0TGlu ayA9IHJlbHBhdGgob3V0cHV0X2Rpcitvcy5zZXArbmV4dExpbmssIGRpcm5hbWUob3V0cHV0X2Zp bGUpKQorICAgICAgICAgICAgIGNzc0xpbmsgPSByZWxwYXRoKGFic3BhdGgoY3NzX3BhdGgpLCBk aXJuYW1lKG91dHB1dF9maWxlKSkKKyAgICAgICAgICAgICB0b2NVcmwgPSByZWxwYXRoKG91dHB1 dF9maWxlLCBkaXJuYW1lKG91dHB1dF9maWxlKSkKKy0gICAgICAgICAgICB0ID0gdGVtcGxpdGUu cmVuZGVyKGhhc190b2M9Ym9vbChvZWJfYm9vay50b2MuY291bnQoKSksCistICAgICAgICAgICAg ICAgICAgICB0b2M9aHRtbF90b2MsIG1ldGE9bWV0YSwgbmV4dExpbms9bmV4dExpbmssCistICAg ICAgICAgICAgICAgICAgICB0b2NVcmw9dG9jVXJsLCBjc3NMaW5rPWNzc0xpbmssCistICAgICAg ICAgICAgICAgICAgICBmaXJzdENvbnRlbnRQYWdlTGluaz1uZXh0TGluaykKKysgICAgICAgICAg ICB0b2NfYXNfaHRtbCA9IHNlbGYuZ2VuZXJhdGVfaHRtbF90b2Mob2ViX2Jvb2ssIG91dHB1dF9m aWxlLCBvdXRwdXRfZGlyKSBpZiBoYXNfdG9jIGVsc2UgJycKKysgICAgICAgICAgICB2ID0gYmFz aWNfdGVtcGxhdGVfdmFycy5jb3B5KCkKKysgICAgICAgICAgICB2LnVwZGF0ZSh7CisrICAgICAg ICAgICAgICAgICd0b2MnOiB0b2NfYXNfaHRtbCwgJ2Nzc19saW5rJzogY3NzTGluaywgJ3RvY191 cmwnOiB0b2NVcmwsICduZXh0X2xpbmsnOiBuZXh0TGluaywKKysgICAgICAgICAgICAgICAgJ2Zp cnN0X2NvbnRlbnRfcGFnZV9saW5rJzogbmV4dExpbmssCisrICAgICAgICAgICAgfSkKKysgICAg ICAgICAgICB0ID0gcHlzdGFjaGUucmVuZGVyKHRlbXBsYXRlX2h0bWxfaW5kZXgsIHYpCisgICAg ICAgICAgICAgaWYgaXNpbnN0YW5jZSh0LCBzdHIpOgorICAgICAgICAgICAgICAgICB0ID0gdC5l bmNvZGUoJ3V0Zi04JykKKyAgICAgICAgICAgICBmLndyaXRlKHQpCitAQCAtMTk3LDE3ICsyMTEs MTggQEAgY2xhc3MgSFRNTE91dHB1dChPdXRwdXRGb3JtYXRQbHVnaW4pOgorICAgICAgICAgICAg ICAgICBmaXJzdENvbnRlbnRQYWdlTGluayA9IG9lYl9ib29rLnNwaW5lWzBdLmhyZWYKKyAKKyAg ICAgICAgICAgICAgICAgIyByZW5kZXIgdGVtcGxhdGUKKy0gICAgICAgICAgICAgICAgdGVtcGxp dGUgPSBUZW1wbGl0ZSh0ZW1wbGF0ZV9odG1sX2RhdGEpCistCisgICAgICAgICAgICAgICAgIGRl ZiB0b2MoKToKKy0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmdlbmVyYXRlX2h0bWxf dG9jKG9lYl9ib29rLCBwYXRoLCBvdXRwdXRfZGlyKQorLSAgICAgICAgICAgICAgICB0ID0gdGVt cGxpdGUucmVuZGVyKGVib29rQ29udGVudD1lYm9va19jb250ZW50LAorLSAgICAgICAgICAgICAg ICAgICAgICAgIHByZXZMaW5rPXByZXZMaW5rLCBuZXh0TGluaz1uZXh0TGluaywKKy0gICAgICAg ICAgICAgICAgICAgICAgICBoYXNfdG9jPWJvb2wob2ViX2Jvb2sudG9jLmNvdW50KCkpLCB0b2M9 dG9jLAorLSAgICAgICAgICAgICAgICAgICAgICAgIHRvY1VybD10b2NVcmwsIGhlYWRfY29udGVu dD1oZWFkX2NvbnRlbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgbWV0YT1tZXRhLCBjc3NM aW5rPWNzc0xpbmssCistICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RDb250ZW50UGFnZUxp bms9Zmlyc3RDb250ZW50UGFnZUxpbmspCistCisrICAgICAgICAgICAgICAgICAgICByZXR1cm4K KysgICAgICAgICAgICAgICAgdG9jX2FzX2h0bWwgPSBzZWxmLmdlbmVyYXRlX2h0bWxfdG9jKG9l Yl9ib29rLCBwYXRoLCBvdXRwdXRfZGlyKSBpZiBoYXNfdG9jIGVsc2UgJycKKysgICAgICAgICAg ICAgICAgdiA9IGJhc2ljX3RlbXBsYXRlX3ZhcnMuY29weSgpCisrICAgICAgICAgICAgICAgIHYu dXBkYXRlKHsKKysgICAgICAgICAgICAgICAgICAgICdoYXNfbGluayc6IHByZXZMaW5rIG9yIG5l eHRMaW5rLAorKyAgICAgICAgICAgICAgICAgICAgJ3ByZXZfbGluayc6IHByZXZMaW5rLCAnbmV4 dF9saW5rJzogbmV4dExpbmssICd0b2NfdXJsJzogdG9jVXJsLAorKyAgICAgICAgICAgICAgICAg ICAgJ2hlYWRfY29udGVudCc6IGhlYWRfY29udGVudCwgJ2Vib29rX2NvbnRlbnQnOiBlYm9va19j b250ZW50LAorKyAgICAgICAgICAgICAgICAgICAgJ2Nzc19saW5rJzogY3NzTGluaywgJ3RvYyc6 IHRvY19hc19odG1sLAorKyAgICAgICAgICAgICAgICAgICAgJ2ZpcnN0X2NvbnRlbnRfcGFnZV9s aW5rJzogZmlyc3RDb250ZW50UGFnZUxpbmssCisrICAgICAgICAgICAgICAgIH0pCisrICAgICAg ICAgICAgICAgIHQgPSBweXN0YWNoZS5yZW5kZXIodGVtcGxhdGVfaHRtbCwgdikKKyAgICAgICAg ICAgICAgICAgIyB3cml0ZSBodG1sIHRvIGZpbGUKKyAgICAgICAgICAgICAgICAgd2l0aCBvcGVu KHBhdGgsICd3YicpIGFzIGY6CisgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKHQuZW5jb2Rl KCd1dGYtOCcpKQorZGlmZiAtLWdpdCBhL3NyYy90ZW1wbGl0ZS9fX2luaXRfXy5weSBiL3NyYy90 ZW1wbGl0ZS9fX2luaXRfXy5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA4NzIz ZDBkLi4wMDAwMDAwCistLS0gYS9zcmMvdGVtcGxpdGUvX19pbml0X18ucHkKKysrKyAvZGV2L251 bGwKK0BAIC0xLDk2ICswLDAgQEAKKy0jIS91c3IvYmluL2VudiBweXRob24KKy0jCistIyAgICAg ICBUZW1wbGl0ZSsKKy0jICAgICAgIEEgbGlnaHQtd2VpZ2h0LCBmdWxseSBmdW5jdGlvbmFsLCBn ZW5lcmFsIHB1cnBvc2UgdGVtcGxhdGluZyBlbmdpbmUKKy0jCistIyAgICAgICBDb3B5cmlnaHQg KGMpIDIwMDkgam9vbmlzIG5ldyBtZWRpYQorLSMgICAgICAgQXV0aG9yOiBUaGltbyBLcmFlbWVy IDx0aGltby5rcmFlbWVyQGpvb25pcy5kZT4KKy0jCistIyAgICAgICBCYXNlZCBvbiBUZW1wbGl0 ZSAtIFRvbWVyIEZpbGliYQorLSMgICAgICAgaHR0cDovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3Jl Y2lwZXMvNDk2NzAyLworLSMKKy0jICAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyAgICAgICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorLSMgICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy0jICAgICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCistIworLSMgICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistIyAgICAgICBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSMgICAg ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorLSMgICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKy0jCistIyAgICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgICAgICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0jICAgICAgIEZvdW5k YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKy0j ICAgICAgIE1BIDAyMTEwLTEzMDEsIFVTQS4KKy0jCistCistaW1wb3J0IHJlCistaW1wb3J0IHN5 cworLQorLWZyb20gcG9seWdsb3QuYnVpbHRpbnMgaW1wb3J0IHVuaWNvZGVfdHlwZQorLQorLQor LWNsYXNzIFRlbXBsaXRlOgorLSAgICBhdXRvX2VtaXQgPSByZS5jb21waWxlKHInJycoXlsnIl0p fCheW2EtekEtWjAtOV9bXF0nIl0rJCknJycpCistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0 ZW1wbGF0ZSwgc3RhcnQ9JyR7JywgZW5kPSd9JCcpOgorLSAgICAgICAgaWYgbGVuKHN0YXJ0KSAh PSAyIG9yIGxlbihlbmQpICE9IDI6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignZWFj aCBkZWxpbWl0ZXIgbXVzdCBiZSB0d28gY2hhcmFjdGVycyBsb25nJykKKy0gICAgICAgIGRlbGlt aXRlciA9IHJlLmNvbXBpbGUoJyVzKC4qPyklcycgJSAocmUuZXNjYXBlKHN0YXJ0KSwgcmUuZXNj YXBlKGVuZCkpLCByZS5ET1RBTEwpCistICAgICAgICBvZmZzZXQgPSAwCistICAgICAgICB0b2tl bnMgPSBbXQorLSAgICAgICAgZm9yIGksIHBhcnQgaW4gZW51bWVyYXRlKGRlbGltaXRlci5zcGxp dCh0ZW1wbGF0ZSkpOgorLSAgICAgICAgICAgIHBhcnQgPSBwYXJ0LnJlcGxhY2UoJ1xcJy5qb2lu KGxpc3Qoc3RhcnQpKSwgc3RhcnQpCistICAgICAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgn XFwnLmpvaW4obGlzdChlbmQpKSwgZW5kKQorLSAgICAgICAgICAgIGlmIGkgJSAyID09IDA6Cist ICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0OgorLSAgICAgICAgICAgICAgICAgICAgY29udGlu dWUKKy0gICAgICAgICAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgnXFwnLCAnXFxcXCcpLnJl cGxhY2UoJyInLCAnXFwiJykKKy0gICAgICAgICAgICAgICAgcGFydCA9ICdcdCcgKiBvZmZzZXQg KyAnZW1pdCgiIiIlcyIiIiknICUgcGFydAorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAg ICAgICAgIHBhcnQgPSBwYXJ0LnJzdHJpcCgpCistICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0 OgorLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICAgICAgaWYgcGFy dC5sc3RyaXAoKS5zdGFydHN3aXRoKCc6Jyk6CistICAgICAgICAgICAgICAgICAgICBpZiBub3Qg b2Zmc2V0OgorLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFN5bnRheEVycm9yKCdubyBi bG9jayBzdGF0ZW1lbnQgdG8gdGVybWluYXRlOiAkeyVzfSQnICUgcGFydCkKKy0gICAgICAgICAg ICAgICAgICAgIG9mZnNldCAtPSAxCistICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gcGFydC5s c3RyaXAoKVsxOl0KKy0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0LmVuZHN3aXRoKCc6 Jyk6CistICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICAgICAg ZWxpZiBzZWxmLmF1dG9fZW1pdC5tYXRjaChwYXJ0LmxzdHJpcCgpKToKKy0gICAgICAgICAgICAg ICAgICAgIHBhcnQgPSAnZW1pdCglcyknICUgcGFydC5sc3RyaXAoKQorLSAgICAgICAgICAgICAg ICBsaW5lcyA9IHBhcnQuc3BsaXRsaW5lcygpCistICAgICAgICAgICAgICAgIG1hcmdpbiA9IG1p bihsZW4obCkgLSBsZW4obC5sc3RyaXAoKSkgZm9yIGwgaW4gbGluZXMgaWYgbC5zdHJpcCgpKQor LSAgICAgICAgICAgICAgICBwYXJ0ID0gJ1xuJy5qb2luKCdcdCcgKiBvZmZzZXQgKyBsW21hcmdp bjpdIGZvciBsIGluIGxpbmVzKQorLSAgICAgICAgICAgICAgICBpZiBwYXJ0LmVuZHN3aXRoKCc6 Jyk6CistICAgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gMQorLSAgICAgICAgICAgIHRva2Vu cy5hcHBlbmQocGFydCkKKy0gICAgICAgIGlmIG9mZnNldDoKKy0gICAgICAgICAgICByYWlzZSBT eW50YXhFcnJvcignJWkgYmxvY2sgc3RhdGVtZW50KHMpIG5vdCB0ZXJtaW5hdGVkJyAlIG9mZnNl dCkKKy0gICAgICAgIHNlbGYuX19jb2RlID0gY29tcGlsZSgnXG4nLmpvaW4odG9rZW5zKSwgJzx0 ZW1wbGl0ZSAlcj4nICUgdGVtcGxhdGVbOjIwXSwgJ2V4ZWMnKQorLQorLSAgICBkZWYgcmVuZGVy KHNlbGYsIF9fbmFtZXNwYWNlPU5vbmUsICoqa3cpOgorLSAgICAgICAgIiIiCistICAgICAgICBy ZW5kZXJzIHRoZSB0ZW1wbGF0ZSBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIG5hbWVzcGFjZS4KKy0g ICAgICAgIF9fbmFtZXNwYWNlIC0gYSBkaWN0aW9uYXJ5IHNlcnZpbmcgYXMgYSBuYW1lc3BhY2Ug Zm9yIGV2YWx1YXRpb24KKy0gICAgICAgICoqa3cgLSBrZXl3b3JkIGFyZ3VtZW50cyB3aGljaCBh cmUgYWRkZWQgdG8gdGhlIG5hbWVzcGFjZQorLSAgICAgICAgIiIiCistICAgICAgICBuYW1lc3Bh Y2UgPSB7fQorLSAgICAgICAgaWYgX19uYW1lc3BhY2U6CistICAgICAgICAgICAgbmFtZXNwYWNl LnVwZGF0ZShfX25hbWVzcGFjZSkKKy0gICAgICAgIGlmIGt3OgorLSAgICAgICAgICAgIG5hbWVz cGFjZS51cGRhdGUoa3cpCistICAgICAgICBuYW1lc3BhY2VbJ2VtaXQnXSA9IHNlbGYud3JpdGUK Ky0KKy0gICAgICAgIF9fc3Rkb3V0ID0gc3lzLnN0ZG91dAorLSAgICAgICAgc3lzLnN0ZG91dCA9 IHNlbGYKKy0gICAgICAgIHNlbGYuX19vdXRwdXQgPSBbXQorLSAgICAgICAgZXZhbChzZWxmLl9f Y29kZSwgbmFtZXNwYWNlKQorLSAgICAgICAgc3lzLnN0ZG91dCA9IF9fc3Rkb3V0CistICAgICAg ICByZXR1cm4gJycuam9pbihzZWxmLl9fb3V0cHV0KQorLQorLSAgICBkZWYgd3JpdGUoc2VsZiwg KmFyZ3MpOgorLSAgICAgICAgZm9yIGEgaW4gYXJnczoKKy0gICAgICAgICAgICBzZWxmLl9fb3V0 cHV0LmFwcGVuZCh1bmljb2RlX3R5cGUoYSkpCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2RzL2Rl Ymlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3Vy ZS1pbWFnZXMtYXJlLWV4dHJhY3RlZC5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRj aGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1pbWFnZXMt YXJlLWV4dHJhY3RlZC5wYXRjaAotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91 cHN0cmVhbS8wMDg2LUNWRS0yMDI2LTI2MDY0LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1l eHRyYWN0ZWQucGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysrIGNh bGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4Ni1DVkUtMjAyNi0yNjA2 NC1PRFQtSW5wdXQtRW5zdXJlLWltYWdlcy1hcmUtZXh0cmFjdGVkLnBhdGNoCTE5NzAtMDEtMDEg MDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDM2ICswLDAgQEAKLUZyb206IEtvdmlkIEdv eWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IFRodSwgMTIgRmViIDIwMjYgMTA6MTU6 NTcgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTI2MDY0OiBPRFQgSW5wdXQ6IEVuc3VyZSBpbWFn ZXMgYXJlIGV4dHJhY3RlZCB3aXRoaW4KLSBjb250YWluZXIKLQotRm9yd2FyZGVkOiBub3QtbmVl ZGVkCi1CdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkv YWR2aXNvcmllcy9HSFNBLTcyY2gtM2hxYy1wZ21wCi1PcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNv bS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0L2UxYjVmOWI0NWE1ZThmYTk2YzEzNjk2M2FkOWEx ZDM1ZTZhZGFjNjIKLQotU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21s QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9jYWxpYnJlL2Vib29rcy9vZHQvaW5wdXQucHkgfCA4ICsr KysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQot Ci1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvZWJvb2tzL29kdC9pbnB1dC5weSBiL3NyYy9jYWxp YnJlL2Vib29rcy9vZHQvaW5wdXQucHkKLWluZGV4IGQyZGEyZTEuLjBkYWEyOTggMTAwNjQ0Ci0t LS0gYS9zcmMvY2FsaWJyZS9lYm9va3Mvb2R0L2lucHV0LnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9l Ym9va3Mvb2R0L2lucHV0LnB5Ci1AQCAtMjgsMTAgKzI4LDE2IEBAIGNsYXNzIEV4dHJhY3QoT0RG MlhIVE1MKToKLSAgICAgZGVmIGV4dHJhY3RfcGljdHVyZXMoc2VsZiwgemYpOgotICAgICAgICAg aWYgbm90IG9zLnBhdGguZXhpc3RzKCdQaWN0dXJlcycpOgotICAgICAgICAgICAgIG9zLm1ha2Vk aXJzKCdQaWN0dXJlcycpCi0rICAgICAgICBiYXNlID0gb3MucGF0aC5hYnNwYXRoKG9zLmdldGN3 ZCgpKQotKyAgICAgICAgaWYgbm90IGJhc2UuZW5kc3dpdGgob3Muc2VwKToKLSsgICAgICAgICAg ICBiYXNlICs9IG9zLnNlcAotICAgICAgICAgZm9yIG5hbWUgaW4gemYubmFtZWxpc3QoKToKLSAg ICAgICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoJ1BpY3R1cmVzJykgYW5kIG5hbWUgbm90IGlu IHsnUGljdHVyZXMnLCAnUGljdHVyZXMvJ306Ci0rICAgICAgICAgICAgICAgIGRlc3QgPSBvcy5w YXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2UsIG5hbWUpKQotKyAgICAgICAgICAgICAgICBp ZiBvcy5wYXRoLmNvbW1vbnByZWZpeChbYmFzZSwgZGVzdF0pICE9IGRlc3Q6Ci0rICAgICAgICAg ICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICBkYXRhID0gemYucmVhZChuYW1l KQotLSAgICAgICAgICAgICAgICB3aXRoIG9wZW4obmFtZSwgJ3diJykgYXMgZjoKLSsgICAgICAg ICAgICAgICAgd2l0aCBvcGVuKGRlc3QsICd3YicpIGFzIGY6Ci0gICAgICAgICAgICAgICAgICAg ICBmLndyaXRlKGRhdGEpCi0gCi0gICAgIGRlZiBhcHBseV9saXN0X3N0YXJ0cyhzZWxmLCByb290 LCBsb2cpOgpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVh bS8wMDg3LUNWRS0yMDI2LTI2MDY0LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0 ZWQucGF0Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg3LUNW RS0yMDI2LTI2MDY0LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0ZWQucGF0Y2gK LS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4Ny1DVkUtMjAy Ni0yNjA2NC1PRFQtSW5wdXQtRW5zdXJlLWltYWdlcy1hcmUtZXh0cmFjdGVkLnBhdGNoCTE5NzAt MDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlh bi9wYXRjaGVzL3Vwc3RyZWFtLzAwODctQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1p bWFnZXMtYXJlLWV4dHJhY3RlZC5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCAr MDkwMApAQCAtMCwwICsxLDM2IEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lh bC5uZXQ+CitEYXRlOiBUaHUsIDEyIEZlYiAyMDI2IDEwOjE1OjU3ICswNTMwCitTdWJqZWN0OiBD VkUtMjAyNi0yNjA2NDogT0RUIElucHV0OiBFbnN1cmUgaW1hZ2VzIGFyZSBleHRyYWN0ZWQgd2l0 aGluCisgY29udGFpbmVyCisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQnVnOiBodHRwczovL2dp dGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS03MmNo LTNocWMtcGdtcAorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJl L2NvbW1pdC9lMWI1ZjliNDVhNWU4ZmE5NmMxMzY5NjNhZDlhMWQzNWU2YWRhYzYyCisKK1NpZ25l ZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+CistLS0KKyBz cmMvY2FsaWJyZS9lYm9va3Mvb2R0L2lucHV0LnB5IHwgOCArKysrKysrLQorIDEgZmlsZSBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9j YWxpYnJlL2Vib29rcy9vZHQvaW5wdXQucHkgYi9zcmMvY2FsaWJyZS9lYm9va3Mvb2R0L2lucHV0 LnB5CitpbmRleCBkMmRhMmUxLi4wZGFhMjk4IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvZWJv b2tzL29kdC9pbnB1dC5weQorKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL29kdC9pbnB1dC5weQor QEAgLTI4LDEwICsyOCwxNiBAQCBjbGFzcyBFeHRyYWN0KE9ERjJYSFRNTCk6CisgICAgIGRlZiBl eHRyYWN0X3BpY3R1cmVzKHNlbGYsIHpmKToKKyAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0 cygnUGljdHVyZXMnKToKKyAgICAgICAgICAgICBvcy5tYWtlZGlycygnUGljdHVyZXMnKQorKyAg ICAgICAgYmFzZSA9IG9zLnBhdGguYWJzcGF0aChvcy5nZXRjd2QoKSkKKysgICAgICAgIGlmIG5v dCBiYXNlLmVuZHN3aXRoKG9zLnNlcCk6CisrICAgICAgICAgICAgYmFzZSArPSBvcy5zZXAKKyAg ICAgICAgIGZvciBuYW1lIGluIHpmLm5hbWVsaXN0KCk6CisgICAgICAgICAgICAgaWYgbmFtZS5z dGFydHN3aXRoKCdQaWN0dXJlcycpIGFuZCBuYW1lIG5vdCBpbiB7J1BpY3R1cmVzJywgJ1BpY3R1 cmVzLyd9OgorKyAgICAgICAgICAgICAgICBkZXN0ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGgu am9pbihiYXNlLCBuYW1lKSkKKysgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5jb21tb25wcmVm aXgoW2Jhc2UsIGRlc3RdKSAhPSBkZXN0OgorKyAgICAgICAgICAgICAgICAgICAgY29udGludWUK KyAgICAgICAgICAgICAgICAgZGF0YSA9IHpmLnJlYWQobmFtZSkKKy0gICAgICAgICAgICAgICAg d2l0aCBvcGVuKG5hbWUsICd3YicpIGFzIGY6CisrICAgICAgICAgICAgICAgIHdpdGggb3Blbihk ZXN0LCAnd2InKSBhcyBmOgorICAgICAgICAgICAgICAgICAgICAgZi53cml0ZShkYXRhKQorIAor ICAgICBkZWYgYXBwbHlfbGlzdF9zdGFydHMoc2VsZiwgcm9vdCwgbG9nKToKZGlmZiAtTnJ1IGNh bGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4Ny1DVkUtMjAyNi0yNjA2 NS1QREItSW5wdXQtRW5zdXJlLWV4dHJhY3RlZC1pbWFnZXMtYXJlLnBhdGNoIGNhbGlicmUtOC41 LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4Ny1DVkUtMjAyNi0yNjA2NS1QREItSW5w dXQtRW5zdXJlLWV4dHJhY3RlZC1pbWFnZXMtYXJlLnBhdGNoCi0tLSBjYWxpYnJlLTguNS4wK2Rz L2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODctQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVu c3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFyZS5wYXRjaAkyMDI2LTA1LTI1IDA4OjE5OjUzLjAwMDAw MDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8w MDg3LUNWRS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFjdGVkLWltYWdlcy1hcmUu cGF0Y2gJMTk3MC0wMS0wMSAwOTowMDowMC4wMDAwMDAwMDAgKzA5MDAKQEAgLTEsMTIwICswLDAg QEAKLUZyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IFRodSwg MTIgRmViIDIwMjYgMTA6MzE6NTMgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTI2MDY1OiBQREIg SW5wdXQ6IEVuc3VyZSBleHRyYWN0ZWQgaW1hZ2VzIGFyZSB3aXRoaW4gdGhlCi0gY29udGFpbmVy Ci0KLUZvcndhcmRlZDogbm90LW5lZWRlZAotQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRn b3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS12bWZoLTdtcjctcHAydwotT3Jp Z2luOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2NvbW1pdC9iNmRhMWMz ODc4YzA2ZWIxMzU2Y2IwZWMxMTA2Y2I2NmUwZTliZmI4Ci0KLVNpZ25lZC1vZmYtYnk6IFlPS09U QSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvY2FsaWJyZS9lYm9v a3MvcGRiL2VyZWFkZXIvcmVhZGVyMTMyLnB5IHwgMjcgKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tCi0gc3JjL2NhbGlicmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjIwMi5weSB8IDI1ICsr KysrKysrKysrKysrKysrKy0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMo KyksIDE1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvZWJvb2tzL3Bk Yi9lcmVhZGVyL3JlYWRlcjEzMi5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9y ZWFkZXIxMzIucHkKLWluZGV4IGE5MmZhM2QuLmY4YzkyODQgMTAwNjQ0Ci0tLS0gYS9zcmMvY2Fs aWJyZS9lYm9va3MvcGRiL2VyZWFkZXIvcmVhZGVyMTMyLnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9l Ym9va3MvcGRiL2VyZWFkZXIvcmVhZGVyMTMyLnB5Ci1AQCAtOTAsNiArOTAsMTUgQEAgY2xhc3Mg UmVhZGVyMTMyKEZvcm1hdFJlYWRlcik6Ci0gICAgICAgICBpbWcgPSBkYXRhWzYyOl0KLSAgICAg ICAgIHJldHVybiBuYW1lLCBpbWcKLSAKLSsgICAgZGVmIGltYWdlX2Rlc3Qoc2VsZiwgbmFtZSwg Y3dkKToKLSsgICAgICAgIGJhc2UgPSBvcy5wYXRoLmFic3BhdGgoY3dkKQotKyAgICAgICAgaWYg bm90IGJhc2UuZW5kc3dpdGgob3Muc2VwKToKLSsgICAgICAgICAgICBiYXNlICs9IG9zLnNlcAot KyAgICAgICAgYW5zID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihiYXNlLCBuYW1lKSkK LSsgICAgICAgIGlmIG9zLnBhdGguY29tbW9ucHJlZml4KFthbnMsIGJhc2VdKSAhPSBiYXNlOgot KyAgICAgICAgICAgIGFucyA9ICcnCi0rICAgICAgICByZXR1cm4gYW5zCi0rCi0gICAgIGRlZiBn ZXRfdGV4dF9wYWdlKHNlbGYsIG51bWJlcik6Ci0gICAgICAgICAnJycKLSAgICAgICAgIE9ubHkg cGFsbWRvYyBhbmQgemxpYiBjb21wcmVzc2VkIGFyZSBzdXBwb3J0ZWQuIFRoZSB0ZXh0IGlzCi1A QCAtMTU2LDEzICsxNjUsMTQgQEAgY2xhc3MgUmVhZGVyMTMyKEZvcm1hdFJlYWRlcik6Ci0gICAg ICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKG91dHB1dF9kaXIsICdpbWFn ZXMvJykpOgotICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguam9pbihvdXRwdXRfZGly LCAnaW1hZ2VzLycpKQotICAgICAgICAgaW1hZ2VzID0gW10KLS0gICAgICAgIHdpdGggQ3VycmVu dERpcihvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgJ2ltYWdlcy8nKSk6Ci0rICAgICAgICB3aXRo IEN1cnJlbnREaXIob3MucGF0aC5qb2luKG91dHB1dF9kaXIsICdpbWFnZXMvJykpIGFzIGN3ZDoK LSAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLmhlYWRlcl9yZWNvcmQubnVtX2ltYWdl X3BhZ2VzKToKLSAgICAgICAgICAgICAgICAgbmFtZSwgaW1nID0gc2VsZi5nZXRfaW1hZ2Uoc2Vs Zi5oZWFkZXJfcmVjb3JkLmltYWdlX2RhdGFfb2Zmc2V0ICsgaSkKLS0gICAgICAgICAgICAgICAg aW1hZ2VzLmFwcGVuZChuYW1lKQotLSAgICAgICAgICAgICAgICB3aXRoIG9wZW4obmFtZSwgJ3di JykgYXMgaW1nZjoKLS0gICAgICAgICAgICAgICAgICAgIHNlbGYubG9nLmRlYnVnKGYnV3JpdGlu ZyBpbWFnZSB7bmFtZX0gdG8gaW1hZ2VzLycpCi0tICAgICAgICAgICAgICAgICAgICBpbWdmLndy aXRlKGltZykKLSsgICAgICAgICAgICAgICAgaWYgZGVzdCA6PSBzZWxmLmltYWdlX2Rlc3QobmFt ZSwgY3dkKToKLSsgICAgICAgICAgICAgICAgICAgIGltYWdlcy5hcHBlbmQobmFtZSkKLSsgICAg ICAgICAgICAgICAgICAgIHdpdGggb3BlbihkZXN0LCAnd2InKSBhcyBpbWdmOgotKyAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYubG9nLmRlYnVnKGYnV3JpdGluZyBpbWFnZSB7bmFtZX0gdG8g aW1hZ2VzLycpCi0rICAgICAgICAgICAgICAgICAgICAgICAgaW1nZi53cml0ZShpbWcpCi0gCi0g ICAgICAgICBvcGZfcGF0aCA9IHNlbGYuY3JlYXRlX29wZihvdXRwdXRfZGlyLCBpbWFnZXMsIHRv YykKLSAKLUBAIC0yMDksOCArMjE5LDkgQEAgY2xhc3MgUmVhZGVyMTMyKEZvcm1hdFJlYWRlcik6 Ci0gICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3V0cHV0X2Rpcik6Ci0gICAgICAgICAg ICAgb3MubWFrZWRpcnMob3V0cHV0X2RpcikKLSAKLS0gICAgICAgIHdpdGggQ3VycmVudERpcihv dXRwdXRfZGlyKToKLSsgICAgICAgIHdpdGggQ3VycmVudERpcihvdXRwdXRfZGlyKSBhcyBjd2Q6 Ci0gICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5oZWFkZXJfcmVjb3JkLm51bV9pbWFn ZV9wYWdlcyk6Ci0gICAgICAgICAgICAgICAgIG5hbWUsIGltZyA9IHNlbGYuZ2V0X2ltYWdlKHNl bGYuaGVhZGVyX3JlY29yZC5pbWFnZV9kYXRhX29mZnNldCArIGkpCi0tICAgICAgICAgICAgICAg IHdpdGggb3BlbihuYW1lLCAnd2InKSBhcyBpbWdmOgotLSAgICAgICAgICAgICAgICAgICAgaW1n Zi53cml0ZShpbWcpCi0rICAgICAgICAgICAgICAgIGlmIGRlc3QgOj0gc2VsZi5pbWFnZV9kZXN0 KG5hbWUsIGN3ZCk6Ci0rICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oZGVzdCwgJ3diJykg YXMgaW1nZjoKLSsgICAgICAgICAgICAgICAgICAgICAgICBpbWdmLndyaXRlKGltZykKLWRpZmYg LS1naXQgYS9zcmMvY2FsaWJyZS9lYm9va3MvcGRiL2VyZWFkZXIvcmVhZGVyMjAyLnB5IGIvc3Jj L2NhbGlicmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjIwMi5weQotaW5kZXggMjU5YmZlMC4u ZDIzMzA3MiAxMDA2NDQKLS0tLSBhL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9yZWFk ZXIyMDIucHkKLSsrKyBiL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9yZWFkZXIyMDIu cHkKLUBAIC0xMDgsMTMgKzEwOCwxMyBAQCBjbGFzcyBSZWFkZXIyMDIoRm9ybWF0UmVhZGVyKToK LSAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4ob3V0cHV0X2Rpciwg J2ltYWdlcy8nKSk6Ci0gICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5qb2luKG91dHB1 dF9kaXIsICdpbWFnZXMvJykpCi0gICAgICAgICBpbWFnZXMgPSBbXQotLSAgICAgICAgd2l0aCBD dXJyZW50RGlyKG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCAnaW1hZ2VzLycpKToKLSsgICAgICAg IHdpdGggQ3VycmVudERpcihvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgJ2ltYWdlcy8nKSkgYXMg Y3dkOgotICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYuaGVhZGVyX3JlY29yZC5ub25f dGV4dF9vZmZzZXQsIGxlbihzZWxmLnNlY3Rpb25zKSk6Ci0gICAgICAgICAgICAgICAgIG5hbWUs IGltZyA9IHNlbGYuZ2V0X2ltYWdlKGkpCi0tICAgICAgICAgICAgICAgIGlmIG5hbWU6Ci0tICAg ICAgICAgICAgICAgICAgICBuYW1lID0gYXNfdW5pY29kZShuYW1lKQotKyAgICAgICAgICAgICAg ICBuYW1lID0gYXNfdW5pY29kZShuYW1lIG9yIGInJykKLSsgICAgICAgICAgICAgICAgaWYgbmFt ZSBhbmQgKGRlc3QgOj0gc2VsZi5pbWFnZV9kZXN0KG5hbWUsIGN3ZCkpOgotICAgICAgICAgICAg ICAgICAgICAgaW1hZ2VzLmFwcGVuZChuYW1lKQotLSAgICAgICAgICAgICAgICAgICAgd2l0aCBv cGVuKG5hbWUsICd3YicpIGFzIGltZ2Y6Ci0rICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4o ZGVzdCwgJ3diJykgYXMgaW1nZjoKLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZy5k ZWJ1ZyhmJ1dyaXRpbmcgaW1hZ2Uge25hbWV9IHRvIGltYWdlcy8nKQotICAgICAgICAgICAgICAg ICAgICAgICAgIGltZ2Yud3JpdGUoaW1nKQotIAotQEAgLTE1MCw2ICsxNTAsMTUgQEAgY2xhc3Mg UmVhZGVyMjAyKEZvcm1hdFJlYWRlcik6Ci0gCi0gICAgICAgICByZXR1cm4gcG1sCi0gCi0rICAg IGRlZiBpbWFnZV9kZXN0KHNlbGYsIG5hbWUsIGN3ZCk6Ci0rICAgICAgICBiYXNlID0gb3MucGF0 aC5hYnNwYXRoKGN3ZCkKLSsgICAgICAgIGlmIG5vdCBiYXNlLmVuZHN3aXRoKG9zLnNlcCk6Ci0r ICAgICAgICAgICAgYmFzZSArPSBvcy5zZXAKLSsgICAgICAgIGFucyA9IG9zLnBhdGguYWJzcGF0 aChvcy5wYXRoLmpvaW4oYmFzZSwgbmFtZSkpCi0rICAgICAgICBpZiBvcy5wYXRoLmNvbW1vbnBy ZWZpeChbYW5zLCBiYXNlXSkgIT0gYmFzZToKLSsgICAgICAgICAgICBhbnMgPSAnJwotKyAgICAg ICAgcmV0dXJuIGFucwotKwotICAgICBkZWYgZHVtcF9pbWFnZXMoc2VsZiwgb3V0cHV0X2Rpcik6 Ci0gICAgICAgICAnJycKLSAgICAgICAgIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgZm9yIGRlYnVn Z2luZyBhbmQgM3JkIHBhcnR5IHRvb2xzIHRvCi1AQCAtMTU4LDggKzE2NywxMCBAQCBjbGFzcyBS ZWFkZXIyMDIoRm9ybWF0UmVhZGVyKToKLSAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhv dXRwdXRfZGlyKToKLSAgICAgICAgICAgICBvcy5tYWtlZGlycyhvdXRwdXRfZGlyKQotIAotLSAg ICAgICAgd2l0aCBDdXJyZW50RGlyKG91dHB1dF9kaXIpOgotKyAgICAgICAgd2l0aCBDdXJyZW50 RGlyKG91dHB1dF9kaXIpIGFzIGN3ZDoKLSAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxm LmhlYWRlcl9yZWNvcmQubnVtX2ltYWdlX3BhZ2VzKToKLSAgICAgICAgICAgICAgICAgbmFtZSwg aW1nID0gc2VsZi5nZXRfaW1hZ2Uoc2VsZi5oZWFkZXJfcmVjb3JkLmltYWdlX2RhdGFfb2Zmc2V0 ICsgaSkKLS0gICAgICAgICAgICAgICAgd2l0aCBvcGVuKG5hbWUsICd3YicpIGFzIGltZ2Y6Ci0t ICAgICAgICAgICAgICAgICAgICBpbWdmLndyaXRlKGltZykKLSsgICAgICAgICAgICAgICAgbmFt ZSA9IGFzX3VuaWNvZGUobmFtZSBvciBiJycpCi0rICAgICAgICAgICAgICAgIGlmIG5hbWUgYW5k IChkZXN0IDo9IHNlbGYuaW1hZ2VfZGVzdChuYW1lLCBjd2QpKToKLSsgICAgICAgICAgICAgICAg ICAgIHdpdGggb3BlbihkZXN0LCAnd2InKSBhcyBpbWdmOgotKyAgICAgICAgICAgICAgICAgICAg ICAgIGltZ2Yud3JpdGUoaW1nKQpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0 Y2hlcy91cHN0cmVhbS8wMDg4LUNWRS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFj dGVkLWltYWdlcy1hcmUucGF0Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0 cmVhbS8wMDg4LUNWRS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFjdGVkLWltYWdl cy1hcmUucGF0Y2gKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0v MDA4OC1DVkUtMjAyNi0yNjA2NS1QREItSW5wdXQtRW5zdXJlLWV4dHJhY3RlZC1pbWFnZXMtYXJl LnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTgu NS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODgtQ1ZFLTIwMjYtMjYwNjUtUERCLUlu cHV0LUVuc3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFyZS5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5 LjAwMDAwMDAwMCArMDkwMApAQCAtMCwwICsxLDEyMCBAQAorRnJvbTogS292aWQgR295YWwgPGtv dmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTogVGh1LCAxMiBGZWIgMjAyNiAxMDozMTo1MyArMDUz MAorU3ViamVjdDogQ1ZFLTIwMjYtMjYwNjU6IFBEQiBJbnB1dDogRW5zdXJlIGV4dHJhY3RlZCBp bWFnZXMgYXJlIHdpdGhpbiB0aGUKKyBjb250YWluZXIKKworRm9yd2FyZGVkOiBub3QtbmVlZGVk CitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2 aXNvcmllcy9HSFNBLXZtZmgtN21yNy1wcDJ3CitPcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9r b3ZpZGdveWFsL2NhbGlicmUvY29tbWl0L2I2ZGExYzM4NzhjMDZlYjEzNTZjYjBlYzExMDZjYjY2 ZTBlOWJmYjgKKworU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdt YWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9yZWFkZXIxMzIu cHkgfCAyNyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KKyBzcmMvY2FsaWJyZS9lYm9va3Mv cGRiL2VyZWFkZXIvcmVhZGVyMjAyLnB5IHwgMjUgKysrKysrKysrKysrKysrKysrLS0tLS0tLQor IDIgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9lYm9va3MvcGRiL2VyZWFkZXIvcmVhZGVyMTMyLnB5IGIv c3JjL2NhbGlicmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjEzMi5weQoraW5kZXggYTkyZmEz ZC4uZjhjOTI4NCAxMDA2NDQKKy0tLSBhL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9y ZWFkZXIxMzIucHkKKysrKyBiL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9yZWFkZXIx MzIucHkKK0BAIC05MCw2ICs5MCwxNSBAQCBjbGFzcyBSZWFkZXIxMzIoRm9ybWF0UmVhZGVyKToK KyAgICAgICAgIGltZyA9IGRhdGFbNjI6XQorICAgICAgICAgcmV0dXJuIG5hbWUsIGltZworIAor KyAgICBkZWYgaW1hZ2VfZGVzdChzZWxmLCBuYW1lLCBjd2QpOgorKyAgICAgICAgYmFzZSA9IG9z LnBhdGguYWJzcGF0aChjd2QpCisrICAgICAgICBpZiBub3QgYmFzZS5lbmRzd2l0aChvcy5zZXAp OgorKyAgICAgICAgICAgIGJhc2UgKz0gb3Muc2VwCisrICAgICAgICBhbnMgPSBvcy5wYXRoLmFi c3BhdGgob3MucGF0aC5qb2luKGJhc2UsIG5hbWUpKQorKyAgICAgICAgaWYgb3MucGF0aC5jb21t b25wcmVmaXgoW2FucywgYmFzZV0pICE9IGJhc2U6CisrICAgICAgICAgICAgYW5zID0gJycKKysg ICAgICAgIHJldHVybiBhbnMKKysKKyAgICAgZGVmIGdldF90ZXh0X3BhZ2Uoc2VsZiwgbnVtYmVy KToKKyAgICAgICAgICcnJworICAgICAgICAgT25seSBwYWxtZG9jIGFuZCB6bGliIGNvbXByZXNz ZWQgYXJlIHN1cHBvcnRlZC4gVGhlIHRleHQgaXMKK0BAIC0xNTYsMTMgKzE2NSwxNCBAQCBjbGFz cyBSZWFkZXIxMzIoRm9ybWF0UmVhZGVyKToKKyAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0 cyhvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgJ2ltYWdlcy8nKSk6CisgICAgICAgICAgICAgb3Mu bWFrZWRpcnMob3MucGF0aC5qb2luKG91dHB1dF9kaXIsICdpbWFnZXMvJykpCisgICAgICAgICBp bWFnZXMgPSBbXQorLSAgICAgICAgd2l0aCBDdXJyZW50RGlyKG9zLnBhdGguam9pbihvdXRwdXRf ZGlyLCAnaW1hZ2VzLycpKToKKysgICAgICAgIHdpdGggQ3VycmVudERpcihvcy5wYXRoLmpvaW4o b3V0cHV0X2RpciwgJ2ltYWdlcy8nKSkgYXMgY3dkOgorICAgICAgICAgICAgIGZvciBpIGluIHJh bmdlKHNlbGYuaGVhZGVyX3JlY29yZC5udW1faW1hZ2VfcGFnZXMpOgorICAgICAgICAgICAgICAg ICBuYW1lLCBpbWcgPSBzZWxmLmdldF9pbWFnZShzZWxmLmhlYWRlcl9yZWNvcmQuaW1hZ2VfZGF0 YV9vZmZzZXQgKyBpKQorLSAgICAgICAgICAgICAgICBpbWFnZXMuYXBwZW5kKG5hbWUpCistICAg ICAgICAgICAgICAgIHdpdGggb3BlbihuYW1lLCAnd2InKSBhcyBpbWdmOgorLSAgICAgICAgICAg ICAgICAgICAgc2VsZi5sb2cuZGVidWcoZidXcml0aW5nIGltYWdlIHtuYW1lfSB0byBpbWFnZXMv JykKKy0gICAgICAgICAgICAgICAgICAgIGltZ2Yud3JpdGUoaW1nKQorKyAgICAgICAgICAgICAg ICBpZiBkZXN0IDo9IHNlbGYuaW1hZ2VfZGVzdChuYW1lLCBjd2QpOgorKyAgICAgICAgICAgICAg ICAgICAgaW1hZ2VzLmFwcGVuZChuYW1lKQorKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVu KGRlc3QsICd3YicpIGFzIGltZ2Y6CisrICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2cu ZGVidWcoZidXcml0aW5nIGltYWdlIHtuYW1lfSB0byBpbWFnZXMvJykKKysgICAgICAgICAgICAg ICAgICAgICAgICBpbWdmLndyaXRlKGltZykKKyAKKyAgICAgICAgIG9wZl9wYXRoID0gc2VsZi5j cmVhdGVfb3BmKG91dHB1dF9kaXIsIGltYWdlcywgdG9jKQorIAorQEAgLTIwOSw4ICsyMTksOSBA QCBjbGFzcyBSZWFkZXIxMzIoRm9ybWF0UmVhZGVyKToKKyAgICAgICAgIGlmIG5vdCBvcy5wYXRo LmV4aXN0cyhvdXRwdXRfZGlyKToKKyAgICAgICAgICAgICBvcy5tYWtlZGlycyhvdXRwdXRfZGly KQorIAorLSAgICAgICAgd2l0aCBDdXJyZW50RGlyKG91dHB1dF9kaXIpOgorKyAgICAgICAgd2l0 aCBDdXJyZW50RGlyKG91dHB1dF9kaXIpIGFzIGN3ZDoKKyAgICAgICAgICAgICBmb3IgaSBpbiBy YW5nZShzZWxmLmhlYWRlcl9yZWNvcmQubnVtX2ltYWdlX3BhZ2VzKToKKyAgICAgICAgICAgICAg ICAgbmFtZSwgaW1nID0gc2VsZi5nZXRfaW1hZ2Uoc2VsZi5oZWFkZXJfcmVjb3JkLmltYWdlX2Rh dGFfb2Zmc2V0ICsgaSkKKy0gICAgICAgICAgICAgICAgd2l0aCBvcGVuKG5hbWUsICd3YicpIGFz IGltZ2Y6CistICAgICAgICAgICAgICAgICAgICBpbWdmLndyaXRlKGltZykKKysgICAgICAgICAg ICAgICAgaWYgZGVzdCA6PSBzZWxmLmltYWdlX2Rlc3QobmFtZSwgY3dkKToKKysgICAgICAgICAg ICAgICAgICAgIHdpdGggb3BlbihkZXN0LCAnd2InKSBhcyBpbWdmOgorKyAgICAgICAgICAgICAg ICAgICAgICAgIGltZ2Yud3JpdGUoaW1nKQorZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29r cy9wZGIvZXJlYWRlci9yZWFkZXIyMDIucHkgYi9zcmMvY2FsaWJyZS9lYm9va3MvcGRiL2VyZWFk ZXIvcmVhZGVyMjAyLnB5CitpbmRleCAyNTliZmUwLi5kMjMzMDcyIDEwMDY0NAorLS0tIGEvc3Jj L2NhbGlicmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjIwMi5weQorKysrIGIvc3JjL2NhbGli cmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjIwMi5weQorQEAgLTEwOCwxMyArMTA4LDEzIEBA IGNsYXNzIFJlYWRlcjIwMihGb3JtYXRSZWFkZXIpOgorICAgICAgICAgaWYgbm90IG9zLnBhdGgu ZXhpc3RzKG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCAnaW1hZ2VzLycpKToKKyAgICAgICAgICAg ICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgJ2ltYWdlcy8nKSkKKyAgICAg ICAgIGltYWdlcyA9IFtdCistICAgICAgICB3aXRoIEN1cnJlbnREaXIob3MucGF0aC5qb2luKG91 dHB1dF9kaXIsICdpbWFnZXMvJykpOgorKyAgICAgICAgd2l0aCBDdXJyZW50RGlyKG9zLnBhdGgu am9pbihvdXRwdXRfZGlyLCAnaW1hZ2VzLycpKSBhcyBjd2Q6CisgICAgICAgICAgICAgZm9yIGkg aW4gcmFuZ2Uoc2VsZi5oZWFkZXJfcmVjb3JkLm5vbl90ZXh0X29mZnNldCwgbGVuKHNlbGYuc2Vj dGlvbnMpKToKKyAgICAgICAgICAgICAgICAgbmFtZSwgaW1nID0gc2VsZi5nZXRfaW1hZ2UoaSkK Ky0gICAgICAgICAgICAgICAgaWYgbmFtZToKKy0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBh c191bmljb2RlKG5hbWUpCisrICAgICAgICAgICAgICAgIG5hbWUgPSBhc191bmljb2RlKG5hbWUg b3IgYicnKQorKyAgICAgICAgICAgICAgICBpZiBuYW1lIGFuZCAoZGVzdCA6PSBzZWxmLmltYWdl X2Rlc3QobmFtZSwgY3dkKSk6CisgICAgICAgICAgICAgICAgICAgICBpbWFnZXMuYXBwZW5kKG5h bWUpCistICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4obmFtZSwgJ3diJykgYXMgaW1nZjoK KysgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihkZXN0LCAnd2InKSBhcyBpbWdmOgorICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9nLmRlYnVnKGYnV3JpdGluZyBpbWFnZSB7bmFt ZX0gdG8gaW1hZ2VzLycpCisgICAgICAgICAgICAgICAgICAgICAgICAgaW1nZi53cml0ZShpbWcp CisgCitAQCAtMTUwLDYgKzE1MCwxNSBAQCBjbGFzcyBSZWFkZXIyMDIoRm9ybWF0UmVhZGVyKToK KyAKKyAgICAgICAgIHJldHVybiBwbWwKKyAKKysgICAgZGVmIGltYWdlX2Rlc3Qoc2VsZiwgbmFt ZSwgY3dkKToKKysgICAgICAgIGJhc2UgPSBvcy5wYXRoLmFic3BhdGgoY3dkKQorKyAgICAgICAg aWYgbm90IGJhc2UuZW5kc3dpdGgob3Muc2VwKToKKysgICAgICAgICAgICBiYXNlICs9IG9zLnNl cAorKyAgICAgICAgYW5zID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihiYXNlLCBuYW1l KSkKKysgICAgICAgIGlmIG9zLnBhdGguY29tbW9ucHJlZml4KFthbnMsIGJhc2VdKSAhPSBiYXNl OgorKyAgICAgICAgICAgIGFucyA9ICcnCisrICAgICAgICByZXR1cm4gYW5zCisrCisgICAgIGRl ZiBkdW1wX2ltYWdlcyhzZWxmLCBvdXRwdXRfZGlyKToKKyAgICAgICAgICcnJworICAgICAgICAg VGhpcyBpcyBwcmltYXJpbHkgdXNlZCBmb3IgZGVidWdnaW5nIGFuZCAzcmQgcGFydHkgdG9vbHMg dG8KK0BAIC0xNTgsOCArMTY3LDEwIEBAIGNsYXNzIFJlYWRlcjIwMihGb3JtYXRSZWFkZXIpOgor ICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG91dHB1dF9kaXIpOgorICAgICAgICAgICAg IG9zLm1ha2VkaXJzKG91dHB1dF9kaXIpCisgCistICAgICAgICB3aXRoIEN1cnJlbnREaXIob3V0 cHV0X2Rpcik6CisrICAgICAgICB3aXRoIEN1cnJlbnREaXIob3V0cHV0X2RpcikgYXMgY3dkOgor ICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYuaGVhZGVyX3JlY29yZC5udW1faW1hZ2Vf cGFnZXMpOgorICAgICAgICAgICAgICAgICBuYW1lLCBpbWcgPSBzZWxmLmdldF9pbWFnZShzZWxm LmhlYWRlcl9yZWNvcmQuaW1hZ2VfZGF0YV9vZmZzZXQgKyBpKQorLSAgICAgICAgICAgICAgICB3 aXRoIG9wZW4obmFtZSwgJ3diJykgYXMgaW1nZjoKKy0gICAgICAgICAgICAgICAgICAgIGltZ2Yu d3JpdGUoaW1nKQorKyAgICAgICAgICAgICAgICBuYW1lID0gYXNfdW5pY29kZShuYW1lIG9yIGIn JykKKysgICAgICAgICAgICAgICAgaWYgbmFtZSBhbmQgKGRlc3QgOj0gc2VsZi5pbWFnZV9kZXN0 KG5hbWUsIGN3ZCkpOgorKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGRlc3QsICd3Yicp IGFzIGltZ2Y6CisrICAgICAgICAgICAgICAgICAgICAgICAgaW1nZi53cml0ZShpbWcpCmRpZmYg LU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODgtQ1ZFLTIw MjYtMjc4MTAtQ29udGVudC1zZXJ2ZXItU2FuaXRpemUtY29udGVudC1kaXNwby5wYXRjaCBjYWxp YnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODgtQ1ZFLTIwMjYtMjc4MTAt Q29udGVudC1zZXJ2ZXItU2FuaXRpemUtY29udGVudC1kaXNwby5wYXRjaAotLS0gY2FsaWJyZS04 LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg4LUNWRS0yMDI2LTI3ODEwLUNvbnRl bnQtc2VydmVyLVNhbml0aXplLWNvbnRlbnQtZGlzcG8ucGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1 My4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBz dHJlYW0vMDA4OC1DVkUtMjAyNi0yNzgxMC1Db250ZW50LXNlcnZlci1TYW5pdGl6ZS1jb250ZW50 LWRpc3BvLnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDQx ICswLDAgQEAKLUZyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6 IFR1ZSwgMjQgRmViIDIwMjYgMDk6MDY6MTEgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTI3ODEw OiBDb250ZW50IHNlcnZlcjogU2FuaXRpemUgY29udGVudCBkaXNwb3NpdGlvbgotIHJlY2VpdmVk IGFzIHF1ZXJ5IHBhcmFtZXRlcgotCi1Gb3J3YXJkZWQ6IG5vdC1uZWVkZWQKLUJ1ZzogaHR0cHM6 Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0Et NWZwai1meHc3LThncncKLU9yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2Fs aWJyZS9jb21taXQvYTQ2OGNlMGYyNjgwMzJlZWExZjc0MzE4NTMyNDgxNDhmZmEyZTA2YQotCi1T aWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhnbWxAZ21haWwuY29tPgotLS0t Ci0gc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkgfCA4ICsrKysrKy0tCi0gMSBmaWxlIGNoYW5n ZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9j YWxpYnJlL3Nydi9jb250ZW50LnB5IGIvc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkKLWluZGV4 IGE3ZTRlODkuLjAwOTQ1ODAgMTAwNjQ0Ci0tLS0gYS9zcmMvY2FsaWJyZS9zcnYvY29udGVudC5w eQotKysrIGIvc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkKLUBAIC0yMjEsNyArMjIxLDcgQEAg ZGVmIGJvb2tfZm10KGN0eCwgcmQsIGxpYnJhcnlfaWQsIGRiLCBib29rX2lkLCBmbXQpOgotICAg ICAgICAgICAgIHNldF9tZXRhZGF0YShkZXN0LCBtaSwgZm10KQotICAgICAgICAgICAgIGRlc3Qu c2VlaygwKQotIAotLSAgICBjZCA9IHJkLnF1ZXJ5LmdldCgnY29udGVudF9kaXNwb3NpdGlvbics ICdhdHRhY2htZW50JykKLSsgICAgY2QgPSBzYW5pdGl6ZV9jb250ZW50X2Rpc3Bvc2l0aW9uKHJk LnF1ZXJ5LmdldCgnY29udGVudF9kaXNwb3NpdGlvbicsICdhdHRhY2htZW50JykpCi0gICAgIHJk Lm91dGhlYWRlcnNbJ0NvbnRlbnQtRGlzcG9zaXRpb24nXSA9ICgKLSAgICAgICAgIGYnJyd7Y2R9 OyBmaWxlbmFtZT0ie2Jvb2tfZmlsZW5hbWUocmQsIGJvb2tfaWQsIG1pLCBmbXQpfSI7IGZpbGVu YW1lKj11dGYtOCcne2Jvb2tfZmlsZW5hbWUocmQsIGJvb2tfaWQsIG1pLCBmbXQsIGFzX2VuY29k ZWRfdW5pY29kZT1UcnVlKX0nJycpCi0gCi1AQCAtNTIyLDggKzUyMiwxMiBAQCBkZWYgc2V0X25v dGUoY3R4LCByZCwgZmllbGQsIGl0ZW1faWQsIGxpYnJhcnlfaWQpOgotICAgICByZXR1cm4gc3J2 X2h0bWwKLSAKLSAKLStkZWYgc2FuaXRpemVfY29udGVudF9kaXNwb3NpdGlvbih4OiBzdHIpIC0+ IHN0cjoKLSsgICAgcmV0dXJuIHJlLnN1YihyJ1teYS16QS1aMC05Li8tXScsICctJywgeCkKLSsK LSsKLSBkZWYgZGF0YV9maWxlKHJkLCBmbmFtZSwgcGF0aCwgc3RhdF9yZXN1bHQpOgotLSAgICBj ZCA9IHJkLnF1ZXJ5LmdldCgnY29udGVudF9kaXNwb3NpdGlvbicsICdhdHRhY2htZW50JykKLSsg ICAgY2QgPSBzYW5pdGl6ZV9jb250ZW50X2Rpc3Bvc2l0aW9uKHJkLnF1ZXJ5LmdldCgnY29udGVu dF9kaXNwb3NpdGlvbicsICdhdHRhY2htZW50JykpCi0gICAgIHJkLm91dGhlYWRlcnNbJ0NvbnRl bnQtRGlzcG9zaXRpb24nXSA9ICgKLSAgICAgICAgIGYnJyd7Y2R9OyBmaWxlbmFtZT0ie2ZuYW1l X2Zvcl9jb250ZW50X2Rpc3Bvc2l0aW9uKGZuYW1lKX0iOyBmaWxlbmFtZSo9dXRmLTgnJ3tmbmFt ZV9mb3JfY29udGVudF9kaXNwb3NpdGlvbihmbmFtZSwgYXNfZW5jb2RlZF91bmljb2RlPVRydWUp fScnJykKLSAgICAgcmV0dXJuIHJkLmZpbGVzeXN0ZW1fZmlsZV93aXRoX2N1c3RvbV9ldGFnKHNo YXJlX29wZW4ocGF0aCwgJ3JiJyksIHN0YXRfcmVzdWx0LnN0X2Rldiwgc3RhdF9yZXN1bHQuc3Rf aW5vLCBzdGF0X3Jlc3VsdC5zdF9zaXplLCBzdGF0X3Jlc3VsdC5zdF9tdGltZSkKZGlmZiAtTnJ1 IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0y NzgxMC1Db250ZW50LXNlcnZlci1TYW5pdGl6ZS1jb250ZW50LWRpc3BvLnBhdGNoIGNhbGlicmUt OC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgxMC1Db250 ZW50LXNlcnZlci1TYW5pdGl6ZS1jb250ZW50LWRpc3BvLnBhdGNoCi0tLSBjYWxpYnJlLTguNS4w K2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODktQ1ZFLTIwMjYtMjc4MTAtQ29udGVudC1z ZXJ2ZXItU2FuaXRpemUtY29udGVudC1kaXNwby5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAw MDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVh bS8wMDg5LUNWRS0yMDI2LTI3ODEwLUNvbnRlbnQtc2VydmVyLVNhbml0aXplLWNvbnRlbnQtZGlz cG8ucGF0Y2gJMjAyNi0wOC0wNSAyMzo1NDozOS4wMDAwMDAwMDAgKzA5MDAKQEAgLTAsMCArMSw0 MSBAQAorRnJvbTogS292aWQgR295YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTogVHVl LCAyNCBGZWIgMjAyNiAwOTowNjoxMSArMDUzMAorU3ViamVjdDogQ1ZFLTIwMjYtMjc4MTA6IENv bnRlbnQgc2VydmVyOiBTYW5pdGl6ZSBjb250ZW50IGRpc3Bvc2l0aW9uCisgcmVjZWl2ZWQgYXMg cXVlcnkgcGFyYW1ldGVyCisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQnVnOiBodHRwczovL2dp dGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS01ZnBq LWZ4dzctOGdydworT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJl L2NvbW1pdC9hNDY4Y2UwZjI2ODAzMmVlYTFmNzQzMTg1MzI0ODE0OGZmYTJlMDZhCisKK1NpZ25l ZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+CistLS0KKyBz cmMvY2FsaWJyZS9zcnYvY29udGVudC5weSB8IDggKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NhbGli cmUvc3J2L2NvbnRlbnQucHkgYi9zcmMvY2FsaWJyZS9zcnYvY29udGVudC5weQoraW5kZXggYTdl NGU4OS4uMDA5NDU4MCAxMDA2NDQKKy0tLSBhL3NyYy9jYWxpYnJlL3Nydi9jb250ZW50LnB5Cisr KysgYi9zcmMvY2FsaWJyZS9zcnYvY29udGVudC5weQorQEAgLTIyMSw3ICsyMjEsNyBAQCBkZWYg Ym9va19mbXQoY3R4LCByZCwgbGlicmFyeV9pZCwgZGIsIGJvb2tfaWQsIGZtdCk6CisgICAgICAg ICAgICAgc2V0X21ldGFkYXRhKGRlc3QsIG1pLCBmbXQpCisgICAgICAgICAgICAgZGVzdC5zZWVr KDApCisgCistICAgIGNkID0gcmQucXVlcnkuZ2V0KCdjb250ZW50X2Rpc3Bvc2l0aW9uJywgJ2F0 dGFjaG1lbnQnKQorKyAgICBjZCA9IHNhbml0aXplX2NvbnRlbnRfZGlzcG9zaXRpb24ocmQucXVl cnkuZ2V0KCdjb250ZW50X2Rpc3Bvc2l0aW9uJywgJ2F0dGFjaG1lbnQnKSkKKyAgICAgcmQub3V0 aGVhZGVyc1snQ29udGVudC1EaXNwb3NpdGlvbiddID0gKAorICAgICAgICAgZicnJ3tjZH07IGZp bGVuYW1lPSJ7Ym9va19maWxlbmFtZShyZCwgYm9va19pZCwgbWksIGZtdCl9IjsgZmlsZW5hbWUq PXV0Zi04Jyd7Ym9va19maWxlbmFtZShyZCwgYm9va19pZCwgbWksIGZtdCwgYXNfZW5jb2RlZF91 bmljb2RlPVRydWUpfScnJykKKyAKK0BAIC01MjIsOCArNTIyLDEyIEBAIGRlZiBzZXRfbm90ZShj dHgsIHJkLCBmaWVsZCwgaXRlbV9pZCwgbGlicmFyeV9pZCk6CisgICAgIHJldHVybiBzcnZfaHRt bAorIAorIAorK2RlZiBzYW5pdGl6ZV9jb250ZW50X2Rpc3Bvc2l0aW9uKHg6IHN0cikgLT4gc3Ry OgorKyAgICByZXR1cm4gcmUuc3ViKHInW15hLXpBLVowLTkuLy1dJywgJy0nLCB4KQorKworKwor IGRlZiBkYXRhX2ZpbGUocmQsIGZuYW1lLCBwYXRoLCBzdGF0X3Jlc3VsdCk6CistICAgIGNkID0g cmQucXVlcnkuZ2V0KCdjb250ZW50X2Rpc3Bvc2l0aW9uJywgJ2F0dGFjaG1lbnQnKQorKyAgICBj ZCA9IHNhbml0aXplX2NvbnRlbnRfZGlzcG9zaXRpb24ocmQucXVlcnkuZ2V0KCdjb250ZW50X2Rp c3Bvc2l0aW9uJywgJ2F0dGFjaG1lbnQnKSkKKyAgICAgcmQub3V0aGVhZGVyc1snQ29udGVudC1E aXNwb3NpdGlvbiddID0gKAorICAgICAgICAgZicnJ3tjZH07IGZpbGVuYW1lPSJ7Zm5hbWVfZm9y X2NvbnRlbnRfZGlzcG9zaXRpb24oZm5hbWUpfSI7IGZpbGVuYW1lKj11dGYtOCcne2ZuYW1lX2Zv cl9jb250ZW50X2Rpc3Bvc2l0aW9uKGZuYW1lLCBhc19lbmNvZGVkX3VuaWNvZGU9VHJ1ZSl9Jycn KQorICAgICByZXR1cm4gcmQuZmlsZXN5c3RlbV9maWxlX3dpdGhfY3VzdG9tX2V0YWcoc2hhcmVf b3BlbihwYXRoLCAncmInKSwgc3RhdF9yZXN1bHQuc3RfZGV2LCBzdGF0X3Jlc3VsdC5zdF9pbm8s IHN0YXRfcmVzdWx0LnN0X3NpemUsIHN0YXRfcmVzdWx0LnN0X210aW1lKQpkaWZmIC1OcnUgY2Fs aWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg5LUNWRS0yMDI2LTI3ODI0 LUNvbnRlbnQtc2VydmVyLVdoZW4tYmFubmluZy1JUHMtZm9yLXIucGF0Y2ggY2FsaWJyZS04LjUu MCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg5LUNWRS0yMDI2LTI3ODI0LUNvbnRlbnQt c2VydmVyLVdoZW4tYmFubmluZy1JUHMtZm9yLXIucGF0Y2gKLS0tIGNhbGlicmUtOC41LjArZHMv ZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgyNC1Db250ZW50LXNlcnZl ci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoCTIwMjYtMDUtMjUgMDg6MTk6NTMuMDAwMDAw MDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAw ODktQ1ZFLTIwMjYtMjc4MjQtQ29udGVudC1zZXJ2ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5w YXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMApAQCAtMSwzNCArMCwwIEBA Ci1Gcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+Ci1EYXRlOiBUdWUsIDI0 IEZlYiAyMDI2IDE2OjUzOjQ2ICswNTMwCi1TdWJqZWN0OiBDVkUtMjAyNi0yNzgyNDogQ29udGVu dCBzZXJ2ZXI6IFdoZW4gYmFubmluZyBJUHMgZm9yIHJlcGVhdGVkIGxvZ2luCi0gaXMgZW5hYmxl ZCwgb25seSB1c2UgdGhlIElQIGFkZHJlc3Mgbm90IGFueSBIVFRQIGhlYWRlcnMgYXMgdGhlIGJh biBrZXkKLQotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi1CdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9r b3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLXZoeGMtcjd2OC0yeHJ3 Ci1PcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0LzJm MjczNDQ0NDYwZDA2ZjcyZjdhOGYzOTBmNWY5ZmYzMjVkMWY4MzYKLQotVGhpcyBtZWFucyBiYW5u aW5nIGlzIGluZWZmZWN0aXZlIGJlaGluZCBhIHByb3h5LCBidXQgY2FudCBiZSBoZWxwZWQKLXNp bmNlIHdlIGhhdmUgbm8gd2F5IG9mIGF1dGhlbnRpY2F0aW5nIHRoYXQgYSBoZWFkZXIgY29tZXMg ZnJvbSB0aGUKLXByb3h5LgotCi1TaWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3Rh LmhnbWxAZ21haWwuY29tPgotLS0tCi0gc3JjL2NhbGlicmUvc3J2L2F1dGgucHkgfCA0ICsrLS0K LSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvc3JjL2NhbGlicmUvc3J2L2F1dGgucHkgYi9zcmMvY2FsaWJyZS9zcnYvYXV0aC5w eQotaW5kZXggYTViNWEwYy4uZTJhNGU2NCAxMDA2NDQKLS0tLSBhL3NyYy9jYWxpYnJlL3Nydi9h dXRoLnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9zcnYvYXV0aC5weQotQEAgLTI2OSw5ICsyNjksOSBA QCBjbGFzcyBBdXRoQ29udHJvbGxlcjoKLSAgICAgICAgIHJldHVybiBjb29raWUgYW5kIHZhbGlk YXRlX25vbmNlKHNlbGYua2V5X29yZGVyLCBjb29raWUsIHBhdGgsIHNlbGYuc2VjcmV0KSBhbmQg bm90IGlzX25vbmNlX3N0YWxlKGNvb2tpZSwgc2VsZi5tYXhfYWdlX3NlY29uZHMpCi0gCi0gICAg IGRlZiBkb19odHRwX2F1dGgoc2VsZiwgZGF0YSwgZW5kcG9pbnQpOgotLSAgICAgICAgYmFuX2tl eSA9IGRhdGEucmVtb3RlX2FkZHIsIGRhdGEuZm9yd2FyZGVkX2ZvcgotKyAgICAgICAgYmFuX2tl eSA9IGRhdGEucmVtb3RlX2FkZHIKLSAgICAgICAgIGlmIHNlbGYuYmFuX2xpc3QuaXNfYmFubmVk KGJhbl9rZXkpOgotLSAgICAgICAgICAgIHJhaXNlIEhUVFBGb3JiaWRkZW4oJ1RvbyBtYW55IGxv Z2luIGF0dGVtcHRzJywgbG9nPWYnVG9vIG1hbnkgbG9naW4gYXR0ZW1wdHMgZnJvbToge2Jhbl9r ZXkgaWYgZGF0YS5mb3J3YXJkZWRfZm9yIGVsc2UgZGF0YS5yZW1vdGVfYWRkcn0nKQotKyAgICAg ICAgICAgIHJhaXNlIEhUVFBGb3JiaWRkZW4oJ1RvbyBtYW55IGxvZ2luIGF0dGVtcHRzJywgbG9n PWYnVG9vIG1hbnkgbG9naW4gYXR0ZW1wdHMgZnJvbToge2RhdGEucmVtb3RlX2FkZHJ9JykKLSAg ICAgICAgIGF1dGggPSBkYXRhLmluaGVhZGVycy5nZXQoJ0F1dGhvcml6YXRpb24nKQotICAgICAg ICAgbm9uY2VfaXNfc3RhbGUgPSBGYWxzZQotICAgICAgICAgbG9nX21zZyA9IE5vbmUKZGlmZiAt TnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MC1DVkUtMjAy Ni0yNzgyNC1Db250ZW50LXNlcnZlci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoIGNhbGli cmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MC1DVkUtMjAyNi0yNzgyNC1D b250ZW50LXNlcnZlci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoCi0tLSBjYWxpYnJlLTgu NS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTAtQ1ZFLTIwMjYtMjc4MjQtQ29udGVu dC1zZXJ2ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAw LjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0 cmVhbS8wMDkwLUNWRS0yMDI2LTI3ODI0LUNvbnRlbnQtc2VydmVyLVdoZW4tYmFubmluZy1JUHMt Zm9yLXIucGF0Y2gJMjAyNi0wOC0wNSAyMzo1NDozOS4wMDAwMDAwMDAgKzA5MDAKQEAgLTAsMCAr MSwzNCBAQAorRnJvbTogS292aWQgR295YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTog VHVlLCAyNCBGZWIgMjAyNiAxNjo1Mzo0NiArMDUzMAorU3ViamVjdDogQ1ZFLTIwMjYtMjc4MjQ6 IENvbnRlbnQgc2VydmVyOiBXaGVuIGJhbm5pbmcgSVBzIGZvciByZXBlYXRlZCBsb2dpbgorIGlz IGVuYWJsZWQsIG9ubHkgdXNlIHRoZSBJUCBhZGRyZXNzIG5vdCBhbnkgSFRUUCBoZWFkZXJzIGFz IHRoZSBiYW4ga2V5CisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQnVnOiBodHRwczovL2dpdGh1 Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS12aHhjLXI3 djgtMnhydworT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2Nv bW1pdC8yZjI3MzQ0NDQ2MGQwNmY3MmY3YThmMzkwZjVmOWZmMzI1ZDFmODM2CisKK1RoaXMgbWVh bnMgYmFubmluZyBpcyBpbmVmZmVjdGl2ZSBiZWhpbmQgYSBwcm94eSwgYnV0IGNhbnQgYmUgaGVs cGVkCitzaW5jZSB3ZSBoYXZlIG5vIHdheSBvZiBhdXRoZW50aWNhdGluZyB0aGF0IGEgaGVhZGVy IGNvbWVzIGZyb20gdGhlCitwcm94eS4KKworU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkg PHlva290YS5oZ21sQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJlL3Nydi9hdXRoLnB5IHwg NCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL3Nydi9hdXRoLnB5IGIvc3JjL2NhbGlicmUvc3J2 L2F1dGgucHkKK2luZGV4IGE1YjVhMGMuLmUyYTRlNjQgMTAwNjQ0CistLS0gYS9zcmMvY2FsaWJy ZS9zcnYvYXV0aC5weQorKysrIGIvc3JjL2NhbGlicmUvc3J2L2F1dGgucHkKK0BAIC0yNjksOSAr MjY5LDkgQEAgY2xhc3MgQXV0aENvbnRyb2xsZXI6CisgICAgICAgICByZXR1cm4gY29va2llIGFu ZCB2YWxpZGF0ZV9ub25jZShzZWxmLmtleV9vcmRlciwgY29va2llLCBwYXRoLCBzZWxmLnNlY3Jl dCkgYW5kIG5vdCBpc19ub25jZV9zdGFsZShjb29raWUsIHNlbGYubWF4X2FnZV9zZWNvbmRzKQor IAorICAgICBkZWYgZG9faHR0cF9hdXRoKHNlbGYsIGRhdGEsIGVuZHBvaW50KToKKy0gICAgICAg IGJhbl9rZXkgPSBkYXRhLnJlbW90ZV9hZGRyLCBkYXRhLmZvcndhcmRlZF9mb3IKKysgICAgICAg IGJhbl9rZXkgPSBkYXRhLnJlbW90ZV9hZGRyCisgICAgICAgICBpZiBzZWxmLmJhbl9saXN0Lmlz X2Jhbm5lZChiYW5fa2V5KToKKy0gICAgICAgICAgICByYWlzZSBIVFRQRm9yYmlkZGVuKCdUb28g bWFueSBsb2dpbiBhdHRlbXB0cycsIGxvZz1mJ1RvbyBtYW55IGxvZ2luIGF0dGVtcHRzIGZyb206 IHtiYW5fa2V5IGlmIGRhdGEuZm9yd2FyZGVkX2ZvciBlbHNlIGRhdGEucmVtb3RlX2FkZHJ9JykK KysgICAgICAgICAgICByYWlzZSBIVFRQRm9yYmlkZGVuKCdUb28gbWFueSBsb2dpbiBhdHRlbXB0 cycsIGxvZz1mJ1RvbyBtYW55IGxvZ2luIGF0dGVtcHRzIGZyb206IHtkYXRhLnJlbW90ZV9hZGRy fScpCisgICAgICAgICBhdXRoID0gZGF0YS5pbmhlYWRlcnMuZ2V0KCdBdXRob3JpemF0aW9uJykK KyAgICAgICAgIG5vbmNlX2lzX3N0YWxlID0gRmFsc2UKKyAgICAgICAgIGxvZ19tc2cgPSBOb25l CmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTAt Rml4LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlzc3Vlcy5wYXRj aCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTAtRml4LXNlY3Vy aXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlzc3Vlcy5wYXRjaAotLS0gY2Fs aWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkwLUZpeC1zZWN1cml0eS12 dWxuZXJhYmlsaXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0Y2gJMjAyNi0wNS0yNSAw ODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNo ZXMvdXBzdHJlYW0vMDA5MC1GaXgtc2VjdXJpdHktdnVsbmVyYWJpbGl0aWVzLWFuZC1jb2RlLXF1 YWxpdHktaXNzdWVzLnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBA IC0xLDE2MyArMCwwIEBACi1Gcm9tOiBFQ0IgPGVjYkBlY2IucG0+Ci1EYXRlOiBUdWUsIDIxIEFw ciAyMDI2IDEyOjQ4OjQyICswMjAwCi1TdWJqZWN0OiBGaXggc2VjdXJpdHkgdnVsbmVyYWJpbGl0 aWVzIGFuZCBjb2RlIHF1YWxpdHkgaXNzdWVzIChDbG9zZXM6Ci0gIzExMzU1NDMpCi0KLUZvcndh cmRlZDogbm90LW5lZWRlZAotQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxp YnJlL3B1bGwvMzEwMQotT3JpZ2luOiBiYWNrcG9ydCwgaHR0cHM6Ly9naXRodWIuY29tL2tvdmlk Z295YWwvY2FsaWJyZS9jb21taXQvYjBjNGJhMTk2ODYyMzJkNWJmZjk5ZDU4Y2U2MDE5NTQ2ZWY0 ZDE2NgotCi1IaWdoIHNldmVyaXR5OgotLSBGaXggdHlwbyBub3JtYXB0aCAtPiBub3JtcGF0aCBp biBzcnYvY29udGVudC5weSAoYnJva2VuIGVuZHBvaW50KQotLSBSZXBsYWNlIGV2YWwoKSB3aXRo IGFzdC5saXRlcmFsX2V2YWwoKSBpbiBjYXRhbG9ncy9lcHViX21vYmkucHkKLS0gTG9nIGV4Y2Vw dGlvbnMgaW4gRnVuY3Rpb25EaXNwYXRjaGVyLmRpc3BhdGNoIGluc3RlYWQgb2Ygc3dhbGxvd2lu ZwotCi1NZWRpdW0gc2V2ZXJpdHk6Ci0tIEFkZCBwYXRoIHRyYXZlcnNhbCBwcm90ZWN0aW9uIHRv IERpckNvbnRhaW5lciByZWFkL3dyaXRlL2V4aXN0cwotLSBGaXggWFBhdGggaW5qZWN0aW9uIGlu IGNvbW1lbnRzX2VkaXRvci5weSBtZXJnZV9jb250aWd1b3VzX2xpbmtzCi0tIFVzZSBwYXJhbWV0 ZXJpemVkIFNRTCBxdWVyaWVzIGluIGRhdGFiYXNlMi5weSBsaWJyYXJ5X2lkIHNldHRlcgotLSBB ZGQgc2FmZXR5IGNvbW1lbnQgdG8gcGlja2xlX2xvYWRzIGluIHV0aWxzL3NlcmlhbGl6ZS5weQot LS0tCi0gc3JjL2NhbGlicmUvZWJvb2tzL29lYi9iYXNlLnB5ICAgICAgICAgICAgfCAxMiArKysr KysrKystLS0KLSBzcmMvY2FsaWJyZS9ndWkyL19faW5pdF9fLnB5ICAgICAgICAgICAgICB8ICAy ICsrCi0gc3JjL2NhbGlicmUvZ3VpMi9jb21tZW50c19lZGl0b3IucHkgICAgICAgfCAgMiArLQot IHNyYy9jYWxpYnJlL2xpYnJhcnkvY2F0YWxvZ3MvZXB1Yl9tb2JpLnB5IHwgMTAgKysrKysrLS0t LQotIHNyYy9jYWxpYnJlL2xpYnJhcnkvZGF0YWJhc2UyLnB5ICAgICAgICAgIHwgIDYgKystLS0t Ci0gc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkgICAgICAgICAgICAgICAgfCAgMiArLQotIHNy Yy9jYWxpYnJlL3V0aWxzL3NlcmlhbGl6ZS5weSAgICAgICAgICAgIHwgIDIgKy0KLSA3IGZpbGVz IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvc3JjL2NhbGlicmUvZWJvb2tzL29lYi9iYXNlLnB5IGIvc3JjL2NhbGlicmUvZWJvb2tzL29l Yi9iYXNlLnB5Ci1pbmRleCAxMTkyYzg3Li40NGFiYjk0IDEwMDY0NAotLS0tIGEvc3JjL2NhbGli cmUvZWJvb2tzL29lYi9iYXNlLnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9lYm9va3Mvb2ViL2Jhc2Uu cHkKLUBAIC01OTcsMTIgKzU5NywxNiBAQCBjbGFzcyBEaXJDb250YWluZXI6Ci0gICAgIGRlZiBy ZWFkKHNlbGYsIHBhdGgpOgotICAgICAgICAgaWYgcGF0aCBpcyBOb25lOgotICAgICAgICAgICAg IHBhdGggPSBzZWxmLm9wZm5hbWUKLS0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5y b290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKQotKyAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz cGF0aChvcy5wYXRoLmpvaW4oc2VsZi5yb290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKSkKLSsg ICAgICAgIGlmIG5vdCBwYXRoLnN0YXJ0c3dpdGgob3MucGF0aC5hYnNwYXRoKHNlbGYucm9vdGRp cikpOgotKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZidQYXRoIHtwYXRoIXJ9IGlzIG5v dCBpbnNpZGUge3NlbGYucm9vdGRpciFyfScpCi0gICAgICAgICB3aXRoIG9wZW4ocGF0aCwgJ3Ji JykgYXMgZjoKLSAgICAgICAgICAgICByZXR1cm4gZi5yZWFkKCkKLSAKLSAgICAgZGVmIHdyaXRl KHNlbGYsIHBhdGgsIGRhdGEpOgotLSAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnJv b3RkaXIsIHNlbGYuX3VucXVvdGUocGF0aCkpCi0rICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNw YXRoKG9zLnBhdGguam9pbihzZWxmLnJvb3RkaXIsIHNlbGYuX3VucXVvdGUocGF0aCkpKQotKyAg ICAgICAgaWYgbm90IHBhdGguc3RhcnRzd2l0aChvcy5wYXRoLmFic3BhdGgoc2VsZi5yb290ZGly KSk6Ci0rICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmJ1BhdGgge3BhdGghcn0gaXMgbm90 IGluc2lkZSB7c2VsZi5yb290ZGlyIXJ9JykKLSAgICAgICAgIGRpciA9IG9zLnBhdGguZGlybmFt ZShwYXRoKQotICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoZGlyKToKLSAgICAgICAgICAg ICBvcy5tYWtlZGlycyhkaXIpCi1AQCAtNjEzLDkgKzYxNywxMSBAQCBjbGFzcyBEaXJDb250YWlu ZXI6Ci0gICAgICAgICBpZiBub3QgcGF0aDoKLSAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAg ICAgICAgIHRyeToKLS0gICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYucm9vdGRp ciwgc2VsZi5fdW5xdW90ZShwYXRoKSkKLSsgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNw YXRoKG9zLnBhdGguam9pbihzZWxmLnJvb3RkaXIsIHNlbGYuX3VucXVvdGUocGF0aCkpKQotICAg ICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6ICAjIEhhcHBlbnMgaWYgcGF0aCBjb250YWlucyBxdW90 ZWQgc3BlY2lhbCBjaGFycwotICAgICAgICAgICAgIHJldHVybiBGYWxzZQotKyAgICAgICAgaWYg bm90IHBhdGguc3RhcnRzd2l0aChvcy5wYXRoLmFic3BhdGgoc2VsZi5yb290ZGlyKSk6Ci0rICAg ICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgcmV0dXJu IG9zLnBhdGguaXNmaWxlKHBhdGgpCi0gICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9y OgotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2d1aTIvX19pbml0X18ucHkgYi9zcmMvY2FsaWJy ZS9ndWkyL19faW5pdF9fLnB5Ci1pbmRleCBhNTg5M2QyLi5hY2E3ZGY2IDEwMDY0NAotLS0tIGEv c3JjL2NhbGlicmUvZ3VpMi9fX2luaXRfXy5weQotKysrIGIvc3JjL2NhbGlicmUvZ3VpMi9fX2lu aXRfXy5weQotQEAgLTg0NSw2ICs4NDUsOCBAQCBjbGFzcyBGdW5jdGlvbkRpc3BhdGNoZXIoUU9i amVjdCk6Ci0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgcmVzID0gc2VsZi5mdW5jKCphcmdz LCAqKmt3YXJncykKLSAgICAgICAgIGV4Y2VwdDoKLSsgICAgICAgICAgICBpbXBvcnQgdHJhY2Vi YWNrCi0rICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YygpCi0gICAgICAgICAgICAgcmVz ID0gTm9uZQotICAgICAgICAgcS5wdXQocmVzKQotIAotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJl L2d1aTIvY29tbWVudHNfZWRpdG9yLnB5IGIvc3JjL2NhbGlicmUvZ3VpMi9jb21tZW50c19lZGl0 b3IucHkKLWluZGV4IDhmYjI5MTkuLjYwMTdjNTcgMTAwNjQ0Ci0tLS0gYS9zcmMvY2FsaWJyZS9n dWkyL2NvbW1lbnRzX2VkaXRvci5weQotKysrIGIvc3JjL2NhbGlicmUvZ3VpMi9jb21tZW50c19l ZGl0b3IucHkKLUBAIC0xOTgsNyArMTk4LDcgQEAgZGVmIHVzZV9pbXBsaWNpdF9zdHlsaW5nX2Zv cl9hKGEsIHN0eWxlX21hcCk6Ci0gZGVmIG1lcmdlX2NvbnRpZ3VvdXNfbGlua3Mocm9vdCk6Ci0g ICAgIGFsbF9ocmVmcyA9IHNldChyb290LnhwYXRoKCcvL2EvQGhyZWYnKSkKLSAgICAgZm9yIGhy ZWYgaW4gYWxsX2hyZWZzOgotLSAgICAgICAgdGFncyA9IHJvb3QueHBhdGgoZicvL2FbQGhyZWY9 IntocmVmfSJdJykKLSsgICAgICAgIHRhZ3MgPSByb290LnhwYXRoKCcvL2FbQGhyZWY9JGhdJywg aD1ocmVmKQotICAgICAgICAgcHJvY2Vzc2VkID0gc2V0KCkKLSAKLSAgICAgICAgIGRlZiBpbnNl cnRfdGFnKHBhcmVudCwgY2hpbGQpOgotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2xpYnJhcnkv Y2F0YWxvZ3MvZXB1Yl9tb2JpLnB5IGIvc3JjL2NhbGlicmUvbGlicmFyeS9jYXRhbG9ncy9lcHVi X21vYmkucHkKLWluZGV4IDNlNTYyNjYuLmU2NDA4ZjYgMTAwNjQ0Ci0tLS0gYS9zcmMvY2FsaWJy ZS9saWJyYXJ5L2NhdGFsb2dzL2VwdWJfbW9iaS5weQotKysrIGIvc3JjL2NhbGlicmUvbGlicmFy eS9jYXRhbG9ncy9lcHViX21vYmkucHkKLUBAIC0zNTEsMTAgKzM1MSwxMSBAQCBjbGFzcyBFUFVC X01PQkkoQ2F0YWxvZ1BsdWdpbik6Ci0gICAgICAgICAgICAgbG9nLmVycm9yKGYiY29lcmNpbmcg dGh1bWJfd2lkdGggZnJvbSAne29wdHMudGh1bWJfd2lkdGh9JyB0byAne3NlbGYuVEhVTUJfU01B TExFU1R9JyIpCi0gICAgICAgICAgICAgb3B0cy50aHVtYl93aWR0aCA9ICcxLjAnCi0gCi0tICAg ICAgICAjIGV2YWwgcHJlZml4X3J1bGVzIGlmIHBhc3NlZCBmcm9tIGNvbW1hbmQgbGluZQotKyAg ICAgICAgIyBwYXJzZSBwcmVmaXhfcnVsZXMgaWYgcGFzc2VkIGZyb20gY29tbWFuZCBsaW5lCi0g ICAgICAgICBpZiB0eXBlKG9wdHMucHJlZml4X3J1bGVzKSBpcyBub3QgdHVwbGU6Ci0gICAgICAg ICAgICAgdHJ5OgotLSAgICAgICAgICAgICAgICBvcHRzLnByZWZpeF9ydWxlcyA9IGV2YWwob3B0 cy5wcmVmaXhfcnVsZXMpCi0rICAgICAgICAgICAgICAgIGltcG9ydCBhc3QKLSsgICAgICAgICAg ICAgICAgb3B0cy5wcmVmaXhfcnVsZXMgPSBhc3QubGl0ZXJhbF9ldmFsKG9wdHMucHJlZml4X3J1 bGVzKQotICAgICAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgICAgICAgbG9nLmVycm9yKGYn bWFsZm9ybWVkIC0tcHJlZml4LXJ1bGVzOiB7b3B0cy5wcmVmaXhfcnVsZXN9JykKLSAgICAgICAg ICAgICAgICAgcmFpc2UKLUBAIC0zNjIsMTAgKzM2MywxMSBAQCBjbGFzcyBFUFVCX01PQkkoQ2F0 YWxvZ1BsdWdpbik6Ci0gICAgICAgICAgICAgICAgIGlmIGxlbihydWxlKSAhPSA0OgotICAgICAg ICAgICAgICAgICAgICAgbG9nLmVycm9yKGYnaW5jb3JyZWN0IG51bWJlciBvZiBhcmdzIGZvciAt LXByZWZpeC1ydWxlczoge3J1bGUhcn0nKQotIAotLSAgICAgICAgIyBldmFsIGV4Y2x1c2lvbl9y dWxlcyBpZiBwYXNzZWQgZnJvbSBjb21tYW5kIGxpbmUKLSsgICAgICAgICMgcGFyc2UgZXhjbHVz aW9uX3J1bGVzIGlmIHBhc3NlZCBmcm9tIGNvbW1hbmQgbGluZQotICAgICAgICAgaWYgdHlwZShv cHRzLmV4Y2x1c2lvbl9ydWxlcykgaXMgbm90IHR1cGxlOgotICAgICAgICAgICAgIHRyeToKLS0g ICAgICAgICAgICAgICAgb3B0cy5leGNsdXNpb25fcnVsZXMgPSBldmFsKG9wdHMuZXhjbHVzaW9u X3J1bGVzKQotKyAgICAgICAgICAgICAgICBpbXBvcnQgYXN0Ci0rICAgICAgICAgICAgICAgIG9w dHMuZXhjbHVzaW9uX3J1bGVzID0gYXN0LmxpdGVyYWxfZXZhbChvcHRzLmV4Y2x1c2lvbl9ydWxl cykKLSAgICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgIGxvZy5lcnJvcihmJ21h bGZvcm1lZCAtLWV4Y2x1c2lvbi1ydWxlczoge29wdHMuZXhjbHVzaW9uX3J1bGVzfScpCi0gICAg ICAgICAgICAgICAgIHJhaXNlCi1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvbGlicmFyeS9kYXRh YmFzZTIucHkgYi9zcmMvY2FsaWJyZS9saWJyYXJ5L2RhdGFiYXNlMi5weQotaW5kZXggZmYwZDMw ZS4uNjQ2YWQxNSAxMDA2NDQKLS0tLSBhL3NyYy9jYWxpYnJlL2xpYnJhcnkvZGF0YWJhc2UyLnB5 Ci0rKysgYi9zcmMvY2FsaWJyZS9saWJyYXJ5L2RhdGFiYXNlMi5weQotQEAgLTEwOCwxMCArMTA4 LDggQEAgY2xhc3MgTGlicmFyeURhdGFiYXNlMihMaWJyYXJ5RGF0YWJhc2UsIFNjaGVtYVVwZ3Jh ZGUsIEN1c3RvbUNvbHVtbnMpOgotICAgICBAbGlicmFyeV9pZC5zZXR0ZXIKLSAgICAgZGVmIGxp YnJhcnlfaWQoc2VsZiwgdmFsKToKLSAgICAgICAgIHNlbGYuX2xpYnJhcnlfaWRfID0gc3RyKHZh bCkKLS0gICAgICAgIHNlbGYuY29ubi5leGVjdXRlc2NyaXB0KGYnJycKLS0gICAgICAgICAgICAg ICAgREVMRVRFIEZST00gbGlicmFyeV9pZDsKLS0gICAgICAgICAgICAgICAgSU5TRVJUIElOVE8g bGlicmFyeV9pZCAodXVpZCkgVkFMVUVTICgie3NlbGYuX2xpYnJhcnlfaWRffSIpOwotLSAgICAg ICAgICAgICAgICAnJycpCi0rICAgICAgICBzZWxmLmNvbm4uZXhlY3V0ZSgnREVMRVRFIEZST00g bGlicmFyeV9pZCcpCi0rICAgICAgICBzZWxmLmNvbm4uZXhlY3V0ZSgnSU5TRVJUIElOVE8gbGli cmFyeV9pZCAodXVpZCkgVkFMVUVTICg/KScsIChzZWxmLl9saWJyYXJ5X2lkXywpKQotICAgICAg ICAgc2VsZi5jb25uLmNvbW1pdCgpCi0gCi0gICAgIGRlZiBjb25uZWN0KHNlbGYpOgotZGlmZiAt LWdpdCBhL3NyYy9jYWxpYnJlL3Nydi9jb250ZW50LnB5IGIvc3JjL2NhbGlicmUvc3J2L2NvbnRl bnQucHkKLWluZGV4IDAwOTQ1ODAuLjJiMWEwZTUgMTAwNjQ0Ci0tLS0gYS9zcmMvY2FsaWJyZS9z cnYvY29udGVudC5weQotKysrIGIvc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkKLUBAIC0zMDYs NyArMzA2LDcgQEAgZGVmIGljb24oY3R4LCByZCwgd2hpY2gpOgotIAotIEBlbmRwb2ludCgnL3Jl YWRlci1iYWNrZ3JvdW5kL3tlbmNvZGVkX2ZuYW1lfScsIGFuZHJvaWRfd29ya2Fyb3VuZD1UcnVl KQotIGRlZiByZWFkZXJfYmFja2dyb3VuZChjdHgsIHJkLCBlbmNvZGVkX2ZuYW1lKToKLS0gICAg YmFzZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLm5vcm1hcHRoKG9zLnBhdGguam9pbihjb25m aWdfZGlyLCAndmlld2VyJywgJ2JhY2tncm91bmQtaW1hZ2VzJykpKQotKyAgICBiYXNlID0gb3Mu cGF0aC5hYnNwYXRoKG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKGNvbmZpZ19kaXIsICd2 aWV3ZXInLCAnYmFja2dyb3VuZC1pbWFnZXMnKSkpCi0gICAgIGZuYW1lID0gYnl0ZXMuZnJvbWhl eChlbmNvZGVkX2ZuYW1lKQotICAgICBxID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGgubm9ybXBh dGgob3MucGF0aC5qb2luKGJhc2UsIGZuYW1lKSkpCi0gICAgIGlmIG5vdCBxLnN0YXJ0c3dpdGgo YmFzZSk6Ci1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvdXRpbHMvc2VyaWFsaXplLnB5IGIvc3Jj L2NhbGlicmUvdXRpbHMvc2VyaWFsaXplLnB5Ci1pbmRleCA4MWUxODdmLi43NWYzMzcwIDEwMDY0 NAotLS0tIGEvc3JjL2NhbGlicmUvdXRpbHMvc2VyaWFsaXplLnB5Ci0rKysgYi9zcmMvY2FsaWJy ZS91dGlscy9zZXJpYWxpemUucHkKLUBAIC0xMTksNCArMTE5LDQgQEAgZGVmIHBpY2tsZV9kdW1w cyhkYXRhKToKLSAKLSBkZWYgcGlja2xlX2xvYWRzKGR1bXApOgotICAgICBpbXBvcnQgcGlja2xl Ci0tICAgIHJldHVybiBwaWNrbGUubG9hZHMoZHVtcCwgZW5jb2Rpbmc9J3V0Zi04JykKLSsgICAg cmV0dXJuIHBpY2tsZS5sb2FkcyhkdW1wLCBlbmNvZGluZz0ndXRmLTgnKSAgIyBub3NlYzogb25s eSB1c2VkIGZvciBjYWxpYnJlJ3Mgb3duIHNlcmlhbGl6ZWQgZGF0YQpkaWZmIC1OcnUgY2FsaWJy ZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkxLUNWRS0yMDI2LTMwODUzLVJC LUlucHV0LUVuc3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0Y2ggY2FsaWJyZS04LjUuMCtk cy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkxLUNWRS0yMDI2LTMwODUzLVJCLUlucHV0LUVu c3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0Y2gKLS0tIGNhbGlicmUtOC41LjArZHMvZGVi aWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MS1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1FbnN1cmUt ZmlsZXMtYXJlLWV4dHJhY3RlZC13LnBhdGNoCTIwMjYtMDUtMjUgMDg6MTk6NTMuMDAwMDAwMDAw ICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTEt Q1ZFLTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJlLWZpbGVzLWFyZS1leHRyYWN0ZWQtdy5wYXRj aAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMApAQCAtMSw1OCArMCwwIEBACi1G cm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+Ci1EYXRlOiBGcmksIDYgTWFy IDIwMjYgMDc6Mzk6NDQgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTMwODUzOiBSQiBJbnB1dDog RW5zdXJlIGZpbGVzIGFyZSBleHRyYWN0ZWQgd2l0aGluCi0gY29udGFpbmVyIGRpcgotCi1Gb3J3 YXJkZWQ6IG5vdC1uZWVkZWQKLUJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2Fs aWJyZS9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtN21wNy1yZnJnLTU0MngKLU9yaWdpbjogaHR0 cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9jb21taXQvMGY4ZGM2MzkzMzdkOWFj ZTY3MjAxZTE1Y2ExMmQ1OTA2ZDA1ZjRjOAotCi1TaWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3No aSA8eW9rb3RhLmhnbWxAZ21haWwuY29tPgotLS0tCi0gc3JjL2NhbGlicmUvZWJvb2tzL3JiL3Jl YWRlci5weSB8IDE5ICsrKysrKysrKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTUgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vi b29rcy9yYi9yZWFkZXIucHkgYi9zcmMvY2FsaWJyZS9lYm9va3MvcmIvcmVhZGVyLnB5Ci1pbmRl eCBjMWY3N2RkLi5iMTMwNjZhIDEwMDY0NAotLS0tIGEvc3JjL2NhbGlicmUvZWJvb2tzL3JiL3Jl YWRlci5weQotKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL3JiL3JlYWRlci5weQotQEAgLTY3LDYg KzY3LDE1IEBAIGNsYXNzIFJlYWRlcjoKLSAKLSAgICAgICAgIHJldHVybiB0b2MKLSAKLSsgICAg ZGVmIGdldF9zYWZlX3BhdGgoc2VsZiwgb3V0cHV0X2RpciwgbmFtZSk6Ci0rICAgICAgICBiYXNl ID0gb3MucGF0aC5hYnNwYXRoKG91dHB1dF9kaXIpCi0rICAgICAgICBpZiBub3QgYmFzZS5lbmRz d2l0aChvcy5zZXApOgotKyAgICAgICAgICAgIGJhc2UgKz0gb3Muc2VwCi0rICAgICAgICBhbnMg PSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2UsIG5hbWUpKQotKyAgICAgICAgaWYg b3MucGF0aC5jb21tb25wcmVmaXgoW2FucywgYmFzZV0pICE9IGJhc2U6Ci0rICAgICAgICAgICAg YW5zID0gJycKLSsgICAgICAgIHJldHVybiBhbnMKLSsKLSAgICAgZGVmIGdldF90ZXh0KHNlbGYs IHRvY19pdGVtLCBvdXRwdXRfZGlyKToKLSAgICAgICAgIGlmIHRvY19pdGVtLmZsYWdzIGluICgx LCAyKToKLSAgICAgICAgICAgICByZXR1cm4KLUBAIC04Nyw4ICs5Niw5IEBAIGNsYXNzIFJlYWRl cjoKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgb3V0cHV0ICs9IHNlbGYuc3RyZWFtLnJl YWQodG9jX2l0ZW0uc2l6ZSkuZGVjb2RlKCdjcDEyNTInIGlmIHNlbGYuZW5jb2RpbmcgaXMgTm9u ZSBlbHNlIHNlbGYuZW5jb2RpbmcsICdyZXBsYWNlJykKLSAKLS0gICAgICAgIHdpdGggb3Blbihv cy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgdG9jX2l0ZW0ubmFtZS5kZWNvZGUoJ3V0Zi04JykpLCAn d2InKSBhcyBodG1sOgotLSAgICAgICAgICAgIGh0bWwud3JpdGUob3V0cHV0LnJlcGxhY2UoJzxU SVRMRT4nLCAnPFRJVExFPiAnKS5lbmNvZGUoJ3V0Zi04JykpCi0rICAgICAgICBpZiBwYXRoIDo9 IHNlbGYuZ2V0X3NhZmVfcGF0aChvdXRwdXRfZGlyLCB0b2NfaXRlbS5uYW1lLmRlY29kZSgndXRm LTgnKSk6Ci0rICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICd3YicpIGFzIGh0bWw6Ci0rICAg ICAgICAgICAgICAgIGh0bWwud3JpdGUob3V0cHV0LnJlcGxhY2UoJzxUSVRMRT4nLCAnPFRJVExF PiAnKS5lbmNvZGUoJ3V0Zi04JykpCi0gCi0gICAgIGRlZiBnZXRfaW1hZ2Uoc2VsZiwgdG9jX2l0 ZW0sIG91dHB1dF9kaXIpOgotICAgICAgICAgaWYgdG9jX2l0ZW0uZmxhZ3MgIT0gMDoKLUBAIC05 Nyw4ICsxMDcsOSBAQCBjbGFzcyBSZWFkZXI6Ci0gICAgICAgICBzZWxmLnN0cmVhbS5zZWVrKHRv Y19pdGVtLm9mZnNldCkKLSAgICAgICAgIGRhdGEgPSBzZWxmLnN0cmVhbS5yZWFkKHRvY19pdGVt LnNpemUpCi0gCi0tICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKG91dHB1dF9kaXIsIHRv Y19pdGVtLm5hbWUuZGVjb2RlKCd1dGYtOCcpKSwgJ3diJykgYXMgaW1nOgotLSAgICAgICAgICAg IGltZy53cml0ZShkYXRhKQotKyAgICAgICAgaWYgcGF0aCA6PSBzZWxmLmdldF9zYWZlX3BhdGgo b3V0cHV0X2RpciwgdG9jX2l0ZW0ubmFtZS5kZWNvZGUoJ3V0Zi04JykpOgotKyAgICAgICAgICAg IHdpdGggb3BlbihwYXRoLCAnd2InKSBhcyBpbWc6Ci0rICAgICAgICAgICAgICAgIGltZy53cml0 ZShkYXRhKQotIAotICAgICBkZWYgZXh0cmFjdF9jb250ZW50KHNlbGYsIG91dHB1dF9kaXIpOgot ICAgICAgICAgc2VsZi5sb2cuZGVidWcoJ0V4dHJhY3RpbmcgY29udGVudCBmcm9tIGZpbGUuLi4n KQpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkx LUZpeC1zZWN1cml0eS12dWxuZXJhYmlsaXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0 Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkxLUZpeC1zZWN1 cml0eS12dWxuZXJhYmlsaXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0Y2gKLS0tIGNh bGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MS1GaXgtc2VjdXJpdHkt dnVsbmVyYWJpbGl0aWVzLWFuZC1jb2RlLXF1YWxpdHktaXNzdWVzLnBhdGNoCTE5NzAtMDEtMDEg MDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRj aGVzL3Vwc3RyZWFtLzAwOTEtRml4LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1x dWFsaXR5LWlzc3Vlcy5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApA QCAtMCwwICsxLDE2MyBAQAorRnJvbTogRUNCIDxlY2JAZWNiLnBtPgorRGF0ZTogVHVlLCAyMSBB cHIgMjAyNiAxMjo0ODo0MiArMDIwMAorU3ViamVjdDogRml4IHNlY3VyaXR5IHZ1bG5lcmFiaWxp dGllcyBhbmQgY29kZSBxdWFsaXR5IGlzc3VlcyAoQ2xvc2VzOgorICMxMTM1NTQzKQorCitGb3J3 YXJkZWQ6IG5vdC1uZWVkZWQKK0J1ZzogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2Fs aWJyZS9wdWxsLzMxMDEKK09yaWdpbjogYmFja3BvcnQsIGh0dHBzOi8vZ2l0aHViLmNvbS9rb3Zp ZGdveWFsL2NhbGlicmUvY29tbWl0L2IwYzRiYTE5Njg2MjMyZDViZmY5OWQ1OGNlNjAxOTU0NmVm NGQxNjYKKworSGlnaCBzZXZlcml0eToKKy0gRml4IHR5cG8gbm9ybWFwdGggLT4gbm9ybXBhdGgg aW4gc3J2L2NvbnRlbnQucHkgKGJyb2tlbiBlbmRwb2ludCkKKy0gUmVwbGFjZSBldmFsKCkgd2l0 aCBhc3QubGl0ZXJhbF9ldmFsKCkgaW4gY2F0YWxvZ3MvZXB1Yl9tb2JpLnB5CistIExvZyBleGNl cHRpb25zIGluIEZ1bmN0aW9uRGlzcGF0Y2hlci5kaXNwYXRjaCBpbnN0ZWFkIG9mIHN3YWxsb3dp bmcKKworTWVkaXVtIHNldmVyaXR5OgorLSBBZGQgcGF0aCB0cmF2ZXJzYWwgcHJvdGVjdGlvbiB0 byBEaXJDb250YWluZXIgcmVhZC93cml0ZS9leGlzdHMKKy0gRml4IFhQYXRoIGluamVjdGlvbiBp biBjb21tZW50c19lZGl0b3IucHkgbWVyZ2VfY29udGlndW91c19saW5rcworLSBVc2UgcGFyYW1l dGVyaXplZCBTUUwgcXVlcmllcyBpbiBkYXRhYmFzZTIucHkgbGlicmFyeV9pZCBzZXR0ZXIKKy0g QWRkIHNhZmV0eSBjb21tZW50IHRvIHBpY2tsZV9sb2FkcyBpbiB1dGlscy9zZXJpYWxpemUucHkK Ky0tLQorIHNyYy9jYWxpYnJlL2Vib29rcy9vZWIvYmFzZS5weSAgICAgICAgICAgIHwgMTIgKysr KysrKysrLS0tCisgc3JjL2NhbGlicmUvZ3VpMi9fX2luaXRfXy5weSAgICAgICAgICAgICAgfCAg MiArKworIHNyYy9jYWxpYnJlL2d1aTIvY29tbWVudHNfZWRpdG9yLnB5ICAgICAgIHwgIDIgKy0K KyBzcmMvY2FsaWJyZS9saWJyYXJ5L2NhdGFsb2dzL2VwdWJfbW9iaS5weSB8IDEwICsrKysrKy0t LS0KKyBzcmMvY2FsaWJyZS9saWJyYXJ5L2RhdGFiYXNlMi5weSAgICAgICAgICB8ICA2ICsrLS0t LQorIHNyYy9jYWxpYnJlL3Nydi9jb250ZW50LnB5ICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBz cmMvY2FsaWJyZS91dGlscy9zZXJpYWxpemUucHkgICAgICAgICAgICB8ICAyICstCisgNyBmaWxl cyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL3NyYy9jYWxpYnJlL2Vib29rcy9vZWIvYmFzZS5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9v ZWIvYmFzZS5weQoraW5kZXggMTE5MmM4Ny4uNDRhYmI5NCAxMDA2NDQKKy0tLSBhL3NyYy9jYWxp YnJlL2Vib29rcy9vZWIvYmFzZS5weQorKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL29lYi9iYXNl LnB5CitAQCAtNTk3LDEyICs1OTcsMTYgQEAgY2xhc3MgRGlyQ29udGFpbmVyOgorICAgICBkZWYg cmVhZChzZWxmLCBwYXRoKToKKyAgICAgICAgIGlmIHBhdGggaXMgTm9uZToKKyAgICAgICAgICAg ICBwYXRoID0gc2VsZi5vcGZuYW1lCistICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYu cm9vdGRpciwgc2VsZi5fdW5xdW90ZShwYXRoKSkKKysgICAgICAgIHBhdGggPSBvcy5wYXRoLmFi c3BhdGgob3MucGF0aC5qb2luKHNlbGYucm9vdGRpciwgc2VsZi5fdW5xdW90ZShwYXRoKSkpCisr ICAgICAgICBpZiBub3QgcGF0aC5zdGFydHN3aXRoKG9zLnBhdGguYWJzcGF0aChzZWxmLnJvb3Rk aXIpKToKKysgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYnUGF0aCB7cGF0aCFyfSBpcyBu b3QgaW5zaWRlIHtzZWxmLnJvb3RkaXIhcn0nKQorICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICdy YicpIGFzIGY6CisgICAgICAgICAgICAgcmV0dXJuIGYucmVhZCgpCisgCisgICAgIGRlZiB3cml0 ZShzZWxmLCBwYXRoLCBkYXRhKToKKy0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5y b290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKQorKyAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz cGF0aChvcy5wYXRoLmpvaW4oc2VsZi5yb290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKSkKKysg ICAgICAgIGlmIG5vdCBwYXRoLnN0YXJ0c3dpdGgob3MucGF0aC5hYnNwYXRoKHNlbGYucm9vdGRp cikpOgorKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZidQYXRoIHtwYXRoIXJ9IGlzIG5v dCBpbnNpZGUge3NlbGYucm9vdGRpciFyfScpCisgICAgICAgICBkaXIgPSBvcy5wYXRoLmRpcm5h bWUocGF0aCkKKyAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGRpcik6CisgICAgICAgICAg ICAgb3MubWFrZWRpcnMoZGlyKQorQEAgLTYxMyw5ICs2MTcsMTEgQEAgY2xhc3MgRGlyQ29udGFp bmVyOgorICAgICAgICAgaWYgbm90IHBhdGg6CisgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisg ICAgICAgICB0cnk6CistICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnJvb3Rk aXIsIHNlbGYuX3VucXVvdGUocGF0aCkpCisrICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz cGF0aChvcy5wYXRoLmpvaW4oc2VsZi5yb290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKSkKKyAg ICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOiAgIyBIYXBwZW5zIGlmIHBhdGggY29udGFpbnMgcXVv dGVkIHNwZWNpYWwgY2hhcnMKKyAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKysgICAgICAgIGlm IG5vdCBwYXRoLnN0YXJ0c3dpdGgob3MucGF0aC5hYnNwYXRoKHNlbGYucm9vdGRpcikpOgorKyAg ICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHJldHVy biBvcy5wYXRoLmlzZmlsZShwYXRoKQorICAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJv cjoKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9ndWkyL19faW5pdF9fLnB5IGIvc3JjL2NhbGli cmUvZ3VpMi9fX2luaXRfXy5weQoraW5kZXggYTU4OTNkMi4uYWNhN2RmNiAxMDA2NDQKKy0tLSBh L3NyYy9jYWxpYnJlL2d1aTIvX19pbml0X18ucHkKKysrKyBiL3NyYy9jYWxpYnJlL2d1aTIvX19p bml0X18ucHkKK0BAIC04NDUsNiArODQ1LDggQEAgY2xhc3MgRnVuY3Rpb25EaXNwYXRjaGVyKFFP YmplY3QpOgorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHJlcyA9IHNlbGYuZnVuYygqYXJn cywgKiprd2FyZ3MpCisgICAgICAgICBleGNlcHQ6CisrICAgICAgICAgICAgaW1wb3J0IHRyYWNl YmFjaworKyAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQorICAgICAgICAgICAgIHJl cyA9IE5vbmUKKyAgICAgICAgIHEucHV0KHJlcykKKyAKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJy ZS9ndWkyL2NvbW1lbnRzX2VkaXRvci5weSBiL3NyYy9jYWxpYnJlL2d1aTIvY29tbWVudHNfZWRp dG9yLnB5CitpbmRleCA4ZmIyOTE5Li42MDE3YzU3IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUv Z3VpMi9jb21tZW50c19lZGl0b3IucHkKKysrKyBiL3NyYy9jYWxpYnJlL2d1aTIvY29tbWVudHNf ZWRpdG9yLnB5CitAQCAtMTk4LDcgKzE5OCw3IEBAIGRlZiB1c2VfaW1wbGljaXRfc3R5bGluZ19m b3JfYShhLCBzdHlsZV9tYXApOgorIGRlZiBtZXJnZV9jb250aWd1b3VzX2xpbmtzKHJvb3QpOgor ICAgICBhbGxfaHJlZnMgPSBzZXQocm9vdC54cGF0aCgnLy9hL0BocmVmJykpCisgICAgIGZvciBo cmVmIGluIGFsbF9ocmVmczoKKy0gICAgICAgIHRhZ3MgPSByb290LnhwYXRoKGYnLy9hW0BocmVm PSJ7aHJlZn0iXScpCisrICAgICAgICB0YWdzID0gcm9vdC54cGF0aCgnLy9hW0BocmVmPSRoXScs IGg9aHJlZikKKyAgICAgICAgIHByb2Nlc3NlZCA9IHNldCgpCisgCisgICAgICAgICBkZWYgaW5z ZXJ0X3RhZyhwYXJlbnQsIGNoaWxkKToKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9saWJyYXJ5 L2NhdGFsb2dzL2VwdWJfbW9iaS5weSBiL3NyYy9jYWxpYnJlL2xpYnJhcnkvY2F0YWxvZ3MvZXB1 Yl9tb2JpLnB5CitpbmRleCAzZTU2MjY2Li5lNjQwOGY2IDEwMDY0NAorLS0tIGEvc3JjL2NhbGli cmUvbGlicmFyeS9jYXRhbG9ncy9lcHViX21vYmkucHkKKysrKyBiL3NyYy9jYWxpYnJlL2xpYnJh cnkvY2F0YWxvZ3MvZXB1Yl9tb2JpLnB5CitAQCAtMzUxLDEwICszNTEsMTEgQEAgY2xhc3MgRVBV Ql9NT0JJKENhdGFsb2dQbHVnaW4pOgorICAgICAgICAgICAgIGxvZy5lcnJvcihmImNvZXJjaW5n IHRodW1iX3dpZHRoIGZyb20gJ3tvcHRzLnRodW1iX3dpZHRofScgdG8gJ3tzZWxmLlRIVU1CX1NN QUxMRVNUfSciKQorICAgICAgICAgICAgIG9wdHMudGh1bWJfd2lkdGggPSAnMS4wJworIAorLSAg ICAgICAgIyBldmFsIHByZWZpeF9ydWxlcyBpZiBwYXNzZWQgZnJvbSBjb21tYW5kIGxpbmUKKysg ICAgICAgICMgcGFyc2UgcHJlZml4X3J1bGVzIGlmIHBhc3NlZCBmcm9tIGNvbW1hbmQgbGluZQor ICAgICAgICAgaWYgdHlwZShvcHRzLnByZWZpeF9ydWxlcykgaXMgbm90IHR1cGxlOgorICAgICAg ICAgICAgIHRyeToKKy0gICAgICAgICAgICAgICAgb3B0cy5wcmVmaXhfcnVsZXMgPSBldmFsKG9w dHMucHJlZml4X3J1bGVzKQorKyAgICAgICAgICAgICAgICBpbXBvcnQgYXN0CisrICAgICAgICAg ICAgICAgIG9wdHMucHJlZml4X3J1bGVzID0gYXN0LmxpdGVyYWxfZXZhbChvcHRzLnByZWZpeF9y dWxlcykKKyAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihm J21hbGZvcm1lZCAtLXByZWZpeC1ydWxlczoge29wdHMucHJlZml4X3J1bGVzfScpCisgICAgICAg ICAgICAgICAgIHJhaXNlCitAQCAtMzYyLDEwICszNjMsMTEgQEAgY2xhc3MgRVBVQl9NT0JJKENh dGFsb2dQbHVnaW4pOgorICAgICAgICAgICAgICAgICBpZiBsZW4ocnVsZSkgIT0gNDoKKyAgICAg ICAgICAgICAgICAgICAgIGxvZy5lcnJvcihmJ2luY29ycmVjdCBudW1iZXIgb2YgYXJncyBmb3Ig LS1wcmVmaXgtcnVsZXM6IHtydWxlIXJ9JykKKyAKKy0gICAgICAgICMgZXZhbCBleGNsdXNpb25f cnVsZXMgaWYgcGFzc2VkIGZyb20gY29tbWFuZCBsaW5lCisrICAgICAgICAjIHBhcnNlIGV4Y2x1 c2lvbl9ydWxlcyBpZiBwYXNzZWQgZnJvbSBjb21tYW5kIGxpbmUKKyAgICAgICAgIGlmIHR5cGUo b3B0cy5leGNsdXNpb25fcnVsZXMpIGlzIG5vdCB0dXBsZToKKyAgICAgICAgICAgICB0cnk6Cist ICAgICAgICAgICAgICAgIG9wdHMuZXhjbHVzaW9uX3J1bGVzID0gZXZhbChvcHRzLmV4Y2x1c2lv bl9ydWxlcykKKysgICAgICAgICAgICAgICAgaW1wb3J0IGFzdAorKyAgICAgICAgICAgICAgICBv cHRzLmV4Y2x1c2lvbl9ydWxlcyA9IGFzdC5saXRlcmFsX2V2YWwob3B0cy5leGNsdXNpb25fcnVs ZXMpCisgICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgICBsb2cuZXJyb3IoZidt YWxmb3JtZWQgLS1leGNsdXNpb24tcnVsZXM6IHtvcHRzLmV4Y2x1c2lvbl9ydWxlc30nKQorICAg ICAgICAgICAgICAgICByYWlzZQorZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2xpYnJhcnkvZGF0 YWJhc2UyLnB5IGIvc3JjL2NhbGlicmUvbGlicmFyeS9kYXRhYmFzZTIucHkKK2luZGV4IGZmMGQz MGUuLjY0NmFkMTUgMTAwNjQ0CistLS0gYS9zcmMvY2FsaWJyZS9saWJyYXJ5L2RhdGFiYXNlMi5w eQorKysrIGIvc3JjL2NhbGlicmUvbGlicmFyeS9kYXRhYmFzZTIucHkKK0BAIC0xMDgsMTAgKzEw OCw4IEBAIGNsYXNzIExpYnJhcnlEYXRhYmFzZTIoTGlicmFyeURhdGFiYXNlLCBTY2hlbWFVcGdy YWRlLCBDdXN0b21Db2x1bW5zKToKKyAgICAgQGxpYnJhcnlfaWQuc2V0dGVyCisgICAgIGRlZiBs aWJyYXJ5X2lkKHNlbGYsIHZhbCk6CisgICAgICAgICBzZWxmLl9saWJyYXJ5X2lkXyA9IHN0cih2 YWwpCistICAgICAgICBzZWxmLmNvbm4uZXhlY3V0ZXNjcmlwdChmJycnCistICAgICAgICAgICAg ICAgIERFTEVURSBGUk9NIGxpYnJhcnlfaWQ7CistICAgICAgICAgICAgICAgIElOU0VSVCBJTlRP IGxpYnJhcnlfaWQgKHV1aWQpIFZBTFVFUyAoIntzZWxmLl9saWJyYXJ5X2lkX30iKTsKKy0gICAg ICAgICAgICAgICAgJycnKQorKyAgICAgICAgc2VsZi5jb25uLmV4ZWN1dGUoJ0RFTEVURSBGUk9N IGxpYnJhcnlfaWQnKQorKyAgICAgICAgc2VsZi5jb25uLmV4ZWN1dGUoJ0lOU0VSVCBJTlRPIGxp YnJhcnlfaWQgKHV1aWQpIFZBTFVFUyAoPyknLCAoc2VsZi5fbGlicmFyeV9pZF8sKSkKKyAgICAg ICAgIHNlbGYuY29ubi5jb21taXQoKQorIAorICAgICBkZWYgY29ubmVjdChzZWxmKToKK2RpZmYg LS1naXQgYS9zcmMvY2FsaWJyZS9zcnYvY29udGVudC5weSBiL3NyYy9jYWxpYnJlL3Nydi9jb250 ZW50LnB5CitpbmRleCAwMDk0NTgwLi4yYjFhMGU1IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUv c3J2L2NvbnRlbnQucHkKKysrKyBiL3NyYy9jYWxpYnJlL3Nydi9jb250ZW50LnB5CitAQCAtMzA2 LDcgKzMwNiw3IEBAIGRlZiBpY29uKGN0eCwgcmQsIHdoaWNoKToKKyAKKyBAZW5kcG9pbnQoJy9y ZWFkZXItYmFja2dyb3VuZC97ZW5jb2RlZF9mbmFtZX0nLCBhbmRyb2lkX3dvcmthcm91bmQ9VHJ1 ZSkKKyBkZWYgcmVhZGVyX2JhY2tncm91bmQoY3R4LCByZCwgZW5jb2RlZF9mbmFtZSk6CistICAg IGJhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5ub3JtYXB0aChvcy5wYXRoLmpvaW4oY29u ZmlnX2RpciwgJ3ZpZXdlcicsICdiYWNrZ3JvdW5kLWltYWdlcycpKSkKKysgICAgYmFzZSA9IG9z LnBhdGguYWJzcGF0aChvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihjb25maWdfZGlyLCAn dmlld2VyJywgJ2JhY2tncm91bmQtaW1hZ2VzJykpKQorICAgICBmbmFtZSA9IGJ5dGVzLmZyb21o ZXgoZW5jb2RlZF9mbmFtZSkKKyAgICAgcSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLm5vcm1w YXRoKG9zLnBhdGguam9pbihiYXNlLCBmbmFtZSkpKQorICAgICBpZiBub3QgcS5zdGFydHN3aXRo KGJhc2UpOgorZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL3V0aWxzL3NlcmlhbGl6ZS5weSBiL3Ny Yy9jYWxpYnJlL3V0aWxzL3NlcmlhbGl6ZS5weQoraW5kZXggODFlMTg3Zi4uNzVmMzM3MCAxMDA2 NDQKKy0tLSBhL3NyYy9jYWxpYnJlL3V0aWxzL3NlcmlhbGl6ZS5weQorKysrIGIvc3JjL2NhbGli cmUvdXRpbHMvc2VyaWFsaXplLnB5CitAQCAtMTE5LDQgKzExOSw0IEBAIGRlZiBwaWNrbGVfZHVt cHMoZGF0YSk6CisgCisgZGVmIHBpY2tsZV9sb2FkcyhkdW1wKToKKyAgICAgaW1wb3J0IHBpY2ts ZQorLSAgICByZXR1cm4gcGlja2xlLmxvYWRzKGR1bXAsIGVuY29kaW5nPSd1dGYtOCcpCisrICAg IHJldHVybiBwaWNrbGUubG9hZHMoZHVtcCwgZW5jb2Rpbmc9J3V0Zi04JykgICMgbm9zZWM6IG9u bHkgdXNlZCBmb3IgY2FsaWJyZSdzIG93biBzZXJpYWxpemVkIGRhdGEKZGlmZiAtTnJ1IGNhbGli cmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMDg1My1S Qi1JbnB1dC1FbnN1cmUtZmlsZXMtYXJlLWV4dHJhY3RlZC13LnBhdGNoIGNhbGlicmUtOC41LjAr ZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1F bnN1cmUtZmlsZXMtYXJlLWV4dHJhY3RlZC13LnBhdGNoCi0tLSBjYWxpYnJlLTguNS4wK2RzL2Rl Ymlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTItQ1ZFLTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJl LWZpbGVzLWFyZS1leHRyYWN0ZWQtdy5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAw MCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDky LUNWRS0yMDI2LTMwODUzLVJCLUlucHV0LUVuc3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0 Y2gJMjAyNi0wOC0wNSAyMzo1NDozOS4wMDAwMDAwMDAgKzA5MDAKQEAgLTAsMCArMSw1OCBAQAor RnJvbTogS292aWQgR295YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTogRnJpLCA2IE1h ciAyMDI2IDA3OjM5OjQ0ICswNTMwCitTdWJqZWN0OiBDVkUtMjAyNi0zMDg1MzogUkIgSW5wdXQ6 IEVuc3VyZSBmaWxlcyBhcmUgZXh0cmFjdGVkIHdpdGhpbgorIGNvbnRhaW5lciBkaXIKKworRm9y d2FyZGVkOiBub3QtbmVlZGVkCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2Nh bGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLTdtcDctcmZyZy01NDJ4CitPcmlnaW46IGh0 dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0LzBmOGRjNjM5MzM3ZDlh Y2U2NzIwMWUxNWNhMTJkNTkwNmQwNWY0YzgKKworU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9z aGkgPHlva290YS5oZ21sQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJlL2Vib29rcy9yYi9y ZWFkZXIucHkgfCAxOSArKysrKysrKysrKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE1IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9l Ym9va3MvcmIvcmVhZGVyLnB5IGIvc3JjL2NhbGlicmUvZWJvb2tzL3JiL3JlYWRlci5weQoraW5k ZXggYzFmNzdkZC4uYjEzMDY2YSAxMDA2NDQKKy0tLSBhL3NyYy9jYWxpYnJlL2Vib29rcy9yYi9y ZWFkZXIucHkKKysrKyBiL3NyYy9jYWxpYnJlL2Vib29rcy9yYi9yZWFkZXIucHkKK0BAIC02Nyw2 ICs2NywxNSBAQCBjbGFzcyBSZWFkZXI6CisgCisgICAgICAgICByZXR1cm4gdG9jCisgCisrICAg IGRlZiBnZXRfc2FmZV9wYXRoKHNlbGYsIG91dHB1dF9kaXIsIG5hbWUpOgorKyAgICAgICAgYmFz ZSA9IG9zLnBhdGguYWJzcGF0aChvdXRwdXRfZGlyKQorKyAgICAgICAgaWYgbm90IGJhc2UuZW5k c3dpdGgob3Muc2VwKToKKysgICAgICAgICAgICBiYXNlICs9IG9zLnNlcAorKyAgICAgICAgYW5z ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihiYXNlLCBuYW1lKSkKKysgICAgICAgIGlm IG9zLnBhdGguY29tbW9ucHJlZml4KFthbnMsIGJhc2VdKSAhPSBiYXNlOgorKyAgICAgICAgICAg IGFucyA9ICcnCisrICAgICAgICByZXR1cm4gYW5zCisrCisgICAgIGRlZiBnZXRfdGV4dChzZWxm LCB0b2NfaXRlbSwgb3V0cHV0X2Rpcik6CisgICAgICAgICBpZiB0b2NfaXRlbS5mbGFncyBpbiAo MSwgMik6CisgICAgICAgICAgICAgcmV0dXJuCitAQCAtODcsOCArOTYsOSBAQCBjbGFzcyBSZWFk ZXI6CisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIG91dHB1dCArPSBzZWxmLnN0cmVhbS5y ZWFkKHRvY19pdGVtLnNpemUpLmRlY29kZSgnY3AxMjUyJyBpZiBzZWxmLmVuY29kaW5nIGlzIE5v bmUgZWxzZSBzZWxmLmVuY29kaW5nLCAncmVwbGFjZScpCisgCistICAgICAgICB3aXRoIG9wZW4o b3MucGF0aC5qb2luKG91dHB1dF9kaXIsIHRvY19pdGVtLm5hbWUuZGVjb2RlKCd1dGYtOCcpKSwg J3diJykgYXMgaHRtbDoKKy0gICAgICAgICAgICBodG1sLndyaXRlKG91dHB1dC5yZXBsYWNlKCc8 VElUTEU+JywgJzxUSVRMRT4gJykuZW5jb2RlKCd1dGYtOCcpKQorKyAgICAgICAgaWYgcGF0aCA6 PSBzZWxmLmdldF9zYWZlX3BhdGgob3V0cHV0X2RpciwgdG9jX2l0ZW0ubmFtZS5kZWNvZGUoJ3V0 Zi04JykpOgorKyAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAnd2InKSBhcyBodG1sOgorKyAg ICAgICAgICAgICAgICBodG1sLndyaXRlKG91dHB1dC5yZXBsYWNlKCc8VElUTEU+JywgJzxUSVRM RT4gJykuZW5jb2RlKCd1dGYtOCcpKQorIAorICAgICBkZWYgZ2V0X2ltYWdlKHNlbGYsIHRvY19p dGVtLCBvdXRwdXRfZGlyKToKKyAgICAgICAgIGlmIHRvY19pdGVtLmZsYWdzICE9IDA6CitAQCAt OTcsOCArMTA3LDkgQEAgY2xhc3MgUmVhZGVyOgorICAgICAgICAgc2VsZi5zdHJlYW0uc2Vlayh0 b2NfaXRlbS5vZmZzZXQpCisgICAgICAgICBkYXRhID0gc2VsZi5zdHJlYW0ucmVhZCh0b2NfaXRl bS5zaXplKQorIAorLSAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCB0 b2NfaXRlbS5uYW1lLmRlY29kZSgndXRmLTgnKSksICd3YicpIGFzIGltZzoKKy0gICAgICAgICAg ICBpbWcud3JpdGUoZGF0YSkKKysgICAgICAgIGlmIHBhdGggOj0gc2VsZi5nZXRfc2FmZV9wYXRo KG91dHB1dF9kaXIsIHRvY19pdGVtLm5hbWUuZGVjb2RlKCd1dGYtOCcpKToKKysgICAgICAgICAg ICB3aXRoIG9wZW4ocGF0aCwgJ3diJykgYXMgaW1nOgorKyAgICAgICAgICAgICAgICBpbWcud3Jp dGUoZGF0YSkKKyAKKyAgICAgZGVmIGV4dHJhY3RfY29udGVudChzZWxmLCBvdXRwdXRfZGlyKToK KyAgICAgICAgIHNlbGYubG9nLmRlYnVnKCdFeHRyYWN0aW5nIGNvbnRlbnQgZnJvbSBmaWxlLi4u JykKZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5 Mi1DVkUtMjAyNi0zMzIwNS0xLTItRS1ib29rLXZpZXdlci1wcmV2ZW50LXJlYWRpbmctYmFjLnBh dGNoIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5Mi1DVkUtMjAy Ni0zMzIwNS0xLTItRS1ib29rLXZpZXdlci1wcmV2ZW50LXJlYWRpbmctYmFjLnBhdGNoCi0tLSBj YWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTItQ1ZFLTIwMjYtMzMy MDUtMS0yLUUtYm9vay12aWV3ZXItcHJldmVudC1yZWFkaW5nLWJhYy5wYXRjaAkyMDI2LTA1LTI1 IDA4OjE5OjUzLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0 Y2hlcy91cHN0cmVhbS8wMDkyLUNWRS0yMDI2LTMzMjA1LTEtMi1FLWJvb2stdmlld2VyLXByZXZl bnQtcmVhZGluZy1iYWMucGF0Y2gJMTk3MC0wMS0wMSAwOTowMDowMC4wMDAwMDAwMDAgKzA5MDAK QEAgLTEsMzEgKzAsMCBAQAotRnJvbTogS292aWQgR295YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0 PgotRGF0ZTogTW9uLCAxNiBNYXIgMjAyNiAwODo1MDoxOSArMDUzMAotU3ViamVjdDogQ1ZFLTIw MjYtMzMyMDUgKDEvMik6IEUtYm9vayB2aWV3ZXI6IHByZXZlbnQgcmVhZGluZyBiYWNrZ3JvdW5k Ci0gaW1hZ2VzIGZyb20gb3V0c2lkZSB0aGUgY29uZmlnIGRpcgotCi1Gb3J3YXJkZWQ6IG5vdC1u ZWVkZWQKLUJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9zZWN1cml0 eS9hZHZpc29yaWVzL0dIU0EtNDkyNi12OXB4LXd2N3YKLU9yaWdpbjogaHR0cHM6Ly9naXRodWIu Y29tL2tvdmlkZ295YWwvY2FsaWJyZS9jb21taXQvNmViN2I1NDU4ZjE4M2M4YTAzN2U5ZDdkYWM0 MjgxMjJhNzcyMDRlNAotCi1TaWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhn bWxAZ21haWwuY29tPgotLS0tCi0gc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIvd2ViX3ZpZXcucHkg fCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIvd2ViX3ZpZXcucHkgYi9z cmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weQotaW5kZXggZDIxMTZiYi4uZTA5Njg4 YyAxMDA2NDQKLS0tLSBhL3NyYy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5Ci0rKysg Yi9zcmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weQotQEAgLTEwNiw4ICsxMDYsMTEg QEAgZGVmIGJhY2tncm91bmRfaW1hZ2UoZW5jb2RlZF9mbmFtZT0nJyk6Ci0gICAgICAgICBleGNl cHQgRmlsZU5vdEZvdW5kRXJyb3I6Ci0gICAgICAgICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJywg YicnCi0gICAgIGZuYW1lID0gYnl0ZXMuZnJvbWhleChlbmNvZGVkX2ZuYW1lKS5kZWNvZGUoKQot LSAgICBpbWdfcGF0aCA9IG9zLnBhdGguam9pbih2aWV3ZXJfY29uZmlnX2RpciwgJ2JhY2tncm91 bmQtaW1hZ2VzJywgZm5hbWUpCi0rICAgIGJhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5q b2luKHZpZXdlcl9jb25maWdfZGlyLCAnYmFja2dyb3VuZC1pbWFnZXMnKSkgKyBvcy5zZXAKLSsg ICAgaW1nX3BhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2UsIGZuYW1lKSkK LSAgICAgbXQgPSBndWVzc190eXBlKGZuYW1lKVswXSBvciAnaW1hZ2UvanBlZycKLSsgICAgaWYg bm90IGltZ19wYXRoLnN0YXJ0c3dpdGgoYmFzZSk6Ci0rICAgICAgICByZXR1cm4gbXQsIGInJwot ICAgICB0cnk6Ci0gICAgICAgICB3aXRoIG9wZW4obWFrZV9sb25nX3BhdGhfdXNlYWJsZShpbWdf cGF0aCksICdyYicpIGFzIGY6Ci0gICAgICAgICAgICAgcmV0dXJuIG10LCBmLnJlYWQoKQpkaWZm IC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkzLUNWRS0y MDI2LTMzMjA1LTEtMi1FLWJvb2stdmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0Y2ggY2Fs aWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkzLUNWRS0yMDI2LTMzMjA1 LTEtMi1FLWJvb2stdmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0Y2gKLS0tIGNhbGlicmUt OC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5My1DVkUtMjAyNi0zMzIwNS0xLTIt RS1ib29rLXZpZXdlci1wcmV2ZW50LXJlYWRpbmctYmFjLnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6 MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vw c3RyZWFtLzAwOTMtQ1ZFLTIwMjYtMzMyMDUtMS0yLUUtYm9vay12aWV3ZXItcHJldmVudC1yZWFk aW5nLWJhYy5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApAQCAtMCww ICsxLDMxIEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+CitEYXRl OiBNb24sIDE2IE1hciAyMDI2IDA4OjUwOjE5ICswNTMwCitTdWJqZWN0OiBDVkUtMjAyNi0zMzIw NSAoMS8yKTogRS1ib29rIHZpZXdlcjogcHJldmVudCByZWFkaW5nIGJhY2tncm91bmQKKyBpbWFn ZXMgZnJvbSBvdXRzaWRlIHRoZSBjb25maWcgZGlyCisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAor QnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlz b3JpZXMvR0hTQS00OTI2LXY5cHgtd3Y3dgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20va292 aWRnb3lhbC9jYWxpYnJlL2NvbW1pdC82ZWI3YjU0NThmMTgzYzhhMDM3ZTlkN2RhYzQyODEyMmE3 NzIwNGU0CisKK1NpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFp bC5jb20+CistLS0KKyBzcmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weSB8IDUgKysr Ky0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2Rp ZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weSBiL3NyYy9jYWxp YnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5CitpbmRleCBkMjExNmJiLi5lMDk2ODhjIDEwMDY0 NAorLS0tIGEvc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIvd2ViX3ZpZXcucHkKKysrKyBiL3NyYy9j YWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5CitAQCAtMTA2LDggKzEwNiwxMSBAQCBkZWYg YmFja2dyb3VuZF9pbWFnZShlbmNvZGVkX2ZuYW1lPScnKToKKyAgICAgICAgIGV4Y2VwdCBGaWxl Tm90Rm91bmRFcnJvcjoKKyAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlL2pwZWcnLCBiJycKKyAg ICAgZm5hbWUgPSBieXRlcy5mcm9taGV4KGVuY29kZWRfZm5hbWUpLmRlY29kZSgpCistICAgIGlt Z19wYXRoID0gb3MucGF0aC5qb2luKHZpZXdlcl9jb25maWdfZGlyLCAnYmFja2dyb3VuZC1pbWFn ZXMnLCBmbmFtZSkKKysgICAgYmFzZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4odmll d2VyX2NvbmZpZ19kaXIsICdiYWNrZ3JvdW5kLWltYWdlcycpKSArIG9zLnNlcAorKyAgICBpbWdf cGF0aCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oYmFzZSwgZm5hbWUpKQorICAgICBt dCA9IGd1ZXNzX3R5cGUoZm5hbWUpWzBdIG9yICdpbWFnZS9qcGVnJworKyAgICBpZiBub3QgaW1n X3BhdGguc3RhcnRzd2l0aChiYXNlKToKKysgICAgICAgIHJldHVybiBtdCwgYicnCisgICAgIHRy eToKKyAgICAgICAgIHdpdGggb3BlbihtYWtlX2xvbmdfcGF0aF91c2VhYmxlKGltZ19wYXRoKSwg J3JiJykgYXMgZjoKKyAgICAgICAgICAgICByZXR1cm4gbXQsIGYucmVhZCgpCmRpZmYgLU5ydSBj YWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTMtQ1ZFLTIwMjYtMzMy MDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRjaCBjYWxpYnJlLTgu NS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTMtQ1ZFLTIwMjYtMzMyMDUtMi0yLUUt Ym9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRjaAotLS0gY2FsaWJyZS04LjUuMCtk cy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkzLUNWRS0yMDI2LTMzMjA1LTItMi1FLWJvb2st dmlld2VyLURpc2FsbG93LWJhY2tncm91bmQucGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAw MDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0v MDA5My1DVkUtMjAyNi0zMzIwNS0yLTItRS1ib29rLXZpZXdlci1EaXNhbGxvdy1iYWNrZ3JvdW5k LnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDM2ICswLDAg QEAKLUZyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IE1vbiwg MTYgTWFyIDIwMjYgMDg6NTg6MjUgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTMzMjA1ICgyLzIp OiBFLWJvb2sgdmlld2VyOiBEaXNhbGxvdyBiYWNrZ3JvdW5kIGltYWdlcyBmcm9tCi0gdGhlIGlu dGVybmV0LiBUaGlzIHdhcyBhbiB1bnVzZWQgZmVhdHVyZSBhbnl3YXkKLQotRm9yd2FyZGVkOiBu b3QtbmVlZGVkCi1CdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvc2Vj dXJpdHkvYWR2aXNvcmllcy9HSFNBLTQ5MjYtdjlweC13djd2Ci1PcmlnaW46IGh0dHBzOi8vZ2l0 aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0L2IxZWY2YTgxNDJiOGRhZGViN2U3MmMy NTBjNjVkNDJiMzZlZTcxMTgKLQotU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290 YS5oZ21sQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3 LnB5IHwgMTEgLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTEgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weSBiL3NyYy9j YWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5Ci1pbmRleCBlMDk2ODhjLi45YzhlMjM3IDEw MDY0NAotLS0tIGEvc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIvd2ViX3ZpZXcucHkKLSsrKyBiL3Ny Yy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5Ci1AQCAtMTE1LDE3ICsxMTUsNiBAQCBk ZWYgYmFja2dyb3VuZF9pbWFnZShlbmNvZGVkX2ZuYW1lPScnKToKLSAgICAgICAgIHdpdGggb3Bl bihtYWtlX2xvbmdfcGF0aF91c2VhYmxlKGltZ19wYXRoKSwgJ3JiJykgYXMgZjoKLSAgICAgICAg ICAgICByZXR1cm4gbXQsIGYucmVhZCgpCi0gICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoK LS0gICAgICAgIGlmIGZuYW1lLnN0YXJ0c3dpdGgoKCdodHRwczovLycsICdodHRwOi8vJykpOgot LSAgICAgICAgICAgIGZyb20gY2FsaWJyZSBpbXBvcnQgYnJvd3NlcgotLSAgICAgICAgICAgIGJy ID0gYnJvd3NlcigpCi0tICAgICAgICAgICAgdHJ5OgotLSAgICAgICAgICAgICAgICB3aXRoIGJy Lm9wZW4oZm5hbWUpIGFzIHNyYzoKLS0gICAgICAgICAgICAgICAgICAgIGRhdGEgPSBzcmMucmVh ZCgpCi0tICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLS0gICAgICAgICAgICAgICAgcmV0 dXJuIG10LCBiJycKLS0gICAgICAgICAgICB3aXRoIG9wZW4obWFrZV9sb25nX3BhdGhfdXNlYWJs ZShpbWdfcGF0aCksICd3YicpIGFzIGRlc3Q6Ci0tICAgICAgICAgICAgICAgIGRlc3Qud3JpdGUo ZGF0YSkKLS0gICAgICAgICAgICByZXR1cm4gbXQsIGRhdGEKLSAgICAgICAgIHJldHVybiBtdCwg YicnCi0gCi0gCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3Ry ZWFtLzAwOTQtQ1ZFLTIwMjYtMzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dy b3VuZC5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTQt Q1ZFLTIwMjYtMzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRj aAotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDk0LUNWRS0y MDI2LTMzMjA1LTItMi1FLWJvb2stdmlld2VyLURpc2FsbG93LWJhY2tncm91bmQucGF0Y2gJMTk3 MC0wMS0wMSAwOTowMDowMC4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGVi aWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5NC1DVkUtMjAyNi0zMzIwNS0yLTItRS1ib29rLXZpZXdl ci1EaXNhbGxvdy1iYWNrZ3JvdW5kLnBhdGNoCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAw ICswOTAwCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdv eWFsLm5ldD4KK0RhdGU6IE1vbiwgMTYgTWFyIDIwMjYgMDg6NTg6MjUgKzA1MzAKK1N1YmplY3Q6 IENWRS0yMDI2LTMzMjA1ICgyLzIpOiBFLWJvb2sgdmlld2VyOiBEaXNhbGxvdyBiYWNrZ3JvdW5k IGltYWdlcyBmcm9tCisgdGhlIGludGVybmV0LiBUaGlzIHdhcyBhbiB1bnVzZWQgZmVhdHVyZSBh bnl3YXkKKworRm9yd2FyZGVkOiBub3QtbmVlZGVkCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9r b3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLTQ5MjYtdjlweC13djd2 CitPcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0L2Ix ZWY2YTgxNDJiOGRhZGViN2U3MmMyNTBjNjVkNDJiMzZlZTcxMTgKKworU2lnbmVkLW9mZi1ieTog WU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJl L2d1aTIvdmlld2VyL3dlYl92aWV3LnB5IHwgMTEgLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdl ZCwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9ndWkyL3ZpZXdl ci93ZWJfdmlldy5weSBiL3NyYy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5CitpbmRl eCBlMDk2ODhjLi45YzhlMjM3IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIv d2ViX3ZpZXcucHkKKysrKyBiL3NyYy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5CitA QCAtMTE1LDE3ICsxMTUsNiBAQCBkZWYgYmFja2dyb3VuZF9pbWFnZShlbmNvZGVkX2ZuYW1lPScn KToKKyAgICAgICAgIHdpdGggb3BlbihtYWtlX2xvbmdfcGF0aF91c2VhYmxlKGltZ19wYXRoKSwg J3JiJykgYXMgZjoKKyAgICAgICAgICAgICByZXR1cm4gbXQsIGYucmVhZCgpCisgICAgIGV4Y2Vw dCBGaWxlTm90Rm91bmRFcnJvcjoKKy0gICAgICAgIGlmIGZuYW1lLnN0YXJ0c3dpdGgoKCdodHRw czovLycsICdodHRwOi8vJykpOgorLSAgICAgICAgICAgIGZyb20gY2FsaWJyZSBpbXBvcnQgYnJv d3NlcgorLSAgICAgICAgICAgIGJyID0gYnJvd3NlcigpCistICAgICAgICAgICAgdHJ5OgorLSAg ICAgICAgICAgICAgICB3aXRoIGJyLm9wZW4oZm5hbWUpIGFzIHNyYzoKKy0gICAgICAgICAgICAg ICAgICAgIGRhdGEgPSBzcmMucmVhZCgpCistICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoK Ky0gICAgICAgICAgICAgICAgcmV0dXJuIG10LCBiJycKKy0gICAgICAgICAgICB3aXRoIG9wZW4o bWFrZV9sb25nX3BhdGhfdXNlYWJsZShpbWdfcGF0aCksICd3YicpIGFzIGRlc3Q6CistICAgICAg ICAgICAgICAgIGRlc3Qud3JpdGUoZGF0YSkKKy0gICAgICAgICAgICByZXR1cm4gbXQsIGRhdGEK KyAgICAgICAgIHJldHVybiBtdCwgYicnCisgCisgCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2Rz L2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTQtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVu c3VyZS1yZXNvdXJjZS1maWxlcy1hcmUtci5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9w YXRjaGVzL3Vwc3RyZWFtLzAwOTQtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVuc3VyZS1yZXNv dXJjZS1maWxlcy1hcmUtci5wYXRjaAotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hl cy91cHN0cmVhbS8wMDk0LUNWRS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUtcmVzb3VyY2Ut ZmlsZXMtYXJlLXIucGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysr IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5NC1DVkUtMjAyNi0z MzIwNi1UWFQtSW5wdXQtRW5zdXJlLXJlc291cmNlLWZpbGVzLWFyZS1yLnBhdGNoCTE5NzAtMDEt MDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDI3ICswLDAgQEAKLUZyb206IEtvdmlk IEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IE1vbiwgMTYgTWFyIDIwMjYgMDg6 Mzc6MTYgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTMzMjA2OiBUWFQgSW5wdXQ6IEVuc3VyZSBy ZXNvdXJjZSBmaWxlcyBhcmUgcmVhZCBvbmx5IGZyb20KLSBib29rIGNvbnRlbnRzCi0KLUZvcndh cmRlZDogbm90LW5lZWRlZAotQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxp YnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS1oM3A0LW03NGYtNDNnNgotT3JpZ2luOiBodHRw czovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2NvbW1pdC9jNDNmMzQ3ODM3ZGJjMDBk OWE3YjVmZjE1YTIyOGI2ZjYwODFlMjkwCi0KLVNpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hp IDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvY2FsaWJyZS9lYm9va3MvY29udmVy c2lvbi9wbHVnaW5zL3R4dF9pbnB1dC5weSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29r cy9jb252ZXJzaW9uL3BsdWdpbnMvdHh0X2lucHV0LnB5IGIvc3JjL2NhbGlicmUvZWJvb2tzL2Nv bnZlcnNpb24vcGx1Z2lucy90eHRfaW5wdXQucHkKLWluZGV4IGQ2ZDQzYTYuLjZiYzgyODkgMTAw NjQ0Ci0tLS0gYS9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL3R4dF9pbnB1 dC5weQotKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy90eHRfaW5w dXQucHkKLUBAIC0xMTIsNyArMTEyLDcgQEAgY2xhc3MgVFhUSW5wdXQoSW5wdXRGb3JtYXRQbHVn aW4pOgotICAgICAgICAgICAgIHNyYyA9IGltZy5nZXQoJ3NyYycpCi0gICAgICAgICAgICAgcHJl Zml4ID0gc3JjLnNwbGl0KCc6JywgMSlbMF0ubG93ZXIoKQotICAgICAgICAgICAgIGlmIHNyYyBh bmQgcHJlZml4IG5vdCBpbiAoJ2ZpbGUnLCAnaHR0cCcsICdodHRwcycsICdmdHAnKSBhbmQgbm90 IG9zLnBhdGguaXNhYnMoc3JjKToKLS0gICAgICAgICAgICAgICAgc3JjID0gb3MucGF0aC5qb2lu KGJhc2VfZGlyLCBzcmMpCi0rICAgICAgICAgICAgICAgIHNyYyA9IG9zLnBhdGguYWJzcGF0aChv cy5wYXRoLmpvaW4oYmFzZV9kaXIsIHNyYykpCi0gICAgICAgICAgICAgICAgIGlmIG9zLnBhdGgu bm9ybWNhc2Uoc3JjKS5zdGFydHN3aXRoKGJhc2VfZGlyKSBhbmQgb3MucGF0aC5pc2ZpbGUoc3Jj KSBhbmQgb3MuYWNjZXNzKHNyYywgb3MuUl9PSyk6Ci0gICAgICAgICAgICAgICAgICAgICB3aXRo IG9wZW4oc3JjLCAncmInKSBhcyBmOgotICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBm LnJlYWQoKQpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVh bS8wMDk1LUNWRS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUtcmVzb3VyY2UtZmlsZXMtYXJl LXIucGF0Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDk1LUNW RS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUtcmVzb3VyY2UtZmlsZXMtYXJlLXIucGF0Y2gK LS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5NS1DVkUtMjAy Ni0zMzIwNi1UWFQtSW5wdXQtRW5zdXJlLXJlc291cmNlLWZpbGVzLWFyZS1yLnBhdGNoCTE5NzAt MDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlh bi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTUtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVuc3VyZS1y ZXNvdXJjZS1maWxlcy1hcmUtci5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCAr MDkwMApAQCAtMCwwICsxLDI3IEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lh bC5uZXQ+CitEYXRlOiBNb24sIDE2IE1hciAyMDI2IDA4OjM3OjE2ICswNTMwCitTdWJqZWN0OiBD VkUtMjAyNi0zMzIwNjogVFhUIElucHV0OiBFbnN1cmUgcmVzb3VyY2UgZmlsZXMgYXJlIHJlYWQg b25seSBmcm9tCisgYm9vayBjb250ZW50cworCitGb3J3YXJkZWQ6IG5vdC1uZWVkZWQKK0J1Zzog aHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9zZWN1cml0eS9hZHZpc29yaWVz L0dIU0EtaDNwNC1tNzRmLTQzZzYKK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295 YWwvY2FsaWJyZS9jb21taXQvYzQzZjM0NzgzN2RiYzAwZDlhN2I1ZmYxNWEyMjhiNmY2MDgxZTI5 MAorCitTaWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhnbWxAZ21haWwuY29t PgorLS0tCisgc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy90eHRfaW5wdXQu cHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CisKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL3R4 dF9pbnB1dC5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvdHh0X2lu cHV0LnB5CitpbmRleCBkNmQ0M2E2Li42YmM4Mjg5IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUv ZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy90eHRfaW5wdXQucHkKKysrKyBiL3NyYy9jYWxpYnJl L2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvdHh0X2lucHV0LnB5CitAQCAtMTEyLDcgKzExMiw3 IEBAIGNsYXNzIFRYVElucHV0KElucHV0Rm9ybWF0UGx1Z2luKToKKyAgICAgICAgICAgICBzcmMg PSBpbWcuZ2V0KCdzcmMnKQorICAgICAgICAgICAgIHByZWZpeCA9IHNyYy5zcGxpdCgnOicsIDEp WzBdLmxvd2VyKCkKKyAgICAgICAgICAgICBpZiBzcmMgYW5kIHByZWZpeCBub3QgaW4gKCdmaWxl JywgJ2h0dHAnLCAnaHR0cHMnLCAnZnRwJykgYW5kIG5vdCBvcy5wYXRoLmlzYWJzKHNyYyk6Cist ICAgICAgICAgICAgICAgIHNyYyA9IG9zLnBhdGguam9pbihiYXNlX2Rpciwgc3JjKQorKyAgICAg ICAgICAgICAgICBzcmMgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2VfZGlyLCBz cmMpKQorICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLm5vcm1jYXNlKHNyYykuc3RhcnRzd2l0 aChiYXNlX2RpcikgYW5kIG9zLnBhdGguaXNmaWxlKHNyYykgYW5kIG9zLmFjY2VzcyhzcmMsIG9z LlJfT0spOgorICAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHNyYywgJ3JiJykgYXMgZjoK KyAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gZi5yZWFkKCkKZGlmZiAtTnJ1IGNhbGli cmUtOC41LjArZHMvZGViaWFuL3NhbHNhLWNpLnltbCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9z YWxzYS1jaS55bWwKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3NhbHNhLWNpLnltbAkxOTcw LTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJp YW4vc2Fsc2EtY2kueW1sCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBAIC0w LDAgKzEsNiBAQAorLS0tCitpbmNsdWRlOgorICAtIGh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9z YWxzYS1jaS10ZWFtL3BpcGVsaW5lL3Jhdy9tYXN0ZXIvcmVjaXBlcy9kZWJpYW4ueW1sCisKK3Zh cmlhYmxlczoKKyAgU0FMU0FfQ0lfRElTQUJMRV9VU0NBTjogMQpkaWZmIC1OcnUgY2FsaWJyZS04 LjUuMCtkcy9kZWJpYW4vc291cmNlL2luY2x1ZGUtYmluYXJpZXMgY2FsaWJyZS04LjUuMCtkcy9k ZWJpYW4vc291cmNlL2luY2x1ZGUtYmluYXJpZXMKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFu L3NvdXJjZS9pbmNsdWRlLWJpbmFyaWVzCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICsw OTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9zb3VyY2UvaW5jbHVkZS1iaW5hcmllcwky MDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApAQCAtMCwwICsxIEBACitkZWJpYW4v dGVzdHMvZGF0YS93YXN0ZWxhbmQtd29mZi1vYmYuZXB1YgpkaWZmIC1OcnUgY2FsaWJyZS04LjUu MCtkcy9kZWJpYW4vdGVzdHMvY29udHJvbCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi90ZXN0cy9j b250cm9sCi0tLSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi90ZXN0cy9jb250cm9sCTIwMjYtMDUt MjUgMDg6MTk6NTMuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi90 ZXN0cy9jb250cm9sCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBAIC0yNCwz ICsyNCw3IEBACiBUZXN0czogY29udmVydC1tZC1lcHViLnNoCiBBcmNoaXRlY3R1cmU6IGFtZDY0 IGFybTY0IGFybWhmIGkzODYKIERlcGVuZHM6IEAsIGVwdWJjaGVjaworCisjIE9iZnVzY2F0ZWQg Zm9udHMgY29udmVyc2lvbiB0ZXN0IChEZWJpYW4gYnVnIDExNDM0ODQpCitUZXN0czogY29udmVy dC1vYmZ1c2NhdGVkLWZvbnRzLnNoCitBcmNoaXRlY3R1cmU6IGFtZDY0IGFybTY0IGFybWhmIGkz ODYKZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3Rlc3RzL2NvbnZlcnQtb2JmdXNj YXRlZC1mb250cy5zaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi90ZXN0cy9jb252ZXJ0LW9iZnVz Y2F0ZWQtZm9udHMuc2gKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3Rlc3RzL2NvbnZlcnQt b2JmdXNjYXRlZC1mb250cy5zaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMAor KysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vdGVzdHMvY29udmVydC1vYmZ1c2NhdGVkLWZvbnRz LnNoCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBAIC0wLDAgKzEsMTkgQEAK KyMhL2Jpbi9zaAorCitzZXQgLWV1CisKKyMgUXQgYnVyZnMgc29tZSB3YXJuaW5ncyB0byBzdGRl cnIgd2hlbiBpbiBHbm9tZS13YXlsYW5kIHNlc3Npb24KK3Vuc2V0IFhER19TRVNTSU9OX1RZUEUK KworIyBRdCBvdXRwdXRzIHNvbWUgd2FybmluZ3MgdG8gc3RkZXJyIGlmIFhER19SVU5USU1FX0RJ UiBpcyBub3Qgc2V0CitleHBvcnQgWERHX1JVTlRJTUVfRElSPSR7WERHX1JVTlRJTUVfRElSOj0v dG1wL3J1bnRpbWUtZGViY2l9CitlY2hvICIjIyMjIFhER19SVU5USU1FX0RJUj0ke1hER19SVU5U SU1FX0RJUn0iCisKKyMgaW5wdXQgZmlsZSB3YXMgdGFrZW4gZnJvbSBFUFVCIDMgU2FtcGxlcwor IyAgIGh0dHBzOi8vZ2l0aHViLmNvbS9JRFBGL2VwdWIzLXNhbXBsZXMvcmVsZWFzZXMvZG93bmxv YWQvMjAyMzA3MDQvd2FzdGVsYW5kLXdvZmYtb2JmLmVwdWIKKyMgICBodHRwczovL2lkcGYuZ2l0 aHViLmlvL2VwdWIzLXNhbXBsZXMvMzAvc2FtcGxlcy5odG1sCisjICAgaHR0cHM6Ly9naXRodWIu Y29tL0lEUEYvZXB1YjMtc2FtcGxlcy8KK2lucHV0X2ZpbGU9ZGViaWFuL3Rlc3RzL2RhdGEvd2Fz dGVsYW5kLXdvZmYtb2JmLmVwdWIKK291dHB1dF9maWxlPSR7QVVUT1BLR1RFU1RfQVJUSUZBQ1RT fS93YXN0ZWxhbmQtd29mZi1vYmYudHh0CisKK2Vib29rLWNvbnZlcnQgJHtpbnB1dF9maWxlfSAk e291dHB1dF9maWxlfQpCaW5hcnkgZmlsZXMgLi4uL2NhbGlicmUtOC41LjArZHMvZGViaWFuL3Rl c3RzL2RhdGEvd2FzdGVsYW5kLXdvZmYtb2JmLmVwdWIgYW5kIC4uLi9jYWxpYnJlLTguNS4wK2Rz L2RlYmlhbi90ZXN0cy9kYXRhL3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViIGRpZmZlcgo= --000000000000d24aef06585023e7 Content-Type: text/x-patch; charset="US-ASCII"; name="calibre_8.5.0+ds-1+deb13u4-minimize-1.diff" Content-Disposition: attachment; filename="calibre_8.5.0+ds-1+deb13u4-minimize-1.diff" Content-Transfer-Encoding: base64 Content-ID: <f_msgd2qrc1> X-Attachment-Id: f_msgd2qrc1 ZGlmZiAtLWdpdCBhL2RlYmlhbi9jaGFuZ2Vsb2cgYi9kZWJpYW4vY2hhbmdlbG9nCmluZGV4IDJj NjhjOWU2MTMuLmM3ZjVhZGJkYjEgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9jaGFuZ2Vsb2cKKysrIGIv ZGViaWFuL2NoYW5nZWxvZwpAQCAtMSwzICsxLDE5IEBACitjYWxpYnJlICg4LjUuMCtkcy0xK2Rl YjEzdTQpIHRyaXhpZTsgdXJnZW5jeT1tZWRpdW0KKworICAqIFRoaXMgdXBkYXRlIGFkZHMgZml4 dXAgZm9yIENWRS0yMDI2LTI1NjM2IHBhdGNoIGluIDguNS4wK2RzLTErZGViMTN1MgorCisgICog U2V0IGRlZmF1bHQgRGViaWFuIGJyYW5jaCBuYW1lIGZvciB0cml4aWUKKyAgKiBVc2Ugc2Fsc2Eg Q0kKKyAgKiBEaXNhYmxlIHVzY2FuIHRlc3QuCisgICAgSXQgYWx3YXlzIGZhaWwgYmVjYXVzZSB0 aGUgdXBzdHJlYW0gY29kZSBpcyBub3QgbGF0ZXN0IG9uZS4KKyAgKiBBZGQgdGVzdCBmb3IgcmVw cm9kdWNlIERlYmlhbiBidWcgMTE0MzQ4NAorICAqIENWRS0yMDI2LTI1NjM2ICgxLzIpOiBFUFVC IElucHV0OiBFbnN1cmUgZm9udCBvYmZ1c2NhdGlvbiBwcm9jZXNzaW5nCisgICAgaGFwcGVucyBv bmx5IG9uIGZpbGVzIGZyb20gdGhlIEVQVUIgKENsb3NlczogIzExNDM0ODQpCisgICogUmVuYW1l IGEgQ1ZFLTIwMjYtMjU2MzYgcGF0Y2ggaW4gOC41LjArZHMtMStkZWIxM3UyCisgICogUmVudW1i ZXIgcGF0Y2hlcworCisgLS0gWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdtYWlsLmNvbT4g IFdlZCwgMDUgQXVnIDIwMjYgMjM6NTQ6MzkgKzA5MDAKKwogY2FsaWJyZSAoOC41LjArZHMtMStk ZWIxM3UzKSB0cml4aWU7IHVyZ2VuY3k9bWVkaXVtCiAKICAgKiBGaXggc2VjdXJpdHkgdnVsbmVy YWJpbGl0aWVzIGFuZCBjb2RlIHF1YWxpdHkgaXNzdWVzIChDbG9zZXM6ICMxMTM1NTQzKQpkaWZm IC0tZ2l0IGEvZGViaWFuL2NvcHlyaWdodCBiL2RlYmlhbi9jb3B5cmlnaHQKaW5kZXggZWM0MjYz ZDU0MS4uOTUwNDkwZWRlYyAxMDA2NDQKLS0tIGEvZGViaWFuL2NvcHlyaWdodAorKysgYi9kZWJp YW4vY29weXJpZ2h0CkBAIC05Myw2ICs5MywxOCBAQCBDb3B5cmlnaHQ6IENvcHlyaWdodCAoQykg MjAwNywgS292aWQgR295YWwKICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDA4LCBSb3NldHRh IENvbnRyaWJ1dG9ycyBhbmQgQ2Fub25pY2FsIEx0ZC4KIExpY2Vuc2U6IEdQTC0zCiAKK0ZpbGVz OiBkZWJpYW4vKgorQ29weXJpZ2h0OiBZT0tPVEEgSGlyb3NoaSwgTWFydGluIFBpdHQsIE5pY2hv bGFzIEQgU3RlZXZlcworTGljZW5zZTogR1BMLTMKKworRmlsZXM6IGRlYmlhbi90ZXN0cy9kYXRh L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCitDb3B5cmlnaHQ6IEVQVUIgMyBDb21tdW5pdHkgR3Jv dXAKK0xpY2Vuc2U6IENDLUJZLVNBLTMuMAorQ29tbWVudDogaW5wdXQgZmlsZSB3YXMgdGFrZW4g ZnJvbSBFUFVCIDMgU2FtcGxlcworICBodHRwczovL2dpdGh1Yi5jb20vSURQRi9lcHViMy1zYW1w bGVzL3JlbGVhc2VzL2Rvd25sb2FkLzIwMjMwNzA0L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCisg IGh0dHBzOi8vaWRwZi5naXRodWIuaW8vZXB1YjMtc2FtcGxlcy8zMC9zYW1wbGVzLmh0bWwKKyAg aHR0cHM6Ly9naXRodWIuY29tL0lEUEYvZXB1YjMtc2FtcGxlcy8KKwogCiBMaWNlbnNlOiBBcGFj aGUtMi4wCiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgR1BMIGlzIGRpc3RyaWJ1dGVkIGFzIGluCkBA IC0xMTgsNiArMTMwLDEwIEBAIExpY2Vuc2U6IExHUEwtMi4xKwogIFRoZSBmdWxsIHRleHQgb2Yg dGhlIExHUEwgaXMgZGlzdHJpYnV0ZWQgYXMgaW4KICAvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNl cy9MR1BMLTIuMSBvbiBEZWJpYW4gc3lzdGVtcy4KIAorTGljZW5zZTogQ0MtQlktU0EtMy4wCisg VGhlIGZ1bGwgdGV4dCBvZiB0aGUgQ0MtQlktU0EtMy4wIGlzIGRpc3RyaWJ1dGVkIGFzIGluCisg L3Vzci9zaGFyZS9jb21tb24tbGljZW5zZXMvQ0MtQlktU0EtMy4wIG9uIERlYmlhbiBzeXN0ZW1z LgorCiBMaWNlbnNlOiBCU0QtMy1DbGF1c2UKICBBbGwgcmlnaHRzIHJlc2VydmVkLgogIC4KZGlm ZiAtLWdpdCBhL2RlYmlhbi9nYnAuY29uZiBiL2RlYmlhbi9nYnAuY29uZgppbmRleCA2YjdjZGZl NDNjLi40Y2M4MzQ1ZjhlIDEwMDY0NAotLS0gYS9kZWJpYW4vZ2JwLmNvbmYKKysrIGIvZGViaWFu L2dicC5jb25mCkBAIC0xLDUgKzEsNiBAQAogW0RFRkFVTFRdCiBwcmlzdGluZS10YXIgPSBUcnVl CitkZWJpYW4tYnJhbmNoID0gZGViaWFuL3RyaXhpZQogCiBbZGNoXQogZnVsbCA9IFRydWUKZGlm ZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3NlcmllcyBiL2RlYmlhbi9wYXRjaGVzL3Nlcmllcwpp bmRleCBkYTkyYTFlNDExLi44ZWUyNWQ0ZTNkIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9z ZXJpZXMKKysrIGIvZGViaWFuL3BhdGNoZXMvc2VyaWVzCkBAIC04MSwxNCArODEsMTUgQEAgcHlr YWthc2kvMDA4MC1SZXZlcnQtRml4LWEtcmVncmVzc2lvbi10aGF0LWNhdXNlZC1pbmNvcnJlY3Qt RW5nbGlzLnBhdGNoCiAwMDgxLVJldmVydC1VcGRhdGUtN3ppcC13cmFwcGVyLWNvZGUtZm9yLXJl bW92YWwtb2YtcmVhZC0ucGF0Y2gKIHVwc3RyZWFtLzAwODItRml4LUNWRS0yMDI1LTY0NDg2LnBh dGNoCiB1cHN0cmVhbS8wMDgzLUNWRS0yMDI2LTI1NjM1LUNITS1JbnB1dC1JZ25vcmUtaW50ZXJu YWwtZmlsZXMtdGhhdC0ucGF0Y2gKLXVwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtRFJZZXIu cGF0Y2gKLXVwc3RyZWFtLzAwODUtQ1ZFLTIwMjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhl LXRlbXBsYXRlLWVuZ2luZS5wYXRjaAotdXBzdHJlYW0vMDA4Ni1DVkUtMjAyNi0yNjA2NC1PRFQt SW5wdXQtRW5zdXJlLWltYWdlcy1hcmUtZXh0cmFjdGVkLnBhdGNoCi11cHN0cmVhbS8wMDg3LUNW RS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFjdGVkLWltYWdlcy1hcmUucGF0Y2gK LXVwc3RyZWFtLzAwODgtQ1ZFLTIwMjYtMjc4MTAtQ29udGVudC1zZXJ2ZXItU2FuaXRpemUtY29u dGVudC1kaXNwby5wYXRjaAotdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgyNC1Db250ZW50LXNl cnZlci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoCi11cHN0cmVhbS8wMDkwLUZpeC1zZWN1 cml0eS12dWxuZXJhYmlsaXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0Y2gKLXVwc3Ry ZWFtLzAwOTEtQ1ZFLTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJlLWZpbGVzLWFyZS1leHRyYWN0 ZWQtdy5wYXRjaAotdXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMzIwNS0xLTItRS1ib29rLXZpZXdl ci1wcmV2ZW50LXJlYWRpbmctYmFjLnBhdGNoCi11cHN0cmVhbS8wMDkzLUNWRS0yMDI2LTMzMjA1 LTItMi1FLWJvb2stdmlld2VyLURpc2FsbG93LWJhY2tncm91bmQucGF0Y2gKLXVwc3RyZWFtLzAw OTQtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVuc3VyZS1yZXNvdXJjZS1maWxlcy1hcmUtci5w YXRjaAordXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi0xLTItRVBVQi1JbnB1dC1FbnN1cmUt Zm9udC1vYmZ1c2NhdGlvLnBhdGNoCit1cHN0cmVhbS8wMDg1LUNWRS0yMDI2LTI1NjM2LTItMi1E Ulllci5wYXRjaAordXBzdHJlYW0vMDA4Ni1DVkUtMjAyNi0yNTczMS1aSVAtT3V0cHV0LUNoYW5n ZS10aGUtdGVtcGxhdGUtZW5naW5lLnBhdGNoCit1cHN0cmVhbS8wMDg3LUNWRS0yMDI2LTI2MDY0 LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0ZWQucGF0Y2gKK3Vwc3RyZWFtLzAw ODgtQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVuc3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFyZS5w YXRjaAordXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgxMC1Db250ZW50LXNlcnZlci1TYW5pdGl6 ZS1jb250ZW50LWRpc3BvLnBhdGNoCit1cHN0cmVhbS8wMDkwLUNWRS0yMDI2LTI3ODI0LUNvbnRl bnQtc2VydmVyLVdoZW4tYmFubmluZy1JUHMtZm9yLXIucGF0Y2gKK3Vwc3RyZWFtLzAwOTEtRml4 LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlzc3Vlcy5wYXRjaAor dXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1FbnN1cmUtZmlsZXMtYXJlLWV4 dHJhY3RlZC13LnBhdGNoCit1cHN0cmVhbS8wMDkzLUNWRS0yMDI2LTMzMjA1LTEtMi1FLWJvb2st dmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0Y2gKK3Vwc3RyZWFtLzAwOTQtQ1ZFLTIwMjYt MzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRjaAordXBzdHJl YW0vMDA5NS1DVkUtMjAyNi0zMzIwNi1UWFQtSW5wdXQtRW5zdXJlLXJlc291cmNlLWZpbGVzLWFy ZS1yLnBhdGNoCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg0LUNWRS0y MDI2LTI1NjM2LTEtMi1FUFVCLUlucHV0LUVuc3VyZS1mb250LW9iZnVzY2F0aW8ucGF0Y2ggYi9k ZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg0LUNWRS0yMDI2LTI1NjM2LTEtMi1FUFVCLUlucHV0 LUVuc3VyZS1mb250LW9iZnVzY2F0aW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMC4uOWY5MDZkNzY4YQotLS0gL2Rldi9udWxsCisrKyBiL2RlYmlhbi9wYXRjaGVz L3Vwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtMS0yLUVQVUItSW5wdXQtRW5zdXJlLWZvbnQt b2JmdXNjYXRpby5wYXRjaApAQCAtMCwwICsxLDYzIEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292 aWRAa292aWRnb3lhbC5uZXQ+CitEYXRlOiBNb24sIDIgRmViIDIwMjYgMDk6NTE6MTggKzA1MzAK K1N1YmplY3Q6IENWRS0yMDI2LTI1NjM2ICgxLzIpOiBFUFVCIElucHV0OiBFbnN1cmUgZm9udCBv YmZ1c2NhdGlvbiBwcm9jZXNzaW5nCisgaGFwcGVucyBvbmx5IG9uIGZpbGVzIGZyb20gdGhlIEVQ VUIKKworRm9yd2FyZGVkOiBub3QtbmVlZGVkCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3Zp ZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLThyMjYtbTdqNS1obTI5CitP cmlnaW46IGJhY2twb3J0LCBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2Nv bW1pdC8yNjdiZmQzNDAyMGE0ZjI5N2MyZGU5Y2MwY2RlNTBlYmU1ZDAyNGQ0CitCdWctRGViaWFu OiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTExNDM0 ODQKKworU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdtYWlsLmNv bT4KKy0tLQorIHNyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1 dC5weSB8ICA0ICsrKy0KKyBzcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMucHkgICAgICAgICAg ICAgICAgICAgICAgfCAxNCArKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvZWJv b2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5IGIvc3JjL2NhbGlicmUvZWJvb2tz L2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5CitpbmRleCAyNTA1MTY5Li5mNjJmZWQx IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHVi X2lucHV0LnB5CisrKysgYi9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2Vw dWJfaW5wdXQucHkKK0BAIC00NCw2ICs0NCw4IEBAIGNsYXNzIEVQVUJJbnB1dChJbnB1dEZvcm1h dFBsdWdpbik6CisgICAgICAgICBpbXBvcnQgdXVpZAorIAorICAgICAgICAgZnJvbSBseG1sIGlt cG9ydCBldHJlZQorKworKyAgICAgICAgZnJvbSBjYWxpYnJlLnV0aWxzLmZpbGVuYW1lcyBpbXBv cnQgaXNfZXhpc3Rpbmdfc3VicGF0aAorICAgICAgICAgaWRwZl9rZXkgPSBvcGYucmF3X3VuaXF1 ZV9pZGVudGlmaWVyCisgICAgICAgICBpZiBpZHBmX2tleToKKyAgICAgICAgICAgICBpZHBmX2tl eSA9IHJlLnN1YihyJ1sgXHRcclxuXScsICcnLCBpZHBmX2tleSkKK0BAIC03NCw3ICs3Niw3IEBA IGNsYXNzIEVQVUJJbnB1dChJbnB1dEZvcm1hdFBsdWdpbik6CisgICAgICAgICAgICAgICAgIHVy aSA9IGNyLmdldCgnVVJJJykKKyAgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJzcGF0 aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGVuY2ZpbGUpLCAnLi4nLCAqdXJpLnNwbGl0 KCcvJykpKQorICAgICAgICAgICAgICAgICB0a2V5ID0gKGtleSBpZiBhbGdvcml0aG0gPT0gQURP QkVfT0JGVVNDQVRJT04gZWxzZSBpZHBmX2tleSkKKy0gICAgICAgICAgICAgICAgaWYgKHRrZXkg YW5kIG9zLnBhdGguZXhpc3RzKHBhdGgpKToKKysgICAgICAgICAgICAgICAgaWYgKHRrZXkgYW5k IGlzX2V4aXN0aW5nX3N1YnBhdGgocGF0aCwgb3MuZ2V0Y3dkKCkpKToKKyAgICAgICAgICAgICAg ICAgICAgIHNlbGYuX2VuY3J5cHRlZF9mb250X3VyaXMuYXBwZW5kKHVyaSkKKyAgICAgICAgICAg ICAgICAgICAgIGRlY3J5cHRfZm9udCh0a2V5LCBwYXRoLCBhbGdvcml0aG0pCisgICAgICAgICAg ICAgcmV0dXJuIFRydWUKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMu cHkgYi9zcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMucHkKK2luZGV4IDUxODJmNzUuLjFjYjA3 ZjQgMTAwNjQ0CistLS0gYS9zcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMucHkKKysrKyBiL3Ny Yy9jYWxpYnJlL3V0aWxzL2ZpbGVuYW1lcy5weQorQEAgLTY0NCw2ICs2NDQsMjAgQEAgZGVmIGNv cHl0cmVlX3VzaW5nX2xpbmtzKHBhdGgsIGRlc3QsIGRlc3RfaXNfcGFyZW50PVRydWUsIGZpbGVj b3B5ZnVuYz1jb3B5ZmlsZSkKKyAgICAgICAgICAgICAgICAgZmlsZWNvcHlmdW5jKHNyYywgZGYp CisgCisgCisrZGVmIGlzX2V4aXN0aW5nX3N1YnBhdGgoY2hpbGQ6IHN0ciwgcGFyZW50OiBzdHIp IC0+IGJvb2w6CisrICAgICcgQ2hlY2sgaWYgY2hpbGQgaXMgdW5kZXIgcGFyZW50LiBJZiBlaXRo ZXIgY2hpbGQgb3IgcGFyZW50IGRvbnQgZXhpc3QsIHJldHVybnMgRmFsc2UuICcKKysgICAgdHJ5 OgorKyAgICAgICAgcGFyZW50ID0gb3MucGF0aC5yZWFscGF0aChwYXJlbnQsIHN0cmljdD1UcnVl KSAgIyByZXNvbHZlIHN5bWxpbmtzCisrICAgICAgICBjaGlsZCA9IG9zLnBhdGgucmVhbHBhdGgo Y2hpbGQsIHN0cmljdD1UcnVlKQorKyAgICBleGNlcHQgT1NFcnJvcjoKKysgICAgICAgIHJldHVy biBGYWxzZQorKyAgICBwYXJlbnQgPSBvcy5wYXRoLmFic3BhdGgocGFyZW50KQorKyAgICBjaGls ZCA9IG9zLnBhdGguYWJzcGF0aChjaGlsZCkKKysgICAgaWYgbm90IHBhcmVudC5lbmRzd2l0aChv cy5zZXApOgorKyAgICAgICAgcGFyZW50ICs9IG9zLnNlcAorKyAgICByZXR1cm4gY2hpbGQuc3Rh cnRzd2l0aChwYXJlbnQpCisrCisrCisgcm10cmVlID0gc2h1dGlsLnJtdHJlZQorIAorIApkaWZm IC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi1EUlll ci5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODUtQ1ZFLTIwMjYtMjU2MzYtMi0y LURSWWVyLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIGRlYmlhbi9wYXRj aGVzL3Vwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtRFJZZXIucGF0Y2gKcmVuYW1lIHRvIGRl Ymlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODUtQ1ZFLTIwMjYtMjU2MzYtMi0yLURSWWVyLnBhdGNo CmluZGV4IGM0ZDA4YWY0NDQuLmUwNTdlYzkzMGMgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVz L3Vwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtRFJZZXIucGF0Y2gKKysrIGIvZGViaWFuL3Bh dGNoZXMvdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0yNTYzNi0yLTItRFJZZXIucGF0Y2gKQEAgLTEs NiArMSw2IEBACiBGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+CiBEYXRl OiBNb24sIDIgRmViIDIwMjYgMTE6MjU6MDkgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTI1NjM2 OiBEUlllcgorU3ViamVjdDogQ1ZFLTIwMjYtMjU2MzYgKDIvMik6IERSWWVyCiAKIEZvcndhcmRl ZDogbm90LW5lZWRlZAogQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJl L3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS04cjI2LW03ajUtaG0yOQpAQCAtMTIsMTAgKzEyLDEw IEBAIFNpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+ CiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlm ZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1 dC5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5w eQotaW5kZXggMjUwNTE2OS4uZWRmZWJlZSAxMDA2NDQKK2luZGV4IGY2MmZlZDEuLjZiODE5NDkg MTAwNjQ0CiAtLS0gYS9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2VwdWJf aW5wdXQucHkKICsrKyBiL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1 Yl9pbnB1dC5weQotQEAgLTY2LDE1ICs2NiwxNyBAQCBjbGFzcyBFUFVCSW5wdXQoSW5wdXRGb3Jt YXRQbHVnaW4pOgorQEAgLTY4LDE1ICs2OCwxNyBAQCBjbGFzcyBFUFVCSW5wdXQoSW5wdXRGb3Jt YXRQbHVnaW4pOgogIAogICAgICAgICAgdHJ5OgogICAgICAgICAgICAgIHJvb3QgPSBldHJlZS5w YXJzZShlbmNmaWxlKQpAQCAtMzAsNyArMzAsNyBAQCBpbmRleCAyNTA1MTY5Li5lZGZlYmVlIDEw MDY0NAogLSAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9p bihvcy5wYXRoLmRpcm5hbWUoZW5jZmlsZSksICcuLicsICp1cmkuc3BsaXQoJy8nKSkpCiArICAg ICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2UsICcu LicsICp1cmkuc3BsaXQoJy8nKSkpCiAgICAgICAgICAgICAgICAgIHRrZXkgPSAoa2V5IGlmIGFs Z29yaXRobSA9PSBBRE9CRV9PQkZVU0NBVElPTiBlbHNlIGlkcGZfa2V5KQotLSAgICAgICAgICAg ICAgICBpZiAodGtleSBhbmQgb3MucGF0aC5leGlzdHMocGF0aCkpOgorLSAgICAgICAgICAgICAg ICBpZiAodGtleSBhbmQgaXNfZXhpc3Rpbmdfc3VicGF0aChwYXRoLCBvcy5nZXRjd2QoKSkpOgog KyAgICAgICAgICAgICAgICBpZiAodGtleSBhbmQgaXNfZXhpc3Rpbmdfc3VicGF0aChwYXRoLCBj b250YWluZXJfYmFzZSkpOgogICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZW5jcnlwdGVkX2Zv bnRfdXJpcy5hcHBlbmQodXJpKQogICAgICAgICAgICAgICAgICAgICAgZGVjcnlwdF9mb250KHRr ZXksIHBhdGgsIGFsZ29yaXRobSkKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFt LzAwODUtQ1ZFLTIwMjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVuZ2lu ZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjU3MzEtWklQ LU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVuZ2luZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4 IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0y NTczMS1aSVAtT3V0cHV0LUNoYW5nZS10aGUtdGVtcGxhdGUtZW5naW5lLnBhdGNoCnJlbmFtZSB0 byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg2LUNWRS0yMDI2LTI1NzMxLVpJUC1PdXRwdXQt Q2hhbmdlLXRoZS10ZW1wbGF0ZS1lbmdpbmUucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRj aGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1pbWFnZXMt YXJlLWV4dHJhY3RlZC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODctQ1ZFLTIw MjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1pbWFnZXMtYXJlLWV4dHJhY3RlZC5wYXRjaApzaW1p bGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4 Ni1DVkUtMjAyNi0yNjA2NC1PRFQtSW5wdXQtRW5zdXJlLWltYWdlcy1hcmUtZXh0cmFjdGVkLnBh dGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg3LUNWRS0yMDI2LTI2MDY0 LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0ZWQucGF0Y2gKZGlmZiAtLWdpdCBh L2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODctQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVu c3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFyZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFt LzAwODgtQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVuc3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFy ZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMv dXBzdHJlYW0vMDA4Ny1DVkUtMjAyNi0yNjA2NS1QREItSW5wdXQtRW5zdXJlLWV4dHJhY3RlZC1p bWFnZXMtYXJlLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg4LUNW RS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFjdGVkLWltYWdlcy1hcmUucGF0Y2gK ZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODgtQ1ZFLTIwMjYtMjc4MTAt Q29udGVudC1zZXJ2ZXItU2FuaXRpemUtY29udGVudC1kaXNwby5wYXRjaCBiL2RlYmlhbi9wYXRj aGVzL3Vwc3RyZWFtLzAwODktQ1ZFLTIwMjYtMjc4MTAtQ29udGVudC1zZXJ2ZXItU2FuaXRpemUt Y29udGVudC1kaXNwby5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGVi aWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OC1DVkUtMjAyNi0yNzgxMC1Db250ZW50LXNlcnZlci1T YW5pdGl6ZS1jb250ZW50LWRpc3BvLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0 cmVhbS8wMDg5LUNWRS0yMDI2LTI3ODEwLUNvbnRlbnQtc2VydmVyLVNhbml0aXplLWNvbnRlbnQt ZGlzcG8ucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODktQ1ZF LTIwMjYtMjc4MjQtQ29udGVudC1zZXJ2ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5wYXRjaCBi L2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTAtQ1ZFLTIwMjYtMjc4MjQtQ29udGVudC1zZXJ2 ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVu YW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgyNC1Db250 ZW50LXNlcnZlci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4v cGF0Y2hlcy91cHN0cmVhbS8wMDkwLUNWRS0yMDI2LTI3ODI0LUNvbnRlbnQtc2VydmVyLVdoZW4t YmFubmluZy1JUHMtZm9yLXIucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3Ry ZWFtLzAwOTAtRml4LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlz c3Vlcy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTEtRml4LXNlY3VyaXR5LXZ1 bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlzc3Vlcy5wYXRjaApzaW1pbGFyaXR5IGlu ZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MC1GaXgtc2Vj dXJpdHktdnVsbmVyYWJpbGl0aWVzLWFuZC1jb2RlLXF1YWxpdHktaXNzdWVzLnBhdGNoCnJlbmFt ZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkxLUZpeC1zZWN1cml0eS12dWxuZXJhYmls aXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9w YXRjaGVzL3Vwc3RyZWFtLzAwOTEtQ1ZFLTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJlLWZpbGVz LWFyZS1leHRyYWN0ZWQtdy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTItQ1ZF LTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJlLWZpbGVzLWFyZS1leHRyYWN0ZWQtdy5wYXRjaApz aW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0v MDA5MS1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1FbnN1cmUtZmlsZXMtYXJlLWV4dHJhY3RlZC13 LnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkyLUNWRS0yMDI2LTMw ODUzLVJCLUlucHV0LUVuc3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0Y2gKZGlmZiAtLWdp dCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTItQ1ZFLTIwMjYtMzMyMDUtMS0yLUUtYm9v ay12aWV3ZXItcHJldmVudC1yZWFkaW5nLWJhYy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3Ry ZWFtLzAwOTMtQ1ZFLTIwMjYtMzMyMDUtMS0yLUUtYm9vay12aWV3ZXItcHJldmVudC1yZWFkaW5n LWJhYy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNo ZXMvdXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMzIwNS0xLTItRS1ib29rLXZpZXdlci1wcmV2ZW50 LXJlYWRpbmctYmFjLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkz LUNWRS0yMDI2LTMzMjA1LTEtMi1FLWJvb2stdmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0 Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTMtQ1ZFLTIwMjYtMzMy MDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRjaCBiL2RlYmlhbi9w YXRjaGVzL3Vwc3RyZWFtLzAwOTQtQ1ZFLTIwMjYtMzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlz YWxsb3ctYmFja2dyb3VuZC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20g ZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5My1DVkUtMjAyNi0zMzIwNS0yLTItRS1ib29rLXZp ZXdlci1EaXNhbGxvdy1iYWNrZ3JvdW5kLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91 cHN0cmVhbS8wMDk0LUNWRS0yMDI2LTMzMjA1LTItMi1FLWJvb2stdmlld2VyLURpc2FsbG93LWJh Y2tncm91bmQucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTQt Q1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVuc3VyZS1yZXNvdXJjZS1maWxlcy1hcmUtci5wYXRj aCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTUtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0 LUVuc3VyZS1yZXNvdXJjZS1maWxlcy1hcmUtci5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUK cmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5NC1DVkUtMjAyNi0zMzIwNi1U WFQtSW5wdXQtRW5zdXJlLXJlc291cmNlLWZpbGVzLWFyZS1yLnBhdGNoCnJlbmFtZSB0byBkZWJp YW4vcGF0Y2hlcy91cHN0cmVhbS8wMDk1LUNWRS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUt cmVzb3VyY2UtZmlsZXMtYXJlLXIucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9zYWxzYS1jaS55 bWwgYi9kZWJpYW4vc2Fsc2EtY2kueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLmY3YjY5OTI5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9kZWJpYW4vc2Fsc2EtY2kueW1s CkBAIC0wLDAgKzEsNiBAQAorLS0tCitpbmNsdWRlOgorICAtIGh0dHBzOi8vc2Fsc2EuZGViaWFu Lm9yZy9zYWxzYS1jaS10ZWFtL3BpcGVsaW5lL3Jhdy9tYXN0ZXIvcmVjaXBlcy9kZWJpYW4ueW1s CisKK3ZhcmlhYmxlczoKKyAgU0FMU0FfQ0lfRElTQUJMRV9VU0NBTjogMQpkaWZmIC0tZ2l0IGEv ZGViaWFuL3NvdXJjZS9pbmNsdWRlLWJpbmFyaWVzIGIvZGViaWFuL3NvdXJjZS9pbmNsdWRlLWJp bmFyaWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjM4OTQ3N2QwZGIK LS0tIC9kZXYvbnVsbAorKysgYi9kZWJpYW4vc291cmNlL2luY2x1ZGUtYmluYXJpZXMKQEAgLTAs MCArMSBAQAorZGViaWFuL3Rlc3RzL2RhdGEvd2FzdGVsYW5kLXdvZmYtb2JmLmVwdWIKZGlmZiAt LWdpdCBhL2RlYmlhbi90ZXN0cy9jb250cm9sIGIvZGViaWFuL3Rlc3RzL2NvbnRyb2wKaW5kZXgg Y2NhYjhlNzU3MS4uNGQ5ODdhYjBmZSAxMDA2NDQKLS0tIGEvZGViaWFuL3Rlc3RzL2NvbnRyb2wK KysrIGIvZGViaWFuL3Rlc3RzL2NvbnRyb2wKQEAgLTI0LDMgKzI0LDcgQEAgUmVzdHJpY3Rpb25z OiBzdXBlcmZpY2lhbAogVGVzdHM6IGNvbnZlcnQtbWQtZXB1Yi5zaAogQXJjaGl0ZWN0dXJlOiBh bWQ2NCBhcm02NCBhcm1oZiBpMzg2CiBEZXBlbmRzOiBALCBlcHViY2hlY2sKKworIyBPYmZ1c2Nh dGVkIGZvbnRzIGNvbnZlcnNpb24gdGVzdCAoRGViaWFuIGJ1ZyAxMTQzNDg0KQorVGVzdHM6IGNv bnZlcnQtb2JmdXNjYXRlZC1mb250cy5zaAorQXJjaGl0ZWN0dXJlOiBhbWQ2NCBhcm02NCBhcm1o ZiBpMzg2CmRpZmYgLS1naXQgYS9kZWJpYW4vdGVzdHMvY29udmVydC1vYmZ1c2NhdGVkLWZvbnRz LnNoIGIvZGViaWFuL3Rlc3RzL2NvbnZlcnQtb2JmdXNjYXRlZC1mb250cy5zaApuZXcgZmlsZSBt b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwLi42NzkxYmJjNWNjCi0tLSAvZGV2L251bGwKKysr IGIvZGViaWFuL3Rlc3RzL2NvbnZlcnQtb2JmdXNjYXRlZC1mb250cy5zaApAQCAtMCwwICsxLDE5 IEBACisjIS9iaW4vc2gKKworc2V0IC1ldQorCisjIFF0IGJ1cmZzIHNvbWUgd2FybmluZ3MgdG8g c3RkZXJyIHdoZW4gaW4gR25vbWUtd2F5bGFuZCBzZXNzaW9uCit1bnNldCBYREdfU0VTU0lPTl9U WVBFCisKKyMgUXQgb3V0cHV0cyBzb21lIHdhcm5pbmdzIHRvIHN0ZGVyciBpZiBYREdfUlVOVElN RV9ESVIgaXMgbm90IHNldAorZXhwb3J0IFhER19SVU5USU1FX0RJUj0ke1hER19SVU5USU1FX0RJ Ujo9L3RtcC9ydW50aW1lLWRlYmNpfQorZWNobyAiIyMjIyBYREdfUlVOVElNRV9ESVI9JHtYREdf UlVOVElNRV9ESVJ9IgorCisjIGlucHV0IGZpbGUgd2FzIHRha2VuIGZyb20gRVBVQiAzIFNhbXBs ZXMKKyMgICBodHRwczovL2dpdGh1Yi5jb20vSURQRi9lcHViMy1zYW1wbGVzL3JlbGVhc2VzL2Rv d25sb2FkLzIwMjMwNzA0L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCisjICAgaHR0cHM6Ly9pZHBm LmdpdGh1Yi5pby9lcHViMy1zYW1wbGVzLzMwL3NhbXBsZXMuaHRtbAorIyAgIGh0dHBzOi8vZ2l0 aHViLmNvbS9JRFBGL2VwdWIzLXNhbXBsZXMvCitpbnB1dF9maWxlPWRlYmlhbi90ZXN0cy9kYXRh L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCitvdXRwdXRfZmlsZT0ke0FVVE9QS0dURVNUX0FSVElG QUNUU30vd2FzdGVsYW5kLXdvZmYtb2JmLnR4dAorCitlYm9vay1jb252ZXJ0ICR7aW5wdXRfZmls ZX0gJHtvdXRwdXRfZmlsZX0KZGlmZiAtLWdpdCBhL2RlYmlhbi90ZXN0cy9kYXRhL3dhc3RlbGFu ZC13b2ZmLW9iZi5lcHViIGIvZGViaWFuL3Rlc3RzL2RhdGEvd2FzdGVsYW5kLXdvZmYtb2JmLmVw dWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMmRlYmRmZjYxNgpCaW5h cnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL2RlYmlhbi90ZXN0cy9kYXRhL3dhc3RlbGFuZC13b2Zm LW9iZi5lcHViIGRpZmZlcgo= --000000000000d24aef06585023e7--