Name: series-workflowsc922 Phase: Failed StartedAt: 2026-07-13 07:01:07 +0000 UTC FinishedAt: 2026-07-13 07:35:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsc922[0] Phase: Succeeded StartedAt: 2026-07-13 07:01:07 +0000 UTC FinishedAt: 2026-07-13 07:34:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsc922[0].run-triage Phase: Succeeded StartedAt: 2026-07-13 07:01:07 +0000 UTC FinishedAt: 2026-07-13 07:34:35 +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+CgkJCTx0ZD4yMDI2LzA3LzEzIDA3OjMzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGlzIGEgcHVyZSByZWZhY3RvcmluZyB0aGF0IGludHJvZHVjZXMgYSBoZWxwZXIgZnVuY3Rpb24gYG1tX3Nsb3RfcmVtb3ZlYCB0byByZXBsYWNlIHJlcGVhdGVkIGNvZGUgZm9yIHJlbW92aW5nIGFuIGBtbV9zbG90YCBmcm9tIGEgaGFzaCB0YWJsZSBhbmQgYSBsaXN0LiBJdCBhbHNvIHJlbmFtZXMgbWFjcm8gYXJndW1lbnRzIGluIGBtbV9zbG90LmhgLiBUaGVyZSBhcmUgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBleGVjdXRpb24gZmxvdy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMDc6MzM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBmZDQzMDk0NTllNjVkZTYwODlmYTBkOGQ2M2UxM2M2NzkxYWQ2M2M2XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdWwgMTMgMDc6MzM6MzYgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbW0va2h1Z2VwYWdlZC5jIGIvbW0va2h1Z2VwYWdlZC5jXG5pbmRleCA0NWU4MjQ1ZDgwZGFkZi4uMjdlOGYzMDc3ZTgwZmUgMTAwNjQ0XG4tLS0gYS9tbS9raHVnZXBhZ2VkLmNcbiYjNDM7JiM0MzsmIzQzOyBiL21tL2todWdlcGFnZWQuY1xuQEAgLTYwNiw4ICYjNDM7NjA2LDcgQEAgdm9pZCBfX2todWdlcGFnZWRfZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSlcbiBcdHNwaW5fbG9jayhcdTAwMjZraHVnZXBhZ2VkX21tX2xvY2spO1xuIFx0c2xvdCA9IG1tX3Nsb3RfbG9va3VwKG1tX3Nsb3RzX2hhc2gsIG1tKTtcbiBcdGlmIChzbG90IFx1MDAyNlx1MDAyNiBraHVnZXBhZ2VkX3NjYW4ubW1fc2xvdCAhPSBzbG90KSB7XG4tXHRcdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG4tXHRcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4mIzQzO1x0XHRtbV9zbG90X3JlbW92ZShzbG90KTtcbiBcdFx0ZnJlZSA9IDE7XG4gXHR9XG4gXHRzcGluX3VubG9jayhcdTAwMjZraHVnZXBhZ2VkX21tX2xvY2spO1xuQEAgLTE4MDIsOCAmIzQzOzE4MDEsNyBAQCBzdGF0aWMgdm9pZCBjb2xsZWN0X21tX3Nsb3Qoc3RydWN0IG1tX3Nsb3QgKnNsb3QpXG4gXG4gXHRpZiAoY29sbGFwc2VfdGVzdF9leGl0KG1tKSkge1xuIFx0XHQvKiBmcmVlIG1tX3Nsb3QgKi9cbi1cdFx0aGFzaF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VoYXNoKTtcbi1cdFx0bGlzdF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlKTtcbiYjNDM7XHRcdG1tX3Nsb3RfcmVtb3ZlKHNsb3QpO1xuIFxuIFx0XHQvKlxuIFx0XHQgKiBOb3Qgc3RyaWN0bHkgbmVlZGVkIGJlY2F1c2UgdGhlIG1tIGV4aXRlZCBhbHJlYWR5LlxuZGlmZiAtLWdpdCBhL21tL2tzbS5jIGIvbW0va3NtLmNcbmluZGV4IDE0NTUwZjY5Y2YwMjBjLi40NzAwNmY0OTRmY2IxYiAxMDA2NDRcbi0tLSBhL21tL2tzbS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9tbS9rc20uY1xuQEAgLTEyNTcsOCAmIzQzOzEyNTcsNyBAQCBzdGF0aWMgaW50IHVubWVyZ2VfYW5kX3JlbW92ZV9hbGxfcm1hcF9pdGVtcyh2b2lkKVxuIFx0XHRcdFx0ICBzdHJ1Y3QgbW1fc2xvdCwgbW1fbm9kZSk7XG4gXHRcdGtzbV9zY2FuLm1tX3Nsb3QgPSBtbV9zbG90X2VudHJ5KHNsb3QsIHN0cnVjdCBrc21fbW1fc2xvdCwgc2xvdCk7XG4gXHRcdGlmIChrc21fdGVzdF9leGl0KG1tKSkge1xuLVx0XHRcdGhhc2hfZGVsKFx1MDAyNm1tX3Nsb3QtXHUwMDNlc2xvdC5oYXNoKTtcbi1cdFx0XHRsaXN0X2RlbChcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QubW1fbm9kZSk7XG4mIzQzO1x0XHRcdG1tX3Nsb3RfcmVtb3ZlKFx1MDAyNm1tX3Nsb3QtXHUwMDNlc2xvdCk7XG4gXHRcdFx0c3Bpbl91bmxvY2soXHUwMDI2a3NtX21tbGlzdF9sb2NrKTtcbiBcbiBcdFx0XHRtbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7XG5AQCAtMjc3Miw4ICYjNDM7Mjc3MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qga3NtX3JtYXBfaXRlbSAqc2Nhbl9nZXRfbmV4dF9ybWFwX2l0ZW0oc3RydWN0IHBhZ2UgKipwYWdlKVxuIFx0XHQgKiBvciB3aGVuIGFsbCBWTV9NRVJHRUFCTEUgYXJlYXMgaGF2ZSBiZWVuIHVubWFwcGVkIChhbmRcbiBcdFx0ICogbW1hcF9sb2NrIHRoZW4gcHJvdGVjdHMgYWdhaW5zdCByYWNlIHdpdGggTUFEVl9NRVJHRUFCTEUpLlxuIFx0XHQgKi9cbi1cdFx0aGFzaF9kZWwoXHUwMDI2bW1fc2xvdC1cdTAwM2VzbG90Lmhhc2gpO1xuLVx0XHRsaXN0X2RlbChcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QubW1fbm9kZSk7XG4mIzQzO1x0XHRtbV9zbG90X3JlbW92ZShcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QpO1xuIFx0XHRzcGluX3VubG9jayhcdTAwMjZrc21fbW1saXN0X2xvY2spO1xuIFxuIFx0XHRtbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7XG5AQCAtMzExNiw4ICYjNDM7MzExNCw3IEBAIHZvaWQgX19rc21fZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSlcbiBcdGlmIChrc21fc2Nhbi5tbV9zbG90ID09IG1tX3Nsb3QpXG4gXHRcdGdvdG8gdW5sb2NrO1xuIFx0aWYgKCFtbV9zbG90LVx1MDAzZXJtYXBfbGlzdCkge1xuLVx0XHRoYXNoX2RlbChcdTAwMjZzbG90LVx1MDAzZWhhc2gpO1xuLVx0XHRsaXN0X2RlbChcdTAwMjZzbG90LVx1MDAzZW1tX25vZGUpO1xuJiM0MztcdFx0bW1fc2xvdF9yZW1vdmUoc2xvdCk7XG4gXHRcdGVhc3lfdG9fZnJlZSA9IDE7XG4gXHR9IGVsc2Uge1xuIFx0XHRsaXN0X21vdmUoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlLFxuZGlmZiAtLWdpdCBhL21tL21tX3Nsb3QuaCBiL21tL21tX3Nsb3QuaFxuaW5kZXggODNmMThlZDFjNGJkZTcuLjcxMGM3MDE2NmM3OTM3IDEwMDY0NFxuLS0tIGEvbW0vbW1fc2xvdC5oXG4mIzQzOyYjNDM7JiM0MzsgYi9tbS9tbV9zbG90LmhcbkBAIC0zMywxMiAmIzQzOzMzLDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtbV9zbG90X2ZyZWUoc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLCB2b2lkICpvYmpwKVxuIFx0a21lbV9jYWNoZV9mcmVlKGNhY2hlLCBvYmpwKTtcbiB9XG4gXG4tI2RlZmluZSBtbV9zbG90X2xvb2t1cChfaGFzaHRhYmxlLCBfbW0pIFx0XHRcdFx0ICAgICAgIFxcXG4mIzQzOy8qXG4mIzQzOyAqIE5vdGU6IG1tX3Nsb3RfbG9va3VwIGFuZCBtbV9zbG90X2luc2VydCBjYW5ub3QgYmUgY29udmVydGVkIHRvIHN0YXRpYyBpbmxpbmVcbiYjNDM7ICogZnVuY3Rpb25zIGJlY2F1c2UgaGFzaF9mb3JfZWFjaF9wb3NzaWJsZSByZWx5cyBvbiB0aGUgYWN0dWFsIGFycmF5IGFyZ3VtZW50XG4mIzQzOyAqICYjMzk7aGFzaHRhYmxlJiMzOTsgZm9yIHNpemVvZigpIGluc3RlYWQgb2YgcG9pbnRlcnMuXG4mIzQzOyAqL1xuJiM0MzsjZGVmaW5lIG1tX3Nsb3RfbG9va3VwKGhhc2h0YWJsZSwgbW0pXHRcdFx0XHRcdCAgICAgICBcXFxuICh7XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4gXHRzdHJ1Y3QgbW1fc2xvdCAqdG1wX3Nsb3QsICptbV9zbG90ID0gTlVMTDtcdFx0XHQgICAgICAgXFxcbiBcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbi1cdGhhc2hfZm9yX2VhY2hfcG9zc2libGUoX2hhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKV9tbSkgXFxcbi1cdFx0aWYgKF9tbSA9PSB0bXBfc2xvdC1cdTAwM2VtbSkge1x0XHRcdFx0ICAgICAgIFxcXG4mIzQzO1x0aGFzaF9mb3JfZWFjaF9wb3NzaWJsZShoYXNodGFibGUsIHRtcF9zbG90LCBoYXNoLCAodW5zaWduZWQgbG9uZyltbSkgICBcXFxuJiM0MztcdFx0aWYgKG1tID09IHRtcF9zbG90LVx1MDAzZW1tKSB7XHRcdFx0XHQgICAgICAgXFxcbiBcdFx0XHRtbV9zbG90ID0gdG1wX3Nsb3Q7XHRcdFx0XHQgICAgICAgXFxcbiBcdFx0XHRicmVhaztcdFx0XHRcdFx0XHQgICAgICAgXFxcbiBcdFx0fVx0XHRcdFx0XHRcdFx0ICAgICAgIFxcXG5AQCAtNDYsMTAgJiM0Mzs1MSwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9mcmVlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwgdm9pZCAqb2JqcClcbiBcdG1tX3Nsb3Q7XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbiB9KVxuIFxuLSNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoX2hhc2h0YWJsZSwgX21tLCBfbW1fc2xvdClcdFx0XHQgICAgICAgXFxcbiYjNDM7I2RlZmluZSBtbV9zbG90X2luc2VydChoYXNodGFibGUsIG1tLCBtbV9zbG90KVx0XHRcdFx0ICAgICAgIFxcXG4gKHtcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbi1cdF9tbV9zbG90LVx1MDAzZW1tID0gX21tO1x0XHRcdFx0XHRcdCAgICAgICBcXFxuLVx0aGFzaF9hZGQoX2hhc2h0YWJsZSwgXHUwMDI2X21tX3Nsb3QtXHUwMDNlaGFzaCwgKHVuc2lnbmVkIGxvbmcpX21tKTtcdCAgICAgICBcXFxuJiM0MztcdG1tX3Nsb3QtXHUwMDNlbW0gPSBtbTtcdFx0XHRcdFx0XHQgICAgICAgXFxcbiYjNDM7XHRoYXNoX2FkZChoYXNodGFibGUsIFx1MDAyNm1tX3Nsb3QtXHUwMDNlaGFzaCwgKHVuc2lnbmVkIGxvbmcpbW0pO1x0XHQgICAgICAgXFxcbiB9KVxuIFxuJiM0MztzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9yZW1vdmUoc3RydWN0IG1tX3Nsb3QgKnNsb3QpXG4mIzQzO3tcbiYjNDM7XHRoYXNoX2RlbChcdTAwMjZzbG90LVx1MDAzZWhhc2gpO1xuJiM0MztcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4mIzQzO31cbiAjZW5kaWYgLyogX0xJTlVYX01NX1NMT1RfSCAqL1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDA3OjMzPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGlzIGEgcHVyZSByZWZhY3RvcmluZyB0aGF0IGludHJvZHVjZXMgYSBoZWxwZXIgZnVuY3Rpb24gYG1tX3Nsb3RfcmVtb3ZlYCB0byByZXBsYWNlIHJlcGVhdGVkIGNvZGUgZm9yIHJlbW92aW5nIGFuIGBtbV9zbG90YCBmcm9tIGEgaGFzaCB0YWJsZSBhbmQgYSBsaXN0LiBJdCBhbHNvIHJlbmFtZXMgbWFjcm8gYXJndW1lbnRzIGluIGBtbV9zbG90LmhgLiBUaGVyZSBhcmUgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBleGVjdXRpb24gZmxvdy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGZkNDMwOTQ1OWU2NWRlNjA4OWZhMGQ4ZDYzZTEzYzY3OTFhZDYzYzYKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEp1bCAxMyAwNzozMzozNiAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL21tL2todWdlcGFnZWQuYyBiL21tL2todWdlcGFnZWQuYwppbmRleCA0NWU4MjQ1ZDgwZGFkZi4uMjdlOGYzMDc3ZTgwZmUgMTAwNjQ0Ci0tLSBhL21tL2todWdlcGFnZWQuYwomIzQzOyYjNDM7JiM0MzsgYi9tbS9raHVnZXBhZ2VkLmMKQEAgLTYwNiw4ICYjNDM7NjA2LDcgQEAgdm9pZCBfX2todWdlcGFnZWRfZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIAlzcGluX2xvY2soJmFtcDtraHVnZXBhZ2VkX21tX2xvY2spOwogCXNsb3QgPSBtbV9zbG90X2xvb2t1cChtbV9zbG90c19oYXNoLCBtbSk7CiAJaWYgKHNsb3QgJmFtcDsmYW1wOyBraHVnZXBhZ2VkX3NjYW4ubW1fc2xvdCAhPSBzbG90KSB7Ci0JCWhhc2hfZGVsKCZhbXA7c2xvdC0mZ3Q7aGFzaCk7Ci0JCWxpc3RfZGVsKCZhbXA7c2xvdC0mZ3Q7bW1fbm9kZSk7CiYjNDM7CQltbV9zbG90X3JlbW92ZShzbG90KTsKIAkJZnJlZSA9IDE7CiAJfQogCXNwaW5fdW5sb2NrKCZhbXA7a2h1Z2VwYWdlZF9tbV9sb2NrKTsKQEAgLTE4MDIsOCAmIzQzOzE4MDEsNyBAQCBzdGF0aWMgdm9pZCBjb2xsZWN0X21tX3Nsb3Qoc3RydWN0IG1tX3Nsb3QgKnNsb3QpCiAKIAlpZiAoY29sbGFwc2VfdGVzdF9leGl0KG1tKSkgewogCQkvKiBmcmVlIG1tX3Nsb3QgKi8KLQkJaGFzaF9kZWwoJmFtcDtzbG90LSZndDtoYXNoKTsKLQkJbGlzdF9kZWwoJmFtcDtzbG90LSZndDttbV9ub2RlKTsKJiM0MzsJCW1tX3Nsb3RfcmVtb3ZlKHNsb3QpOwogCiAJCS8qCiAJCSAqIE5vdCBzdHJpY3RseSBuZWVkZWQgYmVjYXVzZSB0aGUgbW0gZXhpdGVkIGFscmVhZHkuCmRpZmYgLS1naXQgYS9tbS9rc20uYyBiL21tL2tzbS5jCmluZGV4IDE0NTUwZjY5Y2YwMjBjLi40NzAwNmY0OTRmY2IxYiAxMDA2NDQKLS0tIGEvbW0va3NtLmMKJiM0MzsmIzQzOyYjNDM7IGIvbW0va3NtLmMKQEAgLTEyNTcsOCAmIzQzOzEyNTcsNyBAQCBzdGF0aWMgaW50IHVubWVyZ2VfYW5kX3JlbW92ZV9hbGxfcm1hcF9pdGVtcyh2b2lkKQogCQkJCSAgc3RydWN0IG1tX3Nsb3QsIG1tX25vZGUpOwogCQlrc21fc2Nhbi5tbV9zbG90ID0gbW1fc2xvdF9lbnRyeShzbG90LCBzdHJ1Y3Qga3NtX21tX3Nsb3QsIHNsb3QpOwogCQlpZiAoa3NtX3Rlc3RfZXhpdChtbSkpIHsKLQkJCWhhc2hfZGVsKCZhbXA7bW1fc2xvdC0mZ3Q7c2xvdC5oYXNoKTsKLQkJCWxpc3RfZGVsKCZhbXA7bW1fc2xvdC0mZ3Q7c2xvdC5tbV9ub2RlKTsKJiM0MzsJCQltbV9zbG90X3JlbW92ZSgmYW1wO21tX3Nsb3QtJmd0O3Nsb3QpOwogCQkJc3Bpbl91bmxvY2soJmFtcDtrc21fbW1saXN0X2xvY2spOwogCiAJCQltbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7CkBAIC0yNzcyLDggJiM0MzsyNzcxLDcgQEAgc3RhdGljIHN0cnVjdCBrc21fcm1hcF9pdGVtICpzY2FuX2dldF9uZXh0X3JtYXBfaXRlbShzdHJ1Y3QgcGFnZSAqKnBhZ2UpCiAJCSAqIG9yIHdoZW4gYWxsIFZNX01FUkdFQUJMRSBhcmVhcyBoYXZlIGJlZW4gdW5tYXBwZWQgKGFuZAogCQkgKiBtbWFwX2xvY2sgdGhlbiBwcm90ZWN0cyBhZ2FpbnN0IHJhY2Ugd2l0aCBNQURWX01FUkdFQUJMRSkuCiAJCSAqLwotCQloYXNoX2RlbCgmYW1wO21tX3Nsb3QtJmd0O3Nsb3QuaGFzaCk7Ci0JCWxpc3RfZGVsKCZhbXA7bW1fc2xvdC0mZ3Q7c2xvdC5tbV9ub2RlKTsKJiM0MzsJCW1tX3Nsb3RfcmVtb3ZlKCZhbXA7bW1fc2xvdC0mZ3Q7c2xvdCk7CiAJCXNwaW5fdW5sb2NrKCZhbXA7a3NtX21tbGlzdF9sb2NrKTsKIAogCQltbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7CkBAIC0zMTE2LDggJiM0MzszMTE0LDcgQEAgdm9pZCBfX2tzbV9leGl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogCWlmIChrc21fc2Nhbi5tbV9zbG90ID09IG1tX3Nsb3QpCiAJCWdvdG8gdW5sb2NrOwogCWlmICghbW1fc2xvdC0mZ3Q7cm1hcF9saXN0KSB7Ci0JCWhhc2hfZGVsKCZhbXA7c2xvdC0mZ3Q7aGFzaCk7Ci0JCWxpc3RfZGVsKCZhbXA7c2xvdC0mZ3Q7bW1fbm9kZSk7CiYjNDM7CQltbV9zbG90X3JlbW92ZShzbG90KTsKIAkJZWFzeV90b19mcmVlID0gMTsKIAl9IGVsc2UgewogCQlsaXN0X21vdmUoJmFtcDtzbG90LSZndDttbV9ub2RlLApkaWZmIC0tZ2l0IGEvbW0vbW1fc2xvdC5oIGIvbW0vbW1fc2xvdC5oCmluZGV4IDgzZjE4ZWQxYzRiZGU3Li43MTBjNzAxNjZjNzkzNyAxMDA2NDQKLS0tIGEvbW0vbW1fc2xvdC5oCiYjNDM7JiM0MzsmIzQzOyBiL21tL21tX3Nsb3QuaApAQCAtMzMsMTIgJiM0MzszMywxNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9mcmVlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwgdm9pZCAqb2JqcCkKIAlrbWVtX2NhY2hlX2ZyZWUoY2FjaGUsIG9ianApOwogfQogCi0jZGVmaW5lIG1tX3Nsb3RfbG9va3VwKF9oYXNodGFibGUsIF9tbSkgCQkJCSAgICAgICBcCiYjNDM7LyoKJiM0MzsgKiBOb3RlOiBtbV9zbG90X2xvb2t1cCBhbmQgbW1fc2xvdF9pbnNlcnQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBzdGF0aWMgaW5saW5lCiYjNDM7ICogZnVuY3Rpb25zIGJlY2F1c2UgaGFzaF9mb3JfZWFjaF9wb3NzaWJsZSByZWx5cyBvbiB0aGUgYWN0dWFsIGFycmF5IGFyZ3VtZW50CiYjNDM7ICogJiMzOTtoYXNodGFibGUmIzM5OyBmb3Igc2l6ZW9mKCkgaW5zdGVhZCBvZiBwb2ludGVycy4KJiM0MzsgKi8KJiM0MzsjZGVmaW5lIG1tX3Nsb3RfbG9va3VwKGhhc2h0YWJsZSwgbW0pCQkJCQkgICAgICAgXAogKHsJCQkJCQkJCQkgICAgICAgXAogCXN0cnVjdCBtbV9zbG90ICp0bXBfc2xvdCwgKm1tX3Nsb3QgPSBOVUxMOwkJCSAgICAgICBcCiAJCQkJCQkJCQkgICAgICAgXAotCWhhc2hfZm9yX2VhY2hfcG9zc2libGUoX2hhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKV9tbSkgXAotCQlpZiAoX21tID09IHRtcF9zbG90LSZndDttbSkgewkJCQkgICAgICAgXAomIzQzOwloYXNoX2Zvcl9lYWNoX3Bvc3NpYmxlKGhhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKW1tKSAgIFwKJiM0MzsJCWlmIChtbSA9PSB0bXBfc2xvdC0mZ3Q7bW0pIHsJCQkJICAgICAgIFwKIAkJCW1tX3Nsb3QgPSB0bXBfc2xvdDsJCQkJICAgICAgIFwKIAkJCWJyZWFrOwkJCQkJCSAgICAgICBcCiAJCX0JCQkJCQkJICAgICAgIFwKQEAgLTQ2LDEwICYjNDM7NTEsMTUgQEAgc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9ianApCiAJbW1fc2xvdDsJCQkJCQkJICAgICAgIFwKIH0pCiAKLSNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoX2hhc2h0YWJsZSwgX21tLCBfbW1fc2xvdCkJCQkgICAgICAgXAomIzQzOyNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoaGFzaHRhYmxlLCBtbSwgbW1fc2xvdCkJCQkJICAgICAgIFwKICh7CQkJCQkJCQkJICAgICAgIFwKLQlfbW1fc2xvdC0mZ3Q7bW0gPSBfbW07CQkJCQkJICAgICAgIFwKLQloYXNoX2FkZChfaGFzaHRhYmxlLCAmYW1wO19tbV9zbG90LSZndDtoYXNoLCAodW5zaWduZWQgbG9uZylfbW0pOwkgICAgICAgXAomIzQzOwltbV9zbG90LSZndDttbSA9IG1tOwkJCQkJCSAgICAgICBcCiYjNDM7CWhhc2hfYWRkKGhhc2h0YWJsZSwgJmFtcDttbV9zbG90LSZndDtoYXNoLCAodW5zaWduZWQgbG9uZyltbSk7CQkgICAgICAgXAogfSkKIAomIzQzO3N0YXRpYyBpbmxpbmUgdm9pZCBtbV9zbG90X3JlbW92ZShzdHJ1Y3QgbW1fc2xvdCAqc2xvdCkKJiM0Mzt7CiYjNDM7CWhhc2hfZGVsKCZhbXA7c2xvdC0mZ3Q7aGFzaCk7CiYjNDM7CWxpc3RfZGVsKCZhbXA7c2xvdC0mZ3Q7bW1fbm9kZSk7CiYjNDM7fQogI2VuZGlmIC8qIF9MSU5VWF9NTV9TTE9UX0ggKi8KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMDc6MzM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzE1MwoJCQkJCQkJb3V0cHV0OiA5NAoJCQkJCQkJdGhvdWdodHM6IDMwMgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipSZWZhY3RvcmluZyBSZXZpZXc6IG1tX3Nsb3QgSGVscGVyIEZ1bmN0aW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoLiBJdCBzZWVtcyBsaWtlIGEgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCByZWZhY3RvcmluZyBleGVyY2lzZS4gVGhleSYjMzk7dmUgaW50cm9kdWNlZCBhIG5ldyBoZWxwZXIgZnVuY3Rpb24sIGBtbV9zbG90X3JlbW92ZWAsIGluIGBtbS9tbV9zbG90LmhgLiBBbmQgdGhlIHByaW1hcnkgY2hhbmdlIGludm9sdmVzIHJlcGxhY2luZyB0aG9zZSB0d28gbGluZXMgb2YgY29kZSDigJMgdGhlIGBoYXNoX2RlbGAgYW5kIGBsaXN0X2RlbGAgY2FsbHMgZm9yIHRoZSBgbW1fc2xvdGAg4oCTIHdpdGggYSBjYWxsIHRvIHRoaXMgbmV3IGhlbHBlciBmdW5jdGlvbi4gVGhpcyByZXBsYWNlbWVudCBoYXBwZW5zIGluIGJvdGggYG1tL2todWdlcGFnZWQuY2AgYW5kIGBtbS9rc20uY2AuIEFkZGl0aW9uYWxseSwgdGhleSYjMzk7dmUgcmVuYW1lZCBhIGZldyBhcmd1bWVudHMgaW4gdGhlIGBtbV9zbG90X2xvb2t1cGAgYW5kIGBtbV9zbG90X2luc2VydGAgbWFjcm9zIGluIHRoZSBzYW1lIGhlYWRlciBmaWxlLCByZW1vdmluZyB0aGUgbGVhZGluZyB1bmRlcnNjb3Jlcy4KCk15IGZpcnN0IHRob3VnaHQgaXMgYWx3YXlzLCAmIzM0O0lzIHRoaXMgd29ydGggZnV6emluZz8mIzM0OyBMZXQmIzM5O3MgYW5hbHl6ZS4gVGhlcmUgYXJlIG5vIGNoYW5nZXMgdG8gdGhlIGV4ZWN1dGlvbiBmbG93OyBpdCYjMzk7cyBwdXJlbHkgYWJvdXQgY29kZSBvcmdhbml6YXRpb24gYW5kIHJlYWRhYmlsaXR5LiBUaGUgaW50cm9kdWNlZCBmdW5jdGlvbiBzaW1wbHkgZW5jYXBzdWxhdGVzIHR3byByZXBlYXRlZCBsaW5lcy4gRnVuY3Rpb25hbGx5LCB0aGUgc3lzdGVtIGJlaGF2ZXMgZXhhY3RseSB0aGUgc2FtZS4gTm8gbmV3IHZ1bG5lcmFiaWxpdGllcyBhcmUgbGlrZWx5IHRvIGFyaXNlIGZyb20gdGhpcy4KCkkmIzM5O2xsIGRvdWJsZS1jaGVjayB0aGUgYWN0dWFsIGNvZGUgY2hhbmdlcy4gWWVwLCBpdCYjMzk7cyBqdXN0IGFzIEkgZXhwZWN0ZWQuIFRoZXkmIzM5O3ZlIGVzc2VudGlhbGx5IHJlcGxhY2VkIHRoZSBpbmxpbmUgYGhhc2hfZGVsYCBhbmQgYGxpc3RfZGVsYCB3aXRoIHRoZSBoZWxwZXIuIEkgY2FuIHNlZSB0aGUgZXhhY3QgY29kZSBpbiB0aGUgZGlmZjoKCmBgYGMKc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfcmVtb3ZlKHN0cnVjdCBtbV9zbG90ICpzbG90KQp7CgloYXNoX2RlbCgmYW1wO3Nsb3QtJmd0O2hhc2gpOwoJbGlzdF9kZWwoJmFtcDtzbG90LSZndDttbV9ub2RlKTsKfQpgYGAKClRoZW4gaW4gYm90aCBga2h1Z2VwYWdlZC5jYCBhbmQgYGtzbS5jYDoKCmBgYGMKLQkJaGFzaF9kZWwoJmFtcDtzbG90LSZndDtoYXNoKTsKLQkJbGlzdF9kZWwoJmFtcDtzbG90LSZndDttbV9ub2RlKTsKJiM0MzsJCW1tX3Nsb3RfcmVtb3ZlKHNsb3QpOwpgYGAKClRoaXMgaXMgcHVyZWx5IGEgcmVmYWN0b3Jpbmcgb3BlcmF0aW9uLiBJdCBpc24mIzM5O3QgZ29pbmcgdG8gaGF2ZSBhbnkgaW1wYWN0IG9uIGZ1bmN0aW9uYWwgYmVoYXZpb3Igb3IgaW50cm9kdWNlIGFueSBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuIFRodXMsIEkmIzM5O20gY29uZmlkZW50IGluIHNldHRpbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMDc6MzM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMTNUMDc6MzM6MzguMDk4NjM2MzgxWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Nzg0MDEzMjY1NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggaXMgYSBwdXJlIHJlZmFjdG9yaW5nIHRoYXQgaW50cm9kdWNlcyBhIGhlbHBlciBmdW5jdGlvbiBgbW1fc2xvdF9yZW1vdmVgIHRvIHJlcGxhY2UgcmVwZWF0ZWQgY29kZSBmb3IgcmVtb3ZpbmcgYW4gYG1tX3Nsb3RgIGZyb20gYSBoYXNoIHRhYmxlIGFuZCBhIGxpc3QuIEl0IGFsc28gcmVuYW1lcyBtYWNybyBhcmd1bWVudHMgaW4gYG1tX3Nsb3QuaGAuIFRoZXJlIGFyZSBubyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGV4ZWN1dGlvbiBmbG93LlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMDc6MzM6MzguMDk4NjQxMTlaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ2ODg2MDExNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGZkNDMwOTQ1OWU2NWRlNjA4OWZhMGQ4ZDYzZTEzYzY3OTFhZDYzYzZcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBKdWwgMTMgMDc6MzM6MzYgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvbW0va2h1Z2VwYWdlZC5jIGIvbW0va2h1Z2VwYWdlZC5jXFxuaW5kZXggNDVlODI0NWQ4MGRhZGYuLjI3ZThmMzA3N2U4MGZlIDEwMDY0NFxcbi0tLSBhL21tL2todWdlcGFnZWQuY1xcbisrKyBiL21tL2todWdlcGFnZWQuY1xcbkBAIC02MDYsOCArNjA2LDcgQEAgdm9pZCBfX2todWdlcGFnZWRfZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSlcXG4gXFx0c3Bpbl9sb2NrKFxcdTAwMjZraHVnZXBhZ2VkX21tX2xvY2spO1xcbiBcXHRzbG90ID0gbW1fc2xvdF9sb29rdXAobW1fc2xvdHNfaGFzaCwgbW0pO1xcbiBcXHRpZiAoc2xvdCBcXHUwMDI2XFx1MDAyNiBraHVnZXBhZ2VkX3NjYW4ubW1fc2xvdCAhPSBzbG90KSB7XFxuLVxcdFxcdGhhc2hfZGVsKFxcdTAwMjZzbG90LVxcdTAwM2VoYXNoKTtcXG4tXFx0XFx0bGlzdF9kZWwoXFx1MDAyNnNsb3QtXFx1MDAzZW1tX25vZGUpO1xcbitcXHRcXHRtbV9zbG90X3JlbW92ZShzbG90KTtcXG4gXFx0XFx0ZnJlZSA9IDE7XFxuIFxcdH1cXG4gXFx0c3Bpbl91bmxvY2soXFx1MDAyNmtodWdlcGFnZWRfbW1fbG9jayk7XFxuQEAgLTE4MDIsOCArMTgwMSw3IEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RfbW1fc2xvdChzdHJ1Y3QgbW1fc2xvdCAqc2xvdClcXG4gXFxuIFxcdGlmIChjb2xsYXBzZV90ZXN0X2V4aXQobW0pKSB7XFxuIFxcdFxcdC8qIGZyZWUgbW1fc2xvdCAqL1xcbi1cXHRcXHRoYXNoX2RlbChcXHUwMDI2c2xvdC1cXHUwMDNlaGFzaCk7XFxuLVxcdFxcdGxpc3RfZGVsKFxcdTAwMjZzbG90LVxcdTAwM2VtbV9ub2RlKTtcXG4rXFx0XFx0bW1fc2xvdF9yZW1vdmUoc2xvdCk7XFxuIFxcbiBcXHRcXHQvKlxcbiBcXHRcXHQgKiBOb3Qgc3RyaWN0bHkgbmVlZGVkIGJlY2F1c2UgdGhlIG1tIGV4aXRlZCBhbHJlYWR5LlxcbmRpZmYgLS1naXQgYS9tbS9rc20uYyBiL21tL2tzbS5jXFxuaW5kZXggMTQ1NTBmNjljZjAyMGMuLjQ3MDA2ZjQ5NGZjYjFiIDEwMDY0NFxcbi0tLSBhL21tL2tzbS5jXFxuKysrIGIvbW0va3NtLmNcXG5AQCAtMTI1Nyw4ICsxMjU3LDcgQEAgc3RhdGljIGludCB1bm1lcmdlX2FuZF9yZW1vdmVfYWxsX3JtYXBfaXRlbXModm9pZClcXG4gXFx0XFx0XFx0XFx0ICBzdHJ1Y3QgbW1fc2xvdCwgbW1fbm9kZSk7XFxuIFxcdFxcdGtzbV9zY2FuLm1tX3Nsb3QgPSBtbV9zbG90X2VudHJ5KHNsb3QsIHN0cnVjdCBrc21fbW1fc2xvdCwgc2xvdCk7XFxuIFxcdFxcdGlmIChrc21fdGVzdF9leGl0KG1tKSkge1xcbi1cXHRcXHRcXHRoYXNoX2RlbChcXHUwMDI2bW1fc2xvdC1cXHUwMDNlc2xvdC5oYXNoKTtcXG4tXFx0XFx0XFx0bGlzdF9kZWwoXFx1MDAyNm1tX3Nsb3QtXFx1MDAzZXNsb3QubW1fbm9kZSk7XFxuK1xcdFxcdFxcdG1tX3Nsb3RfcmVtb3ZlKFxcdTAwMjZtbV9zbG90LVxcdTAwM2VzbG90KTtcXG4gXFx0XFx0XFx0c3Bpbl91bmxvY2soXFx1MDAyNmtzbV9tbWxpc3RfbG9jayk7XFxuIFxcbiBcXHRcXHRcXHRtbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7XFxuQEAgLTI3NzIsOCArMjc3MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qga3NtX3JtYXBfaXRlbSAqc2Nhbl9nZXRfbmV4dF9ybWFwX2l0ZW0oc3RydWN0IHBhZ2UgKipwYWdlKVxcbiBcXHRcXHQgKiBvciB3aGVuIGFsbCBWTV9NRVJHRUFCTEUgYXJlYXMgaGF2ZSBiZWVuIHVubWFwcGVkIChhbmRcXG4gXFx0XFx0ICogbW1hcF9sb2NrIHRoZW4gcHJvdGVjdHMgYWdhaW5zdCByYWNlIHdpdGggTUFEVl9NRVJHRUFCTEUpLlxcbiBcXHRcXHQgKi9cXG4tXFx0XFx0aGFzaF9kZWwoXFx1MDAyNm1tX3Nsb3QtXFx1MDAzZXNsb3QuaGFzaCk7XFxuLVxcdFxcdGxpc3RfZGVsKFxcdTAwMjZtbV9zbG90LVxcdTAwM2VzbG90Lm1tX25vZGUpO1xcbitcXHRcXHRtbV9zbG90X3JlbW92ZShcXHUwMDI2bW1fc2xvdC1cXHUwMDNlc2xvdCk7XFxuIFxcdFxcdHNwaW5fdW5sb2NrKFxcdTAwMjZrc21fbW1saXN0X2xvY2spO1xcbiBcXG4gXFx0XFx0bW1fc2xvdF9mcmVlKG1tX3Nsb3RfY2FjaGUsIG1tX3Nsb3QpO1xcbkBAIC0zMTE2LDggKzMxMTQsNyBAQCB2b2lkIF9fa3NtX2V4aXQoc3RydWN0IG1tX3N0cnVjdCAqbW0pXFxuIFxcdGlmIChrc21fc2Nhbi5tbV9zbG90ID09IG1tX3Nsb3QpXFxuIFxcdFxcdGdvdG8gdW5sb2NrO1xcbiBcXHRpZiAoIW1tX3Nsb3QtXFx1MDAzZXJtYXBfbGlzdCkge1xcbi1cXHRcXHRoYXNoX2RlbChcXHUwMDI2c2xvdC1cXHUwMDNlaGFzaCk7XFxuLVxcdFxcdGxpc3RfZGVsKFxcdTAwMjZzbG90LVxcdTAwM2VtbV9ub2RlKTtcXG4rXFx0XFx0bW1fc2xvdF9yZW1vdmUoc2xvdCk7XFxuIFxcdFxcdGVhc3lfdG9fZnJlZSA9IDE7XFxuIFxcdH0gZWxzZSB7XFxuIFxcdFxcdGxpc3RfbW92ZShcXHUwMDI2c2xvdC1cXHUwMDNlbW1fbm9kZSxcXG5kaWZmIC0tZ2l0IGEvbW0vbW1fc2xvdC5oIGIvbW0vbW1fc2xvdC5oXFxuaW5kZXggODNmMThlZDFjNGJkZTcuLjcxMGM3MDE2NmM3OTM3IDEwMDY0NFxcbi0tLSBhL21tL21tX3Nsb3QuaFxcbisrKyBiL21tL21tX3Nsb3QuaFxcbkBAIC0zMywxMiArMzMsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9ianApXFxuIFxcdGttZW1fY2FjaGVfZnJlZShjYWNoZSwgb2JqcCk7XFxuIH1cXG4gXFxuLSNkZWZpbmUgbW1fc2xvdF9sb29rdXAoX2hhc2h0YWJsZSwgX21tKSBcXHRcXHRcXHRcXHQgICAgICAgXFxcXFxcbisvKlxcbisgKiBOb3RlOiBtbV9zbG90X2xvb2t1cCBhbmQgbW1fc2xvdF9pbnNlcnQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBzdGF0aWMgaW5saW5lXFxuKyAqIGZ1bmN0aW9ucyBiZWNhdXNlIGhhc2hfZm9yX2VhY2hfcG9zc2libGUgcmVseXMgb24gdGhlIGFjdHVhbCBhcnJheSBhcmd1bWVudFxcbisgKiAnaGFzaHRhYmxlJyBmb3Igc2l6ZW9mKCkgaW5zdGVhZCBvZiBwb2ludGVycy5cXG4rICovXFxuKyNkZWZpbmUgbW1fc2xvdF9sb29rdXAoaGFzaHRhYmxlLCBtbSlcXHRcXHRcXHRcXHRcXHQgICAgICAgXFxcXFxcbiAoe1xcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuIFxcdHN0cnVjdCBtbV9zbG90ICp0bXBfc2xvdCwgKm1tX3Nsb3QgPSBOVUxMO1xcdFxcdFxcdCAgICAgICBcXFxcXFxuIFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuLVxcdGhhc2hfZm9yX2VhY2hfcG9zc2libGUoX2hhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKV9tbSkgXFxcXFxcbi1cXHRcXHRpZiAoX21tID09IHRtcF9zbG90LVxcdTAwM2VtbSkge1xcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuK1xcdGhhc2hfZm9yX2VhY2hfcG9zc2libGUoaGFzaHRhYmxlLCB0bXBfc2xvdCwgaGFzaCwgKHVuc2lnbmVkIGxvbmcpbW0pICAgXFxcXFxcbitcXHRcXHRpZiAobW0gPT0gdG1wX3Nsb3QtXFx1MDAzZW1tKSB7XFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4gXFx0XFx0XFx0bW1fc2xvdCA9IHRtcF9zbG90O1xcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuIFxcdFxcdFxcdGJyZWFrO1xcdFxcdFxcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuIFxcdFxcdH1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgICAgXFxcXFxcbkBAIC00NiwxMCArNTEsMTUgQEAgc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9ianApXFxuIFxcdG1tX3Nsb3Q7XFx0XFx0XFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4gfSlcXG4gXFxuLSNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoX2hhc2h0YWJsZSwgX21tLCBfbW1fc2xvdClcXHRcXHRcXHQgICAgICAgXFxcXFxcbisjZGVmaW5lIG1tX3Nsb3RfaW5zZXJ0KGhhc2h0YWJsZSwgbW0sIG1tX3Nsb3QpXFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4gKHtcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgICAgXFxcXFxcbi1cXHRfbW1fc2xvdC1cXHUwMDNlbW0gPSBfbW07XFx0XFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4tXFx0aGFzaF9hZGQoX2hhc2h0YWJsZSwgXFx1MDAyNl9tbV9zbG90LVxcdTAwM2VoYXNoLCAodW5zaWduZWQgbG9uZylfbW0pO1xcdCAgICAgICBcXFxcXFxuK1xcdG1tX3Nsb3QtXFx1MDAzZW1tID0gbW07XFx0XFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4rXFx0aGFzaF9hZGQoaGFzaHRhYmxlLCBcXHUwMDI2bW1fc2xvdC1cXHUwMDNlaGFzaCwgKHVuc2lnbmVkIGxvbmcpbW0pO1xcdFxcdCAgICAgICBcXFxcXFxuIH0pXFxuIFxcbitzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9yZW1vdmUoc3RydWN0IG1tX3Nsb3QgKnNsb3QpXFxuK3tcXG4rXFx0aGFzaF9kZWwoXFx1MDAyNnNsb3QtXFx1MDAzZWhhc2gpO1xcbitcXHRsaXN0X2RlbChcXHUwMDI2c2xvdC1cXHUwMDNlbW1fbm9kZSk7XFxuK31cXG4gI2VuZGlmIC8qIF9MSU5VWF9NTV9TTE9UX0ggKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMDc6MzM6MzguNTY4MjIyOTc2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3MzcwNTQwMDE4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGZkNDMwOTQ1OWU2NWRlNjA4OWZhMGQ4ZDYzZTEzYzY3OTFhZDYzYzZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1bCAxMyAwNzozMzozNiAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL21tL2todWdlcGFnZWQuYyBiL21tL2todWdlcGFnZWQuY1xuaW5kZXggNDVlODI0NWQ4MGRhZGYuLjI3ZThmMzA3N2U4MGZlIDEwMDY0NFxuLS0tIGEvbW0va2h1Z2VwYWdlZC5jXG4rKysgYi9tbS9raHVnZXBhZ2VkLmNcbkBAIC02MDYsOCArNjA2LDcgQEAgdm9pZCBfX2todWdlcGFnZWRfZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSlcbiBcdHNwaW5fbG9jayhcdTAwMjZraHVnZXBhZ2VkX21tX2xvY2spO1xuIFx0c2xvdCA9IG1tX3Nsb3RfbG9va3VwKG1tX3Nsb3RzX2hhc2gsIG1tKTtcbiBcdGlmIChzbG90IFx1MDAyNlx1MDAyNiBraHVnZXBhZ2VkX3NjYW4ubW1fc2xvdCAhPSBzbG90KSB7XG4tXHRcdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG4tXHRcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4rXHRcdG1tX3Nsb3RfcmVtb3ZlKHNsb3QpO1xuIFx0XHRmcmVlID0gMTtcbiBcdH1cbiBcdHNwaW5fdW5sb2NrKFx1MDAyNmtodWdlcGFnZWRfbW1fbG9jayk7XG5AQCAtMTgwMiw4ICsxODAxLDcgQEAgc3RhdGljIHZvaWQgY29sbGVjdF9tbV9zbG90KHN0cnVjdCBtbV9zbG90ICpzbG90KVxuIFxuIFx0aWYgKGNvbGxhcHNlX3Rlc3RfZXhpdChtbSkpIHtcbiBcdFx0LyogZnJlZSBtbV9zbG90ICovXG4tXHRcdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG4tXHRcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4rXHRcdG1tX3Nsb3RfcmVtb3ZlKHNsb3QpO1xuIFxuIFx0XHQvKlxuIFx0XHQgKiBOb3Qgc3RyaWN0bHkgbmVlZGVkIGJlY2F1c2UgdGhlIG1tIGV4aXRlZCBhbHJlYWR5LlxuZGlmZiAtLWdpdCBhL21tL2tzbS5jIGIvbW0va3NtLmNcbmluZGV4IDE0NTUwZjY5Y2YwMjBjLi40NzAwNmY0OTRmY2IxYiAxMDA2NDRcbi0tLSBhL21tL2tzbS5jXG4rKysgYi9tbS9rc20uY1xuQEAgLTEyNTcsOCArMTI1Nyw3IEBAIHN0YXRpYyBpbnQgdW5tZXJnZV9hbmRfcmVtb3ZlX2FsbF9ybWFwX2l0ZW1zKHZvaWQpXG4gXHRcdFx0XHQgIHN0cnVjdCBtbV9zbG90LCBtbV9ub2RlKTtcbiBcdFx0a3NtX3NjYW4ubW1fc2xvdCA9IG1tX3Nsb3RfZW50cnkoc2xvdCwgc3RydWN0IGtzbV9tbV9zbG90LCBzbG90KTtcbiBcdFx0aWYgKGtzbV90ZXN0X2V4aXQobW0pKSB7XG4tXHRcdFx0aGFzaF9kZWwoXHUwMDI2bW1fc2xvdC1cdTAwM2VzbG90Lmhhc2gpO1xuLVx0XHRcdGxpc3RfZGVsKFx1MDAyNm1tX3Nsb3QtXHUwMDNlc2xvdC5tbV9ub2RlKTtcbitcdFx0XHRtbV9zbG90X3JlbW92ZShcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QpO1xuIFx0XHRcdHNwaW5fdW5sb2NrKFx1MDAyNmtzbV9tbWxpc3RfbG9jayk7XG4gXG4gXHRcdFx0bW1fc2xvdF9mcmVlKG1tX3Nsb3RfY2FjaGUsIG1tX3Nsb3QpO1xuQEAgLTI3NzIsOCArMjc3MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qga3NtX3JtYXBfaXRlbSAqc2Nhbl9nZXRfbmV4dF9ybWFwX2l0ZW0oc3RydWN0IHBhZ2UgKipwYWdlKVxuIFx0XHQgKiBvciB3aGVuIGFsbCBWTV9NRVJHRUFCTEUgYXJlYXMgaGF2ZSBiZWVuIHVubWFwcGVkIChhbmRcbiBcdFx0ICogbW1hcF9sb2NrIHRoZW4gcHJvdGVjdHMgYWdhaW5zdCByYWNlIHdpdGggTUFEVl9NRVJHRUFCTEUpLlxuIFx0XHQgKi9cbi1cdFx0aGFzaF9kZWwoXHUwMDI2bW1fc2xvdC1cdTAwM2VzbG90Lmhhc2gpO1xuLVx0XHRsaXN0X2RlbChcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QubW1fbm9kZSk7XG4rXHRcdG1tX3Nsb3RfcmVtb3ZlKFx1MDAyNm1tX3Nsb3QtXHUwMDNlc2xvdCk7XG4gXHRcdHNwaW5fdW5sb2NrKFx1MDAyNmtzbV9tbWxpc3RfbG9jayk7XG4gXG4gXHRcdG1tX3Nsb3RfZnJlZShtbV9zbG90X2NhY2hlLCBtbV9zbG90KTtcbkBAIC0zMTE2LDggKzMxMTQsNyBAQCB2b2lkIF9fa3NtX2V4aXQoc3RydWN0IG1tX3N0cnVjdCAqbW0pXG4gXHRpZiAoa3NtX3NjYW4ubW1fc2xvdCA9PSBtbV9zbG90KVxuIFx0XHRnb3RvIHVubG9jaztcbiBcdGlmICghbW1fc2xvdC1cdTAwM2VybWFwX2xpc3QpIHtcbi1cdFx0aGFzaF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VoYXNoKTtcbi1cdFx0bGlzdF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlKTtcbitcdFx0bW1fc2xvdF9yZW1vdmUoc2xvdCk7XG4gXHRcdGVhc3lfdG9fZnJlZSA9IDE7XG4gXHR9IGVsc2Uge1xuIFx0XHRsaXN0X21vdmUoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlLFxuZGlmZiAtLWdpdCBhL21tL21tX3Nsb3QuaCBiL21tL21tX3Nsb3QuaFxuaW5kZXggODNmMThlZDFjNGJkZTcuLjcxMGM3MDE2NmM3OTM3IDEwMDY0NFxuLS0tIGEvbW0vbW1fc2xvdC5oXG4rKysgYi9tbS9tbV9zbG90LmhcbkBAIC0zMywxMiArMzMsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9ianApXG4gXHRrbWVtX2NhY2hlX2ZyZWUoY2FjaGUsIG9ianApO1xuIH1cbiBcbi0jZGVmaW5lIG1tX3Nsb3RfbG9va3VwKF9oYXNodGFibGUsIF9tbSkgXHRcdFx0XHQgICAgICAgXFxcbisvKlxuKyAqIE5vdGU6IG1tX3Nsb3RfbG9va3VwIGFuZCBtbV9zbG90X2luc2VydCBjYW5ub3QgYmUgY29udmVydGVkIHRvIHN0YXRpYyBpbmxpbmVcbisgKiBmdW5jdGlvbnMgYmVjYXVzZSBoYXNoX2Zvcl9lYWNoX3Bvc3NpYmxlIHJlbHlzIG9uIHRoZSBhY3R1YWwgYXJyYXkgYXJndW1lbnRcbisgKiAnaGFzaHRhYmxlJyBmb3Igc2l6ZW9mKCkgaW5zdGVhZCBvZiBwb2ludGVycy5cbisgKi9cbisjZGVmaW5lIG1tX3Nsb3RfbG9va3VwKGhhc2h0YWJsZSwgbW0pXHRcdFx0XHRcdCAgICAgICBcXFxuICh7XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4gXHRzdHJ1Y3QgbW1fc2xvdCAqdG1wX3Nsb3QsICptbV9zbG90ID0gTlVMTDtcdFx0XHQgICAgICAgXFxcbiBcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbi1cdGhhc2hfZm9yX2VhY2hfcG9zc2libGUoX2hhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKV9tbSkgXFxcbi1cdFx0aWYgKF9tbSA9PSB0bXBfc2xvdC1cdTAwM2VtbSkge1x0XHRcdFx0ICAgICAgIFxcXG4rXHRoYXNoX2Zvcl9lYWNoX3Bvc3NpYmxlKGhhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKW1tKSAgIFxcXG4rXHRcdGlmIChtbSA9PSB0bXBfc2xvdC1cdTAwM2VtbSkge1x0XHRcdFx0ICAgICAgIFxcXG4gXHRcdFx0bW1fc2xvdCA9IHRtcF9zbG90O1x0XHRcdFx0ICAgICAgIFxcXG4gXHRcdFx0YnJlYWs7XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4gXHRcdH1cdFx0XHRcdFx0XHRcdCAgICAgICBcXFxuQEAgLTQ2LDEwICs1MSwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9mcmVlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwgdm9pZCAqb2JqcClcbiBcdG1tX3Nsb3Q7XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbiB9KVxuIFxuLSNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoX2hhc2h0YWJsZSwgX21tLCBfbW1fc2xvdClcdFx0XHQgICAgICAgXFxcbisjZGVmaW5lIG1tX3Nsb3RfaW5zZXJ0KGhhc2h0YWJsZSwgbW0sIG1tX3Nsb3QpXHRcdFx0XHQgICAgICAgXFxcbiAoe1x0XHRcdFx0XHRcdFx0XHRcdCAgICAgICBcXFxuLVx0X21tX3Nsb3QtXHUwMDNlbW0gPSBfbW07XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4tXHRoYXNoX2FkZChfaGFzaHRhYmxlLCBcdTAwMjZfbW1fc2xvdC1cdTAwM2VoYXNoLCAodW5zaWduZWQgbG9uZylfbW0pO1x0ICAgICAgIFxcXG4rXHRtbV9zbG90LVx1MDAzZW1tID0gbW07XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4rXHRoYXNoX2FkZChoYXNodGFibGUsIFx1MDAyNm1tX3Nsb3QtXHUwMDNlaGFzaCwgKHVuc2lnbmVkIGxvbmcpbW0pO1x0XHQgICAgICAgXFxcbiB9KVxuIFxuK3N0YXRpYyBpbmxpbmUgdm9pZCBtbV9zbG90X3JlbW92ZShzdHJ1Y3QgbW1fc2xvdCAqc2xvdClcbit7XG4rXHRoYXNoX2RlbChcdTAwMjZzbG90LVx1MDAzZWhhc2gpO1xuK1x0bGlzdF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlKTtcbit9XG4gI2VuZGlmIC8qIF9MSU5VWF9NTV9TTE9UX0ggKi9cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDA3OjMzOjM4LjU2ODIyNDgwNloiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjczNzA1MTM3NDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUmVmYWN0b3JpbmcgUmV2aWV3OiBtbV9zbG90IEhlbHBlciBGdW5jdGlvbioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2guIEl0IHNlZW1zIGxpa2UgYSBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkIHJlZmFjdG9yaW5nIGV4ZXJjaXNlLiBUaGV5J3ZlIGludHJvZHVjZWQgYSBuZXcgaGVscGVyIGZ1bmN0aW9uLCBgbW1fc2xvdF9yZW1vdmVgLCBpbiBgbW0vbW1fc2xvdC5oYC4gQW5kIHRoZSBwcmltYXJ5IGNoYW5nZSBpbnZvbHZlcyByZXBsYWNpbmcgdGhvc2UgdHdvIGxpbmVzIG9mIGNvZGUg4oCTIHRoZSBgaGFzaF9kZWxgIGFuZCBgbGlzdF9kZWxgIGNhbGxzIGZvciB0aGUgYG1tX3Nsb3RgIOKAkyB3aXRoIGEgY2FsbCB0byB0aGlzIG5ldyBoZWxwZXIgZnVuY3Rpb24uIFRoaXMgcmVwbGFjZW1lbnQgaGFwcGVucyBpbiBib3RoIGBtbS9raHVnZXBhZ2VkLmNgIGFuZCBgbW0va3NtLmNgLiBBZGRpdGlvbmFsbHksIHRoZXkndmUgcmVuYW1lZCBhIGZldyBhcmd1bWVudHMgaW4gdGhlIGBtbV9zbG90X2xvb2t1cGAgYW5kIGBtbV9zbG90X2luc2VydGAgbWFjcm9zIGluIHRoZSBzYW1lIGhlYWRlciBmaWxlLCByZW1vdmluZyB0aGUgbGVhZGluZyB1bmRlcnNjb3Jlcy5cblxuTXkgZmlyc3QgdGhvdWdodCBpcyBhbHdheXMsIFwiSXMgdGhpcyB3b3J0aCBmdXp6aW5nP1wiIExldCdzIGFuYWx5emUuIFRoZXJlIGFyZSBubyBjaGFuZ2VzIHRvIHRoZSBleGVjdXRpb24gZmxvdzsgaXQncyBwdXJlbHkgYWJvdXQgY29kZSBvcmdhbml6YXRpb24gYW5kIHJlYWRhYmlsaXR5LiBUaGUgaW50cm9kdWNlZCBmdW5jdGlvbiBzaW1wbHkgZW5jYXBzdWxhdGVzIHR3byByZXBlYXRlZCBsaW5lcy4gRnVuY3Rpb25hbGx5LCB0aGUgc3lzdGVtIGJlaGF2ZXMgZXhhY3RseSB0aGUgc2FtZS4gTm8gbmV3IHZ1bG5lcmFiaWxpdGllcyBhcmUgbGlrZWx5IHRvIGFyaXNlIGZyb20gdGhpcy5cblxuSSdsbCBkb3VibGUtY2hlY2sgdGhlIGFjdHVhbCBjb2RlIGNoYW5nZXMuIFllcCwgaXQncyBqdXN0IGFzIEkgZXhwZWN0ZWQuIFRoZXkndmUgZXNzZW50aWFsbHkgcmVwbGFjZWQgdGhlIGlubGluZSBgaGFzaF9kZWxgIGFuZCBgbGlzdF9kZWxgIHdpdGggdGhlIGhlbHBlci4gSSBjYW4gc2VlIHRoZSBleGFjdCBjb2RlIGluIHRoZSBkaWZmOlxuXG5gYGBjXG5zdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9yZW1vdmUoc3RydWN0IG1tX3Nsb3QgKnNsb3QpXG57XG5cdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG5cdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG59XG5gYGBcblxuVGhlbiBpbiBib3RoIGBraHVnZXBhZ2VkLmNgIGFuZCBga3NtLmNgOlxuXG5gYGBjXG4tXHRcdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG4tXHRcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4rXHRcdG1tX3Nsb3RfcmVtb3ZlKHNsb3QpO1xuYGBgXG5cblRoaXMgaXMgcHVyZWx5IGEgcmVmYWN0b3Jpbmcgb3BlcmF0aW9uLiBJdCBpc24ndCBnb2luZyB0byBoYXZlIGFueSBpbXBhY3Qgb24gZnVuY3Rpb25hbCBiZWhhdmlvciBvciBpbnRyb2R1Y2UgYW55IHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcy4gVGh1cywgSSdtIGNvbmZpZGVudCBpbiBzZXR0aW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMTUzLCJPdXRwdXRUb2tlbnMiOjk0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzAyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMDc6MzM6NDUuOTM4NzQxMDI0WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMDMyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowsc922[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-13 07:01:07 +0000 UTC FinishedAt: 2026-07-13 07:33:46 +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+CgkJCTx0ZD4yMDI2LzA3LzEzIDA3OjMzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGlzIGEgcHVyZSByZWZhY3RvcmluZyB0aGF0IGludHJvZHVjZXMgYSBoZWxwZXIgZnVuY3Rpb24gYG1tX3Nsb3RfcmVtb3ZlYCB0byByZXBsYWNlIHJlcGVhdGVkIGNvZGUgZm9yIHJlbW92aW5nIGFuIGBtbV9zbG90YCBmcm9tIGEgaGFzaCB0YWJsZSBhbmQgYSBsaXN0LiBJdCBhbHNvIHJlbmFtZXMgbWFjcm8gYXJndW1lbnRzIGluIGBtbV9zbG90LmhgLiBUaGVyZSBhcmUgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBleGVjdXRpb24gZmxvdy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMDc6MzM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBmZDQzMDk0NTllNjVkZTYwODlmYTBkOGQ2M2UxM2M2NzkxYWQ2M2M2XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdWwgMTMgMDc6MzM6MzYgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbW0va2h1Z2VwYWdlZC5jIGIvbW0va2h1Z2VwYWdlZC5jXG5pbmRleCA0NWU4MjQ1ZDgwZGFkZi4uMjdlOGYzMDc3ZTgwZmUgMTAwNjQ0XG4tLS0gYS9tbS9raHVnZXBhZ2VkLmNcbiYjNDM7JiM0MzsmIzQzOyBiL21tL2todWdlcGFnZWQuY1xuQEAgLTYwNiw4ICYjNDM7NjA2LDcgQEAgdm9pZCBfX2todWdlcGFnZWRfZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSlcbiBcdHNwaW5fbG9jayhcdTAwMjZraHVnZXBhZ2VkX21tX2xvY2spO1xuIFx0c2xvdCA9IG1tX3Nsb3RfbG9va3VwKG1tX3Nsb3RzX2hhc2gsIG1tKTtcbiBcdGlmIChzbG90IFx1MDAyNlx1MDAyNiBraHVnZXBhZ2VkX3NjYW4ubW1fc2xvdCAhPSBzbG90KSB7XG4tXHRcdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG4tXHRcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4mIzQzO1x0XHRtbV9zbG90X3JlbW92ZShzbG90KTtcbiBcdFx0ZnJlZSA9IDE7XG4gXHR9XG4gXHRzcGluX3VubG9jayhcdTAwMjZraHVnZXBhZ2VkX21tX2xvY2spO1xuQEAgLTE4MDIsOCAmIzQzOzE4MDEsNyBAQCBzdGF0aWMgdm9pZCBjb2xsZWN0X21tX3Nsb3Qoc3RydWN0IG1tX3Nsb3QgKnNsb3QpXG4gXG4gXHRpZiAoY29sbGFwc2VfdGVzdF9leGl0KG1tKSkge1xuIFx0XHQvKiBmcmVlIG1tX3Nsb3QgKi9cbi1cdFx0aGFzaF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VoYXNoKTtcbi1cdFx0bGlzdF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlKTtcbiYjNDM7XHRcdG1tX3Nsb3RfcmVtb3ZlKHNsb3QpO1xuIFxuIFx0XHQvKlxuIFx0XHQgKiBOb3Qgc3RyaWN0bHkgbmVlZGVkIGJlY2F1c2UgdGhlIG1tIGV4aXRlZCBhbHJlYWR5LlxuZGlmZiAtLWdpdCBhL21tL2tzbS5jIGIvbW0va3NtLmNcbmluZGV4IDE0NTUwZjY5Y2YwMjBjLi40NzAwNmY0OTRmY2IxYiAxMDA2NDRcbi0tLSBhL21tL2tzbS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9tbS9rc20uY1xuQEAgLTEyNTcsOCAmIzQzOzEyNTcsNyBAQCBzdGF0aWMgaW50IHVubWVyZ2VfYW5kX3JlbW92ZV9hbGxfcm1hcF9pdGVtcyh2b2lkKVxuIFx0XHRcdFx0ICBzdHJ1Y3QgbW1fc2xvdCwgbW1fbm9kZSk7XG4gXHRcdGtzbV9zY2FuLm1tX3Nsb3QgPSBtbV9zbG90X2VudHJ5KHNsb3QsIHN0cnVjdCBrc21fbW1fc2xvdCwgc2xvdCk7XG4gXHRcdGlmIChrc21fdGVzdF9leGl0KG1tKSkge1xuLVx0XHRcdGhhc2hfZGVsKFx1MDAyNm1tX3Nsb3QtXHUwMDNlc2xvdC5oYXNoKTtcbi1cdFx0XHRsaXN0X2RlbChcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QubW1fbm9kZSk7XG4mIzQzO1x0XHRcdG1tX3Nsb3RfcmVtb3ZlKFx1MDAyNm1tX3Nsb3QtXHUwMDNlc2xvdCk7XG4gXHRcdFx0c3Bpbl91bmxvY2soXHUwMDI2a3NtX21tbGlzdF9sb2NrKTtcbiBcbiBcdFx0XHRtbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7XG5AQCAtMjc3Miw4ICYjNDM7Mjc3MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qga3NtX3JtYXBfaXRlbSAqc2Nhbl9nZXRfbmV4dF9ybWFwX2l0ZW0oc3RydWN0IHBhZ2UgKipwYWdlKVxuIFx0XHQgKiBvciB3aGVuIGFsbCBWTV9NRVJHRUFCTEUgYXJlYXMgaGF2ZSBiZWVuIHVubWFwcGVkIChhbmRcbiBcdFx0ICogbW1hcF9sb2NrIHRoZW4gcHJvdGVjdHMgYWdhaW5zdCByYWNlIHdpdGggTUFEVl9NRVJHRUFCTEUpLlxuIFx0XHQgKi9cbi1cdFx0aGFzaF9kZWwoXHUwMDI2bW1fc2xvdC1cdTAwM2VzbG90Lmhhc2gpO1xuLVx0XHRsaXN0X2RlbChcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QubW1fbm9kZSk7XG4mIzQzO1x0XHRtbV9zbG90X3JlbW92ZShcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QpO1xuIFx0XHRzcGluX3VubG9jayhcdTAwMjZrc21fbW1saXN0X2xvY2spO1xuIFxuIFx0XHRtbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7XG5AQCAtMzExNiw4ICYjNDM7MzExNCw3IEBAIHZvaWQgX19rc21fZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSlcbiBcdGlmIChrc21fc2Nhbi5tbV9zbG90ID09IG1tX3Nsb3QpXG4gXHRcdGdvdG8gdW5sb2NrO1xuIFx0aWYgKCFtbV9zbG90LVx1MDAzZXJtYXBfbGlzdCkge1xuLVx0XHRoYXNoX2RlbChcdTAwMjZzbG90LVx1MDAzZWhhc2gpO1xuLVx0XHRsaXN0X2RlbChcdTAwMjZzbG90LVx1MDAzZW1tX25vZGUpO1xuJiM0MztcdFx0bW1fc2xvdF9yZW1vdmUoc2xvdCk7XG4gXHRcdGVhc3lfdG9fZnJlZSA9IDE7XG4gXHR9IGVsc2Uge1xuIFx0XHRsaXN0X21vdmUoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlLFxuZGlmZiAtLWdpdCBhL21tL21tX3Nsb3QuaCBiL21tL21tX3Nsb3QuaFxuaW5kZXggODNmMThlZDFjNGJkZTcuLjcxMGM3MDE2NmM3OTM3IDEwMDY0NFxuLS0tIGEvbW0vbW1fc2xvdC5oXG4mIzQzOyYjNDM7JiM0MzsgYi9tbS9tbV9zbG90LmhcbkBAIC0zMywxMiAmIzQzOzMzLDE3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtbV9zbG90X2ZyZWUoc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLCB2b2lkICpvYmpwKVxuIFx0a21lbV9jYWNoZV9mcmVlKGNhY2hlLCBvYmpwKTtcbiB9XG4gXG4tI2RlZmluZSBtbV9zbG90X2xvb2t1cChfaGFzaHRhYmxlLCBfbW0pIFx0XHRcdFx0ICAgICAgIFxcXG4mIzQzOy8qXG4mIzQzOyAqIE5vdGU6IG1tX3Nsb3RfbG9va3VwIGFuZCBtbV9zbG90X2luc2VydCBjYW5ub3QgYmUgY29udmVydGVkIHRvIHN0YXRpYyBpbmxpbmVcbiYjNDM7ICogZnVuY3Rpb25zIGJlY2F1c2UgaGFzaF9mb3JfZWFjaF9wb3NzaWJsZSByZWx5cyBvbiB0aGUgYWN0dWFsIGFycmF5IGFyZ3VtZW50XG4mIzQzOyAqICYjMzk7aGFzaHRhYmxlJiMzOTsgZm9yIHNpemVvZigpIGluc3RlYWQgb2YgcG9pbnRlcnMuXG4mIzQzOyAqL1xuJiM0MzsjZGVmaW5lIG1tX3Nsb3RfbG9va3VwKGhhc2h0YWJsZSwgbW0pXHRcdFx0XHRcdCAgICAgICBcXFxuICh7XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4gXHRzdHJ1Y3QgbW1fc2xvdCAqdG1wX3Nsb3QsICptbV9zbG90ID0gTlVMTDtcdFx0XHQgICAgICAgXFxcbiBcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbi1cdGhhc2hfZm9yX2VhY2hfcG9zc2libGUoX2hhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKV9tbSkgXFxcbi1cdFx0aWYgKF9tbSA9PSB0bXBfc2xvdC1cdTAwM2VtbSkge1x0XHRcdFx0ICAgICAgIFxcXG4mIzQzO1x0aGFzaF9mb3JfZWFjaF9wb3NzaWJsZShoYXNodGFibGUsIHRtcF9zbG90LCBoYXNoLCAodW5zaWduZWQgbG9uZyltbSkgICBcXFxuJiM0MztcdFx0aWYgKG1tID09IHRtcF9zbG90LVx1MDAzZW1tKSB7XHRcdFx0XHQgICAgICAgXFxcbiBcdFx0XHRtbV9zbG90ID0gdG1wX3Nsb3Q7XHRcdFx0XHQgICAgICAgXFxcbiBcdFx0XHRicmVhaztcdFx0XHRcdFx0XHQgICAgICAgXFxcbiBcdFx0fVx0XHRcdFx0XHRcdFx0ICAgICAgIFxcXG5AQCAtNDYsMTAgJiM0Mzs1MSwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9mcmVlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwgdm9pZCAqb2JqcClcbiBcdG1tX3Nsb3Q7XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbiB9KVxuIFxuLSNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoX2hhc2h0YWJsZSwgX21tLCBfbW1fc2xvdClcdFx0XHQgICAgICAgXFxcbiYjNDM7I2RlZmluZSBtbV9zbG90X2luc2VydChoYXNodGFibGUsIG1tLCBtbV9zbG90KVx0XHRcdFx0ICAgICAgIFxcXG4gKHtcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbi1cdF9tbV9zbG90LVx1MDAzZW1tID0gX21tO1x0XHRcdFx0XHRcdCAgICAgICBcXFxuLVx0aGFzaF9hZGQoX2hhc2h0YWJsZSwgXHUwMDI2X21tX3Nsb3QtXHUwMDNlaGFzaCwgKHVuc2lnbmVkIGxvbmcpX21tKTtcdCAgICAgICBcXFxuJiM0MztcdG1tX3Nsb3QtXHUwMDNlbW0gPSBtbTtcdFx0XHRcdFx0XHQgICAgICAgXFxcbiYjNDM7XHRoYXNoX2FkZChoYXNodGFibGUsIFx1MDAyNm1tX3Nsb3QtXHUwMDNlaGFzaCwgKHVuc2lnbmVkIGxvbmcpbW0pO1x0XHQgICAgICAgXFxcbiB9KVxuIFxuJiM0MztzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9yZW1vdmUoc3RydWN0IG1tX3Nsb3QgKnNsb3QpXG4mIzQzO3tcbiYjNDM7XHRoYXNoX2RlbChcdTAwMjZzbG90LVx1MDAzZWhhc2gpO1xuJiM0MztcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4mIzQzO31cbiAjZW5kaWYgLyogX0xJTlVYX01NX1NMT1RfSCAqL1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEzIDA3OjMzPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGlzIGEgcHVyZSByZWZhY3RvcmluZyB0aGF0IGludHJvZHVjZXMgYSBoZWxwZXIgZnVuY3Rpb24gYG1tX3Nsb3RfcmVtb3ZlYCB0byByZXBsYWNlIHJlcGVhdGVkIGNvZGUgZm9yIHJlbW92aW5nIGFuIGBtbV9zbG90YCBmcm9tIGEgaGFzaCB0YWJsZSBhbmQgYSBsaXN0LiBJdCBhbHNvIHJlbmFtZXMgbWFjcm8gYXJndW1lbnRzIGluIGBtbV9zbG90LmhgLiBUaGVyZSBhcmUgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBleGVjdXRpb24gZmxvdy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGZkNDMwOTQ1OWU2NWRlNjA4OWZhMGQ4ZDYzZTEzYzY3OTFhZDYzYzYKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEp1bCAxMyAwNzozMzozNiAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL21tL2todWdlcGFnZWQuYyBiL21tL2todWdlcGFnZWQuYwppbmRleCA0NWU4MjQ1ZDgwZGFkZi4uMjdlOGYzMDc3ZTgwZmUgMTAwNjQ0Ci0tLSBhL21tL2todWdlcGFnZWQuYwomIzQzOyYjNDM7JiM0MzsgYi9tbS9raHVnZXBhZ2VkLmMKQEAgLTYwNiw4ICYjNDM7NjA2LDcgQEAgdm9pZCBfX2todWdlcGFnZWRfZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIAlzcGluX2xvY2soJmFtcDtraHVnZXBhZ2VkX21tX2xvY2spOwogCXNsb3QgPSBtbV9zbG90X2xvb2t1cChtbV9zbG90c19oYXNoLCBtbSk7CiAJaWYgKHNsb3QgJmFtcDsmYW1wOyBraHVnZXBhZ2VkX3NjYW4ubW1fc2xvdCAhPSBzbG90KSB7Ci0JCWhhc2hfZGVsKCZhbXA7c2xvdC0mZ3Q7aGFzaCk7Ci0JCWxpc3RfZGVsKCZhbXA7c2xvdC0mZ3Q7bW1fbm9kZSk7CiYjNDM7CQltbV9zbG90X3JlbW92ZShzbG90KTsKIAkJZnJlZSA9IDE7CiAJfQogCXNwaW5fdW5sb2NrKCZhbXA7a2h1Z2VwYWdlZF9tbV9sb2NrKTsKQEAgLTE4MDIsOCAmIzQzOzE4MDEsNyBAQCBzdGF0aWMgdm9pZCBjb2xsZWN0X21tX3Nsb3Qoc3RydWN0IG1tX3Nsb3QgKnNsb3QpCiAKIAlpZiAoY29sbGFwc2VfdGVzdF9leGl0KG1tKSkgewogCQkvKiBmcmVlIG1tX3Nsb3QgKi8KLQkJaGFzaF9kZWwoJmFtcDtzbG90LSZndDtoYXNoKTsKLQkJbGlzdF9kZWwoJmFtcDtzbG90LSZndDttbV9ub2RlKTsKJiM0MzsJCW1tX3Nsb3RfcmVtb3ZlKHNsb3QpOwogCiAJCS8qCiAJCSAqIE5vdCBzdHJpY3RseSBuZWVkZWQgYmVjYXVzZSB0aGUgbW0gZXhpdGVkIGFscmVhZHkuCmRpZmYgLS1naXQgYS9tbS9rc20uYyBiL21tL2tzbS5jCmluZGV4IDE0NTUwZjY5Y2YwMjBjLi40NzAwNmY0OTRmY2IxYiAxMDA2NDQKLS0tIGEvbW0va3NtLmMKJiM0MzsmIzQzOyYjNDM7IGIvbW0va3NtLmMKQEAgLTEyNTcsOCAmIzQzOzEyNTcsNyBAQCBzdGF0aWMgaW50IHVubWVyZ2VfYW5kX3JlbW92ZV9hbGxfcm1hcF9pdGVtcyh2b2lkKQogCQkJCSAgc3RydWN0IG1tX3Nsb3QsIG1tX25vZGUpOwogCQlrc21fc2Nhbi5tbV9zbG90ID0gbW1fc2xvdF9lbnRyeShzbG90LCBzdHJ1Y3Qga3NtX21tX3Nsb3QsIHNsb3QpOwogCQlpZiAoa3NtX3Rlc3RfZXhpdChtbSkpIHsKLQkJCWhhc2hfZGVsKCZhbXA7bW1fc2xvdC0mZ3Q7c2xvdC5oYXNoKTsKLQkJCWxpc3RfZGVsKCZhbXA7bW1fc2xvdC0mZ3Q7c2xvdC5tbV9ub2RlKTsKJiM0MzsJCQltbV9zbG90X3JlbW92ZSgmYW1wO21tX3Nsb3QtJmd0O3Nsb3QpOwogCQkJc3Bpbl91bmxvY2soJmFtcDtrc21fbW1saXN0X2xvY2spOwogCiAJCQltbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7CkBAIC0yNzcyLDggJiM0MzsyNzcxLDcgQEAgc3RhdGljIHN0cnVjdCBrc21fcm1hcF9pdGVtICpzY2FuX2dldF9uZXh0X3JtYXBfaXRlbShzdHJ1Y3QgcGFnZSAqKnBhZ2UpCiAJCSAqIG9yIHdoZW4gYWxsIFZNX01FUkdFQUJMRSBhcmVhcyBoYXZlIGJlZW4gdW5tYXBwZWQgKGFuZAogCQkgKiBtbWFwX2xvY2sgdGhlbiBwcm90ZWN0cyBhZ2FpbnN0IHJhY2Ugd2l0aCBNQURWX01FUkdFQUJMRSkuCiAJCSAqLwotCQloYXNoX2RlbCgmYW1wO21tX3Nsb3QtJmd0O3Nsb3QuaGFzaCk7Ci0JCWxpc3RfZGVsKCZhbXA7bW1fc2xvdC0mZ3Q7c2xvdC5tbV9ub2RlKTsKJiM0MzsJCW1tX3Nsb3RfcmVtb3ZlKCZhbXA7bW1fc2xvdC0mZ3Q7c2xvdCk7CiAJCXNwaW5fdW5sb2NrKCZhbXA7a3NtX21tbGlzdF9sb2NrKTsKIAogCQltbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7CkBAIC0zMTE2LDggJiM0MzszMTE0LDcgQEAgdm9pZCBfX2tzbV9leGl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogCWlmIChrc21fc2Nhbi5tbV9zbG90ID09IG1tX3Nsb3QpCiAJCWdvdG8gdW5sb2NrOwogCWlmICghbW1fc2xvdC0mZ3Q7cm1hcF9saXN0KSB7Ci0JCWhhc2hfZGVsKCZhbXA7c2xvdC0mZ3Q7aGFzaCk7Ci0JCWxpc3RfZGVsKCZhbXA7c2xvdC0mZ3Q7bW1fbm9kZSk7CiYjNDM7CQltbV9zbG90X3JlbW92ZShzbG90KTsKIAkJZWFzeV90b19mcmVlID0gMTsKIAl9IGVsc2UgewogCQlsaXN0X21vdmUoJmFtcDtzbG90LSZndDttbV9ub2RlLApkaWZmIC0tZ2l0IGEvbW0vbW1fc2xvdC5oIGIvbW0vbW1fc2xvdC5oCmluZGV4IDgzZjE4ZWQxYzRiZGU3Li43MTBjNzAxNjZjNzkzNyAxMDA2NDQKLS0tIGEvbW0vbW1fc2xvdC5oCiYjNDM7JiM0MzsmIzQzOyBiL21tL21tX3Nsb3QuaApAQCAtMzMsMTIgJiM0MzszMywxNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9mcmVlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwgdm9pZCAqb2JqcCkKIAlrbWVtX2NhY2hlX2ZyZWUoY2FjaGUsIG9ianApOwogfQogCi0jZGVmaW5lIG1tX3Nsb3RfbG9va3VwKF9oYXNodGFibGUsIF9tbSkgCQkJCSAgICAgICBcCiYjNDM7LyoKJiM0MzsgKiBOb3RlOiBtbV9zbG90X2xvb2t1cCBhbmQgbW1fc2xvdF9pbnNlcnQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBzdGF0aWMgaW5saW5lCiYjNDM7ICogZnVuY3Rpb25zIGJlY2F1c2UgaGFzaF9mb3JfZWFjaF9wb3NzaWJsZSByZWx5cyBvbiB0aGUgYWN0dWFsIGFycmF5IGFyZ3VtZW50CiYjNDM7ICogJiMzOTtoYXNodGFibGUmIzM5OyBmb3Igc2l6ZW9mKCkgaW5zdGVhZCBvZiBwb2ludGVycy4KJiM0MzsgKi8KJiM0MzsjZGVmaW5lIG1tX3Nsb3RfbG9va3VwKGhhc2h0YWJsZSwgbW0pCQkJCQkgICAgICAgXAogKHsJCQkJCQkJCQkgICAgICAgXAogCXN0cnVjdCBtbV9zbG90ICp0bXBfc2xvdCwgKm1tX3Nsb3QgPSBOVUxMOwkJCSAgICAgICBcCiAJCQkJCQkJCQkgICAgICAgXAotCWhhc2hfZm9yX2VhY2hfcG9zc2libGUoX2hhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKV9tbSkgXAotCQlpZiAoX21tID09IHRtcF9zbG90LSZndDttbSkgewkJCQkgICAgICAgXAomIzQzOwloYXNoX2Zvcl9lYWNoX3Bvc3NpYmxlKGhhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKW1tKSAgIFwKJiM0MzsJCWlmIChtbSA9PSB0bXBfc2xvdC0mZ3Q7bW0pIHsJCQkJICAgICAgIFwKIAkJCW1tX3Nsb3QgPSB0bXBfc2xvdDsJCQkJICAgICAgIFwKIAkJCWJyZWFrOwkJCQkJCSAgICAgICBcCiAJCX0JCQkJCQkJICAgICAgIFwKQEAgLTQ2LDEwICYjNDM7NTEsMTUgQEAgc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9ianApCiAJbW1fc2xvdDsJCQkJCQkJICAgICAgIFwKIH0pCiAKLSNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoX2hhc2h0YWJsZSwgX21tLCBfbW1fc2xvdCkJCQkgICAgICAgXAomIzQzOyNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoaGFzaHRhYmxlLCBtbSwgbW1fc2xvdCkJCQkJICAgICAgIFwKICh7CQkJCQkJCQkJICAgICAgIFwKLQlfbW1fc2xvdC0mZ3Q7bW0gPSBfbW07CQkJCQkJICAgICAgIFwKLQloYXNoX2FkZChfaGFzaHRhYmxlLCAmYW1wO19tbV9zbG90LSZndDtoYXNoLCAodW5zaWduZWQgbG9uZylfbW0pOwkgICAgICAgXAomIzQzOwltbV9zbG90LSZndDttbSA9IG1tOwkJCQkJCSAgICAgICBcCiYjNDM7CWhhc2hfYWRkKGhhc2h0YWJsZSwgJmFtcDttbV9zbG90LSZndDtoYXNoLCAodW5zaWduZWQgbG9uZyltbSk7CQkgICAgICAgXAogfSkKIAomIzQzO3N0YXRpYyBpbmxpbmUgdm9pZCBtbV9zbG90X3JlbW92ZShzdHJ1Y3QgbW1fc2xvdCAqc2xvdCkKJiM0Mzt7CiYjNDM7CWhhc2hfZGVsKCZhbXA7c2xvdC0mZ3Q7aGFzaCk7CiYjNDM7CWxpc3RfZGVsKCZhbXA7c2xvdC0mZ3Q7bW1fbm9kZSk7CiYjNDM7fQogI2VuZGlmIC8qIF9MSU5VWF9NTV9TTE9UX0ggKi8KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMDc6MzM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzE1MwoJCQkJCQkJb3V0cHV0OiA5NAoJCQkJCQkJdGhvdWdodHM6IDMwMgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipSZWZhY3RvcmluZyBSZXZpZXc6IG1tX3Nsb3QgSGVscGVyIEZ1bmN0aW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoLiBJdCBzZWVtcyBsaWtlIGEgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCByZWZhY3RvcmluZyBleGVyY2lzZS4gVGhleSYjMzk7dmUgaW50cm9kdWNlZCBhIG5ldyBoZWxwZXIgZnVuY3Rpb24sIGBtbV9zbG90X3JlbW92ZWAsIGluIGBtbS9tbV9zbG90LmhgLiBBbmQgdGhlIHByaW1hcnkgY2hhbmdlIGludm9sdmVzIHJlcGxhY2luZyB0aG9zZSB0d28gbGluZXMgb2YgY29kZSDigJMgdGhlIGBoYXNoX2RlbGAgYW5kIGBsaXN0X2RlbGAgY2FsbHMgZm9yIHRoZSBgbW1fc2xvdGAg4oCTIHdpdGggYSBjYWxsIHRvIHRoaXMgbmV3IGhlbHBlciBmdW5jdGlvbi4gVGhpcyByZXBsYWNlbWVudCBoYXBwZW5zIGluIGJvdGggYG1tL2todWdlcGFnZWQuY2AgYW5kIGBtbS9rc20uY2AuIEFkZGl0aW9uYWxseSwgdGhleSYjMzk7dmUgcmVuYW1lZCBhIGZldyBhcmd1bWVudHMgaW4gdGhlIGBtbV9zbG90X2xvb2t1cGAgYW5kIGBtbV9zbG90X2luc2VydGAgbWFjcm9zIGluIHRoZSBzYW1lIGhlYWRlciBmaWxlLCByZW1vdmluZyB0aGUgbGVhZGluZyB1bmRlcnNjb3Jlcy4KCk15IGZpcnN0IHRob3VnaHQgaXMgYWx3YXlzLCAmIzM0O0lzIHRoaXMgd29ydGggZnV6emluZz8mIzM0OyBMZXQmIzM5O3MgYW5hbHl6ZS4gVGhlcmUgYXJlIG5vIGNoYW5nZXMgdG8gdGhlIGV4ZWN1dGlvbiBmbG93OyBpdCYjMzk7cyBwdXJlbHkgYWJvdXQgY29kZSBvcmdhbml6YXRpb24gYW5kIHJlYWRhYmlsaXR5LiBUaGUgaW50cm9kdWNlZCBmdW5jdGlvbiBzaW1wbHkgZW5jYXBzdWxhdGVzIHR3byByZXBlYXRlZCBsaW5lcy4gRnVuY3Rpb25hbGx5LCB0aGUgc3lzdGVtIGJlaGF2ZXMgZXhhY3RseSB0aGUgc2FtZS4gTm8gbmV3IHZ1bG5lcmFiaWxpdGllcyBhcmUgbGlrZWx5IHRvIGFyaXNlIGZyb20gdGhpcy4KCkkmIzM5O2xsIGRvdWJsZS1jaGVjayB0aGUgYWN0dWFsIGNvZGUgY2hhbmdlcy4gWWVwLCBpdCYjMzk7cyBqdXN0IGFzIEkgZXhwZWN0ZWQuIFRoZXkmIzM5O3ZlIGVzc2VudGlhbGx5IHJlcGxhY2VkIHRoZSBpbmxpbmUgYGhhc2hfZGVsYCBhbmQgYGxpc3RfZGVsYCB3aXRoIHRoZSBoZWxwZXIuIEkgY2FuIHNlZSB0aGUgZXhhY3QgY29kZSBpbiB0aGUgZGlmZjoKCmBgYGMKc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfcmVtb3ZlKHN0cnVjdCBtbV9zbG90ICpzbG90KQp7CgloYXNoX2RlbCgmYW1wO3Nsb3QtJmd0O2hhc2gpOwoJbGlzdF9kZWwoJmFtcDtzbG90LSZndDttbV9ub2RlKTsKfQpgYGAKClRoZW4gaW4gYm90aCBga2h1Z2VwYWdlZC5jYCBhbmQgYGtzbS5jYDoKCmBgYGMKLQkJaGFzaF9kZWwoJmFtcDtzbG90LSZndDtoYXNoKTsKLQkJbGlzdF9kZWwoJmFtcDtzbG90LSZndDttbV9ub2RlKTsKJiM0MzsJCW1tX3Nsb3RfcmVtb3ZlKHNsb3QpOwpgYGAKClRoaXMgaXMgcHVyZWx5IGEgcmVmYWN0b3Jpbmcgb3BlcmF0aW9uLiBJdCBpc24mIzM5O3QgZ29pbmcgdG8gaGF2ZSBhbnkgaW1wYWN0IG9uIGZ1bmN0aW9uYWwgYmVoYXZpb3Igb3IgaW50cm9kdWNlIGFueSBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuIFRodXMsIEkmIzM5O20gY29uZmlkZW50IGluIHNldHRpbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTMgMDc6MzM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMTNUMDc6MzM6MzguMDk4NjM2MzgxWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Nzg0MDEzMjY1NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggaXMgYSBwdXJlIHJlZmFjdG9yaW5nIHRoYXQgaW50cm9kdWNlcyBhIGhlbHBlciBmdW5jdGlvbiBgbW1fc2xvdF9yZW1vdmVgIHRvIHJlcGxhY2UgcmVwZWF0ZWQgY29kZSBmb3IgcmVtb3ZpbmcgYW4gYG1tX3Nsb3RgIGZyb20gYSBoYXNoIHRhYmxlIGFuZCBhIGxpc3QuIEl0IGFsc28gcmVuYW1lcyBtYWNybyBhcmd1bWVudHMgaW4gYG1tX3Nsb3QuaGAuIFRoZXJlIGFyZSBubyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGV4ZWN1dGlvbiBmbG93LlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMDc6MzM6MzguMDk4NjQxMTlaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQ2ODg2MDExNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGZkNDMwOTQ1OWU2NWRlNjA4OWZhMGQ4ZDYzZTEzYzY3OTFhZDYzYzZcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBKdWwgMTMgMDc6MzM6MzYgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvbW0va2h1Z2VwYWdlZC5jIGIvbW0va2h1Z2VwYWdlZC5jXFxuaW5kZXggNDVlODI0NWQ4MGRhZGYuLjI3ZThmMzA3N2U4MGZlIDEwMDY0NFxcbi0tLSBhL21tL2todWdlcGFnZWQuY1xcbisrKyBiL21tL2todWdlcGFnZWQuY1xcbkBAIC02MDYsOCArNjA2LDcgQEAgdm9pZCBfX2todWdlcGFnZWRfZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSlcXG4gXFx0c3Bpbl9sb2NrKFxcdTAwMjZraHVnZXBhZ2VkX21tX2xvY2spO1xcbiBcXHRzbG90ID0gbW1fc2xvdF9sb29rdXAobW1fc2xvdHNfaGFzaCwgbW0pO1xcbiBcXHRpZiAoc2xvdCBcXHUwMDI2XFx1MDAyNiBraHVnZXBhZ2VkX3NjYW4ubW1fc2xvdCAhPSBzbG90KSB7XFxuLVxcdFxcdGhhc2hfZGVsKFxcdTAwMjZzbG90LVxcdTAwM2VoYXNoKTtcXG4tXFx0XFx0bGlzdF9kZWwoXFx1MDAyNnNsb3QtXFx1MDAzZW1tX25vZGUpO1xcbitcXHRcXHRtbV9zbG90X3JlbW92ZShzbG90KTtcXG4gXFx0XFx0ZnJlZSA9IDE7XFxuIFxcdH1cXG4gXFx0c3Bpbl91bmxvY2soXFx1MDAyNmtodWdlcGFnZWRfbW1fbG9jayk7XFxuQEAgLTE4MDIsOCArMTgwMSw3IEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RfbW1fc2xvdChzdHJ1Y3QgbW1fc2xvdCAqc2xvdClcXG4gXFxuIFxcdGlmIChjb2xsYXBzZV90ZXN0X2V4aXQobW0pKSB7XFxuIFxcdFxcdC8qIGZyZWUgbW1fc2xvdCAqL1xcbi1cXHRcXHRoYXNoX2RlbChcXHUwMDI2c2xvdC1cXHUwMDNlaGFzaCk7XFxuLVxcdFxcdGxpc3RfZGVsKFxcdTAwMjZzbG90LVxcdTAwM2VtbV9ub2RlKTtcXG4rXFx0XFx0bW1fc2xvdF9yZW1vdmUoc2xvdCk7XFxuIFxcbiBcXHRcXHQvKlxcbiBcXHRcXHQgKiBOb3Qgc3RyaWN0bHkgbmVlZGVkIGJlY2F1c2UgdGhlIG1tIGV4aXRlZCBhbHJlYWR5LlxcbmRpZmYgLS1naXQgYS9tbS9rc20uYyBiL21tL2tzbS5jXFxuaW5kZXggMTQ1NTBmNjljZjAyMGMuLjQ3MDA2ZjQ5NGZjYjFiIDEwMDY0NFxcbi0tLSBhL21tL2tzbS5jXFxuKysrIGIvbW0va3NtLmNcXG5AQCAtMTI1Nyw4ICsxMjU3LDcgQEAgc3RhdGljIGludCB1bm1lcmdlX2FuZF9yZW1vdmVfYWxsX3JtYXBfaXRlbXModm9pZClcXG4gXFx0XFx0XFx0XFx0ICBzdHJ1Y3QgbW1fc2xvdCwgbW1fbm9kZSk7XFxuIFxcdFxcdGtzbV9zY2FuLm1tX3Nsb3QgPSBtbV9zbG90X2VudHJ5KHNsb3QsIHN0cnVjdCBrc21fbW1fc2xvdCwgc2xvdCk7XFxuIFxcdFxcdGlmIChrc21fdGVzdF9leGl0KG1tKSkge1xcbi1cXHRcXHRcXHRoYXNoX2RlbChcXHUwMDI2bW1fc2xvdC1cXHUwMDNlc2xvdC5oYXNoKTtcXG4tXFx0XFx0XFx0bGlzdF9kZWwoXFx1MDAyNm1tX3Nsb3QtXFx1MDAzZXNsb3QubW1fbm9kZSk7XFxuK1xcdFxcdFxcdG1tX3Nsb3RfcmVtb3ZlKFxcdTAwMjZtbV9zbG90LVxcdTAwM2VzbG90KTtcXG4gXFx0XFx0XFx0c3Bpbl91bmxvY2soXFx1MDAyNmtzbV9tbWxpc3RfbG9jayk7XFxuIFxcbiBcXHRcXHRcXHRtbV9zbG90X2ZyZWUobW1fc2xvdF9jYWNoZSwgbW1fc2xvdCk7XFxuQEAgLTI3NzIsOCArMjc3MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qga3NtX3JtYXBfaXRlbSAqc2Nhbl9nZXRfbmV4dF9ybWFwX2l0ZW0oc3RydWN0IHBhZ2UgKipwYWdlKVxcbiBcXHRcXHQgKiBvciB3aGVuIGFsbCBWTV9NRVJHRUFCTEUgYXJlYXMgaGF2ZSBiZWVuIHVubWFwcGVkIChhbmRcXG4gXFx0XFx0ICogbW1hcF9sb2NrIHRoZW4gcHJvdGVjdHMgYWdhaW5zdCByYWNlIHdpdGggTUFEVl9NRVJHRUFCTEUpLlxcbiBcXHRcXHQgKi9cXG4tXFx0XFx0aGFzaF9kZWwoXFx1MDAyNm1tX3Nsb3QtXFx1MDAzZXNsb3QuaGFzaCk7XFxuLVxcdFxcdGxpc3RfZGVsKFxcdTAwMjZtbV9zbG90LVxcdTAwM2VzbG90Lm1tX25vZGUpO1xcbitcXHRcXHRtbV9zbG90X3JlbW92ZShcXHUwMDI2bW1fc2xvdC1cXHUwMDNlc2xvdCk7XFxuIFxcdFxcdHNwaW5fdW5sb2NrKFxcdTAwMjZrc21fbW1saXN0X2xvY2spO1xcbiBcXG4gXFx0XFx0bW1fc2xvdF9mcmVlKG1tX3Nsb3RfY2FjaGUsIG1tX3Nsb3QpO1xcbkBAIC0zMTE2LDggKzMxMTQsNyBAQCB2b2lkIF9fa3NtX2V4aXQoc3RydWN0IG1tX3N0cnVjdCAqbW0pXFxuIFxcdGlmIChrc21fc2Nhbi5tbV9zbG90ID09IG1tX3Nsb3QpXFxuIFxcdFxcdGdvdG8gdW5sb2NrO1xcbiBcXHRpZiAoIW1tX3Nsb3QtXFx1MDAzZXJtYXBfbGlzdCkge1xcbi1cXHRcXHRoYXNoX2RlbChcXHUwMDI2c2xvdC1cXHUwMDNlaGFzaCk7XFxuLVxcdFxcdGxpc3RfZGVsKFxcdTAwMjZzbG90LVxcdTAwM2VtbV9ub2RlKTtcXG4rXFx0XFx0bW1fc2xvdF9yZW1vdmUoc2xvdCk7XFxuIFxcdFxcdGVhc3lfdG9fZnJlZSA9IDE7XFxuIFxcdH0gZWxzZSB7XFxuIFxcdFxcdGxpc3RfbW92ZShcXHUwMDI2c2xvdC1cXHUwMDNlbW1fbm9kZSxcXG5kaWZmIC0tZ2l0IGEvbW0vbW1fc2xvdC5oIGIvbW0vbW1fc2xvdC5oXFxuaW5kZXggODNmMThlZDFjNGJkZTcuLjcxMGM3MDE2NmM3OTM3IDEwMDY0NFxcbi0tLSBhL21tL21tX3Nsb3QuaFxcbisrKyBiL21tL21tX3Nsb3QuaFxcbkBAIC0zMywxMiArMzMsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9ianApXFxuIFxcdGttZW1fY2FjaGVfZnJlZShjYWNoZSwgb2JqcCk7XFxuIH1cXG4gXFxuLSNkZWZpbmUgbW1fc2xvdF9sb29rdXAoX2hhc2h0YWJsZSwgX21tKSBcXHRcXHRcXHRcXHQgICAgICAgXFxcXFxcbisvKlxcbisgKiBOb3RlOiBtbV9zbG90X2xvb2t1cCBhbmQgbW1fc2xvdF9pbnNlcnQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBzdGF0aWMgaW5saW5lXFxuKyAqIGZ1bmN0aW9ucyBiZWNhdXNlIGhhc2hfZm9yX2VhY2hfcG9zc2libGUgcmVseXMgb24gdGhlIGFjdHVhbCBhcnJheSBhcmd1bWVudFxcbisgKiAnaGFzaHRhYmxlJyBmb3Igc2l6ZW9mKCkgaW5zdGVhZCBvZiBwb2ludGVycy5cXG4rICovXFxuKyNkZWZpbmUgbW1fc2xvdF9sb29rdXAoaGFzaHRhYmxlLCBtbSlcXHRcXHRcXHRcXHRcXHQgICAgICAgXFxcXFxcbiAoe1xcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuIFxcdHN0cnVjdCBtbV9zbG90ICp0bXBfc2xvdCwgKm1tX3Nsb3QgPSBOVUxMO1xcdFxcdFxcdCAgICAgICBcXFxcXFxuIFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuLVxcdGhhc2hfZm9yX2VhY2hfcG9zc2libGUoX2hhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKV9tbSkgXFxcXFxcbi1cXHRcXHRpZiAoX21tID09IHRtcF9zbG90LVxcdTAwM2VtbSkge1xcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuK1xcdGhhc2hfZm9yX2VhY2hfcG9zc2libGUoaGFzaHRhYmxlLCB0bXBfc2xvdCwgaGFzaCwgKHVuc2lnbmVkIGxvbmcpbW0pICAgXFxcXFxcbitcXHRcXHRpZiAobW0gPT0gdG1wX3Nsb3QtXFx1MDAzZW1tKSB7XFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4gXFx0XFx0XFx0bW1fc2xvdCA9IHRtcF9zbG90O1xcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuIFxcdFxcdFxcdGJyZWFrO1xcdFxcdFxcdFxcdFxcdFxcdCAgICAgICBcXFxcXFxuIFxcdFxcdH1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgICAgXFxcXFxcbkBAIC00NiwxMCArNTEsMTUgQEAgc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9ianApXFxuIFxcdG1tX3Nsb3Q7XFx0XFx0XFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4gfSlcXG4gXFxuLSNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoX2hhc2h0YWJsZSwgX21tLCBfbW1fc2xvdClcXHRcXHRcXHQgICAgICAgXFxcXFxcbisjZGVmaW5lIG1tX3Nsb3RfaW5zZXJ0KGhhc2h0YWJsZSwgbW0sIG1tX3Nsb3QpXFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4gKHtcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgICAgXFxcXFxcbi1cXHRfbW1fc2xvdC1cXHUwMDNlbW0gPSBfbW07XFx0XFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4tXFx0aGFzaF9hZGQoX2hhc2h0YWJsZSwgXFx1MDAyNl9tbV9zbG90LVxcdTAwM2VoYXNoLCAodW5zaWduZWQgbG9uZylfbW0pO1xcdCAgICAgICBcXFxcXFxuK1xcdG1tX3Nsb3QtXFx1MDAzZW1tID0gbW07XFx0XFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcXFxcXG4rXFx0aGFzaF9hZGQoaGFzaHRhYmxlLCBcXHUwMDI2bW1fc2xvdC1cXHUwMDNlaGFzaCwgKHVuc2lnbmVkIGxvbmcpbW0pO1xcdFxcdCAgICAgICBcXFxcXFxuIH0pXFxuIFxcbitzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9yZW1vdmUoc3RydWN0IG1tX3Nsb3QgKnNsb3QpXFxuK3tcXG4rXFx0aGFzaF9kZWwoXFx1MDAyNnNsb3QtXFx1MDAzZWhhc2gpO1xcbitcXHRsaXN0X2RlbChcXHUwMDI2c2xvdC1cXHUwMDNlbW1fbm9kZSk7XFxuK31cXG4gI2VuZGlmIC8qIF9MSU5VWF9NTV9TTE9UX0ggKi9cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMDc6MzM6MzguNTY4MjIyOTc2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo3MzcwNTQwMDE4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGZkNDMwOTQ1OWU2NWRlNjA4OWZhMGQ4ZDYzZTEzYzY3OTFhZDYzYzZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1bCAxMyAwNzozMzozNiAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL21tL2todWdlcGFnZWQuYyBiL21tL2todWdlcGFnZWQuY1xuaW5kZXggNDVlODI0NWQ4MGRhZGYuLjI3ZThmMzA3N2U4MGZlIDEwMDY0NFxuLS0tIGEvbW0va2h1Z2VwYWdlZC5jXG4rKysgYi9tbS9raHVnZXBhZ2VkLmNcbkBAIC02MDYsOCArNjA2LDcgQEAgdm9pZCBfX2todWdlcGFnZWRfZXhpdChzdHJ1Y3QgbW1fc3RydWN0ICptbSlcbiBcdHNwaW5fbG9jayhcdTAwMjZraHVnZXBhZ2VkX21tX2xvY2spO1xuIFx0c2xvdCA9IG1tX3Nsb3RfbG9va3VwKG1tX3Nsb3RzX2hhc2gsIG1tKTtcbiBcdGlmIChzbG90IFx1MDAyNlx1MDAyNiBraHVnZXBhZ2VkX3NjYW4ubW1fc2xvdCAhPSBzbG90KSB7XG4tXHRcdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG4tXHRcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4rXHRcdG1tX3Nsb3RfcmVtb3ZlKHNsb3QpO1xuIFx0XHRmcmVlID0gMTtcbiBcdH1cbiBcdHNwaW5fdW5sb2NrKFx1MDAyNmtodWdlcGFnZWRfbW1fbG9jayk7XG5AQCAtMTgwMiw4ICsxODAxLDcgQEAgc3RhdGljIHZvaWQgY29sbGVjdF9tbV9zbG90KHN0cnVjdCBtbV9zbG90ICpzbG90KVxuIFxuIFx0aWYgKGNvbGxhcHNlX3Rlc3RfZXhpdChtbSkpIHtcbiBcdFx0LyogZnJlZSBtbV9zbG90ICovXG4tXHRcdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG4tXHRcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4rXHRcdG1tX3Nsb3RfcmVtb3ZlKHNsb3QpO1xuIFxuIFx0XHQvKlxuIFx0XHQgKiBOb3Qgc3RyaWN0bHkgbmVlZGVkIGJlY2F1c2UgdGhlIG1tIGV4aXRlZCBhbHJlYWR5LlxuZGlmZiAtLWdpdCBhL21tL2tzbS5jIGIvbW0va3NtLmNcbmluZGV4IDE0NTUwZjY5Y2YwMjBjLi40NzAwNmY0OTRmY2IxYiAxMDA2NDRcbi0tLSBhL21tL2tzbS5jXG4rKysgYi9tbS9rc20uY1xuQEAgLTEyNTcsOCArMTI1Nyw3IEBAIHN0YXRpYyBpbnQgdW5tZXJnZV9hbmRfcmVtb3ZlX2FsbF9ybWFwX2l0ZW1zKHZvaWQpXG4gXHRcdFx0XHQgIHN0cnVjdCBtbV9zbG90LCBtbV9ub2RlKTtcbiBcdFx0a3NtX3NjYW4ubW1fc2xvdCA9IG1tX3Nsb3RfZW50cnkoc2xvdCwgc3RydWN0IGtzbV9tbV9zbG90LCBzbG90KTtcbiBcdFx0aWYgKGtzbV90ZXN0X2V4aXQobW0pKSB7XG4tXHRcdFx0aGFzaF9kZWwoXHUwMDI2bW1fc2xvdC1cdTAwM2VzbG90Lmhhc2gpO1xuLVx0XHRcdGxpc3RfZGVsKFx1MDAyNm1tX3Nsb3QtXHUwMDNlc2xvdC5tbV9ub2RlKTtcbitcdFx0XHRtbV9zbG90X3JlbW92ZShcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QpO1xuIFx0XHRcdHNwaW5fdW5sb2NrKFx1MDAyNmtzbV9tbWxpc3RfbG9jayk7XG4gXG4gXHRcdFx0bW1fc2xvdF9mcmVlKG1tX3Nsb3RfY2FjaGUsIG1tX3Nsb3QpO1xuQEAgLTI3NzIsOCArMjc3MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qga3NtX3JtYXBfaXRlbSAqc2Nhbl9nZXRfbmV4dF9ybWFwX2l0ZW0oc3RydWN0IHBhZ2UgKipwYWdlKVxuIFx0XHQgKiBvciB3aGVuIGFsbCBWTV9NRVJHRUFCTEUgYXJlYXMgaGF2ZSBiZWVuIHVubWFwcGVkIChhbmRcbiBcdFx0ICogbW1hcF9sb2NrIHRoZW4gcHJvdGVjdHMgYWdhaW5zdCByYWNlIHdpdGggTUFEVl9NRVJHRUFCTEUpLlxuIFx0XHQgKi9cbi1cdFx0aGFzaF9kZWwoXHUwMDI2bW1fc2xvdC1cdTAwM2VzbG90Lmhhc2gpO1xuLVx0XHRsaXN0X2RlbChcdTAwMjZtbV9zbG90LVx1MDAzZXNsb3QubW1fbm9kZSk7XG4rXHRcdG1tX3Nsb3RfcmVtb3ZlKFx1MDAyNm1tX3Nsb3QtXHUwMDNlc2xvdCk7XG4gXHRcdHNwaW5fdW5sb2NrKFx1MDAyNmtzbV9tbWxpc3RfbG9jayk7XG4gXG4gXHRcdG1tX3Nsb3RfZnJlZShtbV9zbG90X2NhY2hlLCBtbV9zbG90KTtcbkBAIC0zMTE2LDggKzMxMTQsNyBAQCB2b2lkIF9fa3NtX2V4aXQoc3RydWN0IG1tX3N0cnVjdCAqbW0pXG4gXHRpZiAoa3NtX3NjYW4ubW1fc2xvdCA9PSBtbV9zbG90KVxuIFx0XHRnb3RvIHVubG9jaztcbiBcdGlmICghbW1fc2xvdC1cdTAwM2VybWFwX2xpc3QpIHtcbi1cdFx0aGFzaF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VoYXNoKTtcbi1cdFx0bGlzdF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlKTtcbitcdFx0bW1fc2xvdF9yZW1vdmUoc2xvdCk7XG4gXHRcdGVhc3lfdG9fZnJlZSA9IDE7XG4gXHR9IGVsc2Uge1xuIFx0XHRsaXN0X21vdmUoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlLFxuZGlmZiAtLWdpdCBhL21tL21tX3Nsb3QuaCBiL21tL21tX3Nsb3QuaFxuaW5kZXggODNmMThlZDFjNGJkZTcuLjcxMGM3MDE2NmM3OTM3IDEwMDY0NFxuLS0tIGEvbW0vbW1fc2xvdC5oXG4rKysgYi9tbS9tbV9zbG90LmhcbkBAIC0zMywxMiArMzMsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIG1tX3Nsb3RfZnJlZShzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9ianApXG4gXHRrbWVtX2NhY2hlX2ZyZWUoY2FjaGUsIG9ianApO1xuIH1cbiBcbi0jZGVmaW5lIG1tX3Nsb3RfbG9va3VwKF9oYXNodGFibGUsIF9tbSkgXHRcdFx0XHQgICAgICAgXFxcbisvKlxuKyAqIE5vdGU6IG1tX3Nsb3RfbG9va3VwIGFuZCBtbV9zbG90X2luc2VydCBjYW5ub3QgYmUgY29udmVydGVkIHRvIHN0YXRpYyBpbmxpbmVcbisgKiBmdW5jdGlvbnMgYmVjYXVzZSBoYXNoX2Zvcl9lYWNoX3Bvc3NpYmxlIHJlbHlzIG9uIHRoZSBhY3R1YWwgYXJyYXkgYXJndW1lbnRcbisgKiAnaGFzaHRhYmxlJyBmb3Igc2l6ZW9mKCkgaW5zdGVhZCBvZiBwb2ludGVycy5cbisgKi9cbisjZGVmaW5lIG1tX3Nsb3RfbG9va3VwKGhhc2h0YWJsZSwgbW0pXHRcdFx0XHRcdCAgICAgICBcXFxuICh7XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4gXHRzdHJ1Y3QgbW1fc2xvdCAqdG1wX3Nsb3QsICptbV9zbG90ID0gTlVMTDtcdFx0XHQgICAgICAgXFxcbiBcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbi1cdGhhc2hfZm9yX2VhY2hfcG9zc2libGUoX2hhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKV9tbSkgXFxcbi1cdFx0aWYgKF9tbSA9PSB0bXBfc2xvdC1cdTAwM2VtbSkge1x0XHRcdFx0ICAgICAgIFxcXG4rXHRoYXNoX2Zvcl9lYWNoX3Bvc3NpYmxlKGhhc2h0YWJsZSwgdG1wX3Nsb3QsIGhhc2gsICh1bnNpZ25lZCBsb25nKW1tKSAgIFxcXG4rXHRcdGlmIChtbSA9PSB0bXBfc2xvdC1cdTAwM2VtbSkge1x0XHRcdFx0ICAgICAgIFxcXG4gXHRcdFx0bW1fc2xvdCA9IHRtcF9zbG90O1x0XHRcdFx0ICAgICAgIFxcXG4gXHRcdFx0YnJlYWs7XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4gXHRcdH1cdFx0XHRcdFx0XHRcdCAgICAgICBcXFxuQEAgLTQ2LDEwICs1MSwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9mcmVlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwgdm9pZCAqb2JqcClcbiBcdG1tX3Nsb3Q7XHRcdFx0XHRcdFx0XHQgICAgICAgXFxcbiB9KVxuIFxuLSNkZWZpbmUgbW1fc2xvdF9pbnNlcnQoX2hhc2h0YWJsZSwgX21tLCBfbW1fc2xvdClcdFx0XHQgICAgICAgXFxcbisjZGVmaW5lIG1tX3Nsb3RfaW5zZXJ0KGhhc2h0YWJsZSwgbW0sIG1tX3Nsb3QpXHRcdFx0XHQgICAgICAgXFxcbiAoe1x0XHRcdFx0XHRcdFx0XHRcdCAgICAgICBcXFxuLVx0X21tX3Nsb3QtXHUwMDNlbW0gPSBfbW07XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4tXHRoYXNoX2FkZChfaGFzaHRhYmxlLCBcdTAwMjZfbW1fc2xvdC1cdTAwM2VoYXNoLCAodW5zaWduZWQgbG9uZylfbW0pO1x0ICAgICAgIFxcXG4rXHRtbV9zbG90LVx1MDAzZW1tID0gbW07XHRcdFx0XHRcdFx0ICAgICAgIFxcXG4rXHRoYXNoX2FkZChoYXNodGFibGUsIFx1MDAyNm1tX3Nsb3QtXHUwMDNlaGFzaCwgKHVuc2lnbmVkIGxvbmcpbW0pO1x0XHQgICAgICAgXFxcbiB9KVxuIFxuK3N0YXRpYyBpbmxpbmUgdm9pZCBtbV9zbG90X3JlbW92ZShzdHJ1Y3QgbW1fc2xvdCAqc2xvdClcbit7XG4rXHRoYXNoX2RlbChcdTAwMjZzbG90LVx1MDAzZWhhc2gpO1xuK1x0bGlzdF9kZWwoXHUwMDI2c2xvdC1cdTAwM2VtbV9ub2RlKTtcbit9XG4gI2VuZGlmIC8qIF9MSU5VWF9NTV9TTE9UX0ggKi9cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEzVDA3OjMzOjM4LjU2ODIyNDgwNloiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjczNzA1MTM3NDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUmVmYWN0b3JpbmcgUmV2aWV3OiBtbV9zbG90IEhlbHBlciBGdW5jdGlvbioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2guIEl0IHNlZW1zIGxpa2UgYSBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkIHJlZmFjdG9yaW5nIGV4ZXJjaXNlLiBUaGV5J3ZlIGludHJvZHVjZWQgYSBuZXcgaGVscGVyIGZ1bmN0aW9uLCBgbW1fc2xvdF9yZW1vdmVgLCBpbiBgbW0vbW1fc2xvdC5oYC4gQW5kIHRoZSBwcmltYXJ5IGNoYW5nZSBpbnZvbHZlcyByZXBsYWNpbmcgdGhvc2UgdHdvIGxpbmVzIG9mIGNvZGUg4oCTIHRoZSBgaGFzaF9kZWxgIGFuZCBgbGlzdF9kZWxgIGNhbGxzIGZvciB0aGUgYG1tX3Nsb3RgIOKAkyB3aXRoIGEgY2FsbCB0byB0aGlzIG5ldyBoZWxwZXIgZnVuY3Rpb24uIFRoaXMgcmVwbGFjZW1lbnQgaGFwcGVucyBpbiBib3RoIGBtbS9raHVnZXBhZ2VkLmNgIGFuZCBgbW0va3NtLmNgLiBBZGRpdGlvbmFsbHksIHRoZXkndmUgcmVuYW1lZCBhIGZldyBhcmd1bWVudHMgaW4gdGhlIGBtbV9zbG90X2xvb2t1cGAgYW5kIGBtbV9zbG90X2luc2VydGAgbWFjcm9zIGluIHRoZSBzYW1lIGhlYWRlciBmaWxlLCByZW1vdmluZyB0aGUgbGVhZGluZyB1bmRlcnNjb3Jlcy5cblxuTXkgZmlyc3QgdGhvdWdodCBpcyBhbHdheXMsIFwiSXMgdGhpcyB3b3J0aCBmdXp6aW5nP1wiIExldCdzIGFuYWx5emUuIFRoZXJlIGFyZSBubyBjaGFuZ2VzIHRvIHRoZSBleGVjdXRpb24gZmxvdzsgaXQncyBwdXJlbHkgYWJvdXQgY29kZSBvcmdhbml6YXRpb24gYW5kIHJlYWRhYmlsaXR5LiBUaGUgaW50cm9kdWNlZCBmdW5jdGlvbiBzaW1wbHkgZW5jYXBzdWxhdGVzIHR3byByZXBlYXRlZCBsaW5lcy4gRnVuY3Rpb25hbGx5LCB0aGUgc3lzdGVtIGJlaGF2ZXMgZXhhY3RseSB0aGUgc2FtZS4gTm8gbmV3IHZ1bG5lcmFiaWxpdGllcyBhcmUgbGlrZWx5IHRvIGFyaXNlIGZyb20gdGhpcy5cblxuSSdsbCBkb3VibGUtY2hlY2sgdGhlIGFjdHVhbCBjb2RlIGNoYW5nZXMuIFllcCwgaXQncyBqdXN0IGFzIEkgZXhwZWN0ZWQuIFRoZXkndmUgZXNzZW50aWFsbHkgcmVwbGFjZWQgdGhlIGlubGluZSBgaGFzaF9kZWxgIGFuZCBgbGlzdF9kZWxgIHdpdGggdGhlIGhlbHBlci4gSSBjYW4gc2VlIHRoZSBleGFjdCBjb2RlIGluIHRoZSBkaWZmOlxuXG5gYGBjXG5zdGF0aWMgaW5saW5lIHZvaWQgbW1fc2xvdF9yZW1vdmUoc3RydWN0IG1tX3Nsb3QgKnNsb3QpXG57XG5cdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG5cdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG59XG5gYGBcblxuVGhlbiBpbiBib3RoIGBraHVnZXBhZ2VkLmNgIGFuZCBga3NtLmNgOlxuXG5gYGBjXG4tXHRcdGhhc2hfZGVsKFx1MDAyNnNsb3QtXHUwMDNlaGFzaCk7XG4tXHRcdGxpc3RfZGVsKFx1MDAyNnNsb3QtXHUwMDNlbW1fbm9kZSk7XG4rXHRcdG1tX3Nsb3RfcmVtb3ZlKHNsb3QpO1xuYGBgXG5cblRoaXMgaXMgcHVyZWx5IGEgcmVmYWN0b3Jpbmcgb3BlcmF0aW9uLiBJdCBpc24ndCBnb2luZyB0byBoYXZlIGFueSBpbXBhY3Qgb24gZnVuY3Rpb25hbCBiZWhhdmlvciBvciBpbnRyb2R1Y2UgYW55IHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcy4gVGh1cywgSSdtIGNvbmZpZGVudCBpbiBzZXR0aW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMTUzLCJPdXRwdXRUb2tlbnMiOjk0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzAyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTNUMDc6MzM6NDUuOTM4NzQxMDI0WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMDMyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgdGhhdCBpbnRyb2R1Y2VzIGEgaGVscGVyIGZ1bmN0aW9uIGBtbV9zbG90X3JlbW92ZWAgdG8gcmVwbGFjZSByZXBlYXRlZCBjb2RlIGZvciByZW1vdmluZyBhbiBgbW1fc2xvdGAgZnJvbSBhIGhhc2ggdGFibGUgYW5kIGEgbGlzdC4gSXQgYWxzbyByZW5hbWVzIG1hY3JvIGFyZ3VtZW50cyBpbiBgbW1fc2xvdC5oYC4gVGhlcmUgYXJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUgZXhlY3V0aW9uIGZsb3cuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },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-workflowsc922[1] Phase: Running StartedAt: 2026-07-13 07:34:35 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsc922[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-07-13 07:34:35 +0000 UTC FinishedAt: 2026-07-13 07:35:14 +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,}