[mb-commits] r13698 - in search_server/trunk: index/src/main/java/org/musicbrainz/search/index index/src/test/java/org/musicbrainz/search/index servlet/src/test/java/org/musicbrainz/search/servlet
[email protected] Wed, 05 Jun 2013 10:59:31 +0000
| Newsgroups | gmane.comp.audio.musicbrainz.cvs |
|---|---|
| Message-ID | <E1UkBRD-0003BD-6r@wiley> |
QXV0aG9yOiBpamFiegpEYXRlOiAyMDEzLTA2LTA1IDEwOjU5OjI0ICswMDAwIChXZWQsIDA1IEp1 biAyMDEzKQpOZXcgUmV2aXNpb246IDEzNjk4CgpNb2RpZmllZDoKICAgc2VhcmNoX3NlcnZlci90 cnVuay9pbmRleC9zcmMvbWFpbi9qYXZhL29yZy9tdXNpY2JyYWluei9zZWFyY2gvaW5kZXgvQXJ0 aXN0SW5kZXguamF2YQogICBzZWFyY2hfc2VydmVyL3RydW5rL2luZGV4L3NyYy9tYWluL2phdmEv b3JnL211c2ljYnJhaW56L3NlYXJjaC9pbmRleC9BcnRpc3RJbmRleEZpZWxkLmphdmEKICAgc2Vh cmNoX3NlcnZlci90cnVuay9pbmRleC9zcmMvbWFpbi9qYXZhL29yZy9tdXNpY2JyYWluei9zZWFy Y2gvaW5kZXgvTGFiZWxJbmRleC5qYXZhCiAgIHNlYXJjaF9zZXJ2ZXIvdHJ1bmsvaW5kZXgvc3Jj L21haW4vamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2luZGV4L0xhYmVsSW5kZXhGaWVsZC5q YXZhCiAgIHNlYXJjaF9zZXJ2ZXIvdHJ1bmsvaW5kZXgvc3JjL3Rlc3QvamF2YS9vcmcvbXVzaWNi cmFpbnovc2VhcmNoL2luZGV4L0FydGlzdEluZGV4VGVzdC5qYXZhCiAgIHNlYXJjaF9zZXJ2ZXIv dHJ1bmsvaW5kZXgvc3JjL3Rlc3QvamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2luZGV4L0xh YmVsSW5kZXhUZXN0LmphdmEKICAgc2VhcmNoX3NlcnZlci90cnVuay9zZXJ2bGV0L3NyYy90ZXN0 L2phdmEvb3JnL211c2ljYnJhaW56L3NlYXJjaC9zZXJ2bGV0L0ZpbmRBcnRpc3RUZXN0LmphdmEK ICAgc2VhcmNoX3NlcnZlci90cnVuay9zZXJ2bGV0L3NyYy90ZXN0L2phdmEvb3JnL211c2ljYnJh aW56L3NlYXJjaC9zZXJ2bGV0L0ZpbmRMYWJlbFRlc3QuamF2YQpMb2c6ClNFQVJDSC0yOTI6IElu Y2x1ZGUgYXJlYSBpbmZvIGluIHRoZSBpbmRleGVkIHNlYXJjaCByZXN1bHRzIGZyaW8gYXJ0aXN0 cyBhbmQgbGFiZWxzCgpNb2RpZmllZDogc2VhcmNoX3NlcnZlci90cnVuay9pbmRleC9zcmMvbWFp bi9qYXZhL29yZy9tdXNpY2JyYWluei9zZWFyY2gvaW5kZXgvQXJ0aXN0SW5kZXguamF2YQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBzZWFyY2hfc2VydmVyL3RydW5rL2luZGV4L3NyYy9tYWluL2phdmEvb3JnL211 c2ljYnJhaW56L3NlYXJjaC9pbmRleC9BcnRpc3RJbmRleC5qYXZhCTIwMTMtMDYtMDUgMDg6MDc6 MzYgVVRDIChyZXYgMTM2OTcpCisrKyBzZWFyY2hfc2VydmVyL3RydW5rL2luZGV4L3NyYy9tYWlu L2phdmEvb3JnL211c2ljYnJhaW56L3NlYXJjaC9pbmRleC9BcnRpc3RJbmRleC5qYXZhCTIwMTMt MDYtMDUgMTA6NTk6MjQgVVRDIChyZXYgMTM2OTgpCkBAIC0xMjYsMTcgKzEyNiwyMyBAQAogCiAK ICAgICAgICAgYWRkUHJlcGFyZWRTdGF0ZW1lbnQoIkFSVElTVFMiLAotICAgICAgICAgICAgICAg ICJTRUxFQ1QgYXJ0aXN0LmlkLCBnaWQsIG4wLm5hbWUgYXMgbmFtZSwgbjEubmFtZSBhcyBzb3J0 X25hbWUsICIgKwotICAgICAgICAgICAgICAgICAgICAgICAgIiAgYXJ0aXN0X3R5cGUubmFtZSBh cyB0eXBlLCBiZWdpbl9kYXRlX3llYXIsIGJlZ2luX2RhdGVfbW9udGgsIGJlZ2luX2RhdGVfZGF5 LCAiICsKLSAgICAgICAgICAgICAgICAgICAgICAgICIgIGVuZF9kYXRlX3llYXIsIGVuZF9kYXRl X21vbnRoLCBlbmRfZGF0ZV9kYXksZW5kZWQsICIgKwotICAgICAgICAgICAgICAgICAgICAgICAg IiAgY29tbWVudCwgbG93ZXIoaS5jb2RlKSBhcyBjb3VudHJ5LCBsb3dlcihnZW5kZXIubmFtZSkg YXMgZ2VuZGVyICIgKwotICAgICAgICAgICAgICAgICAgICAgICAgIiBGUk9NIGFydGlzdCAiICsK LSAgICAgICAgICAgICAgICAgICAgICAgICIgIExFRlQgSk9JTiBhcnRpc3RfbmFtZSBuMCBPTiBh cnRpc3QubmFtZSA9IG4wLmlkICIgKwotICAgICAgICAgICAgICAgICAgICAgICAgIiAgTEVGVCBK T0lOIGFydGlzdF9uYW1lIG4xIE9OIGFydGlzdC5zb3J0X25hbWUgPSBuMS5pZCAiICsKLSAgICAg ICAgICAgICAgICAgICAgICAgICIgIExFRlQgSk9JTiBhcnRpc3RfdHlwZSBPTiBhcnRpc3QudHlw ZSA9IGFydGlzdF90eXBlLmlkICIgKwotICAgICAgICAgICAgICAgICAgICAgICAgIiAgTEVGVCBK T0lOIGlzb18zMTY2XzEgaSBvbiBhcnRpc3QuYXJlYT1pLmFyZWEiICsKLSAgICAgICAgICAgICAg ICAgICAgICAgICIgIExFRlQgSk9JTiBnZW5kZXIgT04gYXJ0aXN0LmdlbmRlcj1nZW5kZXIuaWQg IiArCi0gICAgICAgICAgICAgICAgICAgICAgICAiIFdIRVJFIGFydGlzdC5pZCBCRVRXRUVOID8g QU5EID8iKTsKKyAgICAgICAgICAgICAgICAiU0VMRUNUIGEuaWQsIGEuZ2lkIGFzIGdpZCwgbjAu bmFtZSBhcyBuYW1lLCBuMS5uYW1lIGFzIHNvcnRfbmFtZSwgIiArCisgICAgICAgICAgICAgICAg ICAgICAgICAiICBhcnRpc3RfdHlwZS5uYW1lIGFzIHR5cGUsIGEuYmVnaW5fZGF0ZV95ZWFyLCBh LmJlZ2luX2RhdGVfbW9udGgsIGEuYmVnaW5fZGF0ZV9kYXksICIgKworICAgICAgICAgICAgICAg ICAgICAgICAgIiAgYS5lbmRfZGF0ZV95ZWFyLCBhLmVuZF9kYXRlX21vbnRoLCBhLmVuZF9kYXRl X2RheSxhLmVuZGVkLCAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICIgIGNvbW1lbnQsIGxv d2VyKGkuY29kZSkgYXMgY291bnRyeSwgbG93ZXIoZ2VuZGVyLm5hbWUpIGFzIGdlbmRlciwiICsK KyAgICAgICAgICAgICAgICAgICAgICAgICIgIGExLmdpZCBhcyBhcmVhX2dpZCwgYTEubmFtZSBh cyBhcmVhX25hbWUsIGExLnNvcnRfbmFtZSBhcyBhcmVhX3NvcnRuYW1lLCAiICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICIgIGEyLmdpZCBhcyBiZWdpbmFyZWFfZ2lkLCBhMi5uYW1lIGFzIGJl Z2luYXJlYV9uYW1lLCBhMi5zb3J0X25hbWUgYXMgYmVnaW5hcmVhX3NvcnRuYW1lLCAiICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICIgIGEzLmdpZCBhcyBlbmRhcmVhX2dpZCwgYTMubmFtZSBh cyBlbmRhcmVhX25hbWUsIGEzLnNvcnRfbmFtZSBhcyBlbmRhcmVhX3NvcnRuYW1lIiArCisgICAg ICAgICAgICAgICAgICAgICAgICAiIEZST00gYXJ0aXN0IGEgIiArCisgICAgICAgICAgICAgICAg ICAgICAgICAiICBMRUZUIEpPSU4gYXJ0aXN0X25hbWUgbjAgT04gYS5uYW1lID0gbjAuaWQgIiAr CisgICAgICAgICAgICAgICAgICAgICAgICAiICBMRUZUIEpPSU4gYXJ0aXN0X25hbWUgbjEgT04g YS5zb3J0X25hbWUgPSBuMS5pZCAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICIgIExFRlQg Sk9JTiBhcnRpc3RfdHlwZSBPTiBhLnR5cGUgPSBhcnRpc3RfdHlwZS5pZCAiICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICIgIExFRlQgSk9JTiBpc29fMzE2Nl8xIGkgb24gYS5hcmVhPWkuYXJl YSIgKworICAgICAgICAgICAgICAgICAgICAgICAgIiAgTEVGVCBKT0lOIGdlbmRlciBPTiBhLmdl bmRlcj1nZW5kZXIuaWQgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAiICBMRUZUIEpPSU4g YXJlYSBhMSBvbiBhLmFyZWEgPSBhMS5pZCIgKworICAgICAgICAgICAgICAgICAgICAgICAgIiAg TEVGVCBKT0lOIGFyZWEgYTIgb24gYS5iZWdpbl9hcmVhID0gYTIuaWQiICsKKyAgICAgICAgICAg ICAgICAgICAgICAgICIgIExFRlQgSk9JTiBhcmVhIGEzIG9uIGEuZW5kX2FyZWEgPSBhMy5pZCIg KworICAgICAgICAgICAgICAgICIgV0hFUkUgYS5pZCBCRVRXRUVOID8gQU5EID8iKTsKIAogICAg ICAgICBhZGRQcmVwYXJlZFN0YXRlbWVudCgiSVBJQ09ERVMiLAogICAgICAgICAgICAgICAgICJT RUxFQ1QgaXBpLCBhcnRpc3QgIiArCkBAIC0zMjMsNiArMzI5LDUyIEBACiAgICAgICAgICAgICBh cnRpc3Quc2V0Q291bnRyeShjb3VudHJ5LnRvVXBwZXJDYXNlKExvY2FsZS5VUykpOwogICAgICAg ICB9CiAKKyAgICAgICAgU3RyaW5nIGFyZWFJZCA9IHJzLmdldFN0cmluZygiYXJlYV9naWQiKTsK KyAgICAgICAgaWYoYXJlYUlkIT1udWxsKSB7CisgICAgICAgICAgICBEZWZBcmVhRWxlbWVudElu bmVyIGFyZWEgPSBvZi5jcmVhdGVEZWZBcmVhRWxlbWVudElubmVyKCk7CisgICAgICAgICAgICBh cmVhLnNldElkKGFyZWFJZCk7CisgICAgICAgICAgICBTdHJpbmcgYXJlYU5hbWUgPSBycy5nZXRT dHJpbmcoImFyZWFfbmFtZSIpOworICAgICAgICAgICAgZG9jLmFkZEZpZWxkT3JOb1ZhbHVlKEFy dGlzdEluZGV4RmllbGQuQVJFQSwgYXJlYU5hbWUpOworICAgICAgICAgICAgYXJlYS5zZXROYW1l KGFyZWFOYW1lKTsKKyAgICAgICAgICAgIFN0cmluZyBhcmVhU29ydE5hbWUgPSBycy5nZXRTdHJp bmcoImFyZWFfc29ydG5hbWUiKTsKKyAgICAgICAgICAgIGFyZWEuc2V0U29ydE5hbWUoYXJlYVNv cnROYW1lKTsKKyAgICAgICAgICAgIGFydGlzdC5zZXRBcmVhKGFyZWEpOworICAgICAgICB9Cisg ICAgICAgIGVsc2UgeworICAgICAgICAgICAgZG9jLmFkZEZpZWxkKEFydGlzdEluZGV4RmllbGQu QVJFQSwgSW5kZXguTk9fVkFMVUUpOworICAgICAgICB9CisKKyAgICAgICAgU3RyaW5nIGJlZ2lu QXJlYUlkID0gcnMuZ2V0U3RyaW5nKCJiZWdpbmFyZWFfZ2lkIik7CisgICAgICAgIGlmKGJlZ2lu QXJlYUlkIT1udWxsKSB7CisgICAgICAgICAgICBEZWZBcmVhRWxlbWVudElubmVyIGFyZWEgPSBv Zi5jcmVhdGVEZWZBcmVhRWxlbWVudElubmVyKCk7CisgICAgICAgICAgICBhcmVhLnNldElkKGJl Z2luQXJlYUlkKTsKKyAgICAgICAgICAgIFN0cmluZyBhcmVhTmFtZSA9IHJzLmdldFN0cmluZygi YmVnaW5hcmVhX25hbWUiKTsKKyAgICAgICAgICAgIGRvYy5hZGRGaWVsZE9yTm9WYWx1ZShBcnRp c3RJbmRleEZpZWxkLkJFR0lOX0FSRUEsIGFyZWFOYW1lKTsKKyAgICAgICAgICAgIGFyZWEuc2V0 TmFtZShhcmVhTmFtZSk7CisgICAgICAgICAgICBTdHJpbmcgYXJlYVNvcnROYW1lID0gcnMuZ2V0 U3RyaW5nKCJiZWdpbmFyZWFfc29ydG5hbWUiKTsKKyAgICAgICAgICAgIGFyZWEuc2V0U29ydE5h bWUoYXJlYVNvcnROYW1lKTsKKyAgICAgICAgICAgIGFydGlzdC5zZXRCZWdpbkFyZWEoYXJlYSk7 CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBkb2MuYWRkRmllbGQoQXJ0 aXN0SW5kZXhGaWVsZC5CRUdJTl9BUkVBLCBJbmRleC5OT19WQUxVRSk7CisgICAgICAgIH0KKwor CisgICAgICAgIFN0cmluZyBlbmRBcmVhSWQgPSBycy5nZXRTdHJpbmcoImVuZGFyZWFfZ2lkIik7 CisgICAgICAgIGlmKGVuZEFyZWFJZCE9bnVsbCkgeworICAgICAgICAgICAgRGVmQXJlYUVsZW1l bnRJbm5lciBhcmVhID0gb2YuY3JlYXRlRGVmQXJlYUVsZW1lbnRJbm5lcigpOworICAgICAgICAg ICAgYXJlYS5zZXRJZChlbmRBcmVhSWQpOworICAgICAgICAgICAgU3RyaW5nIGFyZWFOYW1lID0g cnMuZ2V0U3RyaW5nKCJlbmRhcmVhX25hbWUiKTsKKyAgICAgICAgICAgIGRvYy5hZGRGaWVsZE9y Tm9WYWx1ZShBcnRpc3RJbmRleEZpZWxkLkVORF9BUkVBLCBhcmVhTmFtZSk7CisgICAgICAgICAg ICBhcmVhLnNldE5hbWUoYXJlYU5hbWUpOworICAgICAgICAgICAgU3RyaW5nIGFyZWFTb3J0TmFt ZSA9IHJzLmdldFN0cmluZygiZW5kYXJlYV9zb3J0bmFtZSIpOworICAgICAgICAgICAgYXJlYS5z ZXRTb3J0TmFtZShhcmVhU29ydE5hbWUpOworICAgICAgICAgICAgYXJ0aXN0LnNldEVuZEFyZWEo YXJlYSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBkb2MuYWRkRmll bGQoQXJ0aXN0SW5kZXhGaWVsZC5FTkRfQVJFQSwgSW5kZXguTk9fVkFMVUUpOworICAgICAgICB9 CisKICAgICAgICAgU3RyaW5nIGdlbmRlciA9IHJzLmdldFN0cmluZygiZ2VuZGVyIik7CiAgICAg ICAgIGlmIChnZW5kZXIgIT0gbnVsbCkgewogICAgICAgICAgICAgZG9jLmFkZEZpZWxkKEFydGlz dEluZGV4RmllbGQuR0VOREVSLCBnZW5kZXIpOwoKTW9kaWZpZWQ6IHNlYXJjaF9zZXJ2ZXIvdHJ1 bmsvaW5kZXgvc3JjL21haW4vamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2luZGV4L0FydGlz dEluZGV4RmllbGQuamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzZWFyY2hfc2VydmVyL3RydW5rL2luZGV4 L3NyYy9tYWluL2phdmEvb3JnL211c2ljYnJhaW56L3NlYXJjaC9pbmRleC9BcnRpc3RJbmRleEZp ZWxkLmphdmEJMjAxMy0wNi0wNSAwODowNzozNiBVVEMgKHJldiAxMzY5NykKKysrIHNlYXJjaF9z ZXJ2ZXIvdHJ1bmsvaW5kZXgvc3JjL21haW4vamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2lu ZGV4L0FydGlzdEluZGV4RmllbGQuamF2YQkyMDEzLTA2LTA1IDEwOjU5OjI0IFVUQyAocmV2IDEz Njk4KQpAQCAtNTcsNiArNTcsOSBAQAogICAgIFNPUlROQU1FCSAgICAoInNvcnRuYW1lIiwJTXVz aWNCcmFpbnpGaWVsZFR5cGVzLlRFWFRfTk9UX1NUT1JFRF9BTkFMWVpFRCksCiAgICAgVEFHCQkg ICAgICAgICgidGFnIiwJCSAgICBNdXNpY0JyYWluekZpZWxkVHlwZXMuVEVYVF9OT1RfU1RPUkVE X0FOQUxZWkVELCBuZXcgTXVzaWNicmFpbnpXaXRoUG9zR2FwQW5hbHl6ZXIoKSksCiAgICAgVFlQ RQkJICAgICgidHlwZSIsCQlNdXNpY0JyYWluekZpZWxkVHlwZXMuVEVYVF9OT1RfU1RPUkVEX0FO QUxZWkVEX05PX05PUk1TLCBuZXcgQ2FzZUluc2Vuc2l0aXZlS2V5d29yZEFuYWx5emVyKCkpLAor ICAgIEFSRUEJCSAgICAoImFyZWEiLAkJTXVzaWNCcmFpbnpGaWVsZFR5cGVzLlRFWFRfTk9UX1NU T1JFRF9BTkFMWVpFRCwgbmV3IE11c2ljYnJhaW56QW5hbHl6ZXIoKSksCisgICAgQkVHSU5fQVJF QQkJKCJiZWdpbmFyZWEiLCAgIE11c2ljQnJhaW56RmllbGRUeXBlcy5URVhUX05PVF9TVE9SRURf QU5BTFlaRUQsIG5ldyBNdXNpY2JyYWluekFuYWx5emVyKCkpLAorICAgIEVORF9BUkVBCQkoImVu ZGFyZWEiLAkgICAgTXVzaWNCcmFpbnpGaWVsZFR5cGVzLlRFWFRfTk9UX1NUT1JFRF9BTkFMWVpF RCwgbmV3IE11c2ljYnJhaW56QW5hbHl6ZXIoKSksCiAgICAgQVJUSVNUX1NUT1JFICAgICgiYXJ0 aXN0c3RvcmUiLCBNdXNpY0JyYWluekZpZWxkVHlwZXMuVEVYVF9TVE9SRURfTk9UX0lOREVYRUQp LAogICAgIDsKIAoKTW9kaWZpZWQ6IHNlYXJjaF9zZXJ2ZXIvdHJ1bmsvaW5kZXgvc3JjL21haW4v amF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2luZGV4L0xhYmVsSW5kZXguamF2YQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBzZWFyY2hfc2VydmVyL3RydW5rL2luZGV4L3NyYy9tYWluL2phdmEvb3JnL211c2lj YnJhaW56L3NlYXJjaC9pbmRleC9MYWJlbEluZGV4LmphdmEJMjAxMy0wNi0wNSAwODowNzozNiBV VEMgKHJldiAxMzY5NykKKysrIHNlYXJjaF9zZXJ2ZXIvdHJ1bmsvaW5kZXgvc3JjL21haW4vamF2 YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2luZGV4L0xhYmVsSW5kZXguamF2YQkyMDEzLTA2LTA1 IDEwOjU5OjI0IFVUQyAocmV2IDEzNjk4KQpAQCAtMTA0LDE1ICsxMDQsMTcgQEAKIAogCiAgICAg ICAgIGFkZFByZXBhcmVkU3RhdGVtZW50KCJMQUJFTFMiLAotICAgICAgICAgICAgICAgICJTRUxF Q1QgbGFiZWwuaWQsIGdpZCwgbjAubmFtZSBhcyBuYW1lLCBuMS5uYW1lIGFzIHNvcnRfbmFtZSwg IiArCi0gICAgICAgICAgICAgICAgIiAgbGFiZWxfdHlwZS5uYW1lIGFzIHR5cGUsIGJlZ2luX2Rh dGVfeWVhciwgYmVnaW5fZGF0ZV9tb250aCwgYmVnaW5fZGF0ZV9kYXksICIgKwotICAgICAgICAg ICAgICAgICIgIGVuZF9kYXRlX3llYXIsIGVuZF9kYXRlX21vbnRoLCBlbmRfZGF0ZV9kYXksIGVu ZGVkLCIgKwotICAgICAgICAgICAgICAgICIgIGNvbW1lbnQsIGxhYmVsX2NvZGUsIGxvd2VyKGku Y29kZSkgYXMgY291bnRyeSAiICsKKyAgICAgICAgICAgICAgICAiU0VMRUNUIGxhYmVsLmlkLCBs YWJlbC5naWQsIG4wLm5hbWUgYXMgbmFtZSwgbjEubmFtZSBhcyBzb3J0X25hbWUsICIgKworICAg ICAgICAgICAgICAgICIgIGxhYmVsX3R5cGUubmFtZSBhcyB0eXBlLCBsYWJlbC5iZWdpbl9kYXRl X3llYXIsIGxhYmVsLmJlZ2luX2RhdGVfbW9udGgsIGxhYmVsLmJlZ2luX2RhdGVfZGF5LCAiICsK KyAgICAgICAgICAgICAgICAiICBsYWJlbC5lbmRfZGF0ZV95ZWFyLCBsYWJlbC5lbmRfZGF0ZV9t b250aCwgbGFiZWwuZW5kX2RhdGVfZGF5LCBsYWJlbC5lbmRlZCwiICsKKyAgICAgICAgICAgICAg ICAiICBjb21tZW50LCBsYWJlbF9jb2RlLCBsb3dlcihpLmNvZGUpIGFzIGNvdW50cnksICIgKwor ICAgICAgICAgICAgICAgICIgIGExLmdpZCBhcyBhcmVhX2dpZCwgYTEubmFtZSBhcyBhcmVhX25h bWUsIGExLnNvcnRfbmFtZSBhcyBhcmVhX3NvcnRuYW1lICIgKwogICAgICAgICAgICAgICAgICIg RlJPTSBsYWJlbCAiICsKICAgICAgICAgICAgICAgICAiICBMRUZUIEpPSU4gbGFiZWxfbmFtZSBu MCBPTiBsYWJlbC5uYW1lID0gbjAuaWQgIiArCiAgICAgICAgICAgICAgICAgIiAgTEVGVCBKT0lO IGxhYmVsX25hbWUgbjEgT04gbGFiZWwuc29ydF9uYW1lID0gbjEuaWQgIiArCiAgICAgICAgICAg ICAgICAgIiAgTEVGVCBKT0lOIGxhYmVsX3R5cGUgT04gbGFiZWwudHlwZSA9IGxhYmVsX3R5cGUu aWQgIiArCiAgICAgICAgICAgICAgICAgIiAgTEVGVCBKT0lOIGlzb18zMTY2XzEgaSBvbiBsYWJl bC5hcmVhPWkuYXJlYSIgKworICAgICAgICAgICAgICAgICIgIExFRlQgSk9JTiBhcmVhIGExIG9u IGxhYmVsLmFyZWEgPSBhMS5pZCIgKwogICAgICAgICAgICAgICAgICIgV0hFUkUgbGFiZWwuaWQg QkVUV0VFTiA/IEFORCA/Iik7CiAKICAgICAgICAgYWRkUHJlcGFyZWRTdGF0ZW1lbnQoIklQSUNP REVTIiwKQEAgLTI3MCw2ICsyNzIsMjEgQEAKICAgICAgICAgICAgIGxhYmVsLnNldENvdW50cnko Y291bnRyeS50b1VwcGVyQ2FzZShMb2NhbGUuVVMpKTsKICAgICAgICAgfQogCisgICAgICAgIFN0 cmluZyBhcmVhSWQgPSBycy5nZXRTdHJpbmcoImFyZWFfZ2lkIik7CisgICAgICAgIGlmKGFyZWFJ ZCE9bnVsbCkgeworICAgICAgICAgICAgRGVmQXJlYUVsZW1lbnRJbm5lciBhcmVhID0gb2YuY3Jl YXRlRGVmQXJlYUVsZW1lbnRJbm5lcigpOworICAgICAgICAgICAgYXJlYS5zZXRJZChhcmVhSWQp OworICAgICAgICAgICAgU3RyaW5nIGFyZWFOYW1lID0gcnMuZ2V0U3RyaW5nKCJhcmVhX25hbWUi KTsKKyAgICAgICAgICAgIGFyZWEuc2V0TmFtZShhcmVhTmFtZSk7CisgICAgICAgICAgICBkb2Mu YWRkRmllbGRPck5vVmFsdWUoQXJ0aXN0SW5kZXhGaWVsZC5BUkVBLCBhcmVhTmFtZSk7CisgICAg ICAgICAgICBTdHJpbmcgYXJlYVNvcnROYW1lID0gcnMuZ2V0U3RyaW5nKCJhcmVhX3NvcnRuYW1l Iik7CisgICAgICAgICAgICBhcmVhLnNldFNvcnROYW1lKGFyZWFTb3J0TmFtZSk7CisgICAgICAg ICAgICBsYWJlbC5zZXRBcmVhKGFyZWEpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAg ICAgICAgICAgZG9jLmFkZEZpZWxkKEFydGlzdEluZGV4RmllbGQuQVJFQSwgSW5kZXguTk9fVkFM VUUpOworICAgICAgICB9CisKICAgICAgICAgYm9vbGVhbiBlbmRlZCA9IHJzLmdldEJvb2xlYW4o ImVuZGVkIik7CiAgICAgICAgIGRvYy5hZGRGaWVsZE9yVW5rbm93bihMYWJlbEluZGV4RmllbGQu RU5ERUQsIEJvb2xlYW4udG9TdHJpbmcoZW5kZWQpKTsKIAoKTW9kaWZpZWQ6IHNlYXJjaF9zZXJ2 ZXIvdHJ1bmsvaW5kZXgvc3JjL21haW4vamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2luZGV4 L0xhYmVsSW5kZXhGaWVsZC5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNlYXJjaF9zZXJ2ZXIvdHJ1bmsv aW5kZXgvc3JjL21haW4vamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2luZGV4L0xhYmVsSW5k ZXhGaWVsZC5qYXZhCTIwMTMtMDYtMDUgMDg6MDc6MzYgVVRDIChyZXYgMTM2OTcpCisrKyBzZWFy Y2hfc2VydmVyL3RydW5rL2luZGV4L3NyYy9tYWluL2phdmEvb3JnL211c2ljYnJhaW56L3NlYXJj aC9pbmRleC9MYWJlbEluZGV4RmllbGQuamF2YQkyMDEzLTA2LTA1IDEwOjU5OjI0IFVUQyAocmV2 IDEzNjk4KQpAQCAtNTMsNiArNTMsNyBAQAogICAgIFNPUlROQU1FCSgic29ydG5hbWUiLAlNdXNp Y0JyYWluekZpZWxkVHlwZXMuVEVYVF9OT1RfU1RPUkVEX0FOQUxZWkVEKSwKICAgICBUQUcJCSAg ICAoInRhZyIsCQkgICAgTXVzaWNCcmFpbnpGaWVsZFR5cGVzLlRFWFRfTk9UX1NUT1JFRF9BTkFM WVpFRCwgbmV3IE11c2ljYnJhaW56V2l0aFBvc0dhcEFuYWx5emVyKCkpLAogICAgIFRZUEUJCSgi dHlwZSIsCQlNdXNpY0JyYWluekZpZWxkVHlwZXMuVEVYVF9OT1RfU1RPUkVEX0FOQUxZWkVEX05P X05PUk1TLCBuZXcgQ2FzZUluc2Vuc2l0aXZlS2V5d29yZEFuYWx5emVyKCkpLAorICAgIEFSRUEJ CSgiYXJlYSIsCQlNdXNpY0JyYWluekZpZWxkVHlwZXMuVEVYVF9OT1RfU1RPUkVEX0FOQUxZWkVE LCBuZXcgTXVzaWNicmFpbnpBbmFseXplcigpKSwKICAgICBMQUJFTF9TVE9SRSAoImxhYmVsc3Rv cmUiLCAgTXVzaWNCcmFpbnpGaWVsZFR5cGVzLlRFWFRfU1RPUkVEX05PVF9JTkRFWEVEKSwKICAg ICA7CiAKCk1vZGlmaWVkOiBzZWFyY2hfc2VydmVyL3RydW5rL2luZGV4L3NyYy90ZXN0L2phdmEv b3JnL211c2ljYnJhaW56L3NlYXJjaC9pbmRleC9BcnRpc3RJbmRleFRlc3QuamF2YQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBzZWFyY2hfc2VydmVyL3RydW5rL2luZGV4L3NyYy90ZXN0L2phdmEvb3JnL211c2lj YnJhaW56L3NlYXJjaC9pbmRleC9BcnRpc3RJbmRleFRlc3QuamF2YQkyMDEzLTA2LTA1IDA4OjA3 OjM2IFVUQyAocmV2IDEzNjk3KQorKysgc2VhcmNoX3NlcnZlci90cnVuay9pbmRleC9zcmMvdGVz dC9qYXZhL29yZy9tdXNpY2JyYWluei9zZWFyY2gvaW5kZXgvQXJ0aXN0SW5kZXhUZXN0LmphdmEJ MjAxMy0wNi0wNSAxMDo1OToyNCBVVEMgKHJldiAxMzY5OCkKQEAgLTE1LDYgKzE1LDcgQEAKIAog aW1wb3J0IHN0YXRpYyBvcmcuanVuaXQuQXNzZXJ0LmFzc2VydEVxdWFsczsKIGltcG9ydCBzdGF0 aWMgb3JnLmp1bml0LkFzc2VydC5hc3NlcnROb3ROdWxsOworaW1wb3J0IHN0YXRpYyBvcmcuanVu aXQuQXNzZXJ0LmFzc2VydE51bGw7CiAKIHB1YmxpYyBjbGFzcyBBcnRpc3RJbmRleFRlc3QgZXh0 ZW5kcyBBYnN0cmFjdEluZGV4VGVzdCB7CiAKQEAgLTM5LDEyICs0MCwxMyBAQAogICAgICAgICBT dGF0ZW1lbnQgc3RtdCA9IGNvbm4uY3JlYXRlU3RhdGVtZW50KCk7CiAKICAgICAgICAgc3RtdC5h ZGRCYXRjaCgiSU5TRVJUIElOVE8gYXJ0aXN0X25hbWUgKGlkLCBuYW1lKSBWQUxVRVMgKDEsICdG YXJtaW5nIEluY2lkZW50JykiKTsKLSAgICAgICAgc3RtdC5hZGRCYXRjaCgiSU5TRVJUIElOVE8g YXJ0aXN0IChpZCwgbmFtZSwgZ2lkLCBzb3J0X25hbWUsIGJlZ2luX2RhdGVfeWVhciwgYmVnaW5f ZGF0ZV9tb250aCwgdHlwZSwgZ2VuZGVyLCBhcmVhLGVuZGVkKSIgKwotICAgICAgICAgICAgIiBW QUxVRVMgKDUyMTMxNiwgMSwgJzQzMDJlMjY0LTFjZjAtNGQxZi1hY2E3LTJhNmY4OWUzNGIzNics IDEsIDE5OTksIDQsIDIsIDEsIDEsdHJ1ZSkiKTsKKyAgICAgICAgc3RtdC5hZGRCYXRjaCgiSU5T RVJUIElOVE8gYXJ0aXN0IChpZCwgbmFtZSwgZ2lkLCBzb3J0X25hbWUsIGJlZ2luX2RhdGVfeWVh ciwgYmVnaW5fZGF0ZV9tb250aCwgdHlwZSwgZ2VuZGVyLCBhcmVhLGJlZ2luX2FyZWEsZW5kZWQp IiArCisgICAgICAgICAgICAiIFZBTFVFUyAoNTIxMzE2LCAxLCAnNDMwMmUyNjQtMWNmMC00ZDFm LWFjYTctMmE2Zjg5ZTM0YjM2JywgMSwgMTk5OSwgNCwgMiwgMSwgMSwzOCx0cnVlKSIpOwogICAg ICAgICBzdG10LmFkZEJhdGNoKCJJTlNFUlQgSU5UTyBhcnRpc3RfaXBpIChhcnRpc3QsaXBpKSB2 YWx1ZXMoNTIxMzE2LCcxMDAwMScpIik7Ci0gICAgICAgIHN0bXQuYWRkQmF0Y2goIklOU0VSVCBJ TlRPIGFyZWEgKGlkLCBuYW1lKSBWQUxVRVMgKDEsICdBZmdoYW5pc3RhbicpIik7CisgICAgICAg IHN0bXQuYWRkQmF0Y2goIklOU0VSVCBJTlRPIGFyZWEgKGlkLCBnaWQsIG5hbWUsIHNvcnRfbmFt ZSkgVkFMVUVTICgxLCAnNDMwMmUyNjQtMWNmMC00ZDFmLWFjYTctMmE2Zjg5ZTM0YjM2JywnQWZn aGFuaXN0YW4nLCdBZmdoYW5pc3RhbicpIik7CiAgICAgICAgIHN0bXQuYWRkQmF0Y2goIklOU0VS VCBJTlRPIGlzb18zMTY2XzEgKGFyZWEsIGNvZGUpIFZBTFVFUyAoMSwgJ0FGJykiKTsKLQorICAg ICAgICBzdG10LmFkZEJhdGNoKCJJTlNFUlQgSU5UTyBhcmVhIChpZCwgZ2lkLCBuYW1lLCBzb3J0 X25hbWUpIFZBTFVFUyAoMzgsICdiOGNhYTY5Mi03MDRkLTQxMmItYTQxMC00ZmJjZjViOWM3OTYn LCdDYW5hZGEnLCdDYW5hZGEnKSIpOworICAgICAgICBzdG10LmFkZEJhdGNoKCJJTlNFUlQgSU5U TyBpc29fMzE2Nl8xIChhcmVhLCBjb2RlKSBWQUxVRVMgKDM4LCAnQ0EnKSIpOwogICAgICAgICBz dG10LmV4ZWN1dGVCYXRjaCgpOwogICAgICAgICBzdG10LmNsb3NlKCk7CiAgICAgfQpAQCAtNTc1 LDggKzU3Nyw2NCBAQAogICAgICAgICB9CiAgICAgfQogCisgICAgLyoqCisgICAgICoKKyAgICAg KiBAdGhyb3dzIEV4Y2VwdGlvbgorICAgICAqLworICAgIEBUZXN0CisgICAgcHVibGljIHZvaWQg dGVzdEFyZWEoKSB0aHJvd3MgRXhjZXB0aW9uIHsKIAorICAgICAgICBhZGRBcnRpc3RPbmUoKTsK KyAgICAgICAgUkFNRGlyZWN0b3J5IHJhbURpciA9IG5ldyBSQU1EaXJlY3RvcnkoKTsKKyAgICAg ICAgY3JlYXRlSW5kZXgocmFtRGlyKTsKKworICAgICAgICBJbmRleFJlYWRlciBpciA9IERpcmVj dG9yeVJlYWRlci5vcGVuKHJhbURpcik7CisgICAgICAgIGFzc2VydEVxdWFscygyLCBpci5udW1E b2NzKCkpOworICAgICAgICB7CisgICAgICAgICAgICBjaGVja1Rlcm0oaXIsIEFydGlzdEluZGV4 RmllbGQuQVJFQSwgImFmZ2hhbmlzdGFuIik7CisgICAgICAgIH0KKyAgICAgICAgaXIuY2xvc2Uo KTsKKyAgICB9CisKICAgICAvKioKKyAgICAgKgorICAgICAqIEB0aHJvd3MgRXhjZXB0aW9uCisg ICAgICovCisgICAgQFRlc3QKKyAgICBwdWJsaWMgdm9pZCB0ZXN0QmVnaW5BcmVhKCkgdGhyb3dz IEV4Y2VwdGlvbiB7CisKKyAgICAgICAgYWRkQXJ0aXN0T25lKCk7CisgICAgICAgIFJBTURpcmVj dG9yeSByYW1EaXIgPSBuZXcgUkFNRGlyZWN0b3J5KCk7CisgICAgICAgIGNyZWF0ZUluZGV4KHJh bURpcik7CisKKyAgICAgICAgSW5kZXhSZWFkZXIgaXIgPSBEaXJlY3RvcnlSZWFkZXIub3Blbihy YW1EaXIpOworICAgICAgICBhc3NlcnRFcXVhbHMoMiwgaXIubnVtRG9jcygpKTsKKyAgICAgICAg eworICAgICAgICAgICAgY2hlY2tUZXJtKGlyLCBBcnRpc3RJbmRleEZpZWxkLkJFR0lOX0FSRUEs ICJjYW5hZGEiKTsKKyAgICAgICAgfQorICAgICAgICBpci5jbG9zZSgpOworICAgIH0KKworICAg IC8qKgorICAgICAqCisgICAgICogQHRocm93cyBFeGNlcHRpb24KKyAgICAgKi8KKyAgICBAVGVz dAorICAgIHB1YmxpYyB2b2lkIHRlc3ROb0VuZEFyZWEoKSB0aHJvd3MgRXhjZXB0aW9uIHsKKwor ICAgICAgICBhZGRBcnRpc3RPbmUoKTsKKyAgICAgICAgUkFNRGlyZWN0b3J5IHJhbURpciA9IG5l dyBSQU1EaXJlY3RvcnkoKTsKKyAgICAgICAgY3JlYXRlSW5kZXgocmFtRGlyKTsKKworICAgICAg ICBJbmRleFJlYWRlciBpciA9IERpcmVjdG9yeVJlYWRlci5vcGVuKHJhbURpcik7CisgICAgICAg IGFzc2VydEVxdWFscygyLCBpci5udW1Eb2NzKCkpOworICAgICAgICB7CisgICAgICAgICAgICBj aGVja1Rlcm0oaXIsIEFydGlzdEluZGV4RmllbGQuRU5EX0FSRUEsICItIik7CisgICAgICAgIH0K KyAgICAgICAgaXIuY2xvc2UoKTsKKyAgICB9CisKKyAgICAvKioKICAgICAgKiBAdGhyb3dzIEV4 Y2VwdGlvbiBleGNlcHRpb24KICAgICAgKi8KICAgICBAVGVzdApAQCAtNTk1LDggKzY1MywxNyBA QAogICAgICAgICAgICAgYXNzZXJ0RXF1YWxzKCI0MzAyZTI2NC0xY2YwLTRkMWYtYWNhNy0yYTZm ODllMzRiMzYiLCBhcnRpc3QuZ2V0SWQoKSk7CiAgICAgICAgICAgICBhc3NlcnRFcXVhbHMoIkZh cm1pbmcgSW5jaWRlbnQiLCBhcnRpc3QuZ2V0TmFtZSgpKTsKICAgICAgICAgICAgIGFzc2VydEVx dWFscygiQUYiLCBhcnRpc3QuZ2V0Q291bnRyeSgpKTsKKyAgICAgICAgICAgIGFzc2VydE5vdE51 bGwoYXJ0aXN0LmdldEFyZWEoKSk7CiAKKyAgICAgICAgICAgIGFzc2VydEVxdWFscygiNDMwMmUy NjQtMWNmMC00ZDFmLWFjYTctMmE2Zjg5ZTM0YjM2IixhcnRpc3QuZ2V0QXJlYSgpLmdldElkKCkp OworICAgICAgICAgICAgYXNzZXJ0RXF1YWxzKCJBZmdoYW5pc3RhbiIsYXJ0aXN0LmdldEFyZWEo KS5nZXROYW1lKCkpOworICAgICAgICAgICAgYXNzZXJ0RXF1YWxzKCJBZmdoYW5pc3RhbiIsYXJ0 aXN0LmdldEFyZWEoKS5nZXRTb3J0TmFtZSgpKTsKIAorICAgICAgICAgICAgYXNzZXJ0RXF1YWxz KCJiOGNhYTY5Mi03MDRkLTQxMmItYTQxMC00ZmJjZjViOWM3OTYiLCBhcnRpc3QuZ2V0QmVnaW5B cmVhKCkuZ2V0SWQoKSk7CisgICAgICAgICAgICBhc3NlcnRFcXVhbHMoIkNhbmFkYSIsYXJ0aXN0 LmdldEJlZ2luQXJlYSgpLmdldE5hbWUoKSk7CisgICAgICAgICAgICBhc3NlcnRFcXVhbHMoIkNh bmFkYSIsYXJ0aXN0LmdldEJlZ2luQXJlYSgpLmdldFNvcnROYW1lKCkpOworCisgICAgICAgICAg ICBhc3NlcnROdWxsKGFydGlzdC5nZXRFbmRBcmVhKCkpOwogICAgICAgICB9CiAgICAgICAgIGly LmNsb3NlKCk7CiAgICAgfQoKTW9kaWZpZWQ6IHNlYXJjaF9zZXJ2ZXIvdHJ1bmsvaW5kZXgvc3Jj L3Rlc3QvamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL2luZGV4L0xhYmVsSW5kZXhUZXN0Lmph dmEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gc2VhcmNoX3NlcnZlci90cnVuay9pbmRleC9zcmMvdGVzdC9qYXZh L29yZy9tdXNpY2JyYWluei9zZWFyY2gvaW5kZXgvTGFiZWxJbmRleFRlc3QuamF2YQkyMDEzLTA2 LTA1IDA4OjA3OjM2IFVUQyAocmV2IDEzNjk3KQorKysgc2VhcmNoX3NlcnZlci90cnVuay9pbmRl eC9zcmMvdGVzdC9qYXZhL29yZy9tdXNpY2JyYWluei9zZWFyY2gvaW5kZXgvTGFiZWxJbmRleFRl c3QuamF2YQkyMDEzLTA2LTA1IDEwOjU5OjI0IFVUQyAocmV2IDEzNjk4KQpAQCAtNjYsNyArNjYs NyBAQAogCiAgICAgICAgIFN0YXRlbWVudCBzdG10ID0gY29ubi5jcmVhdGVTdGF0ZW1lbnQoKTsK IAotICAgICAgICBzdG10LmFkZEJhdGNoKCJJTlNFUlQgSU5UTyBhcmVhIChpZCwgbmFtZSkgVkFM VUVTICgzOCwgJ0NhbmFkYScpIik7CisgICAgICAgIHN0bXQuYWRkQmF0Y2goIklOU0VSVCBJTlRP IGFyZWEgKGlkLCBnaWQsIG5hbWUsIHNvcnRfbmFtZSkgVkFMVUVTICgzOCwgJ2I4Y2FhNjkyLTcw NGQtNDEyYi1hNDEwLTRmYmNmNWI5Yzc5NicsJ0NhbmFkYScsJ0NhbmFkYScpIik7CiAgICAgICAg IHN0bXQuYWRkQmF0Y2goIklOU0VSVCBJTlRPIGlzb18zMTY2XzEgKGFyZWEsIGNvZGUpIFZBTFVF UyAoMzgsICdDQScpIik7CiAJICAgIHN0bXQuYWRkQmF0Y2goIklOU0VSVCBJTlRPIGxhYmVsX25h bWUgKGlkLCBuYW1lKSBWQUxVRVMgKDMsICdNdXNpY0JyYWlueiBEYXRhIFRlc3RpbmcgTGFiZWwn KSIpOwogCSAgICBzdG10LmFkZEJhdGNoKCJJTlNFUlQgSU5UTyBsYWJlbF9uYW1lIChpZCwgbmFt ZSkgVkFMVUVTICg0LCAnRGF0YSBUZXN0aW5nIExhYmVsLCBNdXNpY0JyYWlueicpIik7CkBAIC00 MTgsNiArNDE4LDIxIEBACiAgICAgICAgIGlyLmNsb3NlKCk7CiAgICAgfQogCisgICAgQFRlc3QK KyAgICBwdWJsaWMgdm9pZCB0ZXN0SW5kZXhMYWJlbFdpdGhBcmVhKCkgdGhyb3dzIEV4Y2VwdGlv biB7CisKKyAgICAgICAgYWRkTGFiZWxUd28oKTsKKyAgICAgICAgUkFNRGlyZWN0b3J5IHJhbURp ciA9IG5ldyBSQU1EaXJlY3RvcnkoKTsKKyAgICAgICAgY3JlYXRlSW5kZXgocmFtRGlyKTsKKwor ICAgICAgICBJbmRleFJlYWRlciBpciA9IERpcmVjdG9yeVJlYWRlci5vcGVuKHJhbURpcik7Cisg ICAgICAgIGFzc2VydEVxdWFscygyLCBpci5udW1Eb2NzKCkpOworICAgICAgICB7CisgICAgICAg ICAgICBjaGVja1Rlcm0oaXIsIExhYmVsSW5kZXhGaWVsZC5BUkVBLCAiY2FuYWRhIik7CisgICAg ICAgIH0KKyAgICAgICAgaXIuY2xvc2UoKTsKKyAgICB9CisKICAgICAvKioKICAgICAgKiBAdGhy b3dzIEV4Y2VwdGlvbiBleGNlcHRpb24KICAgICAgKi8KQEAgLTQ3Myw3ICs0ODgsMTAgQEAKICAg ICAgICAgICAgIGFzc2VydEVxdWFscygiMjAwOS0wMS0wMSIsbGlmZXNwYW4uZ2V0QmVnaW4oKSk7 CiAgICAgICAgICAgICBhc3NlcnRFcXVhbHMoImZhbHNlIixsaWZlc3Bhbi5nZXRFbmRlZCgpKTsK ICAgICAgICAgICAgIGFzc2VydEVxdWFscygiMjAwOS0wNCIsbGlmZXNwYW4uZ2V0RW5kKCkpOwot CisgICAgICAgICAgICBhc3NlcnROb3ROdWxsKGxhYmVsLmdldEFyZWEoKSk7CisgICAgICAgICAg ICBhc3NlcnRFcXVhbHMoImI4Y2FhNjkyLTcwNGQtNDEyYi1hNDEwLTRmYmNmNWI5Yzc5NiIsbGFi ZWwuZ2V0QXJlYSgpLmdldElkKCkpOworICAgICAgICAgICAgYXNzZXJ0RXF1YWxzKCJDYW5hZGEi LGxhYmVsLmdldEFyZWEoKS5nZXROYW1lKCkpOworICAgICAgICAgICAgYXNzZXJ0RXF1YWxzKCJD YW5hZGEiLGxhYmVsLmdldEFyZWEoKS5nZXRTb3J0TmFtZSgpKTsKICAgICAgICAgfQogICAgICAg ICBpci5jbG9zZSgpOwogICAgIH0KCk1vZGlmaWVkOiBzZWFyY2hfc2VydmVyL3RydW5rL3NlcnZs ZXQvc3JjL3Rlc3QvamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL3NlcnZsZXQvRmluZEFydGlz dFRlc3QuamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzZWFyY2hfc2VydmVyL3RydW5rL3NlcnZsZXQvc3Jj L3Rlc3QvamF2YS9vcmcvbXVzaWNicmFpbnovc2VhcmNoL3NlcnZsZXQvRmluZEFydGlzdFRlc3Qu amF2YQkyMDEzLTA2LTA1IDA4OjA3OjM2IFVUQyAocmV2IDEzNjk3KQorKysgc2VhcmNoX3NlcnZl ci90cnVuay9zZXJ2bGV0L3NyYy90ZXN0L2phdmEvb3JnL211c2ljYnJhaW56L3NlYXJjaC9zZXJ2 bGV0L0ZpbmRBcnRpc3RUZXN0LmphdmEJMjAxMy0wNi0wNSAxMDo1OToyNCBVVEMgKHJldiAxMzY5 OCkKQEAgLTczLDYgKzczLDIzIEBACiAgICAgICAgICAgICBhcnRpc3Quc2V0VHlwZSgiR3JvdXAi KTsKICAgICAgICAgICAgIGFydGlzdC5zZXREaXNhbWJpZ3VhdGlvbigidGhlIHJlYWwgb25lIik7 CiAgICAgICAgICAgICBhcnRpc3Quc2V0Q291bnRyeSgiQUYiKTsKKworICAgICAgICAgICAgRGVm QXJlYUVsZW1lbnRJbm5lciBhcmVhID0gIG9mLmNyZWF0ZURlZkFyZWFFbGVtZW50SW5uZXIoKTsK KyAgICAgICAgICAgIGFyZWEuc2V0SWQoIjUzMDJlMjY0LTFjZjAtNGQxZi1hY2E3LTJhNmY4OWUz NGIzNiIpOworICAgICAgICAgICAgYXJlYS5zZXROYW1lKCJBZmdoYW5pc3RhbiIpOworICAgICAg ICAgICAgYXJlYS5zZXRTb3J0TmFtZSgiQWZnaGFuaXN0YW4iKTsKKyAgICAgICAgICAgIGFydGlz dC5zZXRBcmVhKGFyZWEpOworICAgICAgICAgICAgZG9jLmFkZEZpZWxkKEFydGlzdEluZGV4Rmll bGQuQVJFQSwgIkFmZ2hhbmlzdGFuIik7CisKKyAgICAgICAgICAgIERlZkFyZWFFbGVtZW50SW5u ZXIgYmVnaW5BcmVhID0gIG9mLmNyZWF0ZURlZkFyZWFFbGVtZW50SW5uZXIoKTsKKyAgICAgICAg ICAgIGJlZ2luQXJlYS5zZXRJZCgiNjMwMmUyNjQtMWNmMC00ZDFmLWFjYTctMmE2Zjg5ZTM0YjM2 Iik7CisgICAgICAgICAgICBiZWdpbkFyZWEuc2V0TmFtZSgiQ2FuYWRhIik7CisgICAgICAgICAg ICBiZWdpbkFyZWEuc2V0U29ydE5hbWUoIkNhbmFkYSIpOworICAgICAgICAgICAgYXJ0aXN0LnNl dEJlZ2luQXJlYShiZWdpbkFyZWEpOworICAgICAgICAgICAgZG9jLmFkZEZpZWxkKEFydGlzdElu ZGV4RmllbGQuQkVHSU5fQVJFQSwgIkNhbmFkYSIpOworCisgICAgICAgICAgICBkb2MuYWRkRmll bGQoQXJ0aXN0SW5kZXhGaWVsZC5FTkRfQVJFQSwgIi0iKTsKKwogICAgICAgICAgICAgYXJ0aXN0 LnNldEdlbmRlcigibWFsZSIpOwogICAgICAgICAgICAgVGFnTGlzdCB0YWdMaXN0ID0gb2YuY3Jl YXRlVGFnTGlzdCgpOwogICAgICAgICAgICAgVGFnIHRhZyA9IG9mLmNyZWF0ZVRhZygpOwpAQCAt MTk3LDYgKzIxNCwyOCBAQAogICAgIH0KIAogICAgIEBUZXN0CisgICAgcHVibGljIHZvaWQgdGVz dEZpbmRBcnRpc3RCeUFyZWEoKSB0aHJvd3MgRXhjZXB0aW9uIHsKKyAgICAgICAgUmVzdWx0cyBy ZXMgPSBzcy5zZWFyY2goImFyZWE6XCJBZmdoYW5pc3RhblwiIiwgMCwgMTApOworICAgICAgICBh c3NlcnRFcXVhbHMoMSwgcmVzLmdldFRvdGFsSGl0cygpKTsKKyAgICAgICAgYXNzZXJ0RXF1YWxz KCI0MzAyZTI2NC0xY2YwLTRkMWYtYWNhNy0yYTZmODllMzRiMzYiLCBnZXRBcnRpc3RJZChyZXMu cmVzdWx0cy5nZXQoMCkuZ2V0RG9jKCkpKTsKKyAgICB9CisKKyAgICBAVGVzdAorICAgIHB1Ymxp YyB2b2lkIHRlc3RGaW5kQXJ0aXN0QnlCZWdpbkFyZWEoKSB0aHJvd3MgRXhjZXB0aW9uIHsKKyAg ICAgICAgUmVzdWx0cyByZXMgPSBzcy5zZWFyY2goImJlZ2luYXJlYTpcIkNhbmFkYVwiIiwgMCwg MTApOworICAgICAgICBhc3NlcnRFcXVhbHMoMSwgcmVzLmdldFRvdGFsSGl0cygpKTsKKyAgICAg ICAgYXNzZXJ0RXF1YWxzKCI0MzAyZTI2NC0xY2YwLTRkMWYtYWNhNy0yYTZmODllMzRiMzYiLCBn ZXRBcnRpc3RJZChyZXMucmVzdWx0cy5nZXQoMCkuZ2V0RG9jKCkpKTsKKyAgICB9CisKKyAgICBA VGVzdAorICAgIHB1YmxpYyB2b2lkIHRlc3RGaW5kQXJ0aXN0QnlOb0VuZEFyZWEoKSB0aHJvd3Mg RXhjZXB0aW9uIHsKKyAgICAgICAgUmVzdWx0cyByZXMgPSBzcy5zZWFyY2goImVuZGFyZWE6XCIt XCIiLCAwLCAxMCk7CisgICAgICAgIGFzc2VydEVxdWFscygxLCByZXMuZ2V0VG90YWxIaXRzKCkp OworICAgICAgICBhc3NlcnRFcXVhbHMoIjQzMDJlMjY0LTFjZjAtNGQxZi1hY2E3LTJhNmY4OWUz NGIzNiIsIGdldEFydGlzdElkKHJlcy5yZXN1bHRzLmdldCgwKS5nZXREb2MoKSkpOworICAgIH0K KworCisgICAgQFRlc3QKICAgICBwdWJsaWMgdm9pZCB0ZXN0RmluZEFydGlzdERpc21heFNpbmds ZVRlcm0oKSB0aHJvd3MgRXhjZXB0aW9uIHsKICAgICAgICAgUmVzdWx0cyByZXMgPSBzZC5zZWFy Y2goIkZhcm1pbmciLCAwLCAxMCk7CiAgICAgICAgIGFzc2VydEVxdWFscygxLCByZXMuZ2V0VG90 YWxIaXRzKCkpOwpAQCAtNDQ0LDYgKzQ4MywxMCBAQAogICAgICAgICBhc3NlcnRUcnVlKG91dHB1 dC5jb250YWlucygiZ8O8dGg8L25hbWU+IikpOwogICAgICAgICBhc3NlcnRGYWxzZShvdXRwdXQu Y29udGFpbnMoImFsaWFzIikpOwogICAgICAgICBhc3NlcnRGYWxzZShvdXRwdXQuY29udGFpbnMo ImRpc2FtYnVnYXRpb24iKSk7CisgICAgICAgIGFzc2VydFRydWUob3V0cHV0LmNvbnRhaW5zKCI8 YXJlYSBpZD1cIjUzMDJlMjY0LTFjZjAtNGQxZi1hY2E3LTJhNmY4OWUzNGIzNlwiPjxuYW1lPkFm Z2hhbmlzdGFuPC9uYW1lPjxzb3J0LW5hbWU+QWZnaGFuaXN0YW48L3NvcnQtbmFtZT48L2FyZWE+ IikpOworICAgICAgICBhc3NlcnRUcnVlKG91dHB1dC5jb250YWlucygiPGJlZ2luLWFyZWEgaWQ9 XCI2MzAyZTI2NC0xY2YwLTRkMWYtYWNhNy0yYTZmODllMzRiMzZcIj48bmFtZT5DYW5hZGE8L25h bWU+PHNvcnQtbmFtZT5DYW5hZGE8L3NvcnQtbmFtZT48L2JlZ2luLWFyZWE+IikpOworICAgICAg ICBhc3NlcnRGYWxzZShvdXRwdXQuY29udGFpbnMoImVuZC1hcmVhIikpOworCiAgICAgfQogCiAg ICAgLyoqCkBAIC01NDMsNiArNTg2LDEzIEBACiAgICAgICAgIGFzc2VydFRydWUob3V0cHV0LmNv bnRhaW5zKCJcImNvdW50cnlcIjpcIkFGXCIiKSk7CiAgICAgICAgIGFzc2VydFRydWUob3V0cHV0 LmNvbnRhaW5zKCJcImdlbmRlclwiOlwibWFsZVwiIikpOwogICAgICAgICBhc3NlcnRUcnVlKG91 dHB1dC5jb250YWlucygiXCJ0YWdcIjpbe1wiY291bnRcIjo1LFwibmFtZVwiOlwidGhyYXNoXCJ9 LHtcImNvdW50XCI6MTEsXCJuYW1lXCI6XCJnw7x0aFwifSIpKTsKKyAgICAgICAgYXNzZXJ0VHJ1 ZShvdXRwdXQuY29udGFpbnMoIlwiaWRcIjpcIjUzMDJlMjY0LTFjZjAtNGQxZi1hY2E3LTJhNmY4 OWUzNGIzNlwiLCIpKTsKKyAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoIlwibmFt ZVwiOlwiQWZnaGFuaXN0YW5cIiwiKSk7CisgICAgICAgIGFzc2VydFRydWUob3V0cHV0LmNvbnRh aW5zKCJcInNvcnQtbmFtZVwiOlwiQWZnaGFuaXN0YW5cIiIpKTsKKyAgICAgICAgYXNzZXJ0VHJ1 ZShvdXRwdXQuY29udGFpbnMoIlwiaWRcIjpcIjYzMDJlMjY0LTFjZjAtNGQxZi1hY2E3LTJhNmY4 OWUzNGIzNlwiLCIpKTsKKyAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoIlwibmFt ZVwiOlwiQ2FuYWRhXCIsIikpOworICAgICAgICBhc3NlcnRUcnVlKG91dHB1dC5jb250YWlucygi XCJzb3J0LW5hbWVcIjpcIkNhbmFkYVwiIikpOworCiAgICAgfQogCiAKQEAgLTU5MCw2ICs2NDAs MTIgQEAKICAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoIlwibmFtZVwiOlwiZ8O8 dGhcIiIpKTsKICAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoIlwiY291bnRcIjox IikpOwogICAgICAgICBhc3NlcnRUcnVlKG91dHB1dC5jb250YWlucygiXCJvZmZzZXRcIjowIikp OworICAgICAgICBhc3NlcnRUcnVlKG91dHB1dC5jb250YWlucygiXCJpZFwiOlwiNTMwMmUyNjQt MWNmMC00ZDFmLWFjYTctMmE2Zjg5ZTM0YjM2XCIsIikpOworICAgICAgICBhc3NlcnRUcnVlKG91 dHB1dC5jb250YWlucygiXCJuYW1lXCI6XCJBZmdoYW5pc3RhblwiLCIpKTsKKyAgICAgICAgYXNz ZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoIlwic29ydC1uYW1lXCI6XCJBZmdoYW5pc3RhblwiIikp OworICAgICAgICBhc3NlcnRUcnVlKG91dHB1dC5jb250YWlucygiXCJpZFwiOlwiNjMwMmUyNjQt MWNmMC00ZDFmLWFjYTctMmE2Zjg5ZTM0YjM2XCIsIikpOworICAgICAgICBhc3NlcnRUcnVlKG91 dHB1dC5jb250YWlucygiXCJuYW1lXCI6XCJDYW5hZGFcIiwiKSk7CisgICAgICAgIGFzc2VydFRy dWUob3V0cHV0LmNvbnRhaW5zKCJcInNvcnQtbmFtZVwiOlwiQ2FuYWRhXCIiKSk7CiAKICAgICB9 CiAKCk1vZGlmaWVkOiBzZWFyY2hfc2VydmVyL3RydW5rL3NlcnZsZXQvc3JjL3Rlc3QvamF2YS9v cmcvbXVzaWNicmFpbnovc2VhcmNoL3NlcnZsZXQvRmluZExhYmVsVGVzdC5qYXZhCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIHNlYXJjaF9zZXJ2ZXIvdHJ1bmsvc2VydmxldC9zcmMvdGVzdC9qYXZhL29yZy9tdXNp Y2JyYWluei9zZWFyY2gvc2VydmxldC9GaW5kTGFiZWxUZXN0LmphdmEJMjAxMy0wNi0wNSAwODow NzozNiBVVEMgKHJldiAxMzY5NykKKysrIHNlYXJjaF9zZXJ2ZXIvdHJ1bmsvc2VydmxldC9zcmMv dGVzdC9qYXZhL29yZy9tdXNpY2JyYWluei9zZWFyY2gvc2VydmxldC9GaW5kTGFiZWxUZXN0Lmph dmEJMjAxMy0wNi0wNSAxMDo1OToyNCBVVEMgKHJldiAxMzY5OCkKQEAgLTgwLDYgKzgwLDEzIEBA CiAgICAgICAgICAgICBkb2MuYWRkRmllbGQoTGFiZWxJbmRleEZpZWxkLkNPVU5UUlksICJHQiIp OwogICAgICAgICAgICAgbGFiZWwuc2V0Q291bnRyeSgiR0IiKTsKIAorICAgICAgICAgICAgRGVm QXJlYUVsZW1lbnRJbm5lciBhcmVhID0gIG9mLmNyZWF0ZURlZkFyZWFFbGVtZW50SW5uZXIoKTsK KyAgICAgICAgICAgIGFyZWEuc2V0SWQoIjUzMDJlMjY0LTFjZjAtNGQxZi1hY2E3LTJhNmY4OWUz NGIzNiIpOworICAgICAgICAgICAgYXJlYS5zZXROYW1lKCJVbml0ZWQgS2luZ2RvbSIpOworICAg ICAgICAgICAgYXJlYS5zZXRTb3J0TmFtZSgiS2luZ2RvbSBVbml0ZWQiKTsKKyAgICAgICAgICAg IGxhYmVsLnNldEFyZWEoYXJlYSk7CisgICAgICAgICAgICBkb2MuYWRkRmllbGQoQXJ0aXN0SW5k ZXhGaWVsZC5BUkVBLCAiVW5pdGVkIEtpbmdkb20iKTsKKwogICAgICAgICAgICAgZG9jLmFkZEZp ZWxkKExhYmVsSW5kZXhGaWVsZC5UQUcsICJkYW5jZSIpOwogICAgICAgICAgICAgVGFnTGlzdCB0 YWdMaXN0ID0gb2YuY3JlYXRlVGFnTGlzdCgpOwogICAgICAgICAgICAgVGFnIHRhZyA9IG9mLmNy ZWF0ZVRhZygpOwpAQCAtMTk1LDYgKzIwMiwxNiBAQAogICAgIH0KIAogICAgIEBUZXN0CisgICAg cHVibGljIHZvaWQgdGVzdEZpbmRMYWJlbEJ5QXJlYSgpIHRocm93cyBFeGNlcHRpb24geworICAg ICAgICBSZXN1bHRzIHJlcyA9IHNzLnNlYXJjaCgiYXJlYTpcIlVuaXRlZCBLaW5nZG9tXCIiLCAw LCAxMCk7CisgICAgICAgIGFzc2VydEVxdWFscygxLCByZXMuZ2V0VG90YWxIaXRzKCkpOworICAg ICAgICBSZXN1bHQgcmVzdWx0ID0gcmVzLnJlc3VsdHMuZ2V0KDApOworICAgICAgICBNYkRvY3Vt ZW50IGRvYyA9IHJlc3VsdC5nZXREb2MoKTsKKyAgICAgICAgYXNzZXJ0RXF1YWxzKCJmZjU3MWZm NC0wNGNiLTRiOWMtOGExYy0zNTRjMzMwZjg2M2MiLCBkb2MuZ2V0KExhYmVsSW5kZXhGaWVsZC5M QUJFTF9JRCkpOworICAgICAgICBhc3NlcnRFcXVhbHMoIkpvY2tleSBTbHV0IiwgZG9jLmdldChM YWJlbEluZGV4RmllbGQuTEFCRUwpKTsKKyAgICB9CisKKyAgICBAVGVzdAogICAgIHB1YmxpYyB2 b2lkIHRlc3RGaW5kTGFiZWxCeURpc21heDEoKSB0aHJvd3MgRXhjZXB0aW9uIHsKICAgICAgICAg UmVzdWx0cyByZXMgPSBzZC5zZWFyY2goIkpvY2tleSBTbHV0IiwgMCwgMTApOwogICAgICAgICBh c3NlcnRFcXVhbHMoMSwgcmVzLmdldFRvdGFsSGl0cygpKTsKQEAgLTQ4NCw2ICs1MDEsNyBAQAog ICAgICAgICBhc3NlcnRUcnVlKG91dHB1dC5jb250YWlucygiPGVuZGVkPnRydWU8L2VuZGVkPiIp KTsKICAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoImRhbmNlPC9uYW1lPiIpKTsK ICAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoIjxpcGktbGlzdD48aXBpPjEwMDE8 L2lwaT48L2lwaS1saXN0PiIpKTsKKyAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMo IjxhcmVhIGlkPVwiNTMwMmUyNjQtMWNmMC00ZDFmLWFjYTctMmE2Zjg5ZTM0YjM2XCI+PG5hbWU+ VW5pdGVkIEtpbmdkb208L25hbWU+PHNvcnQtbmFtZT5LaW5nZG9tIFVuaXRlZDwvc29ydC1uYW1l PjwvYXJlYT4iKSk7CiAgICAgfQogCiAgICAgQFRlc3QKQEAgLTU0Nyw2ICs1NjUsNyBAQAogICAg ICAgICBhc3NlcnRUcnVlKG91dHB1dC5jb250YWlucygiXCJjb3VudHJ5XCI6XCJHQlwiIikpOwog ICAgICAgICBhc3NlcnRUcnVlKG91dHB1dC5jb250YWlucygidGFnLWxpc3RcIjp7XCJ0YWdcIjpb e1wiY291bnRcIjoyMixcIm5hbWVcIjpcImRhbmNlXCJ9IikpOwogICAgICAgICBhc3NlcnRUcnVl KG91dHB1dC5jb250YWlucygiXCJlbmRlZFwiOlwidHJ1ZVwiIikpOworICAgICAgICBhc3NlcnRU cnVlKG91dHB1dC5jb250YWlucygiXCJhcmVhXCI6e1wiaWRcIjpcIjUzMDJlMjY0LTFjZjAtNGQx Zi1hY2E3LTJhNmY4OWUzNGIzNlwiLFwibmFtZVwiOlwiVW5pdGVkIEtpbmdkb21cIixcInNvcnQt bmFtZVwiOlwiS2luZ2RvbSBVbml0ZWRcIn0iKSk7CiAgICAgfQogCiAgICAgLyoqCkBAIC01Nzks NiArNTk4LDcgQEAKICAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoIlwibGFiZWwt Y29kZVwiOjEyMzQiKSk7CiAgICAgICAgIGFzc2VydFRydWUob3V0cHV0LmNvbnRhaW5zKCJcImNv dW50XCI6MSIpKTsKICAgICAgICAgYXNzZXJ0VHJ1ZShvdXRwdXQuY29udGFpbnMoIlwib2Zmc2V0 XCI6MCwiKSk7CisgICAgICAgIGFzc2VydFRydWUob3V0cHV0LmNvbnRhaW5zKCJcImFyZWFcIjp7 XCJpZFwiOlwiNTMwMmUyNjQtMWNmMC00ZDFmLWFjYTctMmE2Zjg5ZTM0YjM2XCIsXCJuYW1lXCI6 XCJVbml0ZWQgS2luZ2RvbVwiLFwic29ydC1uYW1lXCI6XCJLaW5nZG9tIFVuaXRlZFwifSIpKTsK IAogICAgIH0KIAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCk11c2ljQnJhaW56LWNvbW1pdHMgbWFpbGluZyBsaXN0Ck11c2ljQnJhaW56LWNvbW1pdHNA bGlzdHMubXVzaWNicmFpbnoub3JnCmh0dHA6Ly9saXN0cy5tdXNpY2JyYWluei5vcmcvbWFpbG1h bi9saXN0aW5mby9tdXNpY2JyYWluei1jb21taXRz