ZGlmZiAtLWdpdCBhL0xpYi9zcWxpdGUzL2RiYXBpMi5weSBiL0xpYi9zcWxpdGUzL2RiYXBpMi5weQppbmRleCBiZTdhNTBhLi4wMGE3OThiIDEwMDY0NAotLS0gYS9MaWIvc3FsaXRlMy9kYmFwaTIucHkKKysrIGIvTGliL3NxbGl0ZTMvZGJhcGkyLnB5CkBAIC0xLDQgKzEsNCBAQAotIy0qLSBjb2Rpbmc6IElTTy04ODU5LTEgLSotCisjIC0qLSBjb2Rpbmc6IGlzby04ODU5LTEgLSotCiAjIHB5c3FsaXRlMi9kYmFwaTIucHk6IHRoZSBEQi1BUEkgMi4wIGludGVyZmFjZQogIwogIyBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNSBHZXJoYXJkIEjkcmluZyA8Z2hAZ2hhZXJpbmcuZGU+CkBAIC02OCw3ICs2OCw3IEBACiAgICAgICAgIHRpbWVwYXJ0X2Z1bGwgPSB0aW1lcGFydC5zcGxpdCgiLiIpCiAgICAgICAgIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzID0gbWFwKGludCwgdGltZXBhcnRfZnVsbFswXS5zcGxpdCgiOiIpKQogICAgICAgICBpZiBsZW4odGltZXBhcnRfZnVsbCkgPT0gMjoKLSAgICAgICAgICAgIG1pY3Jvc2Vjb25kcyA9IGludCgnezowPDZ9Jy5mb3JtYXQodGltZXBhcnRfZnVsbFsxXS5kZWNvZGUoKSkpCisgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSBpbnQoJ3s6MDw2LjZ9Jy5mb3JtYXQodGltZXBhcnRfZnVsbFsxXS5kZWNvZGUoKSkpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSAwCiAKZGlmZiAtLWdpdCBhL0xpYi9zcWxpdGUzL3Rlc3QvcmVncmVzc2lvbi5weSBiL0xpYi9zcWxpdGUzL3Rlc3QvcmVncmVzc2lvbi5weQppbmRleCAwNmRlOTgyLi44YTM5ZDU5IDEwMDY0NAotLS0gYS9MaWIvc3FsaXRlMy90ZXN0L3JlZ3Jlc3Npb24ucHkKKysrIGIvTGliL3NxbGl0ZTMvdGVzdC9yZWdyZXNzaW9uLnB5CkBAIC0yOTYsMTEgKzI5NiwyMCBAQAogICAgICAgICBjb24gPSBzcWxpdGUuY29ubmVjdCgiOm1lbW9yeToiLCBkZXRlY3RfdHlwZXM9c3FsaXRlLlBBUlNFX0RFQ0xUWVBFUykKICAgICAgICAgY3VyID0gY29uLmN1cnNvcigpCiAgICAgICAgIGN1ci5leGVjdXRlKCJDUkVBVEUgVEFCTEUgdCAoeCBUSU1FU1RBTVApIikKLSAgICAgICAgY3VyLmV4ZWN1dGUoIklOU0VSVCBJTlRPIHQgKHgpIFZBTFVFUyAoJzIwMTItMDQtMDQgMTU6MDY6MDAuNDU2JykiKQotICAgICAgICBjdXIuZXhlY3V0ZSgiU0VMRUNUICogRlJPTSB0IikKLSAgICAgICAgZGF0ZSA9IGN1ci5mZXRjaGFsbCgpWzBdWzBdCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRlLCBkYXRldGltZS5kYXRldGltZSgyMDEyLCA0LCA0LCAxNSwgNiwgMCwgNDU2MDAwKSkKKyAgICAgICAgIyBNaWNyb3NlY29uZHMgc2hvdWxkIGJlIDQ1NjAwMAorICAgICAgICBjdXIuZXhlY3V0ZSgiSU5TRVJUIElOVE8gdCAoeCkgVkFMVUVTICgnMjAxMi0wNC0wNCAxNTowNjowMC40NTYnKSIpCisKKyAgICAgICAgIyBNaWNyb3NlY29uZHMgc2hvdWxkIGJlIHRydW5jYXRlZCB0byAxMjM0NTYKKyAgICAgICAgY3VyLmV4ZWN1dGUoIklOU0VSVCBJTlRPIHQgKHgpIFZBTFVFUyAoJzIwMTItMDQtMDQgMTU6MDY6MDAuMTIzNDU2Nzg5JykiKQorCisgICAgICAgIGN1ci5leGVjdXRlKCJTRUxFQ1QgKiBGUk9NIHQiKQorICAgICAgICB2YWx1ZXMgPSBbeFswXSBmb3IgeCBpbiBjdXIuZmV0Y2hhbGwoKV0KKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHZhbHVlcywgWworICAgICAgICAgICAgZGF0ZXRpbWUuZGF0ZXRpbWUoMjAxMiwgNCwgNCwgMTUsIDYsIDAsIDQ1NjAwMCksCisgICAgICAgICAgICBkYXRldGltZS5kYXRldGltZSgyMDEyLCA0LCA0LCAxNSwgNiwgMCwgMTIzNDU2KSwKKyAgICAgICAgXSkKIAogCiBkZWYgc3VpdGUoKToK