Name: series-workflowc2szv Phase: Failed StartedAt: 2026-09-02 19:35:06 +0000 UTC FinishedAt: 2026-09-02 19:37:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowc2szv[0] Phase: Succeeded StartedAt: 2026-09-02 19:35:06 +0000 UTC FinishedAt: 2026-09-02 19:37:02 +0000 UTC Input: nil Output: nil --------- Name: series-workflowc2szv[0].run-triage Phase: Succeeded StartedAt: 2026-09-02 19:35:06 +0000 UTC FinishedAt: 2026-09-02 19:37:02 +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+CgkJCTx0ZD4yMDI2LzA5LzAyIDE5OjM2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHNlbGZ0ZXN0IHNjcmlwdHMgYW5kIHRlc3QgY29uZmlndXJhdGlvbnMgaW4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwLyAobWlncmF0aW5nIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzKSwgd2l0aCBubyBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzAyIDE5OjM2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMWVkNGNhY2E4MDljODM4NTQxNjU0NzNkYmEzYmQyOTZlYzM4YzI1ZVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgU2VwIDIgMTk6MzY6MzcgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2NvbmZpZyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9jb25maWdcbmluZGV4IDU5MDUxZWUyYTk4NjAuLjBkMGE3NDRjNGNhODkgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXG5AQCAtMzAsNiAmIzQzOzMwLDkgQEAgQ09ORklHX05FVF9TQ0hfTkVURU09bVxuIENPTkZJR19ORl9UQUJMRVM9bVxuIENPTkZJR19ORl9UQUJMRVNfSU5FVD15XG4gQ09ORklHX05GVF9DT01QQVQ9bVxuJiM0MztDT05GSUdfTkZUX05VTUdFTj15XG4mIzQzO0NPTkZJR19ORlRfUkVKRUNUPW1cbiYjNDM7Q09ORklHX05GVF9SRUpFQ1RfSVBWND1tXG4gQ09ORklHX05GVF9TT0NLRVQ9bVxuIENPTkZJR19ORlRfVFBST1hZPW1cbiBDT05GSUdfU1lOX0NPT0tJRVM9eVxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2hcbmluZGV4IDE4Y2U3MTM2YTJiMGUuLjA1Y2JhZGRiODI2MTYgMTAwNzU1XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2hcbkBAIC0yNiw4ICYjNDM7MjYsNiBAQCBjYXBvdXQ9XCYjMzQ7XCYjMzQ7XG4gY2FwcGlkPVwmIzM0O1wmIzM0O1xuIG5zMT1cJiMzNDtcJiMzNDtcbiBuczI9XCYjMzQ7XCYjMzQ7XG4taXB0YWJsZXM9XCYjMzQ7aXB0YWJsZXNcJiMzNDtcbi1pcDZ0YWJsZXM9XCYjMzQ7aXA2dGFibGVzXCYjMzQ7XG4gdGltZW91dF9wb2xsPTMwXG4gdGltZW91dF90ZXN0PSQoKHRpbWVvdXRfcG9sbCAqIDIgJiM0MzsgMSkpXG4gY2FwdHVyZT1mYWxzZVxuQEAgLTUwLDYgJiM0Mzs0OCw3IEBAIGRlY2xhcmUgLUEgZmFpbGVkX3Rlc3RzXG4gTVBUQ1BfTElCX1RFU1RfRk9STUFUPVwmIzM0OyUwM3UgJXNcXG5cJiMzNDtcbiBURVNUX05BTUU9XCYjMzQ7XCYjMzQ7XG4gbnJfYmxhbms9NlxuJiM0MztuZnRfaGFuZGxlPVwmIzM0O1wmIzM0O1xuIFxuICMgVGhlc2UgdmFyIGFyZSB1c2VkIG9ubHkgaW4gc29tZSB0ZXN0cywgbWFrZSBzdXJlIHRoZXkgYXJlIG5vdCBhbHJlYWR5IHNldFxuIHVuc2V0IEZBSUxJTkdfTElOS1NcbkBAIC05OSw0MiAmIzQzOzk4LDYgQEAgdW5zZXQgYWRkX2FkZHJfdHhfbnJcbiB1bnNldCBhZGRfYWRkcl9lY2hvX3R4X25yXG4gdW5zZXQgYWRkX2FkZHJfZHJvcF90eF9uclxuIFxuLSMgZ2VuZXJhdGVkIHVzaW5nIFwmIzM0O25mYnBmX2NvbXBpbGUgJiMzOTsoaXAgXHUwMDI2XHUwMDI2IChpcFs1NF0gXHUwMDI2IDB4ZjApID09IDB4MzApIHx8XG4tI1x0XHRcdFx0ICAoaXA2IFx1MDAyNlx1MDAyNiAoaXA2Wzc0XSBcdTAwMjYgMHhmMCkgPT0gMHgzMCkmIzM5O1wmIzM0O1xuLUNCUEZfTVBUQ1BfU1VCT1BUSU9OX0FERF9BRERSPVwmIzM0OzE0LFxuLVx0XHRcdCAgICAgICA0OCAwIDAgMCxcbi1cdFx0XHQgICAgICAgODQgMCAwIDI0MCxcbi1cdFx0XHQgICAgICAgMjEgMCAzIDY0LFxuLVx0XHRcdCAgICAgICA0OCAwIDAgNTQsXG4tXHRcdFx0ICAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgIDIxIDYgNyA0OCxcbi1cdFx0XHQgICAgICAgNDggMCAwIDAsXG4tXHRcdFx0ICAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgIDIxIDAgNCA5Nixcbi1cdFx0XHQgICAgICAgNDggMCAwIDc0LFxuLVx0XHRcdCAgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgICAyMSAwIDEgNDgsXG4tXHRcdFx0ICAgICAgIDYgMCAwIDY1NTM1LFxuLVx0XHRcdCAgICAgICA2IDAgMCAwXCYjMzQ7XG4tXG4tIyBJUHY0OiBUQ1AgaGRyIG9mIDQ4QiwgYSBmaXJzdCBzdWJvcHRpb24gb2YgMTJCIChEQUNLOCksIHRoZSBSTV9BRERSIHN1Ym9wdGlvblxuLSMgZ2VuZXJhdGVkIHVzaW5nIFwmIzM0O25mYnBmX2NvbXBpbGUgJiMzOTsoaXBbMzJdIFx1MDAyNiAweGYwKSA9PSAweGMwIFx1MDAyNlx1MDAyNiBpcFs1M10gPT0gMHgwYyBcdTAwMjZcdTAwMjZcbi0jXHRcdFx0XHQgIChpcFs2Nl0gXHUwMDI2IDB4ZjApID09IDB4NDAmIzM5O1wmIzM0O1xuLUNCUEZfTVBUQ1BfU1VCT1BUSU9OX1JNX0FERFI9XCYjMzQ7MTMsXG4tXHRcdFx0ICAgICAgNDggMCAwIDAsXG4tXHRcdFx0ICAgICAgODQgMCAwIDI0MCxcbi1cdFx0XHQgICAgICAyMSAwIDkgNjQsXG4tXHRcdFx0ICAgICAgNDggMCAwIDMyLFxuLVx0XHRcdCAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgMjEgMCA2IDE5Mixcbi1cdFx0XHQgICAgICA0OCAwIDAgNTMsXG4tXHRcdFx0ICAgICAgMjEgMCA0IDEyLFxuLVx0XHRcdCAgICAgIDQ4IDAgMCA2Nixcbi1cdFx0XHQgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgIDIxIDAgMSA2NCxcbi1cdFx0XHQgICAgICA2IDAgMCA2NTUzNSxcbi1cdFx0XHQgICAgICA2IDAgMCAwXCYjMzQ7XG4tXG4gaW5pdF9wYXJ0aWFsKClcbiB7XG4gXHRjYXBvdXQ9JChta3RlbXApXG5AQCAtMTQ3LDYgJiM0MzsxMTAsMTQgQEAgaW5pdF9wYXJ0aWFsKClcbiBcdFx0aWYgJGNoZWNrc3VtOyB0aGVuXG4gXHRcdFx0aXAgbmV0bnMgZXhlYyAkbmV0bnMgc3lzY3RsIC1xIG5ldC5tcHRjcC5jaGVja3N1bV9lbmFibGVkPTFcbiBcdFx0ZmlcbiYjNDM7XG4mIzQzO1x0XHRpcCBuZXRucyBleGVjIFwmIzM0OyRuZXRuc1wmIzM0OyBuZnQgYWRkIHRhYmxlIGluZXQgbWpvaW5fdGFibGVcbiYjNDM7XHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5ldG5zXCYjMzQ7IG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBpbnB1dCBcXFxuJiM0MztcdFx0XHQmIzM5O3sgdHlwZSBmaWx0ZXIgaG9vayBpbnB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0mIzM5O1xuJiM0MztcdFx0aXAgbmV0bnMgZXhlYyBcJiMzNDskbmV0bnNcJiMzNDsgbmZ0IGFkZCBjaGFpbiBpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBcXFxuJiM0MztcdFx0XHQmIzM5O3sgdHlwZSBmaWx0ZXIgaG9vayBvdXRwdXQgcHJpb3JpdHkgZmlsdGVyOyBwb2xpY3kgYWNjZXB0OyB9JiMzOTtcbiYjNDM7XHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5ldG5zXCYjMzQ7IG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBtYW5nbGUgXFxcbiYjNDM7XHRcdFx0JiMzOTt7IHR5cGUgZmlsdGVyIGhvb2sgb3V0cHV0IHByaW9yaXR5IG1hbmdsZTsgcG9saWN5IGFjY2VwdDsgfSYjMzk7XG4gXHRkb25lXG4gXG4gXHRjaGVja19pbnZlcnQ9MFxuQEAgLTE5Niw3ICYjNDM7MTY3LDcgQEAgaW5pdCgpIHtcbiBcbiBcdG1wdGNwX2xpYl9jaGVja19tcHRjcFxuIFx0bXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXG4tXHRtcHRjcF9saWJfY2hlY2tfdG9vbHMgaXAgdGMgc3MgXCYjMzQ7JHtpcHRhYmxlc31cJiMzNDsgXCYjMzQ7JHtpcDZ0YWJsZXN9XCYjMzQ7XG4mIzQzO1x0bXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIHRjIHNzIG5mdFxuIFxuIFx0c2luPSQobWt0ZW1wKVxuIFx0c291dD0kKG1rdGVtcClcbkBAIC0zODEsMjMgJiM0MzszNTIsMTggQEAgcmVzZXRfd2l0aF9jb29raWVzKClcbiByZXNldF93aXRoX2FkZF9hZGRyX3RpbWVvdXQoKVxuIHtcbiBcdGxvY2FsIGlwPVwmIzM0OyR7MjotNH1cJiMzNDtcbi1cdGxvY2FsIHRhYmxlc1xuIFxuIFx0cmVzZXQgXCYjMzQ7JHsxfVwmIzM0OyB8fCByZXR1cm4gMVxuIFxuLVx0dGFibGVzPVwmIzM0OyR7aXB0YWJsZXN9XCYjMzQ7XG4tXHRpZiBbICRpcCAtZXEgNiBdOyB0aGVuXG4tXHRcdHRhYmxlcz1cJiMzNDske2lwNnRhYmxlc31cJiMzNDtcbi1cdGZpXG4tXG4gXHQjIHNldCBhIG1heGltdW0sIHRvIGF2b2lkIHRvbyBsb25nIHRpbWVvdXQgd2l0aCBleHBvbmVudGlhbCBiYWNrb2ZmXG4gXHRpcCBuZXRucyBleGVjICRuczEgc3lzY3RsIC1xIG5ldC5tcHRjcC5hZGRfYWRkcl90aW1lb3V0PTFcbiBcbi1cdGlmICEgaXAgbmV0bnMgZXhlYyAkbnMyICR0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCBcXFxuLVx0XHRcdC1tIHRjcCAtLXRjcC1vcHRpb24gMzAgXFxcbi1cdFx0XHQtbSBicGYgLS1ieXRlY29kZSBcXFxuLVx0XHRcdFwmIzM0OyRDQlBGX01QVENQX1NVQk9QVElPTl9BRERfQUREUlwmIzM0OyBcXFxuLVx0XHRcdC1qIERST1A7IHRoZW5cbiYjNDM7XG4mIzQzO1x0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5zMlwmIzM0OyBuZnQgLWUgLS1oYW5kbGUgYWRkIHJ1bGUgXFxcbiYjNDM7XHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IG1ldGEgbmZwcm90byBpcHYke2lwfSBcXFxuJiM0MztcdFx0dGNwIG9wdGlvbiBtcHRjcCBzdWJ0eXBlIGFkZC1hZGRyIFxcXG4mIzQzO1x0XHRkcm9wIHwgaGVhZCAtbjEgfCBhd2sgJiMzOTt7cHJpbnQgJE5GfSYjMzk7KVxuJiM0MztcdGlmIFsgLXogXCYjMzQ7JG5mdF9oYW5kbGVcJiMzNDsgXTsgdGhlblxuIFx0XHRtYXJrX2FzX3NraXBwZWQgXCYjMzQ7dW5hYmxlIHRvIHNldCB0aGUgJiMzOTthZGQgYWRkciYjMzk7IHJ1bGVcJiMzNDtcbiBcdFx0cmV0dXJuIDFcbiBcdGZpXG5AQCAtNDUwLDIyICYjNDM7NDE2LDE2IEBAIHNldHVwX2ZhaWxfcnVsZXMoKVxuIFx0dmFsaWRhdGVfY2hlY2tzdW09dHJ1ZVxuIFx0bG9jYWwgaT1cJiMzNDskMVwmIzM0O1xuIFx0bG9jYWwgaXA9XCYjMzQ7JHsyOi00fVwmIzM0O1xuLVx0bG9jYWwgdGFibGVzXG4gXG4tXHR0YWJsZXM9XCYjMzQ7JHtpcHRhYmxlc31cJiMzNDtcbi1cdGlmIFsgJGlwIC1lcSA2IF07IHRoZW5cbi1cdFx0dGFibGVzPVwmIzM0OyR7aXA2dGFibGVzfVwmIzM0O1xuJiM0MztcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyRuczJcJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXG4mIzQzO1x0XHRpbmV0IG1qb2luX3RhYmxlIG1hbmdsZSBvaWZuYW1lIG5zMmV0aCRpIFxcXG4mIzQzO1x0XHRtZXRhIG5mcHJvdG8gaXB2JHtpcH0gbWV0YSBsNHByb3RvIHRjcCBcXFxuJiM0MztcdFx0bWV0YSBsZW5ndGggMTUwLTk5OTkgbnVtZ2VuIGluYyBtb2QgOTk5OTkgPT0gMSBcXFxuJiM0MztcdFx0bWV0YSBtYXJrIHNldCA0MiB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OylcbiYjNDM7XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbiYjNDM7XHRcdHJldHVybiAke0tTRlRfU0tJUH1cbiBcdGZpXG4gXG4tXHRpcCBuZXRucyBleGVjICRuczIgJHRhYmxlcyBcXFxuLVx0XHQtdCBtYW5nbGUgXFxcbi1cdFx0LUEgT1VUUFVUIFxcXG4tXHRcdC1vIG5zMmV0aCRpIFxcXG4tXHRcdC1wIHRjcCBcXFxuLVx0XHQtbSBsZW5ndGggLS1sZW5ndGggMTUwOjk5OTkgXFxcbi1cdFx0LW0gc3RhdGlzdGljIC0tbW9kZSBudGggLS1wYWNrZXQgMSAtLWV2ZXJ5IDk5OTk5IFxcXG4tXHRcdC1qIE1BUksgLS1zZXQtbWFyayA0MiB8fCByZXR1cm4gJHtLU0ZUX1NLSVB9XG4tXG4gXHR0YyAtbiAkbnMyIHFkaXNjIGFkZCBkZXYgbnMyZXRoJGkgY2xzYWN0IHx8IHJldHVybiAke0tTRlRfU0tJUH1cbiBcdHRjIC1uICRuczIgZmlsdGVyIGFkZCBkZXYgbnMyZXRoJGkgZWdyZXNzIFxcXG4gXHRcdHByb3RvY29sIGlwIHByaW8gMTAwMCBcXFxuQEAgLTUxNSwxMSAmIzQzOzQ3NSwxMSBAQCByZXNldF93aXRoX3RjcF9maWx0ZXIoKVxuIFx0bG9jYWwgdGFyZ2V0PVwmIzM0OyR7M31cJiMzNDtcbiBcdGxvY2FsIGNoYWluPVwmIzM0OyR7NDotSU5QVVR9XCYjMzQ7XG4gXG4tXHRpZiAhIGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuc31cJiMzNDsgJHtpcHRhYmxlc30gXFxcbi1cdFx0XHQtQSBcJiMzNDske2NoYWlufVwmIzM0OyBcXFxuLVx0XHRcdC1zIFwmIzM0OyR7c3JjfVwmIzM0OyBcXFxuLVx0XHRcdC1wIHRjcCBcXFxuLVx0XHRcdC1qIFwmIzM0OyR7dGFyZ2V0fVwmIzM0OzsgdGhlblxuJiM0MztcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyRuc1wmIzM0OyBuZnQgLWUgLS1oYW5kbGUgYWRkIHJ1bGUgXFxcbiYjNDM7XHRcdGluZXQgbWpvaW5fdGFibGUgXCYjMzQ7JHtjaGFpbiwsfVwmIzM0OyBcXFxuJiM0MztcdFx0aXAgc2FkZHIgXCYjMzQ7eyAke3NyY30gfVwmIzM0OyBtZXRhIGw0cHJvdG8gdGNwIFwmIzM0OyR7dGFyZ2V0LCx9XCYjMzQ7IHwgXFxcbiYjNDM7XHRcdGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OylcbiYjNDM7XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbiBcdFx0bWFya19hc19za2lwcGVkIFwmIzM0O3VuYWJsZSB0byBzZXQgdGhlIGZpbHRlciBydWxlc1wmIzM0O1xuIFx0XHRyZXR1cm4gMVxuIFx0ZmlcbkBAIC00MzE1LDEwICYjNDM7NDI3NSwxMiBAQCB1c2Vyc3BhY2VfdGVzdHMoKVxuIFxuIFx0XHQjIGZvcmNlIHF1aWNrIGxvc3NcbiBcdFx0aXAgbmV0bnMgZXhlYyAkbnMyIHN5c2N0bCAtcSBuZXQuaXB2NC50Y3Bfc3luX3JldHJpZXM9MVxuLVx0XHRpZiBpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMxfVwmIzM0OyAke2lwdGFibGVzfSAtQSBJTlBVVCAtcyBcJiMzNDsxMC4wLjEuMlwmIzM0OyBcXFxuLVx0XHQgICAgICAtcCB0Y3AgLS10Y3Atb3B0aW9uIDMwIC1qIFJFSkVDVCAtLXJlamVjdC13aXRoIHRjcC1yZXNldCBcdTAwMjZcdTAwMjZcbi1cdFx0ICAgaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgJHtpcHRhYmxlc30gLUEgSU5QVVQgLWQgXCYjMzQ7MTAuMC4xLjJcJiMzNDsgXFxcbi1cdFx0ICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQ7IHRoZW5cbiYjNDM7XHRcdGlmIGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczF9XCYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1qb2luX3RhYmxlIFxcXG4mIzQzO1x0XHRcdGlucHV0IGlwIHNhZGRyIFwmIzM0OzEwLjAuMS4yXCYjMzQ7IG1ldGEgbDRwcm90byB0Y3AgXFxcbiYjNDM7XHRcdFx0dGNwIG9wdGlvbiBtcHRjcCBleGlzdHMgcmVqZWN0IHdpdGggdGNwIHJlc2V0IFx1MDAyNlx1MDAyNlxuJiM0MztcdFx0ICAgaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgbmZ0IGFkZCBydWxlIGluZXQgbWpvaW5fdGFibGUgXFxcbiYjNDM7XHRcdFx0aW5wdXQgaXAgZGFkZHIgXCYjMzQ7MTAuMC4xLjJcJiMzNDsgbWV0YSBsNHByb3RvIHRjcCBcXFxuJiM0MztcdFx0XHR0Y3Agb3B0aW9uIG1wdGNwIGV4aXN0cyByZWplY3Qgd2l0aCB0Y3AgcmVzZXQ7IHRoZW5cbiBcdFx0XHR3YWl0X2V2ZW50IG5zMiBNUFRDUF9MSUJfRVZFTlRfU1VCX0NMT1NFRCAxXG4gXHRcdFx0d2FpdF9ldmVudCBuczEgTVBUQ1BfTElCX0VWRU5UX1NVQl9DTE9TRUQgMVxuIFx0XHRcdGNoa19zdWJmbG93c190b3RhbCAxIDFcbkBAIC00MzkzLDcgJiM0Mzs0MzU1LDcgQEAgZW5kcG9pbnRfdGVzdHMoKVxuIFx0XHRjaGtfc3ViZmxvd19uciBcJiMzNDthZnRlciBuZXcgcmVqZWN0XCYjMzQ7IDJcbiBcdFx0Y2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMSBzdWJmbG93cyAxXG4gXG4tXHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczJ9XCYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyBcJiMzNDsxMC4wLjMuMlwmIzM0OyAtcCB0Y3AgLWogUkVKRUNUXG4mIzQzO1x0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7XG4gXHRcdHBtX25sX2RlbF9lbmRwb2ludCAkbnMyIDMgMTAuMC4zLjJcbiBcdFx0cG1fbmxfYWRkX2VuZHBvaW50ICRuczIgMTAuMC4zLjIgaWQgMyBmbGFncyBzdWJmbG93XG4gXHRcdHdhaXRfbXBqIDNcbkBAIC00NDAyLDEyICYjNDM7NDM2NCwxMCBAQCBlbmRwb2ludF90ZXN0cygpXG4gXG4gXHRcdCMgVG8gbWFrZSBzdXJlIFJNX0FERFIgYXJlIHNlbnQgb3ZlciBhIGRpZmZlcmVudCBzdWJmbG93LCBidXRcbiBcdFx0IyBhbGxvdyB0aGUgcmVzdCB0byBxdWlja2x5IGFuZCBjbGVhbmx5IGNsb3NlIHRoZSBzdWJmbG93XG4tXHRcdGxvY2FsIGlwdD0xXG4tXHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczJ9XCYjMzQ7ICR7aXB0YWJsZXN9IC1JIE9VVFBVVCAtcyBcJiMzNDsxMC4wLjEuMlwmIzM0OyBcXFxuLVx0XHRcdC1wIHRjcCAtbSB0Y3AgLS10Y3Atb3B0aW9uIDMwIFxcXG4tXHRcdFx0LW0gYnBmIC0tYnl0ZWNvZGUgXFxcbi1cdFx0XHRcJiMzNDskQ0JQRl9NUFRDUF9TVUJPUFRJT05fUk1fQUREUlwmIzM0OyBcXFxuLVx0XHRcdC1qIERST1AgfHwgaXB0PTBcbiYjNDM7XHRcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgLWUgLS1oYW5kbGUgaW5zZXJ0IHJ1bGUgXFxcbiYjNDM7XHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjIgbWV0YSBsNHByb3RvIHRjcCBcXFxuJiM0MztcdFx0XHR0Y3Agb3B0aW9uIG1wdGNwIHN1YnR5cGUgcmVtb3ZlLWFkZHIgXFxcbiYjNDM7XHRcdFx0ZHJvcCB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OylcbiBcdFx0bG9jYWwgaVxuIFx0XHRmb3IgaSBpbiAkKHNlcSAzKTsgZG9cbiBcdFx0XHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMiAxIDEwLjAuMS4yXG5AQCAtNDQyMCw3ICYjNDM7NDM4MCw4IEBAIGVuZHBvaW50X3Rlc3RzKClcbiBcdFx0XHRjaGtfc3ViZmxvd19uciBcJiMzNDthZnRlciByZS1hZGQgaWQgMCAoJGkpXCYjMzQ7IDNcbiBcdFx0XHRjaGtfbXB0Y3BfaW5mbyBzdWJmbG93cyAzIHN1YmZsb3dzIDNcbiBcdFx0ZG9uZVxuLVx0XHRbICR7aXB0fSA9IDEgXSBcdTAwMjZcdTAwMjYgaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgJHtpcHRhYmxlc30gLUQgT1VUUFVUIDFcbiYjNDM7XHRcdFsgLW4gXCYjMzQ7JHtuZnRfaGFuZGxlfVwmIzM0OyBdIFx1MDAyNlx1MDAyNiBpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgXFxcbiYjNDM7XHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyR7bmZ0X2hhbmRsZX1cJiMzNDtcbiBcbiBcdFx0bXB0Y3BfbGliX2tpbGxfZ3JvdXBfd2FpdCAkdGVzdHNfcGlkXG4gXG5AQCAtNDQ4MiwxOCAmIzQzOzQ0NDMsMTcgQEAgZW5kcG9pbnRfdGVzdHMoKVxuIFxuIFx0XHQjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0XG4gXHRcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xuLVx0XHRsb2NhbCBpcHQ9MVxuLVx0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMxfVwmIzM0OyAke2lwdGFibGVzfSAtSSBPVVRQVVQgLXMgXCYjMzQ7MTAuMC4xLjFcJiMzNDsgXFxcbi1cdFx0XHQtcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcXFxuLVx0XHRcdC1tIGJwZiAtLWJ5dGVjb2RlIFxcXG4tXHRcdFx0XCYjMzQ7JENCUEZfTVBUQ1BfU1VCT1BUSU9OX1JNX0FERFJcJiMzNDsgXFxcbi1cdFx0XHQtaiBEUk9QIHx8IGlwdD0wXG4mIzQzO1x0XHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMX1cJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXG4mIzQzO1x0XHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4xIG1ldGEgbDRwcm90byB0Y3AgXFxcbiYjNDM7XHRcdFx0dGNwIG9wdGlvbiBtcHRjcCBzdWJ0eXBlIHJlbW92ZS1hZGRyIFxcXG4mIzQzO1x0XHRcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspXG4gXHRcdHBtX25sX2RlbF9lbmRwb2ludCAkbnMxIDQyIDEwLjAuMS4xXG4gXHRcdHNsZWVwIDAuNVxuIFx0XHRjaGtfc3ViZmxvd19uciBcJiMzNDthZnRlciBkZWxldGUgSUQgMFwmIzM0OyAyXG4gXHRcdGNoa19tcHRjcF9pbmZvIHN1YmZsb3dzIDIgc3ViZmxvd3MgMlxuIFx0XHRjaGtfbXB0Y3BfaW5mbyBhZGRfYWRkcl9zaWduYWwgMiBhZGRfYWRkcl9hY2NlcHRlZCAyXG4tXHRcdFsgJHtpcHR9ID0gMSBdIFx1MDAyNlx1MDAyNiBpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMxfVwmIzM0OyAke2lwdGFibGVzfSAtRCBPVVRQVVQgMVxuJiM0MztcdFx0WyAtbiBcJiMzNDske25mdF9oYW5kbGV9XCYjMzQ7IF0gXHUwMDI2XHUwMDI2IGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczF9XCYjMzQ7IG5mdCBkZWxldGUgcnVsZSBcXFxuJiM0MztcdFx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXCYjMzQ7JHtuZnRfaGFuZGxlfVwmIzM0O1xuIFxuIFx0XHRwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMSAxMC4wLjEuMSBpZCA0MiBmbGFncyBzaWduYWxcbiBcdFx0d2FpdF9tcGogNFxuQEAgLTQ1NTUsNyAmIzQzOzQ1MTUsNyBAQCBlbmRwb2ludF90ZXN0cygpXG4gXHRcdHBtX25sX2ZsdXNoX2VuZHBvaW50ICRuczJcbiBcdFx0cG1fbmxfZmx1c2hfZW5kcG9pbnQgJG5zMVxuIFx0XHR3YWl0X3JtX2FkZHIgJG5zMiAwXG4tXHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczJ9XCYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyBcJiMzNDsxMC4wLjMuMlwmIzM0OyAtcCB0Y3AgLWogUkVKRUNUXG4mIzQzO1x0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7XG4gXHRcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvd1xuIFx0XHR3YWl0X21waiAxXG4gXHRcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMy4xIGlkIDIgZmxhZ3Mgc2lnbmFsXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2xpYi5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9saWIuc2hcbmluZGV4IDVlZjYwMzM3NzVjODYuLmViYTY5MDMyMzNjY2YgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXG5AQCAtNTI0LDcgJiM0Mzs1MjQsNyBAQCBtcHRjcF9saWJfY2hlY2tfdG9vbHMoKSB7XG4gXHRcdFx0XHRleGl0ICR7S1NGVF9TS0lQfVxuIFx0XHRcdGZpXG4gXHRcdFx0Oztcbi1cdFx0XCYjMzQ7aXB0YWJsZXNcJiMzNDsqIHwgXCYjMzQ7aXA2dGFibGVzXCYjMzQ7KilcbiYjNDM7XHRcdFwmIzM0O2lwdGFibGVzXCYjMzQ7KiB8IFwmIzM0O2lwNnRhYmxlc1wmIzM0OyogfCBcJiMzNDtuZnRcJiMzNDsqKVxuIFx0XHRcdGlmICEgXCYjMzQ7JHt0b29sfVwmIzM0OyAtViBcdTAwMjZcdTAwM2UgL2Rldi9udWxsOyB0aGVuXG4gXHRcdFx0XHRtcHRjcF9saWJfcHJfc2tpcCBcJiMzNDtDb3VsZCBub3QgcnVuIGFsbCB0ZXN0cyB3aXRob3V0ICR7dG9vbH1cJiMzNDtcbiBcdFx0XHRcdGV4aXQgJHtLU0ZUX1NLSVB9XG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaFxuaW5kZXggZTg1MGE4NzQyOWI2MS4uNGQwYWYyYmY5NDg0MCAxMDA3NTVcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaFxuQEAgLTE1LDggJiM0MzsxNSw2IEBAIGNpbj1cJiMzNDtcJiMzNDtcbiBjb3V0PVwmIzM0O1wmIzM0O1xuIHRpbWVvdXRfcG9sbD0zMFxuIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICYjNDM7IDEpKVxuLWlwdGFibGVzPVwmIzM0O2lwdGFibGVzXCYjMzQ7XG4taXA2dGFibGVzPVwmIzM0O2lwNnRhYmxlc1wmIzM0O1xuIFxuIG5zMT1cJiMzNDtcJiMzNDtcbiBuczI9XCYjMzQ7XCYjMzQ7XG5AQCAtNDksMTcgJiM0Mzs0NywyMyBAQCBhZGRfbWFya19ydWxlcygpXG4gXHRsb2NhbCBucz0kMVxuIFx0bG9jYWwgbT0kMlxuIFxuLVx0bG9jYWwgdFxuLVx0Zm9yIHQgaW4gJHtpcHRhYmxlc30gJHtpcDZ0YWJsZXN9OyBkb1xuLVx0XHQjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0c1xuLVx0XHRpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tc3luIC1tIG1hcmsgLS1tYXJrICRtIC1qIEFDQ0VQVFxuLVxuLVx0XHQjIFJTVCBwYWNrZXRzIG1pZ2h0IGJlIGhhbmRsZWQgYnkgYSBpbnRlcm5hbCBkdW1teSBzb2NrZXRcbi1cdFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtLXRjcC1mbGFncyBSU1QgUlNUIC1tIG1hcmsgLS1tYXJrIDAgLWogQUNDRVBUXG4tXG4tXHRcdGlwIG5ldG5zIGV4ZWMgJG5zICR0IC1BIE9VVFBVVCAtcCB0Y3AgLW0gbWFyayAtLW1hcmsgJG0gLWogQUNDRVBUXG4tXHRcdGlwIG5ldG5zIGV4ZWMgJG5zICR0IC1BIE9VVFBVVCAtcCB0Y3AgLW0gbWFyayAtLW1hcmsgMCAtaiBEUk9QXG4tXHRkb25lXG4mIzQzO1x0aXAgbmV0bnMgZXhlYyBcJiMzNDskbnNcJiMzNDsgbmZ0IGFkZCB0YWJsZSBpbmV0IG1zb2NrX3RhYmxlXG4mIzQzO1x0aXAgbmV0bnMgZXhlYyBcJiMzNDskbnNcJiMzNDsgbmZ0IGFkZCBjaGFpbiBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxuJiM0MztcdFx0JiMzOTt7IHR5cGUgZmlsdGVyIGhvb2sgb3V0cHV0IHByaW9yaXR5IDA7IHBvbGljeSBhY2NlcHQ7IH0mIzM5O1xuJiM0MztcbiYjNDM7XHQjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0c1xuJiM0MztcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5zXCYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxuJiM0MztcdFx0IG1ldGEgbWFyayBcJiMzNDskbVwmIzM0OyB0Y3AgZmxhZ3Mgc3luIGFjY2VwdFxuJiM0MztcdCMgUlNUIHBhY2tldHMgbWlnaHQgYmUgaGFuZGxlZCBieSBhIGludGVybmFsIGR1bW15IHNvY2tldFxuJiM0MztcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5zXCYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxuJiM0MztcdFx0bWV0YSBtYXJrIDAgdGNwIGZsYWdzIHJzdCBhY2NlcHRcbiYjNDM7XHRpcCBuZXRucyBleGVjIFwmIzM0OyRuc1wmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcbiYjNDM7XHRcdG1ldGEgbWFyayBcJiMzNDskbVwmIzM0OyBtZXRhIGw0cHJvdG8gdGNwIGFjY2VwdFxuJiM0MztcbiYjNDM7XHRpcCBuZXRucyBleGVjIFwmIzM0OyRuc1wmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcbiYjNDM7XHRcdG1ldGEgbmZwcm90byBpcHY0IG1ldGEgbWFyayAwIG1ldGEgbDRwcm90byB0Y3AgY291bnRlciBkcm9wXG4mIzQzO1x0aXAgbmV0bnMgZXhlYyBcJiMzNDskbnNcJiMzNDsgbmZ0IGFkZCBydWxlIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXG4mIzQzO1x0XHRtZXRhIG5mcHJvdG8gaXB2NiBtZXRhIG1hcmsgMCBtZXRhIGw0cHJvdG8gdGNwIGNvdW50ZXIgZHJvcFxuIH1cbiBcbiBpbml0KClcbkBAIC0xMDUsMzMgJiM0MzsxMDksMjMgQEAgY2xlYW51cCgpXG4gXG4gbXB0Y3BfbGliX2NoZWNrX21wdGNwXG4gbXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXG4tbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIFwmIzM0OyR7aXB0YWJsZXN9XCYjMzQ7IFwmIzM0OyR7aXA2dGFibGVzfVwmIzM0O1xuJiM0MzttcHRjcF9saWJfY2hlY2tfdG9vbHMgaXAgbmZ0XG4gXG4gY2hlY2tfbWFyaygpXG4ge1xuIFx0bG9jYWwgbnM9JDFcbiBcdGxvY2FsIGFmPSQyXG4gXG4tXHRsb2NhbCB0YWJsZXM9JHtpcHRhYmxlc31cbiYjNDM7XHRkcm9wPSQoaXAgbmV0bnMgZXhlYyBcJiMzNDskbnNcJiMzNDsgbmZ0IGxpc3QgdGFibGUgaW5ldCBtc29ja190YWJsZSB8IFxcXG4mIzQzO1x0XHRncmVwIFwmIzM0O2lwdiRhZi4qcGFja2V0cy4qZHJvcFwmIzM0OyB8IGF3ayAmIzM5O3twcmludCAkKE5GLTMpfSYjMzk7KVxuIFxuLVx0aWYgWyAkYWYgLWVxIDYgXTt0aGVuXG4tXHRcdHRhYmxlcz0ke2lwNnRhYmxlc31cbiYjNDM7XHRpZiBbIFwmIzM0OyRkcm9wXCYjMzQ7IC1uZSAwIF07IHRoZW5cbiYjNDM7XHRcdG1wdGNwX2xpYl9wcl9mYWlsIFwmIzM0O2dvdCAkZHJvcCBwa3QgZHJvcHMgaW4gbnMgJG5zIElQdnskYWZ9IHRhYmxlcyxcJiMzNDsgXFxcbiYjNDM7XHRcdFx0XHQgIFwmIzM0O25vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFwmIzM0O1xuJiM0MztcdFx0cmV0PSR7S1NGVF9GQUlMfVxuJiM0MztcdFx0cmV0dXJuIDFcbiBcdGZpXG4gXG4tXHRsb2NhbCBjb3VudGVycyB2YWx1ZXNcbi1cdGNvdW50ZXJzPSQoaXAgbmV0bnMgZXhlYyAkbnMgJHRhYmxlcyAtdiAtTCBPVVRQVVQgfCBncmVwIERST1ApXG4tXHR2YWx1ZXM9JHtjb3VudGVycyVEUk9QKn1cbi1cbi1cdGxvY2FsIHZcbi1cdGZvciB2IGluICR2YWx1ZXM7IGRvXG4tXHRcdGlmIFsgJHYgLW5lIDAgXTsgdGhlblxuLVx0XHRcdG1wdGNwX2xpYl9wcl9mYWlsIFwmIzM0O2dvdCAkdGFibGVzICR2YWx1ZXMgaW4gbnMgJG5zLFwmIzM0OyBcXFxuLVx0XHRcdFx0XHQgIFwmIzM0O25vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFwmIzM0O1xuLVx0XHRcdHJldD0ke0tTRlRfRkFJTH1cbi1cdFx0XHRyZXR1cm4gMVxuLVx0XHRmaVxuLVx0ZG9uZVxuLVxuIFx0cmV0dXJuIDBcbiB9XG4gXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDIgMTk6MzY8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHNlbGZ0ZXN0IHNjcmlwdHMgYW5kIHRlc3QgY29uZmlndXJhdGlvbnMgaW4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwLyAobWlncmF0aW5nIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzKSwgd2l0aCBubyBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMWVkNGNhY2E4MDljODM4NTQxNjU0NzNkYmEzYmQyOTZlYzM4YzI1ZQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgU2VwIDIgMTk6MzY6MzcgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2NvbmZpZwppbmRleCA1OTA1MWVlMmE5ODYwLi4wZDBhNzQ0YzRjYTg5IDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9jb25maWcKQEAgLTMwLDYgJiM0MzszMCw5IEBAIENPTkZJR19ORVRfU0NIX05FVEVNPW0KIENPTkZJR19ORl9UQUJMRVM9bQogQ09ORklHX05GX1RBQkxFU19JTkVUPXkKIENPTkZJR19ORlRfQ09NUEFUPW0KJiM0MztDT05GSUdfTkZUX05VTUdFTj15CiYjNDM7Q09ORklHX05GVF9SRUpFQ1Q9bQomIzQzO0NPTkZJR19ORlRfUkVKRUNUX0lQVjQ9bQogQ09ORklHX05GVF9TT0NLRVQ9bQogQ09ORklHX05GVF9UUFJPWFk9bQogQ09ORklHX1NZTl9DT09LSUVTPXkKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gKaW5kZXggMThjZTcxMzZhMmIwZS4uMDVjYmFkZGI4MjYxNiAxMDA3NTUKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gKQEAgLTI2LDggJiM0MzsyNiw2IEBAIGNhcG91dD0mIzM0OyYjMzQ7CiBjYXBwaWQ9JiMzNDsmIzM0OwogbnMxPSYjMzQ7JiMzNDsKIG5zMj0mIzM0OyYjMzQ7Ci1pcHRhYmxlcz0mIzM0O2lwdGFibGVzJiMzNDsKLWlwNnRhYmxlcz0mIzM0O2lwNnRhYmxlcyYjMzQ7CiB0aW1lb3V0X3BvbGw9MzAKIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICYjNDM7IDEpKQogY2FwdHVyZT1mYWxzZQpAQCAtNTAsNiAmIzQzOzQ4LDcgQEAgZGVjbGFyZSAtQSBmYWlsZWRfdGVzdHMKIE1QVENQX0xJQl9URVNUX0ZPUk1BVD0mIzM0OyUwM3UgJXNcbiYjMzQ7CiBURVNUX05BTUU9JiMzNDsmIzM0OwogbnJfYmxhbms9NgomIzQzO25mdF9oYW5kbGU9JiMzNDsmIzM0OwogCiAjIFRoZXNlIHZhciBhcmUgdXNlZCBvbmx5IGluIHNvbWUgdGVzdHMsIG1ha2Ugc3VyZSB0aGV5IGFyZSBub3QgYWxyZWFkeSBzZXQKIHVuc2V0IEZBSUxJTkdfTElOS1MKQEAgLTk5LDQyICYjNDM7OTgsNiBAQCB1bnNldCBhZGRfYWRkcl90eF9ucgogdW5zZXQgYWRkX2FkZHJfZWNob190eF9ucgogdW5zZXQgYWRkX2FkZHJfZHJvcF90eF9ucgogCi0jIGdlbmVyYXRlZCB1c2luZyAmIzM0O25mYnBmX2NvbXBpbGUgJiMzOTsoaXAgJmFtcDsmYW1wOyAoaXBbNTRdICZhbXA7IDB4ZjApID09IDB4MzApIHx8Ci0jCQkJCSAgKGlwNiAmYW1wOyZhbXA7IChpcDZbNzRdICZhbXA7IDB4ZjApID09IDB4MzApJiMzOTsmIzM0OwotQ0JQRl9NUFRDUF9TVUJPUFRJT05fQUREX0FERFI9JiMzNDsxNCwKLQkJCSAgICAgICA0OCAwIDAgMCwKLQkJCSAgICAgICA4NCAwIDAgMjQwLAotCQkJICAgICAgIDIxIDAgMyA2NCwKLQkJCSAgICAgICA0OCAwIDAgNTQsCi0JCQkgICAgICAgODQgMCAwIDI0MCwKLQkJCSAgICAgICAyMSA2IDcgNDgsCi0JCQkgICAgICAgNDggMCAwIDAsCi0JCQkgICAgICAgODQgMCAwIDI0MCwKLQkJCSAgICAgICAyMSAwIDQgOTYsCi0JCQkgICAgICAgNDggMCAwIDc0LAotCQkJICAgICAgIDg0IDAgMCAyNDAsCi0JCQkgICAgICAgMjEgMCAxIDQ4LAotCQkJICAgICAgIDYgMCAwIDY1NTM1LAotCQkJICAgICAgIDYgMCAwIDAmIzM0OwotCi0jIElQdjQ6IFRDUCBoZHIgb2YgNDhCLCBhIGZpcnN0IHN1Ym9wdGlvbiBvZiAxMkIgKERBQ0s4KSwgdGhlIFJNX0FERFIgc3Vib3B0aW9uCi0jIGdlbmVyYXRlZCB1c2luZyAmIzM0O25mYnBmX2NvbXBpbGUgJiMzOTsoaXBbMzJdICZhbXA7IDB4ZjApID09IDB4YzAgJmFtcDsmYW1wOyBpcFs1M10gPT0gMHgwYyAmYW1wOyZhbXA7Ci0jCQkJCSAgKGlwWzY2XSAmYW1wOyAweGYwKSA9PSAweDQwJiMzOTsmIzM0OwotQ0JQRl9NUFRDUF9TVUJPUFRJT05fUk1fQUREUj0mIzM0OzEzLAotCQkJICAgICAgNDggMCAwIDAsCi0JCQkgICAgICA4NCAwIDAgMjQwLAotCQkJICAgICAgMjEgMCA5IDY0LAotCQkJICAgICAgNDggMCAwIDMyLAotCQkJICAgICAgODQgMCAwIDI0MCwKLQkJCSAgICAgIDIxIDAgNiAxOTIsCi0JCQkgICAgICA0OCAwIDAgNTMsCi0JCQkgICAgICAyMSAwIDQgMTIsCi0JCQkgICAgICA0OCAwIDAgNjYsCi0JCQkgICAgICA4NCAwIDAgMjQwLAotCQkJICAgICAgMjEgMCAxIDY0LAotCQkJICAgICAgNiAwIDAgNjU1MzUsCi0JCQkgICAgICA2IDAgMCAwJiMzNDsKLQogaW5pdF9wYXJ0aWFsKCkKIHsKIAljYXBvdXQ9JChta3RlbXApCkBAIC0xNDcsNiAmIzQzOzExMCwxNCBAQCBpbml0X3BhcnRpYWwoKQogCQlpZiAkY2hlY2tzdW07IHRoZW4KIAkJCWlwIG5ldG5zIGV4ZWMgJG5ldG5zIHN5c2N0bCAtcSBuZXQubXB0Y3AuY2hlY2tzdW1fZW5hYmxlZD0xCiAJCWZpCiYjNDM7CiYjNDM7CQlpcCBuZXRucyBleGVjICYjMzQ7JG5ldG5zJiMzNDsgbmZ0IGFkZCB0YWJsZSBpbmV0IG1qb2luX3RhYmxlCiYjNDM7CQlpcCBuZXRucyBleGVjICYjMzQ7JG5ldG5zJiMzNDsgbmZ0IGFkZCBjaGFpbiBpbmV0IG1qb2luX3RhYmxlIGlucHV0IFwKJiM0MzsJCQkmIzM5O3sgdHlwZSBmaWx0ZXIgaG9vayBpbnB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0mIzM5OwomIzQzOwkJaXAgbmV0bnMgZXhlYyAmIzM0OyRuZXRucyYjMzQ7IG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgXAomIzQzOwkJCSYjMzk7eyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0mIzM5OwomIzQzOwkJaXAgbmV0bnMgZXhlYyAmIzM0OyRuZXRucyYjMzQ7IG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBtYW5nbGUgXAomIzQzOwkJCSYjMzk7eyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBtYW5nbGU7IHBvbGljeSBhY2NlcHQ7IH0mIzM5OwogCWRvbmUKIAogCWNoZWNrX2ludmVydD0wCkBAIC0xOTYsNyAmIzQzOzE2Nyw3IEBAIGluaXQoKSB7CiAKIAltcHRjcF9saWJfY2hlY2tfbXB0Y3AKIAltcHRjcF9saWJfY2hlY2tfa2FsbHN5bXMKLQltcHRjcF9saWJfY2hlY2tfdG9vbHMgaXAgdGMgc3MgJiMzNDske2lwdGFibGVzfSYjMzQ7ICYjMzQ7JHtpcDZ0YWJsZXN9JiMzNDsKJiM0MzsJbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIHRjIHNzIG5mdAogCiAJc2luPSQobWt0ZW1wKQogCXNvdXQ9JChta3RlbXApCkBAIC0zODEsMjMgJiM0MzszNTIsMTggQEAgcmVzZXRfd2l0aF9jb29raWVzKCkKIHJlc2V0X3dpdGhfYWRkX2FkZHJfdGltZW91dCgpCiB7CiAJbG9jYWwgaXA9JiMzNDskezI6LTR9JiMzNDsKLQlsb2NhbCB0YWJsZXMKIAogCXJlc2V0ICYjMzQ7JHsxfSYjMzQ7IHx8IHJldHVybiAxCiAKLQl0YWJsZXM9JiMzNDske2lwdGFibGVzfSYjMzQ7Ci0JaWYgWyAkaXAgLWVxIDYgXTsgdGhlbgotCQl0YWJsZXM9JiMzNDske2lwNnRhYmxlc30mIzM0OwotCWZpCi0KIAkjIHNldCBhIG1heGltdW0sIHRvIGF2b2lkIHRvbyBsb25nIHRpbWVvdXQgd2l0aCBleHBvbmVudGlhbCBiYWNrb2ZmCiAJaXAgbmV0bnMgZXhlYyAkbnMxIHN5c2N0bCAtcSBuZXQubXB0Y3AuYWRkX2FkZHJfdGltZW91dD0xCiAKLQlpZiAhIGlwIG5ldG5zIGV4ZWMgJG5zMiAkdGFibGVzIC1BIE9VVFBVVCAtcCB0Y3AgXAotCQkJLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcCi0JCQktbSBicGYgLS1ieXRlY29kZSBcCi0JCQkmIzM0OyRDQlBGX01QVENQX1NVQk9QVElPTl9BRERfQUREUiYjMzQ7IFwKLQkJCS1qIERST1A7IHRoZW4KJiM0MzsKJiM0MzsJbmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgJiMzNDskbnMyJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFwKJiM0MzsJCWluZXQgbWpvaW5fdGFibGUgb3V0cHV0IG1ldGEgbmZwcm90byBpcHYke2lwfSBcCiYjNDM7CQl0Y3Agb3B0aW9uIG1wdGNwIHN1YnR5cGUgYWRkLWFkZHIgXAomIzQzOwkJZHJvcCB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OykKJiM0MzsJaWYgWyAteiAmIzM0OyRuZnRfaGFuZGxlJiMzNDsgXTsgdGhlbgogCQltYXJrX2FzX3NraXBwZWQgJiMzNDt1bmFibGUgdG8gc2V0IHRoZSAmIzM5O2FkZCBhZGRyJiMzOTsgcnVsZSYjMzQ7CiAJCXJldHVybiAxCiAJZmkKQEAgLTQ1MCwyMiAmIzQzOzQxNiwxNiBAQCBzZXR1cF9mYWlsX3J1bGVzKCkKIAl2YWxpZGF0ZV9jaGVja3N1bT10cnVlCiAJbG9jYWwgaT0mIzM0OyQxJiMzNDsKIAlsb2NhbCBpcD0mIzM0OyR7MjotNH0mIzM0OwotCWxvY2FsIHRhYmxlcwogCi0JdGFibGVzPSYjMzQ7JHtpcHRhYmxlc30mIzM0OwotCWlmIFsgJGlwIC1lcSA2IF07IHRoZW4KLQkJdGFibGVzPSYjMzQ7JHtpcDZ0YWJsZXN9JiMzNDsKJiM0MzsJbmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgJiMzNDskbnMyJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFwKJiM0MzsJCWluZXQgbWpvaW5fdGFibGUgbWFuZ2xlIG9pZm5hbWUgbnMyZXRoJGkgXAomIzQzOwkJbWV0YSBuZnByb3RvIGlwdiR7aXB9IG1ldGEgbDRwcm90byB0Y3AgXAomIzQzOwkJbWV0YSBsZW5ndGggMTUwLTk5OTkgbnVtZ2VuIGluYyBtb2QgOTk5OTkgPT0gMSBcCiYjNDM7CQltZXRhIG1hcmsgc2V0IDQyIHwgaGVhZCAtbjEgfCBhd2sgJiMzOTt7cHJpbnQgJE5GfSYjMzk7KQomIzQzOwlpZiBbIC16ICYjMzQ7JG5mdF9oYW5kbGUmIzM0OyBdOyB0aGVuCiYjNDM7CQlyZXR1cm4gJHtLU0ZUX1NLSVB9CiAJZmkKIAotCWlwIG5ldG5zIGV4ZWMgJG5zMiAkdGFibGVzIFwKLQkJLXQgbWFuZ2xlIFwKLQkJLUEgT1VUUFVUIFwKLQkJLW8gbnMyZXRoJGkgXAotCQktcCB0Y3AgXAotCQktbSBsZW5ndGggLS1sZW5ndGggMTUwOjk5OTkgXAotCQktbSBzdGF0aXN0aWMgLS1tb2RlIG50aCAtLXBhY2tldCAxIC0tZXZlcnkgOTk5OTkgXAotCQktaiBNQVJLIC0tc2V0LW1hcmsgNDIgfHwgcmV0dXJuICR7S1NGVF9TS0lQfQotCiAJdGMgLW4gJG5zMiBxZGlzYyBhZGQgZGV2IG5zMmV0aCRpIGNsc2FjdCB8fCByZXR1cm4gJHtLU0ZUX1NLSVB9CiAJdGMgLW4gJG5zMiBmaWx0ZXIgYWRkIGRldiBuczJldGgkaSBlZ3Jlc3MgXAogCQlwcm90b2NvbCBpcCBwcmlvIDEwMDAgXApAQCAtNTE1LDExICYjNDM7NDc1LDExIEBAIHJlc2V0X3dpdGhfdGNwX2ZpbHRlcigpCiAJbG9jYWwgdGFyZ2V0PSYjMzQ7JHszfSYjMzQ7CiAJbG9jYWwgY2hhaW49JiMzNDskezQ6LUlOUFVUfSYjMzQ7CiAKLQlpZiAhIGlwIG5ldG5zIGV4ZWMgJiMzNDske25zfSYjMzQ7ICR7aXB0YWJsZXN9IFwKLQkJCS1BICYjMzQ7JHtjaGFpbn0mIzM0OyBcCi0JCQktcyAmIzM0OyR7c3JjfSYjMzQ7IFwKLQkJCS1wIHRjcCBcCi0JCQktaiAmIzM0OyR7dGFyZ2V0fSYjMzQ7OyB0aGVuCiYjNDM7CW5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjICYjMzQ7JG5zJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFwKJiM0MzsJCWluZXQgbWpvaW5fdGFibGUgJiMzNDske2NoYWluLCx9JiMzNDsgXAomIzQzOwkJaXAgc2FkZHIgJiMzNDt7ICR7c3JjfSB9JiMzNDsgbWV0YSBsNHByb3RvIHRjcCAmIzM0OyR7dGFyZ2V0LCx9JiMzNDsgfCBcCiYjNDM7CQloZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspCiYjNDM7CWlmIFsgLXogJiMzNDskbmZ0X2hhbmRsZSYjMzQ7IF07IHRoZW4KIAkJbWFya19hc19za2lwcGVkICYjMzQ7dW5hYmxlIHRvIHNldCB0aGUgZmlsdGVyIHJ1bGVzJiMzNDsKIAkJcmV0dXJuIDEKIAlmaQpAQCAtNDMxNSwxMCAmIzQzOzQyNzUsMTIgQEAgdXNlcnNwYWNlX3Rlc3RzKCkKIAogCQkjIGZvcmNlIHF1aWNrIGxvc3MKIAkJaXAgbmV0bnMgZXhlYyAkbnMyIHN5c2N0bCAtcSBuZXQuaXB2NC50Y3Bfc3luX3JldHJpZXM9MQotCQlpZiBpcCBuZXRucyBleGVjICYjMzQ7JHtuczF9JiMzNDsgJHtpcHRhYmxlc30gLUEgSU5QVVQgLXMgJiMzNDsxMC4wLjEuMiYjMzQ7IFwKLQkJICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQgJmFtcDsmYW1wOwotCQkgICBpcCBuZXRucyBleGVjICYjMzQ7JHtuczJ9JiMzNDsgJHtpcHRhYmxlc30gLUEgSU5QVVQgLWQgJiMzNDsxMC4wLjEuMiYjMzQ7IFwKLQkJICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQ7IHRoZW4KJiM0MzsJCWlmIGlwIG5ldG5zIGV4ZWMgJiMzNDske25zMX0mIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBcCiYjNDM7CQkJaW5wdXQgaXAgc2FkZHIgJiMzNDsxMC4wLjEuMiYjMzQ7IG1ldGEgbDRwcm90byB0Y3AgXAomIzQzOwkJCXRjcCBvcHRpb24gbXB0Y3AgZXhpc3RzIHJlamVjdCB3aXRoIHRjcCByZXNldCAmYW1wOyZhbXA7CiYjNDM7CQkgICBpcCBuZXRucyBleGVjICYjMzQ7JHtuczJ9JiMzNDsgbmZ0IGFkZCBydWxlIGluZXQgbWpvaW5fdGFibGUgXAomIzQzOwkJCWlucHV0IGlwIGRhZGRyICYjMzQ7MTAuMC4xLjImIzM0OyBtZXRhIGw0cHJvdG8gdGNwIFwKJiM0MzsJCQl0Y3Agb3B0aW9uIG1wdGNwIGV4aXN0cyByZWplY3Qgd2l0aCB0Y3AgcmVzZXQ7IHRoZW4KIAkJCXdhaXRfZXZlbnQgbnMyIE1QVENQX0xJQl9FVkVOVF9TVUJfQ0xPU0VEIDEKIAkJCXdhaXRfZXZlbnQgbnMxIE1QVENQX0xJQl9FVkVOVF9TVUJfQ0xPU0VEIDEKIAkJCWNoa19zdWJmbG93c190b3RhbCAxIDEKQEAgLTQzOTMsNyAmIzQzOzQzNTUsNyBAQCBlbmRwb2ludF90ZXN0cygpCiAJCWNoa19zdWJmbG93X25yICYjMzQ7YWZ0ZXIgbmV3IHJlamVjdCYjMzQ7IDIKIAkJY2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMSBzdWJmbG93cyAxCiAKLQkJaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyAmIzM0OzEwLjAuMy4yJiMzNDsgLXAgdGNwIC1qIFJFSkVDVAomIzQzOwkJaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7IG5mdCBkZWxldGUgcnVsZSBpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgJiMzNDskbmZ0X2hhbmRsZSYjMzQ7CiAJCXBtX25sX2RlbF9lbmRwb2ludCAkbnMyIDMgMTAuMC4zLjIKIAkJcG1fbmxfYWRkX2VuZHBvaW50ICRuczIgMTAuMC4zLjIgaWQgMyBmbGFncyBzdWJmbG93CiAJCXdhaXRfbXBqIDMKQEAgLTQ0MDIsMTIgJiM0Mzs0MzY0LDEwIEBAIGVuZHBvaW50X3Rlc3RzKCkKIAogCQkjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0CiAJCSMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvdwotCQlsb2NhbCBpcHQ9MQotCQlpcCBuZXRucyBleGVjICYjMzQ7JHtuczJ9JiMzNDsgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zICYjMzQ7MTAuMC4xLjImIzM0OyBcCi0JCQktcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcCi0JCQktbSBicGYgLS1ieXRlY29kZSBcCi0JCQkmIzM0OyRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSJiMzNDsgXAotCQkJLWogRFJPUCB8fCBpcHQ9MAomIzQzOwkJbmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgJiMzNDske25zMn0mIzM0OyBuZnQgLWUgLS1oYW5kbGUgaW5zZXJ0IHJ1bGUgXAomIzQzOwkJCWluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4yIG1ldGEgbDRwcm90byB0Y3AgXAomIzQzOwkJCXRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcCiYjNDM7CQkJZHJvcCB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OykKIAkJbG9jYWwgaQogCQlmb3IgaSBpbiAkKHNlcSAzKTsgZG8KIAkJCXBtX25sX2RlbF9lbmRwb2ludCAkbnMyIDEgMTAuMC4xLjIKQEAgLTQ0MjAsNyAmIzQzOzQzODAsOCBAQCBlbmRwb2ludF90ZXN0cygpCiAJCQljaGtfc3ViZmxvd19uciAmIzM0O2FmdGVyIHJlLWFkZCBpZCAwICgkaSkmIzM0OyAzCiAJCQljaGtfbXB0Y3BfaW5mbyBzdWJmbG93cyAzIHN1YmZsb3dzIDMKIAkJZG9uZQotCQlbICR7aXB0fSA9IDEgXSAmYW1wOyZhbXA7IGlwIG5ldG5zIGV4ZWMgJiMzNDske25zMn0mIzM0OyAke2lwdGFibGVzfSAtRCBPVVRQVVQgMQomIzQzOwkJWyAtbiAmIzM0OyR7bmZ0X2hhbmRsZX0mIzM0OyBdICZhbXA7JmFtcDsgaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7IG5mdCBkZWxldGUgcnVsZSBcCiYjNDM7CQkJaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlICYjMzQ7JHtuZnRfaGFuZGxlfSYjMzQ7CiAKIAkJbXB0Y3BfbGliX2tpbGxfZ3JvdXBfd2FpdCAkdGVzdHNfcGlkCiAKQEAgLTQ0ODIsMTggJiM0Mzs0NDQzLDE3IEBAIGVuZHBvaW50X3Rlc3RzKCkKIAogCQkjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0CiAJCSMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvdwotCQlsb2NhbCBpcHQ9MQotCQlpcCBuZXRucyBleGVjICYjMzQ7JHtuczF9JiMzNDsgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zICYjMzQ7MTAuMC4xLjEmIzM0OyBcCi0JCQktcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcCi0JCQktbSBicGYgLS1ieXRlY29kZSBcCi0JCQkmIzM0OyRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSJiMzNDsgXAotCQkJLWogRFJPUCB8fCBpcHQ9MAomIzQzOwkJbmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgJiMzNDske25zMX0mIzM0OyBuZnQgLWUgLS1oYW5kbGUgaW5zZXJ0IHJ1bGUgXAomIzQzOwkJCWluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4xIG1ldGEgbDRwcm90byB0Y3AgXAomIzQzOwkJCXRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcCiYjNDM7CQkJZHJvcCB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OykKIAkJcG1fbmxfZGVsX2VuZHBvaW50ICRuczEgNDIgMTAuMC4xLjEKIAkJc2xlZXAgMC41CiAJCWNoa19zdWJmbG93X25yICYjMzQ7YWZ0ZXIgZGVsZXRlIElEIDAmIzM0OyAyCiAJCWNoa19tcHRjcF9pbmZvIHN1YmZsb3dzIDIgc3ViZmxvd3MgMgogCQljaGtfbXB0Y3BfaW5mbyBhZGRfYWRkcl9zaWduYWwgMiBhZGRfYWRkcl9hY2NlcHRlZCAyCi0JCVsgJHtpcHR9ID0gMSBdICZhbXA7JmFtcDsgaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMxfSYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAxCiYjNDM7CQlbIC1uICYjMzQ7JHtuZnRfaGFuZGxlfSYjMzQ7IF0gJmFtcDsmYW1wOyBpcCBuZXRucyBleGVjICYjMzQ7JHtuczF9JiMzNDsgbmZ0IGRlbGV0ZSBydWxlIFwKJiM0MzsJCQlpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgJiMzNDske25mdF9oYW5kbGV9JiMzNDsKIAogCQlwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMSAxMC4wLjEuMSBpZCA0MiBmbGFncyBzaWduYWwKIAkJd2FpdF9tcGogNApAQCAtNDU1NSw3ICYjNDM7NDUxNSw3IEBAIGVuZHBvaW50X3Rlc3RzKCkKIAkJcG1fbmxfZmx1c2hfZW5kcG9pbnQgJG5zMgogCQlwbV9ubF9mbHVzaF9lbmRwb2ludCAkbnMxCiAJCXdhaXRfcm1fYWRkciAkbnMyIDAKLQkJaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyAmIzM0OzEwLjAuMy4yJiMzNDsgLXAgdGNwIC1qIFJFSkVDVAomIzQzOwkJaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7IG5mdCBkZWxldGUgcnVsZSBpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgJiMzNDskbmZ0X2hhbmRsZSYjMzQ7CiAJCXBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvdwogCQl3YWl0X21waiAxCiAJCXBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMy4xIGlkIDIgZmxhZ3Mgc2lnbmFsCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2xpYi5zaAppbmRleCA1ZWY2MDMzNzc1Yzg2Li5lYmE2OTAzMjMzY2NmIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9saWIuc2gKQEAgLTUyNCw3ICYjNDM7NTI0LDcgQEAgbXB0Y3BfbGliX2NoZWNrX3Rvb2xzKCkgewogCQkJCWV4aXQgJHtLU0ZUX1NLSVB9CiAJCQlmaQogCQkJOzsKLQkJJiMzNDtpcHRhYmxlcyYjMzQ7KiB8ICYjMzQ7aXA2dGFibGVzJiMzNDsqKQomIzQzOwkJJiMzNDtpcHRhYmxlcyYjMzQ7KiB8ICYjMzQ7aXA2dGFibGVzJiMzNDsqIHwgJiMzNDtuZnQmIzM0OyopCiAJCQlpZiAhICYjMzQ7JHt0b29sfSYjMzQ7IC1WICZhbXA7Jmd0OyAvZGV2L251bGw7IHRoZW4KIAkJCQltcHRjcF9saWJfcHJfc2tpcCAmIzM0O0NvdWxkIG5vdCBydW4gYWxsIHRlc3RzIHdpdGhvdXQgJHt0b29sfSYjMzQ7CiAJCQkJZXhpdCAke0tTRlRfU0tJUH0KZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2gKaW5kZXggZTg1MGE4NzQyOWI2MS4uNGQwYWYyYmY5NDg0MCAxMDA3NTUKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2gKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2gKQEAgLTE1LDggJiM0MzsxNSw2IEBAIGNpbj0mIzM0OyYjMzQ7CiBjb3V0PSYjMzQ7JiMzNDsKIHRpbWVvdXRfcG9sbD0zMAogdGltZW91dF90ZXN0PSQoKHRpbWVvdXRfcG9sbCAqIDIgJiM0MzsgMSkpCi1pcHRhYmxlcz0mIzM0O2lwdGFibGVzJiMzNDsKLWlwNnRhYmxlcz0mIzM0O2lwNnRhYmxlcyYjMzQ7CiAKIG5zMT0mIzM0OyYjMzQ7CiBuczI9JiMzNDsmIzM0OwpAQCAtNDksMTcgJiM0Mzs0NywyMyBAQCBhZGRfbWFya19ydWxlcygpCiAJbG9jYWwgbnM9JDEKIAlsb2NhbCBtPSQyCiAKLQlsb2NhbCB0Ci0JZm9yIHQgaW4gJHtpcHRhYmxlc30gJHtpcDZ0YWJsZXN9OyBkbwotCQkjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0cwotCQlpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tc3luIC1tIG1hcmsgLS1tYXJrICRtIC1qIEFDQ0VQVAotCi0JCSMgUlNUIHBhY2tldHMgbWlnaHQgYmUgaGFuZGxlZCBieSBhIGludGVybmFsIGR1bW15IHNvY2tldAotCQlpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tdGNwLWZsYWdzIFJTVCBSU1QgLW0gbWFyayAtLW1hcmsgMCAtaiBBQ0NFUFQKLQotCQlpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC1tIG1hcmsgLS1tYXJrICRtIC1qIEFDQ0VQVAotCQlpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC1tIG1hcmsgLS1tYXJrIDAgLWogRFJPUAotCWRvbmUKJiM0MzsJaXAgbmV0bnMgZXhlYyAmIzM0OyRucyYjMzQ7IG5mdCBhZGQgdGFibGUgaW5ldCBtc29ja190YWJsZQomIzQzOwlpcCBuZXRucyBleGVjICYjMzQ7JG5zJiMzNDsgbmZ0IGFkZCBjaGFpbiBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcCiYjNDM7CQkmIzM5O3sgdHlwZSBmaWx0ZXIgaG9vayBvdXRwdXQgcHJpb3JpdHkgMDsgcG9saWN5IGFjY2VwdDsgfSYjMzk7CiYjNDM7CiYjNDM7CSMganVzdCB0byBkZWJ1ZzogY2hlY2sgd2UgaGF2ZSBtdWx0aXBsZSBzdWJmbG93cyBjb25uZWN0aW9uIHJlcXVlc3RzCiYjNDM7CWlwIG5ldG5zIGV4ZWMgJiMzNDskbnMmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXAomIzQzOwkJIG1ldGEgbWFyayAmIzM0OyRtJiMzNDsgdGNwIGZsYWdzIHN5biBhY2NlcHQKJiM0MzsJIyBSU1QgcGFja2V0cyBtaWdodCBiZSBoYW5kbGVkIGJ5IGEgaW50ZXJuYWwgZHVtbXkgc29ja2V0CiYjNDM7CWlwIG5ldG5zIGV4ZWMgJiMzNDskbnMmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXAomIzQzOwkJbWV0YSBtYXJrIDAgdGNwIGZsYWdzIHJzdCBhY2NlcHQKJiM0MzsJaXAgbmV0bnMgZXhlYyAmIzM0OyRucyYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcCiYjNDM7CQltZXRhIG1hcmsgJiMzNDskbSYjMzQ7IG1ldGEgbDRwcm90byB0Y3AgYWNjZXB0CiYjNDM7CiYjNDM7CWlwIG5ldG5zIGV4ZWMgJiMzNDskbnMmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXAomIzQzOwkJbWV0YSBuZnByb3RvIGlwdjQgbWV0YSBtYXJrIDAgbWV0YSBsNHByb3RvIHRjcCBjb3VudGVyIGRyb3AKJiM0MzsJaXAgbmV0bnMgZXhlYyAmIzM0OyRucyYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcCiYjNDM7CQltZXRhIG5mcHJvdG8gaXB2NiBtZXRhIG1hcmsgMCBtZXRhIGw0cHJvdG8gdGNwIGNvdW50ZXIgZHJvcAogfQogCiBpbml0KCkKQEAgLTEwNSwzMyAmIzQzOzEwOSwyMyBAQCBjbGVhbnVwKCkKIAogbXB0Y3BfbGliX2NoZWNrX21wdGNwCiBtcHRjcF9saWJfY2hlY2tfa2FsbHN5bXMKLW1wdGNwX2xpYl9jaGVja190b29scyBpcCAmIzM0OyR7aXB0YWJsZXN9JiMzNDsgJiMzNDske2lwNnRhYmxlc30mIzM0OwomIzQzO21wdGNwX2xpYl9jaGVja190b29scyBpcCBuZnQKIAogY2hlY2tfbWFyaygpCiB7CiAJbG9jYWwgbnM9JDEKIAlsb2NhbCBhZj0kMgogCi0JbG9jYWwgdGFibGVzPSR7aXB0YWJsZXN9CiYjNDM7CWRyb3A9JChpcCBuZXRucyBleGVjICYjMzQ7JG5zJiMzNDsgbmZ0IGxpc3QgdGFibGUgaW5ldCBtc29ja190YWJsZSB8IFwKJiM0MzsJCWdyZXAgJiMzNDtpcHYkYWYuKnBhY2tldHMuKmRyb3AmIzM0OyB8IGF3ayAmIzM5O3twcmludCAkKE5GLTMpfSYjMzk7KQogCi0JaWYgWyAkYWYgLWVxIDYgXTt0aGVuCi0JCXRhYmxlcz0ke2lwNnRhYmxlc30KJiM0MzsJaWYgWyAmIzM0OyRkcm9wJiMzNDsgLW5lIDAgXTsgdGhlbgomIzQzOwkJbXB0Y3BfbGliX3ByX2ZhaWwgJiMzNDtnb3QgJGRyb3AgcGt0IGRyb3BzIGluIG5zICRucyBJUHZ7JGFmfSB0YWJsZXMsJiMzNDsgXAomIzQzOwkJCQkgICYjMzQ7bm90IDAgLSBub3QgYWxsIGV4cGVjdGVkIHBhY2tldHMgbWFya2VkJiMzNDsKJiM0MzsJCXJldD0ke0tTRlRfRkFJTH0KJiM0MzsJCXJldHVybiAxCiAJZmkKIAotCWxvY2FsIGNvdW50ZXJzIHZhbHVlcwotCWNvdW50ZXJzPSQoaXAgbmV0bnMgZXhlYyAkbnMgJHRhYmxlcyAtdiAtTCBPVVRQVVQgfCBncmVwIERST1ApCi0JdmFsdWVzPSR7Y291bnRlcnMlRFJPUCp9Ci0KLQlsb2NhbCB2Ci0JZm9yIHYgaW4gJHZhbHVlczsgZG8KLQkJaWYgWyAkdiAtbmUgMCBdOyB0aGVuCi0JCQltcHRjcF9saWJfcHJfZmFpbCAmIzM0O2dvdCAkdGFibGVzICR2YWx1ZXMgaW4gbnMgJG5zLCYjMzQ7IFwKLQkJCQkJICAmIzM0O25vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZCYjMzQ7Ci0JCQlyZXQ9JHtLU0ZUX0ZBSUx9Ci0JCQlyZXR1cm4gMQotCQlmaQotCWRvbmUKLQogCXJldHVybiAwCiB9CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDIgMTk6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNzE5OQoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDIxMQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgVGhpcyBQYXRjaCBTZXJpZXMqKgoKT2theSwgbGV0JiMzOTtzIGRpdmUgaW50byB0aGlzLiBNeSBpbml0aWFsIGltcHJlc3Npb24gaXMgdGhhdCB0aGlzIHBhdGNoIHNlcmllcyBpcyBmb2N1c2VkIG9uIHRoZSBtdWx0aS1wYXRoIFRDUCAoTVBUQ1ApIHNlbGYtdGVzdHMuIFRoZSBkaWZmIG1lbnRpb25zIG1vZGlmaWNhdGlvbnMgdG8gYSBudW1iZXIgb2YgZmlsZXMgd2l0aGluIHRoZSBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2AgZGlyZWN0b3J5LiBCYXNlZCBvbiB0aGUgZmlsZSBwYXRocyBsaXN0ZWQsIHRoaXMgaW1tZWRpYXRlbHkgc3VnZ2VzdHMgdG8gbWUgdGhhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGVuaGFuY2VtZW50cyBvciBmaXhlcyB0byB0aGUgZXhpc3RpbmcgTVBUQ1AgdGVzdGluZyBpbmZyYXN0cnVjdHVyZSwgcmF0aGVyIHRoYW4gY29yZSBrZXJuZWwgY2hhbmdlcy4gSSBuZWVkIHRvIGNvbmZpcm0gdGhlcmUmIzM5O3Mgbm90aGluZyBvdXRzaWRlIHRoZSBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2AgZGlyZWN0b3J5LCB3aGljaCB3b3VsZCBpbnZvbHZlIGFjdHVhbCBrZXJuZWwgY29kZS4gQXMgYW4gZXhwZXJ0LCB0aGF0IGlzIHRoZSBtb3N0IGltcG9ydGFudCBjaGVjay4gSXQgd291bGQgYmUgYSBodWdlIGNvbmNlcm4gdG8gc2tpcCB0aGF0LiBTbywgSSBuZWVkIHRvIHZlcmlmeSB0aGF0IHRoaXMgY29tbWl0IGlzICpleGNsdXNpdmVseSogdG91Y2hpbmcgdGVzdCBzY3JpcHRzLCBjb25maWd1cmF0aW9ucywgYW5kIHJlbGF0ZWQgdGVzdGluZyBjb21wb25lbnRzLCBidXQgbm90aGluZyB0byBkbyB3aXRoIGBuZXQvYCwgYGRyaXZlcnMvYCwgYGZzL2AsIGBrZXJuZWwvYCwgb3IgYGluY2x1ZGUvYC4gSSYjMzk7bGwgYmUgbG9va2luZyBjYXJlZnVsbHkgYXQgdGhlIGNvbW1pdCBjb250ZW50IGZvciBhbnl0aGluZyB0aGF0IG1heSBjb250cmFkaWN0IHRoYXQuIEkmIzM5O2xsIG5lZWQgYSBmdWxsIHBpY3R1cmUgdG8gdW5kZXJzdGFuZCBleGFjdGx5IHdoYXQgaXMgYmVpbmcgdGVzdGVkIGFuZCBpbXByb3ZlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wMiAxOTozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuZnRfaGFuZGxlJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTUwPW5yX2JsYW5rPTZcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjUxOm5mdF9oYW5kbGU9XCYjMzQ7XCYjMzQ7XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC01Mi1cbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaD0zNTI9cmVzZXRfd2l0aF9hZGRfYWRkcl90aW1lb3V0KClcbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC0zNjEtXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDozNjI6XHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcJiMzNDskbnMyXCYjMzQ7IG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtMzYzLVx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBtZXRhIG5mcHJvdG8gaXB2JHtpcH0gXFxcbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC0zNjUtXHRcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDozNjY6XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTM2Ny1cdFx0bWFya19hc19za2lwcGVkIFwmIzM0O3VuYWJsZSB0byBzZXQgdGhlICYjMzk7YWRkIGFkZHImIzM5OyBydWxlXCYjMzQ7XG4tLVxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g9NDEzPXNldHVwX2ZhaWxfcnVsZXMoKVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQxOS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQyMDpcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyRuczJcJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MjEtXHRcdGluZXQgbWpvaW5fdGFibGUgbWFuZ2xlIG9pZm5hbWUgbnMyZXRoJGkgXFxcbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MjQtXHRcdG1ldGEgbWFyayBzZXQgNDIgfCBoZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MjU6XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQyNi1cdFx0cmV0dXJuICR7S1NGVF9TS0lQfVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTQ2OD1yZXNldF93aXRoX3RjcF9maWx0ZXIoKVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ3Ny1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQ3ODpcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyRuc1wmIzM0OyBuZnQgLWUgLS1oYW5kbGUgYWRkIHJ1bGUgXFxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ3OS1cdFx0aW5ldCBtam9pbl90YWJsZSBcJiMzNDske2NoYWluLCx9XCYjMzQ7IFxcXG4tLVxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDgxLVx0XHRoZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0ODI6XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ4My1cdFx0bWFya19hc19za2lwcGVkIFwmIzM0O3VuYWJsZSB0byBzZXQgdGhlIGZpbHRlciBydWxlc1wmIzM0O1xuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTQyOTY9ZW5kcG9pbnRfdGVzdHMoKVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQzNTctXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MzU4Olx0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzU5LVx0XHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMiAzIDEwLjAuMy4yXG4tLVxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDM2Ni1cdFx0IyBhbGxvdyB0aGUgcmVzdCB0byBxdWlja2x5IGFuZCBjbGVhbmx5IGNsb3NlIHRoZSBzdWJmbG93XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MzY3Olx0XHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzY4LVx0XHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4yIG1ldGEgbDRwcm90byB0Y3AgXFxcbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzgyLVx0XHRkb25lXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MzgzOlx0XHRbIC1uIFwmIzM0OyR7bmZ0X2hhbmRsZX1cJiMzNDsgXSBcdTAwMjZcdTAwMjYgaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgbmZ0IGRlbGV0ZSBydWxlIFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0Mzg0Olx0XHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcJiMzNDske25mdF9oYW5kbGV9XCYjMzQ7XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00Mzg1LVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ0NDUtXHRcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDQ0NjpcdFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczF9XCYjMzQ7IG5mdCAtZSAtLWhhbmRsZSBpbnNlcnQgcnVsZSBcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ0Ny1cdFx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBpcCBzYWRkciAxMC4wLjEuMSBtZXRhIGw0cHJvdG8gdGNwIFxcXG4tLVxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ1NC1cdFx0Y2hrX21wdGNwX2luZm8gYWRkX2FkZHJfc2lnbmFsIDIgYWRkX2FkZHJfYWNjZXB0ZWQgMlxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDQ1NTpcdFx0WyAtbiBcJiMzNDske25mdF9oYW5kbGV9XCYjMzQ7IF0gXHUwMDI2XHUwMDI2IGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczF9XCYjMzQ7IG5mdCBkZWxldGUgcnVsZSBcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDQ1NjpcdFx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXCYjMzQ7JHtuZnRfaGFuZGxlfVwmIzM0O1xudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ1Ny1cbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00NTE3LVx0XHR3YWl0X3JtX2FkZHIgJG5zMiAwXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0NTE4Olx0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00NTE5LVx0XHRwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMiAxMC4wLjMuMiBpZCAzIGZsYWdzIHN1YmZsb3dcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wMiAxOTozNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA5NTUyCgkJCQkJCQlvdXRwdXQ6IDc5CgkJCQkJCQl0aG91Z2h0czogMjQyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQ6IFRoaXMgUGF0Y2ggaXMgTm90IFdvcnRoIEZ1enppbmcqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBjbGVhcmx5IGZvY3VzZWQgb24gdXBkYXRpbmcgdGhlIHNlbGYtdGVzdHMgZm9yIE1QVENQIHdpdGhpbiBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2AuIEl0JiMzOTtzIGFsbCBhYm91dCBtaWdyYXRpbmcgdGhvc2Ugb2xkIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzIGFuZCB0d2Vha2luZyB0aGUgc2VsZnRlc3QgY29uZmlndXJhdGlvbnMuIFRoZSBjcml0aWNhbCB0aGluZyBoZXJlIGlzIHRoYXQgKm5vdGhpbmcqIGluIHRoZSBMaW51eCBrZXJuZWwgaXRzZWxmIGlzIGJlaW5nIHRvdWNoZWQuIE5vIGNvcmUgbG9naWMsIG5vIGRyaXZlcnMsIG5vIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBzdHVmZiDigJMgbm90aGluZyB0aGF0IHdvdWxkIGludHJvZHVjZSBuZXcgYXR0YWNrIHN1cmZhY2VzIGF0IHRoZSBrZXJuZWwgbGV2ZWwuIFRoZXJlZm9yZSwgbXkgaW5pdGlhbCBpbnN0aW5jdCBpcyB0aGF0IHRoaXMgcGF0Y2ggaXNuJiMzOTt0IHNvbWV0aGluZyB3ZSBuZWVkIHRvIHByaW9yaXRpemUgZm9yIGZ1enppbmcuCgpMZXQmIzM5O3MgcXVpY2tseSBydW4gdGhyb3VnaCB0aGUgZXN0YWJsaXNoZWQgZ3VpZGVsaW5lcyB0byBiZSBhYnNvbHV0ZWx5IHN1cmUuIFRoZSBkb2N1bWVudGF0aW9uIHN0YXRlcyB0aGF0IHdlIHNob3VsZCBzZXQgYFdvcnRoRnV6emluZ2AgdG8gYGZhbHNlYCBpZiB0aGUgcGF0Y2ggaW52b2x2ZXMgb25seTogZG9jdW1lbnRhdGlvbiB1cGRhdGVzLCBLY29uZmlnIG1vZGlmaWNhdGlvbnMsIGNvZGUgY29tbWVudHMsIHB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMgbGlrZSBsb2dnaW5nLCBjaGFuZ2VzIHRvIG51bWVyaWNhbCBjb25zdGFudHMvbWFjcm9zIHRoYXQgZG9u4oCZdCBmdW5jdGlvbmFsbHkgY2hhbmdlIGV4ZWN1dGlvbiwgdW5yZWFjaGFibGUgY29kZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG9yIHVzZXJsYW5kIHRvb2xpbmcvc2VsZnRlc3QgbW9kaWZpY2F0aW9ucyAqd2l0aG91dCogY29ycmVzcG9uZGluZyBrZXJuZWwgY2hhbmdlcy4gQmluZ28hIFRoaXMgY2xlYXJseSBmYWxscyB1bmRlciB0aGUgbGFzdCBjcml0ZXJpb24uCgpBbHJpZ2h0LCBzbyB0aGUgdmVyZGljdCBpcyBjbGVhcjogYFdvcnRoRnV6emluZ2AgaXMgYGZhbHNlYC4gVGhhdCBtZWFucyB0aGUgYEZvY3VzU3ltYm9sc2AgYXJyYXkgaXMgZW1wdHksIGFuZCB0aGVyZSBhcmUgbm8gc3BlY2lmaWMgYEVuYWJsZUNvbmZpZ3NgIHJlcXVpcmVkLiBUaGUgcmVhc29uaW5nIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhpcyBpcyBhIHVzZXItc3BhY2Ugc2VsZnRlc3QgdXBkYXRlLCBkZXZvaWQgb2YgZGlyZWN0IGltcGFjdCBvbiBrZXJuZWwgZXhlY3V0aW9uLiBMZXQmIzM5O3MgZ28gYWhlYWQgYW5kIHJlY29yZCB0aGVzZSByZXN1bHRzIHdpdGggYHNldC1yZXN1bHRzYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wMiAxOTozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgdXNlci1zcGFjZSBzZWxmdGVzdCBzY3JpcHRzIGFuZCB0ZXN0IGNvbmZpZ3VyYXRpb25zIGluIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC8gKG1pZ3JhdGluZyBpcHRhYmxlcyBydWxlcyB0byBuZnRhYmxlcyksIHdpdGggbm8gZnVuY3Rpb25hbCBtb2RpZmljYXRpb25zIHRvIHRoZSBMaW51eCBrZXJuZWwgaXRzZWxmLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHNlbGZ0ZXN0IHNjcmlwdHMgYW5kIHRlc3QgY29uZmlndXJhdGlvbnMgaW4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwLyAobWlncmF0aW5nIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzKSwgd2l0aCBubyBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzAyIDE5OjM2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOS0wMlQxOTozNjozOS4wMTE1MzM4NDhaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTU5NTQ2NDEyMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgdXNlci1zcGFjZSBzZWxmdGVzdCBzY3JpcHRzIGFuZCB0ZXN0IGNvbmZpZ3VyYXRpb25zIGluIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC8gKG1pZ3JhdGluZyBpcHRhYmxlcyBydWxlcyB0byBuZnRhYmxlcyksIHdpdGggbm8gZnVuY3Rpb25hbCBtb2RpZmljYXRpb25zIHRvIHRoZSBMaW51eCBrZXJuZWwgaXRzZWxmLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDJUMTk6MzY6MzkuMDExNTM4OTY4WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDI3NjM2NDc3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMWVkNGNhY2E4MDljODM4NTQxNjU0NzNkYmEzYmQyOTZlYzM4YzI1ZVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIFNlcCAyIDE5OjM2OjM3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9jb25maWcgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXFxuaW5kZXggNTkwNTFlZTJhOTg2MC4uMGQwYTc0NGM0Y2E4OSAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2NvbmZpZ1xcbkBAIC0zMCw2ICszMCw5IEBAIENPTkZJR19ORVRfU0NIX05FVEVNPW1cXG4gQ09ORklHX05GX1RBQkxFUz1tXFxuIENPTkZJR19ORl9UQUJMRVNfSU5FVD15XFxuIENPTkZJR19ORlRfQ09NUEFUPW1cXG4rQ09ORklHX05GVF9OVU1HRU49eVxcbitDT05GSUdfTkZUX1JFSkVDVD1tXFxuK0NPTkZJR19ORlRfUkVKRUNUX0lQVjQ9bVxcbiBDT05GSUdfTkZUX1NPQ0tFVD1tXFxuIENPTkZJR19ORlRfVFBST1hZPW1cXG4gQ09ORklHX1NZTl9DT09LSUVTPXlcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxcbmluZGV4IDE4Y2U3MTM2YTJiMGUuLjA1Y2JhZGRiODI2MTYgMTAwNzU1XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2hcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxcbkBAIC0yNiw4ICsyNiw2IEBAIGNhcG91dD1cXFwiXFxcIlxcbiBjYXBwaWQ9XFxcIlxcXCJcXG4gbnMxPVxcXCJcXFwiXFxuIG5zMj1cXFwiXFxcIlxcbi1pcHRhYmxlcz1cXFwiaXB0YWJsZXNcXFwiXFxuLWlwNnRhYmxlcz1cXFwiaXA2dGFibGVzXFxcIlxcbiB0aW1lb3V0X3BvbGw9MzBcXG4gdGltZW91dF90ZXN0PSQoKHRpbWVvdXRfcG9sbCAqIDIgKyAxKSlcXG4gY2FwdHVyZT1mYWxzZVxcbkBAIC01MCw2ICs0OCw3IEBAIGRlY2xhcmUgLUEgZmFpbGVkX3Rlc3RzXFxuIE1QVENQX0xJQl9URVNUX0ZPUk1BVD1cXFwiJTAzdSAlc1xcXFxuXFxcIlxcbiBURVNUX05BTUU9XFxcIlxcXCJcXG4gbnJfYmxhbms9NlxcbituZnRfaGFuZGxlPVxcXCJcXFwiXFxuIFxcbiAjIFRoZXNlIHZhciBhcmUgdXNlZCBvbmx5IGluIHNvbWUgdGVzdHMsIG1ha2Ugc3VyZSB0aGV5IGFyZSBub3QgYWxyZWFkeSBzZXRcXG4gdW5zZXQgRkFJTElOR19MSU5LU1xcbkBAIC05OSw0MiArOTgsNiBAQCB1bnNldCBhZGRfYWRkcl90eF9uclxcbiB1bnNldCBhZGRfYWRkcl9lY2hvX3R4X25yXFxuIHVuc2V0IGFkZF9hZGRyX2Ryb3BfdHhfbnJcXG4gXFxuLSMgZ2VuZXJhdGVkIHVzaW5nIFxcXCJuZmJwZl9jb21waWxlICcoaXAgXFx1MDAyNlxcdTAwMjYgKGlwWzU0XSBcXHUwMDI2IDB4ZjApID09IDB4MzApIHx8XFxuLSNcXHRcXHRcXHRcXHQgIChpcDYgXFx1MDAyNlxcdTAwMjYgKGlwNls3NF0gXFx1MDAyNiAweGYwKSA9PSAweDMwKSdcXFwiXFxuLUNCUEZfTVBUQ1BfU1VCT1BUSU9OX0FERF9BRERSPVxcXCIxNCxcXG4tXFx0XFx0XFx0ICAgICAgIDQ4IDAgMCAwLFxcbi1cXHRcXHRcXHQgICAgICAgODQgMCAwIDI0MCxcXG4tXFx0XFx0XFx0ICAgICAgIDIxIDAgMyA2NCxcXG4tXFx0XFx0XFx0ICAgICAgIDQ4IDAgMCA1NCxcXG4tXFx0XFx0XFx0ICAgICAgIDg0IDAgMCAyNDAsXFxuLVxcdFxcdFxcdCAgICAgICAyMSA2IDcgNDgsXFxuLVxcdFxcdFxcdCAgICAgICA0OCAwIDAgMCxcXG4tXFx0XFx0XFx0ICAgICAgIDg0IDAgMCAyNDAsXFxuLVxcdFxcdFxcdCAgICAgICAyMSAwIDQgOTYsXFxuLVxcdFxcdFxcdCAgICAgICA0OCAwIDAgNzQsXFxuLVxcdFxcdFxcdCAgICAgICA4NCAwIDAgMjQwLFxcbi1cXHRcXHRcXHQgICAgICAgMjEgMCAxIDQ4LFxcbi1cXHRcXHRcXHQgICAgICAgNiAwIDAgNjU1MzUsXFxuLVxcdFxcdFxcdCAgICAgICA2IDAgMCAwXFxcIlxcbi1cXG4tIyBJUHY0OiBUQ1AgaGRyIG9mIDQ4QiwgYSBmaXJzdCBzdWJvcHRpb24gb2YgMTJCIChEQUNLOCksIHRoZSBSTV9BRERSIHN1Ym9wdGlvblxcbi0jIGdlbmVyYXRlZCB1c2luZyBcXFwibmZicGZfY29tcGlsZSAnKGlwWzMyXSBcXHUwMDI2IDB4ZjApID09IDB4YzAgXFx1MDAyNlxcdTAwMjYgaXBbNTNdID09IDB4MGMgXFx1MDAyNlxcdTAwMjZcXG4tI1xcdFxcdFxcdFxcdCAgKGlwWzY2XSBcXHUwMDI2IDB4ZjApID09IDB4NDAnXFxcIlxcbi1DQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSPVxcXCIxMyxcXG4tXFx0XFx0XFx0ICAgICAgNDggMCAwIDAsXFxuLVxcdFxcdFxcdCAgICAgIDg0IDAgMCAyNDAsXFxuLVxcdFxcdFxcdCAgICAgIDIxIDAgOSA2NCxcXG4tXFx0XFx0XFx0ICAgICAgNDggMCAwIDMyLFxcbi1cXHRcXHRcXHQgICAgICA4NCAwIDAgMjQwLFxcbi1cXHRcXHRcXHQgICAgICAyMSAwIDYgMTkyLFxcbi1cXHRcXHRcXHQgICAgICA0OCAwIDAgNTMsXFxuLVxcdFxcdFxcdCAgICAgIDIxIDAgNCAxMixcXG4tXFx0XFx0XFx0ICAgICAgNDggMCAwIDY2LFxcbi1cXHRcXHRcXHQgICAgICA4NCAwIDAgMjQwLFxcbi1cXHRcXHRcXHQgICAgICAyMSAwIDEgNjQsXFxuLVxcdFxcdFxcdCAgICAgIDYgMCAwIDY1NTM1LFxcbi1cXHRcXHRcXHQgICAgICA2IDAgMCAwXFxcIlxcbi1cXG4gaW5pdF9wYXJ0aWFsKClcXG4ge1xcbiBcXHRjYXBvdXQ9JChta3RlbXApXFxuQEAgLTE0Nyw2ICsxMTAsMTQgQEAgaW5pdF9wYXJ0aWFsKClcXG4gXFx0XFx0aWYgJGNoZWNrc3VtOyB0aGVuXFxuIFxcdFxcdFxcdGlwIG5ldG5zIGV4ZWMgJG5ldG5zIHN5c2N0bCAtcSBuZXQubXB0Y3AuY2hlY2tzdW1fZW5hYmxlZD0xXFxuIFxcdFxcdGZpXFxuK1xcbitcXHRcXHRpcCBuZXRucyBleGVjIFxcXCIkbmV0bnNcXFwiIG5mdCBhZGQgdGFibGUgaW5ldCBtam9pbl90YWJsZVxcbitcXHRcXHRpcCBuZXRucyBleGVjIFxcXCIkbmV0bnNcXFwiIG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBpbnB1dCBcXFxcXFxuK1xcdFxcdFxcdCd7IHR5cGUgZmlsdGVyIGhvb2sgaW5wdXQgcHJpb3JpdHkgZmlsdGVyOyBwb2xpY3kgYWNjZXB0OyB9J1xcbitcXHRcXHRpcCBuZXRucyBleGVjIFxcXCIkbmV0bnNcXFwiIG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHRcXHQneyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0nXFxuK1xcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiRuZXRuc1xcXCIgbmZ0IGFkZCBjaGFpbiBpbmV0IG1qb2luX3RhYmxlIG1hbmdsZSBcXFxcXFxuK1xcdFxcdFxcdCd7IHR5cGUgZmlsdGVyIGhvb2sgb3V0cHV0IHByaW9yaXR5IG1hbmdsZTsgcG9saWN5IGFjY2VwdDsgfSdcXG4gXFx0ZG9uZVxcbiBcXG4gXFx0Y2hlY2tfaW52ZXJ0PTBcXG5AQCAtMTk2LDcgKzE2Nyw3IEBAIGluaXQoKSB7XFxuIFxcbiBcXHRtcHRjcF9saWJfY2hlY2tfbXB0Y3BcXG4gXFx0bXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXFxuLVxcdG1wdGNwX2xpYl9jaGVja190b29scyBpcCB0YyBzcyBcXFwiJHtpcHRhYmxlc31cXFwiIFxcXCIke2lwNnRhYmxlc31cXFwiXFxuK1xcdG1wdGNwX2xpYl9jaGVja190b29scyBpcCB0YyBzcyBuZnRcXG4gXFxuIFxcdHNpbj0kKG1rdGVtcClcXG4gXFx0c291dD0kKG1rdGVtcClcXG5AQCAtMzgxLDIzICszNTIsMTggQEAgcmVzZXRfd2l0aF9jb29raWVzKClcXG4gcmVzZXRfd2l0aF9hZGRfYWRkcl90aW1lb3V0KClcXG4ge1xcbiBcXHRsb2NhbCBpcD1cXFwiJHsyOi00fVxcXCJcXG4tXFx0bG9jYWwgdGFibGVzXFxuIFxcbiBcXHRyZXNldCBcXFwiJHsxfVxcXCIgfHwgcmV0dXJuIDFcXG4gXFxuLVxcdHRhYmxlcz1cXFwiJHtpcHRhYmxlc31cXFwiXFxuLVxcdGlmIFsgJGlwIC1lcSA2IF07IHRoZW5cXG4tXFx0XFx0dGFibGVzPVxcXCIke2lwNnRhYmxlc31cXFwiXFxuLVxcdGZpXFxuLVxcbiBcXHQjIHNldCBhIG1heGltdW0sIHRvIGF2b2lkIHRvbyBsb25nIHRpbWVvdXQgd2l0aCBleHBvbmVudGlhbCBiYWNrb2ZmXFxuIFxcdGlwIG5ldG5zIGV4ZWMgJG5zMSBzeXNjdGwgLXEgbmV0Lm1wdGNwLmFkZF9hZGRyX3RpbWVvdXQ9MVxcbiBcXG4tXFx0aWYgISBpcCBuZXRucyBleGVjICRuczIgJHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIFxcXFxcXG4tXFx0XFx0XFx0LW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcXFxcXFxuLVxcdFxcdFxcdC1tIGJwZiAtLWJ5dGVjb2RlIFxcXFxcXG4tXFx0XFx0XFx0XFxcIiRDQlBGX01QVENQX1NVQk9QVElPTl9BRERfQUREUlxcXCIgXFxcXFxcbi1cXHRcXHRcXHQtaiBEUk9QOyB0aGVuXFxuK1xcbitcXHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcXFwiJG5zMlxcXCIgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXFxcXG4rXFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgbWV0YSBuZnByb3RvIGlwdiR7aXB9IFxcXFxcXG4rXFx0XFx0dGNwIG9wdGlvbiBtcHRjcCBzdWJ0eXBlIGFkZC1hZGRyIFxcXFxcXG4rXFx0XFx0ZHJvcCB8IGhlYWQgLW4xIHwgYXdrICd7cHJpbnQgJE5GfScpXFxuK1xcdGlmIFsgLXogXFxcIiRuZnRfaGFuZGxlXFxcIiBdOyB0aGVuXFxuIFxcdFxcdG1hcmtfYXNfc2tpcHBlZCBcXFwidW5hYmxlIHRvIHNldCB0aGUgJ2FkZCBhZGRyJyBydWxlXFxcIlxcbiBcXHRcXHRyZXR1cm4gMVxcbiBcXHRmaVxcbkBAIC00NTAsMjIgKzQxNiwxNiBAQCBzZXR1cF9mYWlsX3J1bGVzKClcXG4gXFx0dmFsaWRhdGVfY2hlY2tzdW09dHJ1ZVxcbiBcXHRsb2NhbCBpPVxcXCIkMVxcXCJcXG4gXFx0bG9jYWwgaXA9XFxcIiR7MjotNH1cXFwiXFxuLVxcdGxvY2FsIHRhYmxlc1xcbiBcXG4tXFx0dGFibGVzPVxcXCIke2lwdGFibGVzfVxcXCJcXG4tXFx0aWYgWyAkaXAgLWVxIDYgXTsgdGhlblxcbi1cXHRcXHR0YWJsZXM9XFxcIiR7aXA2dGFibGVzfVxcXCJcXG4rXFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiRuczJcXFwiIG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxcXFxuK1xcdFxcdGluZXQgbWpvaW5fdGFibGUgbWFuZ2xlIG9pZm5hbWUgbnMyZXRoJGkgXFxcXFxcbitcXHRcXHRtZXRhIG5mcHJvdG8gaXB2JHtpcH0gbWV0YSBsNHByb3RvIHRjcCBcXFxcXFxuK1xcdFxcdG1ldGEgbGVuZ3RoIDE1MC05OTk5IG51bWdlbiBpbmMgbW9kIDk5OTk5ID09IDEgXFxcXFxcbitcXHRcXHRtZXRhIG1hcmsgc2V0IDQyIHwgaGVhZCAtbjEgfCBhd2sgJ3twcmludCAkTkZ9JylcXG4rXFx0aWYgWyAteiBcXFwiJG5mdF9oYW5kbGVcXFwiIF07IHRoZW5cXG4rXFx0XFx0cmV0dXJuICR7S1NGVF9TS0lQfVxcbiBcXHRmaVxcbiBcXG4tXFx0aXAgbmV0bnMgZXhlYyAkbnMyICR0YWJsZXMgXFxcXFxcbi1cXHRcXHQtdCBtYW5nbGUgXFxcXFxcbi1cXHRcXHQtQSBPVVRQVVQgXFxcXFxcbi1cXHRcXHQtbyBuczJldGgkaSBcXFxcXFxuLVxcdFxcdC1wIHRjcCBcXFxcXFxuLVxcdFxcdC1tIGxlbmd0aCAtLWxlbmd0aCAxNTA6OTk5OSBcXFxcXFxuLVxcdFxcdC1tIHN0YXRpc3RpYyAtLW1vZGUgbnRoIC0tcGFja2V0IDEgLS1ldmVyeSA5OTk5OSBcXFxcXFxuLVxcdFxcdC1qIE1BUksgLS1zZXQtbWFyayA0MiB8fCByZXR1cm4gJHtLU0ZUX1NLSVB9XFxuLVxcbiBcXHR0YyAtbiAkbnMyIHFkaXNjIGFkZCBkZXYgbnMyZXRoJGkgY2xzYWN0IHx8IHJldHVybiAke0tTRlRfU0tJUH1cXG4gXFx0dGMgLW4gJG5zMiBmaWx0ZXIgYWRkIGRldiBuczJldGgkaSBlZ3Jlc3MgXFxcXFxcbiBcXHRcXHRwcm90b2NvbCBpcCBwcmlvIDEwMDAgXFxcXFxcbkBAIC01MTUsMTEgKzQ3NSwxMSBAQCByZXNldF93aXRoX3RjcF9maWx0ZXIoKVxcbiBcXHRsb2NhbCB0YXJnZXQ9XFxcIiR7M31cXFwiXFxuIFxcdGxvY2FsIGNoYWluPVxcXCIkezQ6LUlOUFVUfVxcXCJcXG4gXFxuLVxcdGlmICEgaXAgbmV0bnMgZXhlYyBcXFwiJHtuc31cXFwiICR7aXB0YWJsZXN9IFxcXFxcXG4tXFx0XFx0XFx0LUEgXFxcIiR7Y2hhaW59XFxcIiBcXFxcXFxuLVxcdFxcdFxcdC1zIFxcXCIke3NyY31cXFwiIFxcXFxcXG4tXFx0XFx0XFx0LXAgdGNwIFxcXFxcXG4tXFx0XFx0XFx0LWogXFxcIiR7dGFyZ2V0fVxcXCI7IHRoZW5cXG4rXFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiRuc1xcXCIgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXFxcXG4rXFx0XFx0aW5ldCBtam9pbl90YWJsZSBcXFwiJHtjaGFpbiwsfVxcXCIgXFxcXFxcbitcXHRcXHRpcCBzYWRkciBcXFwieyAke3NyY30gfVxcXCIgbWV0YSBsNHByb3RvIHRjcCBcXFwiJHt0YXJnZXQsLH1cXFwiIHwgXFxcXFxcbitcXHRcXHRoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxcbitcXHRpZiBbIC16IFxcXCIkbmZ0X2hhbmRsZVxcXCIgXTsgdGhlblxcbiBcXHRcXHRtYXJrX2FzX3NraXBwZWQgXFxcInVuYWJsZSB0byBzZXQgdGhlIGZpbHRlciBydWxlc1xcXCJcXG4gXFx0XFx0cmV0dXJuIDFcXG4gXFx0ZmlcXG5AQCAtNDMxNSwxMCArNDI3NSwxMiBAQCB1c2Vyc3BhY2VfdGVzdHMoKVxcbiBcXG4gXFx0XFx0IyBmb3JjZSBxdWljayBsb3NzXFxuIFxcdFxcdGlwIG5ldG5zIGV4ZWMgJG5zMiBzeXNjdGwgLXEgbmV0LmlwdjQudGNwX3N5bl9yZXRyaWVzPTFcXG4tXFx0XFx0aWYgaXAgbmV0bnMgZXhlYyBcXFwiJHtuczF9XFxcIiAke2lwdGFibGVzfSAtQSBJTlBVVCAtcyBcXFwiMTAuMC4xLjJcXFwiIFxcXFxcXG4tXFx0XFx0ICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQgXFx1MDAyNlxcdTAwMjZcXG4tXFx0XFx0ICAgaXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiAke2lwdGFibGVzfSAtQSBJTlBVVCAtZCBcXFwiMTAuMC4xLjJcXFwiIFxcXFxcXG4tXFx0XFx0ICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQ7IHRoZW5cXG4rXFx0XFx0aWYgaXAgbmV0bnMgZXhlYyBcXFwiJHtuczF9XFxcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBcXFxcXFxuK1xcdFxcdFxcdGlucHV0IGlwIHNhZGRyIFxcXCIxMC4wLjEuMlxcXCIgbWV0YSBsNHByb3RvIHRjcCBcXFxcXFxuK1xcdFxcdFxcdHRjcCBvcHRpb24gbXB0Y3AgZXhpc3RzIHJlamVjdCB3aXRoIHRjcCByZXNldCBcXHUwMDI2XFx1MDAyNlxcbitcXHRcXHQgICBpcCBuZXRucyBleGVjIFxcXCIke25zMn1cXFwiIG5mdCBhZGQgcnVsZSBpbmV0IG1qb2luX3RhYmxlIFxcXFxcXG4rXFx0XFx0XFx0aW5wdXQgaXAgZGFkZHIgXFxcIjEwLjAuMS4yXFxcIiBtZXRhIGw0cHJvdG8gdGNwIFxcXFxcXG4rXFx0XFx0XFx0dGNwIG9wdGlvbiBtcHRjcCBleGlzdHMgcmVqZWN0IHdpdGggdGNwIHJlc2V0OyB0aGVuXFxuIFxcdFxcdFxcdHdhaXRfZXZlbnQgbnMyIE1QVENQX0xJQl9FVkVOVF9TVUJfQ0xPU0VEIDFcXG4gXFx0XFx0XFx0d2FpdF9ldmVudCBuczEgTVBUQ1BfTElCX0VWRU5UX1NVQl9DTE9TRUQgMVxcbiBcXHRcXHRcXHRjaGtfc3ViZmxvd3NfdG90YWwgMSAxXFxuQEAgLTQzOTMsNyArNDM1NSw3IEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFx0XFx0Y2hrX3N1YmZsb3dfbnIgXFxcImFmdGVyIG5ldyByZWplY3RcXFwiIDJcXG4gXFx0XFx0Y2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMSBzdWJmbG93cyAxXFxuIFxcbi1cXHRcXHRpcCBuZXRucyBleGVjIFxcXCIke25zMn1cXFwiICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyBcXFwiMTAuMC4zLjJcXFwiIC1wIHRjcCAtaiBSRUpFQ1RcXG4rXFx0XFx0aXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFxcXCIkbmZ0X2hhbmRsZVxcXCJcXG4gXFx0XFx0cG1fbmxfZGVsX2VuZHBvaW50ICRuczIgMyAxMC4wLjMuMlxcbiBcXHRcXHRwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMiAxMC4wLjMuMiBpZCAzIGZsYWdzIHN1YmZsb3dcXG4gXFx0XFx0d2FpdF9tcGogM1xcbkBAIC00NDAyLDEyICs0MzY0LDEwIEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFxuIFxcdFxcdCMgVG8gbWFrZSBzdXJlIFJNX0FERFIgYXJlIHNlbnQgb3ZlciBhIGRpZmZlcmVudCBzdWJmbG93LCBidXRcXG4gXFx0XFx0IyBhbGxvdyB0aGUgcmVzdCB0byBxdWlja2x5IGFuZCBjbGVhbmx5IGNsb3NlIHRoZSBzdWJmbG93XFxuLVxcdFxcdGxvY2FsIGlwdD0xXFxuLVxcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zIFxcXCIxMC4wLjEuMlxcXCIgXFxcXFxcbi1cXHRcXHRcXHQtcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcXFxcXFxuLVxcdFxcdFxcdC1tIGJwZiAtLWJ5dGVjb2RlIFxcXFxcXG4tXFx0XFx0XFx0XFxcIiRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSXFxcIiBcXFxcXFxuLVxcdFxcdFxcdC1qIERST1AgfHwgaXB0PTBcXG4rXFx0XFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXFxcXG4rXFx0XFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjIgbWV0YSBsNHByb3RvIHRjcCBcXFxcXFxuK1xcdFxcdFxcdHRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcXFxcXFxuK1xcdFxcdFxcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxcbiBcXHRcXHRsb2NhbCBpXFxuIFxcdFxcdGZvciBpIGluICQoc2VxIDMpOyBkb1xcbiBcXHRcXHRcXHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMiAxIDEwLjAuMS4yXFxuQEAgLTQ0MjAsNyArNDM4MCw4IEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFx0XFx0XFx0Y2hrX3N1YmZsb3dfbnIgXFxcImFmdGVyIHJlLWFkZCBpZCAwICgkaSlcXFwiIDNcXG4gXFx0XFx0XFx0Y2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMyBzdWJmbG93cyAzXFxuIFxcdFxcdGRvbmVcXG4tXFx0XFx0WyAke2lwdH0gPSAxIF0gXFx1MDAyNlxcdTAwMjYgaXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiAke2lwdGFibGVzfSAtRCBPVVRQVVQgMVxcbitcXHRcXHRbIC1uIFxcXCIke25mdF9oYW5kbGV9XFxcIiBdIFxcdTAwMjZcXHUwMDI2IGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IGRlbGV0ZSBydWxlIFxcXFxcXG4rXFx0XFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFxcXCIke25mdF9oYW5kbGV9XFxcIlxcbiBcXG4gXFx0XFx0bXB0Y3BfbGliX2tpbGxfZ3JvdXBfd2FpdCAkdGVzdHNfcGlkXFxuIFxcbkBAIC00NDgyLDE4ICs0NDQzLDE3IEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFxuIFxcdFxcdCMgVG8gbWFrZSBzdXJlIFJNX0FERFIgYXJlIHNlbnQgb3ZlciBhIGRpZmZlcmVudCBzdWJmbG93LCBidXRcXG4gXFx0XFx0IyBhbGxvdyB0aGUgcmVzdCB0byBxdWlja2x5IGFuZCBjbGVhbmx5IGNsb3NlIHRoZSBzdWJmbG93XFxuLVxcdFxcdGxvY2FsIGlwdD0xXFxuLVxcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMxfVxcXCIgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zIFxcXCIxMC4wLjEuMVxcXCIgXFxcXFxcbi1cXHRcXHRcXHQtcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcXFxcXFxuLVxcdFxcdFxcdC1tIGJwZiAtLWJ5dGVjb2RlIFxcXFxcXG4tXFx0XFx0XFx0XFxcIiRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSXFxcIiBcXFxcXFxuLVxcdFxcdFxcdC1qIERST1AgfHwgaXB0PTBcXG4rXFx0XFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMxfVxcXCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXFxcXG4rXFx0XFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjEgbWV0YSBsNHByb3RvIHRjcCBcXFxcXFxuK1xcdFxcdFxcdHRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcXFxcXFxuK1xcdFxcdFxcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxcbiBcXHRcXHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMSA0MiAxMC4wLjEuMVxcbiBcXHRcXHRzbGVlcCAwLjVcXG4gXFx0XFx0Y2hrX3N1YmZsb3dfbnIgXFxcImFmdGVyIGRlbGV0ZSBJRCAwXFxcIiAyXFxuIFxcdFxcdGNoa19tcHRjcF9pbmZvIHN1YmZsb3dzIDIgc3ViZmxvd3MgMlxcbiBcXHRcXHRjaGtfbXB0Y3BfaW5mbyBhZGRfYWRkcl9zaWduYWwgMiBhZGRfYWRkcl9hY2NlcHRlZCAyXFxuLVxcdFxcdFsgJHtpcHR9ID0gMSBdIFxcdTAwMjZcXHUwMDI2IGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMxfVxcXCIgJHtpcHRhYmxlc30gLUQgT1VUUFVUIDFcXG4rXFx0XFx0WyAtbiBcXFwiJHtuZnRfaGFuZGxlfVxcXCIgXSBcXHUwMDI2XFx1MDAyNiBpcCBuZXRucyBleGVjIFxcXCIke25zMX1cXFwiIG5mdCBkZWxldGUgcnVsZSBcXFxcXFxuK1xcdFxcdFxcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcXFwiJHtuZnRfaGFuZGxlfVxcXCJcXG4gXFxuIFxcdFxcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMS4xIGlkIDQyIGZsYWdzIHNpZ25hbFxcbiBcXHRcXHR3YWl0X21waiA0XFxuQEAgLTQ1NTUsNyArNDUxNSw3IEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFx0XFx0cG1fbmxfZmx1c2hfZW5kcG9pbnQgJG5zMlxcbiBcXHRcXHRwbV9ubF9mbHVzaF9lbmRwb2ludCAkbnMxXFxuIFxcdFxcdHdhaXRfcm1fYWRkciAkbnMyIDBcXG4tXFx0XFx0aXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiAke2lwdGFibGVzfSAtRCBPVVRQVVQgLXMgXFxcIjEwLjAuMy4yXFxcIiAtcCB0Y3AgLWogUkVKRUNUXFxuK1xcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IGRlbGV0ZSBydWxlIGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcXFwiJG5mdF9oYW5kbGVcXFwiXFxuIFxcdFxcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvd1xcbiBcXHRcXHR3YWl0X21waiAxXFxuIFxcdFxcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMy4xIGlkIDIgZmxhZ3Mgc2lnbmFsXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9saWIuc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXFxuaW5kZXggNWVmNjAzMzc3NWM4Ni4uZWJhNjkwMzIzM2NjZiAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2xpYi5zaFxcbkBAIC01MjQsNyArNTI0LDcgQEAgbXB0Y3BfbGliX2NoZWNrX3Rvb2xzKCkge1xcbiBcXHRcXHRcXHRcXHRleGl0ICR7S1NGVF9TS0lQfVxcbiBcXHRcXHRcXHRmaVxcbiBcXHRcXHRcXHQ7O1xcbi1cXHRcXHRcXFwiaXB0YWJsZXNcXFwiKiB8IFxcXCJpcDZ0YWJsZXNcXFwiKilcXG4rXFx0XFx0XFxcImlwdGFibGVzXFxcIiogfCBcXFwiaXA2dGFibGVzXFxcIiogfCBcXFwibmZ0XFxcIiopXFxuIFxcdFxcdFxcdGlmICEgXFxcIiR7dG9vbH1cXFwiIC1WIFxcdTAwMjZcXHUwMDNlIC9kZXYvbnVsbDsgdGhlblxcbiBcXHRcXHRcXHRcXHRtcHRjcF9saWJfcHJfc2tpcCBcXFwiQ291bGQgbm90IHJ1biBhbGwgdGVzdHMgd2l0aG91dCAke3Rvb2x9XFxcIlxcbiBcXHRcXHRcXHRcXHRleGl0ICR7S1NGVF9TS0lQfVxcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXFxuaW5kZXggZTg1MGE4NzQyOWI2MS4uNGQwYWYyYmY5NDg0MCAxMDA3NTVcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaFxcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXFxuQEAgLTE1LDggKzE1LDYgQEAgY2luPVxcXCJcXFwiXFxuIGNvdXQ9XFxcIlxcXCJcXG4gdGltZW91dF9wb2xsPTMwXFxuIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICsgMSkpXFxuLWlwdGFibGVzPVxcXCJpcHRhYmxlc1xcXCJcXG4taXA2dGFibGVzPVxcXCJpcDZ0YWJsZXNcXFwiXFxuIFxcbiBuczE9XFxcIlxcXCJcXG4gbnMyPVxcXCJcXFwiXFxuQEAgLTQ5LDE3ICs0NywyMyBAQCBhZGRfbWFya19ydWxlcygpXFxuIFxcdGxvY2FsIG5zPSQxXFxuIFxcdGxvY2FsIG09JDJcXG4gXFxuLVxcdGxvY2FsIHRcXG4tXFx0Zm9yIHQgaW4gJHtpcHRhYmxlc30gJHtpcDZ0YWJsZXN9OyBkb1xcbi1cXHRcXHQjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0c1xcbi1cXHRcXHRpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tc3luIC1tIG1hcmsgLS1tYXJrICRtIC1qIEFDQ0VQVFxcbi1cXG4tXFx0XFx0IyBSU1QgcGFja2V0cyBtaWdodCBiZSBoYW5kbGVkIGJ5IGEgaW50ZXJuYWwgZHVtbXkgc29ja2V0XFxuLVxcdFxcdGlwIG5ldG5zIGV4ZWMgJG5zICR0IC1BIE9VVFBVVCAtcCB0Y3AgLS10Y3AtZmxhZ3MgUlNUIFJTVCAtbSBtYXJrIC0tbWFyayAwIC1qIEFDQ0VQVFxcbi1cXG4tXFx0XFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtbSBtYXJrIC0tbWFyayAkbSAtaiBBQ0NFUFRcXG4tXFx0XFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtbSBtYXJrIC0tbWFyayAwIC1qIERST1BcXG4tXFx0ZG9uZVxcbitcXHRpcCBuZXRucyBleGVjIFxcXCIkbnNcXFwiIG5mdCBhZGQgdGFibGUgaW5ldCBtc29ja190YWJsZVxcbitcXHRpcCBuZXRucyBleGVjIFxcXCIkbnNcXFwiIG5mdCBhZGQgY2hhaW4gaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHQneyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0OyB9J1xcbitcXG4rXFx0IyBqdXN0IHRvIGRlYnVnOiBjaGVjayB3ZSBoYXZlIG11bHRpcGxlIHN1YmZsb3dzIGNvbm5lY3Rpb24gcmVxdWVzdHNcXG4rXFx0aXAgbmV0bnMgZXhlYyBcXFwiJG5zXFxcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHQgbWV0YSBtYXJrIFxcXCIkbVxcXCIgdGNwIGZsYWdzIHN5biBhY2NlcHRcXG4rXFx0IyBSU1QgcGFja2V0cyBtaWdodCBiZSBoYW5kbGVkIGJ5IGEgaW50ZXJuYWwgZHVtbXkgc29ja2V0XFxuK1xcdGlwIG5ldG5zIGV4ZWMgXFxcIiRuc1xcXCIgbmZ0IGFkZCBydWxlIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXFxcXG4rXFx0XFx0bWV0YSBtYXJrIDAgdGNwIGZsYWdzIHJzdCBhY2NlcHRcXG4rXFx0aXAgbmV0bnMgZXhlYyBcXFwiJG5zXFxcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHRtZXRhIG1hcmsgXFxcIiRtXFxcIiBtZXRhIGw0cHJvdG8gdGNwIGFjY2VwdFxcbitcXG4rXFx0aXAgbmV0bnMgZXhlYyBcXFwiJG5zXFxcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHRtZXRhIG5mcHJvdG8gaXB2NCBtZXRhIG1hcmsgMCBtZXRhIGw0cHJvdG8gdGNwIGNvdW50ZXIgZHJvcFxcbitcXHRpcCBuZXRucyBleGVjIFxcXCIkbnNcXFwiIG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxcXFxuK1xcdFxcdG1ldGEgbmZwcm90byBpcHY2IG1ldGEgbWFyayAwIG1ldGEgbDRwcm90byB0Y3AgY291bnRlciBkcm9wXFxuIH1cXG4gXFxuIGluaXQoKVxcbkBAIC0xMDUsMzMgKzEwOSwyMyBAQCBjbGVhbnVwKClcXG4gXFxuIG1wdGNwX2xpYl9jaGVja19tcHRjcFxcbiBtcHRjcF9saWJfY2hlY2tfa2FsbHN5bXNcXG4tbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIFxcXCIke2lwdGFibGVzfVxcXCIgXFxcIiR7aXA2dGFibGVzfVxcXCJcXG4rbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIG5mdFxcbiBcXG4gY2hlY2tfbWFyaygpXFxuIHtcXG4gXFx0bG9jYWwgbnM9JDFcXG4gXFx0bG9jYWwgYWY9JDJcXG4gXFxuLVxcdGxvY2FsIHRhYmxlcz0ke2lwdGFibGVzfVxcbitcXHRkcm9wPSQoaXAgbmV0bnMgZXhlYyBcXFwiJG5zXFxcIiBuZnQgbGlzdCB0YWJsZSBpbmV0IG1zb2NrX3RhYmxlIHwgXFxcXFxcbitcXHRcXHRncmVwIFxcXCJpcHYkYWYuKnBhY2tldHMuKmRyb3BcXFwiIHwgYXdrICd7cHJpbnQgJChORi0zKX0nKVxcbiBcXG4tXFx0aWYgWyAkYWYgLWVxIDYgXTt0aGVuXFxuLVxcdFxcdHRhYmxlcz0ke2lwNnRhYmxlc31cXG4rXFx0aWYgWyBcXFwiJGRyb3BcXFwiIC1uZSAwIF07IHRoZW5cXG4rXFx0XFx0bXB0Y3BfbGliX3ByX2ZhaWwgXFxcImdvdCAkZHJvcCBwa3QgZHJvcHMgaW4gbnMgJG5zIElQdnskYWZ9IHRhYmxlcyxcXFwiIFxcXFxcXG4rXFx0XFx0XFx0XFx0ICBcXFwibm90IDAgLSBub3QgYWxsIGV4cGVjdGVkIHBhY2tldHMgbWFya2VkXFxcIlxcbitcXHRcXHRyZXQ9JHtLU0ZUX0ZBSUx9XFxuK1xcdFxcdHJldHVybiAxXFxuIFxcdGZpXFxuIFxcbi1cXHRsb2NhbCBjb3VudGVycyB2YWx1ZXNcXG4tXFx0Y291bnRlcnM9JChpcCBuZXRucyBleGVjICRucyAkdGFibGVzIC12IC1MIE9VVFBVVCB8IGdyZXAgRFJPUClcXG4tXFx0dmFsdWVzPSR7Y291bnRlcnMlRFJPUCp9XFxuLVxcbi1cXHRsb2NhbCB2XFxuLVxcdGZvciB2IGluICR2YWx1ZXM7IGRvXFxuLVxcdFxcdGlmIFsgJHYgLW5lIDAgXTsgdGhlblxcbi1cXHRcXHRcXHRtcHRjcF9saWJfcHJfZmFpbCBcXFwiZ290ICR0YWJsZXMgJHZhbHVlcyBpbiBucyAkbnMsXFxcIiBcXFxcXFxuLVxcdFxcdFxcdFxcdFxcdCAgXFxcIm5vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFxcXCJcXG4tXFx0XFx0XFx0cmV0PSR7S1NGVF9GQUlMfVxcbi1cXHRcXHRcXHRyZXR1cm4gMVxcbi1cXHRcXHRmaVxcbi1cXHRkb25lXFxuLVxcbiBcXHRyZXR1cm4gMFxcbiB9XFxuIFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wMlQxOTozNjo0MC40Mzk4OTI1NjVaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJjb3JlIiwiRHVyYXRpb24iOjEwMTY3MDkzMTkzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2Ugc2VsZnRlc3Qgc2NyaXB0cyBhbmQgdGVzdCBjb25maWd1cmF0aW9ucyBpbiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvIChtaWdyYXRpbmcgaXB0YWJsZXMgcnVsZXMgdG8gbmZ0YWJsZXMpLCB3aXRoIG5vIGZ1bmN0aW9uYWwgbW9kaWZpY2F0aW9ucyB0byB0aGUgTGludXgga2VybmVsIGl0c2VsZi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDFlZDRjYWNhODA5YzgzODU0MTY1NDczZGJhM2JkMjk2ZWMzOGMyNWVcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIFNlcCAyIDE5OjM2OjM3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2NvbmZpZyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9jb25maWdcbmluZGV4IDU5MDUxZWUyYTk4NjAuLjBkMGE3NDRjNGNhODkgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXG5AQCAtMzAsNiArMzAsOSBAQCBDT05GSUdfTkVUX1NDSF9ORVRFTT1tXG4gQ09ORklHX05GX1RBQkxFUz1tXG4gQ09ORklHX05GX1RBQkxFU19JTkVUPXlcbiBDT05GSUdfTkZUX0NPTVBBVD1tXG4rQ09ORklHX05GVF9OVU1HRU49eVxuK0NPTkZJR19ORlRfUkVKRUNUPW1cbitDT05GSUdfTkZUX1JFSkVDVF9JUFY0PW1cbiBDT05GSUdfTkZUX1NPQ0tFVD1tXG4gQ09ORklHX05GVF9UUFJPWFk9bVxuIENPTkZJR19TWU5fQ09PS0lFUz15XG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxuaW5kZXggMThjZTcxMzZhMmIwZS4uMDVjYmFkZGI4MjYxNiAxMDA3NTVcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxuQEAgLTI2LDggKzI2LDYgQEAgY2Fwb3V0PVwiXCJcbiBjYXBwaWQ9XCJcIlxuIG5zMT1cIlwiXG4gbnMyPVwiXCJcbi1pcHRhYmxlcz1cImlwdGFibGVzXCJcbi1pcDZ0YWJsZXM9XCJpcDZ0YWJsZXNcIlxuIHRpbWVvdXRfcG9sbD0zMFxuIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICsgMSkpXG4gY2FwdHVyZT1mYWxzZVxuQEAgLTUwLDYgKzQ4LDcgQEAgZGVjbGFyZSAtQSBmYWlsZWRfdGVzdHNcbiBNUFRDUF9MSUJfVEVTVF9GT1JNQVQ9XCIlMDN1ICVzXFxuXCJcbiBURVNUX05BTUU9XCJcIlxuIG5yX2JsYW5rPTZcbituZnRfaGFuZGxlPVwiXCJcbiBcbiAjIFRoZXNlIHZhciBhcmUgdXNlZCBvbmx5IGluIHNvbWUgdGVzdHMsIG1ha2Ugc3VyZSB0aGV5IGFyZSBub3QgYWxyZWFkeSBzZXRcbiB1bnNldCBGQUlMSU5HX0xJTktTXG5AQCAtOTksNDIgKzk4LDYgQEAgdW5zZXQgYWRkX2FkZHJfdHhfbnJcbiB1bnNldCBhZGRfYWRkcl9lY2hvX3R4X25yXG4gdW5zZXQgYWRkX2FkZHJfZHJvcF90eF9uclxuIFxuLSMgZ2VuZXJhdGVkIHVzaW5nIFwibmZicGZfY29tcGlsZSAnKGlwIFx1MDAyNlx1MDAyNiAoaXBbNTRdIFx1MDAyNiAweGYwKSA9PSAweDMwKSB8fFxuLSNcdFx0XHRcdCAgKGlwNiBcdTAwMjZcdTAwMjYgKGlwNls3NF0gXHUwMDI2IDB4ZjApID09IDB4MzApJ1wiXG4tQ0JQRl9NUFRDUF9TVUJPUFRJT05fQUREX0FERFI9XCIxNCxcbi1cdFx0XHQgICAgICAgNDggMCAwIDAsXG4tXHRcdFx0ICAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgIDIxIDAgMyA2NCxcbi1cdFx0XHQgICAgICAgNDggMCAwIDU0LFxuLVx0XHRcdCAgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgICAyMSA2IDcgNDgsXG4tXHRcdFx0ICAgICAgIDQ4IDAgMCAwLFxuLVx0XHRcdCAgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgICAyMSAwIDQgOTYsXG4tXHRcdFx0ICAgICAgIDQ4IDAgMCA3NCxcbi1cdFx0XHQgICAgICAgODQgMCAwIDI0MCxcbi1cdFx0XHQgICAgICAgMjEgMCAxIDQ4LFxuLVx0XHRcdCAgICAgICA2IDAgMCA2NTUzNSxcbi1cdFx0XHQgICAgICAgNiAwIDAgMFwiXG4tXG4tIyBJUHY0OiBUQ1AgaGRyIG9mIDQ4QiwgYSBmaXJzdCBzdWJvcHRpb24gb2YgMTJCIChEQUNLOCksIHRoZSBSTV9BRERSIHN1Ym9wdGlvblxuLSMgZ2VuZXJhdGVkIHVzaW5nIFwibmZicGZfY29tcGlsZSAnKGlwWzMyXSBcdTAwMjYgMHhmMCkgPT0gMHhjMCBcdTAwMjZcdTAwMjYgaXBbNTNdID09IDB4MGMgXHUwMDI2XHUwMDI2XG4tI1x0XHRcdFx0ICAoaXBbNjZdIFx1MDAyNiAweGYwKSA9PSAweDQwJ1wiXG4tQ0JQRl9NUFRDUF9TVUJPUFRJT05fUk1fQUREUj1cIjEzLFxuLVx0XHRcdCAgICAgIDQ4IDAgMCAwLFxuLVx0XHRcdCAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgMjEgMCA5IDY0LFxuLVx0XHRcdCAgICAgIDQ4IDAgMCAzMixcbi1cdFx0XHQgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgIDIxIDAgNiAxOTIsXG4tXHRcdFx0ICAgICAgNDggMCAwIDUzLFxuLVx0XHRcdCAgICAgIDIxIDAgNCAxMixcbi1cdFx0XHQgICAgICA0OCAwIDAgNjYsXG4tXHRcdFx0ICAgICAgODQgMCAwIDI0MCxcbi1cdFx0XHQgICAgICAyMSAwIDEgNjQsXG4tXHRcdFx0ICAgICAgNiAwIDAgNjU1MzUsXG4tXHRcdFx0ICAgICAgNiAwIDAgMFwiXG4tXG4gaW5pdF9wYXJ0aWFsKClcbiB7XG4gXHRjYXBvdXQ9JChta3RlbXApXG5AQCAtMTQ3LDYgKzExMCwxNCBAQCBpbml0X3BhcnRpYWwoKVxuIFx0XHRpZiAkY2hlY2tzdW07IHRoZW5cbiBcdFx0XHRpcCBuZXRucyBleGVjICRuZXRucyBzeXNjdGwgLXEgbmV0Lm1wdGNwLmNoZWNrc3VtX2VuYWJsZWQ9MVxuIFx0XHRmaVxuK1xuK1x0XHRpcCBuZXRucyBleGVjIFwiJG5ldG5zXCIgbmZ0IGFkZCB0YWJsZSBpbmV0IG1qb2luX3RhYmxlXG4rXHRcdGlwIG5ldG5zIGV4ZWMgXCIkbmV0bnNcIiBuZnQgYWRkIGNoYWluIGluZXQgbWpvaW5fdGFibGUgaW5wdXQgXFxcbitcdFx0XHQneyB0eXBlIGZpbHRlciBob29rIGlucHV0IHByaW9yaXR5IGZpbHRlcjsgcG9saWN5IGFjY2VwdDsgfSdcbitcdFx0aXAgbmV0bnMgZXhlYyBcIiRuZXRuc1wiIG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgXFxcbitcdFx0XHQneyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0nXG4rXHRcdGlwIG5ldG5zIGV4ZWMgXCIkbmV0bnNcIiBuZnQgYWRkIGNoYWluIGluZXQgbWpvaW5fdGFibGUgbWFuZ2xlIFxcXG4rXHRcdFx0J3sgdHlwZSBmaWx0ZXIgaG9vayBvdXRwdXQgcHJpb3JpdHkgbWFuZ2xlOyBwb2xpY3kgYWNjZXB0OyB9J1xuIFx0ZG9uZVxuIFxuIFx0Y2hlY2tfaW52ZXJ0PTBcbkBAIC0xOTYsNyArMTY3LDcgQEAgaW5pdCgpIHtcbiBcbiBcdG1wdGNwX2xpYl9jaGVja19tcHRjcFxuIFx0bXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXG4tXHRtcHRjcF9saWJfY2hlY2tfdG9vbHMgaXAgdGMgc3MgXCIke2lwdGFibGVzfVwiIFwiJHtpcDZ0YWJsZXN9XCJcbitcdG1wdGNwX2xpYl9jaGVja190b29scyBpcCB0YyBzcyBuZnRcbiBcbiBcdHNpbj0kKG1rdGVtcClcbiBcdHNvdXQ9JChta3RlbXApXG5AQCAtMzgxLDIzICszNTIsMTggQEAgcmVzZXRfd2l0aF9jb29raWVzKClcbiByZXNldF93aXRoX2FkZF9hZGRyX3RpbWVvdXQoKVxuIHtcbiBcdGxvY2FsIGlwPVwiJHsyOi00fVwiXG4tXHRsb2NhbCB0YWJsZXNcbiBcbiBcdHJlc2V0IFwiJHsxfVwiIHx8IHJldHVybiAxXG4gXG4tXHR0YWJsZXM9XCIke2lwdGFibGVzfVwiXG4tXHRpZiBbICRpcCAtZXEgNiBdOyB0aGVuXG4tXHRcdHRhYmxlcz1cIiR7aXA2dGFibGVzfVwiXG4tXHRmaVxuLVxuIFx0IyBzZXQgYSBtYXhpbXVtLCB0byBhdm9pZCB0b28gbG9uZyB0aW1lb3V0IHdpdGggZXhwb25lbnRpYWwgYmFja29mZlxuIFx0aXAgbmV0bnMgZXhlYyAkbnMxIHN5c2N0bCAtcSBuZXQubXB0Y3AuYWRkX2FkZHJfdGltZW91dD0xXG4gXG4tXHRpZiAhIGlwIG5ldG5zIGV4ZWMgJG5zMiAkdGFibGVzIC1BIE9VVFBVVCAtcCB0Y3AgXFxcbi1cdFx0XHQtbSB0Y3AgLS10Y3Atb3B0aW9uIDMwIFxcXG4tXHRcdFx0LW0gYnBmIC0tYnl0ZWNvZGUgXFxcbi1cdFx0XHRcIiRDQlBGX01QVENQX1NVQk9QVElPTl9BRERfQUREUlwiIFxcXG4tXHRcdFx0LWogRFJPUDsgdGhlblxuK1xuK1x0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXCIkbnMyXCIgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXG4rXHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IG1ldGEgbmZwcm90byBpcHYke2lwfSBcXFxuK1x0XHR0Y3Agb3B0aW9uIG1wdGNwIHN1YnR5cGUgYWRkLWFkZHIgXFxcbitcdFx0ZHJvcCB8IGhlYWQgLW4xIHwgYXdrICd7cHJpbnQgJE5GfScpXG4rXHRpZiBbIC16IFwiJG5mdF9oYW5kbGVcIiBdOyB0aGVuXG4gXHRcdG1hcmtfYXNfc2tpcHBlZCBcInVuYWJsZSB0byBzZXQgdGhlICdhZGQgYWRkcicgcnVsZVwiXG4gXHRcdHJldHVybiAxXG4gXHRmaVxuQEAgLTQ1MCwyMiArNDE2LDE2IEBAIHNldHVwX2ZhaWxfcnVsZXMoKVxuIFx0dmFsaWRhdGVfY2hlY2tzdW09dHJ1ZVxuIFx0bG9jYWwgaT1cIiQxXCJcbiBcdGxvY2FsIGlwPVwiJHsyOi00fVwiXG4tXHRsb2NhbCB0YWJsZXNcbiBcbi1cdHRhYmxlcz1cIiR7aXB0YWJsZXN9XCJcbi1cdGlmIFsgJGlwIC1lcSA2IF07IHRoZW5cbi1cdFx0dGFibGVzPVwiJHtpcDZ0YWJsZXN9XCJcbitcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwiJG5zMlwiIG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxuK1x0XHRpbmV0IG1qb2luX3RhYmxlIG1hbmdsZSBvaWZuYW1lIG5zMmV0aCRpIFxcXG4rXHRcdG1ldGEgbmZwcm90byBpcHYke2lwfSBtZXRhIGw0cHJvdG8gdGNwIFxcXG4rXHRcdG1ldGEgbGVuZ3RoIDE1MC05OTk5IG51bWdlbiBpbmMgbW9kIDk5OTk5ID09IDEgXFxcbitcdFx0bWV0YSBtYXJrIHNldCA0MiB8IGhlYWQgLW4xIHwgYXdrICd7cHJpbnQgJE5GfScpXG4rXHRpZiBbIC16IFwiJG5mdF9oYW5kbGVcIiBdOyB0aGVuXG4rXHRcdHJldHVybiAke0tTRlRfU0tJUH1cbiBcdGZpXG4gXG4tXHRpcCBuZXRucyBleGVjICRuczIgJHRhYmxlcyBcXFxuLVx0XHQtdCBtYW5nbGUgXFxcbi1cdFx0LUEgT1VUUFVUIFxcXG4tXHRcdC1vIG5zMmV0aCRpIFxcXG4tXHRcdC1wIHRjcCBcXFxuLVx0XHQtbSBsZW5ndGggLS1sZW5ndGggMTUwOjk5OTkgXFxcbi1cdFx0LW0gc3RhdGlzdGljIC0tbW9kZSBudGggLS1wYWNrZXQgMSAtLWV2ZXJ5IDk5OTk5IFxcXG4tXHRcdC1qIE1BUksgLS1zZXQtbWFyayA0MiB8fCByZXR1cm4gJHtLU0ZUX1NLSVB9XG4tXG4gXHR0YyAtbiAkbnMyIHFkaXNjIGFkZCBkZXYgbnMyZXRoJGkgY2xzYWN0IHx8IHJldHVybiAke0tTRlRfU0tJUH1cbiBcdHRjIC1uICRuczIgZmlsdGVyIGFkZCBkZXYgbnMyZXRoJGkgZWdyZXNzIFxcXG4gXHRcdHByb3RvY29sIGlwIHByaW8gMTAwMCBcXFxuQEAgLTUxNSwxMSArNDc1LDExIEBAIHJlc2V0X3dpdGhfdGNwX2ZpbHRlcigpXG4gXHRsb2NhbCB0YXJnZXQ9XCIkezN9XCJcbiBcdGxvY2FsIGNoYWluPVwiJHs0Oi1JTlBVVH1cIlxuIFxuLVx0aWYgISBpcCBuZXRucyBleGVjIFwiJHtuc31cIiAke2lwdGFibGVzfSBcXFxuLVx0XHRcdC1BIFwiJHtjaGFpbn1cIiBcXFxuLVx0XHRcdC1zIFwiJHtzcmN9XCIgXFxcbi1cdFx0XHQtcCB0Y3AgXFxcbi1cdFx0XHQtaiBcIiR7dGFyZ2V0fVwiOyB0aGVuXG4rXHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcIiRuc1wiIG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxuK1x0XHRpbmV0IG1qb2luX3RhYmxlIFwiJHtjaGFpbiwsfVwiIFxcXG4rXHRcdGlwIHNhZGRyIFwieyAke3NyY30gfVwiIG1ldGEgbDRwcm90byB0Y3AgXCIke3RhcmdldCwsfVwiIHwgXFxcbitcdFx0aGVhZCAtbjEgfCBhd2sgJ3twcmludCAkTkZ9JylcbitcdGlmIFsgLXogXCIkbmZ0X2hhbmRsZVwiIF07IHRoZW5cbiBcdFx0bWFya19hc19za2lwcGVkIFwidW5hYmxlIHRvIHNldCB0aGUgZmlsdGVyIHJ1bGVzXCJcbiBcdFx0cmV0dXJuIDFcbiBcdGZpXG5AQCAtNDMxNSwxMCArNDI3NSwxMiBAQCB1c2Vyc3BhY2VfdGVzdHMoKVxuIFxuIFx0XHQjIGZvcmNlIHF1aWNrIGxvc3NcbiBcdFx0aXAgbmV0bnMgZXhlYyAkbnMyIHN5c2N0bCAtcSBuZXQuaXB2NC50Y3Bfc3luX3JldHJpZXM9MVxuLVx0XHRpZiBpcCBuZXRucyBleGVjIFwiJHtuczF9XCIgJHtpcHRhYmxlc30gLUEgSU5QVVQgLXMgXCIxMC4wLjEuMlwiIFxcXG4tXHRcdCAgICAgIC1wIHRjcCAtLXRjcC1vcHRpb24gMzAgLWogUkVKRUNUIC0tcmVqZWN0LXdpdGggdGNwLXJlc2V0IFx1MDAyNlx1MDAyNlxuLVx0XHQgICBpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgJHtpcHRhYmxlc30gLUEgSU5QVVQgLWQgXCIxMC4wLjEuMlwiIFxcXG4tXHRcdCAgICAgIC1wIHRjcCAtLXRjcC1vcHRpb24gMzAgLWogUkVKRUNUIC0tcmVqZWN0LXdpdGggdGNwLXJlc2V0OyB0aGVuXG4rXHRcdGlmIGlwIG5ldG5zIGV4ZWMgXCIke25zMX1cIiBuZnQgYWRkIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBcXFxuK1x0XHRcdGlucHV0IGlwIHNhZGRyIFwiMTAuMC4xLjJcIiBtZXRhIGw0cHJvdG8gdGNwIFxcXG4rXHRcdFx0dGNwIG9wdGlvbiBtcHRjcCBleGlzdHMgcmVqZWN0IHdpdGggdGNwIHJlc2V0IFx1MDAyNlx1MDAyNlxuK1x0XHQgICBpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgbmZ0IGFkZCBydWxlIGluZXQgbWpvaW5fdGFibGUgXFxcbitcdFx0XHRpbnB1dCBpcCBkYWRkciBcIjEwLjAuMS4yXCIgbWV0YSBsNHByb3RvIHRjcCBcXFxuK1x0XHRcdHRjcCBvcHRpb24gbXB0Y3AgZXhpc3RzIHJlamVjdCB3aXRoIHRjcCByZXNldDsgdGhlblxuIFx0XHRcdHdhaXRfZXZlbnQgbnMyIE1QVENQX0xJQl9FVkVOVF9TVUJfQ0xPU0VEIDFcbiBcdFx0XHR3YWl0X2V2ZW50IG5zMSBNUFRDUF9MSUJfRVZFTlRfU1VCX0NMT1NFRCAxXG4gXHRcdFx0Y2hrX3N1YmZsb3dzX3RvdGFsIDEgMVxuQEAgLTQzOTMsNyArNDM1NSw3IEBAIGVuZHBvaW50X3Rlc3RzKClcbiBcdFx0Y2hrX3N1YmZsb3dfbnIgXCJhZnRlciBuZXcgcmVqZWN0XCIgMlxuIFx0XHRjaGtfbXB0Y3BfaW5mbyBzdWJmbG93cyAxIHN1YmZsb3dzIDFcbiBcbi1cdFx0aXAgbmV0bnMgZXhlYyBcIiR7bnMyfVwiICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyBcIjEwLjAuMy4yXCIgLXAgdGNwIC1qIFJFSkVDVFxuK1x0XHRpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgbmZ0IGRlbGV0ZSBydWxlIGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcIiRuZnRfaGFuZGxlXCJcbiBcdFx0cG1fbmxfZGVsX2VuZHBvaW50ICRuczIgMyAxMC4wLjMuMlxuIFx0XHRwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMiAxMC4wLjMuMiBpZCAzIGZsYWdzIHN1YmZsb3dcbiBcdFx0d2FpdF9tcGogM1xuQEAgLTQ0MDIsMTIgKzQzNjQsMTAgQEAgZW5kcG9pbnRfdGVzdHMoKVxuIFxuIFx0XHQjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0XG4gXHRcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xuLVx0XHRsb2NhbCBpcHQ9MVxuLVx0XHRpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zIFwiMTAuMC4xLjJcIiBcXFxuLVx0XHRcdC1wIHRjcCAtbSB0Y3AgLS10Y3Atb3B0aW9uIDMwIFxcXG4tXHRcdFx0LW0gYnBmIC0tYnl0ZWNvZGUgXFxcbi1cdFx0XHRcIiRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSXCIgXFxcbi1cdFx0XHQtaiBEUk9QIHx8IGlwdD0wXG4rXHRcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXG4rXHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjIgbWV0YSBsNHByb3RvIHRjcCBcXFxuK1x0XHRcdHRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcXFxuK1x0XHRcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxuIFx0XHRsb2NhbCBpXG4gXHRcdGZvciBpIGluICQoc2VxIDMpOyBkb1xuIFx0XHRcdHBtX25sX2RlbF9lbmRwb2ludCAkbnMyIDEgMTAuMC4xLjJcbkBAIC00NDIwLDcgKzQzODAsOCBAQCBlbmRwb2ludF90ZXN0cygpXG4gXHRcdFx0Y2hrX3N1YmZsb3dfbnIgXCJhZnRlciByZS1hZGQgaWQgMCAoJGkpXCIgM1xuIFx0XHRcdGNoa19tcHRjcF9pbmZvIHN1YmZsb3dzIDMgc3ViZmxvd3MgM1xuIFx0XHRkb25lXG4tXHRcdFsgJHtpcHR9ID0gMSBdIFx1MDAyNlx1MDAyNiBpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgJHtpcHRhYmxlc30gLUQgT1VUUFVUIDFcbitcdFx0WyAtbiBcIiR7bmZ0X2hhbmRsZX1cIiBdIFx1MDAyNlx1MDAyNiBpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgbmZ0IGRlbGV0ZSBydWxlIFxcXG4rXHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwiJHtuZnRfaGFuZGxlfVwiXG4gXG4gXHRcdG1wdGNwX2xpYl9raWxsX2dyb3VwX3dhaXQgJHRlc3RzX3BpZFxuIFxuQEAgLTQ0ODIsMTggKzQ0NDMsMTcgQEAgZW5kcG9pbnRfdGVzdHMoKVxuIFxuIFx0XHQjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0XG4gXHRcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xuLVx0XHRsb2NhbCBpcHQ9MVxuLVx0XHRpcCBuZXRucyBleGVjIFwiJHtuczF9XCIgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zIFwiMTAuMC4xLjFcIiBcXFxuLVx0XHRcdC1wIHRjcCAtbSB0Y3AgLS10Y3Atb3B0aW9uIDMwIFxcXG4tXHRcdFx0LW0gYnBmIC0tYnl0ZWNvZGUgXFxcbi1cdFx0XHRcIiRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSXCIgXFxcbi1cdFx0XHQtaiBEUk9QIHx8IGlwdD0wXG4rXHRcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwiJHtuczF9XCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXG4rXHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjEgbWV0YSBsNHByb3RvIHRjcCBcXFxuK1x0XHRcdHRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcXFxuK1x0XHRcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxuIFx0XHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMSA0MiAxMC4wLjEuMVxuIFx0XHRzbGVlcCAwLjVcbiBcdFx0Y2hrX3N1YmZsb3dfbnIgXCJhZnRlciBkZWxldGUgSUQgMFwiIDJcbiBcdFx0Y2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMiBzdWJmbG93cyAyXG4gXHRcdGNoa19tcHRjcF9pbmZvIGFkZF9hZGRyX3NpZ25hbCAyIGFkZF9hZGRyX2FjY2VwdGVkIDJcbi1cdFx0WyAke2lwdH0gPSAxIF0gXHUwMDI2XHUwMDI2IGlwIG5ldG5zIGV4ZWMgXCIke25zMX1cIiAke2lwdGFibGVzfSAtRCBPVVRQVVQgMVxuK1x0XHRbIC1uIFwiJHtuZnRfaGFuZGxlfVwiIF0gXHUwMDI2XHUwMDI2IGlwIG5ldG5zIGV4ZWMgXCIke25zMX1cIiBuZnQgZGVsZXRlIHJ1bGUgXFxcbitcdFx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXCIke25mdF9oYW5kbGV9XCJcbiBcbiBcdFx0cG1fbmxfYWRkX2VuZHBvaW50ICRuczEgMTAuMC4xLjEgaWQgNDIgZmxhZ3Mgc2lnbmFsXG4gXHRcdHdhaXRfbXBqIDRcbkBAIC00NTU1LDcgKzQ1MTUsNyBAQCBlbmRwb2ludF90ZXN0cygpXG4gXHRcdHBtX25sX2ZsdXNoX2VuZHBvaW50ICRuczJcbiBcdFx0cG1fbmxfZmx1c2hfZW5kcG9pbnQgJG5zMVxuIFx0XHR3YWl0X3JtX2FkZHIgJG5zMiAwXG4tXHRcdGlwIG5ldG5zIGV4ZWMgXCIke25zMn1cIiAke2lwdGFibGVzfSAtRCBPVVRQVVQgLXMgXCIxMC4wLjMuMlwiIC1wIHRjcCAtaiBSRUpFQ1RcbitcdFx0aXAgbmV0bnMgZXhlYyBcIiR7bnMyfVwiIG5mdCBkZWxldGUgcnVsZSBpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXCIkbmZ0X2hhbmRsZVwiXG4gXHRcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvd1xuIFx0XHR3YWl0X21waiAxXG4gXHRcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMy4xIGlkIDIgZmxhZ3Mgc2lnbmFsXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2xpYi5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9saWIuc2hcbmluZGV4IDVlZjYwMzM3NzVjODYuLmViYTY5MDMyMzNjY2YgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXG5AQCAtNTI0LDcgKzUyNCw3IEBAIG1wdGNwX2xpYl9jaGVja190b29scygpIHtcbiBcdFx0XHRcdGV4aXQgJHtLU0ZUX1NLSVB9XG4gXHRcdFx0ZmlcbiBcdFx0XHQ7O1xuLVx0XHRcImlwdGFibGVzXCIqIHwgXCJpcDZ0YWJsZXNcIiopXG4rXHRcdFwiaXB0YWJsZXNcIiogfCBcImlwNnRhYmxlc1wiKiB8IFwibmZ0XCIqKVxuIFx0XHRcdGlmICEgXCIke3Rvb2x9XCIgLVYgXHUwMDI2XHUwMDNlIC9kZXYvbnVsbDsgdGhlblxuIFx0XHRcdFx0bXB0Y3BfbGliX3ByX3NraXAgXCJDb3VsZCBub3QgcnVuIGFsbCB0ZXN0cyB3aXRob3V0ICR7dG9vbH1cIlxuIFx0XHRcdFx0ZXhpdCAke0tTRlRfU0tJUH1cbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXG5pbmRleCBlODUwYTg3NDI5YjYxLi40ZDBhZjJiZjk0ODQwIDEwMDc1NVxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2hcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXG5AQCAtMTUsOCArMTUsNiBAQCBjaW49XCJcIlxuIGNvdXQ9XCJcIlxuIHRpbWVvdXRfcG9sbD0zMFxuIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICsgMSkpXG4taXB0YWJsZXM9XCJpcHRhYmxlc1wiXG4taXA2dGFibGVzPVwiaXA2dGFibGVzXCJcbiBcbiBuczE9XCJcIlxuIG5zMj1cIlwiXG5AQCAtNDksMTcgKzQ3LDIzIEBAIGFkZF9tYXJrX3J1bGVzKClcbiBcdGxvY2FsIG5zPSQxXG4gXHRsb2NhbCBtPSQyXG4gXG4tXHRsb2NhbCB0XG4tXHRmb3IgdCBpbiAke2lwdGFibGVzfSAke2lwNnRhYmxlc307IGRvXG4tXHRcdCMganVzdCB0byBkZWJ1ZzogY2hlY2sgd2UgaGF2ZSBtdWx0aXBsZSBzdWJmbG93cyBjb25uZWN0aW9uIHJlcXVlc3RzXG4tXHRcdGlwIG5ldG5zIGV4ZWMgJG5zICR0IC1BIE9VVFBVVCAtcCB0Y3AgLS1zeW4gLW0gbWFyayAtLW1hcmsgJG0gLWogQUNDRVBUXG4tXG4tXHRcdCMgUlNUIHBhY2tldHMgbWlnaHQgYmUgaGFuZGxlZCBieSBhIGludGVybmFsIGR1bW15IHNvY2tldFxuLVx0XHRpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tdGNwLWZsYWdzIFJTVCBSU1QgLW0gbWFyayAtLW1hcmsgMCAtaiBBQ0NFUFRcbi1cbi1cdFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtbSBtYXJrIC0tbWFyayAkbSAtaiBBQ0NFUFRcbi1cdFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtbSBtYXJrIC0tbWFyayAwIC1qIERST1Bcbi1cdGRvbmVcbitcdGlwIG5ldG5zIGV4ZWMgXCIkbnNcIiBuZnQgYWRkIHRhYmxlIGluZXQgbXNvY2tfdGFibGVcbitcdGlwIG5ldG5zIGV4ZWMgXCIkbnNcIiBuZnQgYWRkIGNoYWluIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXG4rXHRcdCd7IHR5cGUgZmlsdGVyIGhvb2sgb3V0cHV0IHByaW9yaXR5IDA7IHBvbGljeSBhY2NlcHQ7IH0nXG4rXG4rXHQjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0c1xuK1x0aXAgbmV0bnMgZXhlYyBcIiRuc1wiIG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxuK1x0XHQgbWV0YSBtYXJrIFwiJG1cIiB0Y3AgZmxhZ3Mgc3luIGFjY2VwdFxuK1x0IyBSU1QgcGFja2V0cyBtaWdodCBiZSBoYW5kbGVkIGJ5IGEgaW50ZXJuYWwgZHVtbXkgc29ja2V0XG4rXHRpcCBuZXRucyBleGVjIFwiJG5zXCIgbmZ0IGFkZCBydWxlIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXG4rXHRcdG1ldGEgbWFyayAwIHRjcCBmbGFncyByc3QgYWNjZXB0XG4rXHRpcCBuZXRucyBleGVjIFwiJG5zXCIgbmZ0IGFkZCBydWxlIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXG4rXHRcdG1ldGEgbWFyayBcIiRtXCIgbWV0YSBsNHByb3RvIHRjcCBhY2NlcHRcbitcbitcdGlwIG5ldG5zIGV4ZWMgXCIkbnNcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcbitcdFx0bWV0YSBuZnByb3RvIGlwdjQgbWV0YSBtYXJrIDAgbWV0YSBsNHByb3RvIHRjcCBjb3VudGVyIGRyb3BcbitcdGlwIG5ldG5zIGV4ZWMgXCIkbnNcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcbitcdFx0bWV0YSBuZnByb3RvIGlwdjYgbWV0YSBtYXJrIDAgbWV0YSBsNHByb3RvIHRjcCBjb3VudGVyIGRyb3BcbiB9XG4gXG4gaW5pdCgpXG5AQCAtMTA1LDMzICsxMDksMjMgQEAgY2xlYW51cCgpXG4gXG4gbXB0Y3BfbGliX2NoZWNrX21wdGNwXG4gbXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXG4tbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIFwiJHtpcHRhYmxlc31cIiBcIiR7aXA2dGFibGVzfVwiXG4rbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIG5mdFxuIFxuIGNoZWNrX21hcmsoKVxuIHtcbiBcdGxvY2FsIG5zPSQxXG4gXHRsb2NhbCBhZj0kMlxuIFxuLVx0bG9jYWwgdGFibGVzPSR7aXB0YWJsZXN9XG4rXHRkcm9wPSQoaXAgbmV0bnMgZXhlYyBcIiRuc1wiIG5mdCBsaXN0IHRhYmxlIGluZXQgbXNvY2tfdGFibGUgfCBcXFxuK1x0XHRncmVwIFwiaXB2JGFmLipwYWNrZXRzLipkcm9wXCIgfCBhd2sgJ3twcmludCAkKE5GLTMpfScpXG4gXG4tXHRpZiBbICRhZiAtZXEgNiBdO3RoZW5cbi1cdFx0dGFibGVzPSR7aXA2dGFibGVzfVxuK1x0aWYgWyBcIiRkcm9wXCIgLW5lIDAgXTsgdGhlblxuK1x0XHRtcHRjcF9saWJfcHJfZmFpbCBcImdvdCAkZHJvcCBwa3QgZHJvcHMgaW4gbnMgJG5zIElQdnskYWZ9IHRhYmxlcyxcIiBcXFxuK1x0XHRcdFx0ICBcIm5vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFwiXG4rXHRcdHJldD0ke0tTRlRfRkFJTH1cbitcdFx0cmV0dXJuIDFcbiBcdGZpXG4gXG4tXHRsb2NhbCBjb3VudGVycyB2YWx1ZXNcbi1cdGNvdW50ZXJzPSQoaXAgbmV0bnMgZXhlYyAkbnMgJHRhYmxlcyAtdiAtTCBPVVRQVVQgfCBncmVwIERST1ApXG4tXHR2YWx1ZXM9JHtjb3VudGVycyVEUk9QKn1cbi1cbi1cdGxvY2FsIHZcbi1cdGZvciB2IGluICR2YWx1ZXM7IGRvXG4tXHRcdGlmIFsgJHYgLW5lIDAgXTsgdGhlblxuLVx0XHRcdG1wdGNwX2xpYl9wcl9mYWlsIFwiZ290ICR0YWJsZXMgJHZhbHVlcyBpbiBucyAkbnMsXCIgXFxcbi1cdFx0XHRcdFx0ICBcIm5vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFwiXG4tXHRcdFx0cmV0PSR7S1NGVF9GQUlMfVxuLVx0XHRcdHJldHVybiAxXG4tXHRcdGZpXG4tXHRkb25lXG4tXG4gXHRyZXR1cm4gMFxuIH1cbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTAyVDE5OjM2OjQwLjQzOTg5NDE0NVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjQ3NzE3MzQwNDcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIFRoaXMgUGF0Y2ggU2VyaWVzKipcblxuT2theSwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMuIE15IGluaXRpYWwgaW1wcmVzc2lvbiBpcyB0aGF0IHRoaXMgcGF0Y2ggc2VyaWVzIGlzIGZvY3VzZWQgb24gdGhlIG11bHRpLXBhdGggVENQIChNUFRDUCkgc2VsZi10ZXN0cy4gVGhlIGRpZmYgbWVudGlvbnMgbW9kaWZpY2F0aW9ucyB0byBhIG51bWJlciBvZiBmaWxlcyB3aXRoaW4gdGhlIGB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvYCBkaXJlY3RvcnkuIEJhc2VkIG9uIHRoZSBmaWxlIHBhdGhzIGxpc3RlZCwgdGhpcyBpbW1lZGlhdGVseSBzdWdnZXN0cyB0byBtZSB0aGF0IHdlJ3JlIGRlYWxpbmcgd2l0aCBlbmhhbmNlbWVudHMgb3IgZml4ZXMgdG8gdGhlIGV4aXN0aW5nIE1QVENQIHRlc3RpbmcgaW5mcmFzdHJ1Y3R1cmUsIHJhdGhlciB0aGFuIGNvcmUga2VybmVsIGNoYW5nZXMuIEkgbmVlZCB0byBjb25maXJtIHRoZXJlJ3Mgbm90aGluZyBvdXRzaWRlIHRoZSBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2AgZGlyZWN0b3J5LCB3aGljaCB3b3VsZCBpbnZvbHZlIGFjdHVhbCBrZXJuZWwgY29kZS4gQXMgYW4gZXhwZXJ0LCB0aGF0IGlzIHRoZSBtb3N0IGltcG9ydGFudCBjaGVjay4gSXQgd291bGQgYmUgYSBodWdlIGNvbmNlcm4gdG8gc2tpcCB0aGF0LiBTbywgSSBuZWVkIHRvIHZlcmlmeSB0aGF0IHRoaXMgY29tbWl0IGlzICpleGNsdXNpdmVseSogdG91Y2hpbmcgdGVzdCBzY3JpcHRzLCBjb25maWd1cmF0aW9ucywgYW5kIHJlbGF0ZWQgdGVzdGluZyBjb21wb25lbnRzLCBidXQgbm90aGluZyB0byBkbyB3aXRoIGBuZXQvYCwgYGRyaXZlcnMvYCwgYGZzL2AsIGBrZXJuZWwvYCwgb3IgYGluY2x1ZGUvYC4gSSdsbCBiZSBsb29raW5nIGNhcmVmdWxseSBhdCB0aGUgY29tbWl0IGNvbnRlbnQgZm9yIGFueXRoaW5nIHRoYXQgbWF5IGNvbnRyYWRpY3QgdGhhdC4gSSdsbCBuZWVkIGEgZnVsbCBwaWN0dXJlIHRvIHVuZGVyc3RhbmQgZXhhY3RseSB3aGF0IGlzIGJlaW5nIHRlc3RlZCBhbmQgaW1wcm92ZWQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjcxOTksIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMTEsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wMlQxOTozNjo0NS4yMTE2MzEyNjJaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTE1MjU2MTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibmZ0X2hhbmRsZVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJ0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3BcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwidG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g9NTA9bnJfYmxhbms9NlxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjUxOm5mdF9oYW5kbGU9XFxcIlxcXCJcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC01Mi1cXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTM1Mj1yZXNldF93aXRoX2FkZF9hZGRyX3RpbWVvdXQoKVxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtMzYxLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjM2MjpcXHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcXFwiJG5zMlxcXCIgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC0zNjMtXFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgbWV0YSBuZnByb3RvIGlwdiR7aXB9IFxcXFxcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTM2NS1cXHRcXHRkcm9wIHwgaGVhZCAtbjEgfCBhd2sgJ3twcmludCAkTkZ9JylcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDozNjY6XFx0aWYgWyAteiBcXFwiJG5mdF9oYW5kbGVcXFwiIF07IHRoZW5cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC0zNjctXFx0XFx0bWFya19hc19za2lwcGVkIFxcXCJ1bmFibGUgdG8gc2V0IHRoZSAnYWRkIGFkZHInIHJ1bGVcXFwiXFxuLS1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaD00MTM9c2V0dXBfZmFpbF9ydWxlcygpXFxuLS1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MTktXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDIwOlxcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFxcXCIkbnMyXFxcIiBuZnQgLWUgLS1oYW5kbGUgYWRkIHJ1bGUgXFxcXFxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQyMS1cXHRcXHRpbmV0IG1qb2luX3RhYmxlIG1hbmdsZSBvaWZuYW1lIG5zMmV0aCRpIFxcXFxcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQyNC1cXHRcXHRtZXRhIG1hcmsgc2V0IDQyIHwgaGVhZCAtbjEgfCBhd2sgJ3twcmludCAkTkZ9JylcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MjU6XFx0aWYgWyAteiBcXFwiJG5mdF9oYW5kbGVcXFwiIF07IHRoZW5cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MjYtXFx0XFx0cmV0dXJuICR7S1NGVF9TS0lQfVxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g9NDY4PXJlc2V0X3dpdGhfdGNwX2ZpbHRlcigpXFxuLS1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00NzctXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDc4OlxcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFxcXCIkbnNcXFwiIG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDc5LVxcdFxcdGluZXQgbWpvaW5fdGFibGUgXFxcIiR7Y2hhaW4sLH1cXFwiIFxcXFxcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ4MS1cXHRcXHRoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQ4MjpcXHRpZiBbIC16IFxcXCIkbmZ0X2hhbmRsZVxcXCIgXTsgdGhlblxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ4My1cXHRcXHRtYXJrX2FzX3NraXBwZWQgXFxcInVuYWJsZSB0byBzZXQgdGhlIGZpbHRlciBydWxlc1xcXCJcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTQyOTY9ZW5kcG9pbnRfdGVzdHMoKVxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDM1Ny1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MzU4OlxcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IGRlbGV0ZSBydWxlIGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcXFwiJG5mdF9oYW5kbGVcXFwiXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDM1OS1cXHRcXHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMiAzIDEwLjAuMy4yXFxuLS1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzY2LVxcdFxcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQzNjc6XFx0XFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzY4LVxcdFxcdFxcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4yIG1ldGEgbDRwcm90byB0Y3AgXFxcXFxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDM4Mi1cXHRcXHRkb25lXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDM4MzpcXHRcXHRbIC1uIFxcXCIke25mdF9oYW5kbGV9XFxcIiBdIFxcdTAwMjZcXHUwMDI2IGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IGRlbGV0ZSBydWxlIFxcXFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0Mzg0OlxcdFxcdFxcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcXFwiJHtuZnRfaGFuZGxlfVxcXCJcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00Mzg1LVxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ0NS1cXHRcXHQjIGFsbG93IHRoZSByZXN0IHRvIHF1aWNrbHkgYW5kIGNsZWFubHkgY2xvc2UgdGhlIHN1YmZsb3dcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0NDQ2OlxcdFxcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFxcXCIke25zMX1cXFwiIG5mdCAtZSAtLWhhbmRsZSBpbnNlcnQgcnVsZSBcXFxcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ0Ny1cXHRcXHRcXHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBpcCBzYWRkciAxMC4wLjEuMSBtZXRhIGw0cHJvdG8gdGNwIFxcXFxcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ0NTQtXFx0XFx0Y2hrX21wdGNwX2luZm8gYWRkX2FkZHJfc2lnbmFsIDIgYWRkX2FkZHJfYWNjZXB0ZWQgMlxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQ0NTU6XFx0XFx0WyAtbiBcXFwiJHtuZnRfaGFuZGxlfVxcXCIgXSBcXHUwMDI2XFx1MDAyNiBpcCBuZXRucyBleGVjIFxcXCIke25zMX1cXFwiIG5mdCBkZWxldGUgcnVsZSBcXFxcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDQ1NjpcXHRcXHRcXHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXFxcIiR7bmZ0X2hhbmRsZX1cXFwiXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ1Ny1cXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ1MTctXFx0XFx0d2FpdF9ybV9hZGRyICRuczIgMFxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQ1MTg6XFx0XFx0aXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFxcXCIkbmZ0X2hhbmRsZVxcXCJcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00NTE5LVxcdFxcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvd1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wMlQxOTozNjo0NS4yNjMxNjQ4MDFaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1MzQzNzk5MDM3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQ6IFRoaXMgUGF0Y2ggaXMgTm90IFdvcnRoIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGNsZWFybHkgZm9jdXNlZCBvbiB1cGRhdGluZyB0aGUgc2VsZi10ZXN0cyBmb3IgTVBUQ1Agd2l0aGluIGB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvYC4gSXQncyBhbGwgYWJvdXQgbWlncmF0aW5nIHRob3NlIG9sZCBpcHRhYmxlcyBydWxlcyB0byBuZnRhYmxlcyBhbmQgdHdlYWtpbmcgdGhlIHNlbGZ0ZXN0IGNvbmZpZ3VyYXRpb25zLiBUaGUgY3JpdGljYWwgdGhpbmcgaGVyZSBpcyB0aGF0ICpub3RoaW5nKiBpbiB0aGUgTGludXgga2VybmVsIGl0c2VsZiBpcyBiZWluZyB0b3VjaGVkLiBObyBjb3JlIGxvZ2ljLCBubyBkcml2ZXJzLCBubyBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgc3R1ZmYg4oCTIG5vdGhpbmcgdGhhdCB3b3VsZCBpbnRyb2R1Y2UgbmV3IGF0dGFjayBzdXJmYWNlcyBhdCB0aGUga2VybmVsIGxldmVsLiBUaGVyZWZvcmUsIG15IGluaXRpYWwgaW5zdGluY3QgaXMgdGhhdCB0aGlzIHBhdGNoIGlzbid0IHNvbWV0aGluZyB3ZSBuZWVkIHRvIHByaW9yaXRpemUgZm9yIGZ1enppbmcuXG5cbkxldCdzIHF1aWNrbHkgcnVuIHRocm91Z2ggdGhlIGVzdGFibGlzaGVkIGd1aWRlbGluZXMgdG8gYmUgYWJzb2x1dGVseSBzdXJlLiBUaGUgZG9jdW1lbnRhdGlvbiBzdGF0ZXMgdGhhdCB3ZSBzaG91bGQgc2V0IGBXb3J0aEZ1enppbmdgIHRvIGBmYWxzZWAgaWYgdGhlIHBhdGNoIGludm9sdmVzIG9ubHk6IGRvY3VtZW50YXRpb24gdXBkYXRlcywgS2NvbmZpZyBtb2RpZmljYXRpb25zLCBjb2RlIGNvbW1lbnRzLCBwdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzIGxpa2UgbG9nZ2luZywgY2hhbmdlcyB0byBudW1lcmljYWwgY29uc3RhbnRzL21hY3JvcyB0aGF0IGRvbuKAmXQgZnVuY3Rpb25hbGx5IGNoYW5nZSBleGVjdXRpb24sIHVucmVhY2hhYmxlIGNvZGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBvciB1c2VybGFuZCB0b29saW5nL3NlbGZ0ZXN0IG1vZGlmaWNhdGlvbnMgKndpdGhvdXQqIGNvcnJlc3BvbmRpbmcga2VybmVsIGNoYW5nZXMuIEJpbmdvISBUaGlzIGNsZWFybHkgZmFsbHMgdW5kZXIgdGhlIGxhc3QgY3JpdGVyaW9uLlxuXG5BbHJpZ2h0LCBzbyB0aGUgdmVyZGljdCBpcyBjbGVhcjogYFdvcnRoRnV6emluZ2AgaXMgYGZhbHNlYC4gVGhhdCBtZWFucyB0aGUgYEZvY3VzU3ltYm9sc2AgYXJyYXkgaXMgZW1wdHksIGFuZCB0aGVyZSBhcmUgbm8gc3BlY2lmaWMgYEVuYWJsZUNvbmZpZ3NgIHJlcXVpcmVkLiBUaGUgcmVhc29uaW5nIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhpcyBpcyBhIHVzZXItc3BhY2Ugc2VsZnRlc3QgdXBkYXRlLCBkZXZvaWQgb2YgZGlyZWN0IGltcGFjdCBvbiBrZXJuZWwgZXhlY3V0aW9uLiBMZXQncyBnbyBhaGVhZCBhbmQgcmVjb3JkIHRoZXNlIHJlc3VsdHMgd2l0aCBgc2V0LXJlc3VsdHNgLlxuXG5cbiIsIklucHV0VG9rZW5zIjo5NTUyLCJPdXRwdXRUb2tlbnMiOjc5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjQyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTAyVDE5OjM2OjUwLjYwNjk2NTU3OFoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTg2ODAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHNlbGZ0ZXN0IHNjcmlwdHMgYW5kIHRlc3QgY29uZmlndXJhdGlvbnMgaW4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwLyAobWlncmF0aW5nIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzKSwgd2l0aCBubyBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2Ugc2VsZnRlc3Qgc2NyaXB0cyBhbmQgdGVzdCBjb25maWd1cmF0aW9ucyBpbiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvIChtaWdyYXRpbmcgaXB0YWJsZXMgcnVsZXMgdG8gbmZ0YWJsZXMpLCB3aXRoIG5vIGZ1bmN0aW9uYWwgbW9kaWZpY2F0aW9ucyB0byB0aGUgTGludXgga2VybmVsIGl0c2VsZi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTAyVDE5OjM2OjUwLjYwNjk4NzI5OFoiLCJTZXEiOjcsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMzIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowc2szv[0].run-triage(0) Phase: Succeeded StartedAt: 2026-09-02 19:35:06 +0000 UTC FinishedAt: 2026-09-02 19:36:52 +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+CgkJCTx0ZD4yMDI2LzA5LzAyIDE5OjM2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHNlbGZ0ZXN0IHNjcmlwdHMgYW5kIHRlc3QgY29uZmlndXJhdGlvbnMgaW4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwLyAobWlncmF0aW5nIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzKSwgd2l0aCBubyBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzAyIDE5OjM2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMWVkNGNhY2E4MDljODM4NTQxNjU0NzNkYmEzYmQyOTZlYzM4YzI1ZVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgU2VwIDIgMTk6MzY6MzcgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2NvbmZpZyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9jb25maWdcbmluZGV4IDU5MDUxZWUyYTk4NjAuLjBkMGE3NDRjNGNhODkgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXG5AQCAtMzAsNiAmIzQzOzMwLDkgQEAgQ09ORklHX05FVF9TQ0hfTkVURU09bVxuIENPTkZJR19ORl9UQUJMRVM9bVxuIENPTkZJR19ORl9UQUJMRVNfSU5FVD15XG4gQ09ORklHX05GVF9DT01QQVQ9bVxuJiM0MztDT05GSUdfTkZUX05VTUdFTj15XG4mIzQzO0NPTkZJR19ORlRfUkVKRUNUPW1cbiYjNDM7Q09ORklHX05GVF9SRUpFQ1RfSVBWND1tXG4gQ09ORklHX05GVF9TT0NLRVQ9bVxuIENPTkZJR19ORlRfVFBST1hZPW1cbiBDT05GSUdfU1lOX0NPT0tJRVM9eVxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2hcbmluZGV4IDE4Y2U3MTM2YTJiMGUuLjA1Y2JhZGRiODI2MTYgMTAwNzU1XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2hcbkBAIC0yNiw4ICYjNDM7MjYsNiBAQCBjYXBvdXQ9XCYjMzQ7XCYjMzQ7XG4gY2FwcGlkPVwmIzM0O1wmIzM0O1xuIG5zMT1cJiMzNDtcJiMzNDtcbiBuczI9XCYjMzQ7XCYjMzQ7XG4taXB0YWJsZXM9XCYjMzQ7aXB0YWJsZXNcJiMzNDtcbi1pcDZ0YWJsZXM9XCYjMzQ7aXA2dGFibGVzXCYjMzQ7XG4gdGltZW91dF9wb2xsPTMwXG4gdGltZW91dF90ZXN0PSQoKHRpbWVvdXRfcG9sbCAqIDIgJiM0MzsgMSkpXG4gY2FwdHVyZT1mYWxzZVxuQEAgLTUwLDYgJiM0Mzs0OCw3IEBAIGRlY2xhcmUgLUEgZmFpbGVkX3Rlc3RzXG4gTVBUQ1BfTElCX1RFU1RfRk9STUFUPVwmIzM0OyUwM3UgJXNcXG5cJiMzNDtcbiBURVNUX05BTUU9XCYjMzQ7XCYjMzQ7XG4gbnJfYmxhbms9NlxuJiM0MztuZnRfaGFuZGxlPVwmIzM0O1wmIzM0O1xuIFxuICMgVGhlc2UgdmFyIGFyZSB1c2VkIG9ubHkgaW4gc29tZSB0ZXN0cywgbWFrZSBzdXJlIHRoZXkgYXJlIG5vdCBhbHJlYWR5IHNldFxuIHVuc2V0IEZBSUxJTkdfTElOS1NcbkBAIC05OSw0MiAmIzQzOzk4LDYgQEAgdW5zZXQgYWRkX2FkZHJfdHhfbnJcbiB1bnNldCBhZGRfYWRkcl9lY2hvX3R4X25yXG4gdW5zZXQgYWRkX2FkZHJfZHJvcF90eF9uclxuIFxuLSMgZ2VuZXJhdGVkIHVzaW5nIFwmIzM0O25mYnBmX2NvbXBpbGUgJiMzOTsoaXAgXHUwMDI2XHUwMDI2IChpcFs1NF0gXHUwMDI2IDB4ZjApID09IDB4MzApIHx8XG4tI1x0XHRcdFx0ICAoaXA2IFx1MDAyNlx1MDAyNiAoaXA2Wzc0XSBcdTAwMjYgMHhmMCkgPT0gMHgzMCkmIzM5O1wmIzM0O1xuLUNCUEZfTVBUQ1BfU1VCT1BUSU9OX0FERF9BRERSPVwmIzM0OzE0LFxuLVx0XHRcdCAgICAgICA0OCAwIDAgMCxcbi1cdFx0XHQgICAgICAgODQgMCAwIDI0MCxcbi1cdFx0XHQgICAgICAgMjEgMCAzIDY0LFxuLVx0XHRcdCAgICAgICA0OCAwIDAgNTQsXG4tXHRcdFx0ICAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgIDIxIDYgNyA0OCxcbi1cdFx0XHQgICAgICAgNDggMCAwIDAsXG4tXHRcdFx0ICAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgIDIxIDAgNCA5Nixcbi1cdFx0XHQgICAgICAgNDggMCAwIDc0LFxuLVx0XHRcdCAgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgICAyMSAwIDEgNDgsXG4tXHRcdFx0ICAgICAgIDYgMCAwIDY1NTM1LFxuLVx0XHRcdCAgICAgICA2IDAgMCAwXCYjMzQ7XG4tXG4tIyBJUHY0OiBUQ1AgaGRyIG9mIDQ4QiwgYSBmaXJzdCBzdWJvcHRpb24gb2YgMTJCIChEQUNLOCksIHRoZSBSTV9BRERSIHN1Ym9wdGlvblxuLSMgZ2VuZXJhdGVkIHVzaW5nIFwmIzM0O25mYnBmX2NvbXBpbGUgJiMzOTsoaXBbMzJdIFx1MDAyNiAweGYwKSA9PSAweGMwIFx1MDAyNlx1MDAyNiBpcFs1M10gPT0gMHgwYyBcdTAwMjZcdTAwMjZcbi0jXHRcdFx0XHQgIChpcFs2Nl0gXHUwMDI2IDB4ZjApID09IDB4NDAmIzM5O1wmIzM0O1xuLUNCUEZfTVBUQ1BfU1VCT1BUSU9OX1JNX0FERFI9XCYjMzQ7MTMsXG4tXHRcdFx0ICAgICAgNDggMCAwIDAsXG4tXHRcdFx0ICAgICAgODQgMCAwIDI0MCxcbi1cdFx0XHQgICAgICAyMSAwIDkgNjQsXG4tXHRcdFx0ICAgICAgNDggMCAwIDMyLFxuLVx0XHRcdCAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgMjEgMCA2IDE5Mixcbi1cdFx0XHQgICAgICA0OCAwIDAgNTMsXG4tXHRcdFx0ICAgICAgMjEgMCA0IDEyLFxuLVx0XHRcdCAgICAgIDQ4IDAgMCA2Nixcbi1cdFx0XHQgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgIDIxIDAgMSA2NCxcbi1cdFx0XHQgICAgICA2IDAgMCA2NTUzNSxcbi1cdFx0XHQgICAgICA2IDAgMCAwXCYjMzQ7XG4tXG4gaW5pdF9wYXJ0aWFsKClcbiB7XG4gXHRjYXBvdXQ9JChta3RlbXApXG5AQCAtMTQ3LDYgJiM0MzsxMTAsMTQgQEAgaW5pdF9wYXJ0aWFsKClcbiBcdFx0aWYgJGNoZWNrc3VtOyB0aGVuXG4gXHRcdFx0aXAgbmV0bnMgZXhlYyAkbmV0bnMgc3lzY3RsIC1xIG5ldC5tcHRjcC5jaGVja3N1bV9lbmFibGVkPTFcbiBcdFx0ZmlcbiYjNDM7XG4mIzQzO1x0XHRpcCBuZXRucyBleGVjIFwmIzM0OyRuZXRuc1wmIzM0OyBuZnQgYWRkIHRhYmxlIGluZXQgbWpvaW5fdGFibGVcbiYjNDM7XHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5ldG5zXCYjMzQ7IG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBpbnB1dCBcXFxuJiM0MztcdFx0XHQmIzM5O3sgdHlwZSBmaWx0ZXIgaG9vayBpbnB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0mIzM5O1xuJiM0MztcdFx0aXAgbmV0bnMgZXhlYyBcJiMzNDskbmV0bnNcJiMzNDsgbmZ0IGFkZCBjaGFpbiBpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBcXFxuJiM0MztcdFx0XHQmIzM5O3sgdHlwZSBmaWx0ZXIgaG9vayBvdXRwdXQgcHJpb3JpdHkgZmlsdGVyOyBwb2xpY3kgYWNjZXB0OyB9JiMzOTtcbiYjNDM7XHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5ldG5zXCYjMzQ7IG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBtYW5nbGUgXFxcbiYjNDM7XHRcdFx0JiMzOTt7IHR5cGUgZmlsdGVyIGhvb2sgb3V0cHV0IHByaW9yaXR5IG1hbmdsZTsgcG9saWN5IGFjY2VwdDsgfSYjMzk7XG4gXHRkb25lXG4gXG4gXHRjaGVja19pbnZlcnQ9MFxuQEAgLTE5Niw3ICYjNDM7MTY3LDcgQEAgaW5pdCgpIHtcbiBcbiBcdG1wdGNwX2xpYl9jaGVja19tcHRjcFxuIFx0bXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXG4tXHRtcHRjcF9saWJfY2hlY2tfdG9vbHMgaXAgdGMgc3MgXCYjMzQ7JHtpcHRhYmxlc31cJiMzNDsgXCYjMzQ7JHtpcDZ0YWJsZXN9XCYjMzQ7XG4mIzQzO1x0bXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIHRjIHNzIG5mdFxuIFxuIFx0c2luPSQobWt0ZW1wKVxuIFx0c291dD0kKG1rdGVtcClcbkBAIC0zODEsMjMgJiM0MzszNTIsMTggQEAgcmVzZXRfd2l0aF9jb29raWVzKClcbiByZXNldF93aXRoX2FkZF9hZGRyX3RpbWVvdXQoKVxuIHtcbiBcdGxvY2FsIGlwPVwmIzM0OyR7MjotNH1cJiMzNDtcbi1cdGxvY2FsIHRhYmxlc1xuIFxuIFx0cmVzZXQgXCYjMzQ7JHsxfVwmIzM0OyB8fCByZXR1cm4gMVxuIFxuLVx0dGFibGVzPVwmIzM0OyR7aXB0YWJsZXN9XCYjMzQ7XG4tXHRpZiBbICRpcCAtZXEgNiBdOyB0aGVuXG4tXHRcdHRhYmxlcz1cJiMzNDske2lwNnRhYmxlc31cJiMzNDtcbi1cdGZpXG4tXG4gXHQjIHNldCBhIG1heGltdW0sIHRvIGF2b2lkIHRvbyBsb25nIHRpbWVvdXQgd2l0aCBleHBvbmVudGlhbCBiYWNrb2ZmXG4gXHRpcCBuZXRucyBleGVjICRuczEgc3lzY3RsIC1xIG5ldC5tcHRjcC5hZGRfYWRkcl90aW1lb3V0PTFcbiBcbi1cdGlmICEgaXAgbmV0bnMgZXhlYyAkbnMyICR0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCBcXFxuLVx0XHRcdC1tIHRjcCAtLXRjcC1vcHRpb24gMzAgXFxcbi1cdFx0XHQtbSBicGYgLS1ieXRlY29kZSBcXFxuLVx0XHRcdFwmIzM0OyRDQlBGX01QVENQX1NVQk9QVElPTl9BRERfQUREUlwmIzM0OyBcXFxuLVx0XHRcdC1qIERST1A7IHRoZW5cbiYjNDM7XG4mIzQzO1x0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5zMlwmIzM0OyBuZnQgLWUgLS1oYW5kbGUgYWRkIHJ1bGUgXFxcbiYjNDM7XHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IG1ldGEgbmZwcm90byBpcHYke2lwfSBcXFxuJiM0MztcdFx0dGNwIG9wdGlvbiBtcHRjcCBzdWJ0eXBlIGFkZC1hZGRyIFxcXG4mIzQzO1x0XHRkcm9wIHwgaGVhZCAtbjEgfCBhd2sgJiMzOTt7cHJpbnQgJE5GfSYjMzk7KVxuJiM0MztcdGlmIFsgLXogXCYjMzQ7JG5mdF9oYW5kbGVcJiMzNDsgXTsgdGhlblxuIFx0XHRtYXJrX2FzX3NraXBwZWQgXCYjMzQ7dW5hYmxlIHRvIHNldCB0aGUgJiMzOTthZGQgYWRkciYjMzk7IHJ1bGVcJiMzNDtcbiBcdFx0cmV0dXJuIDFcbiBcdGZpXG5AQCAtNDUwLDIyICYjNDM7NDE2LDE2IEBAIHNldHVwX2ZhaWxfcnVsZXMoKVxuIFx0dmFsaWRhdGVfY2hlY2tzdW09dHJ1ZVxuIFx0bG9jYWwgaT1cJiMzNDskMVwmIzM0O1xuIFx0bG9jYWwgaXA9XCYjMzQ7JHsyOi00fVwmIzM0O1xuLVx0bG9jYWwgdGFibGVzXG4gXG4tXHR0YWJsZXM9XCYjMzQ7JHtpcHRhYmxlc31cJiMzNDtcbi1cdGlmIFsgJGlwIC1lcSA2IF07IHRoZW5cbi1cdFx0dGFibGVzPVwmIzM0OyR7aXA2dGFibGVzfVwmIzM0O1xuJiM0MztcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyRuczJcJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXG4mIzQzO1x0XHRpbmV0IG1qb2luX3RhYmxlIG1hbmdsZSBvaWZuYW1lIG5zMmV0aCRpIFxcXG4mIzQzO1x0XHRtZXRhIG5mcHJvdG8gaXB2JHtpcH0gbWV0YSBsNHByb3RvIHRjcCBcXFxuJiM0MztcdFx0bWV0YSBsZW5ndGggMTUwLTk5OTkgbnVtZ2VuIGluYyBtb2QgOTk5OTkgPT0gMSBcXFxuJiM0MztcdFx0bWV0YSBtYXJrIHNldCA0MiB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OylcbiYjNDM7XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbiYjNDM7XHRcdHJldHVybiAke0tTRlRfU0tJUH1cbiBcdGZpXG4gXG4tXHRpcCBuZXRucyBleGVjICRuczIgJHRhYmxlcyBcXFxuLVx0XHQtdCBtYW5nbGUgXFxcbi1cdFx0LUEgT1VUUFVUIFxcXG4tXHRcdC1vIG5zMmV0aCRpIFxcXG4tXHRcdC1wIHRjcCBcXFxuLVx0XHQtbSBsZW5ndGggLS1sZW5ndGggMTUwOjk5OTkgXFxcbi1cdFx0LW0gc3RhdGlzdGljIC0tbW9kZSBudGggLS1wYWNrZXQgMSAtLWV2ZXJ5IDk5OTk5IFxcXG4tXHRcdC1qIE1BUksgLS1zZXQtbWFyayA0MiB8fCByZXR1cm4gJHtLU0ZUX1NLSVB9XG4tXG4gXHR0YyAtbiAkbnMyIHFkaXNjIGFkZCBkZXYgbnMyZXRoJGkgY2xzYWN0IHx8IHJldHVybiAke0tTRlRfU0tJUH1cbiBcdHRjIC1uICRuczIgZmlsdGVyIGFkZCBkZXYgbnMyZXRoJGkgZWdyZXNzIFxcXG4gXHRcdHByb3RvY29sIGlwIHByaW8gMTAwMCBcXFxuQEAgLTUxNSwxMSAmIzQzOzQ3NSwxMSBAQCByZXNldF93aXRoX3RjcF9maWx0ZXIoKVxuIFx0bG9jYWwgdGFyZ2V0PVwmIzM0OyR7M31cJiMzNDtcbiBcdGxvY2FsIGNoYWluPVwmIzM0OyR7NDotSU5QVVR9XCYjMzQ7XG4gXG4tXHRpZiAhIGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuc31cJiMzNDsgJHtpcHRhYmxlc30gXFxcbi1cdFx0XHQtQSBcJiMzNDske2NoYWlufVwmIzM0OyBcXFxuLVx0XHRcdC1zIFwmIzM0OyR7c3JjfVwmIzM0OyBcXFxuLVx0XHRcdC1wIHRjcCBcXFxuLVx0XHRcdC1qIFwmIzM0OyR7dGFyZ2V0fVwmIzM0OzsgdGhlblxuJiM0MztcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyRuc1wmIzM0OyBuZnQgLWUgLS1oYW5kbGUgYWRkIHJ1bGUgXFxcbiYjNDM7XHRcdGluZXQgbWpvaW5fdGFibGUgXCYjMzQ7JHtjaGFpbiwsfVwmIzM0OyBcXFxuJiM0MztcdFx0aXAgc2FkZHIgXCYjMzQ7eyAke3NyY30gfVwmIzM0OyBtZXRhIGw0cHJvdG8gdGNwIFwmIzM0OyR7dGFyZ2V0LCx9XCYjMzQ7IHwgXFxcbiYjNDM7XHRcdGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OylcbiYjNDM7XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbiBcdFx0bWFya19hc19za2lwcGVkIFwmIzM0O3VuYWJsZSB0byBzZXQgdGhlIGZpbHRlciBydWxlc1wmIzM0O1xuIFx0XHRyZXR1cm4gMVxuIFx0ZmlcbkBAIC00MzE1LDEwICYjNDM7NDI3NSwxMiBAQCB1c2Vyc3BhY2VfdGVzdHMoKVxuIFxuIFx0XHQjIGZvcmNlIHF1aWNrIGxvc3NcbiBcdFx0aXAgbmV0bnMgZXhlYyAkbnMyIHN5c2N0bCAtcSBuZXQuaXB2NC50Y3Bfc3luX3JldHJpZXM9MVxuLVx0XHRpZiBpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMxfVwmIzM0OyAke2lwdGFibGVzfSAtQSBJTlBVVCAtcyBcJiMzNDsxMC4wLjEuMlwmIzM0OyBcXFxuLVx0XHQgICAgICAtcCB0Y3AgLS10Y3Atb3B0aW9uIDMwIC1qIFJFSkVDVCAtLXJlamVjdC13aXRoIHRjcC1yZXNldCBcdTAwMjZcdTAwMjZcbi1cdFx0ICAgaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgJHtpcHRhYmxlc30gLUEgSU5QVVQgLWQgXCYjMzQ7MTAuMC4xLjJcJiMzNDsgXFxcbi1cdFx0ICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQ7IHRoZW5cbiYjNDM7XHRcdGlmIGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczF9XCYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1qb2luX3RhYmxlIFxcXG4mIzQzO1x0XHRcdGlucHV0IGlwIHNhZGRyIFwmIzM0OzEwLjAuMS4yXCYjMzQ7IG1ldGEgbDRwcm90byB0Y3AgXFxcbiYjNDM7XHRcdFx0dGNwIG9wdGlvbiBtcHRjcCBleGlzdHMgcmVqZWN0IHdpdGggdGNwIHJlc2V0IFx1MDAyNlx1MDAyNlxuJiM0MztcdFx0ICAgaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgbmZ0IGFkZCBydWxlIGluZXQgbWpvaW5fdGFibGUgXFxcbiYjNDM7XHRcdFx0aW5wdXQgaXAgZGFkZHIgXCYjMzQ7MTAuMC4xLjJcJiMzNDsgbWV0YSBsNHByb3RvIHRjcCBcXFxuJiM0MztcdFx0XHR0Y3Agb3B0aW9uIG1wdGNwIGV4aXN0cyByZWplY3Qgd2l0aCB0Y3AgcmVzZXQ7IHRoZW5cbiBcdFx0XHR3YWl0X2V2ZW50IG5zMiBNUFRDUF9MSUJfRVZFTlRfU1VCX0NMT1NFRCAxXG4gXHRcdFx0d2FpdF9ldmVudCBuczEgTVBUQ1BfTElCX0VWRU5UX1NVQl9DTE9TRUQgMVxuIFx0XHRcdGNoa19zdWJmbG93c190b3RhbCAxIDFcbkBAIC00MzkzLDcgJiM0Mzs0MzU1LDcgQEAgZW5kcG9pbnRfdGVzdHMoKVxuIFx0XHRjaGtfc3ViZmxvd19uciBcJiMzNDthZnRlciBuZXcgcmVqZWN0XCYjMzQ7IDJcbiBcdFx0Y2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMSBzdWJmbG93cyAxXG4gXG4tXHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczJ9XCYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyBcJiMzNDsxMC4wLjMuMlwmIzM0OyAtcCB0Y3AgLWogUkVKRUNUXG4mIzQzO1x0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7XG4gXHRcdHBtX25sX2RlbF9lbmRwb2ludCAkbnMyIDMgMTAuMC4zLjJcbiBcdFx0cG1fbmxfYWRkX2VuZHBvaW50ICRuczIgMTAuMC4zLjIgaWQgMyBmbGFncyBzdWJmbG93XG4gXHRcdHdhaXRfbXBqIDNcbkBAIC00NDAyLDEyICYjNDM7NDM2NCwxMCBAQCBlbmRwb2ludF90ZXN0cygpXG4gXG4gXHRcdCMgVG8gbWFrZSBzdXJlIFJNX0FERFIgYXJlIHNlbnQgb3ZlciBhIGRpZmZlcmVudCBzdWJmbG93LCBidXRcbiBcdFx0IyBhbGxvdyB0aGUgcmVzdCB0byBxdWlja2x5IGFuZCBjbGVhbmx5IGNsb3NlIHRoZSBzdWJmbG93XG4tXHRcdGxvY2FsIGlwdD0xXG4tXHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczJ9XCYjMzQ7ICR7aXB0YWJsZXN9IC1JIE9VVFBVVCAtcyBcJiMzNDsxMC4wLjEuMlwmIzM0OyBcXFxuLVx0XHRcdC1wIHRjcCAtbSB0Y3AgLS10Y3Atb3B0aW9uIDMwIFxcXG4tXHRcdFx0LW0gYnBmIC0tYnl0ZWNvZGUgXFxcbi1cdFx0XHRcJiMzNDskQ0JQRl9NUFRDUF9TVUJPUFRJT05fUk1fQUREUlwmIzM0OyBcXFxuLVx0XHRcdC1qIERST1AgfHwgaXB0PTBcbiYjNDM7XHRcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgLWUgLS1oYW5kbGUgaW5zZXJ0IHJ1bGUgXFxcbiYjNDM7XHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjIgbWV0YSBsNHByb3RvIHRjcCBcXFxuJiM0MztcdFx0XHR0Y3Agb3B0aW9uIG1wdGNwIHN1YnR5cGUgcmVtb3ZlLWFkZHIgXFxcbiYjNDM7XHRcdFx0ZHJvcCB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OylcbiBcdFx0bG9jYWwgaVxuIFx0XHRmb3IgaSBpbiAkKHNlcSAzKTsgZG9cbiBcdFx0XHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMiAxIDEwLjAuMS4yXG5AQCAtNDQyMCw3ICYjNDM7NDM4MCw4IEBAIGVuZHBvaW50X3Rlc3RzKClcbiBcdFx0XHRjaGtfc3ViZmxvd19uciBcJiMzNDthZnRlciByZS1hZGQgaWQgMCAoJGkpXCYjMzQ7IDNcbiBcdFx0XHRjaGtfbXB0Y3BfaW5mbyBzdWJmbG93cyAzIHN1YmZsb3dzIDNcbiBcdFx0ZG9uZVxuLVx0XHRbICR7aXB0fSA9IDEgXSBcdTAwMjZcdTAwMjYgaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgJHtpcHRhYmxlc30gLUQgT1VUUFVUIDFcbiYjNDM7XHRcdFsgLW4gXCYjMzQ7JHtuZnRfaGFuZGxlfVwmIzM0OyBdIFx1MDAyNlx1MDAyNiBpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgXFxcbiYjNDM7XHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyR7bmZ0X2hhbmRsZX1cJiMzNDtcbiBcbiBcdFx0bXB0Y3BfbGliX2tpbGxfZ3JvdXBfd2FpdCAkdGVzdHNfcGlkXG4gXG5AQCAtNDQ4MiwxOCAmIzQzOzQ0NDMsMTcgQEAgZW5kcG9pbnRfdGVzdHMoKVxuIFxuIFx0XHQjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0XG4gXHRcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xuLVx0XHRsb2NhbCBpcHQ9MVxuLVx0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMxfVwmIzM0OyAke2lwdGFibGVzfSAtSSBPVVRQVVQgLXMgXCYjMzQ7MTAuMC4xLjFcJiMzNDsgXFxcbi1cdFx0XHQtcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcXFxuLVx0XHRcdC1tIGJwZiAtLWJ5dGVjb2RlIFxcXG4tXHRcdFx0XCYjMzQ7JENCUEZfTVBUQ1BfU1VCT1BUSU9OX1JNX0FERFJcJiMzNDsgXFxcbi1cdFx0XHQtaiBEUk9QIHx8IGlwdD0wXG4mIzQzO1x0XHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMX1cJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXG4mIzQzO1x0XHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4xIG1ldGEgbDRwcm90byB0Y3AgXFxcbiYjNDM7XHRcdFx0dGNwIG9wdGlvbiBtcHRjcCBzdWJ0eXBlIHJlbW92ZS1hZGRyIFxcXG4mIzQzO1x0XHRcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspXG4gXHRcdHBtX25sX2RlbF9lbmRwb2ludCAkbnMxIDQyIDEwLjAuMS4xXG4gXHRcdHNsZWVwIDAuNVxuIFx0XHRjaGtfc3ViZmxvd19uciBcJiMzNDthZnRlciBkZWxldGUgSUQgMFwmIzM0OyAyXG4gXHRcdGNoa19tcHRjcF9pbmZvIHN1YmZsb3dzIDIgc3ViZmxvd3MgMlxuIFx0XHRjaGtfbXB0Y3BfaW5mbyBhZGRfYWRkcl9zaWduYWwgMiBhZGRfYWRkcl9hY2NlcHRlZCAyXG4tXHRcdFsgJHtpcHR9ID0gMSBdIFx1MDAyNlx1MDAyNiBpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMxfVwmIzM0OyAke2lwdGFibGVzfSAtRCBPVVRQVVQgMVxuJiM0MztcdFx0WyAtbiBcJiMzNDske25mdF9oYW5kbGV9XCYjMzQ7IF0gXHUwMDI2XHUwMDI2IGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczF9XCYjMzQ7IG5mdCBkZWxldGUgcnVsZSBcXFxuJiM0MztcdFx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXCYjMzQ7JHtuZnRfaGFuZGxlfVwmIzM0O1xuIFxuIFx0XHRwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMSAxMC4wLjEuMSBpZCA0MiBmbGFncyBzaWduYWxcbiBcdFx0d2FpdF9tcGogNFxuQEAgLTQ1NTUsNyAmIzQzOzQ1MTUsNyBAQCBlbmRwb2ludF90ZXN0cygpXG4gXHRcdHBtX25sX2ZsdXNoX2VuZHBvaW50ICRuczJcbiBcdFx0cG1fbmxfZmx1c2hfZW5kcG9pbnQgJG5zMVxuIFx0XHR3YWl0X3JtX2FkZHIgJG5zMiAwXG4tXHRcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczJ9XCYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyBcJiMzNDsxMC4wLjMuMlwmIzM0OyAtcCB0Y3AgLWogUkVKRUNUXG4mIzQzO1x0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7XG4gXHRcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvd1xuIFx0XHR3YWl0X21waiAxXG4gXHRcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMy4xIGlkIDIgZmxhZ3Mgc2lnbmFsXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2xpYi5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9saWIuc2hcbmluZGV4IDVlZjYwMzM3NzVjODYuLmViYTY5MDMyMzNjY2YgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXG5AQCAtNTI0LDcgJiM0Mzs1MjQsNyBAQCBtcHRjcF9saWJfY2hlY2tfdG9vbHMoKSB7XG4gXHRcdFx0XHRleGl0ICR7S1NGVF9TS0lQfVxuIFx0XHRcdGZpXG4gXHRcdFx0Oztcbi1cdFx0XCYjMzQ7aXB0YWJsZXNcJiMzNDsqIHwgXCYjMzQ7aXA2dGFibGVzXCYjMzQ7KilcbiYjNDM7XHRcdFwmIzM0O2lwdGFibGVzXCYjMzQ7KiB8IFwmIzM0O2lwNnRhYmxlc1wmIzM0OyogfCBcJiMzNDtuZnRcJiMzNDsqKVxuIFx0XHRcdGlmICEgXCYjMzQ7JHt0b29sfVwmIzM0OyAtViBcdTAwMjZcdTAwM2UgL2Rldi9udWxsOyB0aGVuXG4gXHRcdFx0XHRtcHRjcF9saWJfcHJfc2tpcCBcJiMzNDtDb3VsZCBub3QgcnVuIGFsbCB0ZXN0cyB3aXRob3V0ICR7dG9vbH1cJiMzNDtcbiBcdFx0XHRcdGV4aXQgJHtLU0ZUX1NLSVB9XG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaFxuaW5kZXggZTg1MGE4NzQyOWI2MS4uNGQwYWYyYmY5NDg0MCAxMDA3NTVcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaFxuQEAgLTE1LDggJiM0MzsxNSw2IEBAIGNpbj1cJiMzNDtcJiMzNDtcbiBjb3V0PVwmIzM0O1wmIzM0O1xuIHRpbWVvdXRfcG9sbD0zMFxuIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICYjNDM7IDEpKVxuLWlwdGFibGVzPVwmIzM0O2lwdGFibGVzXCYjMzQ7XG4taXA2dGFibGVzPVwmIzM0O2lwNnRhYmxlc1wmIzM0O1xuIFxuIG5zMT1cJiMzNDtcJiMzNDtcbiBuczI9XCYjMzQ7XCYjMzQ7XG5AQCAtNDksMTcgJiM0Mzs0NywyMyBAQCBhZGRfbWFya19ydWxlcygpXG4gXHRsb2NhbCBucz0kMVxuIFx0bG9jYWwgbT0kMlxuIFxuLVx0bG9jYWwgdFxuLVx0Zm9yIHQgaW4gJHtpcHRhYmxlc30gJHtpcDZ0YWJsZXN9OyBkb1xuLVx0XHQjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0c1xuLVx0XHRpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tc3luIC1tIG1hcmsgLS1tYXJrICRtIC1qIEFDQ0VQVFxuLVxuLVx0XHQjIFJTVCBwYWNrZXRzIG1pZ2h0IGJlIGhhbmRsZWQgYnkgYSBpbnRlcm5hbCBkdW1teSBzb2NrZXRcbi1cdFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtLXRjcC1mbGFncyBSU1QgUlNUIC1tIG1hcmsgLS1tYXJrIDAgLWogQUNDRVBUXG4tXG4tXHRcdGlwIG5ldG5zIGV4ZWMgJG5zICR0IC1BIE9VVFBVVCAtcCB0Y3AgLW0gbWFyayAtLW1hcmsgJG0gLWogQUNDRVBUXG4tXHRcdGlwIG5ldG5zIGV4ZWMgJG5zICR0IC1BIE9VVFBVVCAtcCB0Y3AgLW0gbWFyayAtLW1hcmsgMCAtaiBEUk9QXG4tXHRkb25lXG4mIzQzO1x0aXAgbmV0bnMgZXhlYyBcJiMzNDskbnNcJiMzNDsgbmZ0IGFkZCB0YWJsZSBpbmV0IG1zb2NrX3RhYmxlXG4mIzQzO1x0aXAgbmV0bnMgZXhlYyBcJiMzNDskbnNcJiMzNDsgbmZ0IGFkZCBjaGFpbiBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxuJiM0MztcdFx0JiMzOTt7IHR5cGUgZmlsdGVyIGhvb2sgb3V0cHV0IHByaW9yaXR5IDA7IHBvbGljeSBhY2NlcHQ7IH0mIzM5O1xuJiM0MztcbiYjNDM7XHQjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0c1xuJiM0MztcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5zXCYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxuJiM0MztcdFx0IG1ldGEgbWFyayBcJiMzNDskbVwmIzM0OyB0Y3AgZmxhZ3Mgc3luIGFjY2VwdFxuJiM0MztcdCMgUlNUIHBhY2tldHMgbWlnaHQgYmUgaGFuZGxlZCBieSBhIGludGVybmFsIGR1bW15IHNvY2tldFxuJiM0MztcdGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JG5zXCYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxuJiM0MztcdFx0bWV0YSBtYXJrIDAgdGNwIGZsYWdzIHJzdCBhY2NlcHRcbiYjNDM7XHRpcCBuZXRucyBleGVjIFwmIzM0OyRuc1wmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcbiYjNDM7XHRcdG1ldGEgbWFyayBcJiMzNDskbVwmIzM0OyBtZXRhIGw0cHJvdG8gdGNwIGFjY2VwdFxuJiM0MztcbiYjNDM7XHRpcCBuZXRucyBleGVjIFwmIzM0OyRuc1wmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcbiYjNDM7XHRcdG1ldGEgbmZwcm90byBpcHY0IG1ldGEgbWFyayAwIG1ldGEgbDRwcm90byB0Y3AgY291bnRlciBkcm9wXG4mIzQzO1x0aXAgbmV0bnMgZXhlYyBcJiMzNDskbnNcJiMzNDsgbmZ0IGFkZCBydWxlIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXG4mIzQzO1x0XHRtZXRhIG5mcHJvdG8gaXB2NiBtZXRhIG1hcmsgMCBtZXRhIGw0cHJvdG8gdGNwIGNvdW50ZXIgZHJvcFxuIH1cbiBcbiBpbml0KClcbkBAIC0xMDUsMzMgJiM0MzsxMDksMjMgQEAgY2xlYW51cCgpXG4gXG4gbXB0Y3BfbGliX2NoZWNrX21wdGNwXG4gbXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXG4tbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIFwmIzM0OyR7aXB0YWJsZXN9XCYjMzQ7IFwmIzM0OyR7aXA2dGFibGVzfVwmIzM0O1xuJiM0MzttcHRjcF9saWJfY2hlY2tfdG9vbHMgaXAgbmZ0XG4gXG4gY2hlY2tfbWFyaygpXG4ge1xuIFx0bG9jYWwgbnM9JDFcbiBcdGxvY2FsIGFmPSQyXG4gXG4tXHRsb2NhbCB0YWJsZXM9JHtpcHRhYmxlc31cbiYjNDM7XHRkcm9wPSQoaXAgbmV0bnMgZXhlYyBcJiMzNDskbnNcJiMzNDsgbmZ0IGxpc3QgdGFibGUgaW5ldCBtc29ja190YWJsZSB8IFxcXG4mIzQzO1x0XHRncmVwIFwmIzM0O2lwdiRhZi4qcGFja2V0cy4qZHJvcFwmIzM0OyB8IGF3ayAmIzM5O3twcmludCAkKE5GLTMpfSYjMzk7KVxuIFxuLVx0aWYgWyAkYWYgLWVxIDYgXTt0aGVuXG4tXHRcdHRhYmxlcz0ke2lwNnRhYmxlc31cbiYjNDM7XHRpZiBbIFwmIzM0OyRkcm9wXCYjMzQ7IC1uZSAwIF07IHRoZW5cbiYjNDM7XHRcdG1wdGNwX2xpYl9wcl9mYWlsIFwmIzM0O2dvdCAkZHJvcCBwa3QgZHJvcHMgaW4gbnMgJG5zIElQdnskYWZ9IHRhYmxlcyxcJiMzNDsgXFxcbiYjNDM7XHRcdFx0XHQgIFwmIzM0O25vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFwmIzM0O1xuJiM0MztcdFx0cmV0PSR7S1NGVF9GQUlMfVxuJiM0MztcdFx0cmV0dXJuIDFcbiBcdGZpXG4gXG4tXHRsb2NhbCBjb3VudGVycyB2YWx1ZXNcbi1cdGNvdW50ZXJzPSQoaXAgbmV0bnMgZXhlYyAkbnMgJHRhYmxlcyAtdiAtTCBPVVRQVVQgfCBncmVwIERST1ApXG4tXHR2YWx1ZXM9JHtjb3VudGVycyVEUk9QKn1cbi1cbi1cdGxvY2FsIHZcbi1cdGZvciB2IGluICR2YWx1ZXM7IGRvXG4tXHRcdGlmIFsgJHYgLW5lIDAgXTsgdGhlblxuLVx0XHRcdG1wdGNwX2xpYl9wcl9mYWlsIFwmIzM0O2dvdCAkdGFibGVzICR2YWx1ZXMgaW4gbnMgJG5zLFwmIzM0OyBcXFxuLVx0XHRcdFx0XHQgIFwmIzM0O25vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFwmIzM0O1xuLVx0XHRcdHJldD0ke0tTRlRfRkFJTH1cbi1cdFx0XHRyZXR1cm4gMVxuLVx0XHRmaVxuLVx0ZG9uZVxuLVxuIFx0cmV0dXJuIDBcbiB9XG4gXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDIgMTk6MzY8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHNlbGZ0ZXN0IHNjcmlwdHMgYW5kIHRlc3QgY29uZmlndXJhdGlvbnMgaW4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwLyAobWlncmF0aW5nIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzKSwgd2l0aCBubyBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMWVkNGNhY2E4MDljODM4NTQxNjU0NzNkYmEzYmQyOTZlYzM4YzI1ZQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgU2VwIDIgMTk6MzY6MzcgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2NvbmZpZwppbmRleCA1OTA1MWVlMmE5ODYwLi4wZDBhNzQ0YzRjYTg5IDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9jb25maWcKQEAgLTMwLDYgJiM0MzszMCw5IEBAIENPTkZJR19ORVRfU0NIX05FVEVNPW0KIENPTkZJR19ORl9UQUJMRVM9bQogQ09ORklHX05GX1RBQkxFU19JTkVUPXkKIENPTkZJR19ORlRfQ09NUEFUPW0KJiM0MztDT05GSUdfTkZUX05VTUdFTj15CiYjNDM7Q09ORklHX05GVF9SRUpFQ1Q9bQomIzQzO0NPTkZJR19ORlRfUkVKRUNUX0lQVjQ9bQogQ09ORklHX05GVF9TT0NLRVQ9bQogQ09ORklHX05GVF9UUFJPWFk9bQogQ09ORklHX1NZTl9DT09LSUVTPXkKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gKaW5kZXggMThjZTcxMzZhMmIwZS4uMDVjYmFkZGI4MjYxNiAxMDA3NTUKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gKQEAgLTI2LDggJiM0MzsyNiw2IEBAIGNhcG91dD0mIzM0OyYjMzQ7CiBjYXBwaWQ9JiMzNDsmIzM0OwogbnMxPSYjMzQ7JiMzNDsKIG5zMj0mIzM0OyYjMzQ7Ci1pcHRhYmxlcz0mIzM0O2lwdGFibGVzJiMzNDsKLWlwNnRhYmxlcz0mIzM0O2lwNnRhYmxlcyYjMzQ7CiB0aW1lb3V0X3BvbGw9MzAKIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICYjNDM7IDEpKQogY2FwdHVyZT1mYWxzZQpAQCAtNTAsNiAmIzQzOzQ4LDcgQEAgZGVjbGFyZSAtQSBmYWlsZWRfdGVzdHMKIE1QVENQX0xJQl9URVNUX0ZPUk1BVD0mIzM0OyUwM3UgJXNcbiYjMzQ7CiBURVNUX05BTUU9JiMzNDsmIzM0OwogbnJfYmxhbms9NgomIzQzO25mdF9oYW5kbGU9JiMzNDsmIzM0OwogCiAjIFRoZXNlIHZhciBhcmUgdXNlZCBvbmx5IGluIHNvbWUgdGVzdHMsIG1ha2Ugc3VyZSB0aGV5IGFyZSBub3QgYWxyZWFkeSBzZXQKIHVuc2V0IEZBSUxJTkdfTElOS1MKQEAgLTk5LDQyICYjNDM7OTgsNiBAQCB1bnNldCBhZGRfYWRkcl90eF9ucgogdW5zZXQgYWRkX2FkZHJfZWNob190eF9ucgogdW5zZXQgYWRkX2FkZHJfZHJvcF90eF9ucgogCi0jIGdlbmVyYXRlZCB1c2luZyAmIzM0O25mYnBmX2NvbXBpbGUgJiMzOTsoaXAgJmFtcDsmYW1wOyAoaXBbNTRdICZhbXA7IDB4ZjApID09IDB4MzApIHx8Ci0jCQkJCSAgKGlwNiAmYW1wOyZhbXA7IChpcDZbNzRdICZhbXA7IDB4ZjApID09IDB4MzApJiMzOTsmIzM0OwotQ0JQRl9NUFRDUF9TVUJPUFRJT05fQUREX0FERFI9JiMzNDsxNCwKLQkJCSAgICAgICA0OCAwIDAgMCwKLQkJCSAgICAgICA4NCAwIDAgMjQwLAotCQkJICAgICAgIDIxIDAgMyA2NCwKLQkJCSAgICAgICA0OCAwIDAgNTQsCi0JCQkgICAgICAgODQgMCAwIDI0MCwKLQkJCSAgICAgICAyMSA2IDcgNDgsCi0JCQkgICAgICAgNDggMCAwIDAsCi0JCQkgICAgICAgODQgMCAwIDI0MCwKLQkJCSAgICAgICAyMSAwIDQgOTYsCi0JCQkgICAgICAgNDggMCAwIDc0LAotCQkJICAgICAgIDg0IDAgMCAyNDAsCi0JCQkgICAgICAgMjEgMCAxIDQ4LAotCQkJICAgICAgIDYgMCAwIDY1NTM1LAotCQkJICAgICAgIDYgMCAwIDAmIzM0OwotCi0jIElQdjQ6IFRDUCBoZHIgb2YgNDhCLCBhIGZpcnN0IHN1Ym9wdGlvbiBvZiAxMkIgKERBQ0s4KSwgdGhlIFJNX0FERFIgc3Vib3B0aW9uCi0jIGdlbmVyYXRlZCB1c2luZyAmIzM0O25mYnBmX2NvbXBpbGUgJiMzOTsoaXBbMzJdICZhbXA7IDB4ZjApID09IDB4YzAgJmFtcDsmYW1wOyBpcFs1M10gPT0gMHgwYyAmYW1wOyZhbXA7Ci0jCQkJCSAgKGlwWzY2XSAmYW1wOyAweGYwKSA9PSAweDQwJiMzOTsmIzM0OwotQ0JQRl9NUFRDUF9TVUJPUFRJT05fUk1fQUREUj0mIzM0OzEzLAotCQkJICAgICAgNDggMCAwIDAsCi0JCQkgICAgICA4NCAwIDAgMjQwLAotCQkJICAgICAgMjEgMCA5IDY0LAotCQkJICAgICAgNDggMCAwIDMyLAotCQkJICAgICAgODQgMCAwIDI0MCwKLQkJCSAgICAgIDIxIDAgNiAxOTIsCi0JCQkgICAgICA0OCAwIDAgNTMsCi0JCQkgICAgICAyMSAwIDQgMTIsCi0JCQkgICAgICA0OCAwIDAgNjYsCi0JCQkgICAgICA4NCAwIDAgMjQwLAotCQkJICAgICAgMjEgMCAxIDY0LAotCQkJICAgICAgNiAwIDAgNjU1MzUsCi0JCQkgICAgICA2IDAgMCAwJiMzNDsKLQogaW5pdF9wYXJ0aWFsKCkKIHsKIAljYXBvdXQ9JChta3RlbXApCkBAIC0xNDcsNiAmIzQzOzExMCwxNCBAQCBpbml0X3BhcnRpYWwoKQogCQlpZiAkY2hlY2tzdW07IHRoZW4KIAkJCWlwIG5ldG5zIGV4ZWMgJG5ldG5zIHN5c2N0bCAtcSBuZXQubXB0Y3AuY2hlY2tzdW1fZW5hYmxlZD0xCiAJCWZpCiYjNDM7CiYjNDM7CQlpcCBuZXRucyBleGVjICYjMzQ7JG5ldG5zJiMzNDsgbmZ0IGFkZCB0YWJsZSBpbmV0IG1qb2luX3RhYmxlCiYjNDM7CQlpcCBuZXRucyBleGVjICYjMzQ7JG5ldG5zJiMzNDsgbmZ0IGFkZCBjaGFpbiBpbmV0IG1qb2luX3RhYmxlIGlucHV0IFwKJiM0MzsJCQkmIzM5O3sgdHlwZSBmaWx0ZXIgaG9vayBpbnB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0mIzM5OwomIzQzOwkJaXAgbmV0bnMgZXhlYyAmIzM0OyRuZXRucyYjMzQ7IG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgXAomIzQzOwkJCSYjMzk7eyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0mIzM5OwomIzQzOwkJaXAgbmV0bnMgZXhlYyAmIzM0OyRuZXRucyYjMzQ7IG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBtYW5nbGUgXAomIzQzOwkJCSYjMzk7eyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBtYW5nbGU7IHBvbGljeSBhY2NlcHQ7IH0mIzM5OwogCWRvbmUKIAogCWNoZWNrX2ludmVydD0wCkBAIC0xOTYsNyAmIzQzOzE2Nyw3IEBAIGluaXQoKSB7CiAKIAltcHRjcF9saWJfY2hlY2tfbXB0Y3AKIAltcHRjcF9saWJfY2hlY2tfa2FsbHN5bXMKLQltcHRjcF9saWJfY2hlY2tfdG9vbHMgaXAgdGMgc3MgJiMzNDske2lwdGFibGVzfSYjMzQ7ICYjMzQ7JHtpcDZ0YWJsZXN9JiMzNDsKJiM0MzsJbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIHRjIHNzIG5mdAogCiAJc2luPSQobWt0ZW1wKQogCXNvdXQ9JChta3RlbXApCkBAIC0zODEsMjMgJiM0MzszNTIsMTggQEAgcmVzZXRfd2l0aF9jb29raWVzKCkKIHJlc2V0X3dpdGhfYWRkX2FkZHJfdGltZW91dCgpCiB7CiAJbG9jYWwgaXA9JiMzNDskezI6LTR9JiMzNDsKLQlsb2NhbCB0YWJsZXMKIAogCXJlc2V0ICYjMzQ7JHsxfSYjMzQ7IHx8IHJldHVybiAxCiAKLQl0YWJsZXM9JiMzNDske2lwdGFibGVzfSYjMzQ7Ci0JaWYgWyAkaXAgLWVxIDYgXTsgdGhlbgotCQl0YWJsZXM9JiMzNDske2lwNnRhYmxlc30mIzM0OwotCWZpCi0KIAkjIHNldCBhIG1heGltdW0sIHRvIGF2b2lkIHRvbyBsb25nIHRpbWVvdXQgd2l0aCBleHBvbmVudGlhbCBiYWNrb2ZmCiAJaXAgbmV0bnMgZXhlYyAkbnMxIHN5c2N0bCAtcSBuZXQubXB0Y3AuYWRkX2FkZHJfdGltZW91dD0xCiAKLQlpZiAhIGlwIG5ldG5zIGV4ZWMgJG5zMiAkdGFibGVzIC1BIE9VVFBVVCAtcCB0Y3AgXAotCQkJLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcCi0JCQktbSBicGYgLS1ieXRlY29kZSBcCi0JCQkmIzM0OyRDQlBGX01QVENQX1NVQk9QVElPTl9BRERfQUREUiYjMzQ7IFwKLQkJCS1qIERST1A7IHRoZW4KJiM0MzsKJiM0MzsJbmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgJiMzNDskbnMyJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFwKJiM0MzsJCWluZXQgbWpvaW5fdGFibGUgb3V0cHV0IG1ldGEgbmZwcm90byBpcHYke2lwfSBcCiYjNDM7CQl0Y3Agb3B0aW9uIG1wdGNwIHN1YnR5cGUgYWRkLWFkZHIgXAomIzQzOwkJZHJvcCB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OykKJiM0MzsJaWYgWyAteiAmIzM0OyRuZnRfaGFuZGxlJiMzNDsgXTsgdGhlbgogCQltYXJrX2FzX3NraXBwZWQgJiMzNDt1bmFibGUgdG8gc2V0IHRoZSAmIzM5O2FkZCBhZGRyJiMzOTsgcnVsZSYjMzQ7CiAJCXJldHVybiAxCiAJZmkKQEAgLTQ1MCwyMiAmIzQzOzQxNiwxNiBAQCBzZXR1cF9mYWlsX3J1bGVzKCkKIAl2YWxpZGF0ZV9jaGVja3N1bT10cnVlCiAJbG9jYWwgaT0mIzM0OyQxJiMzNDsKIAlsb2NhbCBpcD0mIzM0OyR7MjotNH0mIzM0OwotCWxvY2FsIHRhYmxlcwogCi0JdGFibGVzPSYjMzQ7JHtpcHRhYmxlc30mIzM0OwotCWlmIFsgJGlwIC1lcSA2IF07IHRoZW4KLQkJdGFibGVzPSYjMzQ7JHtpcDZ0YWJsZXN9JiMzNDsKJiM0MzsJbmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgJiMzNDskbnMyJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFwKJiM0MzsJCWluZXQgbWpvaW5fdGFibGUgbWFuZ2xlIG9pZm5hbWUgbnMyZXRoJGkgXAomIzQzOwkJbWV0YSBuZnByb3RvIGlwdiR7aXB9IG1ldGEgbDRwcm90byB0Y3AgXAomIzQzOwkJbWV0YSBsZW5ndGggMTUwLTk5OTkgbnVtZ2VuIGluYyBtb2QgOTk5OTkgPT0gMSBcCiYjNDM7CQltZXRhIG1hcmsgc2V0IDQyIHwgaGVhZCAtbjEgfCBhd2sgJiMzOTt7cHJpbnQgJE5GfSYjMzk7KQomIzQzOwlpZiBbIC16ICYjMzQ7JG5mdF9oYW5kbGUmIzM0OyBdOyB0aGVuCiYjNDM7CQlyZXR1cm4gJHtLU0ZUX1NLSVB9CiAJZmkKIAotCWlwIG5ldG5zIGV4ZWMgJG5zMiAkdGFibGVzIFwKLQkJLXQgbWFuZ2xlIFwKLQkJLUEgT1VUUFVUIFwKLQkJLW8gbnMyZXRoJGkgXAotCQktcCB0Y3AgXAotCQktbSBsZW5ndGggLS1sZW5ndGggMTUwOjk5OTkgXAotCQktbSBzdGF0aXN0aWMgLS1tb2RlIG50aCAtLXBhY2tldCAxIC0tZXZlcnkgOTk5OTkgXAotCQktaiBNQVJLIC0tc2V0LW1hcmsgNDIgfHwgcmV0dXJuICR7S1NGVF9TS0lQfQotCiAJdGMgLW4gJG5zMiBxZGlzYyBhZGQgZGV2IG5zMmV0aCRpIGNsc2FjdCB8fCByZXR1cm4gJHtLU0ZUX1NLSVB9CiAJdGMgLW4gJG5zMiBmaWx0ZXIgYWRkIGRldiBuczJldGgkaSBlZ3Jlc3MgXAogCQlwcm90b2NvbCBpcCBwcmlvIDEwMDAgXApAQCAtNTE1LDExICYjNDM7NDc1LDExIEBAIHJlc2V0X3dpdGhfdGNwX2ZpbHRlcigpCiAJbG9jYWwgdGFyZ2V0PSYjMzQ7JHszfSYjMzQ7CiAJbG9jYWwgY2hhaW49JiMzNDskezQ6LUlOUFVUfSYjMzQ7CiAKLQlpZiAhIGlwIG5ldG5zIGV4ZWMgJiMzNDske25zfSYjMzQ7ICR7aXB0YWJsZXN9IFwKLQkJCS1BICYjMzQ7JHtjaGFpbn0mIzM0OyBcCi0JCQktcyAmIzM0OyR7c3JjfSYjMzQ7IFwKLQkJCS1wIHRjcCBcCi0JCQktaiAmIzM0OyR7dGFyZ2V0fSYjMzQ7OyB0aGVuCiYjNDM7CW5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjICYjMzQ7JG5zJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFwKJiM0MzsJCWluZXQgbWpvaW5fdGFibGUgJiMzNDske2NoYWluLCx9JiMzNDsgXAomIzQzOwkJaXAgc2FkZHIgJiMzNDt7ICR7c3JjfSB9JiMzNDsgbWV0YSBsNHByb3RvIHRjcCAmIzM0OyR7dGFyZ2V0LCx9JiMzNDsgfCBcCiYjNDM7CQloZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspCiYjNDM7CWlmIFsgLXogJiMzNDskbmZ0X2hhbmRsZSYjMzQ7IF07IHRoZW4KIAkJbWFya19hc19za2lwcGVkICYjMzQ7dW5hYmxlIHRvIHNldCB0aGUgZmlsdGVyIHJ1bGVzJiMzNDsKIAkJcmV0dXJuIDEKIAlmaQpAQCAtNDMxNSwxMCAmIzQzOzQyNzUsMTIgQEAgdXNlcnNwYWNlX3Rlc3RzKCkKIAogCQkjIGZvcmNlIHF1aWNrIGxvc3MKIAkJaXAgbmV0bnMgZXhlYyAkbnMyIHN5c2N0bCAtcSBuZXQuaXB2NC50Y3Bfc3luX3JldHJpZXM9MQotCQlpZiBpcCBuZXRucyBleGVjICYjMzQ7JHtuczF9JiMzNDsgJHtpcHRhYmxlc30gLUEgSU5QVVQgLXMgJiMzNDsxMC4wLjEuMiYjMzQ7IFwKLQkJICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQgJmFtcDsmYW1wOwotCQkgICBpcCBuZXRucyBleGVjICYjMzQ7JHtuczJ9JiMzNDsgJHtpcHRhYmxlc30gLUEgSU5QVVQgLWQgJiMzNDsxMC4wLjEuMiYjMzQ7IFwKLQkJICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQ7IHRoZW4KJiM0MzsJCWlmIGlwIG5ldG5zIGV4ZWMgJiMzNDske25zMX0mIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBcCiYjNDM7CQkJaW5wdXQgaXAgc2FkZHIgJiMzNDsxMC4wLjEuMiYjMzQ7IG1ldGEgbDRwcm90byB0Y3AgXAomIzQzOwkJCXRjcCBvcHRpb24gbXB0Y3AgZXhpc3RzIHJlamVjdCB3aXRoIHRjcCByZXNldCAmYW1wOyZhbXA7CiYjNDM7CQkgICBpcCBuZXRucyBleGVjICYjMzQ7JHtuczJ9JiMzNDsgbmZ0IGFkZCBydWxlIGluZXQgbWpvaW5fdGFibGUgXAomIzQzOwkJCWlucHV0IGlwIGRhZGRyICYjMzQ7MTAuMC4xLjImIzM0OyBtZXRhIGw0cHJvdG8gdGNwIFwKJiM0MzsJCQl0Y3Agb3B0aW9uIG1wdGNwIGV4aXN0cyByZWplY3Qgd2l0aCB0Y3AgcmVzZXQ7IHRoZW4KIAkJCXdhaXRfZXZlbnQgbnMyIE1QVENQX0xJQl9FVkVOVF9TVUJfQ0xPU0VEIDEKIAkJCXdhaXRfZXZlbnQgbnMxIE1QVENQX0xJQl9FVkVOVF9TVUJfQ0xPU0VEIDEKIAkJCWNoa19zdWJmbG93c190b3RhbCAxIDEKQEAgLTQzOTMsNyAmIzQzOzQzNTUsNyBAQCBlbmRwb2ludF90ZXN0cygpCiAJCWNoa19zdWJmbG93X25yICYjMzQ7YWZ0ZXIgbmV3IHJlamVjdCYjMzQ7IDIKIAkJY2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMSBzdWJmbG93cyAxCiAKLQkJaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyAmIzM0OzEwLjAuMy4yJiMzNDsgLXAgdGNwIC1qIFJFSkVDVAomIzQzOwkJaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7IG5mdCBkZWxldGUgcnVsZSBpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgJiMzNDskbmZ0X2hhbmRsZSYjMzQ7CiAJCXBtX25sX2RlbF9lbmRwb2ludCAkbnMyIDMgMTAuMC4zLjIKIAkJcG1fbmxfYWRkX2VuZHBvaW50ICRuczIgMTAuMC4zLjIgaWQgMyBmbGFncyBzdWJmbG93CiAJCXdhaXRfbXBqIDMKQEAgLTQ0MDIsMTIgJiM0Mzs0MzY0LDEwIEBAIGVuZHBvaW50X3Rlc3RzKCkKIAogCQkjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0CiAJCSMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvdwotCQlsb2NhbCBpcHQ9MQotCQlpcCBuZXRucyBleGVjICYjMzQ7JHtuczJ9JiMzNDsgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zICYjMzQ7MTAuMC4xLjImIzM0OyBcCi0JCQktcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcCi0JCQktbSBicGYgLS1ieXRlY29kZSBcCi0JCQkmIzM0OyRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSJiMzNDsgXAotCQkJLWogRFJPUCB8fCBpcHQ9MAomIzQzOwkJbmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgJiMzNDske25zMn0mIzM0OyBuZnQgLWUgLS1oYW5kbGUgaW5zZXJ0IHJ1bGUgXAomIzQzOwkJCWluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4yIG1ldGEgbDRwcm90byB0Y3AgXAomIzQzOwkJCXRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcCiYjNDM7CQkJZHJvcCB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OykKIAkJbG9jYWwgaQogCQlmb3IgaSBpbiAkKHNlcSAzKTsgZG8KIAkJCXBtX25sX2RlbF9lbmRwb2ludCAkbnMyIDEgMTAuMC4xLjIKQEAgLTQ0MjAsNyAmIzQzOzQzODAsOCBAQCBlbmRwb2ludF90ZXN0cygpCiAJCQljaGtfc3ViZmxvd19uciAmIzM0O2FmdGVyIHJlLWFkZCBpZCAwICgkaSkmIzM0OyAzCiAJCQljaGtfbXB0Y3BfaW5mbyBzdWJmbG93cyAzIHN1YmZsb3dzIDMKIAkJZG9uZQotCQlbICR7aXB0fSA9IDEgXSAmYW1wOyZhbXA7IGlwIG5ldG5zIGV4ZWMgJiMzNDske25zMn0mIzM0OyAke2lwdGFibGVzfSAtRCBPVVRQVVQgMQomIzQzOwkJWyAtbiAmIzM0OyR7bmZ0X2hhbmRsZX0mIzM0OyBdICZhbXA7JmFtcDsgaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7IG5mdCBkZWxldGUgcnVsZSBcCiYjNDM7CQkJaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlICYjMzQ7JHtuZnRfaGFuZGxlfSYjMzQ7CiAKIAkJbXB0Y3BfbGliX2tpbGxfZ3JvdXBfd2FpdCAkdGVzdHNfcGlkCiAKQEAgLTQ0ODIsMTggJiM0Mzs0NDQzLDE3IEBAIGVuZHBvaW50X3Rlc3RzKCkKIAogCQkjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0CiAJCSMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvdwotCQlsb2NhbCBpcHQ9MQotCQlpcCBuZXRucyBleGVjICYjMzQ7JHtuczF9JiMzNDsgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zICYjMzQ7MTAuMC4xLjEmIzM0OyBcCi0JCQktcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcCi0JCQktbSBicGYgLS1ieXRlY29kZSBcCi0JCQkmIzM0OyRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSJiMzNDsgXAotCQkJLWogRFJPUCB8fCBpcHQ9MAomIzQzOwkJbmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgJiMzNDske25zMX0mIzM0OyBuZnQgLWUgLS1oYW5kbGUgaW5zZXJ0IHJ1bGUgXAomIzQzOwkJCWluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4xIG1ldGEgbDRwcm90byB0Y3AgXAomIzQzOwkJCXRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcCiYjNDM7CQkJZHJvcCB8IGhlYWQgLW4xIHwgYXdrICYjMzk7e3ByaW50ICRORn0mIzM5OykKIAkJcG1fbmxfZGVsX2VuZHBvaW50ICRuczEgNDIgMTAuMC4xLjEKIAkJc2xlZXAgMC41CiAJCWNoa19zdWJmbG93X25yICYjMzQ7YWZ0ZXIgZGVsZXRlIElEIDAmIzM0OyAyCiAJCWNoa19tcHRjcF9pbmZvIHN1YmZsb3dzIDIgc3ViZmxvd3MgMgogCQljaGtfbXB0Y3BfaW5mbyBhZGRfYWRkcl9zaWduYWwgMiBhZGRfYWRkcl9hY2NlcHRlZCAyCi0JCVsgJHtpcHR9ID0gMSBdICZhbXA7JmFtcDsgaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMxfSYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAxCiYjNDM7CQlbIC1uICYjMzQ7JHtuZnRfaGFuZGxlfSYjMzQ7IF0gJmFtcDsmYW1wOyBpcCBuZXRucyBleGVjICYjMzQ7JHtuczF9JiMzNDsgbmZ0IGRlbGV0ZSBydWxlIFwKJiM0MzsJCQlpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgJiMzNDske25mdF9oYW5kbGV9JiMzNDsKIAogCQlwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMSAxMC4wLjEuMSBpZCA0MiBmbGFncyBzaWduYWwKIAkJd2FpdF9tcGogNApAQCAtNDU1NSw3ICYjNDM7NDUxNSw3IEBAIGVuZHBvaW50X3Rlc3RzKCkKIAkJcG1fbmxfZmx1c2hfZW5kcG9pbnQgJG5zMgogCQlwbV9ubF9mbHVzaF9lbmRwb2ludCAkbnMxCiAJCXdhaXRfcm1fYWRkciAkbnMyIDAKLQkJaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7ICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyAmIzM0OzEwLjAuMy4yJiMzNDsgLXAgdGNwIC1qIFJFSkVDVAomIzQzOwkJaXAgbmV0bnMgZXhlYyAmIzM0OyR7bnMyfSYjMzQ7IG5mdCBkZWxldGUgcnVsZSBpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgJiMzNDskbmZ0X2hhbmRsZSYjMzQ7CiAJCXBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvdwogCQl3YWl0X21waiAxCiAJCXBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMy4xIGlkIDIgZmxhZ3Mgc2lnbmFsCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2xpYi5zaAppbmRleCA1ZWY2MDMzNzc1Yzg2Li5lYmE2OTAzMjMzY2NmIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9saWIuc2gKQEAgLTUyNCw3ICYjNDM7NTI0LDcgQEAgbXB0Y3BfbGliX2NoZWNrX3Rvb2xzKCkgewogCQkJCWV4aXQgJHtLU0ZUX1NLSVB9CiAJCQlmaQogCQkJOzsKLQkJJiMzNDtpcHRhYmxlcyYjMzQ7KiB8ICYjMzQ7aXA2dGFibGVzJiMzNDsqKQomIzQzOwkJJiMzNDtpcHRhYmxlcyYjMzQ7KiB8ICYjMzQ7aXA2dGFibGVzJiMzNDsqIHwgJiMzNDtuZnQmIzM0OyopCiAJCQlpZiAhICYjMzQ7JHt0b29sfSYjMzQ7IC1WICZhbXA7Jmd0OyAvZGV2L251bGw7IHRoZW4KIAkJCQltcHRjcF9saWJfcHJfc2tpcCAmIzM0O0NvdWxkIG5vdCBydW4gYWxsIHRlc3RzIHdpdGhvdXQgJHt0b29sfSYjMzQ7CiAJCQkJZXhpdCAke0tTRlRfU0tJUH0KZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2gKaW5kZXggZTg1MGE4NzQyOWI2MS4uNGQwYWYyYmY5NDg0MCAxMDA3NTUKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2gKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2gKQEAgLTE1LDggJiM0MzsxNSw2IEBAIGNpbj0mIzM0OyYjMzQ7CiBjb3V0PSYjMzQ7JiMzNDsKIHRpbWVvdXRfcG9sbD0zMAogdGltZW91dF90ZXN0PSQoKHRpbWVvdXRfcG9sbCAqIDIgJiM0MzsgMSkpCi1pcHRhYmxlcz0mIzM0O2lwdGFibGVzJiMzNDsKLWlwNnRhYmxlcz0mIzM0O2lwNnRhYmxlcyYjMzQ7CiAKIG5zMT0mIzM0OyYjMzQ7CiBuczI9JiMzNDsmIzM0OwpAQCAtNDksMTcgJiM0Mzs0NywyMyBAQCBhZGRfbWFya19ydWxlcygpCiAJbG9jYWwgbnM9JDEKIAlsb2NhbCBtPSQyCiAKLQlsb2NhbCB0Ci0JZm9yIHQgaW4gJHtpcHRhYmxlc30gJHtpcDZ0YWJsZXN9OyBkbwotCQkjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0cwotCQlpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tc3luIC1tIG1hcmsgLS1tYXJrICRtIC1qIEFDQ0VQVAotCi0JCSMgUlNUIHBhY2tldHMgbWlnaHQgYmUgaGFuZGxlZCBieSBhIGludGVybmFsIGR1bW15IHNvY2tldAotCQlpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tdGNwLWZsYWdzIFJTVCBSU1QgLW0gbWFyayAtLW1hcmsgMCAtaiBBQ0NFUFQKLQotCQlpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC1tIG1hcmsgLS1tYXJrICRtIC1qIEFDQ0VQVAotCQlpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC1tIG1hcmsgLS1tYXJrIDAgLWogRFJPUAotCWRvbmUKJiM0MzsJaXAgbmV0bnMgZXhlYyAmIzM0OyRucyYjMzQ7IG5mdCBhZGQgdGFibGUgaW5ldCBtc29ja190YWJsZQomIzQzOwlpcCBuZXRucyBleGVjICYjMzQ7JG5zJiMzNDsgbmZ0IGFkZCBjaGFpbiBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcCiYjNDM7CQkmIzM5O3sgdHlwZSBmaWx0ZXIgaG9vayBvdXRwdXQgcHJpb3JpdHkgMDsgcG9saWN5IGFjY2VwdDsgfSYjMzk7CiYjNDM7CiYjNDM7CSMganVzdCB0byBkZWJ1ZzogY2hlY2sgd2UgaGF2ZSBtdWx0aXBsZSBzdWJmbG93cyBjb25uZWN0aW9uIHJlcXVlc3RzCiYjNDM7CWlwIG5ldG5zIGV4ZWMgJiMzNDskbnMmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXAomIzQzOwkJIG1ldGEgbWFyayAmIzM0OyRtJiMzNDsgdGNwIGZsYWdzIHN5biBhY2NlcHQKJiM0MzsJIyBSU1QgcGFja2V0cyBtaWdodCBiZSBoYW5kbGVkIGJ5IGEgaW50ZXJuYWwgZHVtbXkgc29ja2V0CiYjNDM7CWlwIG5ldG5zIGV4ZWMgJiMzNDskbnMmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXAomIzQzOwkJbWV0YSBtYXJrIDAgdGNwIGZsYWdzIHJzdCBhY2NlcHQKJiM0MzsJaXAgbmV0bnMgZXhlYyAmIzM0OyRucyYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcCiYjNDM7CQltZXRhIG1hcmsgJiMzNDskbSYjMzQ7IG1ldGEgbDRwcm90byB0Y3AgYWNjZXB0CiYjNDM7CiYjNDM7CWlwIG5ldG5zIGV4ZWMgJiMzNDskbnMmIzM0OyBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXAomIzQzOwkJbWV0YSBuZnByb3RvIGlwdjQgbWV0YSBtYXJrIDAgbWV0YSBsNHByb3RvIHRjcCBjb3VudGVyIGRyb3AKJiM0MzsJaXAgbmV0bnMgZXhlYyAmIzM0OyRucyYjMzQ7IG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcCiYjNDM7CQltZXRhIG5mcHJvdG8gaXB2NiBtZXRhIG1hcmsgMCBtZXRhIGw0cHJvdG8gdGNwIGNvdW50ZXIgZHJvcAogfQogCiBpbml0KCkKQEAgLTEwNSwzMyAmIzQzOzEwOSwyMyBAQCBjbGVhbnVwKCkKIAogbXB0Y3BfbGliX2NoZWNrX21wdGNwCiBtcHRjcF9saWJfY2hlY2tfa2FsbHN5bXMKLW1wdGNwX2xpYl9jaGVja190b29scyBpcCAmIzM0OyR7aXB0YWJsZXN9JiMzNDsgJiMzNDske2lwNnRhYmxlc30mIzM0OwomIzQzO21wdGNwX2xpYl9jaGVja190b29scyBpcCBuZnQKIAogY2hlY2tfbWFyaygpCiB7CiAJbG9jYWwgbnM9JDEKIAlsb2NhbCBhZj0kMgogCi0JbG9jYWwgdGFibGVzPSR7aXB0YWJsZXN9CiYjNDM7CWRyb3A9JChpcCBuZXRucyBleGVjICYjMzQ7JG5zJiMzNDsgbmZ0IGxpc3QgdGFibGUgaW5ldCBtc29ja190YWJsZSB8IFwKJiM0MzsJCWdyZXAgJiMzNDtpcHYkYWYuKnBhY2tldHMuKmRyb3AmIzM0OyB8IGF3ayAmIzM5O3twcmludCAkKE5GLTMpfSYjMzk7KQogCi0JaWYgWyAkYWYgLWVxIDYgXTt0aGVuCi0JCXRhYmxlcz0ke2lwNnRhYmxlc30KJiM0MzsJaWYgWyAmIzM0OyRkcm9wJiMzNDsgLW5lIDAgXTsgdGhlbgomIzQzOwkJbXB0Y3BfbGliX3ByX2ZhaWwgJiMzNDtnb3QgJGRyb3AgcGt0IGRyb3BzIGluIG5zICRucyBJUHZ7JGFmfSB0YWJsZXMsJiMzNDsgXAomIzQzOwkJCQkgICYjMzQ7bm90IDAgLSBub3QgYWxsIGV4cGVjdGVkIHBhY2tldHMgbWFya2VkJiMzNDsKJiM0MzsJCXJldD0ke0tTRlRfRkFJTH0KJiM0MzsJCXJldHVybiAxCiAJZmkKIAotCWxvY2FsIGNvdW50ZXJzIHZhbHVlcwotCWNvdW50ZXJzPSQoaXAgbmV0bnMgZXhlYyAkbnMgJHRhYmxlcyAtdiAtTCBPVVRQVVQgfCBncmVwIERST1ApCi0JdmFsdWVzPSR7Y291bnRlcnMlRFJPUCp9Ci0KLQlsb2NhbCB2Ci0JZm9yIHYgaW4gJHZhbHVlczsgZG8KLQkJaWYgWyAkdiAtbmUgMCBdOyB0aGVuCi0JCQltcHRjcF9saWJfcHJfZmFpbCAmIzM0O2dvdCAkdGFibGVzICR2YWx1ZXMgaW4gbnMgJG5zLCYjMzQ7IFwKLQkJCQkJICAmIzM0O25vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZCYjMzQ7Ci0JCQlyZXQ9JHtLU0ZUX0ZBSUx9Ci0JCQlyZXR1cm4gMQotCQlmaQotCWRvbmUKLQogCXJldHVybiAwCiB9CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDIgMTk6MzY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNzE5OQoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDIxMQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgVGhpcyBQYXRjaCBTZXJpZXMqKgoKT2theSwgbGV0JiMzOTtzIGRpdmUgaW50byB0aGlzLiBNeSBpbml0aWFsIGltcHJlc3Npb24gaXMgdGhhdCB0aGlzIHBhdGNoIHNlcmllcyBpcyBmb2N1c2VkIG9uIHRoZSBtdWx0aS1wYXRoIFRDUCAoTVBUQ1ApIHNlbGYtdGVzdHMuIFRoZSBkaWZmIG1lbnRpb25zIG1vZGlmaWNhdGlvbnMgdG8gYSBudW1iZXIgb2YgZmlsZXMgd2l0aGluIHRoZSBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2AgZGlyZWN0b3J5LiBCYXNlZCBvbiB0aGUgZmlsZSBwYXRocyBsaXN0ZWQsIHRoaXMgaW1tZWRpYXRlbHkgc3VnZ2VzdHMgdG8gbWUgdGhhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGVuaGFuY2VtZW50cyBvciBmaXhlcyB0byB0aGUgZXhpc3RpbmcgTVBUQ1AgdGVzdGluZyBpbmZyYXN0cnVjdHVyZSwgcmF0aGVyIHRoYW4gY29yZSBrZXJuZWwgY2hhbmdlcy4gSSBuZWVkIHRvIGNvbmZpcm0gdGhlcmUmIzM5O3Mgbm90aGluZyBvdXRzaWRlIHRoZSBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2AgZGlyZWN0b3J5LCB3aGljaCB3b3VsZCBpbnZvbHZlIGFjdHVhbCBrZXJuZWwgY29kZS4gQXMgYW4gZXhwZXJ0LCB0aGF0IGlzIHRoZSBtb3N0IGltcG9ydGFudCBjaGVjay4gSXQgd291bGQgYmUgYSBodWdlIGNvbmNlcm4gdG8gc2tpcCB0aGF0LiBTbywgSSBuZWVkIHRvIHZlcmlmeSB0aGF0IHRoaXMgY29tbWl0IGlzICpleGNsdXNpdmVseSogdG91Y2hpbmcgdGVzdCBzY3JpcHRzLCBjb25maWd1cmF0aW9ucywgYW5kIHJlbGF0ZWQgdGVzdGluZyBjb21wb25lbnRzLCBidXQgbm90aGluZyB0byBkbyB3aXRoIGBuZXQvYCwgYGRyaXZlcnMvYCwgYGZzL2AsIGBrZXJuZWwvYCwgb3IgYGluY2x1ZGUvYC4gSSYjMzk7bGwgYmUgbG9va2luZyBjYXJlZnVsbHkgYXQgdGhlIGNvbW1pdCBjb250ZW50IGZvciBhbnl0aGluZyB0aGF0IG1heSBjb250cmFkaWN0IHRoYXQuIEkmIzM5O2xsIG5lZWQgYSBmdWxsIHBpY3R1cmUgdG8gdW5kZXJzdGFuZCBleGFjdGx5IHdoYXQgaXMgYmVpbmcgdGVzdGVkIGFuZCBpbXByb3ZlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wMiAxOTozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuZnRfaGFuZGxlJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTUwPW5yX2JsYW5rPTZcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjUxOm5mdF9oYW5kbGU9XCYjMzQ7XCYjMzQ7XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC01Mi1cbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaD0zNTI9cmVzZXRfd2l0aF9hZGRfYWRkcl90aW1lb3V0KClcbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC0zNjEtXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDozNjI6XHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcJiMzNDskbnMyXCYjMzQ7IG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtMzYzLVx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBtZXRhIG5mcHJvdG8gaXB2JHtpcH0gXFxcbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC0zNjUtXHRcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDozNjY6XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTM2Ny1cdFx0bWFya19hc19za2lwcGVkIFwmIzM0O3VuYWJsZSB0byBzZXQgdGhlICYjMzk7YWRkIGFkZHImIzM5OyBydWxlXCYjMzQ7XG4tLVxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g9NDEzPXNldHVwX2ZhaWxfcnVsZXMoKVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQxOS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQyMDpcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyRuczJcJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MjEtXHRcdGluZXQgbWpvaW5fdGFibGUgbWFuZ2xlIG9pZm5hbWUgbnMyZXRoJGkgXFxcbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MjQtXHRcdG1ldGEgbWFyayBzZXQgNDIgfCBoZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MjU6XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQyNi1cdFx0cmV0dXJuICR7S1NGVF9TS0lQfVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTQ2OD1yZXNldF93aXRoX3RjcF9maWx0ZXIoKVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ3Ny1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQ3ODpcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwmIzM0OyRuc1wmIzM0OyBuZnQgLWUgLS1oYW5kbGUgYWRkIHJ1bGUgXFxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ3OS1cdFx0aW5ldCBtam9pbl90YWJsZSBcJiMzNDske2NoYWluLCx9XCYjMzQ7IFxcXG4tLVxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDgxLVx0XHRoZWFkIC1uMSB8IGF3ayAmIzM5O3twcmludCAkTkZ9JiMzOTspXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0ODI6XHRpZiBbIC16IFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7IF07IHRoZW5cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ4My1cdFx0bWFya19hc19za2lwcGVkIFwmIzM0O3VuYWJsZSB0byBzZXQgdGhlIGZpbHRlciBydWxlc1wmIzM0O1xuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTQyOTY9ZW5kcG9pbnRfdGVzdHMoKVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQzNTctXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MzU4Olx0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzU5LVx0XHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMiAzIDEwLjAuMy4yXG4tLVxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDM2Ni1cdFx0IyBhbGxvdyB0aGUgcmVzdCB0byBxdWlja2x5IGFuZCBjbGVhbmx5IGNsb3NlIHRoZSBzdWJmbG93XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MzY3Olx0XHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzY4LVx0XHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4yIG1ldGEgbDRwcm90byB0Y3AgXFxcbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzgyLVx0XHRkb25lXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MzgzOlx0XHRbIC1uIFwmIzM0OyR7bmZ0X2hhbmRsZX1cJiMzNDsgXSBcdTAwMjZcdTAwMjYgaXAgbmV0bnMgZXhlYyBcJiMzNDske25zMn1cJiMzNDsgbmZ0IGRlbGV0ZSBydWxlIFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0Mzg0Olx0XHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcJiMzNDske25mdF9oYW5kbGV9XCYjMzQ7XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00Mzg1LVxuLS1cbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ0NDUtXHRcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDQ0NjpcdFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczF9XCYjMzQ7IG5mdCAtZSAtLWhhbmRsZSBpbnNlcnQgcnVsZSBcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ0Ny1cdFx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBpcCBzYWRkciAxMC4wLjEuMSBtZXRhIGw0cHJvdG8gdGNwIFxcXG4tLVxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ1NC1cdFx0Y2hrX21wdGNwX2luZm8gYWRkX2FkZHJfc2lnbmFsIDIgYWRkX2FkZHJfYWNjZXB0ZWQgMlxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDQ1NTpcdFx0WyAtbiBcJiMzNDske25mdF9oYW5kbGV9XCYjMzQ7IF0gXHUwMDI2XHUwMDI2IGlwIG5ldG5zIGV4ZWMgXCYjMzQ7JHtuczF9XCYjMzQ7IG5mdCBkZWxldGUgcnVsZSBcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDQ1NjpcdFx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXCYjMzQ7JHtuZnRfaGFuZGxlfVwmIzM0O1xudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ1Ny1cbi0tXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00NTE3LVx0XHR3YWl0X3JtX2FkZHIgJG5zMiAwXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0NTE4Olx0XHRpcCBuZXRucyBleGVjIFwmIzM0OyR7bnMyfVwmIzM0OyBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwmIzM0OyRuZnRfaGFuZGxlXCYjMzQ7XG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00NTE5LVx0XHRwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMiAxMC4wLjMuMiBpZCAzIGZsYWdzIHN1YmZsb3dcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wMiAxOTozNjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA5NTUyCgkJCQkJCQlvdXRwdXQ6IDc5CgkJCQkJCQl0aG91Z2h0czogMjQyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQ6IFRoaXMgUGF0Y2ggaXMgTm90IFdvcnRoIEZ1enppbmcqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBjbGVhcmx5IGZvY3VzZWQgb24gdXBkYXRpbmcgdGhlIHNlbGYtdGVzdHMgZm9yIE1QVENQIHdpdGhpbiBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2AuIEl0JiMzOTtzIGFsbCBhYm91dCBtaWdyYXRpbmcgdGhvc2Ugb2xkIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzIGFuZCB0d2Vha2luZyB0aGUgc2VsZnRlc3QgY29uZmlndXJhdGlvbnMuIFRoZSBjcml0aWNhbCB0aGluZyBoZXJlIGlzIHRoYXQgKm5vdGhpbmcqIGluIHRoZSBMaW51eCBrZXJuZWwgaXRzZWxmIGlzIGJlaW5nIHRvdWNoZWQuIE5vIGNvcmUgbG9naWMsIG5vIGRyaXZlcnMsIG5vIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBzdHVmZiDigJMgbm90aGluZyB0aGF0IHdvdWxkIGludHJvZHVjZSBuZXcgYXR0YWNrIHN1cmZhY2VzIGF0IHRoZSBrZXJuZWwgbGV2ZWwuIFRoZXJlZm9yZSwgbXkgaW5pdGlhbCBpbnN0aW5jdCBpcyB0aGF0IHRoaXMgcGF0Y2ggaXNuJiMzOTt0IHNvbWV0aGluZyB3ZSBuZWVkIHRvIHByaW9yaXRpemUgZm9yIGZ1enppbmcuCgpMZXQmIzM5O3MgcXVpY2tseSBydW4gdGhyb3VnaCB0aGUgZXN0YWJsaXNoZWQgZ3VpZGVsaW5lcyB0byBiZSBhYnNvbHV0ZWx5IHN1cmUuIFRoZSBkb2N1bWVudGF0aW9uIHN0YXRlcyB0aGF0IHdlIHNob3VsZCBzZXQgYFdvcnRoRnV6emluZ2AgdG8gYGZhbHNlYCBpZiB0aGUgcGF0Y2ggaW52b2x2ZXMgb25seTogZG9jdW1lbnRhdGlvbiB1cGRhdGVzLCBLY29uZmlnIG1vZGlmaWNhdGlvbnMsIGNvZGUgY29tbWVudHMsIHB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMgbGlrZSBsb2dnaW5nLCBjaGFuZ2VzIHRvIG51bWVyaWNhbCBjb25zdGFudHMvbWFjcm9zIHRoYXQgZG9u4oCZdCBmdW5jdGlvbmFsbHkgY2hhbmdlIGV4ZWN1dGlvbiwgdW5yZWFjaGFibGUgY29kZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIG9yIHVzZXJsYW5kIHRvb2xpbmcvc2VsZnRlc3QgbW9kaWZpY2F0aW9ucyAqd2l0aG91dCogY29ycmVzcG9uZGluZyBrZXJuZWwgY2hhbmdlcy4gQmluZ28hIFRoaXMgY2xlYXJseSBmYWxscyB1bmRlciB0aGUgbGFzdCBjcml0ZXJpb24uCgpBbHJpZ2h0LCBzbyB0aGUgdmVyZGljdCBpcyBjbGVhcjogYFdvcnRoRnV6emluZ2AgaXMgYGZhbHNlYC4gVGhhdCBtZWFucyB0aGUgYEZvY3VzU3ltYm9sc2AgYXJyYXkgaXMgZW1wdHksIGFuZCB0aGVyZSBhcmUgbm8gc3BlY2lmaWMgYEVuYWJsZUNvbmZpZ3NgIHJlcXVpcmVkLiBUaGUgcmVhc29uaW5nIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhpcyBpcyBhIHVzZXItc3BhY2Ugc2VsZnRlc3QgdXBkYXRlLCBkZXZvaWQgb2YgZGlyZWN0IGltcGFjdCBvbiBrZXJuZWwgZXhlY3V0aW9uLiBMZXQmIzM5O3MgZ28gYWhlYWQgYW5kIHJlY29yZCB0aGVzZSByZXN1bHRzIHdpdGggYHNldC1yZXN1bHRzYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wMiAxOTozNjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgdXNlci1zcGFjZSBzZWxmdGVzdCBzY3JpcHRzIGFuZCB0ZXN0IGNvbmZpZ3VyYXRpb25zIGluIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC8gKG1pZ3JhdGluZyBpcHRhYmxlcyBydWxlcyB0byBuZnRhYmxlcyksIHdpdGggbm8gZnVuY3Rpb25hbCBtb2RpZmljYXRpb25zIHRvIHRoZSBMaW51eCBrZXJuZWwgaXRzZWxmLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHNlbGZ0ZXN0IHNjcmlwdHMgYW5kIHRlc3QgY29uZmlndXJhdGlvbnMgaW4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwLyAobWlncmF0aW5nIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzKSwgd2l0aCBubyBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzAyIDE5OjM2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOS0wMlQxOTozNjozOS4wMTE1MzM4NDhaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTU5NTQ2NDEyMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgdXNlci1zcGFjZSBzZWxmdGVzdCBzY3JpcHRzIGFuZCB0ZXN0IGNvbmZpZ3VyYXRpb25zIGluIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC8gKG1pZ3JhdGluZyBpcHRhYmxlcyBydWxlcyB0byBuZnRhYmxlcyksIHdpdGggbm8gZnVuY3Rpb25hbCBtb2RpZmljYXRpb25zIHRvIHRoZSBMaW51eCBrZXJuZWwgaXRzZWxmLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDJUMTk6MzY6MzkuMDExNTM4OTY4WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNDI3NjM2NDc3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgMWVkNGNhY2E4MDljODM4NTQxNjU0NzNkYmEzYmQyOTZlYzM4YzI1ZVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgV2VkIFNlcCAyIDE5OjM2OjM3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9jb25maWcgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXFxuaW5kZXggNTkwNTFlZTJhOTg2MC4uMGQwYTc0NGM0Y2E4OSAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2NvbmZpZ1xcbkBAIC0zMCw2ICszMCw5IEBAIENPTkZJR19ORVRfU0NIX05FVEVNPW1cXG4gQ09ORklHX05GX1RBQkxFUz1tXFxuIENPTkZJR19ORl9UQUJMRVNfSU5FVD15XFxuIENPTkZJR19ORlRfQ09NUEFUPW1cXG4rQ09ORklHX05GVF9OVU1HRU49eVxcbitDT05GSUdfTkZUX1JFSkVDVD1tXFxuK0NPTkZJR19ORlRfUkVKRUNUX0lQVjQ9bVxcbiBDT05GSUdfTkZUX1NPQ0tFVD1tXFxuIENPTkZJR19ORlRfVFBST1hZPW1cXG4gQ09ORklHX1NZTl9DT09LSUVTPXlcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxcbmluZGV4IDE4Y2U3MTM2YTJiMGUuLjA1Y2JhZGRiODI2MTYgMTAwNzU1XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2hcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxcbkBAIC0yNiw4ICsyNiw2IEBAIGNhcG91dD1cXFwiXFxcIlxcbiBjYXBwaWQ9XFxcIlxcXCJcXG4gbnMxPVxcXCJcXFwiXFxuIG5zMj1cXFwiXFxcIlxcbi1pcHRhYmxlcz1cXFwiaXB0YWJsZXNcXFwiXFxuLWlwNnRhYmxlcz1cXFwiaXA2dGFibGVzXFxcIlxcbiB0aW1lb3V0X3BvbGw9MzBcXG4gdGltZW91dF90ZXN0PSQoKHRpbWVvdXRfcG9sbCAqIDIgKyAxKSlcXG4gY2FwdHVyZT1mYWxzZVxcbkBAIC01MCw2ICs0OCw3IEBAIGRlY2xhcmUgLUEgZmFpbGVkX3Rlc3RzXFxuIE1QVENQX0xJQl9URVNUX0ZPUk1BVD1cXFwiJTAzdSAlc1xcXFxuXFxcIlxcbiBURVNUX05BTUU9XFxcIlxcXCJcXG4gbnJfYmxhbms9NlxcbituZnRfaGFuZGxlPVxcXCJcXFwiXFxuIFxcbiAjIFRoZXNlIHZhciBhcmUgdXNlZCBvbmx5IGluIHNvbWUgdGVzdHMsIG1ha2Ugc3VyZSB0aGV5IGFyZSBub3QgYWxyZWFkeSBzZXRcXG4gdW5zZXQgRkFJTElOR19MSU5LU1xcbkBAIC05OSw0MiArOTgsNiBAQCB1bnNldCBhZGRfYWRkcl90eF9uclxcbiB1bnNldCBhZGRfYWRkcl9lY2hvX3R4X25yXFxuIHVuc2V0IGFkZF9hZGRyX2Ryb3BfdHhfbnJcXG4gXFxuLSMgZ2VuZXJhdGVkIHVzaW5nIFxcXCJuZmJwZl9jb21waWxlICcoaXAgXFx1MDAyNlxcdTAwMjYgKGlwWzU0XSBcXHUwMDI2IDB4ZjApID09IDB4MzApIHx8XFxuLSNcXHRcXHRcXHRcXHQgIChpcDYgXFx1MDAyNlxcdTAwMjYgKGlwNls3NF0gXFx1MDAyNiAweGYwKSA9PSAweDMwKSdcXFwiXFxuLUNCUEZfTVBUQ1BfU1VCT1BUSU9OX0FERF9BRERSPVxcXCIxNCxcXG4tXFx0XFx0XFx0ICAgICAgIDQ4IDAgMCAwLFxcbi1cXHRcXHRcXHQgICAgICAgODQgMCAwIDI0MCxcXG4tXFx0XFx0XFx0ICAgICAgIDIxIDAgMyA2NCxcXG4tXFx0XFx0XFx0ICAgICAgIDQ4IDAgMCA1NCxcXG4tXFx0XFx0XFx0ICAgICAgIDg0IDAgMCAyNDAsXFxuLVxcdFxcdFxcdCAgICAgICAyMSA2IDcgNDgsXFxuLVxcdFxcdFxcdCAgICAgICA0OCAwIDAgMCxcXG4tXFx0XFx0XFx0ICAgICAgIDg0IDAgMCAyNDAsXFxuLVxcdFxcdFxcdCAgICAgICAyMSAwIDQgOTYsXFxuLVxcdFxcdFxcdCAgICAgICA0OCAwIDAgNzQsXFxuLVxcdFxcdFxcdCAgICAgICA4NCAwIDAgMjQwLFxcbi1cXHRcXHRcXHQgICAgICAgMjEgMCAxIDQ4LFxcbi1cXHRcXHRcXHQgICAgICAgNiAwIDAgNjU1MzUsXFxuLVxcdFxcdFxcdCAgICAgICA2IDAgMCAwXFxcIlxcbi1cXG4tIyBJUHY0OiBUQ1AgaGRyIG9mIDQ4QiwgYSBmaXJzdCBzdWJvcHRpb24gb2YgMTJCIChEQUNLOCksIHRoZSBSTV9BRERSIHN1Ym9wdGlvblxcbi0jIGdlbmVyYXRlZCB1c2luZyBcXFwibmZicGZfY29tcGlsZSAnKGlwWzMyXSBcXHUwMDI2IDB4ZjApID09IDB4YzAgXFx1MDAyNlxcdTAwMjYgaXBbNTNdID09IDB4MGMgXFx1MDAyNlxcdTAwMjZcXG4tI1xcdFxcdFxcdFxcdCAgKGlwWzY2XSBcXHUwMDI2IDB4ZjApID09IDB4NDAnXFxcIlxcbi1DQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSPVxcXCIxMyxcXG4tXFx0XFx0XFx0ICAgICAgNDggMCAwIDAsXFxuLVxcdFxcdFxcdCAgICAgIDg0IDAgMCAyNDAsXFxuLVxcdFxcdFxcdCAgICAgIDIxIDAgOSA2NCxcXG4tXFx0XFx0XFx0ICAgICAgNDggMCAwIDMyLFxcbi1cXHRcXHRcXHQgICAgICA4NCAwIDAgMjQwLFxcbi1cXHRcXHRcXHQgICAgICAyMSAwIDYgMTkyLFxcbi1cXHRcXHRcXHQgICAgICA0OCAwIDAgNTMsXFxuLVxcdFxcdFxcdCAgICAgIDIxIDAgNCAxMixcXG4tXFx0XFx0XFx0ICAgICAgNDggMCAwIDY2LFxcbi1cXHRcXHRcXHQgICAgICA4NCAwIDAgMjQwLFxcbi1cXHRcXHRcXHQgICAgICAyMSAwIDEgNjQsXFxuLVxcdFxcdFxcdCAgICAgIDYgMCAwIDY1NTM1LFxcbi1cXHRcXHRcXHQgICAgICA2IDAgMCAwXFxcIlxcbi1cXG4gaW5pdF9wYXJ0aWFsKClcXG4ge1xcbiBcXHRjYXBvdXQ9JChta3RlbXApXFxuQEAgLTE0Nyw2ICsxMTAsMTQgQEAgaW5pdF9wYXJ0aWFsKClcXG4gXFx0XFx0aWYgJGNoZWNrc3VtOyB0aGVuXFxuIFxcdFxcdFxcdGlwIG5ldG5zIGV4ZWMgJG5ldG5zIHN5c2N0bCAtcSBuZXQubXB0Y3AuY2hlY2tzdW1fZW5hYmxlZD0xXFxuIFxcdFxcdGZpXFxuK1xcbitcXHRcXHRpcCBuZXRucyBleGVjIFxcXCIkbmV0bnNcXFwiIG5mdCBhZGQgdGFibGUgaW5ldCBtam9pbl90YWJsZVxcbitcXHRcXHRpcCBuZXRucyBleGVjIFxcXCIkbmV0bnNcXFwiIG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBpbnB1dCBcXFxcXFxuK1xcdFxcdFxcdCd7IHR5cGUgZmlsdGVyIGhvb2sgaW5wdXQgcHJpb3JpdHkgZmlsdGVyOyBwb2xpY3kgYWNjZXB0OyB9J1xcbitcXHRcXHRpcCBuZXRucyBleGVjIFxcXCIkbmV0bnNcXFwiIG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHRcXHQneyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0nXFxuK1xcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiRuZXRuc1xcXCIgbmZ0IGFkZCBjaGFpbiBpbmV0IG1qb2luX3RhYmxlIG1hbmdsZSBcXFxcXFxuK1xcdFxcdFxcdCd7IHR5cGUgZmlsdGVyIGhvb2sgb3V0cHV0IHByaW9yaXR5IG1hbmdsZTsgcG9saWN5IGFjY2VwdDsgfSdcXG4gXFx0ZG9uZVxcbiBcXG4gXFx0Y2hlY2tfaW52ZXJ0PTBcXG5AQCAtMTk2LDcgKzE2Nyw3IEBAIGluaXQoKSB7XFxuIFxcbiBcXHRtcHRjcF9saWJfY2hlY2tfbXB0Y3BcXG4gXFx0bXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXFxuLVxcdG1wdGNwX2xpYl9jaGVja190b29scyBpcCB0YyBzcyBcXFwiJHtpcHRhYmxlc31cXFwiIFxcXCIke2lwNnRhYmxlc31cXFwiXFxuK1xcdG1wdGNwX2xpYl9jaGVja190b29scyBpcCB0YyBzcyBuZnRcXG4gXFxuIFxcdHNpbj0kKG1rdGVtcClcXG4gXFx0c291dD0kKG1rdGVtcClcXG5AQCAtMzgxLDIzICszNTIsMTggQEAgcmVzZXRfd2l0aF9jb29raWVzKClcXG4gcmVzZXRfd2l0aF9hZGRfYWRkcl90aW1lb3V0KClcXG4ge1xcbiBcXHRsb2NhbCBpcD1cXFwiJHsyOi00fVxcXCJcXG4tXFx0bG9jYWwgdGFibGVzXFxuIFxcbiBcXHRyZXNldCBcXFwiJHsxfVxcXCIgfHwgcmV0dXJuIDFcXG4gXFxuLVxcdHRhYmxlcz1cXFwiJHtpcHRhYmxlc31cXFwiXFxuLVxcdGlmIFsgJGlwIC1lcSA2IF07IHRoZW5cXG4tXFx0XFx0dGFibGVzPVxcXCIke2lwNnRhYmxlc31cXFwiXFxuLVxcdGZpXFxuLVxcbiBcXHQjIHNldCBhIG1heGltdW0sIHRvIGF2b2lkIHRvbyBsb25nIHRpbWVvdXQgd2l0aCBleHBvbmVudGlhbCBiYWNrb2ZmXFxuIFxcdGlwIG5ldG5zIGV4ZWMgJG5zMSBzeXNjdGwgLXEgbmV0Lm1wdGNwLmFkZF9hZGRyX3RpbWVvdXQ9MVxcbiBcXG4tXFx0aWYgISBpcCBuZXRucyBleGVjICRuczIgJHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIFxcXFxcXG4tXFx0XFx0XFx0LW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcXFxcXFxuLVxcdFxcdFxcdC1tIGJwZiAtLWJ5dGVjb2RlIFxcXFxcXG4tXFx0XFx0XFx0XFxcIiRDQlBGX01QVENQX1NVQk9QVElPTl9BRERfQUREUlxcXCIgXFxcXFxcbi1cXHRcXHRcXHQtaiBEUk9QOyB0aGVuXFxuK1xcbitcXHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcXFwiJG5zMlxcXCIgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXFxcXG4rXFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgbWV0YSBuZnByb3RvIGlwdiR7aXB9IFxcXFxcXG4rXFx0XFx0dGNwIG9wdGlvbiBtcHRjcCBzdWJ0eXBlIGFkZC1hZGRyIFxcXFxcXG4rXFx0XFx0ZHJvcCB8IGhlYWQgLW4xIHwgYXdrICd7cHJpbnQgJE5GfScpXFxuK1xcdGlmIFsgLXogXFxcIiRuZnRfaGFuZGxlXFxcIiBdOyB0aGVuXFxuIFxcdFxcdG1hcmtfYXNfc2tpcHBlZCBcXFwidW5hYmxlIHRvIHNldCB0aGUgJ2FkZCBhZGRyJyBydWxlXFxcIlxcbiBcXHRcXHRyZXR1cm4gMVxcbiBcXHRmaVxcbkBAIC00NTAsMjIgKzQxNiwxNiBAQCBzZXR1cF9mYWlsX3J1bGVzKClcXG4gXFx0dmFsaWRhdGVfY2hlY2tzdW09dHJ1ZVxcbiBcXHRsb2NhbCBpPVxcXCIkMVxcXCJcXG4gXFx0bG9jYWwgaXA9XFxcIiR7MjotNH1cXFwiXFxuLVxcdGxvY2FsIHRhYmxlc1xcbiBcXG4tXFx0dGFibGVzPVxcXCIke2lwdGFibGVzfVxcXCJcXG4tXFx0aWYgWyAkaXAgLWVxIDYgXTsgdGhlblxcbi1cXHRcXHR0YWJsZXM9XFxcIiR7aXA2dGFibGVzfVxcXCJcXG4rXFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiRuczJcXFwiIG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxcXFxuK1xcdFxcdGluZXQgbWpvaW5fdGFibGUgbWFuZ2xlIG9pZm5hbWUgbnMyZXRoJGkgXFxcXFxcbitcXHRcXHRtZXRhIG5mcHJvdG8gaXB2JHtpcH0gbWV0YSBsNHByb3RvIHRjcCBcXFxcXFxuK1xcdFxcdG1ldGEgbGVuZ3RoIDE1MC05OTk5IG51bWdlbiBpbmMgbW9kIDk5OTk5ID09IDEgXFxcXFxcbitcXHRcXHRtZXRhIG1hcmsgc2V0IDQyIHwgaGVhZCAtbjEgfCBhd2sgJ3twcmludCAkTkZ9JylcXG4rXFx0aWYgWyAteiBcXFwiJG5mdF9oYW5kbGVcXFwiIF07IHRoZW5cXG4rXFx0XFx0cmV0dXJuICR7S1NGVF9TS0lQfVxcbiBcXHRmaVxcbiBcXG4tXFx0aXAgbmV0bnMgZXhlYyAkbnMyICR0YWJsZXMgXFxcXFxcbi1cXHRcXHQtdCBtYW5nbGUgXFxcXFxcbi1cXHRcXHQtQSBPVVRQVVQgXFxcXFxcbi1cXHRcXHQtbyBuczJldGgkaSBcXFxcXFxuLVxcdFxcdC1wIHRjcCBcXFxcXFxuLVxcdFxcdC1tIGxlbmd0aCAtLWxlbmd0aCAxNTA6OTk5OSBcXFxcXFxuLVxcdFxcdC1tIHN0YXRpc3RpYyAtLW1vZGUgbnRoIC0tcGFja2V0IDEgLS1ldmVyeSA5OTk5OSBcXFxcXFxuLVxcdFxcdC1qIE1BUksgLS1zZXQtbWFyayA0MiB8fCByZXR1cm4gJHtLU0ZUX1NLSVB9XFxuLVxcbiBcXHR0YyAtbiAkbnMyIHFkaXNjIGFkZCBkZXYgbnMyZXRoJGkgY2xzYWN0IHx8IHJldHVybiAke0tTRlRfU0tJUH1cXG4gXFx0dGMgLW4gJG5zMiBmaWx0ZXIgYWRkIGRldiBuczJldGgkaSBlZ3Jlc3MgXFxcXFxcbiBcXHRcXHRwcm90b2NvbCBpcCBwcmlvIDEwMDAgXFxcXFxcbkBAIC01MTUsMTEgKzQ3NSwxMSBAQCByZXNldF93aXRoX3RjcF9maWx0ZXIoKVxcbiBcXHRsb2NhbCB0YXJnZXQ9XFxcIiR7M31cXFwiXFxuIFxcdGxvY2FsIGNoYWluPVxcXCIkezQ6LUlOUFVUfVxcXCJcXG4gXFxuLVxcdGlmICEgaXAgbmV0bnMgZXhlYyBcXFwiJHtuc31cXFwiICR7aXB0YWJsZXN9IFxcXFxcXG4tXFx0XFx0XFx0LUEgXFxcIiR7Y2hhaW59XFxcIiBcXFxcXFxuLVxcdFxcdFxcdC1zIFxcXCIke3NyY31cXFwiIFxcXFxcXG4tXFx0XFx0XFx0LXAgdGNwIFxcXFxcXG4tXFx0XFx0XFx0LWogXFxcIiR7dGFyZ2V0fVxcXCI7IHRoZW5cXG4rXFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiRuc1xcXCIgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXFxcXG4rXFx0XFx0aW5ldCBtam9pbl90YWJsZSBcXFwiJHtjaGFpbiwsfVxcXCIgXFxcXFxcbitcXHRcXHRpcCBzYWRkciBcXFwieyAke3NyY30gfVxcXCIgbWV0YSBsNHByb3RvIHRjcCBcXFwiJHt0YXJnZXQsLH1cXFwiIHwgXFxcXFxcbitcXHRcXHRoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxcbitcXHRpZiBbIC16IFxcXCIkbmZ0X2hhbmRsZVxcXCIgXTsgdGhlblxcbiBcXHRcXHRtYXJrX2FzX3NraXBwZWQgXFxcInVuYWJsZSB0byBzZXQgdGhlIGZpbHRlciBydWxlc1xcXCJcXG4gXFx0XFx0cmV0dXJuIDFcXG4gXFx0ZmlcXG5AQCAtNDMxNSwxMCArNDI3NSwxMiBAQCB1c2Vyc3BhY2VfdGVzdHMoKVxcbiBcXG4gXFx0XFx0IyBmb3JjZSBxdWljayBsb3NzXFxuIFxcdFxcdGlwIG5ldG5zIGV4ZWMgJG5zMiBzeXNjdGwgLXEgbmV0LmlwdjQudGNwX3N5bl9yZXRyaWVzPTFcXG4tXFx0XFx0aWYgaXAgbmV0bnMgZXhlYyBcXFwiJHtuczF9XFxcIiAke2lwdGFibGVzfSAtQSBJTlBVVCAtcyBcXFwiMTAuMC4xLjJcXFwiIFxcXFxcXG4tXFx0XFx0ICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQgXFx1MDAyNlxcdTAwMjZcXG4tXFx0XFx0ICAgaXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiAke2lwdGFibGVzfSAtQSBJTlBVVCAtZCBcXFwiMTAuMC4xLjJcXFwiIFxcXFxcXG4tXFx0XFx0ICAgICAgLXAgdGNwIC0tdGNwLW9wdGlvbiAzMCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aCB0Y3AtcmVzZXQ7IHRoZW5cXG4rXFx0XFx0aWYgaXAgbmV0bnMgZXhlYyBcXFwiJHtuczF9XFxcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBcXFxcXFxuK1xcdFxcdFxcdGlucHV0IGlwIHNhZGRyIFxcXCIxMC4wLjEuMlxcXCIgbWV0YSBsNHByb3RvIHRjcCBcXFxcXFxuK1xcdFxcdFxcdHRjcCBvcHRpb24gbXB0Y3AgZXhpc3RzIHJlamVjdCB3aXRoIHRjcCByZXNldCBcXHUwMDI2XFx1MDAyNlxcbitcXHRcXHQgICBpcCBuZXRucyBleGVjIFxcXCIke25zMn1cXFwiIG5mdCBhZGQgcnVsZSBpbmV0IG1qb2luX3RhYmxlIFxcXFxcXG4rXFx0XFx0XFx0aW5wdXQgaXAgZGFkZHIgXFxcIjEwLjAuMS4yXFxcIiBtZXRhIGw0cHJvdG8gdGNwIFxcXFxcXG4rXFx0XFx0XFx0dGNwIG9wdGlvbiBtcHRjcCBleGlzdHMgcmVqZWN0IHdpdGggdGNwIHJlc2V0OyB0aGVuXFxuIFxcdFxcdFxcdHdhaXRfZXZlbnQgbnMyIE1QVENQX0xJQl9FVkVOVF9TVUJfQ0xPU0VEIDFcXG4gXFx0XFx0XFx0d2FpdF9ldmVudCBuczEgTVBUQ1BfTElCX0VWRU5UX1NVQl9DTE9TRUQgMVxcbiBcXHRcXHRcXHRjaGtfc3ViZmxvd3NfdG90YWwgMSAxXFxuQEAgLTQzOTMsNyArNDM1NSw3IEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFx0XFx0Y2hrX3N1YmZsb3dfbnIgXFxcImFmdGVyIG5ldyByZWplY3RcXFwiIDJcXG4gXFx0XFx0Y2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMSBzdWJmbG93cyAxXFxuIFxcbi1cXHRcXHRpcCBuZXRucyBleGVjIFxcXCIke25zMn1cXFwiICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyBcXFwiMTAuMC4zLjJcXFwiIC1wIHRjcCAtaiBSRUpFQ1RcXG4rXFx0XFx0aXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFxcXCIkbmZ0X2hhbmRsZVxcXCJcXG4gXFx0XFx0cG1fbmxfZGVsX2VuZHBvaW50ICRuczIgMyAxMC4wLjMuMlxcbiBcXHRcXHRwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMiAxMC4wLjMuMiBpZCAzIGZsYWdzIHN1YmZsb3dcXG4gXFx0XFx0d2FpdF9tcGogM1xcbkBAIC00NDAyLDEyICs0MzY0LDEwIEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFxuIFxcdFxcdCMgVG8gbWFrZSBzdXJlIFJNX0FERFIgYXJlIHNlbnQgb3ZlciBhIGRpZmZlcmVudCBzdWJmbG93LCBidXRcXG4gXFx0XFx0IyBhbGxvdyB0aGUgcmVzdCB0byBxdWlja2x5IGFuZCBjbGVhbmx5IGNsb3NlIHRoZSBzdWJmbG93XFxuLVxcdFxcdGxvY2FsIGlwdD0xXFxuLVxcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zIFxcXCIxMC4wLjEuMlxcXCIgXFxcXFxcbi1cXHRcXHRcXHQtcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcXFxcXFxuLVxcdFxcdFxcdC1tIGJwZiAtLWJ5dGVjb2RlIFxcXFxcXG4tXFx0XFx0XFx0XFxcIiRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSXFxcIiBcXFxcXFxuLVxcdFxcdFxcdC1qIERST1AgfHwgaXB0PTBcXG4rXFx0XFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXFxcXG4rXFx0XFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjIgbWV0YSBsNHByb3RvIHRjcCBcXFxcXFxuK1xcdFxcdFxcdHRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcXFxcXFxuK1xcdFxcdFxcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxcbiBcXHRcXHRsb2NhbCBpXFxuIFxcdFxcdGZvciBpIGluICQoc2VxIDMpOyBkb1xcbiBcXHRcXHRcXHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMiAxIDEwLjAuMS4yXFxuQEAgLTQ0MjAsNyArNDM4MCw4IEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFx0XFx0XFx0Y2hrX3N1YmZsb3dfbnIgXFxcImFmdGVyIHJlLWFkZCBpZCAwICgkaSlcXFwiIDNcXG4gXFx0XFx0XFx0Y2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMyBzdWJmbG93cyAzXFxuIFxcdFxcdGRvbmVcXG4tXFx0XFx0WyAke2lwdH0gPSAxIF0gXFx1MDAyNlxcdTAwMjYgaXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiAke2lwdGFibGVzfSAtRCBPVVRQVVQgMVxcbitcXHRcXHRbIC1uIFxcXCIke25mdF9oYW5kbGV9XFxcIiBdIFxcdTAwMjZcXHUwMDI2IGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IGRlbGV0ZSBydWxlIFxcXFxcXG4rXFx0XFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFxcXCIke25mdF9oYW5kbGV9XFxcIlxcbiBcXG4gXFx0XFx0bXB0Y3BfbGliX2tpbGxfZ3JvdXBfd2FpdCAkdGVzdHNfcGlkXFxuIFxcbkBAIC00NDgyLDE4ICs0NDQzLDE3IEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFxuIFxcdFxcdCMgVG8gbWFrZSBzdXJlIFJNX0FERFIgYXJlIHNlbnQgb3ZlciBhIGRpZmZlcmVudCBzdWJmbG93LCBidXRcXG4gXFx0XFx0IyBhbGxvdyB0aGUgcmVzdCB0byBxdWlja2x5IGFuZCBjbGVhbmx5IGNsb3NlIHRoZSBzdWJmbG93XFxuLVxcdFxcdGxvY2FsIGlwdD0xXFxuLVxcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMxfVxcXCIgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zIFxcXCIxMC4wLjEuMVxcXCIgXFxcXFxcbi1cXHRcXHRcXHQtcCB0Y3AgLW0gdGNwIC0tdGNwLW9wdGlvbiAzMCBcXFxcXFxuLVxcdFxcdFxcdC1tIGJwZiAtLWJ5dGVjb2RlIFxcXFxcXG4tXFx0XFx0XFx0XFxcIiRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSXFxcIiBcXFxcXFxuLVxcdFxcdFxcdC1qIERST1AgfHwgaXB0PTBcXG4rXFx0XFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMxfVxcXCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXFxcXG4rXFx0XFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjEgbWV0YSBsNHByb3RvIHRjcCBcXFxcXFxuK1xcdFxcdFxcdHRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcXFxcXFxuK1xcdFxcdFxcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxcbiBcXHRcXHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMSA0MiAxMC4wLjEuMVxcbiBcXHRcXHRzbGVlcCAwLjVcXG4gXFx0XFx0Y2hrX3N1YmZsb3dfbnIgXFxcImFmdGVyIGRlbGV0ZSBJRCAwXFxcIiAyXFxuIFxcdFxcdGNoa19tcHRjcF9pbmZvIHN1YmZsb3dzIDIgc3ViZmxvd3MgMlxcbiBcXHRcXHRjaGtfbXB0Y3BfaW5mbyBhZGRfYWRkcl9zaWduYWwgMiBhZGRfYWRkcl9hY2NlcHRlZCAyXFxuLVxcdFxcdFsgJHtpcHR9ID0gMSBdIFxcdTAwMjZcXHUwMDI2IGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMxfVxcXCIgJHtpcHRhYmxlc30gLUQgT1VUUFVUIDFcXG4rXFx0XFx0WyAtbiBcXFwiJHtuZnRfaGFuZGxlfVxcXCIgXSBcXHUwMDI2XFx1MDAyNiBpcCBuZXRucyBleGVjIFxcXCIke25zMX1cXFwiIG5mdCBkZWxldGUgcnVsZSBcXFxcXFxuK1xcdFxcdFxcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcXFwiJHtuZnRfaGFuZGxlfVxcXCJcXG4gXFxuIFxcdFxcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMS4xIGlkIDQyIGZsYWdzIHNpZ25hbFxcbiBcXHRcXHR3YWl0X21waiA0XFxuQEAgLTQ1NTUsNyArNDUxNSw3IEBAIGVuZHBvaW50X3Rlc3RzKClcXG4gXFx0XFx0cG1fbmxfZmx1c2hfZW5kcG9pbnQgJG5zMlxcbiBcXHRcXHRwbV9ubF9mbHVzaF9lbmRwb2ludCAkbnMxXFxuIFxcdFxcdHdhaXRfcm1fYWRkciAkbnMyIDBcXG4tXFx0XFx0aXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiAke2lwdGFibGVzfSAtRCBPVVRQVVQgLXMgXFxcIjEwLjAuMy4yXFxcIiAtcCB0Y3AgLWogUkVKRUNUXFxuK1xcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IGRlbGV0ZSBydWxlIGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcXFwiJG5mdF9oYW5kbGVcXFwiXFxuIFxcdFxcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvd1xcbiBcXHRcXHR3YWl0X21waiAxXFxuIFxcdFxcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMy4xIGlkIDIgZmxhZ3Mgc2lnbmFsXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9saWIuc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXFxuaW5kZXggNWVmNjAzMzc3NWM4Ni4uZWJhNjkwMzIzM2NjZiAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2xpYi5zaFxcbkBAIC01MjQsNyArNTI0LDcgQEAgbXB0Y3BfbGliX2NoZWNrX3Rvb2xzKCkge1xcbiBcXHRcXHRcXHRcXHRleGl0ICR7S1NGVF9TS0lQfVxcbiBcXHRcXHRcXHRmaVxcbiBcXHRcXHRcXHQ7O1xcbi1cXHRcXHRcXFwiaXB0YWJsZXNcXFwiKiB8IFxcXCJpcDZ0YWJsZXNcXFwiKilcXG4rXFx0XFx0XFxcImlwdGFibGVzXFxcIiogfCBcXFwiaXA2dGFibGVzXFxcIiogfCBcXFwibmZ0XFxcIiopXFxuIFxcdFxcdFxcdGlmICEgXFxcIiR7dG9vbH1cXFwiIC1WIFxcdTAwMjZcXHUwMDNlIC9kZXYvbnVsbDsgdGhlblxcbiBcXHRcXHRcXHRcXHRtcHRjcF9saWJfcHJfc2tpcCBcXFwiQ291bGQgbm90IHJ1biBhbGwgdGVzdHMgd2l0aG91dCAke3Rvb2x9XFxcIlxcbiBcXHRcXHRcXHRcXHRleGl0ICR7S1NGVF9TS0lQfVxcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXFxuaW5kZXggZTg1MGE4NzQyOWI2MS4uNGQwYWYyYmY5NDg0MCAxMDA3NTVcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaFxcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXFxuQEAgLTE1LDggKzE1LDYgQEAgY2luPVxcXCJcXFwiXFxuIGNvdXQ9XFxcIlxcXCJcXG4gdGltZW91dF9wb2xsPTMwXFxuIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICsgMSkpXFxuLWlwdGFibGVzPVxcXCJpcHRhYmxlc1xcXCJcXG4taXA2dGFibGVzPVxcXCJpcDZ0YWJsZXNcXFwiXFxuIFxcbiBuczE9XFxcIlxcXCJcXG4gbnMyPVxcXCJcXFwiXFxuQEAgLTQ5LDE3ICs0NywyMyBAQCBhZGRfbWFya19ydWxlcygpXFxuIFxcdGxvY2FsIG5zPSQxXFxuIFxcdGxvY2FsIG09JDJcXG4gXFxuLVxcdGxvY2FsIHRcXG4tXFx0Zm9yIHQgaW4gJHtpcHRhYmxlc30gJHtpcDZ0YWJsZXN9OyBkb1xcbi1cXHRcXHQjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0c1xcbi1cXHRcXHRpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tc3luIC1tIG1hcmsgLS1tYXJrICRtIC1qIEFDQ0VQVFxcbi1cXG4tXFx0XFx0IyBSU1QgcGFja2V0cyBtaWdodCBiZSBoYW5kbGVkIGJ5IGEgaW50ZXJuYWwgZHVtbXkgc29ja2V0XFxuLVxcdFxcdGlwIG5ldG5zIGV4ZWMgJG5zICR0IC1BIE9VVFBVVCAtcCB0Y3AgLS10Y3AtZmxhZ3MgUlNUIFJTVCAtbSBtYXJrIC0tbWFyayAwIC1qIEFDQ0VQVFxcbi1cXG4tXFx0XFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtbSBtYXJrIC0tbWFyayAkbSAtaiBBQ0NFUFRcXG4tXFx0XFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtbSBtYXJrIC0tbWFyayAwIC1qIERST1BcXG4tXFx0ZG9uZVxcbitcXHRpcCBuZXRucyBleGVjIFxcXCIkbnNcXFwiIG5mdCBhZGQgdGFibGUgaW5ldCBtc29ja190YWJsZVxcbitcXHRpcCBuZXRucyBleGVjIFxcXCIkbnNcXFwiIG5mdCBhZGQgY2hhaW4gaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHQneyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSAwOyBwb2xpY3kgYWNjZXB0OyB9J1xcbitcXG4rXFx0IyBqdXN0IHRvIGRlYnVnOiBjaGVjayB3ZSBoYXZlIG11bHRpcGxlIHN1YmZsb3dzIGNvbm5lY3Rpb24gcmVxdWVzdHNcXG4rXFx0aXAgbmV0bnMgZXhlYyBcXFwiJG5zXFxcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHQgbWV0YSBtYXJrIFxcXCIkbVxcXCIgdGNwIGZsYWdzIHN5biBhY2NlcHRcXG4rXFx0IyBSU1QgcGFja2V0cyBtaWdodCBiZSBoYW5kbGVkIGJ5IGEgaW50ZXJuYWwgZHVtbXkgc29ja2V0XFxuK1xcdGlwIG5ldG5zIGV4ZWMgXFxcIiRuc1xcXCIgbmZ0IGFkZCBydWxlIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXFxcXG4rXFx0XFx0bWV0YSBtYXJrIDAgdGNwIGZsYWdzIHJzdCBhY2NlcHRcXG4rXFx0aXAgbmV0bnMgZXhlYyBcXFwiJG5zXFxcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHRtZXRhIG1hcmsgXFxcIiRtXFxcIiBtZXRhIGw0cHJvdG8gdGNwIGFjY2VwdFxcbitcXG4rXFx0aXAgbmV0bnMgZXhlYyBcXFwiJG5zXFxcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcXFxcbitcXHRcXHRtZXRhIG5mcHJvdG8gaXB2NCBtZXRhIG1hcmsgMCBtZXRhIGw0cHJvdG8gdGNwIGNvdW50ZXIgZHJvcFxcbitcXHRpcCBuZXRucyBleGVjIFxcXCIkbnNcXFwiIG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxcXFxuK1xcdFxcdG1ldGEgbmZwcm90byBpcHY2IG1ldGEgbWFyayAwIG1ldGEgbDRwcm90byB0Y3AgY291bnRlciBkcm9wXFxuIH1cXG4gXFxuIGluaXQoKVxcbkBAIC0xMDUsMzMgKzEwOSwyMyBAQCBjbGVhbnVwKClcXG4gXFxuIG1wdGNwX2xpYl9jaGVja19tcHRjcFxcbiBtcHRjcF9saWJfY2hlY2tfa2FsbHN5bXNcXG4tbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIFxcXCIke2lwdGFibGVzfVxcXCIgXFxcIiR7aXA2dGFibGVzfVxcXCJcXG4rbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIG5mdFxcbiBcXG4gY2hlY2tfbWFyaygpXFxuIHtcXG4gXFx0bG9jYWwgbnM9JDFcXG4gXFx0bG9jYWwgYWY9JDJcXG4gXFxuLVxcdGxvY2FsIHRhYmxlcz0ke2lwdGFibGVzfVxcbitcXHRkcm9wPSQoaXAgbmV0bnMgZXhlYyBcXFwiJG5zXFxcIiBuZnQgbGlzdCB0YWJsZSBpbmV0IG1zb2NrX3RhYmxlIHwgXFxcXFxcbitcXHRcXHRncmVwIFxcXCJpcHYkYWYuKnBhY2tldHMuKmRyb3BcXFwiIHwgYXdrICd7cHJpbnQgJChORi0zKX0nKVxcbiBcXG4tXFx0aWYgWyAkYWYgLWVxIDYgXTt0aGVuXFxuLVxcdFxcdHRhYmxlcz0ke2lwNnRhYmxlc31cXG4rXFx0aWYgWyBcXFwiJGRyb3BcXFwiIC1uZSAwIF07IHRoZW5cXG4rXFx0XFx0bXB0Y3BfbGliX3ByX2ZhaWwgXFxcImdvdCAkZHJvcCBwa3QgZHJvcHMgaW4gbnMgJG5zIElQdnskYWZ9IHRhYmxlcyxcXFwiIFxcXFxcXG4rXFx0XFx0XFx0XFx0ICBcXFwibm90IDAgLSBub3QgYWxsIGV4cGVjdGVkIHBhY2tldHMgbWFya2VkXFxcIlxcbitcXHRcXHRyZXQ9JHtLU0ZUX0ZBSUx9XFxuK1xcdFxcdHJldHVybiAxXFxuIFxcdGZpXFxuIFxcbi1cXHRsb2NhbCBjb3VudGVycyB2YWx1ZXNcXG4tXFx0Y291bnRlcnM9JChpcCBuZXRucyBleGVjICRucyAkdGFibGVzIC12IC1MIE9VVFBVVCB8IGdyZXAgRFJPUClcXG4tXFx0dmFsdWVzPSR7Y291bnRlcnMlRFJPUCp9XFxuLVxcbi1cXHRsb2NhbCB2XFxuLVxcdGZvciB2IGluICR2YWx1ZXM7IGRvXFxuLVxcdFxcdGlmIFsgJHYgLW5lIDAgXTsgdGhlblxcbi1cXHRcXHRcXHRtcHRjcF9saWJfcHJfZmFpbCBcXFwiZ290ICR0YWJsZXMgJHZhbHVlcyBpbiBucyAkbnMsXFxcIiBcXFxcXFxuLVxcdFxcdFxcdFxcdFxcdCAgXFxcIm5vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFxcXCJcXG4tXFx0XFx0XFx0cmV0PSR7S1NGVF9GQUlMfVxcbi1cXHRcXHRcXHRyZXR1cm4gMVxcbi1cXHRcXHRmaVxcbi1cXHRkb25lXFxuLVxcbiBcXHRyZXR1cm4gMFxcbiB9XFxuIFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wMlQxOTozNjo0MC40Mzk4OTI1NjVaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJjb3JlIiwiRHVyYXRpb24iOjEwMTY3MDkzMTkzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2Ugc2VsZnRlc3Qgc2NyaXB0cyBhbmQgdGVzdCBjb25maWd1cmF0aW9ucyBpbiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvIChtaWdyYXRpbmcgaXB0YWJsZXMgcnVsZXMgdG8gbmZ0YWJsZXMpLCB3aXRoIG5vIGZ1bmN0aW9uYWwgbW9kaWZpY2F0aW9ucyB0byB0aGUgTGludXgga2VybmVsIGl0c2VsZi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDFlZDRjYWNhODA5YzgzODU0MTY1NDczZGJhM2JkMjk2ZWMzOGMyNWVcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIFNlcCAyIDE5OjM2OjM3IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2NvbmZpZyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9jb25maWdcbmluZGV4IDU5MDUxZWUyYTk4NjAuLjBkMGE3NDRjNGNhODkgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvY29uZmlnXG5AQCAtMzAsNiArMzAsOSBAQCBDT05GSUdfTkVUX1NDSF9ORVRFTT1tXG4gQ09ORklHX05GX1RBQkxFUz1tXG4gQ09ORklHX05GX1RBQkxFU19JTkVUPXlcbiBDT05GSUdfTkZUX0NPTVBBVD1tXG4rQ09ORklHX05GVF9OVU1HRU49eVxuK0NPTkZJR19ORlRfUkVKRUNUPW1cbitDT05GSUdfTkZUX1JFSkVDVF9JUFY0PW1cbiBDT05GSUdfTkZUX1NPQ0tFVD1tXG4gQ09ORklHX05GVF9UUFJPWFk9bVxuIENPTkZJR19TWU5fQ09PS0lFUz15XG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxuaW5kZXggMThjZTcxMzZhMmIwZS4uMDVjYmFkZGI4MjYxNiAxMDA3NTVcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaFxuQEAgLTI2LDggKzI2LDYgQEAgY2Fwb3V0PVwiXCJcbiBjYXBwaWQ9XCJcIlxuIG5zMT1cIlwiXG4gbnMyPVwiXCJcbi1pcHRhYmxlcz1cImlwdGFibGVzXCJcbi1pcDZ0YWJsZXM9XCJpcDZ0YWJsZXNcIlxuIHRpbWVvdXRfcG9sbD0zMFxuIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICsgMSkpXG4gY2FwdHVyZT1mYWxzZVxuQEAgLTUwLDYgKzQ4LDcgQEAgZGVjbGFyZSAtQSBmYWlsZWRfdGVzdHNcbiBNUFRDUF9MSUJfVEVTVF9GT1JNQVQ9XCIlMDN1ICVzXFxuXCJcbiBURVNUX05BTUU9XCJcIlxuIG5yX2JsYW5rPTZcbituZnRfaGFuZGxlPVwiXCJcbiBcbiAjIFRoZXNlIHZhciBhcmUgdXNlZCBvbmx5IGluIHNvbWUgdGVzdHMsIG1ha2Ugc3VyZSB0aGV5IGFyZSBub3QgYWxyZWFkeSBzZXRcbiB1bnNldCBGQUlMSU5HX0xJTktTXG5AQCAtOTksNDIgKzk4LDYgQEAgdW5zZXQgYWRkX2FkZHJfdHhfbnJcbiB1bnNldCBhZGRfYWRkcl9lY2hvX3R4X25yXG4gdW5zZXQgYWRkX2FkZHJfZHJvcF90eF9uclxuIFxuLSMgZ2VuZXJhdGVkIHVzaW5nIFwibmZicGZfY29tcGlsZSAnKGlwIFx1MDAyNlx1MDAyNiAoaXBbNTRdIFx1MDAyNiAweGYwKSA9PSAweDMwKSB8fFxuLSNcdFx0XHRcdCAgKGlwNiBcdTAwMjZcdTAwMjYgKGlwNls3NF0gXHUwMDI2IDB4ZjApID09IDB4MzApJ1wiXG4tQ0JQRl9NUFRDUF9TVUJPUFRJT05fQUREX0FERFI9XCIxNCxcbi1cdFx0XHQgICAgICAgNDggMCAwIDAsXG4tXHRcdFx0ICAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgIDIxIDAgMyA2NCxcbi1cdFx0XHQgICAgICAgNDggMCAwIDU0LFxuLVx0XHRcdCAgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgICAyMSA2IDcgNDgsXG4tXHRcdFx0ICAgICAgIDQ4IDAgMCAwLFxuLVx0XHRcdCAgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgICAyMSAwIDQgOTYsXG4tXHRcdFx0ICAgICAgIDQ4IDAgMCA3NCxcbi1cdFx0XHQgICAgICAgODQgMCAwIDI0MCxcbi1cdFx0XHQgICAgICAgMjEgMCAxIDQ4LFxuLVx0XHRcdCAgICAgICA2IDAgMCA2NTUzNSxcbi1cdFx0XHQgICAgICAgNiAwIDAgMFwiXG4tXG4tIyBJUHY0OiBUQ1AgaGRyIG9mIDQ4QiwgYSBmaXJzdCBzdWJvcHRpb24gb2YgMTJCIChEQUNLOCksIHRoZSBSTV9BRERSIHN1Ym9wdGlvblxuLSMgZ2VuZXJhdGVkIHVzaW5nIFwibmZicGZfY29tcGlsZSAnKGlwWzMyXSBcdTAwMjYgMHhmMCkgPT0gMHhjMCBcdTAwMjZcdTAwMjYgaXBbNTNdID09IDB4MGMgXHUwMDI2XHUwMDI2XG4tI1x0XHRcdFx0ICAoaXBbNjZdIFx1MDAyNiAweGYwKSA9PSAweDQwJ1wiXG4tQ0JQRl9NUFRDUF9TVUJPUFRJT05fUk1fQUREUj1cIjEzLFxuLVx0XHRcdCAgICAgIDQ4IDAgMCAwLFxuLVx0XHRcdCAgICAgIDg0IDAgMCAyNDAsXG4tXHRcdFx0ICAgICAgMjEgMCA5IDY0LFxuLVx0XHRcdCAgICAgIDQ4IDAgMCAzMixcbi1cdFx0XHQgICAgICA4NCAwIDAgMjQwLFxuLVx0XHRcdCAgICAgIDIxIDAgNiAxOTIsXG4tXHRcdFx0ICAgICAgNDggMCAwIDUzLFxuLVx0XHRcdCAgICAgIDIxIDAgNCAxMixcbi1cdFx0XHQgICAgICA0OCAwIDAgNjYsXG4tXHRcdFx0ICAgICAgODQgMCAwIDI0MCxcbi1cdFx0XHQgICAgICAyMSAwIDEgNjQsXG4tXHRcdFx0ICAgICAgNiAwIDAgNjU1MzUsXG4tXHRcdFx0ICAgICAgNiAwIDAgMFwiXG4tXG4gaW5pdF9wYXJ0aWFsKClcbiB7XG4gXHRjYXBvdXQ9JChta3RlbXApXG5AQCAtMTQ3LDYgKzExMCwxNCBAQCBpbml0X3BhcnRpYWwoKVxuIFx0XHRpZiAkY2hlY2tzdW07IHRoZW5cbiBcdFx0XHRpcCBuZXRucyBleGVjICRuZXRucyBzeXNjdGwgLXEgbmV0Lm1wdGNwLmNoZWNrc3VtX2VuYWJsZWQ9MVxuIFx0XHRmaVxuK1xuK1x0XHRpcCBuZXRucyBleGVjIFwiJG5ldG5zXCIgbmZ0IGFkZCB0YWJsZSBpbmV0IG1qb2luX3RhYmxlXG4rXHRcdGlwIG5ldG5zIGV4ZWMgXCIkbmV0bnNcIiBuZnQgYWRkIGNoYWluIGluZXQgbWpvaW5fdGFibGUgaW5wdXQgXFxcbitcdFx0XHQneyB0eXBlIGZpbHRlciBob29rIGlucHV0IHByaW9yaXR5IGZpbHRlcjsgcG9saWN5IGFjY2VwdDsgfSdcbitcdFx0aXAgbmV0bnMgZXhlYyBcIiRuZXRuc1wiIG5mdCBhZGQgY2hhaW4gaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgXFxcbitcdFx0XHQneyB0eXBlIGZpbHRlciBob29rIG91dHB1dCBwcmlvcml0eSBmaWx0ZXI7IHBvbGljeSBhY2NlcHQ7IH0nXG4rXHRcdGlwIG5ldG5zIGV4ZWMgXCIkbmV0bnNcIiBuZnQgYWRkIGNoYWluIGluZXQgbWpvaW5fdGFibGUgbWFuZ2xlIFxcXG4rXHRcdFx0J3sgdHlwZSBmaWx0ZXIgaG9vayBvdXRwdXQgcHJpb3JpdHkgbWFuZ2xlOyBwb2xpY3kgYWNjZXB0OyB9J1xuIFx0ZG9uZVxuIFxuIFx0Y2hlY2tfaW52ZXJ0PTBcbkBAIC0xOTYsNyArMTY3LDcgQEAgaW5pdCgpIHtcbiBcbiBcdG1wdGNwX2xpYl9jaGVja19tcHRjcFxuIFx0bXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXG4tXHRtcHRjcF9saWJfY2hlY2tfdG9vbHMgaXAgdGMgc3MgXCIke2lwdGFibGVzfVwiIFwiJHtpcDZ0YWJsZXN9XCJcbitcdG1wdGNwX2xpYl9jaGVja190b29scyBpcCB0YyBzcyBuZnRcbiBcbiBcdHNpbj0kKG1rdGVtcClcbiBcdHNvdXQ9JChta3RlbXApXG5AQCAtMzgxLDIzICszNTIsMTggQEAgcmVzZXRfd2l0aF9jb29raWVzKClcbiByZXNldF93aXRoX2FkZF9hZGRyX3RpbWVvdXQoKVxuIHtcbiBcdGxvY2FsIGlwPVwiJHsyOi00fVwiXG4tXHRsb2NhbCB0YWJsZXNcbiBcbiBcdHJlc2V0IFwiJHsxfVwiIHx8IHJldHVybiAxXG4gXG4tXHR0YWJsZXM9XCIke2lwdGFibGVzfVwiXG4tXHRpZiBbICRpcCAtZXEgNiBdOyB0aGVuXG4tXHRcdHRhYmxlcz1cIiR7aXA2dGFibGVzfVwiXG4tXHRmaVxuLVxuIFx0IyBzZXQgYSBtYXhpbXVtLCB0byBhdm9pZCB0b28gbG9uZyB0aW1lb3V0IHdpdGggZXhwb25lbnRpYWwgYmFja29mZlxuIFx0aXAgbmV0bnMgZXhlYyAkbnMxIHN5c2N0bCAtcSBuZXQubXB0Y3AuYWRkX2FkZHJfdGltZW91dD0xXG4gXG4tXHRpZiAhIGlwIG5ldG5zIGV4ZWMgJG5zMiAkdGFibGVzIC1BIE9VVFBVVCAtcCB0Y3AgXFxcbi1cdFx0XHQtbSB0Y3AgLS10Y3Atb3B0aW9uIDMwIFxcXG4tXHRcdFx0LW0gYnBmIC0tYnl0ZWNvZGUgXFxcbi1cdFx0XHRcIiRDQlBGX01QVENQX1NVQk9QVElPTl9BRERfQUREUlwiIFxcXG4tXHRcdFx0LWogRFJPUDsgdGhlblxuK1xuK1x0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXCIkbnMyXCIgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXG4rXHRcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IG1ldGEgbmZwcm90byBpcHYke2lwfSBcXFxuK1x0XHR0Y3Agb3B0aW9uIG1wdGNwIHN1YnR5cGUgYWRkLWFkZHIgXFxcbitcdFx0ZHJvcCB8IGhlYWQgLW4xIHwgYXdrICd7cHJpbnQgJE5GfScpXG4rXHRpZiBbIC16IFwiJG5mdF9oYW5kbGVcIiBdOyB0aGVuXG4gXHRcdG1hcmtfYXNfc2tpcHBlZCBcInVuYWJsZSB0byBzZXQgdGhlICdhZGQgYWRkcicgcnVsZVwiXG4gXHRcdHJldHVybiAxXG4gXHRmaVxuQEAgLTQ1MCwyMiArNDE2LDE2IEBAIHNldHVwX2ZhaWxfcnVsZXMoKVxuIFx0dmFsaWRhdGVfY2hlY2tzdW09dHJ1ZVxuIFx0bG9jYWwgaT1cIiQxXCJcbiBcdGxvY2FsIGlwPVwiJHsyOi00fVwiXG4tXHRsb2NhbCB0YWJsZXNcbiBcbi1cdHRhYmxlcz1cIiR7aXB0YWJsZXN9XCJcbi1cdGlmIFsgJGlwIC1lcSA2IF07IHRoZW5cbi1cdFx0dGFibGVzPVwiJHtpcDZ0YWJsZXN9XCJcbitcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwiJG5zMlwiIG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxuK1x0XHRpbmV0IG1qb2luX3RhYmxlIG1hbmdsZSBvaWZuYW1lIG5zMmV0aCRpIFxcXG4rXHRcdG1ldGEgbmZwcm90byBpcHYke2lwfSBtZXRhIGw0cHJvdG8gdGNwIFxcXG4rXHRcdG1ldGEgbGVuZ3RoIDE1MC05OTk5IG51bWdlbiBpbmMgbW9kIDk5OTk5ID09IDEgXFxcbitcdFx0bWV0YSBtYXJrIHNldCA0MiB8IGhlYWQgLW4xIHwgYXdrICd7cHJpbnQgJE5GfScpXG4rXHRpZiBbIC16IFwiJG5mdF9oYW5kbGVcIiBdOyB0aGVuXG4rXHRcdHJldHVybiAke0tTRlRfU0tJUH1cbiBcdGZpXG4gXG4tXHRpcCBuZXRucyBleGVjICRuczIgJHRhYmxlcyBcXFxuLVx0XHQtdCBtYW5nbGUgXFxcbi1cdFx0LUEgT1VUUFVUIFxcXG4tXHRcdC1vIG5zMmV0aCRpIFxcXG4tXHRcdC1wIHRjcCBcXFxuLVx0XHQtbSBsZW5ndGggLS1sZW5ndGggMTUwOjk5OTkgXFxcbi1cdFx0LW0gc3RhdGlzdGljIC0tbW9kZSBudGggLS1wYWNrZXQgMSAtLWV2ZXJ5IDk5OTk5IFxcXG4tXHRcdC1qIE1BUksgLS1zZXQtbWFyayA0MiB8fCByZXR1cm4gJHtLU0ZUX1NLSVB9XG4tXG4gXHR0YyAtbiAkbnMyIHFkaXNjIGFkZCBkZXYgbnMyZXRoJGkgY2xzYWN0IHx8IHJldHVybiAke0tTRlRfU0tJUH1cbiBcdHRjIC1uICRuczIgZmlsdGVyIGFkZCBkZXYgbnMyZXRoJGkgZWdyZXNzIFxcXG4gXHRcdHByb3RvY29sIGlwIHByaW8gMTAwMCBcXFxuQEAgLTUxNSwxMSArNDc1LDExIEBAIHJlc2V0X3dpdGhfdGNwX2ZpbHRlcigpXG4gXHRsb2NhbCB0YXJnZXQ9XCIkezN9XCJcbiBcdGxvY2FsIGNoYWluPVwiJHs0Oi1JTlBVVH1cIlxuIFxuLVx0aWYgISBpcCBuZXRucyBleGVjIFwiJHtuc31cIiAke2lwdGFibGVzfSBcXFxuLVx0XHRcdC1BIFwiJHtjaGFpbn1cIiBcXFxuLVx0XHRcdC1zIFwiJHtzcmN9XCIgXFxcbi1cdFx0XHQtcCB0Y3AgXFxcbi1cdFx0XHQtaiBcIiR7dGFyZ2V0fVwiOyB0aGVuXG4rXHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcIiRuc1wiIG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxuK1x0XHRpbmV0IG1qb2luX3RhYmxlIFwiJHtjaGFpbiwsfVwiIFxcXG4rXHRcdGlwIHNhZGRyIFwieyAke3NyY30gfVwiIG1ldGEgbDRwcm90byB0Y3AgXCIke3RhcmdldCwsfVwiIHwgXFxcbitcdFx0aGVhZCAtbjEgfCBhd2sgJ3twcmludCAkTkZ9JylcbitcdGlmIFsgLXogXCIkbmZ0X2hhbmRsZVwiIF07IHRoZW5cbiBcdFx0bWFya19hc19za2lwcGVkIFwidW5hYmxlIHRvIHNldCB0aGUgZmlsdGVyIHJ1bGVzXCJcbiBcdFx0cmV0dXJuIDFcbiBcdGZpXG5AQCAtNDMxNSwxMCArNDI3NSwxMiBAQCB1c2Vyc3BhY2VfdGVzdHMoKVxuIFxuIFx0XHQjIGZvcmNlIHF1aWNrIGxvc3NcbiBcdFx0aXAgbmV0bnMgZXhlYyAkbnMyIHN5c2N0bCAtcSBuZXQuaXB2NC50Y3Bfc3luX3JldHJpZXM9MVxuLVx0XHRpZiBpcCBuZXRucyBleGVjIFwiJHtuczF9XCIgJHtpcHRhYmxlc30gLUEgSU5QVVQgLXMgXCIxMC4wLjEuMlwiIFxcXG4tXHRcdCAgICAgIC1wIHRjcCAtLXRjcC1vcHRpb24gMzAgLWogUkVKRUNUIC0tcmVqZWN0LXdpdGggdGNwLXJlc2V0IFx1MDAyNlx1MDAyNlxuLVx0XHQgICBpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgJHtpcHRhYmxlc30gLUEgSU5QVVQgLWQgXCIxMC4wLjEuMlwiIFxcXG4tXHRcdCAgICAgIC1wIHRjcCAtLXRjcC1vcHRpb24gMzAgLWogUkVKRUNUIC0tcmVqZWN0LXdpdGggdGNwLXJlc2V0OyB0aGVuXG4rXHRcdGlmIGlwIG5ldG5zIGV4ZWMgXCIke25zMX1cIiBuZnQgYWRkIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBcXFxuK1x0XHRcdGlucHV0IGlwIHNhZGRyIFwiMTAuMC4xLjJcIiBtZXRhIGw0cHJvdG8gdGNwIFxcXG4rXHRcdFx0dGNwIG9wdGlvbiBtcHRjcCBleGlzdHMgcmVqZWN0IHdpdGggdGNwIHJlc2V0IFx1MDAyNlx1MDAyNlxuK1x0XHQgICBpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgbmZ0IGFkZCBydWxlIGluZXQgbWpvaW5fdGFibGUgXFxcbitcdFx0XHRpbnB1dCBpcCBkYWRkciBcIjEwLjAuMS4yXCIgbWV0YSBsNHByb3RvIHRjcCBcXFxuK1x0XHRcdHRjcCBvcHRpb24gbXB0Y3AgZXhpc3RzIHJlamVjdCB3aXRoIHRjcCByZXNldDsgdGhlblxuIFx0XHRcdHdhaXRfZXZlbnQgbnMyIE1QVENQX0xJQl9FVkVOVF9TVUJfQ0xPU0VEIDFcbiBcdFx0XHR3YWl0X2V2ZW50IG5zMSBNUFRDUF9MSUJfRVZFTlRfU1VCX0NMT1NFRCAxXG4gXHRcdFx0Y2hrX3N1YmZsb3dzX3RvdGFsIDEgMVxuQEAgLTQzOTMsNyArNDM1NSw3IEBAIGVuZHBvaW50X3Rlc3RzKClcbiBcdFx0Y2hrX3N1YmZsb3dfbnIgXCJhZnRlciBuZXcgcmVqZWN0XCIgMlxuIFx0XHRjaGtfbXB0Y3BfaW5mbyBzdWJmbG93cyAxIHN1YmZsb3dzIDFcbiBcbi1cdFx0aXAgbmV0bnMgZXhlYyBcIiR7bnMyfVwiICR7aXB0YWJsZXN9IC1EIE9VVFBVVCAtcyBcIjEwLjAuMy4yXCIgLXAgdGNwIC1qIFJFSkVDVFxuK1x0XHRpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgbmZ0IGRlbGV0ZSBydWxlIGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcIiRuZnRfaGFuZGxlXCJcbiBcdFx0cG1fbmxfZGVsX2VuZHBvaW50ICRuczIgMyAxMC4wLjMuMlxuIFx0XHRwbV9ubF9hZGRfZW5kcG9pbnQgJG5zMiAxMC4wLjMuMiBpZCAzIGZsYWdzIHN1YmZsb3dcbiBcdFx0d2FpdF9tcGogM1xuQEAgLTQ0MDIsMTIgKzQzNjQsMTAgQEAgZW5kcG9pbnRfdGVzdHMoKVxuIFxuIFx0XHQjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0XG4gXHRcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xuLVx0XHRsb2NhbCBpcHQ9MVxuLVx0XHRpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zIFwiMTAuMC4xLjJcIiBcXFxuLVx0XHRcdC1wIHRjcCAtbSB0Y3AgLS10Y3Atb3B0aW9uIDMwIFxcXG4tXHRcdFx0LW0gYnBmIC0tYnl0ZWNvZGUgXFxcbi1cdFx0XHRcIiRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSXCIgXFxcbi1cdFx0XHQtaiBEUk9QIHx8IGlwdD0wXG4rXHRcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXG4rXHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjIgbWV0YSBsNHByb3RvIHRjcCBcXFxuK1x0XHRcdHRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcXFxuK1x0XHRcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxuIFx0XHRsb2NhbCBpXG4gXHRcdGZvciBpIGluICQoc2VxIDMpOyBkb1xuIFx0XHRcdHBtX25sX2RlbF9lbmRwb2ludCAkbnMyIDEgMTAuMC4xLjJcbkBAIC00NDIwLDcgKzQzODAsOCBAQCBlbmRwb2ludF90ZXN0cygpXG4gXHRcdFx0Y2hrX3N1YmZsb3dfbnIgXCJhZnRlciByZS1hZGQgaWQgMCAoJGkpXCIgM1xuIFx0XHRcdGNoa19tcHRjcF9pbmZvIHN1YmZsb3dzIDMgc3ViZmxvd3MgM1xuIFx0XHRkb25lXG4tXHRcdFsgJHtpcHR9ID0gMSBdIFx1MDAyNlx1MDAyNiBpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgJHtpcHRhYmxlc30gLUQgT1VUUFVUIDFcbitcdFx0WyAtbiBcIiR7bmZ0X2hhbmRsZX1cIiBdIFx1MDAyNlx1MDAyNiBpcCBuZXRucyBleGVjIFwiJHtuczJ9XCIgbmZ0IGRlbGV0ZSBydWxlIFxcXG4rXHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFwiJHtuZnRfaGFuZGxlfVwiXG4gXG4gXHRcdG1wdGNwX2xpYl9raWxsX2dyb3VwX3dhaXQgJHRlc3RzX3BpZFxuIFxuQEAgLTQ0ODIsMTggKzQ0NDMsMTcgQEAgZW5kcG9pbnRfdGVzdHMoKVxuIFxuIFx0XHQjIFRvIG1ha2Ugc3VyZSBSTV9BRERSIGFyZSBzZW50IG92ZXIgYSBkaWZmZXJlbnQgc3ViZmxvdywgYnV0XG4gXHRcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xuLVx0XHRsb2NhbCBpcHQ9MVxuLVx0XHRpcCBuZXRucyBleGVjIFwiJHtuczF9XCIgJHtpcHRhYmxlc30gLUkgT1VUUFVUIC1zIFwiMTAuMC4xLjFcIiBcXFxuLVx0XHRcdC1wIHRjcCAtbSB0Y3AgLS10Y3Atb3B0aW9uIDMwIFxcXG4tXHRcdFx0LW0gYnBmIC0tYnl0ZWNvZGUgXFxcbi1cdFx0XHRcIiRDQlBGX01QVENQX1NVQk9QVElPTl9STV9BRERSXCIgXFxcbi1cdFx0XHQtaiBEUk9QIHx8IGlwdD0wXG4rXHRcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFwiJHtuczF9XCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXG4rXHRcdFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaXAgc2FkZHIgMTAuMC4xLjEgbWV0YSBsNHByb3RvIHRjcCBcXFxuK1x0XHRcdHRjcCBvcHRpb24gbXB0Y3Agc3VidHlwZSByZW1vdmUtYWRkciBcXFxuK1x0XHRcdGRyb3AgfCBoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxuIFx0XHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMSA0MiAxMC4wLjEuMVxuIFx0XHRzbGVlcCAwLjVcbiBcdFx0Y2hrX3N1YmZsb3dfbnIgXCJhZnRlciBkZWxldGUgSUQgMFwiIDJcbiBcdFx0Y2hrX21wdGNwX2luZm8gc3ViZmxvd3MgMiBzdWJmbG93cyAyXG4gXHRcdGNoa19tcHRjcF9pbmZvIGFkZF9hZGRyX3NpZ25hbCAyIGFkZF9hZGRyX2FjY2VwdGVkIDJcbi1cdFx0WyAke2lwdH0gPSAxIF0gXHUwMDI2XHUwMDI2IGlwIG5ldG5zIGV4ZWMgXCIke25zMX1cIiAke2lwdGFibGVzfSAtRCBPVVRQVVQgMVxuK1x0XHRbIC1uIFwiJHtuZnRfaGFuZGxlfVwiIF0gXHUwMDI2XHUwMDI2IGlwIG5ldG5zIGV4ZWMgXCIke25zMX1cIiBuZnQgZGVsZXRlIHJ1bGUgXFxcbitcdFx0XHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXCIke25mdF9oYW5kbGV9XCJcbiBcbiBcdFx0cG1fbmxfYWRkX2VuZHBvaW50ICRuczEgMTAuMC4xLjEgaWQgNDIgZmxhZ3Mgc2lnbmFsXG4gXHRcdHdhaXRfbXBqIDRcbkBAIC00NTU1LDcgKzQ1MTUsNyBAQCBlbmRwb2ludF90ZXN0cygpXG4gXHRcdHBtX25sX2ZsdXNoX2VuZHBvaW50ICRuczJcbiBcdFx0cG1fbmxfZmx1c2hfZW5kcG9pbnQgJG5zMVxuIFx0XHR3YWl0X3JtX2FkZHIgJG5zMiAwXG4tXHRcdGlwIG5ldG5zIGV4ZWMgXCIke25zMn1cIiAke2lwdGFibGVzfSAtRCBPVVRQVVQgLXMgXCIxMC4wLjMuMlwiIC1wIHRjcCAtaiBSRUpFQ1RcbitcdFx0aXAgbmV0bnMgZXhlYyBcIiR7bnMyfVwiIG5mdCBkZWxldGUgcnVsZSBpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXCIkbmZ0X2hhbmRsZVwiXG4gXHRcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvd1xuIFx0XHR3YWl0X21waiAxXG4gXHRcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMxIDEwLjAuMy4xIGlkIDIgZmxhZ3Mgc2lnbmFsXG5kaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2xpYi5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9saWIuc2hcbmluZGV4IDVlZjYwMzM3NzVjODYuLmViYTY5MDMyMzNjY2YgMTAwNjQ0XG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3BfbGliLnNoXG5AQCAtNTI0LDcgKzUyNCw3IEBAIG1wdGNwX2xpYl9jaGVja190b29scygpIHtcbiBcdFx0XHRcdGV4aXQgJHtLU0ZUX1NLSVB9XG4gXHRcdFx0ZmlcbiBcdFx0XHQ7O1xuLVx0XHRcImlwdGFibGVzXCIqIHwgXCJpcDZ0YWJsZXNcIiopXG4rXHRcdFwiaXB0YWJsZXNcIiogfCBcImlwNnRhYmxlc1wiKiB8IFwibmZ0XCIqKVxuIFx0XHRcdGlmICEgXCIke3Rvb2x9XCIgLVYgXHUwMDI2XHUwMDNlIC9kZXYvbnVsbDsgdGhlblxuIFx0XHRcdFx0bXB0Y3BfbGliX3ByX3NraXAgXCJDb3VsZCBub3QgcnVuIGFsbCB0ZXN0cyB3aXRob3V0ICR7dG9vbH1cIlxuIFx0XHRcdFx0ZXhpdCAke0tTRlRfU0tJUH1cbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfc29ja29wdC5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXG5pbmRleCBlODUwYTg3NDI5YjYxLi40ZDBhZjJiZjk0ODQwIDEwMDc1NVxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX3NvY2tvcHQuc2hcbisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9zb2Nrb3B0LnNoXG5AQCAtMTUsOCArMTUsNiBAQCBjaW49XCJcIlxuIGNvdXQ9XCJcIlxuIHRpbWVvdXRfcG9sbD0zMFxuIHRpbWVvdXRfdGVzdD0kKCh0aW1lb3V0X3BvbGwgKiAyICsgMSkpXG4taXB0YWJsZXM9XCJpcHRhYmxlc1wiXG4taXA2dGFibGVzPVwiaXA2dGFibGVzXCJcbiBcbiBuczE9XCJcIlxuIG5zMj1cIlwiXG5AQCAtNDksMTcgKzQ3LDIzIEBAIGFkZF9tYXJrX3J1bGVzKClcbiBcdGxvY2FsIG5zPSQxXG4gXHRsb2NhbCBtPSQyXG4gXG4tXHRsb2NhbCB0XG4tXHRmb3IgdCBpbiAke2lwdGFibGVzfSAke2lwNnRhYmxlc307IGRvXG4tXHRcdCMganVzdCB0byBkZWJ1ZzogY2hlY2sgd2UgaGF2ZSBtdWx0aXBsZSBzdWJmbG93cyBjb25uZWN0aW9uIHJlcXVlc3RzXG4tXHRcdGlwIG5ldG5zIGV4ZWMgJG5zICR0IC1BIE9VVFBVVCAtcCB0Y3AgLS1zeW4gLW0gbWFyayAtLW1hcmsgJG0gLWogQUNDRVBUXG4tXG4tXHRcdCMgUlNUIHBhY2tldHMgbWlnaHQgYmUgaGFuZGxlZCBieSBhIGludGVybmFsIGR1bW15IHNvY2tldFxuLVx0XHRpcCBuZXRucyBleGVjICRucyAkdCAtQSBPVVRQVVQgLXAgdGNwIC0tdGNwLWZsYWdzIFJTVCBSU1QgLW0gbWFyayAtLW1hcmsgMCAtaiBBQ0NFUFRcbi1cbi1cdFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtbSBtYXJrIC0tbWFyayAkbSAtaiBBQ0NFUFRcbi1cdFx0aXAgbmV0bnMgZXhlYyAkbnMgJHQgLUEgT1VUUFVUIC1wIHRjcCAtbSBtYXJrIC0tbWFyayAwIC1qIERST1Bcbi1cdGRvbmVcbitcdGlwIG5ldG5zIGV4ZWMgXCIkbnNcIiBuZnQgYWRkIHRhYmxlIGluZXQgbXNvY2tfdGFibGVcbitcdGlwIG5ldG5zIGV4ZWMgXCIkbnNcIiBuZnQgYWRkIGNoYWluIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXG4rXHRcdCd7IHR5cGUgZmlsdGVyIGhvb2sgb3V0cHV0IHByaW9yaXR5IDA7IHBvbGljeSBhY2NlcHQ7IH0nXG4rXG4rXHQjIGp1c3QgdG8gZGVidWc6IGNoZWNrIHdlIGhhdmUgbXVsdGlwbGUgc3ViZmxvd3MgY29ubmVjdGlvbiByZXF1ZXN0c1xuK1x0aXAgbmV0bnMgZXhlYyBcIiRuc1wiIG5mdCBhZGQgcnVsZSBpbmV0IG1zb2NrX3RhYmxlIG91dHB1dCBcXFxuK1x0XHQgbWV0YSBtYXJrIFwiJG1cIiB0Y3AgZmxhZ3Mgc3luIGFjY2VwdFxuK1x0IyBSU1QgcGFja2V0cyBtaWdodCBiZSBoYW5kbGVkIGJ5IGEgaW50ZXJuYWwgZHVtbXkgc29ja2V0XG4rXHRpcCBuZXRucyBleGVjIFwiJG5zXCIgbmZ0IGFkZCBydWxlIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXG4rXHRcdG1ldGEgbWFyayAwIHRjcCBmbGFncyByc3QgYWNjZXB0XG4rXHRpcCBuZXRucyBleGVjIFwiJG5zXCIgbmZ0IGFkZCBydWxlIGluZXQgbXNvY2tfdGFibGUgb3V0cHV0IFxcXG4rXHRcdG1ldGEgbWFyayBcIiRtXCIgbWV0YSBsNHByb3RvIHRjcCBhY2NlcHRcbitcbitcdGlwIG5ldG5zIGV4ZWMgXCIkbnNcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcbitcdFx0bWV0YSBuZnByb3RvIGlwdjQgbWV0YSBtYXJrIDAgbWV0YSBsNHByb3RvIHRjcCBjb3VudGVyIGRyb3BcbitcdGlwIG5ldG5zIGV4ZWMgXCIkbnNcIiBuZnQgYWRkIHJ1bGUgaW5ldCBtc29ja190YWJsZSBvdXRwdXQgXFxcbitcdFx0bWV0YSBuZnByb3RvIGlwdjYgbWV0YSBtYXJrIDAgbWV0YSBsNHByb3RvIHRjcCBjb3VudGVyIGRyb3BcbiB9XG4gXG4gaW5pdCgpXG5AQCAtMTA1LDMzICsxMDksMjMgQEAgY2xlYW51cCgpXG4gXG4gbXB0Y3BfbGliX2NoZWNrX21wdGNwXG4gbXB0Y3BfbGliX2NoZWNrX2thbGxzeW1zXG4tbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIFwiJHtpcHRhYmxlc31cIiBcIiR7aXA2dGFibGVzfVwiXG4rbXB0Y3BfbGliX2NoZWNrX3Rvb2xzIGlwIG5mdFxuIFxuIGNoZWNrX21hcmsoKVxuIHtcbiBcdGxvY2FsIG5zPSQxXG4gXHRsb2NhbCBhZj0kMlxuIFxuLVx0bG9jYWwgdGFibGVzPSR7aXB0YWJsZXN9XG4rXHRkcm9wPSQoaXAgbmV0bnMgZXhlYyBcIiRuc1wiIG5mdCBsaXN0IHRhYmxlIGluZXQgbXNvY2tfdGFibGUgfCBcXFxuK1x0XHRncmVwIFwiaXB2JGFmLipwYWNrZXRzLipkcm9wXCIgfCBhd2sgJ3twcmludCAkKE5GLTMpfScpXG4gXG4tXHRpZiBbICRhZiAtZXEgNiBdO3RoZW5cbi1cdFx0dGFibGVzPSR7aXA2dGFibGVzfVxuK1x0aWYgWyBcIiRkcm9wXCIgLW5lIDAgXTsgdGhlblxuK1x0XHRtcHRjcF9saWJfcHJfZmFpbCBcImdvdCAkZHJvcCBwa3QgZHJvcHMgaW4gbnMgJG5zIElQdnskYWZ9IHRhYmxlcyxcIiBcXFxuK1x0XHRcdFx0ICBcIm5vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFwiXG4rXHRcdHJldD0ke0tTRlRfRkFJTH1cbitcdFx0cmV0dXJuIDFcbiBcdGZpXG4gXG4tXHRsb2NhbCBjb3VudGVycyB2YWx1ZXNcbi1cdGNvdW50ZXJzPSQoaXAgbmV0bnMgZXhlYyAkbnMgJHRhYmxlcyAtdiAtTCBPVVRQVVQgfCBncmVwIERST1ApXG4tXHR2YWx1ZXM9JHtjb3VudGVycyVEUk9QKn1cbi1cbi1cdGxvY2FsIHZcbi1cdGZvciB2IGluICR2YWx1ZXM7IGRvXG4tXHRcdGlmIFsgJHYgLW5lIDAgXTsgdGhlblxuLVx0XHRcdG1wdGNwX2xpYl9wcl9mYWlsIFwiZ290ICR0YWJsZXMgJHZhbHVlcyBpbiBucyAkbnMsXCIgXFxcbi1cdFx0XHRcdFx0ICBcIm5vdCAwIC0gbm90IGFsbCBleHBlY3RlZCBwYWNrZXRzIG1hcmtlZFwiXG4tXHRcdFx0cmV0PSR7S1NGVF9GQUlMfVxuLVx0XHRcdHJldHVybiAxXG4tXHRcdGZpXG4tXHRkb25lXG4tXG4gXHRyZXR1cm4gMFxuIH1cbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTAyVDE5OjM2OjQwLjQzOTg5NDE0NVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjQ3NzE3MzQwNDcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIFRoaXMgUGF0Y2ggU2VyaWVzKipcblxuT2theSwgbGV0J3MgZGl2ZSBpbnRvIHRoaXMuIE15IGluaXRpYWwgaW1wcmVzc2lvbiBpcyB0aGF0IHRoaXMgcGF0Y2ggc2VyaWVzIGlzIGZvY3VzZWQgb24gdGhlIG11bHRpLXBhdGggVENQIChNUFRDUCkgc2VsZi10ZXN0cy4gVGhlIGRpZmYgbWVudGlvbnMgbW9kaWZpY2F0aW9ucyB0byBhIG51bWJlciBvZiBmaWxlcyB3aXRoaW4gdGhlIGB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvYCBkaXJlY3RvcnkuIEJhc2VkIG9uIHRoZSBmaWxlIHBhdGhzIGxpc3RlZCwgdGhpcyBpbW1lZGlhdGVseSBzdWdnZXN0cyB0byBtZSB0aGF0IHdlJ3JlIGRlYWxpbmcgd2l0aCBlbmhhbmNlbWVudHMgb3IgZml4ZXMgdG8gdGhlIGV4aXN0aW5nIE1QVENQIHRlc3RpbmcgaW5mcmFzdHJ1Y3R1cmUsIHJhdGhlciB0aGFuIGNvcmUga2VybmVsIGNoYW5nZXMuIEkgbmVlZCB0byBjb25maXJtIHRoZXJlJ3Mgbm90aGluZyBvdXRzaWRlIHRoZSBgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL2AgZGlyZWN0b3J5LCB3aGljaCB3b3VsZCBpbnZvbHZlIGFjdHVhbCBrZXJuZWwgY29kZS4gQXMgYW4gZXhwZXJ0LCB0aGF0IGlzIHRoZSBtb3N0IGltcG9ydGFudCBjaGVjay4gSXQgd291bGQgYmUgYSBodWdlIGNvbmNlcm4gdG8gc2tpcCB0aGF0LiBTbywgSSBuZWVkIHRvIHZlcmlmeSB0aGF0IHRoaXMgY29tbWl0IGlzICpleGNsdXNpdmVseSogdG91Y2hpbmcgdGVzdCBzY3JpcHRzLCBjb25maWd1cmF0aW9ucywgYW5kIHJlbGF0ZWQgdGVzdGluZyBjb21wb25lbnRzLCBidXQgbm90aGluZyB0byBkbyB3aXRoIGBuZXQvYCwgYGRyaXZlcnMvYCwgYGZzL2AsIGBrZXJuZWwvYCwgb3IgYGluY2x1ZGUvYC4gSSdsbCBiZSBsb29raW5nIGNhcmVmdWxseSBhdCB0aGUgY29tbWl0IGNvbnRlbnQgZm9yIGFueXRoaW5nIHRoYXQgbWF5IGNvbnRyYWRpY3QgdGhhdC4gSSdsbCBuZWVkIGEgZnVsbCBwaWN0dXJlIHRvIHVuZGVyc3RhbmQgZXhhY3RseSB3aGF0IGlzIGJlaW5nIHRlc3RlZCBhbmQgaW1wcm92ZWQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjcxOTksIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMTEsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wMlQxOTozNjo0NS4yMTE2MzEyNjJaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTE1MjU2MTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibmZ0X2hhbmRsZVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJ0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3BcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwidG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g9NTA9bnJfYmxhbms9NlxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjUxOm5mdF9oYW5kbGU9XFxcIlxcXCJcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC01Mi1cXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTM1Mj1yZXNldF93aXRoX2FkZF9hZGRyX3RpbWVvdXQoKVxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtMzYxLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjM2MjpcXHRuZnRfaGFuZGxlPSQoaXAgbmV0bnMgZXhlYyBcXFwiJG5zMlxcXCIgbmZ0IC1lIC0taGFuZGxlIGFkZCBydWxlIFxcXFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC0zNjMtXFx0XFx0aW5ldCBtam9pbl90YWJsZSBvdXRwdXQgbWV0YSBuZnByb3RvIGlwdiR7aXB9IFxcXFxcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTM2NS1cXHRcXHRkcm9wIHwgaGVhZCAtbjEgfCBhd2sgJ3twcmludCAkTkZ9JylcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDozNjY6XFx0aWYgWyAteiBcXFwiJG5mdF9oYW5kbGVcXFwiIF07IHRoZW5cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC0zNjctXFx0XFx0bWFya19hc19za2lwcGVkIFxcXCJ1bmFibGUgdG8gc2V0IHRoZSAnYWRkIGFkZHInIHJ1bGVcXFwiXFxuLS1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaD00MTM9c2V0dXBfZmFpbF9ydWxlcygpXFxuLS1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MTktXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDIwOlxcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFxcXCIkbnMyXFxcIiBuZnQgLWUgLS1oYW5kbGUgYWRkIHJ1bGUgXFxcXFxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQyMS1cXHRcXHRpbmV0IG1qb2luX3RhYmxlIG1hbmdsZSBvaWZuYW1lIG5zMmV0aCRpIFxcXFxcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQyNC1cXHRcXHRtZXRhIG1hcmsgc2V0IDQyIHwgaGVhZCAtbjEgfCBhd2sgJ3twcmludCAkTkZ9JylcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MjU6XFx0aWYgWyAteiBcXFwiJG5mdF9oYW5kbGVcXFwiIF07IHRoZW5cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MjYtXFx0XFx0cmV0dXJuICR7S1NGVF9TS0lQfVxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g9NDY4PXJlc2V0X3dpdGhfdGNwX2ZpbHRlcigpXFxuLS1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00NzctXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDc4OlxcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFxcXCIkbnNcXFwiIG5mdCAtZSAtLWhhbmRsZSBhZGQgcnVsZSBcXFxcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDc5LVxcdFxcdGluZXQgbWpvaW5fdGFibGUgXFxcIiR7Y2hhaW4sLH1cXFwiIFxcXFxcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ4MS1cXHRcXHRoZWFkIC1uMSB8IGF3ayAne3ByaW50ICRORn0nKVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQ4MjpcXHRpZiBbIC16IFxcXCIkbmZ0X2hhbmRsZVxcXCIgXTsgdGhlblxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ4My1cXHRcXHRtYXJrX2FzX3NraXBwZWQgXFxcInVuYWJsZSB0byBzZXQgdGhlIGZpbHRlciBydWxlc1xcXCJcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoPTQyOTY9ZW5kcG9pbnRfdGVzdHMoKVxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDM1Ny1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0MzU4OlxcdFxcdGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IGRlbGV0ZSBydWxlIGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcXFwiJG5mdF9oYW5kbGVcXFwiXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDM1OS1cXHRcXHRwbV9ubF9kZWxfZW5kcG9pbnQgJG5zMiAzIDEwLjAuMy4yXFxuLS1cXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzY2LVxcdFxcdCMgYWxsb3cgdGhlIHJlc3QgdG8gcXVpY2tseSBhbmQgY2xlYW5seSBjbG9zZSB0aGUgc3ViZmxvd1xcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQzNjc6XFx0XFx0bmZ0X2hhbmRsZT0kKGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IC1lIC0taGFuZGxlIGluc2VydCBydWxlIFxcXFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00MzY4LVxcdFxcdFxcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGlwIHNhZGRyIDEwLjAuMS4yIG1ldGEgbDRwcm90byB0Y3AgXFxcXFxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDM4Mi1cXHRcXHRkb25lXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDM4MzpcXHRcXHRbIC1uIFxcXCIke25mdF9oYW5kbGV9XFxcIiBdIFxcdTAwMjZcXHUwMDI2IGlwIG5ldG5zIGV4ZWMgXFxcIiR7bnMyfVxcXCIgbmZ0IGRlbGV0ZSBydWxlIFxcXFxcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0Mzg0OlxcdFxcdFxcdGluZXQgbWpvaW5fdGFibGUgb3V0cHV0IGhhbmRsZSBcXFwiJHtuZnRfaGFuZGxlfVxcXCJcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00Mzg1LVxcbi0tXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ0NS1cXHRcXHQjIGFsbG93IHRoZSByZXN0IHRvIHF1aWNrbHkgYW5kIGNsZWFubHkgY2xvc2UgdGhlIHN1YmZsb3dcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaDo0NDQ2OlxcdFxcdG5mdF9oYW5kbGU9JChpcCBuZXRucyBleGVjIFxcXCIke25zMX1cXFwiIG5mdCAtZSAtLWhhbmRsZSBpbnNlcnQgcnVsZSBcXFxcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ0Ny1cXHRcXHRcXHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBpcCBzYWRkciAxMC4wLjEuMSBtZXRhIGw0cHJvdG8gdGNwIFxcXFxcXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ0NTQtXFx0XFx0Y2hrX21wdGNwX2luZm8gYWRkX2FkZHJfc2lnbmFsIDIgYWRkX2FkZHJfYWNjZXB0ZWQgMlxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQ0NTU6XFx0XFx0WyAtbiBcXFwiJHtuZnRfaGFuZGxlfVxcXCIgXSBcXHUwMDI2XFx1MDAyNiBpcCBuZXRucyBleGVjIFxcXCIke25zMX1cXFwiIG5mdCBkZWxldGUgcnVsZSBcXFxcXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2g6NDQ1NjpcXHRcXHRcXHRpbmV0IG1qb2luX3RhYmxlIG91dHB1dCBoYW5kbGUgXFxcIiR7bmZ0X2hhbmRsZX1cXFwiXFxudG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwL21wdGNwX2pvaW4uc2gtNDQ1Ny1cXG4tLVxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoLTQ1MTctXFx0XFx0d2FpdF9ybV9hZGRyICRuczIgMFxcbnRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9tcHRjcC9tcHRjcF9qb2luLnNoOjQ1MTg6XFx0XFx0aXAgbmV0bnMgZXhlYyBcXFwiJHtuczJ9XFxcIiBuZnQgZGVsZXRlIHJ1bGUgaW5ldCBtam9pbl90YWJsZSBvdXRwdXQgaGFuZGxlIFxcXCIkbmZ0X2hhbmRsZVxcXCJcXG50b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvbXB0Y3Bfam9pbi5zaC00NTE5LVxcdFxcdHBtX25sX2FkZF9lbmRwb2ludCAkbnMyIDEwLjAuMy4yIGlkIDMgZmxhZ3Mgc3ViZmxvd1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wMlQxOTozNjo0NS4yNjMxNjQ4MDFaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1MzQzNzk5MDM3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQ6IFRoaXMgUGF0Y2ggaXMgTm90IFdvcnRoIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGNsZWFybHkgZm9jdXNlZCBvbiB1cGRhdGluZyB0aGUgc2VsZi10ZXN0cyBmb3IgTVBUQ1Agd2l0aGluIGB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvYC4gSXQncyBhbGwgYWJvdXQgbWlncmF0aW5nIHRob3NlIG9sZCBpcHRhYmxlcyBydWxlcyB0byBuZnRhYmxlcyBhbmQgdHdlYWtpbmcgdGhlIHNlbGZ0ZXN0IGNvbmZpZ3VyYXRpb25zLiBUaGUgY3JpdGljYWwgdGhpbmcgaGVyZSBpcyB0aGF0ICpub3RoaW5nKiBpbiB0aGUgTGludXgga2VybmVsIGl0c2VsZiBpcyBiZWluZyB0b3VjaGVkLiBObyBjb3JlIGxvZ2ljLCBubyBkcml2ZXJzLCBubyBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgc3R1ZmYg4oCTIG5vdGhpbmcgdGhhdCB3b3VsZCBpbnRyb2R1Y2UgbmV3IGF0dGFjayBzdXJmYWNlcyBhdCB0aGUga2VybmVsIGxldmVsLiBUaGVyZWZvcmUsIG15IGluaXRpYWwgaW5zdGluY3QgaXMgdGhhdCB0aGlzIHBhdGNoIGlzbid0IHNvbWV0aGluZyB3ZSBuZWVkIHRvIHByaW9yaXRpemUgZm9yIGZ1enppbmcuXG5cbkxldCdzIHF1aWNrbHkgcnVuIHRocm91Z2ggdGhlIGVzdGFibGlzaGVkIGd1aWRlbGluZXMgdG8gYmUgYWJzb2x1dGVseSBzdXJlLiBUaGUgZG9jdW1lbnRhdGlvbiBzdGF0ZXMgdGhhdCB3ZSBzaG91bGQgc2V0IGBXb3J0aEZ1enppbmdgIHRvIGBmYWxzZWAgaWYgdGhlIHBhdGNoIGludm9sdmVzIG9ubHk6IGRvY3VtZW50YXRpb24gdXBkYXRlcywgS2NvbmZpZyBtb2RpZmljYXRpb25zLCBjb2RlIGNvbW1lbnRzLCBwdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzIGxpa2UgbG9nZ2luZywgY2hhbmdlcyB0byBudW1lcmljYWwgY29uc3RhbnRzL21hY3JvcyB0aGF0IGRvbuKAmXQgZnVuY3Rpb25hbGx5IGNoYW5nZSBleGVjdXRpb24sIHVucmVhY2hhYmxlIGNvZGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLCBvciB1c2VybGFuZCB0b29saW5nL3NlbGZ0ZXN0IG1vZGlmaWNhdGlvbnMgKndpdGhvdXQqIGNvcnJlc3BvbmRpbmcga2VybmVsIGNoYW5nZXMuIEJpbmdvISBUaGlzIGNsZWFybHkgZmFsbHMgdW5kZXIgdGhlIGxhc3QgY3JpdGVyaW9uLlxuXG5BbHJpZ2h0LCBzbyB0aGUgdmVyZGljdCBpcyBjbGVhcjogYFdvcnRoRnV6emluZ2AgaXMgYGZhbHNlYC4gVGhhdCBtZWFucyB0aGUgYEZvY3VzU3ltYm9sc2AgYXJyYXkgaXMgZW1wdHksIGFuZCB0aGVyZSBhcmUgbm8gc3BlY2lmaWMgYEVuYWJsZUNvbmZpZ3NgIHJlcXVpcmVkLiBUaGUgcmVhc29uaW5nIGlzIHN0cmFpZ2h0Zm9yd2FyZDogdGhpcyBpcyBhIHVzZXItc3BhY2Ugc2VsZnRlc3QgdXBkYXRlLCBkZXZvaWQgb2YgZGlyZWN0IGltcGFjdCBvbiBrZXJuZWwgZXhlY3V0aW9uLiBMZXQncyBnbyBhaGVhZCBhbmQgcmVjb3JkIHRoZXNlIHJlc3VsdHMgd2l0aCBgc2V0LXJlc3VsdHNgLlxuXG5cbiIsIklucHV0VG9rZW5zIjo5NTUyLCJPdXRwdXRUb2tlbnMiOjc5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjQyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTAyVDE5OjM2OjUwLjYwNjk2NTU3OFoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTg2ODAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyB1c2VyLXNwYWNlIHNlbGZ0ZXN0IHNjcmlwdHMgYW5kIHRlc3QgY29uZmlndXJhdGlvbnMgaW4gdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L21wdGNwLyAobWlncmF0aW5nIGlwdGFibGVzIHJ1bGVzIHRvIG5mdGFibGVzKSwgd2l0aCBubyBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIExpbnV4IGtlcm5lbCBpdHNlbGYuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIHVzZXItc3BhY2Ugc2VsZnRlc3Qgc2NyaXB0cyBhbmQgdGVzdCBjb25maWd1cmF0aW9ucyBpbiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvbXB0Y3AvIChtaWdyYXRpbmcgaXB0YWJsZXMgcnVsZXMgdG8gbmZ0YWJsZXMpLCB3aXRoIG5vIGZ1bmN0aW9uYWwgbW9kaWZpY2F0aW9ucyB0byB0aGUgTGludXgga2VybmVsIGl0c2VsZi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTAyVDE5OjM2OjUwLjYwNjk4NzI5OFoiLCJTZXEiOjcsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMzIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowc2szv[1] Phase: Running StartedAt: 2026-09-02 19:37:02 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowc2szv[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-09-02 19:37:02 +0000 UTC FinishedAt: 2026-09-02 19:37:06 +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,}