Name: series-workflowrqxvg Phase: Failed StartedAt: 2026-07-10 11:19:58 +0000 UTC FinishedAt: 2026-07-10 11:36:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrqxvg[0] Phase: Succeeded StartedAt: 2026-07-10 11:19:58 +0000 UTC FinishedAt: 2026-07-10 11:36:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrqxvg[0].run-triage Phase: Succeeded StartedAt: 2026-07-10 11:19:58 +0000 UTC FinishedAt: 2026-07-10 11:36:08 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDExOjM1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMTE6MzU8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAwNjhkNjU0N2JmN2M2NWRhMGFjMTE5NzUyNzI4NmIwYTMwZjA5MjNlXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTAgMTE6MzU6NDAgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtX21haW4uYyBiL3ZpcnQva3ZtL2t2bV9tYWluLmNcbmluZGV4IGU0NGMyMGMwNDk2MTBkLi5kNDQyMGViZmQ5NzI3YiAxMDA2NDRcbi0tLSBhL3ZpcnQva3ZtL2t2bV9tYWluLmNcbiYjNDM7JiM0MzsmIzQzOyBiL3ZpcnQva3ZtL2t2bV9tYWluLmNcbkBAIC02NTU5LDYgJiM0Mzs2NTU5LDcgQEAgaW50IGt2bV9pbml0KHVuc2lnbmVkIHZjcHVfc2l6ZSwgdW5zaWduZWQgdmNwdV9hbGlnbiwgc3RydWN0IG1vZHVsZSAqbW9kdWxlKVxuIGVycl9nbWVtOlxuIFx0a3ZtX3ZmaW9fb3BzX2V4aXQoKTtcbiBlcnJfdmZpbzpcbiYjNDM7XHRkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUoa3ZtX2RlYnVnZnNfZGlyKTtcbiBcdGt2bV9hc3luY19wZl9kZWluaXQoKTtcbiBlcnJfYXN5bmNfcGY6XG4gXHRrdm1faXJxZmRfZXhpdCgpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDExOjM1PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDA2OGQ2NTQ3YmY3YzY1ZGEwYWMxMTk3NTI3Mjg2YjBhMzBmMDkyM2UKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgRnJpIEp1bCAxMCAxMTozNTo0MCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2t2bV9tYWluLmMgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCmluZGV4IGU0NGMyMGMwNDk2MTBkLi5kNDQyMGViZmQ5NzI3YiAxMDA2NDQKLS0tIGEvdmlydC9rdm0va3ZtX21haW4uYwomIzQzOyYjNDM7JiM0MzsgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCkBAIC02NTU5LDYgJiM0Mzs2NTU5LDcgQEAgaW50IGt2bV9pbml0KHVuc2lnbmVkIHZjcHVfc2l6ZSwgdW5zaWduZWQgdmNwdV9hbGlnbiwgc3RydWN0IG1vZHVsZSAqbW9kdWxlKQogZXJyX2dtZW06CiAJa3ZtX3ZmaW9fb3BzX2V4aXQoKTsKIGVycl92ZmlvOgomIzQzOwlkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUoa3ZtX2RlYnVnZnNfZGlyKTsKIAlrdm1fYXN5bmNfcGZfZGVpbml0KCk7CiBlcnJfYXN5bmNfcGY6CiAJa3ZtX2lycWZkX2V4aXQoKTsKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMTE6MzU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTgzNgoJCQkJCQkJb3V0cHV0OiAzNQoJCQkJCQkJdGhvdWdodHM6IDEzMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBLVk0gTW9kdWxlIEluaXRpYWxpemF0aW9uIEVycm9yIFBhdGgqKgoKT2theSwgc28gdGhpcyBwYXRjaCBjYXVnaHQgbXkgZXllIGJlY2F1c2UgaXQgdG91Y2hlcyB0aGUgZXJyb3IgaGFuZGxpbmcgd2l0aGluIGBrdm1faW5pdGAgaW4gYHZpcnQva3ZtL2t2bV9tYWluLmNgLiBTcGVjaWZpY2FsbHksIGl0JiMzOTtzIGFkZGluZyBgZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKGt2bV9kZWJ1Z2ZzX2Rpcik7YCB0byB0aGUgZXJyb3IgcGF0aC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCAmIzM0O0lzIHRoaXMgYSBmdXp6aW5nIHRhcmdldD8mIzM0OyBJdCYjMzk7cyBhIGNsZWFudXAgc3RlcCwgd2hpY2ggaXMgaW50ZXJlc3RpbmcsIGJlY2F1c2UgdGhvc2UgYXJlIG9mdGVuIHByb2JsZW1hdGljIGlmIGltcHJvcGVybHkgaGFuZGxlZC4gQW5kIGl0IGlzIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCwgc3BlY2lmaWNhbGx5LgoKTm93LCBga3ZtX2luaXRgIGlzLCBvZiBjb3Vyc2UsIGNhbGxlZCB3aGVuIHRoZSBLVk0gbW9kdWxlIGdldHMgbG9hZGVkLCBhbmQgZnV6emluZyBtb2R1bGUgbG9hZGluZyBhbmQgdW5sb2FkaW5nICppcyogcG9zc2libGUsIGFuZCBhIHdvcnRod2hpbGUgdGFyZ2V0IHRvIGludmVzdGlnYXRlIG1vcmUgdGhvcm91Z2hseS4gQnV0IHRoaXMgaXMgYSB2ZXJ5IHNwZWNpZmljIGVycm9yIHBhdGguIE15IGZpcnN0IHRob3VnaHQgaXMgdGhhdCBpdCBtaWdodCBub3QgYmUgdGhhdCBmcnVpdGZ1bCwgdGhlIGVycm9yIGNvZGUgY291bGQgYmUgd2VsbC10ZXN0ZWQgYWxyZWFkeS4gU3RpbGwsIGl0IGNvdWxkIGJlLiBJIG5lZWQgdG8gZ2V0IGEgYmV0dGVyIGhhbmRsZSBvbiB0aGUgcG90ZW50aWFsIHN1cmZhY2UgYXJlYS4gVGltZSB0byB0YWtlIGEgY2xvc2VyIGxvb2sgYXQgdGhhdCBga3ZtX2luaXRgIGZ1bmN0aW9uIGl0c2VsZi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAxMTozNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtrdm1faW5pdCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O3ZpcnQva3ZtL2t2bV9tYWluLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7dmlydC9rdm0va3ZtX21haW4uYz04Nzg9c3RhdGljIGNvbnN0IHN0cnVjdCBtbXVfbm90aWZpZXJfb3BzIGt2bV9tbXVfbm90aWZpZXJfb3BzID0ge1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtODg2LVxudmlydC9rdm0va3ZtX21haW4uYzo4ODc6c3RhdGljIGludCBrdm1faW5pdF9tbXVfbm90aWZpZXIoc3RydWN0IGt2bSAqa3ZtKVxudmlydC9rdm0va3ZtX21haW4uYy04ODgte1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9ODk0PXN0YXRpYyBpbnQga3ZtX3BtX25vdGlmaWVyX2NhbGwoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpibCxcbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTkwMi1cbnZpcnQva3ZtL2t2bV9tYWluLmM6OTAzOnN0YXRpYyB2b2lkIGt2bV9pbml0X3BtX25vdGlmaWVyKHN0cnVjdCBrdm0gKmt2bSlcbnZpcnQva3ZtL2t2bV9tYWluLmMtOTA0LXtcbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTkxMT1zdGF0aWMgdm9pZCBrdm1fZGVzdHJveV9wbV9ub3RpZmllcihzdHJ1Y3Qga3ZtICprdm0pXG4tLVxudmlydC9rdm0va3ZtX21haW4uYy05MTUtI2Vsc2UgLyogIUNPTkZJR19IQVZFX0tWTV9QTV9OT1RJRklFUiAqL1xudmlydC9rdm0va3ZtX21haW4uYzo5MTY6c3RhdGljIHZvaWQga3ZtX2luaXRfcG1fbm90aWZpZXIoc3RydWN0IGt2bSAqa3ZtKVxudmlydC9rdm0va3ZtX21haW4uYy05MTcte1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9MTA5OD1zdGF0aWMgc3RydWN0IGt2bSAqa3ZtX2NyZWF0ZV92bSh1bnNpZ25lZCBsb25nIHR5cGUsIGNvbnN0IGNoYXIgKmZkbmFtZSlcbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTExNDQtXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjExNDU6XHRyID0ga3ZtX2luaXRfaXJxX3JvdXRpbmcoa3ZtKTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE0Ni1cdGlmIChyKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE4Ny1cbnZpcnQva3ZtL2t2bV9tYWluLmM6MTE4ODpcdHIgPSBrdm1faW5pdF9tbXVfbm90aWZpZXIoa3ZtKTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE4OS1cdGlmIChyKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtMTIwNC1cdHByZWVtcHRfbm90aWZpZXJfaW5jKCk7XG52aXJ0L2t2bS9rdm1fbWFpbi5jOjEyMDU6XHRrdm1faW5pdF9wbV9ub3RpZmllcihrdm0pO1xudmlydC9rdm0va3ZtX21haW4uYy0xMjA2LVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9NTczMj1zdGF0aWMgdm9pZCBrdm1fZGlzYWJsZV92aXJ0dWFsaXphdGlvbih2b2lkKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtNTc0My1cbnZpcnQva3ZtL2t2bV9tYWluLmM6NTc0NDpzdGF0aWMgaW50IGt2bV9pbml0X3ZpcnR1YWxpemF0aW9uKHZvaWQpXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTU3NDUte1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9NTc2Mj1zdGF0aWMgdm9pZCBrdm1fZGlzYWJsZV92aXJ0dWFsaXphdGlvbih2b2lkKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtNTc2NS19XG52aXJ0L2t2bS9rdm1fbWFpbi5jOjU3NjY6c3RhdGljIGludCBrdm1faW5pdF92aXJ0dWFsaXphdGlvbih2b2lkKVxudmlydC9rdm0va3ZtX21haW4uYy01NzY3LXtcbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTYyOTU9c3RhdGljIHZvaWQga3ZtX3VldmVudF9ub3RpZnlfY2hhbmdlKHVuc2lnbmVkIGludCB0eXBlLCBzdHJ1Y3Qga3ZtICprdm0pXG4tLVxudmlydC9rdm0va3ZtX21haW4uYy02MzQ0LVxudmlydC9rdm0va3ZtX21haW4uYzo2MzQ1OnN0YXRpYyB2b2lkIGt2bV9pbml0X2RlYnVnKHZvaWQpXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTYzNDYte1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9NjQ4MT12b2lkIGt2bV91bnJlZ2lzdGVyX3BlcmZfY2FsbGJhY2tzKHZvaWQpXG4tLVxudmlydC9rdm0va3ZtX21haW4uYy02NDg2LVxudmlydC9rdm0va3ZtX21haW4uYzo2NDg3OmludCBrdm1faW5pdCh1bnNpZ25lZCB2Y3B1X3NpemUsIHVuc2lnbmVkIHZjcHVfYWxpZ24sIHN0cnVjdCBtb2R1bGUgKm1vZHVsZSlcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjQ4OC17XG4tLVxudmlydC9rdm0va3ZtX21haW4uYy02NTI4LVxudmlydC9rdm0va3ZtX21haW4uYzo2NTI5Olx0a3ZtX2luaXRfZGVidWcoKTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjUzMC1cbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTY1MzgtXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjY1Mzk6XHRyID0ga3ZtX2luaXRfdmlydHVhbGl6YXRpb24oKTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjU0MC1cdGlmIChyKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtNjU3Mi19XG52aXJ0L2t2bS9rdm1fbWFpbi5jOjY1NzM6RVhQT1JUX1NZTUJPTF9GT1JfS1ZNX0lOVEVSTkFMKGt2bV9pbml0KTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjU3NC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAxMTozNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDkwCgkJCQkJCQlvdXRwdXQ6IDgwCgkJCQkJCQl0aG91Z2h0czogOTEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqV29ydGhGdXp6aW5nIERlY2lzaW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBteSBpbml0aWFsIHRob3VnaHQgaXMsICYjMzQ7QWgsIHRoZXkmIzM5O3ZlIGFkZGVkIGEgYGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZSgpYCBjYWxsIGluIHRoZSBlcnJvciBwYXRoIG9mIGBrdm1faW5pdGAuJiMzNDsgVGhhdCYjMzk7cyBnb29kIGhvdXNla2VlcGluZywgcmlnaHQ/IFByZXZlbnQgcmVzb3VyY2UgbGVha3MsIGtlZXAgdGhpbmdzIHRpZHkuIEJ1dCB0aGVuIEkgZGlnIGEgbGl0dGxlIGRlZXBlci4gVGhpcyBpcyBzcGVjaWZpY2FsbHkgaW4gdGhlICptb2R1bGUgaW5pdGlhbGl6YXRpb24qIGVycm9yIHBhdGguIFRoYXQgbWVhbnMgaXQmIzM5O3MgdHJpZ2dlcmVkIHdoZW4gdGhlIEtWTSBtb2R1bGUgZmFpbHMgdG8gbG9hZC4gSG1tbSwgbm93IEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgZnV6emluZyB0aGlzIHdpdGggc29tZXRoaW5nIGxpa2UgU3l6a2FsbGVyLiBDYW4gdGhhdCAqZWFzaWx5KiB0cmlnZ2VyIGEgbW9kdWxlIGxvYWQgZmFpbHVyZT8gTm8sIG5vdCByZWFsbHkuIEl0JiMzOTtzIG5vdCB0aGUgdXN1YWwgYXR0YWNrIHN1cmZhY2UuIEl0IHdvdWxkIHJlcXVpcmUgY3JhZnRpbmcgYSBwcmV0dHkgc3BlY2lmaWMgc2NlbmFyaW8gd2hlcmUgdGhlIG1vZHVsZSBpdHNlbGYgYmFpbHMgb3V0IGR1cmluZyBpdHMgb3duIGluaXRpYWxpemF0aW9uLiBJdCBmZWVscyB2ZXJ5IHRhcmdldGVkIGFuZCwgaG9uZXN0bHksIGEgYml0IGNvbnRyaXZlZCBmcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZS4gSXTigJlzIGp1c3QgY2xlYW5pbmcgdXAgYSBkZWJ1Z2ZzIGRpcmVjdG9yeSwgd2hpY2ggaXMgaW1wb3J0YW50LCBidXQgbm90IHNvbWV0aGluZyB0aGF04oCZcyBsaWtlbHkgdG8gdW5jb3ZlciBjcml0aWNhbCBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgb3IgYnVncyB0aHJvdWdoIGZ1enppbmcuIFNvLCB1bHRpbWF0ZWx5LCBJJiMzOTttIHRoaW5raW5nLCAmIzM0O1dvcnRoRnV6emluZz1mYWxzZS4mIzM0OyBUaGlzIHNwZWNpZmljIGZpeCBkb2VzbiYjMzk7dCByZWFsbHkgc2VlbSBsaWtlIGEgZ29vZCB1c2Ugb2YgbXkgdGltZSwgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMTE6MzU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IGFkZHMgYSBtaXNzaW5nIGRlYnVnZnMgY2xlYW51cCBpbiB0aGUgbW9kdWxlIGluaXRpYWxpemF0aW9uIGVycm9yIHBhdGggKGt2bV9pbml0KS4gVGhpcyBpcyBhbiBpbml0aWFsaXphdGlvbiBmYWlsdXJlIHBhdGggdGhhdCBpcyBub3QgZWFzaWx5IHJlYWNoYWJsZSBvciBtZWFuaW5nZnVsIHRvIGZ1enosIGFuZCB0aGUgY2hhbmdlIGl0c2VsZiBpcyBwdXJlbHkgYSByZXNvdXJjZSBjbGVhbnVwIG9uIGZhaWx1cmUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IGFkZHMgYSBtaXNzaW5nIGRlYnVnZnMgY2xlYW51cCBpbiB0aGUgbW9kdWxlIGluaXRpYWxpemF0aW9uIGVycm9yIHBhdGggKGt2bV9pbml0KS4gVGhpcyBpcyBhbiBpbml0aWFsaXphdGlvbiBmYWlsdXJlIHBhdGggdGhhdCBpcyBub3QgZWFzaWx5IHJlYWNoYWJsZSBvciBtZWFuaW5nZnVsIHRvIGZ1enosIGFuZCB0aGUgY2hhbmdlIGl0c2VsZiBpcyBwdXJlbHkgYSByZXNvdXJjZSBjbGVhbnVwIG9uIGZhaWx1cmUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMTBUMTE6MzU6NDEuMzY4NTA0NzA4WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTU3OTE1NTYxNTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDExOjM1OjQxLjM2ODUxMTYyOFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDYwNzAzOTYxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMDY4ZDY1NDdiZjdjNjVkYTBhYzExOTc1MjcyODZiMGEzMGYwOTIzZVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAxMCAxMTozNTo0MCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS92aXJ0L2t2bS9rdm1fbWFpbi5jIGIvdmlydC9rdm0va3ZtX21haW4uY1xcbmluZGV4IGU0NGMyMGMwNDk2MTBkLi5kNDQyMGViZmQ5NzI3YiAxMDA2NDRcXG4tLS0gYS92aXJ0L2t2bS9rdm1fbWFpbi5jXFxuKysrIGIvdmlydC9rdm0va3ZtX21haW4uY1xcbkBAIC02NTU5LDYgKzY1NTksNyBAQCBpbnQga3ZtX2luaXQodW5zaWduZWQgdmNwdV9zaXplLCB1bnNpZ25lZCB2Y3B1X2FsaWduLCBzdHJ1Y3QgbW9kdWxlICptb2R1bGUpXFxuIGVycl9nbWVtOlxcbiBcXHRrdm1fdmZpb19vcHNfZXhpdCgpO1xcbiBlcnJfdmZpbzpcXG4rXFx0ZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKGt2bV9kZWJ1Z2ZzX2Rpcik7XFxuIFxcdGt2bV9hc3luY19wZl9kZWluaXQoKTtcXG4gZXJyX2FzeW5jX3BmOlxcbiBcXHRrdm1faXJxZmRfZXhpdCgpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQxMTozNTo0MS44MzAwNzAyNzhaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE1MzI5OTgwOTgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IGFkZHMgYSBtaXNzaW5nIGRlYnVnZnMgY2xlYW51cCBpbiB0aGUgbW9kdWxlIGluaXRpYWxpemF0aW9uIGVycm9yIHBhdGggKGt2bV9pbml0KS4gVGhpcyBpcyBhbiBpbml0aWFsaXphdGlvbiBmYWlsdXJlIHBhdGggdGhhdCBpcyBub3QgZWFzaWx5IHJlYWNoYWJsZSBvciBtZWFuaW5nZnVsIHRvIGZ1enosIGFuZCB0aGUgY2hhbmdlIGl0c2VsZiBpcyBwdXJlbHkgYSByZXNvdXJjZSBjbGVhbnVwIG9uIGZhaWx1cmUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDA2OGQ2NTQ3YmY3YzY1ZGEwYWMxMTk3NTI3Mjg2YjBhMzBmMDkyM2VcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAxMCAxMTozNTo0MCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2t2bV9tYWluLmMgYi92aXJ0L2t2bS9rdm1fbWFpbi5jXG5pbmRleCBlNDRjMjBjMDQ5NjEwZC4uZDQ0MjBlYmZkOTcyN2IgMTAwNjQ0XG4tLS0gYS92aXJ0L2t2bS9rdm1fbWFpbi5jXG4rKysgYi92aXJ0L2t2bS9rdm1fbWFpbi5jXG5AQCAtNjU1OSw2ICs2NTU5LDcgQEAgaW50IGt2bV9pbml0KHVuc2lnbmVkIHZjcHVfc2l6ZSwgdW5zaWduZWQgdmNwdV9hbGlnbiwgc3RydWN0IG1vZHVsZSAqbW9kdWxlKVxuIGVycl9nbWVtOlxuIFx0a3ZtX3ZmaW9fb3BzX2V4aXQoKTtcbiBlcnJfdmZpbzpcbitcdGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShrdm1fZGVidWdmc19kaXIpO1xuIFx0a3ZtX2FzeW5jX3BmX2RlaW5pdCgpO1xuIGVycl9hc3luY19wZjpcbiBcdGt2bV9pcnFmZF9leGl0KCk7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQxMTozNTo0MS44MzAwNzI4MDhaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMDY0MDE1MDc3MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBLVk0gTW9kdWxlIEluaXRpYWxpemF0aW9uIEVycm9yIFBhdGgqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGNhdWdodCBteSBleWUgYmVjYXVzZSBpdCB0b3VjaGVzIHRoZSBlcnJvciBoYW5kbGluZyB3aXRoaW4gYGt2bV9pbml0YCBpbiBgdmlydC9rdm0va3ZtX21haW4uY2AuIFNwZWNpZmljYWxseSwgaXQncyBhZGRpbmcgYGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShrdm1fZGVidWdmc19kaXIpO2AgdG8gdGhlIGVycm9yIHBhdGguIE15IGluaXRpYWwgdGhvdWdodCBpcywgXCJJcyB0aGlzIGEgZnV6emluZyB0YXJnZXQ/XCIgSXQncyBhIGNsZWFudXAgc3RlcCwgd2hpY2ggaXMgaW50ZXJlc3RpbmcsIGJlY2F1c2UgdGhvc2UgYXJlIG9mdGVuIHByb2JsZW1hdGljIGlmIGltcHJvcGVybHkgaGFuZGxlZC4gQW5kIGl0IGlzIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCwgc3BlY2lmaWNhbGx5LlxuXG5Ob3csIGBrdm1faW5pdGAgaXMsIG9mIGNvdXJzZSwgY2FsbGVkIHdoZW4gdGhlIEtWTSBtb2R1bGUgZ2V0cyBsb2FkZWQsIGFuZCBmdXp6aW5nIG1vZHVsZSBsb2FkaW5nIGFuZCB1bmxvYWRpbmcgKmlzKiBwb3NzaWJsZSwgYW5kIGEgd29ydGh3aGlsZSB0YXJnZXQgdG8gaW52ZXN0aWdhdGUgbW9yZSB0aG9yb3VnaGx5LiBCdXQgdGhpcyBpcyBhIHZlcnkgc3BlY2lmaWMgZXJyb3IgcGF0aC4gTXkgZmlyc3QgdGhvdWdodCBpcyB0aGF0IGl0IG1pZ2h0IG5vdCBiZSB0aGF0IGZydWl0ZnVsLCB0aGUgZXJyb3IgY29kZSBjb3VsZCBiZSB3ZWxsLXRlc3RlZCBhbHJlYWR5LiBTdGlsbCwgaXQgY291bGQgYmUuIEkgbmVlZCB0byBnZXQgYSBiZXR0ZXIgaGFuZGxlIG9uIHRoZSBwb3RlbnRpYWwgc3VyZmFjZSBhcmVhLiBUaW1lIHRvIHRha2UgYSBjbG9zZXIgbG9vayBhdCB0aGF0IGBrdm1faW5pdGAgZnVuY3Rpb24gaXRzZWxmLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODM2LCJPdXRwdXRUb2tlbnMiOjM1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTMzLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMTE6MzU6NTIuNDcwMjI2MjQxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwOTI3OTY5NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJrdm1faW5pdFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJ2aXJ0L2t2bS9rdm1fbWFpbi5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcInZpcnQva3ZtL2t2bV9tYWluLmM9ODc4PXN0YXRpYyBjb25zdCBzdHJ1Y3QgbW11X25vdGlmaWVyX29wcyBrdm1fbW11X25vdGlmaWVyX29wcyA9IHtcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtODg2LVxcbnZpcnQva3ZtL2t2bV9tYWluLmM6ODg3OnN0YXRpYyBpbnQga3ZtX2luaXRfbW11X25vdGlmaWVyKHN0cnVjdCBrdm0gKmt2bSlcXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTg4OC17XFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTg5ND1zdGF0aWMgaW50IGt2bV9wbV9ub3RpZmllcl9jYWxsKHN0cnVjdCBub3RpZmllcl9ibG9jayAqYmwsXFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTkwMi1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjkwMzpzdGF0aWMgdm9pZCBrdm1faW5pdF9wbV9ub3RpZmllcihzdHJ1Y3Qga3ZtICprdm0pXFxudmlydC9rdm0va3ZtX21haW4uYy05MDQte1xcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYz05MTE9c3RhdGljIHZvaWQga3ZtX2Rlc3Ryb3lfcG1fbm90aWZpZXIoc3RydWN0IGt2bSAqa3ZtKVxcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy05MTUtI2Vsc2UgLyogIUNPTkZJR19IQVZFX0tWTV9QTV9OT1RJRklFUiAqL1xcbnZpcnQva3ZtL2t2bV9tYWluLmM6OTE2OnN0YXRpYyB2b2lkIGt2bV9pbml0X3BtX25vdGlmaWVyKHN0cnVjdCBrdm0gKmt2bSlcXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTkxNy17XFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTEwOTg9c3RhdGljIHN0cnVjdCBrdm0gKmt2bV9jcmVhdGVfdm0odW5zaWduZWQgbG9uZyB0eXBlLCBjb25zdCBjaGFyICpmZG5hbWUpXFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTExNDQtXFxudmlydC9rdm0va3ZtX21haW4uYzoxMTQ1OlxcdHIgPSBrdm1faW5pdF9pcnFfcm91dGluZyhrdm0pO1xcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE0Ni1cXHRpZiAocilcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE4Ny1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjExODg6XFx0ciA9IGt2bV9pbml0X21tdV9ub3RpZmllcihrdm0pO1xcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE4OS1cXHRpZiAocilcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTIwNC1cXHRwcmVlbXB0X25vdGlmaWVyX2luYygpO1xcbnZpcnQva3ZtL2t2bV9tYWluLmM6MTIwNTpcXHRrdm1faW5pdF9wbV9ub3RpZmllcihrdm0pO1xcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTIwNi1cXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmM9NTczMj1zdGF0aWMgdm9pZCBrdm1fZGlzYWJsZV92aXJ0dWFsaXphdGlvbih2b2lkKVxcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy01NzQzLVxcbnZpcnQva3ZtL2t2bV9tYWluLmM6NTc0NDpzdGF0aWMgaW50IGt2bV9pbml0X3ZpcnR1YWxpemF0aW9uKHZvaWQpXFxudmlydC9rdm0va3ZtX21haW4uYy01NzQ1LXtcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmM9NTc2Mj1zdGF0aWMgdm9pZCBrdm1fZGlzYWJsZV92aXJ0dWFsaXphdGlvbih2b2lkKVxcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy01NzY1LX1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjU3NjY6c3RhdGljIGludCBrdm1faW5pdF92aXJ0dWFsaXphdGlvbih2b2lkKVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtNTc2Ny17XFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTYyOTU9c3RhdGljIHZvaWQga3ZtX3VldmVudF9ub3RpZnlfY2hhbmdlKHVuc2lnbmVkIGludCB0eXBlLCBzdHJ1Y3Qga3ZtICprdm0pXFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTYzNDQtXFxudmlydC9rdm0va3ZtX21haW4uYzo2MzQ1OnN0YXRpYyB2b2lkIGt2bV9pbml0X2RlYnVnKHZvaWQpXFxudmlydC9rdm0va3ZtX21haW4uYy02MzQ2LXtcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmM9NjQ4MT12b2lkIGt2bV91bnJlZ2lzdGVyX3BlcmZfY2FsbGJhY2tzKHZvaWQpXFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTY0ODYtXFxudmlydC9rdm0va3ZtX21haW4uYzo2NDg3OmludCBrdm1faW5pdCh1bnNpZ25lZCB2Y3B1X3NpemUsIHVuc2lnbmVkIHZjcHVfYWxpZ24sIHN0cnVjdCBtb2R1bGUgKm1vZHVsZSlcXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTY0ODgte1xcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy02NTI4LVxcbnZpcnQva3ZtL2t2bV9tYWluLmM6NjUyOTpcXHRrdm1faW5pdF9kZWJ1ZygpO1xcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjUzMC1cXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjUzOC1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjY1Mzk6XFx0ciA9IGt2bV9pbml0X3ZpcnR1YWxpemF0aW9uKCk7XFxudmlydC9rdm0va3ZtX21haW4uYy02NTQwLVxcdGlmIChyKVxcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy02NTcyLX1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjY1NzM6RVhQT1JUX1NZTUJPTF9GT1JfS1ZNX0lOVEVSTkFMKGt2bV9pbml0KTtcXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTY1NzQtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDExOjM1OjUyLjc3OTUxMjA2OFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQzODA1MDgyODQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqV29ydGhGdXp6aW5nIERlY2lzaW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgbXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIkFoLCB0aGV5J3ZlIGFkZGVkIGEgYGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZSgpYCBjYWxsIGluIHRoZSBlcnJvciBwYXRoIG9mIGBrdm1faW5pdGAuXCIgVGhhdCdzIGdvb2QgaG91c2VrZWVwaW5nLCByaWdodD8gUHJldmVudCByZXNvdXJjZSBsZWFrcywga2VlcCB0aGluZ3MgdGlkeS4gQnV0IHRoZW4gSSBkaWcgYSBsaXR0bGUgZGVlcGVyLiBUaGlzIGlzIHNwZWNpZmljYWxseSBpbiB0aGUgKm1vZHVsZSBpbml0aWFsaXphdGlvbiogZXJyb3IgcGF0aC4gVGhhdCBtZWFucyBpdCdzIHRyaWdnZXJlZCB3aGVuIHRoZSBLVk0gbW9kdWxlIGZhaWxzIHRvIGxvYWQuIEhtbW0sIG5vdyBJJ20gdGhpbmtpbmcgYWJvdXQgZnV6emluZyB0aGlzIHdpdGggc29tZXRoaW5nIGxpa2UgU3l6a2FsbGVyLiBDYW4gdGhhdCAqZWFzaWx5KiB0cmlnZ2VyIGEgbW9kdWxlIGxvYWQgZmFpbHVyZT8gTm8sIG5vdCByZWFsbHkuIEl0J3Mgbm90IHRoZSB1c3VhbCBhdHRhY2sgc3VyZmFjZS4gSXQgd291bGQgcmVxdWlyZSBjcmFmdGluZyBhIHByZXR0eSBzcGVjaWZpYyBzY2VuYXJpbyB3aGVyZSB0aGUgbW9kdWxlIGl0c2VsZiBiYWlscyBvdXQgZHVyaW5nIGl0cyBvd24gaW5pdGlhbGl6YXRpb24uIEl0IGZlZWxzIHZlcnkgdGFyZ2V0ZWQgYW5kLCBob25lc3RseSwgYSBiaXQgY29udHJpdmVkIGZyb20gYSBmdXp6aW5nIHBlcnNwZWN0aXZlLiBJdOKAmXMganVzdCBjbGVhbmluZyB1cCBhIGRlYnVnZnMgZGlyZWN0b3J5LCB3aGljaCBpcyBpbXBvcnRhbnQsIGJ1dCBub3Qgc29tZXRoaW5nIHRoYXTigJlzIGxpa2VseSB0byB1bmNvdmVyIGNyaXRpY2FsIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBvciBidWdzIHRocm91Z2ggZnV6emluZy4gU28sIHVsdGltYXRlbHksIEknbSB0aGlua2luZywgXCJXb3J0aEZ1enppbmc9ZmFsc2UuXCIgVGhpcyBzcGVjaWZpYyBmaXggZG9lc24ndCByZWFsbHkgc2VlbSBsaWtlIGEgZ29vZCB1c2Ugb2YgbXkgdGltZSwgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM0OTAsIk91dHB1dFRva2VucyI6ODAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo5MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQxMTozNTo1Ny4xNjAwMjI2MjFaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI3MTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowrqxvg[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-10 11:19:58 +0000 UTC FinishedAt: 2026-07-10 11:35:58 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDExOjM1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMTE6MzU8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAwNjhkNjU0N2JmN2M2NWRhMGFjMTE5NzUyNzI4NmIwYTMwZjA5MjNlXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIEZyaSBKdWwgMTAgMTE6MzU6NDAgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtX21haW4uYyBiL3ZpcnQva3ZtL2t2bV9tYWluLmNcbmluZGV4IGU0NGMyMGMwNDk2MTBkLi5kNDQyMGViZmQ5NzI3YiAxMDA2NDRcbi0tLSBhL3ZpcnQva3ZtL2t2bV9tYWluLmNcbiYjNDM7JiM0MzsmIzQzOyBiL3ZpcnQva3ZtL2t2bV9tYWluLmNcbkBAIC02NTU5LDYgJiM0Mzs2NTU5LDcgQEAgaW50IGt2bV9pbml0KHVuc2lnbmVkIHZjcHVfc2l6ZSwgdW5zaWduZWQgdmNwdV9hbGlnbiwgc3RydWN0IG1vZHVsZSAqbW9kdWxlKVxuIGVycl9nbWVtOlxuIFx0a3ZtX3ZmaW9fb3BzX2V4aXQoKTtcbiBlcnJfdmZpbzpcbiYjNDM7XHRkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUoa3ZtX2RlYnVnZnNfZGlyKTtcbiBcdGt2bV9hc3luY19wZl9kZWluaXQoKTtcbiBlcnJfYXN5bmNfcGY6XG4gXHRrdm1faXJxZmRfZXhpdCgpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEwIDExOjM1PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDA2OGQ2NTQ3YmY3YzY1ZGEwYWMxMTk3NTI3Mjg2YjBhMzBmMDkyM2UKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgRnJpIEp1bCAxMCAxMTozNTo0MCAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2t2bV9tYWluLmMgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCmluZGV4IGU0NGMyMGMwNDk2MTBkLi5kNDQyMGViZmQ5NzI3YiAxMDA2NDQKLS0tIGEvdmlydC9rdm0va3ZtX21haW4uYwomIzQzOyYjNDM7JiM0MzsgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCkBAIC02NTU5LDYgJiM0Mzs2NTU5LDcgQEAgaW50IGt2bV9pbml0KHVuc2lnbmVkIHZjcHVfc2l6ZSwgdW5zaWduZWQgdmNwdV9hbGlnbiwgc3RydWN0IG1vZHVsZSAqbW9kdWxlKQogZXJyX2dtZW06CiAJa3ZtX3ZmaW9fb3BzX2V4aXQoKTsKIGVycl92ZmlvOgomIzQzOwlkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUoa3ZtX2RlYnVnZnNfZGlyKTsKIAlrdm1fYXN5bmNfcGZfZGVpbml0KCk7CiBlcnJfYXN5bmNfcGY6CiAJa3ZtX2lycWZkX2V4aXQoKTsKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMTE6MzU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTgzNgoJCQkJCQkJb3V0cHV0OiAzNQoJCQkJCQkJdGhvdWdodHM6IDEzMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBLVk0gTW9kdWxlIEluaXRpYWxpemF0aW9uIEVycm9yIFBhdGgqKgoKT2theSwgc28gdGhpcyBwYXRjaCBjYXVnaHQgbXkgZXllIGJlY2F1c2UgaXQgdG91Y2hlcyB0aGUgZXJyb3IgaGFuZGxpbmcgd2l0aGluIGBrdm1faW5pdGAgaW4gYHZpcnQva3ZtL2t2bV9tYWluLmNgLiBTcGVjaWZpY2FsbHksIGl0JiMzOTtzIGFkZGluZyBgZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKGt2bV9kZWJ1Z2ZzX2Rpcik7YCB0byB0aGUgZXJyb3IgcGF0aC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCAmIzM0O0lzIHRoaXMgYSBmdXp6aW5nIHRhcmdldD8mIzM0OyBJdCYjMzk7cyBhIGNsZWFudXAgc3RlcCwgd2hpY2ggaXMgaW50ZXJlc3RpbmcsIGJlY2F1c2UgdGhvc2UgYXJlIG9mdGVuIHByb2JsZW1hdGljIGlmIGltcHJvcGVybHkgaGFuZGxlZC4gQW5kIGl0IGlzIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCwgc3BlY2lmaWNhbGx5LgoKTm93LCBga3ZtX2luaXRgIGlzLCBvZiBjb3Vyc2UsIGNhbGxlZCB3aGVuIHRoZSBLVk0gbW9kdWxlIGdldHMgbG9hZGVkLCBhbmQgZnV6emluZyBtb2R1bGUgbG9hZGluZyBhbmQgdW5sb2FkaW5nICppcyogcG9zc2libGUsIGFuZCBhIHdvcnRod2hpbGUgdGFyZ2V0IHRvIGludmVzdGlnYXRlIG1vcmUgdGhvcm91Z2hseS4gQnV0IHRoaXMgaXMgYSB2ZXJ5IHNwZWNpZmljIGVycm9yIHBhdGguIE15IGZpcnN0IHRob3VnaHQgaXMgdGhhdCBpdCBtaWdodCBub3QgYmUgdGhhdCBmcnVpdGZ1bCwgdGhlIGVycm9yIGNvZGUgY291bGQgYmUgd2VsbC10ZXN0ZWQgYWxyZWFkeS4gU3RpbGwsIGl0IGNvdWxkIGJlLiBJIG5lZWQgdG8gZ2V0IGEgYmV0dGVyIGhhbmRsZSBvbiB0aGUgcG90ZW50aWFsIHN1cmZhY2UgYXJlYS4gVGltZSB0byB0YWtlIGEgY2xvc2VyIGxvb2sgYXQgdGhhdCBga3ZtX2luaXRgIGZ1bmN0aW9uIGl0c2VsZi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAxMTozNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtrdm1faW5pdCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O3ZpcnQva3ZtL2t2bV9tYWluLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7dmlydC9rdm0va3ZtX21haW4uYz04Nzg9c3RhdGljIGNvbnN0IHN0cnVjdCBtbXVfbm90aWZpZXJfb3BzIGt2bV9tbXVfbm90aWZpZXJfb3BzID0ge1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtODg2LVxudmlydC9rdm0va3ZtX21haW4uYzo4ODc6c3RhdGljIGludCBrdm1faW5pdF9tbXVfbm90aWZpZXIoc3RydWN0IGt2bSAqa3ZtKVxudmlydC9rdm0va3ZtX21haW4uYy04ODgte1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9ODk0PXN0YXRpYyBpbnQga3ZtX3BtX25vdGlmaWVyX2NhbGwoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpibCxcbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTkwMi1cbnZpcnQva3ZtL2t2bV9tYWluLmM6OTAzOnN0YXRpYyB2b2lkIGt2bV9pbml0X3BtX25vdGlmaWVyKHN0cnVjdCBrdm0gKmt2bSlcbnZpcnQva3ZtL2t2bV9tYWluLmMtOTA0LXtcbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTkxMT1zdGF0aWMgdm9pZCBrdm1fZGVzdHJveV9wbV9ub3RpZmllcihzdHJ1Y3Qga3ZtICprdm0pXG4tLVxudmlydC9rdm0va3ZtX21haW4uYy05MTUtI2Vsc2UgLyogIUNPTkZJR19IQVZFX0tWTV9QTV9OT1RJRklFUiAqL1xudmlydC9rdm0va3ZtX21haW4uYzo5MTY6c3RhdGljIHZvaWQga3ZtX2luaXRfcG1fbm90aWZpZXIoc3RydWN0IGt2bSAqa3ZtKVxudmlydC9rdm0va3ZtX21haW4uYy05MTcte1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9MTA5OD1zdGF0aWMgc3RydWN0IGt2bSAqa3ZtX2NyZWF0ZV92bSh1bnNpZ25lZCBsb25nIHR5cGUsIGNvbnN0IGNoYXIgKmZkbmFtZSlcbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTExNDQtXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjExNDU6XHRyID0ga3ZtX2luaXRfaXJxX3JvdXRpbmcoa3ZtKTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE0Ni1cdGlmIChyKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE4Ny1cbnZpcnQva3ZtL2t2bV9tYWluLmM6MTE4ODpcdHIgPSBrdm1faW5pdF9tbXVfbm90aWZpZXIoa3ZtKTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE4OS1cdGlmIChyKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtMTIwNC1cdHByZWVtcHRfbm90aWZpZXJfaW5jKCk7XG52aXJ0L2t2bS9rdm1fbWFpbi5jOjEyMDU6XHRrdm1faW5pdF9wbV9ub3RpZmllcihrdm0pO1xudmlydC9rdm0va3ZtX21haW4uYy0xMjA2LVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9NTczMj1zdGF0aWMgdm9pZCBrdm1fZGlzYWJsZV92aXJ0dWFsaXphdGlvbih2b2lkKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtNTc0My1cbnZpcnQva3ZtL2t2bV9tYWluLmM6NTc0NDpzdGF0aWMgaW50IGt2bV9pbml0X3ZpcnR1YWxpemF0aW9uKHZvaWQpXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTU3NDUte1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9NTc2Mj1zdGF0aWMgdm9pZCBrdm1fZGlzYWJsZV92aXJ0dWFsaXphdGlvbih2b2lkKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtNTc2NS19XG52aXJ0L2t2bS9rdm1fbWFpbi5jOjU3NjY6c3RhdGljIGludCBrdm1faW5pdF92aXJ0dWFsaXphdGlvbih2b2lkKVxudmlydC9rdm0va3ZtX21haW4uYy01NzY3LXtcbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTYyOTU9c3RhdGljIHZvaWQga3ZtX3VldmVudF9ub3RpZnlfY2hhbmdlKHVuc2lnbmVkIGludCB0eXBlLCBzdHJ1Y3Qga3ZtICprdm0pXG4tLVxudmlydC9rdm0va3ZtX21haW4uYy02MzQ0LVxudmlydC9rdm0va3ZtX21haW4uYzo2MzQ1OnN0YXRpYyB2b2lkIGt2bV9pbml0X2RlYnVnKHZvaWQpXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTYzNDYte1xuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmM9NjQ4MT12b2lkIGt2bV91bnJlZ2lzdGVyX3BlcmZfY2FsbGJhY2tzKHZvaWQpXG4tLVxudmlydC9rdm0va3ZtX21haW4uYy02NDg2LVxudmlydC9rdm0va3ZtX21haW4uYzo2NDg3OmludCBrdm1faW5pdCh1bnNpZ25lZCB2Y3B1X3NpemUsIHVuc2lnbmVkIHZjcHVfYWxpZ24sIHN0cnVjdCBtb2R1bGUgKm1vZHVsZSlcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjQ4OC17XG4tLVxudmlydC9rdm0va3ZtX21haW4uYy02NTI4LVxudmlydC9rdm0va3ZtX21haW4uYzo2NTI5Olx0a3ZtX2luaXRfZGVidWcoKTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjUzMC1cbi0tXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTY1MzgtXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjY1Mzk6XHRyID0ga3ZtX2luaXRfdmlydHVhbGl6YXRpb24oKTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjU0MC1cdGlmIChyKVxuLS1cbnZpcnQva3ZtL2t2bV9tYWluLmMtNjU3Mi19XG52aXJ0L2t2bS9rdm1fbWFpbi5jOjY1NzM6RVhQT1JUX1NZTUJPTF9GT1JfS1ZNX0lOVEVSTkFMKGt2bV9pbml0KTtcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjU3NC1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMCAxMTozNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDkwCgkJCQkJCQlvdXRwdXQ6IDgwCgkJCQkJCQl0aG91Z2h0czogOTEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqV29ydGhGdXp6aW5nIERlY2lzaW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBteSBpbml0aWFsIHRob3VnaHQgaXMsICYjMzQ7QWgsIHRoZXkmIzM5O3ZlIGFkZGVkIGEgYGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZSgpYCBjYWxsIGluIHRoZSBlcnJvciBwYXRoIG9mIGBrdm1faW5pdGAuJiMzNDsgVGhhdCYjMzk7cyBnb29kIGhvdXNla2VlcGluZywgcmlnaHQ/IFByZXZlbnQgcmVzb3VyY2UgbGVha3MsIGtlZXAgdGhpbmdzIHRpZHkuIEJ1dCB0aGVuIEkgZGlnIGEgbGl0dGxlIGRlZXBlci4gVGhpcyBpcyBzcGVjaWZpY2FsbHkgaW4gdGhlICptb2R1bGUgaW5pdGlhbGl6YXRpb24qIGVycm9yIHBhdGguIFRoYXQgbWVhbnMgaXQmIzM5O3MgdHJpZ2dlcmVkIHdoZW4gdGhlIEtWTSBtb2R1bGUgZmFpbHMgdG8gbG9hZC4gSG1tbSwgbm93IEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgZnV6emluZyB0aGlzIHdpdGggc29tZXRoaW5nIGxpa2UgU3l6a2FsbGVyLiBDYW4gdGhhdCAqZWFzaWx5KiB0cmlnZ2VyIGEgbW9kdWxlIGxvYWQgZmFpbHVyZT8gTm8sIG5vdCByZWFsbHkuIEl0JiMzOTtzIG5vdCB0aGUgdXN1YWwgYXR0YWNrIHN1cmZhY2UuIEl0IHdvdWxkIHJlcXVpcmUgY3JhZnRpbmcgYSBwcmV0dHkgc3BlY2lmaWMgc2NlbmFyaW8gd2hlcmUgdGhlIG1vZHVsZSBpdHNlbGYgYmFpbHMgb3V0IGR1cmluZyBpdHMgb3duIGluaXRpYWxpemF0aW9uLiBJdCBmZWVscyB2ZXJ5IHRhcmdldGVkIGFuZCwgaG9uZXN0bHksIGEgYml0IGNvbnRyaXZlZCBmcm9tIGEgZnV6emluZyBwZXJzcGVjdGl2ZS4gSXTigJlzIGp1c3QgY2xlYW5pbmcgdXAgYSBkZWJ1Z2ZzIGRpcmVjdG9yeSwgd2hpY2ggaXMgaW1wb3J0YW50LCBidXQgbm90IHNvbWV0aGluZyB0aGF04oCZcyBsaWtlbHkgdG8gdW5jb3ZlciBjcml0aWNhbCBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgb3IgYnVncyB0aHJvdWdoIGZ1enppbmcuIFNvLCB1bHRpbWF0ZWx5LCBJJiMzOTttIHRoaW5raW5nLCAmIzM0O1dvcnRoRnV6emluZz1mYWxzZS4mIzM0OyBUaGlzIHNwZWNpZmljIGZpeCBkb2VzbiYjMzk7dCByZWFsbHkgc2VlbSBsaWtlIGEgZ29vZCB1c2Ugb2YgbXkgdGltZSwgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTAgMTE6MzU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IGFkZHMgYSBtaXNzaW5nIGRlYnVnZnMgY2xlYW51cCBpbiB0aGUgbW9kdWxlIGluaXRpYWxpemF0aW9uIGVycm9yIHBhdGggKGt2bV9pbml0KS4gVGhpcyBpcyBhbiBpbml0aWFsaXphdGlvbiBmYWlsdXJlIHBhdGggdGhhdCBpcyBub3QgZWFzaWx5IHJlYWNoYWJsZSBvciBtZWFuaW5nZnVsIHRvIGZ1enosIGFuZCB0aGUgY2hhbmdlIGl0c2VsZiBpcyBwdXJlbHkgYSByZXNvdXJjZSBjbGVhbnVwIG9uIGZhaWx1cmUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IGFkZHMgYSBtaXNzaW5nIGRlYnVnZnMgY2xlYW51cCBpbiB0aGUgbW9kdWxlIGluaXRpYWxpemF0aW9uIGVycm9yIHBhdGggKGt2bV9pbml0KS4gVGhpcyBpcyBhbiBpbml0aWFsaXphdGlvbiBmYWlsdXJlIHBhdGggdGhhdCBpcyBub3QgZWFzaWx5IHJlYWNoYWJsZSBvciBtZWFuaW5nZnVsIHRvIGZ1enosIGFuZCB0aGUgY2hhbmdlIGl0c2VsZiBpcyBwdXJlbHkgYSByZXNvdXJjZSBjbGVhbnVwIG9uIGZhaWx1cmUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMTBUMTE6MzU6NDEuMzY4NTA0NzA4WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTU3OTE1NTYxNTMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDExOjM1OjQxLjM2ODUxMTYyOFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDYwNzAzOTYxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMDY4ZDY1NDdiZjdjNjVkYTBhYzExOTc1MjcyODZiMGEzMGYwOTIzZVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgRnJpIEp1bCAxMCAxMTozNTo0MCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS92aXJ0L2t2bS9rdm1fbWFpbi5jIGIvdmlydC9rdm0va3ZtX21haW4uY1xcbmluZGV4IGU0NGMyMGMwNDk2MTBkLi5kNDQyMGViZmQ5NzI3YiAxMDA2NDRcXG4tLS0gYS92aXJ0L2t2bS9rdm1fbWFpbi5jXFxuKysrIGIvdmlydC9rdm0va3ZtX21haW4uY1xcbkBAIC02NTU5LDYgKzY1NTksNyBAQCBpbnQga3ZtX2luaXQodW5zaWduZWQgdmNwdV9zaXplLCB1bnNpZ25lZCB2Y3B1X2FsaWduLCBzdHJ1Y3QgbW9kdWxlICptb2R1bGUpXFxuIGVycl9nbWVtOlxcbiBcXHRrdm1fdmZpb19vcHNfZXhpdCgpO1xcbiBlcnJfdmZpbzpcXG4rXFx0ZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKGt2bV9kZWJ1Z2ZzX2Rpcik7XFxuIFxcdGt2bV9hc3luY19wZl9kZWluaXQoKTtcXG4gZXJyX2FzeW5jX3BmOlxcbiBcXHRrdm1faXJxZmRfZXhpdCgpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQxMTozNTo0MS44MzAwNzAyNzhaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE1MzI5OTgwOTgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IGFkZHMgYSBtaXNzaW5nIGRlYnVnZnMgY2xlYW51cCBpbiB0aGUgbW9kdWxlIGluaXRpYWxpemF0aW9uIGVycm9yIHBhdGggKGt2bV9pbml0KS4gVGhpcyBpcyBhbiBpbml0aWFsaXphdGlvbiBmYWlsdXJlIHBhdGggdGhhdCBpcyBub3QgZWFzaWx5IHJlYWNoYWJsZSBvciBtZWFuaW5nZnVsIHRvIGZ1enosIGFuZCB0aGUgY2hhbmdlIGl0c2VsZiBpcyBwdXJlbHkgYSByZXNvdXJjZSBjbGVhbnVwIG9uIGZhaWx1cmUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDA2OGQ2NTQ3YmY3YzY1ZGEwYWMxMTk3NTI3Mjg2YjBhMzBmMDkyM2VcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgRnJpIEp1bCAxMCAxMTozNTo0MCAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2t2bV9tYWluLmMgYi92aXJ0L2t2bS9rdm1fbWFpbi5jXG5pbmRleCBlNDRjMjBjMDQ5NjEwZC4uZDQ0MjBlYmZkOTcyN2IgMTAwNjQ0XG4tLS0gYS92aXJ0L2t2bS9rdm1fbWFpbi5jXG4rKysgYi92aXJ0L2t2bS9rdm1fbWFpbi5jXG5AQCAtNjU1OSw2ICs2NTU5LDcgQEAgaW50IGt2bV9pbml0KHVuc2lnbmVkIHZjcHVfc2l6ZSwgdW5zaWduZWQgdmNwdV9hbGlnbiwgc3RydWN0IG1vZHVsZSAqbW9kdWxlKVxuIGVycl9nbWVtOlxuIFx0a3ZtX3ZmaW9fb3BzX2V4aXQoKTtcbiBlcnJfdmZpbzpcbitcdGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShrdm1fZGVidWdmc19kaXIpO1xuIFx0a3ZtX2FzeW5jX3BmX2RlaW5pdCgpO1xuIGVycl9hc3luY19wZjpcbiBcdGt2bV9pcnFmZF9leGl0KCk7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQxMTozNTo0MS44MzAwNzI4MDhaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMDY0MDE1MDc3MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBLVk0gTW9kdWxlIEluaXRpYWxpemF0aW9uIEVycm9yIFBhdGgqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGNhdWdodCBteSBleWUgYmVjYXVzZSBpdCB0b3VjaGVzIHRoZSBlcnJvciBoYW5kbGluZyB3aXRoaW4gYGt2bV9pbml0YCBpbiBgdmlydC9rdm0va3ZtX21haW4uY2AuIFNwZWNpZmljYWxseSwgaXQncyBhZGRpbmcgYGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShrdm1fZGVidWdmc19kaXIpO2AgdG8gdGhlIGVycm9yIHBhdGguIE15IGluaXRpYWwgdGhvdWdodCBpcywgXCJJcyB0aGlzIGEgZnV6emluZyB0YXJnZXQ/XCIgSXQncyBhIGNsZWFudXAgc3RlcCwgd2hpY2ggaXMgaW50ZXJlc3RpbmcsIGJlY2F1c2UgdGhvc2UgYXJlIG9mdGVuIHByb2JsZW1hdGljIGlmIGltcHJvcGVybHkgaGFuZGxlZC4gQW5kIGl0IGlzIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCwgc3BlY2lmaWNhbGx5LlxuXG5Ob3csIGBrdm1faW5pdGAgaXMsIG9mIGNvdXJzZSwgY2FsbGVkIHdoZW4gdGhlIEtWTSBtb2R1bGUgZ2V0cyBsb2FkZWQsIGFuZCBmdXp6aW5nIG1vZHVsZSBsb2FkaW5nIGFuZCB1bmxvYWRpbmcgKmlzKiBwb3NzaWJsZSwgYW5kIGEgd29ydGh3aGlsZSB0YXJnZXQgdG8gaW52ZXN0aWdhdGUgbW9yZSB0aG9yb3VnaGx5LiBCdXQgdGhpcyBpcyBhIHZlcnkgc3BlY2lmaWMgZXJyb3IgcGF0aC4gTXkgZmlyc3QgdGhvdWdodCBpcyB0aGF0IGl0IG1pZ2h0IG5vdCBiZSB0aGF0IGZydWl0ZnVsLCB0aGUgZXJyb3IgY29kZSBjb3VsZCBiZSB3ZWxsLXRlc3RlZCBhbHJlYWR5LiBTdGlsbCwgaXQgY291bGQgYmUuIEkgbmVlZCB0byBnZXQgYSBiZXR0ZXIgaGFuZGxlIG9uIHRoZSBwb3RlbnRpYWwgc3VyZmFjZSBhcmVhLiBUaW1lIHRvIHRha2UgYSBjbG9zZXIgbG9vayBhdCB0aGF0IGBrdm1faW5pdGAgZnVuY3Rpb24gaXRzZWxmLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODM2LCJPdXRwdXRUb2tlbnMiOjM1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTMzLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTBUMTE6MzU6NTIuNDcwMjI2MjQxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMwOTI3OTY5NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJrdm1faW5pdFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJ2aXJ0L2t2bS9rdm1fbWFpbi5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcInZpcnQva3ZtL2t2bV9tYWluLmM9ODc4PXN0YXRpYyBjb25zdCBzdHJ1Y3QgbW11X25vdGlmaWVyX29wcyBrdm1fbW11X25vdGlmaWVyX29wcyA9IHtcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtODg2LVxcbnZpcnQva3ZtL2t2bV9tYWluLmM6ODg3OnN0YXRpYyBpbnQga3ZtX2luaXRfbW11X25vdGlmaWVyKHN0cnVjdCBrdm0gKmt2bSlcXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTg4OC17XFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTg5ND1zdGF0aWMgaW50IGt2bV9wbV9ub3RpZmllcl9jYWxsKHN0cnVjdCBub3RpZmllcl9ibG9jayAqYmwsXFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTkwMi1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjkwMzpzdGF0aWMgdm9pZCBrdm1faW5pdF9wbV9ub3RpZmllcihzdHJ1Y3Qga3ZtICprdm0pXFxudmlydC9rdm0va3ZtX21haW4uYy05MDQte1xcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYz05MTE9c3RhdGljIHZvaWQga3ZtX2Rlc3Ryb3lfcG1fbm90aWZpZXIoc3RydWN0IGt2bSAqa3ZtKVxcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy05MTUtI2Vsc2UgLyogIUNPTkZJR19IQVZFX0tWTV9QTV9OT1RJRklFUiAqL1xcbnZpcnQva3ZtL2t2bV9tYWluLmM6OTE2OnN0YXRpYyB2b2lkIGt2bV9pbml0X3BtX25vdGlmaWVyKHN0cnVjdCBrdm0gKmt2bSlcXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTkxNy17XFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTEwOTg9c3RhdGljIHN0cnVjdCBrdm0gKmt2bV9jcmVhdGVfdm0odW5zaWduZWQgbG9uZyB0eXBlLCBjb25zdCBjaGFyICpmZG5hbWUpXFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTExNDQtXFxudmlydC9rdm0va3ZtX21haW4uYzoxMTQ1OlxcdHIgPSBrdm1faW5pdF9pcnFfcm91dGluZyhrdm0pO1xcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE0Ni1cXHRpZiAocilcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE4Ny1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjExODg6XFx0ciA9IGt2bV9pbml0X21tdV9ub3RpZmllcihrdm0pO1xcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTE4OS1cXHRpZiAocilcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTIwNC1cXHRwcmVlbXB0X25vdGlmaWVyX2luYygpO1xcbnZpcnQva3ZtL2t2bV9tYWluLmM6MTIwNTpcXHRrdm1faW5pdF9wbV9ub3RpZmllcihrdm0pO1xcbnZpcnQva3ZtL2t2bV9tYWluLmMtMTIwNi1cXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmM9NTczMj1zdGF0aWMgdm9pZCBrdm1fZGlzYWJsZV92aXJ0dWFsaXphdGlvbih2b2lkKVxcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy01NzQzLVxcbnZpcnQva3ZtL2t2bV9tYWluLmM6NTc0NDpzdGF0aWMgaW50IGt2bV9pbml0X3ZpcnR1YWxpemF0aW9uKHZvaWQpXFxudmlydC9rdm0va3ZtX21haW4uYy01NzQ1LXtcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmM9NTc2Mj1zdGF0aWMgdm9pZCBrdm1fZGlzYWJsZV92aXJ0dWFsaXphdGlvbih2b2lkKVxcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy01NzY1LX1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjU3NjY6c3RhdGljIGludCBrdm1faW5pdF92aXJ0dWFsaXphdGlvbih2b2lkKVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtNTc2Ny17XFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jPTYyOTU9c3RhdGljIHZvaWQga3ZtX3VldmVudF9ub3RpZnlfY2hhbmdlKHVuc2lnbmVkIGludCB0eXBlLCBzdHJ1Y3Qga3ZtICprdm0pXFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTYzNDQtXFxudmlydC9rdm0va3ZtX21haW4uYzo2MzQ1OnN0YXRpYyB2b2lkIGt2bV9pbml0X2RlYnVnKHZvaWQpXFxudmlydC9rdm0va3ZtX21haW4uYy02MzQ2LXtcXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmM9NjQ4MT12b2lkIGt2bV91bnJlZ2lzdGVyX3BlcmZfY2FsbGJhY2tzKHZvaWQpXFxuLS1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTY0ODYtXFxudmlydC9rdm0va3ZtX21haW4uYzo2NDg3OmludCBrdm1faW5pdCh1bnNpZ25lZCB2Y3B1X3NpemUsIHVuc2lnbmVkIHZjcHVfYWxpZ24sIHN0cnVjdCBtb2R1bGUgKm1vZHVsZSlcXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTY0ODgte1xcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy02NTI4LVxcbnZpcnQva3ZtL2t2bV9tYWluLmM6NjUyOTpcXHRrdm1faW5pdF9kZWJ1ZygpO1xcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjUzMC1cXG4tLVxcbnZpcnQva3ZtL2t2bV9tYWluLmMtNjUzOC1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjY1Mzk6XFx0ciA9IGt2bV9pbml0X3ZpcnR1YWxpemF0aW9uKCk7XFxudmlydC9rdm0va3ZtX21haW4uYy02NTQwLVxcdGlmIChyKVxcbi0tXFxudmlydC9rdm0va3ZtX21haW4uYy02NTcyLX1cXG52aXJ0L2t2bS9rdm1fbWFpbi5jOjY1NzM6RVhQT1JUX1NZTUJPTF9GT1JfS1ZNX0lOVEVSTkFMKGt2bV9pbml0KTtcXG52aXJ0L2t2bS9rdm1fbWFpbi5jLTY1NzQtXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEwVDExOjM1OjUyLjc3OTUxMjA2OFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQzODA1MDgyODQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqV29ydGhGdXp6aW5nIERlY2lzaW9uKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgbXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIkFoLCB0aGV5J3ZlIGFkZGVkIGEgYGRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZSgpYCBjYWxsIGluIHRoZSBlcnJvciBwYXRoIG9mIGBrdm1faW5pdGAuXCIgVGhhdCdzIGdvb2QgaG91c2VrZWVwaW5nLCByaWdodD8gUHJldmVudCByZXNvdXJjZSBsZWFrcywga2VlcCB0aGluZ3MgdGlkeS4gQnV0IHRoZW4gSSBkaWcgYSBsaXR0bGUgZGVlcGVyLiBUaGlzIGlzIHNwZWNpZmljYWxseSBpbiB0aGUgKm1vZHVsZSBpbml0aWFsaXphdGlvbiogZXJyb3IgcGF0aC4gVGhhdCBtZWFucyBpdCdzIHRyaWdnZXJlZCB3aGVuIHRoZSBLVk0gbW9kdWxlIGZhaWxzIHRvIGxvYWQuIEhtbW0sIG5vdyBJJ20gdGhpbmtpbmcgYWJvdXQgZnV6emluZyB0aGlzIHdpdGggc29tZXRoaW5nIGxpa2UgU3l6a2FsbGVyLiBDYW4gdGhhdCAqZWFzaWx5KiB0cmlnZ2VyIGEgbW9kdWxlIGxvYWQgZmFpbHVyZT8gTm8sIG5vdCByZWFsbHkuIEl0J3Mgbm90IHRoZSB1c3VhbCBhdHRhY2sgc3VyZmFjZS4gSXQgd291bGQgcmVxdWlyZSBjcmFmdGluZyBhIHByZXR0eSBzcGVjaWZpYyBzY2VuYXJpbyB3aGVyZSB0aGUgbW9kdWxlIGl0c2VsZiBiYWlscyBvdXQgZHVyaW5nIGl0cyBvd24gaW5pdGlhbGl6YXRpb24uIEl0IGZlZWxzIHZlcnkgdGFyZ2V0ZWQgYW5kLCBob25lc3RseSwgYSBiaXQgY29udHJpdmVkIGZyb20gYSBmdXp6aW5nIHBlcnNwZWN0aXZlLiBJdOKAmXMganVzdCBjbGVhbmluZyB1cCBhIGRlYnVnZnMgZGlyZWN0b3J5LCB3aGljaCBpcyBpbXBvcnRhbnQsIGJ1dCBub3Qgc29tZXRoaW5nIHRoYXTigJlzIGxpa2VseSB0byB1bmNvdmVyIGNyaXRpY2FsIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBvciBidWdzIHRocm91Z2ggZnV6emluZy4gU28sIHVsdGltYXRlbHksIEknbSB0aGlua2luZywgXCJXb3J0aEZ1enppbmc9ZmFsc2UuXCIgVGhpcyBzcGVjaWZpYyBmaXggZG9lc24ndCByZWFsbHkgc2VlbSBsaWtlIGEgZ29vZCB1c2Ugb2YgbXkgdGltZSwgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM0OTAsIk91dHB1dFRva2VucyI6ODAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo5MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMFQxMTozNTo1Ny4xNjAwMjI2MjFaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI3MTAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG1pc3NpbmcgZGVidWdmcyBjbGVhbnVwIGluIHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gZXJyb3IgcGF0aCAoa3ZtX2luaXQpLiBUaGlzIGlzIGFuIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgcGF0aCB0aGF0IGlzIG5vdCBlYXNpbHkgcmVhY2hhYmxlIG9yIG1lYW5pbmdmdWwgdG8gZnV6eiwgYW5kIHRoZSBjaGFuZ2UgaXRzZWxmIGlzIHB1cmVseSBhIHJlc291cmNlIGNsZWFudXAgb24gZmFpbHVyZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowrqxvg[1] Phase: Running StartedAt: 2026-07-10 11:36:08 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrqxvg[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-10 11:36:08 +0000 UTC FinishedAt: 2026-07-10 11:36:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}