[Tools] testbot/web: Allow administrators to retrieve the Engine log.
Francois Gouget <[email protected]> Wed, 22 Nov 2017 16:36:43 +0100 (CET)
| Newsgroups | gmane.comp.emulators.wine.patches |
|---|---|
| Message-ID | <E1eHX4t-0003XR-Fp@amboise> |
U2lnbmVkLW9mZi1ieTogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4K LS0tCiB0ZXN0Ym90L2xpYi9XaW5lVGVzdEJvdC9DR0kvUGFnZUJhc2UucG0gfCAgIDMgKwogdGVz dGJvdC9saWIvV2luZVRlc3RCb3QvTG9nLnBtICAgICAgICAgIHwgICA4ICstCiB0ZXN0Ym90L3dl Yi9hZG1pbi9Mb2cucGwgICAgICAgICAgICAgICAgfCAxMDMgKysrKysrKysrKysrKysrKysrKwog dGVzdGJvdC93ZWIvYWRtaW4vU2VuZExvZy5wbCAgICAgICAgICAgIHwgMTczICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDI4NiBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdGJvdC93ZWIvYWRtaW4vTG9n LnBsCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdGJvdC93ZWIvYWRtaW4vU2VuZExvZy5wbAoKZGlm ZiAtLWdpdCBhL3Rlc3Rib3QvbGliL1dpbmVUZXN0Qm90L0NHSS9QYWdlQmFzZS5wbSBiL3Rlc3Ri b3QvbGliL1dpbmVUZXN0Qm90L0NHSS9QYWdlQmFzZS5wbQppbmRleCAwNDc1OWNhMC4uNGFlMTkw ZTIgMTAwNjQ0Ci0tLSBhL3Rlc3Rib3QvbGliL1dpbmVUZXN0Qm90L0NHSS9QYWdlQmFzZS5wbQor KysgYi90ZXN0Ym90L2xpYi9XaW5lVGVzdEJvdC9DR0kvUGFnZUJhc2UucG0KQEAgLTI5OCw2ICsy OTgsOSBAQCBFT0YKICAgICBwcmludCAiICAgICAgICA8bGkgY2xhc3M9J2RpdmlkZXInPiZuYnNw OzwvbGk+XG4iOwogICAgIHByaW50ICIgICAgICAgIDxsaT48cD48YSBocmVmPSciLCBNYWtlU2Vj dXJlVVJMKCIvYWRtaW4vQnJhbmNoZXNMaXN0LnBsIiksCiAgICAgICAgICAgIic+QnJhbmNoZXM8 L2E+PC9wPjwvbGk+XG4iOworICAgIHByaW50ICIgICAgICAgIDxsaSBjbGFzcz0nZGl2aWRlcic+ Jm5ic3A7PC9saT5cbiI7CisgICAgcHJpbnQgIiAgICAgICAgPGxpPjxwPjxhIGhyZWY9JyIsIE1h a2VTZWN1cmVVUkwoIi9hZG1pbi9Mb2cucGwiKSwKKyAgICAgICAgICAiJz5FbmdpbmUgTG9nPC9h PjwvcD48L2xpPlxuIjsKICAgICBwcmludCAiICAgICAgICA8bGkgY2xhc3M9J2JvdCc+Jm5ic3A7 PC9saT5cbiI7CiAgIH0KIApkaWZmIC0tZ2l0IGEvdGVzdGJvdC9saWIvV2luZVRlc3RCb3QvTG9n LnBtIGIvdGVzdGJvdC9saWIvV2luZVRlc3RCb3QvTG9nLnBtCmluZGV4IDdhYmYyY2I3Li5mMTQ5 OWRkOSAxMDA2NDQKLS0tIGEvdGVzdGJvdC9saWIvV2luZVRlc3RCb3QvTG9nLnBtCisrKyBiL3Rl c3Rib3QvbGliL1dpbmVUZXN0Qm90L0xvZy5wbQpAQCAtMzEsNyArMzEsNyBAQCB1c2UgdmFycyBx dyAoQElTQSBARVhQT1JUKTsKIAogcmVxdWlyZSBFeHBvcnRlcjsKIEBJU0EgPSBxdyhFeHBvcnRl cik7Ci1ARVhQT1JUID0gcXcoJkxvZ01zZyAmVGltZSAmRWxhcHNlZCk7CitARVhQT1JUID0gcXco JkxvZ01zZyAmT3BlbkxvZyAmVGltZSAmRWxhcHNlZCk7CiAKIG15ICRsb2dmaWxlOwogbXkgJGxv Z3ByZWZpeDsKQEAgLTU4LDYgKzU4LDEyIEBAIHN1YiBMb2dNc2coQCkKICAgcHJpbnQgJGxvZ2Zp bGUgc2NhbGFyIGxvY2FsdGltZSwgIiAiLCAkbG9ncHJlZml4LCAiWyQkXTogIiwgQF8gaWYgKCRs b2dmaWxlKTsKIH0KIAorc3ViIE9wZW5Mb2coKQoreworICBteSAkSGFuZGxlOworICByZXR1cm4g b3BlbigkSGFuZGxlLCAiPCIsICIkTG9nRGlyL2xvZyIpID8gJEhhbmRsZSA6IHVuZGVmOworfQor CiA9cG9kCiA9b3ZlciAxMgogCmRpZmYgLS1naXQgYS90ZXN0Ym90L3dlYi9hZG1pbi9Mb2cucGwg Yi90ZXN0Ym90L3dlYi9hZG1pbi9Mb2cucGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAuLmI5NzU0YmQzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGJvdC93ZWIvYWRtaW4vTG9n LnBsCkBAIC0wLDAgKzEsMTAzIEBACisjIC0qLSBNb2RlOiBQZXJsOyBwZXJsLWluZGVudC1sZXZl bDogMjsgaW5kZW50LXRhYnMtbW9kZTogbmlsIC0qLQorIyBMZXQgdGhlIGFkbWluaXN0cmF0b3Ig ZG93bmxvYWQgYW4gZXhjZXJwdCBvZiB0aGUgRW5naW5lIGxvZworIworIyBDb3B5cmlnaHQgMjAx NyBGcmFuY29pcyBHb3VnZXQKKyMKKyMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJzaW9uIDIuMSBv ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMK KyMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhbG9uZyB3 aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBG b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEg MDIxMTAtMTMwMSwgVVNBCisKK3VzZSBzdHJpY3Q7CisKK3BhY2thZ2UgTG9nUGFnZTsKKwordXNl IE9iamVjdE1vZGVsOjpCYXNpY1Byb3BlcnR5RGVzY3JpcHRvcjsKK3VzZSBPYmplY3RNb2RlbDo6 Q0dJOjpGcmVlRm9ybVBhZ2U7Cit1c2UgV2luZVRlc3RCb3Q6OkNvbmZpZzsKK3VzZSBXaW5lVGVz dEJvdDo6TG9nOworCitATG9nUGFnZTo6SVNBID0gcXcoT2JqZWN0TW9kZWw6OkNHSTo6RnJlZUZv cm1QYWdlKTsKKworc3ViIF9pbml0aWFsaXplKCQkJCkKK3sKKyAgbXkgKCRzZWxmLCAkUmVxdWVz dCwgJFJlcXVpcmVkUm9sZSkgPSBAXzsKKworICBteSBAUHJvcGVydHlEZXNjcmlwdG9ycyA9ICgK KyAgICBDcmVhdGVCYXNpY1Byb3BlcnR5RGVzY3JpcHRvcigiSG91cnMiLCAiSG91cnMiLCAhMSwg ITEsICJOIiwgMiksCisgICk7CisgICRzZWxmLT5TVVBFUjo6X2luaXRpYWxpemUoJFJlcXVlc3Qs ICRSZXF1aXJlZFJvbGUsIFxAUHJvcGVydHlEZXNjcmlwdG9ycyk7Cit9CisKK3N1YiBHZXRQcm9w ZXJ0eVZhbHVlKCQkKQoreworICBteSAoJHNlbGYsICRQcm9wZXJ0eURlc2NyaXB0b3IpID0gQF87 CisKKyAgbXkgJFByb3BlcnR5TmFtZSA9ICRQcm9wZXJ0eURlc2NyaXB0b3ItPkdldE5hbWUoKTsK KyAgcmV0dXJuIDEgaWYgKCRQcm9wZXJ0eU5hbWUgZXEgIkhvdXJzIik7ICMgUHJvdmlkZXMgYSBk ZWZhdWx0IHZhbHVlCisKKyAgcmV0dXJuICRzZWxmLT5TVVBFUjo6R2V0UHJvcGVydHlWYWx1ZSgk UHJvcGVydHlEZXNjcmlwdG9yKTsKK30KKworc3ViIEdldEhlYWRlclRleHQoJCkKK3sKKyAgI215 ICgkc2VsZikgPSBAXzsKKyAgcmV0dXJuICJTcGVjaWZ5IGhvdyBtYW55IGhvdXJzIG9mIGxvZyBt ZXNzYWdlcyB0byBnZXQuIjsKK30KKworc3ViIEdldEFjdGlvbnMoJCkKK3sKKyAgbXkgKCRzZWxm KSA9IEBfOworCisgIG15ICRBY3Rpb25zID0gJHNlbGYtPlNVUEVSOjpHZXRBY3Rpb25zKCk7Cisg IHB1c2goQCRBY3Rpb25zLCAiRG93bmxvYWQiKTsKKworICByZXR1cm4gJEFjdGlvbnM7Cit9CisK K3N1YiBPbkRvd25sb2FkKCQpCit7CisgIG15ICgkc2VsZikgPSBAXzsKKyAgJHNlbGYtPlJlZGly ZWN0KCIvYWRtaW4vU2VuZExvZy5wbD9Ib3Vycz0iLiAkc2VsZi0+R2V0UGFyYW0oIkhvdXJzIikp OyAjIGRvZXMgbm90IHJldHVybgorICBleGl0OworfQorCitzdWIgT25BY3Rpb24oJCQpCit7Cisg IG15ICgkc2VsZiwgJEFjdGlvbikgPSBAXzsKKworICByZXR1cm4gJHNlbGYtPk9uRG93bmxvYWQo KSBpZiAoJEFjdGlvbiBlcSAiRG93bmxvYWQiKTsKKyAgcmV0dXJuICRzZWxmLT5TVVBFUjo6T25B Y3Rpb24oJEFjdGlvbik7Cit9CisKK3N1YiBHZW5lcmF0ZUJvZHkoJCkKK3sKKyAgbXkgKCRzZWxm KSA9IEBfOworCisgIG15ICRMb2cgPSBPcGVuTG9nKCk7CisgIGlmIChkZWZpbmVkICRMb2cpCisg IHsKKyAgICBteSAkU2l6ZSA9IChzdGF0KCRMb2cpKVs3XTsKKyAgICAkU2l6ZSA9IGludCgkU2l6 ZSAvIDEwMjQgLyAxMDI0KTsKKyAgICBwcmludCAiPGRpdiBjbGFzcz0nQ29udGVudCc+PHA+TG9n IHNpemU6ICRTaXplIE1CPC9wPjwvZGl2PlxuXG4iOworICAgIGNsb3NlKCRMb2cpOworICB9Cisg ICRzZWxmLT5TVVBFUjo6R2VuZXJhdGVCb2R5KCk7Cit9CisKKworcGFja2FnZSBtYWluOworCitt eSAkUmVxdWVzdCA9IHNoaWZ0OworCitteSAkTG9nUGFnZSA9IExvZ1BhZ2UtPm5ldygkUmVxdWVz dCwgImFkbWluIik7CiskTG9nUGFnZS0+R2VuZXJhdGVQYWdlKCk7CmRpZmYgLS1naXQgYS90ZXN0 Ym90L3dlYi9hZG1pbi9TZW5kTG9nLnBsIGIvdGVzdGJvdC93ZWIvYWRtaW4vU2VuZExvZy5wbApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uNzA0NGMzMzIKLS0tIC9kZXYvbnVs bAorKysgYi90ZXN0Ym90L3dlYi9hZG1pbi9TZW5kTG9nLnBsCkBAIC0wLDAgKzEsMTczIEBACisj IC0qLSBNb2RlOiBQZXJsOyBwZXJsLWluZGVudC1sZXZlbDogMjsgaW5kZW50LXRhYnMtbW9kZTog bmlsIC0qLQorIyBTZW5kcyBhbiBleGNlcnB0IG9mIHRoZSBUZXN0Qm90IEVuZ2luZSBsb2cKKyMK KyMgQ29weXJpZ2h0IDIwMTcgRnJhbmNvaXMgR291Z2V0CisjCisjIFRoaXMgbGlicmFyeSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK KyMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisjCisjIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBMZXNzZXIg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisj IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy ZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZs b29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQorCit1c2Ugc3RyaWN0OworCit1c2UgSFRU UDo6RGF0ZTsKKwordXNlIEFwYWNoZTI6OkNvbnN0IC1jb21waWxlID0+IHF3KFJFRElSRUNUKTsK K3VzZSBDR0k7Cit1c2UgQ0dJOjpDb29raWU7Cit1c2UgVVJJOjpFc2NhcGU7Cit1c2UgV2luZVRl c3RCb3Q6OkNvbmZpZzsKK3VzZSBXaW5lVGVzdEJvdDo6Q0dJOjpTZXNzaW9uczsKK3VzZSBXaW5l VGVzdEJvdDo6TG9nOworCisKK3N1YiBHZXRTdGFydFBvc2l0aW9uKCQkKQoreworICBteSAoJExv ZywgJEhvdXJzKSA9IEBfOworCisgICMgVGhlIGxvZyBmaWxlIGNhbiBiZSBwcmV0dHkgbG9uZyBz byBkbyBhIGJpbmFyeSBzZWFyY2ggdG8gZmlndXJlIG91dCB3aGVyZQorICAjIHRoZSBvbGRlc3Qg bG9nIGxpbmUgbGVzcyB0aGFuICRIb3VycyBvbGQgaXMuCisgIG15ICRDdXRvZmYgPSB0aW1lKCkg LSAzNjAwICogJEhvdXJzOworICBteSAkU2l6ZSA9IChzdGF0KCRMb2cpKVs3XTsKKyAgbXkgKCRN aW4sICRNYXgpID0gKDAsICRTaXplKTsKKyAgd2hpbGUgKCRNaW4gPCAkTWF4KQorICB7CisgICAg bXkgJE1pZGRsZSA9IGludCgoJE1pbiArICRNYXgpIC8gMik7CisgICAgc2VlaygkTG9nLCAkTWlk ZGxlLCAwKTsKKworICAgICMgSWdub3JlIHRoZSBmaXJzdCBsaW5lIHdoaWNoIHdlIGFzc3VtZSBp cyBnb2luZyB0byBiZSBpbmNvbXBsZXRlIChldmVuCisgICAgIyBpZiBieSBjaGFuY2UgaXQgc3Rh cnQgd2l0aCBhIHRpbWVzdGFtcCB0aGVyZSBpcyBubyB3YXkgdG8ga25vdyBpZiB0aGF0CisgICAg IyB0aW1lc3RhbXAgaXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGluZSkuIEFsc28gYWRqdXN0 ICRNaWRkbGUgc28gaXQKKyAgICAjIGFsd2F5cyBwb2ludHMgdG8gdGhlIHN0YXJ0IG9mIGEgbGlu ZS4KKyAgICBteSAkTGluZSA9IDwkTG9nPjsKKyAgICAkTWlkZGxlICs9IGxlbmd0aCgkTGluZSk7 CisgICAgaWYgKCRNaWRkbGUgPj0gJFNpemUpCisgICAgeworICAgICAgIyBUaGVyZSBpcyBubyBs aW5lIGxlc3MgdGhhbiAkSG91cnMgb2xkIHNvIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8KKyAgICAg ICMgcmV0dXJuICRTaXplLiBCdXQgaW5zdGVhZCByZXR1cm4gJE1pbiBzbyB0aGUgYWRtaW5pc3Ry YXRvciBhdAorICAgICAgIyBsZWFzdCBzZWVzIHRoZSBsYXN0IGxpbmUuCisgICAgICByZXR1cm4g KCRNaW4sIDApOworICAgIH0KKyAgICBpZiAoJE1pZGRsZSA+PSAkTWF4KQorICAgIHsKKyAgICAg ICMgVGhlcmUgaXMgb25seSBvbmUgbGluZSBiZXR3ZWVuICRNaW4gYW5kICRNYXguIERldGVybWlu ZSB3aGV0aGVyIHRvCisgICAgICAjIGluY2x1ZGUgaXQgb3Igbm90LgorICAgICAgJE1pZGRsZSA9 ICRNaW47CisgICAgICBzZWVrKCRMb2csICRNaWRkbGUsIDApOworICAgIH0KKyAgICBteSAkQ3Vy cmVudCA9ICRNaWRkbGU7CisgICAgd2hpbGUgKCRMaW5lID0gPCRMb2c+KQorICAgIHsKKyAgICAg ICMgTm90ZSB0aGF0IHRoZSBsb2cgZmlsZSBtYXkgaGF2ZSBsaW5lcyB3aXRoIG5vIHRpbWVzdGFt cAorICAgICAgaWYgKCRMaW5lID1+IC9eKFx3ezN9IFx3ezN9IFswLTkgXVxkIFxkezJ9OlxkezJ9 OlxkezJ9IFxkezR9KSAvKQorICAgICAgeworICAgICAgICBteSAkVGltZSA9IHN0cjJ0aW1lKCQx KTsKKyAgICAgICAgaWYgKCRUaW1lIDwgJEN1dG9mZikKKyAgICAgICAgeworICAgICAgICAgICMg VGhpcyBsaW5lIGlzIHRvbyBvbGQKKyAgICAgICAgICAkQ3VycmVudCArPSBsZW5ndGgoJExpbmUp OworICAgICAgICAgIGlmICgkQ3VycmVudCA+PSAkU2l6ZSkKKyAgICAgICAgICB7CisgICAgICAg ICAgICAjIFNlZSB0aGUgJE1pZGRsZSA9PSAkU2l6ZSBjb21tZW50LiBOb3RlIHRoYXQgdGhpcyBt YXkgcmV0dXJuIG1vcmUKKyAgICAgICAgICAgICMgdGhhbiBvbmUgbGluZS4KKyAgICAgICAgICAg IHJldHVybiAoJE1pbiwgMCk7CisgICAgICAgICAgfQorICAgICAgICAgICRNaW4gPSAkQ3VycmVu dDsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAjIENvbnNp ZGVyIHRoYXQgbGluZXMgd2l0aCBubyB0aW1lc3RhbXAgYXJlIGxlc3MgdGhhbiAkSG91cnMgb2xk IHRvbworICAgICAgICAgICRNYXggPSAkTWlkZGxlOworICAgICAgICB9CisgICAgICAgIGxhc3Q7 CisgICAgICB9CisgICAgICAkQ3VycmVudCArPSBsZW5ndGgoJExpbmUpOworICAgICAgaWYgKCRD dXJyZW50ID49ICRNYXgpCisgICAgICB7CisgICAgICAgICMgQ29uc2lkZXIgdGhhdCBsaW5lcyB3 aXRoIG5vIHRpbWVzdGFtcCBhcmUgbGVzcyB0aGFuICRIb3VycyBvbGQgdG9vCisgICAgICAgICRN YXggPSAkTWlkZGxlOworICAgICAgICBsYXN0OworICAgICAgfQorICAgIH0KKyAgICByZXR1cm4g JE1pbiBpZiAoIWRlZmluZWQgJExpbmUpOworICB9CisgIHJldHVybiAoJE1pbiwgMSk7Cit9CisK K3N1YiBQcmludExvZygkKQoreworICBteSAoJFJlcXVlc3QpID0gQF87CisKKyAgbXkgJENHSU9i aiA9IENHSS0+bmV3KCRSZXF1ZXN0KTsKKyAgbXkgJEhvdXJzID0gJENHSU9iai0+cGFyYW0oIkhv dXJzIik7CisgIGlmICghZGVmaW5lZCAkSG91cnMgb3IgJEhvdXJzICF+IC9eKFxkXGQ/KSQvKQor ICB7CisgICAgICAkUmVxdWVzdC0+aGVhZGVyc19vdXQtPnNldCgiTG9jYXRpb24iLCAiLyIpOwor ICAgICAgJFJlcXVlc3QtPnN0YXR1cyhBcGFjaGUyOjpDb25zdDo6UkVESVJFQ1QpOworICAgICAg ZXhpdDsKKyAgfQorICAkSG91cnMgPSAkMTsKKworICAjIFRleHQgZmlsZQorICAkUmVxdWVzdC0+ Y29udGVudF90eXBlKCJ0ZXh0L3BsYWluIik7CisKKyAgbXkgJExvZyA9IE9wZW5Mb2coKTsKKyAg aWYgKGRlZmluZWQgJExvZykKKyAgeworICAgIGJpbm1vZGUoJExvZyk7CisgICAgaWYgKCRIb3Vy cyA+IDApCisgICAgeworICAgICAgbXkgKCRQb3NpdGlvbiwgJEZvdW5kKSA9IEdldFN0YXJ0UG9z aXRpb24oJExvZywgJEhvdXJzKTsKKyAgICAgIGlmICghJEZvdW5kKQorICAgICAgeworICAgICAg ICBwcmludCAiVGhlcmUgaXMgbm8gbG9nIGVudHJ5IGxlc3MgdGhhbiAkSG91cnMgaG91cihzKSBv bGQuXG4iOworICAgICAgICBwcmludCAiSGVyZSBhcmUgdGhlIGxhc3QgZmV3IGxpbmVzOlxuIjsK KyAgICAgIH0KKyAgICAgIHNlZWsoJExvZywgJFBvc2l0aW9uLCAwKTsKKyAgICB9CisKKyAgICBi aW5tb2RlKFNURE9VVCk7CisgICAgd2hpbGUgKDEpCisgICAgeworICAgICAgbXkgJEJsb2NrOwor ICAgICAgbXkgJExlbiA9IHN5c3JlYWQoJExvZywgJEJsb2NrLCAxNjM4NCk7CisgICAgICBsYXN0 IGlmICghJExlbik7CisgICAgICBwcmludCAkQmxvY2s7CisgICAgfQorICAgIGNsb3NlKCRMb2cp OworICB9CisgIGVsc2UKKyAgeworICAgIHByaW50ICJDb3VsZCBub3Qgb3BlbiB0aGUgbG9nIGZp bGUhXG4iOworICB9Cit9CisKK215ICRSZXF1ZXN0ID0gc2hpZnQ7CisKK215ICVDb29raWVzID0g Q0dJOjpDb29raWUtPmZldGNoKCRSZXF1ZXN0KTsKK215ICRJc0FkbWluOworaWYgKGRlZmluZWQg JENvb2tpZXN7IlNlc3Npb25JZCJ9KQoreworICBteSAkU2Vzc2lvbiA9IENyZWF0ZVNlc3Npb25z KCktPkdldEl0ZW0oJENvb2tpZXN7IlNlc3Npb25JZCJ9LT52YWx1ZSk7CisgICRJc0FkbWluID0g JFNlc3Npb24tPlVzZXItPkhhc1JvbGUoImFkbWluIikgaWYgKCRTZXNzaW9uKTsKKworfQoraWYg KCEkSXNBZG1pbikKK3sKKyAgJFJlcXVlc3QtPmhlYWRlcnNfb3V0LT5zZXQoIkxvY2F0aW9uIiwg Ii9Mb2dpbi5wbD9UYXJnZXQ9IiAuIHVyaV9lc2NhcGUoJEVOVnsiUkVRVUVTVF9VUkkifSkpOwor ICAkUmVxdWVzdC0+c3RhdHVzKEFwYWNoZTI6OkNvbnN0OjpSRURJUkVDVCk7CisgIGV4aXQ7Cit9 CisKK1ByaW50TG9nKCRSZXF1ZXN0KTsKKworZXhpdDsKLS0gCjIuMTQuMgoKCg==