Name: series-workflowf8qvb Phase: Failed StartedAt: 2026-06-29 16:42:25 +0000 UTC FinishedAt: 2026-06-29 16:57:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflowf8qvb[0] Phase: Succeeded StartedAt: 2026-06-29 16:42:25 +0000 UTC FinishedAt: 2026-06-29 16:57:16 +0000 UTC Input: nil Output: nil --------- Name: series-workflowf8qvb[0].run-triage Phase: Succeeded StartedAt: 2026-06-29 16:42:25 +0000 UTC FinishedAt: 2026-06-29 16:57:16 +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+CgkJCTx0ZD4yMDI2LzA2LzI5IDE2OjU2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjkgMTY6NTY8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAxOWQzMzEwMWM5NWFkOWUwMTI0NzM3M2JmZGQ4Y2YyMzYwNDVhYjhhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdW4gMjkgMTY6NTY6MTYgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmggYi9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaFxuaW5kZXggODg2MGNjMjE3NWZjMWMuLjFiM2IwNmVkYTg4NjVjIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhcbiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbmV0L25laWdoYm91ci5oXG5AQCAtNDM4LDYgJiM0Mzs0MzgsOCBAQCBpbnQgbmVpZ2hfc3lzY3RsX3JlZ2lzdGVyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBuZWlnaF9wYXJtcyAqcCxcbiBcdFx0XHQgIHByb2NfaGFuZGxlciAqcHJvY19oYW5kbGVyKTtcbiB2b2lkIG5laWdoX3N5c2N0bF91bnJlZ2lzdGVyKHN0cnVjdCBuZWlnaF9wYXJtcyAqcCk7XG4gXG4mIzQzO3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldik7XG4mIzQzO1xuIHN0YXRpYyBpbmxpbmUgdm9pZCBfX25laWdoX3Bhcm1zX3B1dChzdHJ1Y3QgbmVpZ2hfcGFybXMgKnBhcm1zKVxuIHtcbiBcdHJlZmNvdW50X2RlYyhcdTAwMjZwYXJtcy1cdTAwM2VyZWZjbnQpO1xuZGlmZiAtLWdpdCBhL25ldC9jb3JlL25laWdoYm91ci5jIGIvbmV0L2NvcmUvbmVpZ2hib3VyLmNcbmluZGV4IDEzNDljMGVlZGI2NDI1Li42ZDMyYzI2NjhhZjM4MyAxMDA2NDRcbi0tLSBhL25ldC9jb3JlL25laWdoYm91ci5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvY29yZS9uZWlnaGJvdXIuY1xuQEAgLTE3NTcsNiAmIzQzOzE3NTcsMTQgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgbmVpZ2hfcGFybXMgKmxvb2t1cF9uZWlnaF9wYXJtcyhzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCxcbiBcdHJldHVybiBOVUxMO1xuIH1cbiBcbiYjNDM7LyogQ2FsbGVyIG11c3QgaG9sZCByY3VfcmVhZF9sb2NrKCkqL1xuJiM0MztcbiYjNDM7c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIGxvb2t1cF9uZWlnaF9wYXJtcyh0YmwsIGRldl9uZXQoZGV2KSwgZGV2LVx1MDAzZWlmaW5kZXgpO1xuJiM0Mzt9XG4mIzQzO0VYUE9SVF9TWU1CT0wobmVpZ2hfcGFybXNfbG9va3VwX2Rldik7XG4mIzQzO1xuIHN0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfYWxsb2Moc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbiBcdFx0XHRcdCAgICAgIHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsKVxuIHtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAxNjo1NjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IGFkZHMgYSBuZXcgZXhwb3J0ZWQgZnVuY3Rpb24gYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgIHdoaWNoIGlzIGN1cnJlbnRseSB1bnVzZWQgYW55d2hlcmUgaW4gdGhlIGtlcm5lbCB0cmVlLiBTaW5jZSBpdCBoYXMgbm8gY2FsbGVycywgaXQgaXMgdW5yZWFjaGFibGUgYW5kIGNhbm5vdCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAxOWQzMzEwMWM5NWFkOWUwMTI0NzM3M2JmZGQ4Y2YyMzYwNDVhYjhhCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIE1vbiBKdW4gMjkgMTY6NTY6MTYgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaCBiL2luY2x1ZGUvbmV0L25laWdoYm91ci5oCmluZGV4IDg4NjBjYzIxNzVmYzFjLi4xYjNiMDZlZGE4ODY1YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmgKJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmgKQEAgLTQzOCw2ICYjNDM7NDM4LDggQEAgaW50IG5laWdoX3N5c2N0bF9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmVpZ2hfcGFybXMgKnAsCiAJCQkgIHByb2NfaGFuZGxlciAqcHJvY19oYW5kbGVyKTsKIHZvaWQgbmVpZ2hfc3lzY3RsX3VucmVnaXN0ZXIoc3RydWN0IG5laWdoX3Bhcm1zICpwKTsKIAomIzQzO3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiYjNDM7CiBzdGF0aWMgaW5saW5lIHZvaWQgX19uZWlnaF9wYXJtc19wdXQoc3RydWN0IG5laWdoX3Bhcm1zICpwYXJtcykKIHsKIAlyZWZjb3VudF9kZWMoJmFtcDtwYXJtcy0mZ3Q7cmVmY250KTsKZGlmZiAtLWdpdCBhL25ldC9jb3JlL25laWdoYm91ci5jIGIvbmV0L2NvcmUvbmVpZ2hib3VyLmMKaW5kZXggMTM0OWMwZWVkYjY0MjUuLjZkMzJjMjY2OGFmMzgzIDEwMDY0NAotLS0gYS9uZXQvY29yZS9uZWlnaGJvdXIuYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvY29yZS9uZWlnaGJvdXIuYwpAQCAtMTc1Nyw2ICYjNDM7MTc1NywxNCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBuZWlnaF9wYXJtcyAqbG9va3VwX25laWdoX3Bhcm1zKHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLAogCXJldHVybiBOVUxMOwogfQogCiYjNDM7LyogQ2FsbGVyIG11c3QgaG9sZCByY3VfcmVhZF9sb2NrKCkqLwomIzQzOwomIzQzO3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKJiM0Mzt7CiYjNDM7CXJldHVybiBsb29rdXBfbmVpZ2hfcGFybXModGJsLCBkZXZfbmV0KGRldiksIGRldi0mZ3Q7aWZpbmRleCk7CiYjNDM7fQomIzQzO0VYUE9SVF9TWU1CT0wobmVpZ2hfcGFybXNfbG9va3VwX2Rldik7CiYjNDM7CiBzdHJ1Y3QgbmVpZ2hfcGFybXMgKm5laWdoX3Bhcm1zX2FsbG9jKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQkJICAgICAgc3RydWN0IG5laWdoX3RhYmxlICp0YmwpCiB7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI5IDE2OjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIwOTcKCQkJCQkJCW91dHB1dDogMjIKCQkJCQkJCXRob3VnaHRzOiAxMjIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTmV3IEZ1bmN0aW9uOiBuZWlnaF9wYXJtc19sb29rdXBfZGV2KioKCk9rYXksIHNvIHRoZXJlJiMzOTtzIGEgbmV3IHBhdGNoLCBhbmQgaXQgbG9va3MgbGlrZSBpdCBpbnRyb2R1Y2VzIGEgbmV3LCBleHBvcnRlZCBmdW5jdGlvbiBjYWxsZWQgYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgLiBJdCYjMzk7cyBkZWZpbmVkIGluIGBuZXQvY29yZS9uZWlnaGJvdXIuY2AgYW5kIGRlY2xhcmVkIGluIGBpbmNsdWRlL25ldC9uZWlnaGJvdXIuaGAuIFRoZSBmdW5jdGlvbiBpdHNlbGYgc2VlbXMgdG8gYmUgYSB3cmFwcGVyIGFyb3VuZCBgbG9va3VwX25laWdoX3Bhcm1zYC4gSG1tLCBpbnRlcmVzdGluZy4KCk15IGZpcnN0IHRob3VnaHQgaXMgYWx3YXlzLCAmIzM0O1doZXJlIGlzIHRoaXMgdXNlZD8mIzM0OyBJZiB0aGlzIGlzIGEgc3RhbmRhbG9uZSBhZGRpdGlvbiwgYW5kIGl0JiMzOTtzICpub3QqIGN1cnJlbnRseSBiZWluZyB1dGlsaXplZCBieSBhbnl0aGluZyBpbiB0aGUga2VybmVsLCB0aGVuIGl0IG1pZ2h0IG5vdCBiZSBhIGhpZ2ggcHJpb3JpdHkgZm9yIGltbWVkaWF0ZSBmdXp6aW5nLiBJdCBjb3VsZCBiZSBkZWFkIGNvZGUsIG9yIHBlcmhhcHMgcGFydCBvZiBhIGxhcmdlciwgc3RpbGwtaW4tcHJvZ3Jlc3MgcGF0Y2ggc2VyaWVzLiBUaGUgZG9jdW1lbnRhdGlvbiBvbmx5IG1lbnRpb25zIHRoZSBhZGRpdGlvbiBvZiB0aGUgZnVuY3Rpb24uIExldCYjMzk7cyBzdGFydCB3aXRoIGEgc2VhcmNoIHRocm91Z2ggdGhlIGtlcm5lbCBjb2RlYmFzZSB0byBzZWUgaWYgYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgIGlzIGFjdHVhbGx5IGNhbGxlZCBhbnl3aGVyZS4gVGhhdCB3aWxsIGRpY3RhdGUgd2hlcmUgdG8gZ28gbmV4dC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAxNjo1NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuZWlnaF9wYXJtc19sb29rdXBfZGV2JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbmV0L25laWdoYm91ci5oPTQzOT12b2lkIG5laWdoX3N5c2N0bF91bnJlZ2lzdGVyKHN0cnVjdCBuZWlnaF9wYXJtcyAqcCk7XG5pbmNsdWRlL25ldC9uZWlnaGJvdXIuaC00NDAtXG5pbmNsdWRlL25ldC9uZWlnaGJvdXIuaDo0NDE6c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTtcbmluY2x1ZGUvbmV0L25laWdoYm91ci5oLTQ0Mi1cbi0tXG5uZXQvY29yZS9uZWlnaGJvdXIuYz0xNzQ2PXN0YXRpYyBpbmxpbmUgc3RydWN0IG5laWdoX3Bhcm1zICpsb29rdXBfbmVpZ2hfcGFybXMoc3RydWN0IG5laWdoX3RhYmxlICp0YmwsXG4tLVxubmV0L2NvcmUvbmVpZ2hib3VyLmMtMTc2MS1cbm5ldC9jb3JlL25laWdoYm91ci5jOjE3NjI6c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxubmV0L2NvcmUvbmVpZ2hib3VyLmMtMTc2My17XG4tLVxubmV0L2NvcmUvbmVpZ2hib3VyLmMtMTc2NS19XG5uZXQvY29yZS9uZWlnaGJvdXIuYzoxNzY2OkVYUE9SVF9TWU1CT0wobmVpZ2hfcGFybXNfbG9va3VwX2Rldik7XG5uZXQvY29yZS9uZWlnaGJvdXIuYy0xNzY3LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI5IDE2OjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI3MjkKCQkJCQkJCW91dHB1dDogNzUKCQkJCQkJCXRob3VnaHRzOiAyOTEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqVW51c2VkIEZ1bmN0aW9uIC0gV29ydGhGdXp6aW5nPUZhbHNlKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGBuZWlnaF9wYXJtc19sb29rdXBfZGV2YCBmdW5jdGlvbi4gVGhlIGZpcnN0IHRoaW5nIHRoYXQganVtcHMgb3V0IGlzIHRoYXQgaXQmIzM5O3MganVzdCBiZWluZyBhZGRlZCBhbmQgZXhwb3J0ZWQsIGJ1dCBpdCBkb2VzbiYjMzk7dCBzZWVtIHRvIGJlIHVzZWQgYW55d2hlcmUgd2l0aGluIHRoZSBwcm92aWRlZCBwYXRjaC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJiMzOTttIG5vdCBtaXNzaW5nIHNvbWV0aGluZzsgcGVyaGFwcyBhbm90aGVyIHBhdGNoIGluIHRoZSBzZXJpZXMgY2FsbHMgaXQ/IEJ1dCB0aGUgZGVzY3JpcHRpb24gc2F5cyBpdCYjMzk7cyBvbmx5IG9uZSBjb21taXQuCgpJJiMzOTt2ZSBjaGVja2VkIHRoZSBncmVwcGVyIG91dHB1dCwgd2hpY2ggb25seSBzaG93cyB0aGUgZGVjbGFyYXRpb24gYW5kIHRoZSBkZWZpbml0aW9uIHdpdGhpbiBgaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhgIGFuZCBgbmV0L2NvcmUvbmVpZ2hib3VyLmNgIHJlc3BlY3RpdmVseS4gVGhlcmVmb3JlLCB0aGlzIGZ1bmN0aW9uIGlzICpkZWZpbml0ZWx5KiBub3QgYmVpbmcgY2FsbGVkIGFueXdoZXJlIHdpdGhpbiB0aGUgY29kZWJhc2UgdGhhdCAqSSogaGF2ZSBhY2Nlc3MgdG8uCgpTbywgdGhlIHF1ZXN0aW9uIGlzLCBpcyB0aGlzIHdvcnRoIGZ1enppbmc/IEhvbmVzdGx5LCBuby4gSWYgdGhlIGZ1bmN0aW9uIGlzIG5ldmVyIGNhbGxlZCwgdGhlbiBpdCYjMzk7cyB1bnJlYWNoYWJsZSwgcGVyaW9kLiBGdXp6aW5nIGl0IHdvdWxkIGJlIGEgd2FzdGUgb2YgcmVzb3VyY2VzIHVubGVzcyBpdCBpcyBjYWxsZWQgc29tZXdoZXJlIHRoYXQgKkkqIGRvIG5vdCBoYXZlIGFjY2VzcyB0by4gSXQgY291bGQgYmUgY2FsbGVkIGJ5IGFuIG91dC1vZi10cmVlIG1vZHVsZSwgYnV0IEkmIzM5O20gb25seSByZXZpZXdpbmcgdGhpcyBzaW5nbGUgcGF0Y2guCgpIYW5nIG9uLi4uIGNvdWxkIHRoaXMgYmUgYSBmaXggZm9yIHNvbWV0aGluZyB0aGF0ICphbHJlYWR5KiBleGlzdHMgdW5kZXIgYSBkaWZmZXJlbnQgbmFtZT8gTm8sIHRoaXMgcGF0Y2ggaXMgKmFkZGluZyogdGhlIGZ1bmN0aW9uLCBub3QgY2hhbmdpbmcgYSBjYWxsZXIuIEFsc28sIHRoZXJlIGFyZSBubyBvdGhlciBjaGFuZ2VzIGluIHRoaXMgY29tbWl0IGJlc2lkZXMgdGhlIGFkZGl0aW9uIG9mIGBuZWlnaF9wYXJtc19sb29rdXBfZGV2YC4KCkFscmlnaHQsIEkmIzM5O20gY29uZmlkZW50LiBJJiMzOTttIGdvaW5nIHRvIHNldCBgV29ydGhGdXp6aW5nPWZhbHNlYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAxNjo1NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNi0yOVQxNjo1NjoxOS45MTQxNzY4NjVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMzMwODU3NjEyNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgbmV3IGV4cG9ydGVkIGZ1bmN0aW9uIGBuZWlnaF9wYXJtc19sb29rdXBfZGV2YCB3aGljaCBpcyBjdXJyZW50bHkgdW51c2VkIGFueXdoZXJlIGluIHRoZSBrZXJuZWwgdHJlZS4gU2luY2UgaXQgaGFzIG5vIGNhbGxlcnMsIGl0IGlzIHVucmVhY2hhYmxlIGFuZCBjYW5ub3QgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6MTkuOTE0MTg0MTg1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NzkxNDczMjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAxOWQzMzEwMWM5NWFkOWUwMTI0NzM3M2JmZGQ4Y2YyMzYwNDVhYjhhXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBNb24gSnVuIDI5IDE2OjU2OjE2IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L25laWdoYm91ci5oIGIvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhcXG5pbmRleCA4ODYwY2MyMTc1ZmMxYy4uMWIzYjA2ZWRhODg2NWMgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhcXG4rKysgYi9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaFxcbkBAIC00MzgsNiArNDM4LDggQEAgaW50IG5laWdoX3N5c2N0bF9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmVpZ2hfcGFybXMgKnAsXFxuIFxcdFxcdFxcdCAgcHJvY19oYW5kbGVyICpwcm9jX2hhbmRsZXIpO1xcbiB2b2lkIG5laWdoX3N5c2N0bF91bnJlZ2lzdGVyKHN0cnVjdCBuZWlnaF9wYXJtcyAqcCk7XFxuIFxcbitzdHJ1Y3QgbmVpZ2hfcGFybXMgKm5laWdoX3Bhcm1zX2xvb2t1cF9kZXYoc3RydWN0IG5laWdoX3RhYmxlICp0YmwsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpO1xcbitcXG4gc3RhdGljIGlubGluZSB2b2lkIF9fbmVpZ2hfcGFybXNfcHV0KHN0cnVjdCBuZWlnaF9wYXJtcyAqcGFybXMpXFxuIHtcXG4gXFx0cmVmY291bnRfZGVjKFxcdTAwMjZwYXJtcy1cXHUwMDNlcmVmY250KTtcXG5kaWZmIC0tZ2l0IGEvbmV0L2NvcmUvbmVpZ2hib3VyLmMgYi9uZXQvY29yZS9uZWlnaGJvdXIuY1xcbmluZGV4IDEzNDljMGVlZGI2NDI1Li42ZDMyYzI2NjhhZjM4MyAxMDA2NDRcXG4tLS0gYS9uZXQvY29yZS9uZWlnaGJvdXIuY1xcbisrKyBiL25ldC9jb3JlL25laWdoYm91ci5jXFxuQEAgLTE3NTcsNiArMTc1NywxNCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBuZWlnaF9wYXJtcyAqbG9va3VwX25laWdoX3Bhcm1zKHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLFxcbiBcXHRyZXR1cm4gTlVMTDtcXG4gfVxcbiBcXG4rLyogQ2FsbGVyIG11c3QgaG9sZCByY3VfcmVhZF9sb2NrKCkqL1xcbitcXG4rc3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbit7XFxuK1xcdHJldHVybiBsb29rdXBfbmVpZ2hfcGFybXModGJsLCBkZXZfbmV0KGRldiksIGRldi1cXHUwMDNlaWZpbmRleCk7XFxuK31cXG4rRVhQT1JUX1NZTUJPTChuZWlnaF9wYXJtc19sb29rdXBfZGV2KTtcXG4rXFxuIHN0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfYWxsb2Moc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4gXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IG5laWdoX3RhYmxlICp0YmwpXFxuIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6MjAuNDk0MzAyNjI4WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjcyODQzOTI4MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgbmV3IGV4cG9ydGVkIGZ1bmN0aW9uIGBuZWlnaF9wYXJtc19sb29rdXBfZGV2YCB3aGljaCBpcyBjdXJyZW50bHkgdW51c2VkIGFueXdoZXJlIGluIHRoZSBrZXJuZWwgdHJlZS4gU2luY2UgaXQgaGFzIG5vIGNhbGxlcnMsIGl0IGlzIHVucmVhY2hhYmxlIGFuZCBjYW5ub3QgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAxOWQzMzEwMWM5NWFkOWUwMTI0NzM3M2JmZGQ4Y2YyMzYwNDVhYjhhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdW4gMjkgMTY6NTY6MTYgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaCBiL2luY2x1ZGUvbmV0L25laWdoYm91ci5oXG5pbmRleCA4ODYwY2MyMTc1ZmMxYy4uMWIzYjA2ZWRhODg2NWMgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaFxuKysrIGIvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhcbkBAIC00MzgsNiArNDM4LDggQEAgaW50IG5laWdoX3N5c2N0bF9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmVpZ2hfcGFybXMgKnAsXG4gXHRcdFx0ICBwcm9jX2hhbmRsZXIgKnByb2NfaGFuZGxlcik7XG4gdm9pZCBuZWlnaF9zeXNjdGxfdW5yZWdpc3RlcihzdHJ1Y3QgbmVpZ2hfcGFybXMgKnApO1xuIFxuK3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldik7XG4rXG4gc3RhdGljIGlubGluZSB2b2lkIF9fbmVpZ2hfcGFybXNfcHV0KHN0cnVjdCBuZWlnaF9wYXJtcyAqcGFybXMpXG4ge1xuIFx0cmVmY291bnRfZGVjKFx1MDAyNnBhcm1zLVx1MDAzZXJlZmNudCk7XG5kaWZmIC0tZ2l0IGEvbmV0L2NvcmUvbmVpZ2hib3VyLmMgYi9uZXQvY29yZS9uZWlnaGJvdXIuY1xuaW5kZXggMTM0OWMwZWVkYjY0MjUuLjZkMzJjMjY2OGFmMzgzIDEwMDY0NFxuLS0tIGEvbmV0L2NvcmUvbmVpZ2hib3VyLmNcbisrKyBiL25ldC9jb3JlL25laWdoYm91ci5jXG5AQCAtMTc1Nyw2ICsxNzU3LDE0IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IG5laWdoX3Bhcm1zICpsb29rdXBfbmVpZ2hfcGFybXMoc3RydWN0IG5laWdoX3RhYmxlICp0YmwsXG4gXHRyZXR1cm4gTlVMTDtcbiB9XG4gXG4rLyogQ2FsbGVyIG11c3QgaG9sZCByY3VfcmVhZF9sb2NrKCkqL1xuK1xuK3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbit7XG4rXHRyZXR1cm4gbG9va3VwX25laWdoX3Bhcm1zKHRibCwgZGV2X25ldChkZXYpLCBkZXYtXHUwMDNlaWZpbmRleCk7XG4rfVxuK0VYUE9SVF9TWU1CT0wobmVpZ2hfcGFybXNfbG9va3VwX2Rldik7XG4rXG4gc3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19hbGxvYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHRcdFx0ICAgICAgc3RydWN0IG5laWdoX3RhYmxlICp0YmwpXG4ge1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6MjAuNDk0MzA1MTY4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDcyNzU2MjI5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipOZXcgRnVuY3Rpb246IG5laWdoX3Bhcm1zX2xvb2t1cF9kZXYqKlxuXG5Pa2F5LCBzbyB0aGVyZSdzIGEgbmV3IHBhdGNoLCBhbmQgaXQgbG9va3MgbGlrZSBpdCBpbnRyb2R1Y2VzIGEgbmV3LCBleHBvcnRlZCBmdW5jdGlvbiBjYWxsZWQgYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgLiBJdCdzIGRlZmluZWQgaW4gYG5ldC9jb3JlL25laWdoYm91ci5jYCBhbmQgZGVjbGFyZWQgaW4gYGluY2x1ZGUvbmV0L25laWdoYm91ci5oYC4gVGhlIGZ1bmN0aW9uIGl0c2VsZiBzZWVtcyB0byBiZSBhIHdyYXBwZXIgYXJvdW5kIGBsb29rdXBfbmVpZ2hfcGFybXNgLiBIbW0sIGludGVyZXN0aW5nLlxuXG5NeSBmaXJzdCB0aG91Z2h0IGlzIGFsd2F5cywgXCJXaGVyZSBpcyB0aGlzIHVzZWQ/XCIgSWYgdGhpcyBpcyBhIHN0YW5kYWxvbmUgYWRkaXRpb24sIGFuZCBpdCdzICpub3QqIGN1cnJlbnRseSBiZWluZyB1dGlsaXplZCBieSBhbnl0aGluZyBpbiB0aGUga2VybmVsLCB0aGVuIGl0IG1pZ2h0IG5vdCBiZSBhIGhpZ2ggcHJpb3JpdHkgZm9yIGltbWVkaWF0ZSBmdXp6aW5nLiBJdCBjb3VsZCBiZSBkZWFkIGNvZGUsIG9yIHBlcmhhcHMgcGFydCBvZiBhIGxhcmdlciwgc3RpbGwtaW4tcHJvZ3Jlc3MgcGF0Y2ggc2VyaWVzLiBUaGUgZG9jdW1lbnRhdGlvbiBvbmx5IG1lbnRpb25zIHRoZSBhZGRpdGlvbiBvZiB0aGUgZnVuY3Rpb24uIExldCdzIHN0YXJ0IHdpdGggYSBzZWFyY2ggdGhyb3VnaCB0aGUga2VybmVsIGNvZGViYXNlIHRvIHNlZSBpZiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgaXMgYWN0dWFsbHkgY2FsbGVkIGFueXdoZXJlLiBUaGF0IHdpbGwgZGljdGF0ZSB3aGVyZSB0byBnbyBuZXh0LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDk3LCJPdXRwdXRUb2tlbnMiOjIyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTIyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6MjUuMjIxODY5OTE1WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQzNTQyODU0MzMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibmVpZ2hfcGFybXNfbG9va3VwX2RldlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJpbmNsdWRlL25ldC9uZWlnaGJvdXIuaD00Mzk9dm9pZCBuZWlnaF9zeXNjdGxfdW5yZWdpc3RlcihzdHJ1Y3QgbmVpZ2hfcGFybXMgKnApO1xcbmluY2x1ZGUvbmV0L25laWdoYm91ci5oLTQ0MC1cXG5pbmNsdWRlL25ldC9uZWlnaGJvdXIuaDo0NDE6c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTtcXG5pbmNsdWRlL25ldC9uZWlnaGJvdXIuaC00NDItXFxuLS1cXG5uZXQvY29yZS9uZWlnaGJvdXIuYz0xNzQ2PXN0YXRpYyBpbmxpbmUgc3RydWN0IG5laWdoX3Bhcm1zICpsb29rdXBfbmVpZ2hfcGFybXMoc3RydWN0IG5laWdoX3RhYmxlICp0YmwsXFxuLS1cXG5uZXQvY29yZS9uZWlnaGJvdXIuYy0xNzYxLVxcbm5ldC9jb3JlL25laWdoYm91ci5jOjE3NjI6c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbm5ldC9jb3JlL25laWdoYm91ci5jLTE3NjMte1xcbi0tXFxubmV0L2NvcmUvbmVpZ2hib3VyLmMtMTc2NS19XFxubmV0L2NvcmUvbmVpZ2hib3VyLmM6MTc2NjpFWFBPUlRfU1lNQk9MKG5laWdoX3Bhcm1zX2xvb2t1cF9kZXYpO1xcbm5ldC9jb3JlL25laWdoYm91ci5jLTE3NjctXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI5VDE2OjU2OjI5LjU3NjE2MjA3OFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjIzNjQ2NTQxNzkyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKlVudXNlZCBGdW5jdGlvbiAtIFdvcnRoRnV6emluZz1GYWxzZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgIGZ1bmN0aW9uLiBUaGUgZmlyc3QgdGhpbmcgdGhhdCBqdW1wcyBvdXQgaXMgdGhhdCBpdCdzIGp1c3QgYmVpbmcgYWRkZWQgYW5kIGV4cG9ydGVkLCBidXQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHVzZWQgYW55d2hlcmUgd2l0aGluIHRoZSBwcm92aWRlZCBwYXRjaC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJ20gbm90IG1pc3Npbmcgc29tZXRoaW5nOyBwZXJoYXBzIGFub3RoZXIgcGF0Y2ggaW4gdGhlIHNlcmllcyBjYWxscyBpdD8gQnV0IHRoZSBkZXNjcmlwdGlvbiBzYXlzIGl0J3Mgb25seSBvbmUgY29tbWl0LlxuXG5JJ3ZlIGNoZWNrZWQgdGhlIGdyZXBwZXIgb3V0cHV0LCB3aGljaCBvbmx5IHNob3dzIHRoZSBkZWNsYXJhdGlvbiBhbmQgdGhlIGRlZmluaXRpb24gd2l0aGluIGBpbmNsdWRlL25ldC9uZWlnaGJvdXIuaGAgYW5kIGBuZXQvY29yZS9uZWlnaGJvdXIuY2AgcmVzcGVjdGl2ZWx5LiBUaGVyZWZvcmUsIHRoaXMgZnVuY3Rpb24gaXMgKmRlZmluaXRlbHkqIG5vdCBiZWluZyBjYWxsZWQgYW55d2hlcmUgd2l0aGluIHRoZSBjb2RlYmFzZSB0aGF0ICpJKiBoYXZlIGFjY2VzcyB0by5cblxuU28sIHRoZSBxdWVzdGlvbiBpcywgaXMgdGhpcyB3b3J0aCBmdXp6aW5nPyBIb25lc3RseSwgbm8uIElmIHRoZSBmdW5jdGlvbiBpcyBuZXZlciBjYWxsZWQsIHRoZW4gaXQncyB1bnJlYWNoYWJsZSwgcGVyaW9kLiBGdXp6aW5nIGl0IHdvdWxkIGJlIGEgd2FzdGUgb2YgcmVzb3VyY2VzIHVubGVzcyBpdCBpcyBjYWxsZWQgc29tZXdoZXJlIHRoYXQgKkkqIGRvIG5vdCBoYXZlIGFjY2VzcyB0by4gSXQgY291bGQgYmUgY2FsbGVkIGJ5IGFuIG91dC1vZi10cmVlIG1vZHVsZSwgYnV0IEknbSBvbmx5IHJldmlld2luZyB0aGlzIHNpbmdsZSBwYXRjaC5cblxuSGFuZyBvbi4uLiBjb3VsZCB0aGlzIGJlIGEgZml4IGZvciBzb21ldGhpbmcgdGhhdCAqYWxyZWFkeSogZXhpc3RzIHVuZGVyIGEgZGlmZmVyZW50IG5hbWU/IE5vLCB0aGlzIHBhdGNoIGlzICphZGRpbmcqIHRoZSBmdW5jdGlvbiwgbm90IGNoYW5naW5nIGEgY2FsbGVyLiBBbHNvLCB0aGVyZSBhcmUgbm8gb3RoZXIgY2hhbmdlcyBpbiB0aGlzIGNvbW1pdCBiZXNpZGVzIHRoZSBhZGRpdGlvbiBvZiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAuXG5cbkFscmlnaHQsIEknbSBjb25maWRlbnQuIEknbSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI3MjksIk91dHB1dFRva2VucyI6NzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOTEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6NTMuMjIyNzA2OTZaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMyNzgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowf8qvb[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-29 16:42:25 +0000 UTC FinishedAt: 2026-06-29 16:56:55 +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+CgkJCTx0ZD4yMDI2LzA2LzI5IDE2OjU2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjkgMTY6NTY8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAxOWQzMzEwMWM5NWFkOWUwMTI0NzM3M2JmZGQ4Y2YyMzYwNDVhYjhhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdW4gMjkgMTY6NTY6MTYgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmggYi9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaFxuaW5kZXggODg2MGNjMjE3NWZjMWMuLjFiM2IwNmVkYTg4NjVjIDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhcbiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbmV0L25laWdoYm91ci5oXG5AQCAtNDM4LDYgJiM0Mzs0MzgsOCBAQCBpbnQgbmVpZ2hfc3lzY3RsX3JlZ2lzdGVyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBuZWlnaF9wYXJtcyAqcCxcbiBcdFx0XHQgIHByb2NfaGFuZGxlciAqcHJvY19oYW5kbGVyKTtcbiB2b2lkIG5laWdoX3N5c2N0bF91bnJlZ2lzdGVyKHN0cnVjdCBuZWlnaF9wYXJtcyAqcCk7XG4gXG4mIzQzO3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldik7XG4mIzQzO1xuIHN0YXRpYyBpbmxpbmUgdm9pZCBfX25laWdoX3Bhcm1zX3B1dChzdHJ1Y3QgbmVpZ2hfcGFybXMgKnBhcm1zKVxuIHtcbiBcdHJlZmNvdW50X2RlYyhcdTAwMjZwYXJtcy1cdTAwM2VyZWZjbnQpO1xuZGlmZiAtLWdpdCBhL25ldC9jb3JlL25laWdoYm91ci5jIGIvbmV0L2NvcmUvbmVpZ2hib3VyLmNcbmluZGV4IDEzNDljMGVlZGI2NDI1Li42ZDMyYzI2NjhhZjM4MyAxMDA2NDRcbi0tLSBhL25ldC9jb3JlL25laWdoYm91ci5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvY29yZS9uZWlnaGJvdXIuY1xuQEAgLTE3NTcsNiAmIzQzOzE3NTcsMTQgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgbmVpZ2hfcGFybXMgKmxvb2t1cF9uZWlnaF9wYXJtcyhzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCxcbiBcdHJldHVybiBOVUxMO1xuIH1cbiBcbiYjNDM7LyogQ2FsbGVyIG11c3QgaG9sZCByY3VfcmVhZF9sb2NrKCkqL1xuJiM0MztcbiYjNDM7c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxuJiM0Mzt7XG4mIzQzO1x0cmV0dXJuIGxvb2t1cF9uZWlnaF9wYXJtcyh0YmwsIGRldl9uZXQoZGV2KSwgZGV2LVx1MDAzZWlmaW5kZXgpO1xuJiM0Mzt9XG4mIzQzO0VYUE9SVF9TWU1CT0wobmVpZ2hfcGFybXNfbG9va3VwX2Rldik7XG4mIzQzO1xuIHN0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfYWxsb2Moc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbiBcdFx0XHRcdCAgICAgIHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsKVxuIHtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAxNjo1NjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IGFkZHMgYSBuZXcgZXhwb3J0ZWQgZnVuY3Rpb24gYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgIHdoaWNoIGlzIGN1cnJlbnRseSB1bnVzZWQgYW55d2hlcmUgaW4gdGhlIGtlcm5lbCB0cmVlLiBTaW5jZSBpdCBoYXMgbm8gY2FsbGVycywgaXQgaXMgdW5yZWFjaGFibGUgYW5kIGNhbm5vdCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAxOWQzMzEwMWM5NWFkOWUwMTI0NzM3M2JmZGQ4Y2YyMzYwNDVhYjhhCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIE1vbiBKdW4gMjkgMTY6NTY6MTYgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaCBiL2luY2x1ZGUvbmV0L25laWdoYm91ci5oCmluZGV4IDg4NjBjYzIxNzVmYzFjLi4xYjNiMDZlZGE4ODY1YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmgKJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmgKQEAgLTQzOCw2ICYjNDM7NDM4LDggQEAgaW50IG5laWdoX3N5c2N0bF9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmVpZ2hfcGFybXMgKnAsCiAJCQkgIHByb2NfaGFuZGxlciAqcHJvY19oYW5kbGVyKTsKIHZvaWQgbmVpZ2hfc3lzY3RsX3VucmVnaXN0ZXIoc3RydWN0IG5laWdoX3Bhcm1zICpwKTsKIAomIzQzO3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiYjNDM7CiBzdGF0aWMgaW5saW5lIHZvaWQgX19uZWlnaF9wYXJtc19wdXQoc3RydWN0IG5laWdoX3Bhcm1zICpwYXJtcykKIHsKIAlyZWZjb3VudF9kZWMoJmFtcDtwYXJtcy0mZ3Q7cmVmY250KTsKZGlmZiAtLWdpdCBhL25ldC9jb3JlL25laWdoYm91ci5jIGIvbmV0L2NvcmUvbmVpZ2hib3VyLmMKaW5kZXggMTM0OWMwZWVkYjY0MjUuLjZkMzJjMjY2OGFmMzgzIDEwMDY0NAotLS0gYS9uZXQvY29yZS9uZWlnaGJvdXIuYwomIzQzOyYjNDM7JiM0MzsgYi9uZXQvY29yZS9uZWlnaGJvdXIuYwpAQCAtMTc1Nyw2ICYjNDM7MTc1NywxNCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBuZWlnaF9wYXJtcyAqbG9va3VwX25laWdoX3Bhcm1zKHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLAogCXJldHVybiBOVUxMOwogfQogCiYjNDM7LyogQ2FsbGVyIG11c3QgaG9sZCByY3VfcmVhZF9sb2NrKCkqLwomIzQzOwomIzQzO3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKJiM0Mzt7CiYjNDM7CXJldHVybiBsb29rdXBfbmVpZ2hfcGFybXModGJsLCBkZXZfbmV0KGRldiksIGRldi0mZ3Q7aWZpbmRleCk7CiYjNDM7fQomIzQzO0VYUE9SVF9TWU1CT0wobmVpZ2hfcGFybXNfbG9va3VwX2Rldik7CiYjNDM7CiBzdHJ1Y3QgbmVpZ2hfcGFybXMgKm5laWdoX3Bhcm1zX2FsbG9jKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQkJICAgICAgc3RydWN0IG5laWdoX3RhYmxlICp0YmwpCiB7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI5IDE2OjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIwOTcKCQkJCQkJCW91dHB1dDogMjIKCQkJCQkJCXRob3VnaHRzOiAxMjIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTmV3IEZ1bmN0aW9uOiBuZWlnaF9wYXJtc19sb29rdXBfZGV2KioKCk9rYXksIHNvIHRoZXJlJiMzOTtzIGEgbmV3IHBhdGNoLCBhbmQgaXQgbG9va3MgbGlrZSBpdCBpbnRyb2R1Y2VzIGEgbmV3LCBleHBvcnRlZCBmdW5jdGlvbiBjYWxsZWQgYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgLiBJdCYjMzk7cyBkZWZpbmVkIGluIGBuZXQvY29yZS9uZWlnaGJvdXIuY2AgYW5kIGRlY2xhcmVkIGluIGBpbmNsdWRlL25ldC9uZWlnaGJvdXIuaGAuIFRoZSBmdW5jdGlvbiBpdHNlbGYgc2VlbXMgdG8gYmUgYSB3cmFwcGVyIGFyb3VuZCBgbG9va3VwX25laWdoX3Bhcm1zYC4gSG1tLCBpbnRlcmVzdGluZy4KCk15IGZpcnN0IHRob3VnaHQgaXMgYWx3YXlzLCAmIzM0O1doZXJlIGlzIHRoaXMgdXNlZD8mIzM0OyBJZiB0aGlzIGlzIGEgc3RhbmRhbG9uZSBhZGRpdGlvbiwgYW5kIGl0JiMzOTtzICpub3QqIGN1cnJlbnRseSBiZWluZyB1dGlsaXplZCBieSBhbnl0aGluZyBpbiB0aGUga2VybmVsLCB0aGVuIGl0IG1pZ2h0IG5vdCBiZSBhIGhpZ2ggcHJpb3JpdHkgZm9yIGltbWVkaWF0ZSBmdXp6aW5nLiBJdCBjb3VsZCBiZSBkZWFkIGNvZGUsIG9yIHBlcmhhcHMgcGFydCBvZiBhIGxhcmdlciwgc3RpbGwtaW4tcHJvZ3Jlc3MgcGF0Y2ggc2VyaWVzLiBUaGUgZG9jdW1lbnRhdGlvbiBvbmx5IG1lbnRpb25zIHRoZSBhZGRpdGlvbiBvZiB0aGUgZnVuY3Rpb24uIExldCYjMzk7cyBzdGFydCB3aXRoIGEgc2VhcmNoIHRocm91Z2ggdGhlIGtlcm5lbCBjb2RlYmFzZSB0byBzZWUgaWYgYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgIGlzIGFjdHVhbGx5IGNhbGxlZCBhbnl3aGVyZS4gVGhhdCB3aWxsIGRpY3RhdGUgd2hlcmUgdG8gZ28gbmV4dC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAxNjo1NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuZWlnaF9wYXJtc19sb29rdXBfZGV2JiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbmV0L25laWdoYm91ci5oPTQzOT12b2lkIG5laWdoX3N5c2N0bF91bnJlZ2lzdGVyKHN0cnVjdCBuZWlnaF9wYXJtcyAqcCk7XG5pbmNsdWRlL25ldC9uZWlnaGJvdXIuaC00NDAtXG5pbmNsdWRlL25ldC9uZWlnaGJvdXIuaDo0NDE6c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTtcbmluY2x1ZGUvbmV0L25laWdoYm91ci5oLTQ0Mi1cbi0tXG5uZXQvY29yZS9uZWlnaGJvdXIuYz0xNzQ2PXN0YXRpYyBpbmxpbmUgc3RydWN0IG5laWdoX3Bhcm1zICpsb29rdXBfbmVpZ2hfcGFybXMoc3RydWN0IG5laWdoX3RhYmxlICp0YmwsXG4tLVxubmV0L2NvcmUvbmVpZ2hib3VyLmMtMTc2MS1cbm5ldC9jb3JlL25laWdoYm91ci5jOjE3NjI6c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxubmV0L2NvcmUvbmVpZ2hib3VyLmMtMTc2My17XG4tLVxubmV0L2NvcmUvbmVpZ2hib3VyLmMtMTc2NS19XG5uZXQvY29yZS9uZWlnaGJvdXIuYzoxNzY2OkVYUE9SVF9TWU1CT0wobmVpZ2hfcGFybXNfbG9va3VwX2Rldik7XG5uZXQvY29yZS9uZWlnaGJvdXIuYy0xNzY3LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI5IDE2OjU2PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI3MjkKCQkJCQkJCW91dHB1dDogNzUKCQkJCQkJCXRob3VnaHRzOiAyOTEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqVW51c2VkIEZ1bmN0aW9uIC0gV29ydGhGdXp6aW5nPUZhbHNlKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGBuZWlnaF9wYXJtc19sb29rdXBfZGV2YCBmdW5jdGlvbi4gVGhlIGZpcnN0IHRoaW5nIHRoYXQganVtcHMgb3V0IGlzIHRoYXQgaXQmIzM5O3MganVzdCBiZWluZyBhZGRlZCBhbmQgZXhwb3J0ZWQsIGJ1dCBpdCBkb2VzbiYjMzk7dCBzZWVtIHRvIGJlIHVzZWQgYW55d2hlcmUgd2l0aGluIHRoZSBwcm92aWRlZCBwYXRjaC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJiMzOTttIG5vdCBtaXNzaW5nIHNvbWV0aGluZzsgcGVyaGFwcyBhbm90aGVyIHBhdGNoIGluIHRoZSBzZXJpZXMgY2FsbHMgaXQ/IEJ1dCB0aGUgZGVzY3JpcHRpb24gc2F5cyBpdCYjMzk7cyBvbmx5IG9uZSBjb21taXQuCgpJJiMzOTt2ZSBjaGVja2VkIHRoZSBncmVwcGVyIG91dHB1dCwgd2hpY2ggb25seSBzaG93cyB0aGUgZGVjbGFyYXRpb24gYW5kIHRoZSBkZWZpbml0aW9uIHdpdGhpbiBgaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhgIGFuZCBgbmV0L2NvcmUvbmVpZ2hib3VyLmNgIHJlc3BlY3RpdmVseS4gVGhlcmVmb3JlLCB0aGlzIGZ1bmN0aW9uIGlzICpkZWZpbml0ZWx5KiBub3QgYmVpbmcgY2FsbGVkIGFueXdoZXJlIHdpdGhpbiB0aGUgY29kZWJhc2UgdGhhdCAqSSogaGF2ZSBhY2Nlc3MgdG8uCgpTbywgdGhlIHF1ZXN0aW9uIGlzLCBpcyB0aGlzIHdvcnRoIGZ1enppbmc/IEhvbmVzdGx5LCBuby4gSWYgdGhlIGZ1bmN0aW9uIGlzIG5ldmVyIGNhbGxlZCwgdGhlbiBpdCYjMzk7cyB1bnJlYWNoYWJsZSwgcGVyaW9kLiBGdXp6aW5nIGl0IHdvdWxkIGJlIGEgd2FzdGUgb2YgcmVzb3VyY2VzIHVubGVzcyBpdCBpcyBjYWxsZWQgc29tZXdoZXJlIHRoYXQgKkkqIGRvIG5vdCBoYXZlIGFjY2VzcyB0by4gSXQgY291bGQgYmUgY2FsbGVkIGJ5IGFuIG91dC1vZi10cmVlIG1vZHVsZSwgYnV0IEkmIzM5O20gb25seSByZXZpZXdpbmcgdGhpcyBzaW5nbGUgcGF0Y2guCgpIYW5nIG9uLi4uIGNvdWxkIHRoaXMgYmUgYSBmaXggZm9yIHNvbWV0aGluZyB0aGF0ICphbHJlYWR5KiBleGlzdHMgdW5kZXIgYSBkaWZmZXJlbnQgbmFtZT8gTm8sIHRoaXMgcGF0Y2ggaXMgKmFkZGluZyogdGhlIGZ1bmN0aW9uLCBub3QgY2hhbmdpbmcgYSBjYWxsZXIuIEFsc28sIHRoZXJlIGFyZSBubyBvdGhlciBjaGFuZ2VzIGluIHRoaXMgY29tbWl0IGJlc2lkZXMgdGhlIGFkZGl0aW9uIG9mIGBuZWlnaF9wYXJtc19sb29rdXBfZGV2YC4KCkFscmlnaHQsIEkmIzM5O20gY29uZmlkZW50LiBJJiMzOTttIGdvaW5nIHRvIHNldCBgV29ydGhGdXp6aW5nPWZhbHNlYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAxNjo1NjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNi0yOVQxNjo1NjoxOS45MTQxNzY4NjVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMzMwODU3NjEyNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgbmV3IGV4cG9ydGVkIGZ1bmN0aW9uIGBuZWlnaF9wYXJtc19sb29rdXBfZGV2YCB3aGljaCBpcyBjdXJyZW50bHkgdW51c2VkIGFueXdoZXJlIGluIHRoZSBrZXJuZWwgdHJlZS4gU2luY2UgaXQgaGFzIG5vIGNhbGxlcnMsIGl0IGlzIHVucmVhY2hhYmxlIGFuZCBjYW5ub3QgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6MTkuOTE0MTg0MTg1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NzkxNDczMjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAxOWQzMzEwMWM5NWFkOWUwMTI0NzM3M2JmZGQ4Y2YyMzYwNDVhYjhhXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBNb24gSnVuIDI5IDE2OjU2OjE2IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L25laWdoYm91ci5oIGIvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhcXG5pbmRleCA4ODYwY2MyMTc1ZmMxYy4uMWIzYjA2ZWRhODg2NWMgMTAwNjQ0XFxuLS0tIGEvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhcXG4rKysgYi9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaFxcbkBAIC00MzgsNiArNDM4LDggQEAgaW50IG5laWdoX3N5c2N0bF9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmVpZ2hfcGFybXMgKnAsXFxuIFxcdFxcdFxcdCAgcHJvY19oYW5kbGVyICpwcm9jX2hhbmRsZXIpO1xcbiB2b2lkIG5laWdoX3N5c2N0bF91bnJlZ2lzdGVyKHN0cnVjdCBuZWlnaF9wYXJtcyAqcCk7XFxuIFxcbitzdHJ1Y3QgbmVpZ2hfcGFybXMgKm5laWdoX3Bhcm1zX2xvb2t1cF9kZXYoc3RydWN0IG5laWdoX3RhYmxlICp0YmwsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpO1xcbitcXG4gc3RhdGljIGlubGluZSB2b2lkIF9fbmVpZ2hfcGFybXNfcHV0KHN0cnVjdCBuZWlnaF9wYXJtcyAqcGFybXMpXFxuIHtcXG4gXFx0cmVmY291bnRfZGVjKFxcdTAwMjZwYXJtcy1cXHUwMDNlcmVmY250KTtcXG5kaWZmIC0tZ2l0IGEvbmV0L2NvcmUvbmVpZ2hib3VyLmMgYi9uZXQvY29yZS9uZWlnaGJvdXIuY1xcbmluZGV4IDEzNDljMGVlZGI2NDI1Li42ZDMyYzI2NjhhZjM4MyAxMDA2NDRcXG4tLS0gYS9uZXQvY29yZS9uZWlnaGJvdXIuY1xcbisrKyBiL25ldC9jb3JlL25laWdoYm91ci5jXFxuQEAgLTE3NTcsNiArMTc1NywxNCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBuZWlnaF9wYXJtcyAqbG9va3VwX25laWdoX3Bhcm1zKHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLFxcbiBcXHRyZXR1cm4gTlVMTDtcXG4gfVxcbiBcXG4rLyogQ2FsbGVyIG11c3QgaG9sZCByY3VfcmVhZF9sb2NrKCkqL1xcbitcXG4rc3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbit7XFxuK1xcdHJldHVybiBsb29rdXBfbmVpZ2hfcGFybXModGJsLCBkZXZfbmV0KGRldiksIGRldi1cXHUwMDNlaWZpbmRleCk7XFxuK31cXG4rRVhQT1JUX1NZTUJPTChuZWlnaF9wYXJtc19sb29rdXBfZGV2KTtcXG4rXFxuIHN0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfYWxsb2Moc3RydWN0IG5ldF9kZXZpY2UgKmRldixcXG4gXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IG5laWdoX3RhYmxlICp0YmwpXFxuIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6MjAuNDk0MzAyNjI4WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjcyODQzOTI4MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBhZGRzIGEgbmV3IGV4cG9ydGVkIGZ1bmN0aW9uIGBuZWlnaF9wYXJtc19sb29rdXBfZGV2YCB3aGljaCBpcyBjdXJyZW50bHkgdW51c2VkIGFueXdoZXJlIGluIHRoZSBrZXJuZWwgdHJlZS4gU2luY2UgaXQgaGFzIG5vIGNhbGxlcnMsIGl0IGlzIHVucmVhY2hhYmxlIGFuZCBjYW5ub3QgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAxOWQzMzEwMWM5NWFkOWUwMTI0NzM3M2JmZGQ4Y2YyMzYwNDVhYjhhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdW4gMjkgMTY6NTY6MTYgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaCBiL2luY2x1ZGUvbmV0L25laWdoYm91ci5oXG5pbmRleCA4ODYwY2MyMTc1ZmMxYy4uMWIzYjA2ZWRhODg2NWMgMTAwNjQ0XG4tLS0gYS9pbmNsdWRlL25ldC9uZWlnaGJvdXIuaFxuKysrIGIvaW5jbHVkZS9uZXQvbmVpZ2hib3VyLmhcbkBAIC00MzgsNiArNDM4LDggQEAgaW50IG5laWdoX3N5c2N0bF9yZWdpc3RlcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbmVpZ2hfcGFybXMgKnAsXG4gXHRcdFx0ICBwcm9jX2hhbmRsZXIgKnByb2NfaGFuZGxlcik7XG4gdm9pZCBuZWlnaF9zeXNjdGxfdW5yZWdpc3RlcihzdHJ1Y3QgbmVpZ2hfcGFybXMgKnApO1xuIFxuK3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldik7XG4rXG4gc3RhdGljIGlubGluZSB2b2lkIF9fbmVpZ2hfcGFybXNfcHV0KHN0cnVjdCBuZWlnaF9wYXJtcyAqcGFybXMpXG4ge1xuIFx0cmVmY291bnRfZGVjKFx1MDAyNnBhcm1zLVx1MDAzZXJlZmNudCk7XG5kaWZmIC0tZ2l0IGEvbmV0L2NvcmUvbmVpZ2hib3VyLmMgYi9uZXQvY29yZS9uZWlnaGJvdXIuY1xuaW5kZXggMTM0OWMwZWVkYjY0MjUuLjZkMzJjMjY2OGFmMzgzIDEwMDY0NFxuLS0tIGEvbmV0L2NvcmUvbmVpZ2hib3VyLmNcbisrKyBiL25ldC9jb3JlL25laWdoYm91ci5jXG5AQCAtMTc1Nyw2ICsxNzU3LDE0IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IG5laWdoX3Bhcm1zICpsb29rdXBfbmVpZ2hfcGFybXMoc3RydWN0IG5laWdoX3RhYmxlICp0YmwsXG4gXHRyZXR1cm4gTlVMTDtcbiB9XG4gXG4rLyogQ2FsbGVyIG11c3QgaG9sZCByY3VfcmVhZF9sb2NrKCkqL1xuK1xuK3N0cnVjdCBuZWlnaF9wYXJtcyAqbmVpZ2hfcGFybXNfbG9va3VwX2RldihzdHJ1Y3QgbmVpZ2hfdGFibGUgKnRibCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbit7XG4rXHRyZXR1cm4gbG9va3VwX25laWdoX3Bhcm1zKHRibCwgZGV2X25ldChkZXYpLCBkZXYtXHUwMDNlaWZpbmRleCk7XG4rfVxuK0VYUE9SVF9TWU1CT0wobmVpZ2hfcGFybXNfbG9va3VwX2Rldik7XG4rXG4gc3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19hbGxvYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxuIFx0XHRcdFx0ICAgICAgc3RydWN0IG5laWdoX3RhYmxlICp0YmwpXG4ge1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6MjAuNDk0MzA1MTY4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDcyNzU2MjI5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipOZXcgRnVuY3Rpb246IG5laWdoX3Bhcm1zX2xvb2t1cF9kZXYqKlxuXG5Pa2F5LCBzbyB0aGVyZSdzIGEgbmV3IHBhdGNoLCBhbmQgaXQgbG9va3MgbGlrZSBpdCBpbnRyb2R1Y2VzIGEgbmV3LCBleHBvcnRlZCBmdW5jdGlvbiBjYWxsZWQgYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgLiBJdCdzIGRlZmluZWQgaW4gYG5ldC9jb3JlL25laWdoYm91ci5jYCBhbmQgZGVjbGFyZWQgaW4gYGluY2x1ZGUvbmV0L25laWdoYm91ci5oYC4gVGhlIGZ1bmN0aW9uIGl0c2VsZiBzZWVtcyB0byBiZSBhIHdyYXBwZXIgYXJvdW5kIGBsb29rdXBfbmVpZ2hfcGFybXNgLiBIbW0sIGludGVyZXN0aW5nLlxuXG5NeSBmaXJzdCB0aG91Z2h0IGlzIGFsd2F5cywgXCJXaGVyZSBpcyB0aGlzIHVzZWQ/XCIgSWYgdGhpcyBpcyBhIHN0YW5kYWxvbmUgYWRkaXRpb24sIGFuZCBpdCdzICpub3QqIGN1cnJlbnRseSBiZWluZyB1dGlsaXplZCBieSBhbnl0aGluZyBpbiB0aGUga2VybmVsLCB0aGVuIGl0IG1pZ2h0IG5vdCBiZSBhIGhpZ2ggcHJpb3JpdHkgZm9yIGltbWVkaWF0ZSBmdXp6aW5nLiBJdCBjb3VsZCBiZSBkZWFkIGNvZGUsIG9yIHBlcmhhcHMgcGFydCBvZiBhIGxhcmdlciwgc3RpbGwtaW4tcHJvZ3Jlc3MgcGF0Y2ggc2VyaWVzLiBUaGUgZG9jdW1lbnRhdGlvbiBvbmx5IG1lbnRpb25zIHRoZSBhZGRpdGlvbiBvZiB0aGUgZnVuY3Rpb24uIExldCdzIHN0YXJ0IHdpdGggYSBzZWFyY2ggdGhyb3VnaCB0aGUga2VybmVsIGNvZGViYXNlIHRvIHNlZSBpZiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgaXMgYWN0dWFsbHkgY2FsbGVkIGFueXdoZXJlLiBUaGF0IHdpbGwgZGljdGF0ZSB3aGVyZSB0byBnbyBuZXh0LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDk3LCJPdXRwdXRUb2tlbnMiOjIyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTIyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6MjUuMjIxODY5OTE1WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQzNTQyODU0MzMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibmVpZ2hfcGFybXNfbG9va3VwX2RldlwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJpbmNsdWRlL25ldC9uZWlnaGJvdXIuaD00Mzk9dm9pZCBuZWlnaF9zeXNjdGxfdW5yZWdpc3RlcihzdHJ1Y3QgbmVpZ2hfcGFybXMgKnApO1xcbmluY2x1ZGUvbmV0L25laWdoYm91ci5oLTQ0MC1cXG5pbmNsdWRlL25ldC9uZWlnaGJvdXIuaDo0NDE6c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTtcXG5pbmNsdWRlL25ldC9uZWlnaGJvdXIuaC00NDItXFxuLS1cXG5uZXQvY29yZS9uZWlnaGJvdXIuYz0xNzQ2PXN0YXRpYyBpbmxpbmUgc3RydWN0IG5laWdoX3Bhcm1zICpsb29rdXBfbmVpZ2hfcGFybXMoc3RydWN0IG5laWdoX3RhYmxlICp0YmwsXFxuLS1cXG5uZXQvY29yZS9uZWlnaGJvdXIuYy0xNzYxLVxcbm5ldC9jb3JlL25laWdoYm91ci5jOjE3NjI6c3RydWN0IG5laWdoX3Bhcm1zICpuZWlnaF9wYXJtc19sb29rdXBfZGV2KHN0cnVjdCBuZWlnaF90YWJsZSAqdGJsLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbm5ldC9jb3JlL25laWdoYm91ci5jLTE3NjMte1xcbi0tXFxubmV0L2NvcmUvbmVpZ2hib3VyLmMtMTc2NS19XFxubmV0L2NvcmUvbmVpZ2hib3VyLmM6MTc2NjpFWFBPUlRfU1lNQk9MKG5laWdoX3Bhcm1zX2xvb2t1cF9kZXYpO1xcbm5ldC9jb3JlL25laWdoYm91ci5jLTE3NjctXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI5VDE2OjU2OjI5LjU3NjE2MjA3OFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjIzNjQ2NTQxNzkyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKlVudXNlZCBGdW5jdGlvbiAtIFdvcnRoRnV6emluZz1GYWxzZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgYG5laWdoX3Bhcm1zX2xvb2t1cF9kZXZgIGZ1bmN0aW9uLiBUaGUgZmlyc3QgdGhpbmcgdGhhdCBqdW1wcyBvdXQgaXMgdGhhdCBpdCdzIGp1c3QgYmVpbmcgYWRkZWQgYW5kIGV4cG9ydGVkLCBidXQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHVzZWQgYW55d2hlcmUgd2l0aGluIHRoZSBwcm92aWRlZCBwYXRjaC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJ20gbm90IG1pc3Npbmcgc29tZXRoaW5nOyBwZXJoYXBzIGFub3RoZXIgcGF0Y2ggaW4gdGhlIHNlcmllcyBjYWxscyBpdD8gQnV0IHRoZSBkZXNjcmlwdGlvbiBzYXlzIGl0J3Mgb25seSBvbmUgY29tbWl0LlxuXG5JJ3ZlIGNoZWNrZWQgdGhlIGdyZXBwZXIgb3V0cHV0LCB3aGljaCBvbmx5IHNob3dzIHRoZSBkZWNsYXJhdGlvbiBhbmQgdGhlIGRlZmluaXRpb24gd2l0aGluIGBpbmNsdWRlL25ldC9uZWlnaGJvdXIuaGAgYW5kIGBuZXQvY29yZS9uZWlnaGJvdXIuY2AgcmVzcGVjdGl2ZWx5LiBUaGVyZWZvcmUsIHRoaXMgZnVuY3Rpb24gaXMgKmRlZmluaXRlbHkqIG5vdCBiZWluZyBjYWxsZWQgYW55d2hlcmUgd2l0aGluIHRoZSBjb2RlYmFzZSB0aGF0ICpJKiBoYXZlIGFjY2VzcyB0by5cblxuU28sIHRoZSBxdWVzdGlvbiBpcywgaXMgdGhpcyB3b3J0aCBmdXp6aW5nPyBIb25lc3RseSwgbm8uIElmIHRoZSBmdW5jdGlvbiBpcyBuZXZlciBjYWxsZWQsIHRoZW4gaXQncyB1bnJlYWNoYWJsZSwgcGVyaW9kLiBGdXp6aW5nIGl0IHdvdWxkIGJlIGEgd2FzdGUgb2YgcmVzb3VyY2VzIHVubGVzcyBpdCBpcyBjYWxsZWQgc29tZXdoZXJlIHRoYXQgKkkqIGRvIG5vdCBoYXZlIGFjY2VzcyB0by4gSXQgY291bGQgYmUgY2FsbGVkIGJ5IGFuIG91dC1vZi10cmVlIG1vZHVsZSwgYnV0IEknbSBvbmx5IHJldmlld2luZyB0aGlzIHNpbmdsZSBwYXRjaC5cblxuSGFuZyBvbi4uLiBjb3VsZCB0aGlzIGJlIGEgZml4IGZvciBzb21ldGhpbmcgdGhhdCAqYWxyZWFkeSogZXhpc3RzIHVuZGVyIGEgZGlmZmVyZW50IG5hbWU/IE5vLCB0aGlzIHBhdGNoIGlzICphZGRpbmcqIHRoZSBmdW5jdGlvbiwgbm90IGNoYW5naW5nIGEgY2FsbGVyLiBBbHNvLCB0aGVyZSBhcmUgbm8gb3RoZXIgY2hhbmdlcyBpbiB0aGlzIGNvbW1pdCBiZXNpZGVzIHRoZSBhZGRpdGlvbiBvZiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAuXG5cbkFscmlnaHQsIEknbSBjb25maWRlbnQuIEknbSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZz1mYWxzZWAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI3MjksIk91dHB1dFRva2VucyI6NzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyOTEsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMTY6NTY6NTMuMjIyNzA2OTZaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMyNzgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgYWRkcyBhIG5ldyBleHBvcnRlZCBmdW5jdGlvbiBgbmVpZ2hfcGFybXNfbG9va3VwX2RldmAgd2hpY2ggaXMgY3VycmVudGx5IHVudXNlZCBhbnl3aGVyZSBpbiB0aGUga2VybmVsIHRyZWUuIFNpbmNlIGl0IGhhcyBubyBjYWxsZXJzLCBpdCBpcyB1bnJlYWNoYWJsZSBhbmQgY2Fubm90IGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowf8qvb[1] Phase: Running StartedAt: 2026-06-29 16:57:16 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowf8qvb[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-06-29 16:57:16 +0000 UTC FinishedAt: 2026-06-29 16:57:23 +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,}