Name: series-workflowl9s8h Phase: Succeeded StartedAt: 2026-07-02 12:53:32 +0000 UTC FinishedAt: 2026-07-02 14:33:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[0] Phase: Succeeded StartedAt: 2026-07-02 12:53:32 +0000 UTC FinishedAt: 2026-07-02 13:08:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[0].run-triage Phase: Succeeded StartedAt: 2026-07-02 12:53:33 +0000 UTC FinishedAt: 2026-07-02 13:08:59 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "4a50a141f05a8d1737661b19ee22ff8455b94409", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NETFS_SUPPORT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "4a50a141f05a8d1737661b19ee22ff8455b94409", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NETFS_SUPPORT" ], "series_id": "17eb5bcb-974c-4dfc-b1c9-5482b6188929" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "netfs_retry_read_subrequests", "netfs_retry_write_stream" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDEzOjA4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05FVEZTX1NVUFBPUlQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzJiMzNDssCiAgICAmIzM0O25ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgcmV0cnkgbG9naWMgZm9yIHJlYWQgYW5kIHdyaXRlIHN1YnJlcXVlc3RzIGluIG5ldGZzLCByZXBsYWNpbmcgbGlzdF9mb3JfZWFjaF9jb250aW51ZSB3aXRoIGEgY3VzdG9tIGxvb3AgdXNpbmcgc21wX2xvYWRfYWNxdWlyZSB0byBmaXggYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24gb3IgbWVtb3J5IG9yZGVyaW5nIGlzc3VlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBuZXRmcyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMTM6MDg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBiYTQzYmFjMjQ4ZGI3N2MyZGYxZjc0YjVhYWExNWU4YTk0OTEwNDAyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMiAxMzowODowNyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9uZXRmcy9yZWFkX3JldHJ5LmMgYi9mcy9uZXRmcy9yZWFkX3JldHJ5LmNcbmluZGV4IGY1OWE3MGYzYTA4NmI0Li4yYjQyNzU4ZTAxZWM5NCAxMDA2NDRcbi0tLSBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvbmV0ZnMvcmVhZF9yZXRyeS5jXG5AQCAtOTgsNyAmIzQzOzk4LDEyIEBAIHN0YXRpYyB2b2lkIG5ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKnJyZXEpXG4gXHRcdFx0Z290byBhYmFuZG9uO1xuIFx0XHR9XG4gXG4tXHRcdGxpc3RfZm9yX2VhY2hfY29udGludWUobmV4dCwgXHUwMDI2c3RyZWFtLVx1MDAzZXN1YnJlcXVlc3RzKSB7XG4mIzQzO1x0XHRmb3IgKDs7KSB7XG4mIzQzO1x0XHRcdC8qIFJlYWQgcG9pbnRlciB0byBzdWJyZXEgYmVmb3JlIHJlYWRpbmcgc3VicmVxIHN0YXRlLiAqL1xuJiM0MztcdFx0XHRuZXh0ID0gc21wX2xvYWRfYWNxdWlyZShcdTAwMjZuZXh0LVx1MDAzZW5leHQpO1xuJiM0MztcdFx0XHRpZiAobmV4dCA9PSBcdTAwMjZzdHJlYW0tXHUwMDNlc3VicmVxdWVzdHMpXG4mIzQzO1x0XHRcdFx0YnJlYWs7XG4mIzQzO1xuIFx0XHRcdHN1YnJlcSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IG5ldGZzX2lvX3N1YnJlcXVlc3QsIHJyZXFfbGluayk7XG4gXHRcdFx0aWYgKHN1YnJlcS1cdTAwM2VzdGFydCAmIzQzOyBzdWJyZXEtXHUwMDNldHJhbnNmZXJyZWQgIT0gc3RhcnQgJiM0MzsgbGVuIHx8XG4gXHRcdFx0ICAgIHRlc3RfYml0KE5FVEZTX1NSRVFfQk9VTkRBUlksIFx1MDAyNnN1YnJlcS1cdTAwM2VmbGFncykgfHxcbmRpZmYgLS1naXQgYS9mcy9uZXRmcy93cml0ZV9yZXRyeS5jIGIvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY1xuaW5kZXggMzI3MzVhYmZhMDNmMDYuLjA1OGJjN2ExNjZhNTlmIDEwMDY0NFxuLS0tIGEvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY1xuQEAgLTcyLDcgJiM0Mzs3MiwxMiBAQCBzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW0oc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKndyZXEsXG4gXHRcdCAgICAhdGVzdF9iaXQoTkVURlNfU1JFUV9ORUVEX1JFVFJZLCBcdTAwMjZmcm9tLVx1MDAzZWZsYWdzKSlcbiBcdFx0XHRyZXR1cm47XG4gXG4tXHRcdGxpc3RfZm9yX2VhY2hfY29udGludWUobmV4dCwgXHUwMDI2c3RyZWFtLVx1MDAzZXN1YnJlcXVlc3RzKSB7XG4mIzQzO1x0XHRmb3IgKDs7KSB7XG4mIzQzO1x0XHRcdC8qIFJlYWQgcG9pbnRlciB0byBzdWJyZXEgYmVmb3JlIHJlYWRpbmcgc3VicmVxIHN0YXRlLiAqL1xuJiM0MztcdFx0XHRuZXh0ID0gc21wX2xvYWRfYWNxdWlyZShcdTAwMjZuZXh0LVx1MDAzZW5leHQpO1xuJiM0MztcdFx0XHRpZiAobmV4dCA9PSBcdTAwMjZzdHJlYW0tXHUwMDNlc3VicmVxdWVzdHMpXG4mIzQzO1x0XHRcdFx0YnJlYWs7XG4mIzQzO1xuIFx0XHRcdHN1YnJlcSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IG5ldGZzX2lvX3N1YnJlcXVlc3QsIHJyZXFfbGluayk7XG4gXHRcdFx0aWYgKHN1YnJlcS1cdTAwM2VzdGFydCAmIzQzOyBzdWJyZXEtXHUwMDNldHJhbnNmZXJyZWQgIT0gc3RhcnQgJiM0MzsgbGVuIHx8XG4gXHRcdFx0ICAgIHRlc3RfYml0KE5FVEZTX1NSRVFfQk9VTkRBUlksIFx1MDAyNnN1YnJlcS1cdTAwM2VmbGFncykgfHxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORVRGU19TVVBQT1JUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0cyYjMzQ7LAogICAgJiMzNDtuZXRmc19yZXRyeV93cml0ZV9zdHJlYW0mIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHJldHJ5IGxvZ2ljIGZvciByZWFkIGFuZCB3cml0ZSBzdWJyZXF1ZXN0cyBpbiBuZXRmcywgcmVwbGFjaW5nIGxpc3RfZm9yX2VhY2hfY29udGludWUgd2l0aCBhIGN1c3RvbSBsb29wIHVzaW5nIHNtcF9sb2FkX2FjcXVpcmUgdG8gZml4IGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uIG9yIG1lbW9yeSBvcmRlcmluZyBpc3N1ZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgbmV0ZnMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBiYTQzYmFjMjQ4ZGI3N2MyZGYxZjc0YjVhYWExNWU4YTk0OTEwNDAyCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFRodSBKdWwgMiAxMzowODowNyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuYyBiL2ZzL25ldGZzL3JlYWRfcmV0cnkuYwppbmRleCBmNTlhNzBmM2EwODZiNC4uMmI0Mjc1OGUwMWVjOTQgMTAwNjQ0Ci0tLSBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuYwomIzQzOyYjNDM7JiM0MzsgYi9mcy9uZXRmcy9yZWFkX3JldHJ5LmMKQEAgLTk4LDcgJiM0Mzs5OCwxMiBAQCBzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxKQogCQkJZ290byBhYmFuZG9uOwogCQl9CiAKLQkJbGlzdF9mb3JfZWFjaF9jb250aW51ZShuZXh0LCAmYW1wO3N0cmVhbS0mZ3Q7c3VicmVxdWVzdHMpIHsKJiM0MzsJCWZvciAoOzspIHsKJiM0MzsJCQkvKiBSZWFkIHBvaW50ZXIgdG8gc3VicmVxIGJlZm9yZSByZWFkaW5nIHN1YnJlcSBzdGF0ZS4gKi8KJiM0MzsJCQluZXh0ID0gc21wX2xvYWRfYWNxdWlyZSgmYW1wO25leHQtJmd0O25leHQpOwomIzQzOwkJCWlmIChuZXh0ID09ICZhbXA7c3RyZWFtLSZndDtzdWJyZXF1ZXN0cykKJiM0MzsJCQkJYnJlYWs7CiYjNDM7CiAJCQlzdWJyZXEgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBuZXRmc19pb19zdWJyZXF1ZXN0LCBycmVxX2xpbmspOwogCQkJaWYgKHN1YnJlcS0mZ3Q7c3RhcnQgJiM0Mzsgc3VicmVxLSZndDt0cmFuc2ZlcnJlZCAhPSBzdGFydCAmIzQzOyBsZW4gfHwKIAkJCSAgICB0ZXN0X2JpdChORVRGU19TUkVRX0JPVU5EQVJZLCAmYW1wO3N1YnJlcS0mZ3Q7ZmxhZ3MpIHx8CmRpZmYgLS1naXQgYS9mcy9uZXRmcy93cml0ZV9yZXRyeS5jIGIvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYwppbmRleCAzMjczNWFiZmEwM2YwNi4uMDU4YmM3YTE2NmE1OWYgMTAwNjQ0Ci0tLSBhL2ZzL25ldGZzL3dyaXRlX3JldHJ5LmMKJiM0MzsmIzQzOyYjNDM7IGIvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYwpAQCAtNzIsNyAmIzQzOzcyLDEyIEBAIHN0YXRpYyB2b2lkIG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbShzdHJ1Y3QgbmV0ZnNfaW9fcmVxdWVzdCAqd3JlcSwKIAkJICAgICF0ZXN0X2JpdChORVRGU19TUkVRX05FRURfUkVUUlksICZhbXA7ZnJvbS0mZ3Q7ZmxhZ3MpKQogCQkJcmV0dXJuOwogCi0JCWxpc3RfZm9yX2VhY2hfY29udGludWUobmV4dCwgJmFtcDtzdHJlYW0tJmd0O3N1YnJlcXVlc3RzKSB7CiYjNDM7CQlmb3IgKDs7KSB7CiYjNDM7CQkJLyogUmVhZCBwb2ludGVyIHRvIHN1YnJlcSBiZWZvcmUgcmVhZGluZyBzdWJyZXEgc3RhdGUuICovCiYjNDM7CQkJbmV4dCA9IHNtcF9sb2FkX2FjcXVpcmUoJmFtcDtuZXh0LSZndDtuZXh0KTsKJiM0MzsJCQlpZiAobmV4dCA9PSAmYW1wO3N0cmVhbS0mZ3Q7c3VicmVxdWVzdHMpCiYjNDM7CQkJCWJyZWFrOwomIzQzOwogCQkJc3VicmVxID0gbGlzdF9lbnRyeShuZXh0LCBzdHJ1Y3QgbmV0ZnNfaW9fc3VicmVxdWVzdCwgcnJlcV9saW5rKTsKIAkJCWlmIChzdWJyZXEtJmd0O3N0YXJ0ICYjNDM7IHN1YnJlcS0mZ3Q7dHJhbnNmZXJyZWQgIT0gc3RhcnQgJiM0MzsgbGVuIHx8CiAJCQkgICAgdGVzdF9iaXQoTkVURlNfU1JFUV9CT1VOREFSWSwgJmFtcDtzdWJyZXEtJmd0O2ZsYWdzKSB8fAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMjE3CgkJCQkJCQlvdXRwdXQ6IDQ1CgkJCQkJCQl0aG91Z2h0czogMTg2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgY29kZSBjaGFuZ2VzLCBzdW1tYXJpemVkIGluIHRoZSBmaXJzdCBwZXJzb24sIGFzIGlmIHRoZXNlIGFyZSBteSBpbW1lZGlhdGUgdGhvdWdodHM6CgoqKkFuYWx5emluZyBhIE5ldGZzIFBhdGNoOiBQb3NzaWJsZSBSYWNlIENvbmRpdGlvbiBGaXgqKgoKQWxyaWdodCwgSSBzZWUgdGhpcyBwYXRjaCBpcyBoaXR0aW5nIGBmcy9uZXRmcy9yZWFkX3JldHJ5LmNgIGFuZCBgZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY2AuIFNwZWNpZmljYWxseSwgaXQgbG9va3MgbGlrZSB0aGV5JiMzOTtyZSByZXBsYWNpbmcgdGhlIHN0YW5kYXJkIGBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlYCBsb29wIHdpdGggYSBjdXN0b20gb25lIHRoYXQgdXNlcyBgc21wX2xvYWRfYWNxdWlyZSgmYW1wO25leHQtJmd0O25leHQpYC4gSW1tZWRpYXRlbHksIHRoYXQganVtcHMgb3V0IHRvIG1lIGFzIGEgcG90ZW50aWFsIGZpeCBmb3IgYSByYWNlIGNvbmRpdGlvbiBvciBhIG1lbW9yeSBvcmRlcmluZyBpc3N1ZSBpbiB0aGUgbmV0ZnMgY29kZS4gVGhleSYjMzk7cmUgY2xlYXJseSB0cnlpbmcgdG8gZW5mb3JjZSBzb21lIHN0cm9uZ2VyIG1lbW9yeSBiYXJyaWVyIHNlbWFudGljcyBhcm91bmQgaG93IHRoZXkgaXRlcmF0ZSB0aHJvdWdoIHRoYXQgbGlua2VkIGxpc3QsIGBzdHJlYW0tJmd0O3N1YnJlcXVlc3RzYC4gVGhlIGBhY3F1aXJlYCBwYXJ0IG9mIGBzbXBfbG9hZF9hY3F1aXJlYCBpcyBhIGJpZyBjbHVlIOKAkyBpdCBzdWdnZXN0cyB0aGF0IHRoZSB3cml0ZXMgdG8gYG5leHQtJmd0O25leHRgIG1pZ2h0IGJlIGhhcHBlbmluZyBvbiBhIGRpZmZlcmVudCBDUFUgYW5kIHdlIG5lZWQgdG8gZW5zdXJlIHZpc2liaWxpdHkuCgpMZXQmIzM5O3MgZHJpbGwgZG93biBhIGJpdC4gVGhlIHNwZWNpZmljIGZ1bmN0aW9ucyB0aGV5IGFyZSB0b3VjaGluZyBhcmU6IGBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzYCBpbiBgcmVhZF9yZXRyeS5jYCBhbmQgYG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbWAgaW4gYHdyaXRlX3JldHJ5LmNgLiBLbm93aW5nIHdoaWNoIGZ1bmN0aW9ucyBhcmUgaW52b2x2ZWQgaGVscHMgYSBsb3QsIGl0IGdpdmVzIG1lIGltbWVkaWF0ZSBjb250ZXh0IHRvIHdvcmsgZnJvbS4KCk5vdywgSSB3YW50IHRvIHVuZGVyc3RhbmQgdGhlICp3aHkqLiBXaGF0JiMzOTtzIHRoZSBjb250ZXh0IGhlcmU/IEnigJlsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0aGF0IG1heSBiZSBpbXBhY3RlZC4gSSYjMzk7bSBnb2luZyB0byBxdWlja2x5IGdyZXAgdGhyb3VnaCB0aGUga2VybmVsIHNvdXJjZXMgZm9yIGBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzYCBhbmQgYG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbWAgdG8gc2VlIGhvdyB0aG9zZSBmdW5jdGlvbnMgYXJlIHVzZWQgYW5kIGhvdyB0aGV5IHJlbGF0ZSB0byB0aGUgYmlnZ2VyIG5ldGZzIHBpY3R1cmUuIFRoaXMgd2lsbCBnaXZlIG1lIGEgc2Vuc2Ugb2Ygd2hhdCB0aGUgcGF0Y2ggaXMgdHJ5aW5nIHRvICphY2NvbXBsaXNoKiBieSBhZGRyZXNzaW5nIHRoaXMgcGFydGljdWxhciByYWNlIGNvbmRpdGlvbiBvciBtZW1vcnkgdmlzaWJpbGl0eSBpc3N1ZS4gSeKAmW0gdGhpbmtpbmcgdGhlcmUgbWlnaHQgYmUgcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMsIHNvIEkgd2lsbCBpbnZlc3RpZ2F0ZSB0aGlzIGZ1cnRoZXIuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMTM6MDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0cyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9uZXRmcy9yZWFkX3JldHJ5LmM9MTI9c3RhdGljIHZvaWQgbmV0ZnNfcmVpc3N1ZV9yZWFkKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxLFxuLS1cbmZzL25ldGZzL3JlYWRfcmV0cnkuYy0yNS0gKi9cbmZzL25ldGZzL3JlYWRfcmV0cnkuYzoyNjpzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxKVxuZnMvbmV0ZnMvcmVhZF9yZXRyeS5jLTI3LXtcbi0tXG5mcy9uZXRmcy9yZWFkX3JldHJ5LmM9MjcwPXZvaWQgbmV0ZnNfcmV0cnlfcmVhZHMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKnJyZXEpXG4tLVxuZnMvbmV0ZnMvcmVhZF9yZXRyeS5jLTI4My1cdHRyYWNlX25ldGZzX3JyZXEocnJlcSwgbmV0ZnNfcnJlcV90cmFjZV9yZXN1Ym1pdCk7XG5mcy9uZXRmcy9yZWFkX3JldHJ5LmM6Mjg0Olx0bmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0cyhycmVxKTtcbmZzL25ldGZzL3JlYWRfcmV0cnkuYy0yODUtfVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDEzOjA4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9uZXRmcy93cml0ZV9yZXRyeS5jLTE2LSAqL1xuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYzoxNzpzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW0oc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKndyZXEsXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jLTE4LVx0XHRcdFx0ICAgICBzdHJ1Y3QgbmV0ZnNfaW9fc3RyZWFtICpzdHJlYW0pXG4tLVxuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYz0yMDg9dm9pZCBuZXRmc19yZXRyeV93cml0ZXMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKndyZXEpXG4tLVxuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYy0yMzQtXHRcdFx0c3RyZWFtLVx1MDAzZW5lZWRfcmV0cnkgPSBmYWxzZTtcbmZzL25ldGZzL3dyaXRlX3JldHJ5LmM6MjM1Olx0XHRcdG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbSh3cmVxLCBzdHJlYW0pO1xuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYy0yMzYtXHRcdH1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMzEwCgkJCQkJCQlvdXRwdXQ6IDMxCgkJCQkJCQl0aG91Z2h0czogMzcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYW5hbHlzaXMgb2YgdGhlIHNpdHVhdGlvbjoKCioqSW52ZXN0aWdhdGluZyBOZXRGUyBSZXRyeSBDb25maWd1cmF0aW9ucyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlc2UgdHdvIGZ1bmN0aW9ucywgYG5ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHNgIGFuZCBgbmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtYCwgYW5kIHRoZXkmIzM5O3JlIGNsZWFybHkgZGVhbGluZyB3aXRoIHJldHJ5IG1lY2hhbmlzbXMgd2l0aGluIHRoZSBOZXRGUyBjb21wb25lbnQuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBpbW1lZGlhdGVseSB6b29tIGluIG9uIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byBOZXRGUy4gUmV0cnkgbG9naWMgY2FuIGJlIGNvbXBsZXggYW5kIGlzIG9mdGVuIHBhcmFtZXRlcml6ZWQsIHNvIHRoZSBmaXJzdCB0aGluZyBJIG5lZWQgdG8gZG8gaXMgaWRlbnRpZnkgaG93IHRoZXNlIHJldHJpZXMgYXJlIGdvdmVybmVkLiBJIG5lZWQgdG8gZmluZCB0aGUgc3BlY2lmaWMgY29uZmlnIG9wdGlvbnMgdGhhdCBkaWN0YXRlIHRoZSBiZWhhdmlvciBvZiB0aGVzZSBmdW5jdGlvbnMg4oCTIGhvdyBtYW55IHRpbWVzIHRoZXkgcmV0cnksIHRoZSBiYWNrb2ZmIHN0cmF0ZWd5IHVzZWQsIHRpbWVvdXQgdmFsdWVzLCBhbmQgZXJyb3IgY29uZGl0aW9ucyB0aGF0IHRyaWdnZXIgcmV0cmllcy4gS25vd2luZyB0aGUgY29uZmlnIG9wdGlvbnMgYWxsb3dzIG1lIHRvIHVuZGVyc3RhbmQgYW5kIHBvdGVudGlhbGx5IG1vZGlmeSB0aGUgc3lzdGVtLWxldmVsIHJldHJ5IHBvbGljeS4gSSB3aWxsIG5lZWQgdGhpcyBpbmZvcm1hdGlvbiB0byBwcm9jZWVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDEzOjA4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBORVRGU18mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtmcy9uZXRmcy9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL25ldGZzL0tjb25maWctMi1cbmZzL25ldGZzL0tjb25maWc6Mzpjb25maWcgTkVURlNfU1VQUE9SVFxuZnMvbmV0ZnMvS2NvbmZpZy00LVx0dHJpc3RhdGVcbi0tXG5mcy9uZXRmcy9LY29uZmlnLTktXG5mcy9uZXRmcy9LY29uZmlnOjEwOmNvbmZpZyBORVRGU19TVEFUU1xuZnMvbmV0ZnMvS2NvbmZpZy0xMS1cdGJvb2wgXCYjMzQ7R2F0aGVyIHN0YXRpc3RpY2FsIGluZm9ybWF0aW9uIG9uIGxvY2FsIGNhY2hpbmdcJiMzNDtcbi0tXG5mcy9uZXRmcy9LY29uZmlnLTI0LVxuZnMvbmV0ZnMvS2NvbmZpZzoyNTpjb25maWcgTkVURlNfREVCVUdcbmZzL25ldGZzL0tjb25maWctMjYtXHRib29sIFwmIzM0O0VuYWJsZSBkeW5hbWljIGRlYnVnZ2luZyBuZXRmc2xpYiBhbmQgRlMtQ2FjaGVcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNzIwCgkJCQkJCQlvdXRwdXQ6IDEyMgoJCQkJCQkJdGhvdWdodHM6IDUzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgdGhlIE5FVEZTX1NVUFBPUlQgQ29uZmlndXJhdGlvbioqCgpPa2F5LCBzbyB0aGUgc3BvdGxpZ2h0JiMzOTtzIG9uIGBORVRGU19TVVBQT1JUYC4gVGhpcyBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGxvb2tpbmcgbGlrZSBhIHByaW1lIGNhbmRpZGF0ZSBmb3Igc29tZSBzZXJpb3VzIGZ1enppbmcuIFRoZSBwYXRjaCBhc3NvY2lhdGVkIHdpdGggaXQgc2VlbXMgbGlrZSBhIGp1aWN5IHRhcmdldCwgcmlwZSB3aXRoIHBvdGVudGlhbCB2dWxuZXJhYmlsaXRpZXMuIEkgbmVlZCB0byBkaWcgaW50byBpdC4KCk15IGZvY3VzIGhhcyB0byBiZSBvbiB0aGVzZSBzcGVjaWZpYyBzeW1ib2xzOiBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gLiBUaGVzZSBsb29rIGxpa2Uga2V5IGFyZWFzIHdoZXJlIHJldHJpZXMgYXJlIGltcGxlbWVudGVkLCBsaWtlbHkgY29udGFpbmluZyBzb21lIGNvbXBsZXggbG9naWMgdGhhdCBjb3VsZCBiZSBzdWJ2ZXJ0ZWQuIEkmIzM5O2xsIG5lZWQgdG8gZW5hYmxlIGBORVRGU19TVVBQT1JUYCwgb2J2aW91c2x5LCB0byBoYXZlIGFueSBlZmZlY3QsIGFuZCBnZXQgc3RhcnRlZCEKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TkVURlNfU1VQUE9SVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHMmIzM0OywKICAgICYjMzQ7bmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSByZXRyeSBsb2dpYyBmb3IgcmVhZCBhbmQgd3JpdGUgc3VicmVxdWVzdHMgaW4gbmV0ZnMsIHJlcGxhY2luZyBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlIHdpdGggYSBjdXN0b20gbG9vcCB1c2luZyBzbXBfbG9hZF9hY3F1aXJlIHRvIGZpeCBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbiBvciBtZW1vcnkgb3JkZXJpbmcgaXNzdWUuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIG5ldGZzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TkVURlNfU1VQUE9SVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHMmIzM0OywKICAgICYjMzQ7bmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSByZXRyeSBsb2dpYyBmb3IgcmVhZCBhbmQgd3JpdGUgc3VicmVxdWVzdHMgaW4gbmV0ZnMsIHJlcGxhY2luZyBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlIHdpdGggYSBjdXN0b20gbG9vcCB1c2luZyBzbXBfbG9hZF9hY3F1aXJlIHRvIGZpeCBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbiBvciBtZW1vcnkgb3JkZXJpbmcgaXNzdWUuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIG5ldGZzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjA4Ljk4MTIxNTkzOVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyMDIyNzA5NDYyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5FVEZTX1NVUFBPUlRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzXCIsXG4gICAgXCJuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgcmV0cnkgbG9naWMgZm9yIHJlYWQgYW5kIHdyaXRlIHN1YnJlcXVlc3RzIGluIG5ldGZzLCByZXBsYWNpbmcgbGlzdF9mb3JfZWFjaF9jb250aW51ZSB3aXRoIGEgY3VzdG9tIGxvb3AgdXNpbmcgc21wX2xvYWRfYWNxdWlyZSB0byBmaXggYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24gb3IgbWVtb3J5IG9yZGVyaW5nIGlzc3VlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBuZXRmcyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjA4Ljk4MTIyMjc3OVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjMyNDYzOTI2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgYmE0M2JhYzI0OGRiNzdjMmRmMWY3NGI1YWFhMTVlOGE5NDkxMDQwMlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCAyIDEzOjA4OjA3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuYyBiL2ZzL25ldGZzL3JlYWRfcmV0cnkuY1xcbmluZGV4IGY1OWE3MGYzYTA4NmI0Li4yYjQyNzU4ZTAxZWM5NCAxMDA2NDRcXG4tLS0gYS9mcy9uZXRmcy9yZWFkX3JldHJ5LmNcXG4rKysgYi9mcy9uZXRmcy9yZWFkX3JldHJ5LmNcXG5AQCAtOTgsNyArOTgsMTIgQEAgc3RhdGljIHZvaWQgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0cyhzdHJ1Y3QgbmV0ZnNfaW9fcmVxdWVzdCAqcnJlcSlcXG4gXFx0XFx0XFx0Z290byBhYmFuZG9uO1xcbiBcXHRcXHR9XFxuIFxcbi1cXHRcXHRsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlKG5leHQsIFxcdTAwMjZzdHJlYW0tXFx1MDAzZXN1YnJlcXVlc3RzKSB7XFxuK1xcdFxcdGZvciAoOzspIHtcXG4rXFx0XFx0XFx0LyogUmVhZCBwb2ludGVyIHRvIHN1YnJlcSBiZWZvcmUgcmVhZGluZyBzdWJyZXEgc3RhdGUuICovXFxuK1xcdFxcdFxcdG5leHQgPSBzbXBfbG9hZF9hY3F1aXJlKFxcdTAwMjZuZXh0LVxcdTAwM2VuZXh0KTtcXG4rXFx0XFx0XFx0aWYgKG5leHQgPT0gXFx1MDAyNnN0cmVhbS1cXHUwMDNlc3VicmVxdWVzdHMpXFxuK1xcdFxcdFxcdFxcdGJyZWFrO1xcbitcXG4gXFx0XFx0XFx0c3VicmVxID0gbGlzdF9lbnRyeShuZXh0LCBzdHJ1Y3QgbmV0ZnNfaW9fc3VicmVxdWVzdCwgcnJlcV9saW5rKTtcXG4gXFx0XFx0XFx0aWYgKHN1YnJlcS1cXHUwMDNlc3RhcnQgKyBzdWJyZXEtXFx1MDAzZXRyYW5zZmVycmVkICE9IHN0YXJ0ICsgbGVuIHx8XFxuIFxcdFxcdFxcdCAgICB0ZXN0X2JpdChORVRGU19TUkVRX0JPVU5EQVJZLCBcXHUwMDI2c3VicmVxLVxcdTAwM2VmbGFncykgfHxcXG5kaWZmIC0tZ2l0IGEvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYyBiL2ZzL25ldGZzL3dyaXRlX3JldHJ5LmNcXG5pbmRleCAzMjczNWFiZmEwM2YwNi4uMDU4YmM3YTE2NmE1OWYgMTAwNjQ0XFxuLS0tIGEvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY1xcbisrKyBiL2ZzL25ldGZzL3dyaXRlX3JldHJ5LmNcXG5AQCAtNzIsNyArNzIsMTIgQEAgc3RhdGljIHZvaWQgbmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICp3cmVxLFxcbiBcXHRcXHQgICAgIXRlc3RfYml0KE5FVEZTX1NSRVFfTkVFRF9SRVRSWSwgXFx1MDAyNmZyb20tXFx1MDAzZWZsYWdzKSlcXG4gXFx0XFx0XFx0cmV0dXJuO1xcbiBcXG4tXFx0XFx0bGlzdF9mb3JfZWFjaF9jb250aW51ZShuZXh0LCBcXHUwMDI2c3RyZWFtLVxcdTAwM2VzdWJyZXF1ZXN0cykge1xcbitcXHRcXHRmb3IgKDs7KSB7XFxuK1xcdFxcdFxcdC8qIFJlYWQgcG9pbnRlciB0byBzdWJyZXEgYmVmb3JlIHJlYWRpbmcgc3VicmVxIHN0YXRlLiAqL1xcbitcXHRcXHRcXHRuZXh0ID0gc21wX2xvYWRfYWNxdWlyZShcXHUwMDI2bmV4dC1cXHUwMDNlbmV4dCk7XFxuK1xcdFxcdFxcdGlmIChuZXh0ID09IFxcdTAwMjZzdHJlYW0tXFx1MDAzZXN1YnJlcXVlc3RzKVxcbitcXHRcXHRcXHRcXHRicmVhaztcXG4rXFxuIFxcdFxcdFxcdHN1YnJlcSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IG5ldGZzX2lvX3N1YnJlcXVlc3QsIHJyZXFfbGluayk7XFxuIFxcdFxcdFxcdGlmIChzdWJyZXEtXFx1MDAzZXN0YXJ0ICsgc3VicmVxLVxcdTAwM2V0cmFuc2ZlcnJlZCAhPSBzdGFydCArIGxlbiB8fFxcbiBcXHRcXHRcXHQgICAgdGVzdF9iaXQoTkVURlNfU1JFUV9CT1VOREFSWSwgXFx1MDAyNnN1YnJlcS1cXHUwMDNlZmxhZ3MpIHx8XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjA5LjYxNjE3MjU1NloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjEzODc3NDA4NjcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkVURlNfU1VQUE9SVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHNcIixcbiAgICBcIm5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSByZXRyeSBsb2dpYyBmb3IgcmVhZCBhbmQgd3JpdGUgc3VicmVxdWVzdHMgaW4gbmV0ZnMsIHJlcGxhY2luZyBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlIHdpdGggYSBjdXN0b20gbG9vcCB1c2luZyBzbXBfbG9hZF9hY3F1aXJlIHRvIGZpeCBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbiBvciBtZW1vcnkgb3JkZXJpbmcgaXNzdWUuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIG5ldGZzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBiYTQzYmFjMjQ4ZGI3N2MyZGYxZjc0YjVhYWExNWU4YTk0OTEwNDAyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMiAxMzowODowNyAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuYyBiL2ZzL25ldGZzL3JlYWRfcmV0cnkuY1xuaW5kZXggZjU5YTcwZjNhMDg2YjQuLjJiNDI3NThlMDFlYzk0IDEwMDY0NFxuLS0tIGEvZnMvbmV0ZnMvcmVhZF9yZXRyeS5jXG4rKysgYi9mcy9uZXRmcy9yZWFkX3JldHJ5LmNcbkBAIC05OCw3ICs5OCwxMiBAQCBzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxKVxuIFx0XHRcdGdvdG8gYWJhbmRvbjtcbiBcdFx0fVxuIFxuLVx0XHRsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlKG5leHQsIFx1MDAyNnN0cmVhbS1cdTAwM2VzdWJyZXF1ZXN0cykge1xuK1x0XHRmb3IgKDs7KSB7XG4rXHRcdFx0LyogUmVhZCBwb2ludGVyIHRvIHN1YnJlcSBiZWZvcmUgcmVhZGluZyBzdWJyZXEgc3RhdGUuICovXG4rXHRcdFx0bmV4dCA9IHNtcF9sb2FkX2FjcXVpcmUoXHUwMDI2bmV4dC1cdTAwM2VuZXh0KTtcbitcdFx0XHRpZiAobmV4dCA9PSBcdTAwMjZzdHJlYW0tXHUwMDNlc3VicmVxdWVzdHMpXG4rXHRcdFx0XHRicmVhaztcbitcbiBcdFx0XHRzdWJyZXEgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBuZXRmc19pb19zdWJyZXF1ZXN0LCBycmVxX2xpbmspO1xuIFx0XHRcdGlmIChzdWJyZXEtXHUwMDNlc3RhcnQgKyBzdWJyZXEtXHUwMDNldHJhbnNmZXJyZWQgIT0gc3RhcnQgKyBsZW4gfHxcbiBcdFx0XHQgICAgdGVzdF9iaXQoTkVURlNfU1JFUV9CT1VOREFSWSwgXHUwMDI2c3VicmVxLVx1MDAzZWZsYWdzKSB8fFxuZGlmZiAtLWdpdCBhL2ZzL25ldGZzL3dyaXRlX3JldHJ5LmMgYi9mcy9uZXRmcy93cml0ZV9yZXRyeS5jXG5pbmRleCAzMjczNWFiZmEwM2YwNi4uMDU4YmM3YTE2NmE1OWYgMTAwNjQ0XG4tLS0gYS9mcy9uZXRmcy93cml0ZV9yZXRyeS5jXG4rKysgYi9mcy9uZXRmcy93cml0ZV9yZXRyeS5jXG5AQCAtNzIsNyArNzIsMTIgQEAgc3RhdGljIHZvaWQgbmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICp3cmVxLFxuIFx0XHQgICAgIXRlc3RfYml0KE5FVEZTX1NSRVFfTkVFRF9SRVRSWSwgXHUwMDI2ZnJvbS1cdTAwM2VmbGFncykpXG4gXHRcdFx0cmV0dXJuO1xuIFxuLVx0XHRsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlKG5leHQsIFx1MDAyNnN0cmVhbS1cdTAwM2VzdWJyZXF1ZXN0cykge1xuK1x0XHRmb3IgKDs7KSB7XG4rXHRcdFx0LyogUmVhZCBwb2ludGVyIHRvIHN1YnJlcSBiZWZvcmUgcmVhZGluZyBzdWJyZXEgc3RhdGUuICovXG4rXHRcdFx0bmV4dCA9IHNtcF9sb2FkX2FjcXVpcmUoXHUwMDI2bmV4dC1cdTAwM2VuZXh0KTtcbitcdFx0XHRpZiAobmV4dCA9PSBcdTAwMjZzdHJlYW0tXHUwMDNlc3VicmVxdWVzdHMpXG4rXHRcdFx0XHRicmVhaztcbitcbiBcdFx0XHRzdWJyZXEgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBuZXRmc19pb19zdWJyZXF1ZXN0LCBycmVxX2xpbmspO1xuIFx0XHRcdGlmIChzdWJyZXEtXHUwMDNlc3RhcnQgKyBzdWJyZXEtXHUwMDNldHJhbnNmZXJyZWQgIT0gc3RhcnQgKyBsZW4gfHxcbiBcdFx0XHQgICAgdGVzdF9iaXQoTkVURlNfU1JFUV9CT1VOREFSWSwgXHUwMDI2c3VicmVxLVx1MDAzZWZsYWdzKSB8fFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTM6MDg6MDkuNjE2MTc0MzM2WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTQ2NDMwODc5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgY29kZSBjaGFuZ2VzLCBzdW1tYXJpemVkIGluIHRoZSBmaXJzdCBwZXJzb24sIGFzIGlmIHRoZXNlIGFyZSBteSBpbW1lZGlhdGUgdGhvdWdodHM6XG5cbioqQW5hbHl6aW5nIGEgTmV0ZnMgUGF0Y2g6IFBvc3NpYmxlIFJhY2UgQ29uZGl0aW9uIEZpeCoqXG5cbkFscmlnaHQsIEkgc2VlIHRoaXMgcGF0Y2ggaXMgaGl0dGluZyBgZnMvbmV0ZnMvcmVhZF9yZXRyeS5jYCBhbmQgYGZzL25ldGZzL3dyaXRlX3JldHJ5LmNgLiBTcGVjaWZpY2FsbHksIGl0IGxvb2tzIGxpa2UgdGhleSdyZSByZXBsYWNpbmcgdGhlIHN0YW5kYXJkIGBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlYCBsb29wIHdpdGggYSBjdXN0b20gb25lIHRoYXQgdXNlcyBgc21wX2xvYWRfYWNxdWlyZShcdTAwMjZuZXh0LVx1MDAzZW5leHQpYC4gSW1tZWRpYXRlbHksIHRoYXQganVtcHMgb3V0IHRvIG1lIGFzIGEgcG90ZW50aWFsIGZpeCBmb3IgYSByYWNlIGNvbmRpdGlvbiBvciBhIG1lbW9yeSBvcmRlcmluZyBpc3N1ZSBpbiB0aGUgbmV0ZnMgY29kZS4gVGhleSdyZSBjbGVhcmx5IHRyeWluZyB0byBlbmZvcmNlIHNvbWUgc3Ryb25nZXIgbWVtb3J5IGJhcnJpZXIgc2VtYW50aWNzIGFyb3VuZCBob3cgdGhleSBpdGVyYXRlIHRocm91Z2ggdGhhdCBsaW5rZWQgbGlzdCwgYHN0cmVhbS1cdTAwM2VzdWJyZXF1ZXN0c2AuIFRoZSBgYWNxdWlyZWAgcGFydCBvZiBgc21wX2xvYWRfYWNxdWlyZWAgaXMgYSBiaWcgY2x1ZSDigJMgaXQgc3VnZ2VzdHMgdGhhdCB0aGUgd3JpdGVzIHRvIGBuZXh0LVx1MDAzZW5leHRgIG1pZ2h0IGJlIGhhcHBlbmluZyBvbiBhIGRpZmZlcmVudCBDUFUgYW5kIHdlIG5lZWQgdG8gZW5zdXJlIHZpc2liaWxpdHkuXG5cbkxldCdzIGRyaWxsIGRvd24gYSBiaXQuIFRoZSBzcGVjaWZpYyBmdW5jdGlvbnMgdGhleSBhcmUgdG91Y2hpbmcgYXJlOiBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgaW4gYHJlYWRfcmV0cnkuY2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gIGluIGB3cml0ZV9yZXRyeS5jYC4gS25vd2luZyB3aGljaCBmdW5jdGlvbnMgYXJlIGludm9sdmVkIGhlbHBzIGEgbG90LCBpdCBnaXZlcyBtZSBpbW1lZGlhdGUgY29udGV4dCB0byB3b3JrIGZyb20uXG5cbk5vdywgSSB3YW50IHRvIHVuZGVyc3RhbmQgdGhlICp3aHkqLiBXaGF0J3MgdGhlIGNvbnRleHQgaGVyZT8gSeKAmWxsIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbiBvcHRpb25zIHRoYXQgbWF5IGJlIGltcGFjdGVkLiBJJ20gZ29pbmcgdG8gcXVpY2tseSBncmVwIHRocm91Z2ggdGhlIGtlcm5lbCBzb3VyY2VzIGZvciBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gIHRvIHNlZSBob3cgdGhvc2UgZnVuY3Rpb25zIGFyZSB1c2VkIGFuZCBob3cgdGhleSByZWxhdGUgdG8gdGhlIGJpZ2dlciBuZXRmcyBwaWN0dXJlLiBUaGlzIHdpbGwgZ2l2ZSBtZSBhIHNlbnNlIG9mIHdoYXQgdGhlIHBhdGNoIGlzIHRyeWluZyB0byAqYWNjb21wbGlzaCogYnkgYWRkcmVzc2luZyB0aGlzIHBhcnRpY3VsYXIgcmFjZSBjb25kaXRpb24gb3IgbWVtb3J5IHZpc2liaWxpdHkgaXNzdWUuIEnigJltIHRoaW5raW5nIHRoZXJlIG1pZ2h0IGJlIHJlbGF0ZWQgY29uZmlndXJhdGlvbiBvcHRpb25zLCBzbyBJIHdpbGwgaW52ZXN0aWdhdGUgdGhpcyBmdXJ0aGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMjE3LCJPdXRwdXRUb2tlbnMiOjQ1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTg2LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTM6MDg6MTUuMDgwNDg1NTQxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU3MTYwNTg2MzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJmcy9uZXRmcy9yZWFkX3JldHJ5LmM9MTI9c3RhdGljIHZvaWQgbmV0ZnNfcmVpc3N1ZV9yZWFkKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxLFxcbi0tXFxuZnMvbmV0ZnMvcmVhZF9yZXRyeS5jLTI1LSAqL1xcbmZzL25ldGZzL3JlYWRfcmV0cnkuYzoyNjpzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxKVxcbmZzL25ldGZzL3JlYWRfcmV0cnkuYy0yNy17XFxuLS1cXG5mcy9uZXRmcy9yZWFkX3JldHJ5LmM9MjcwPXZvaWQgbmV0ZnNfcmV0cnlfcmVhZHMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKnJyZXEpXFxuLS1cXG5mcy9uZXRmcy9yZWFkX3JldHJ5LmMtMjgzLVxcdHRyYWNlX25ldGZzX3JyZXEocnJlcSwgbmV0ZnNfcnJlcV90cmFjZV9yZXN1Ym1pdCk7XFxuZnMvbmV0ZnMvcmVhZF9yZXRyeS5jOjI4NDpcXHRuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHJyZXEpO1xcbmZzL25ldGZzL3JlYWRfcmV0cnkuYy0yODUtfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMzowODoyMC43OTY1NDg4OTZaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Mjc4Nzk2NzAxNSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYy0xNi0gKi9cXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jOjE3OnN0YXRpYyB2b2lkIG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbShzdHJ1Y3QgbmV0ZnNfaW9fcmVxdWVzdCAqd3JlcSxcXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jLTE4LVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG5ldGZzX2lvX3N0cmVhbSAqc3RyZWFtKVxcbi0tXFxuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYz0yMDg9dm9pZCBuZXRmc19yZXRyeV93cml0ZXMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKndyZXEpXFxuLS1cXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jLTIzNC1cXHRcXHRcXHRzdHJlYW0tXFx1MDAzZW5lZWRfcmV0cnkgPSBmYWxzZTtcXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jOjIzNTpcXHRcXHRcXHRuZXRmc19yZXRyeV93cml0ZV9zdHJlYW0od3JlcSwgc3RyZWFtKTtcXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jLTIzNi1cXHRcXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjIzLjU4NDUyNTMyMVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMwNTg5NTc1NzUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBhbmFseXNpcyBvZiB0aGUgc2l0dWF0aW9uOlxuXG4qKkludmVzdGlnYXRpbmcgTmV0RlMgUmV0cnkgQ29uZmlndXJhdGlvbnMqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGVzZSB0d28gZnVuY3Rpb25zLCBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gLCBhbmQgdGhleSdyZSBjbGVhcmx5IGRlYWxpbmcgd2l0aCByZXRyeSBtZWNoYW5pc21zIHdpdGhpbiB0aGUgTmV0RlMgY29tcG9uZW50LiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gaW1tZWRpYXRlbHkgem9vbSBpbiBvbiB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gTmV0RlMuIFJldHJ5IGxvZ2ljIGNhbiBiZSBjb21wbGV4IGFuZCBpcyBvZnRlbiBwYXJhbWV0ZXJpemVkLCBzbyB0aGUgZmlyc3QgdGhpbmcgSSBuZWVkIHRvIGRvIGlzIGlkZW50aWZ5IGhvdyB0aGVzZSByZXRyaWVzIGFyZSBnb3Zlcm5lZC4gSSBuZWVkIHRvIGZpbmQgdGhlIHNwZWNpZmljIGNvbmZpZyBvcHRpb25zIHRoYXQgZGljdGF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlc2UgZnVuY3Rpb25zIOKAkyBob3cgbWFueSB0aW1lcyB0aGV5IHJldHJ5LCB0aGUgYmFja29mZiBzdHJhdGVneSB1c2VkLCB0aW1lb3V0IHZhbHVlcywgYW5kIGVycm9yIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIHJldHJpZXMuIEtub3dpbmcgdGhlIGNvbmZpZyBvcHRpb25zIGFsbG93cyBtZSB0byB1bmRlcnN0YW5kIGFuZCBwb3RlbnRpYWxseSBtb2RpZnkgdGhlIHN5c3RlbS1sZXZlbCByZXRyeSBwb2xpY3kuIEkgd2lsbCBuZWVkIHRoaXMgaW5mb3JtYXRpb24gdG8gcHJvY2VlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzMxMCwiT3V0cHV0VG9rZW5zIjozMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciIsImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMzowODoyNi42NDM0ODU5MDZaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTAxMTgzMTcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIE5FVEZTX1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9uZXRmcy9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL25ldGZzL0tjb25maWctMi1cXG5mcy9uZXRmcy9LY29uZmlnOjM6Y29uZmlnIE5FVEZTX1NVUFBPUlRcXG5mcy9uZXRmcy9LY29uZmlnLTQtXFx0dHJpc3RhdGVcXG4tLVxcbmZzL25ldGZzL0tjb25maWctOS1cXG5mcy9uZXRmcy9LY29uZmlnOjEwOmNvbmZpZyBORVRGU19TVEFUU1xcbmZzL25ldGZzL0tjb25maWctMTEtXFx0Ym9vbCBcXFwiR2F0aGVyIHN0YXRpc3RpY2FsIGluZm9ybWF0aW9uIG9uIGxvY2FsIGNhY2hpbmdcXFwiXFxuLS1cXG5mcy9uZXRmcy9LY29uZmlnLTI0LVxcbmZzL25ldGZzL0tjb25maWc6MjU6Y29uZmlnIE5FVEZTX0RFQlVHXFxuZnMvbmV0ZnMvS2NvbmZpZy0yNi1cXHRib29sIFxcXCJFbmFibGUgZHluYW1pYyBkZWJ1Z2dpbmcgbmV0ZnNsaWIgYW5kIEZTLUNhY2hlXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMzowODoyNi43MzM2MTI0ODNaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTA2NjIwNzY2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgdGhlIE5FVEZTX1NVUFBPUlQgQ29uZmlndXJhdGlvbioqXG5cbk9rYXksIHNvIHRoZSBzcG90bGlnaHQncyBvbiBgTkVURlNfU1VQUE9SVGAuIFRoaXMgcGFydGljdWxhciBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBsb29raW5nIGxpa2UgYSBwcmltZSBjYW5kaWRhdGUgZm9yIHNvbWUgc2VyaW91cyBmdXp6aW5nLiBUaGUgcGF0Y2ggYXNzb2NpYXRlZCB3aXRoIGl0IHNlZW1zIGxpa2UgYSBqdWljeSB0YXJnZXQsIHJpcGUgd2l0aCBwb3RlbnRpYWwgdnVsbmVyYWJpbGl0aWVzLiBJIG5lZWQgdG8gZGlnIGludG8gaXQuXG5cbk15IGZvY3VzIGhhcyB0byBiZSBvbiB0aGVzZSBzcGVjaWZpYyBzeW1ib2xzOiBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gLiBUaGVzZSBsb29rIGxpa2Uga2V5IGFyZWFzIHdoZXJlIHJldHJpZXMgYXJlIGltcGxlbWVudGVkLCBsaWtlbHkgY29udGFpbmluZyBzb21lIGNvbXBsZXggbG9naWMgdGhhdCBjb3VsZCBiZSBzdWJ2ZXJ0ZWQuIEknbGwgbmVlZCB0byBlbmFibGUgYE5FVEZTX1NVUFBPUlRgLCBvYnZpb3VzbHksIHRvIGhhdmUgYW55IGVmZmVjdCwgYW5kIGdldCBzdGFydGVkIVxuXG5cbiIsIklucHV0VG9rZW5zIjozNzIwLCJPdXRwdXRUb2tlbnMiOjEyMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjMwLjg0MDIzNjA2OVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTYzNjcwNDE0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJORVRGU19TVVBQT1JUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c1wiLFxuICAgIFwibmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHJldHJ5IGxvZ2ljIGZvciByZWFkIGFuZCB3cml0ZSBzdWJyZXF1ZXN0cyBpbiBuZXRmcywgcmVwbGFjaW5nIGxpc3RfZm9yX2VhY2hfY29udGludWUgd2l0aCBhIGN1c3RvbSBsb29wIHVzaW5nIHNtcF9sb2FkX2FjcXVpcmUgdG8gZml4IGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uIG9yIG1lbW9yeSBvcmRlcmluZyBpc3N1ZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgbmV0ZnMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5FVEZTX1NVUFBPUlRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzXCIsXG4gICAgXCJuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgcmV0cnkgbG9naWMgZm9yIHJlYWQgYW5kIHdyaXRlIHN1YnJlcXVlc3RzIGluIG5ldGZzLCByZXBsYWNpbmcgbGlzdF9mb3JfZWFjaF9jb250aW51ZSB3aXRoIGEgY3VzdG9tIGxvb3AgdXNpbmcgc21wX2xvYWRfYWNxdWlyZSB0byBmaXggYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24gb3IgbWVtb3J5IG9yZGVyaW5nIGlzc3VlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBuZXRmcyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowl9s8h[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-02 12:53:33 +0000 UTC FinishedAt: 2026-07-02 13:08:32 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "4a50a141f05a8d1737661b19ee22ff8455b94409", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NETFS_SUPPORT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "4a50a141f05a8d1737661b19ee22ff8455b94409", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NETFS_SUPPORT" ], "series_id": "17eb5bcb-974c-4dfc-b1c9-5482b6188929" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "netfs_retry_read_subrequests", "netfs_retry_write_stream" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDEzOjA4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05FVEZTX1NVUFBPUlQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzJiMzNDssCiAgICAmIzM0O25ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgcmV0cnkgbG9naWMgZm9yIHJlYWQgYW5kIHdyaXRlIHN1YnJlcXVlc3RzIGluIG5ldGZzLCByZXBsYWNpbmcgbGlzdF9mb3JfZWFjaF9jb250aW51ZSB3aXRoIGEgY3VzdG9tIGxvb3AgdXNpbmcgc21wX2xvYWRfYWNxdWlyZSB0byBmaXggYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24gb3IgbWVtb3J5IG9yZGVyaW5nIGlzc3VlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBuZXRmcyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMTM6MDg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBiYTQzYmFjMjQ4ZGI3N2MyZGYxZjc0YjVhYWExNWU4YTk0OTEwNDAyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMiAxMzowODowNyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9uZXRmcy9yZWFkX3JldHJ5LmMgYi9mcy9uZXRmcy9yZWFkX3JldHJ5LmNcbmluZGV4IGY1OWE3MGYzYTA4NmI0Li4yYjQyNzU4ZTAxZWM5NCAxMDA2NDRcbi0tLSBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvbmV0ZnMvcmVhZF9yZXRyeS5jXG5AQCAtOTgsNyAmIzQzOzk4LDEyIEBAIHN0YXRpYyB2b2lkIG5ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKnJyZXEpXG4gXHRcdFx0Z290byBhYmFuZG9uO1xuIFx0XHR9XG4gXG4tXHRcdGxpc3RfZm9yX2VhY2hfY29udGludWUobmV4dCwgXHUwMDI2c3RyZWFtLVx1MDAzZXN1YnJlcXVlc3RzKSB7XG4mIzQzO1x0XHRmb3IgKDs7KSB7XG4mIzQzO1x0XHRcdC8qIFJlYWQgcG9pbnRlciB0byBzdWJyZXEgYmVmb3JlIHJlYWRpbmcgc3VicmVxIHN0YXRlLiAqL1xuJiM0MztcdFx0XHRuZXh0ID0gc21wX2xvYWRfYWNxdWlyZShcdTAwMjZuZXh0LVx1MDAzZW5leHQpO1xuJiM0MztcdFx0XHRpZiAobmV4dCA9PSBcdTAwMjZzdHJlYW0tXHUwMDNlc3VicmVxdWVzdHMpXG4mIzQzO1x0XHRcdFx0YnJlYWs7XG4mIzQzO1xuIFx0XHRcdHN1YnJlcSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IG5ldGZzX2lvX3N1YnJlcXVlc3QsIHJyZXFfbGluayk7XG4gXHRcdFx0aWYgKHN1YnJlcS1cdTAwM2VzdGFydCAmIzQzOyBzdWJyZXEtXHUwMDNldHJhbnNmZXJyZWQgIT0gc3RhcnQgJiM0MzsgbGVuIHx8XG4gXHRcdFx0ICAgIHRlc3RfYml0KE5FVEZTX1NSRVFfQk9VTkRBUlksIFx1MDAyNnN1YnJlcS1cdTAwM2VmbGFncykgfHxcbmRpZmYgLS1naXQgYS9mcy9uZXRmcy93cml0ZV9yZXRyeS5jIGIvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY1xuaW5kZXggMzI3MzVhYmZhMDNmMDYuLjA1OGJjN2ExNjZhNTlmIDEwMDY0NFxuLS0tIGEvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY1xuQEAgLTcyLDcgJiM0Mzs3MiwxMiBAQCBzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW0oc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKndyZXEsXG4gXHRcdCAgICAhdGVzdF9iaXQoTkVURlNfU1JFUV9ORUVEX1JFVFJZLCBcdTAwMjZmcm9tLVx1MDAzZWZsYWdzKSlcbiBcdFx0XHRyZXR1cm47XG4gXG4tXHRcdGxpc3RfZm9yX2VhY2hfY29udGludWUobmV4dCwgXHUwMDI2c3RyZWFtLVx1MDAzZXN1YnJlcXVlc3RzKSB7XG4mIzQzO1x0XHRmb3IgKDs7KSB7XG4mIzQzO1x0XHRcdC8qIFJlYWQgcG9pbnRlciB0byBzdWJyZXEgYmVmb3JlIHJlYWRpbmcgc3VicmVxIHN0YXRlLiAqL1xuJiM0MztcdFx0XHRuZXh0ID0gc21wX2xvYWRfYWNxdWlyZShcdTAwMjZuZXh0LVx1MDAzZW5leHQpO1xuJiM0MztcdFx0XHRpZiAobmV4dCA9PSBcdTAwMjZzdHJlYW0tXHUwMDNlc3VicmVxdWVzdHMpXG4mIzQzO1x0XHRcdFx0YnJlYWs7XG4mIzQzO1xuIFx0XHRcdHN1YnJlcSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IG5ldGZzX2lvX3N1YnJlcXVlc3QsIHJyZXFfbGluayk7XG4gXHRcdFx0aWYgKHN1YnJlcS1cdTAwM2VzdGFydCAmIzQzOyBzdWJyZXEtXHUwMDNldHJhbnNmZXJyZWQgIT0gc3RhcnQgJiM0MzsgbGVuIHx8XG4gXHRcdFx0ICAgIHRlc3RfYml0KE5FVEZTX1NSRVFfQk9VTkRBUlksIFx1MDAyNnN1YnJlcS1cdTAwM2VmbGFncykgfHxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORVRGU19TVVBQT1JUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0cyYjMzQ7LAogICAgJiMzNDtuZXRmc19yZXRyeV93cml0ZV9zdHJlYW0mIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHJldHJ5IGxvZ2ljIGZvciByZWFkIGFuZCB3cml0ZSBzdWJyZXF1ZXN0cyBpbiBuZXRmcywgcmVwbGFjaW5nIGxpc3RfZm9yX2VhY2hfY29udGludWUgd2l0aCBhIGN1c3RvbSBsb29wIHVzaW5nIHNtcF9sb2FkX2FjcXVpcmUgdG8gZml4IGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uIG9yIG1lbW9yeSBvcmRlcmluZyBpc3N1ZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgbmV0ZnMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBiYTQzYmFjMjQ4ZGI3N2MyZGYxZjc0YjVhYWExNWU4YTk0OTEwNDAyCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFRodSBKdWwgMiAxMzowODowNyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuYyBiL2ZzL25ldGZzL3JlYWRfcmV0cnkuYwppbmRleCBmNTlhNzBmM2EwODZiNC4uMmI0Mjc1OGUwMWVjOTQgMTAwNjQ0Ci0tLSBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuYwomIzQzOyYjNDM7JiM0MzsgYi9mcy9uZXRmcy9yZWFkX3JldHJ5LmMKQEAgLTk4LDcgJiM0Mzs5OCwxMiBAQCBzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxKQogCQkJZ290byBhYmFuZG9uOwogCQl9CiAKLQkJbGlzdF9mb3JfZWFjaF9jb250aW51ZShuZXh0LCAmYW1wO3N0cmVhbS0mZ3Q7c3VicmVxdWVzdHMpIHsKJiM0MzsJCWZvciAoOzspIHsKJiM0MzsJCQkvKiBSZWFkIHBvaW50ZXIgdG8gc3VicmVxIGJlZm9yZSByZWFkaW5nIHN1YnJlcSBzdGF0ZS4gKi8KJiM0MzsJCQluZXh0ID0gc21wX2xvYWRfYWNxdWlyZSgmYW1wO25leHQtJmd0O25leHQpOwomIzQzOwkJCWlmIChuZXh0ID09ICZhbXA7c3RyZWFtLSZndDtzdWJyZXF1ZXN0cykKJiM0MzsJCQkJYnJlYWs7CiYjNDM7CiAJCQlzdWJyZXEgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBuZXRmc19pb19zdWJyZXF1ZXN0LCBycmVxX2xpbmspOwogCQkJaWYgKHN1YnJlcS0mZ3Q7c3RhcnQgJiM0Mzsgc3VicmVxLSZndDt0cmFuc2ZlcnJlZCAhPSBzdGFydCAmIzQzOyBsZW4gfHwKIAkJCSAgICB0ZXN0X2JpdChORVRGU19TUkVRX0JPVU5EQVJZLCAmYW1wO3N1YnJlcS0mZ3Q7ZmxhZ3MpIHx8CmRpZmYgLS1naXQgYS9mcy9uZXRmcy93cml0ZV9yZXRyeS5jIGIvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYwppbmRleCAzMjczNWFiZmEwM2YwNi4uMDU4YmM3YTE2NmE1OWYgMTAwNjQ0Ci0tLSBhL2ZzL25ldGZzL3dyaXRlX3JldHJ5LmMKJiM0MzsmIzQzOyYjNDM7IGIvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYwpAQCAtNzIsNyAmIzQzOzcyLDEyIEBAIHN0YXRpYyB2b2lkIG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbShzdHJ1Y3QgbmV0ZnNfaW9fcmVxdWVzdCAqd3JlcSwKIAkJICAgICF0ZXN0X2JpdChORVRGU19TUkVRX05FRURfUkVUUlksICZhbXA7ZnJvbS0mZ3Q7ZmxhZ3MpKQogCQkJcmV0dXJuOwogCi0JCWxpc3RfZm9yX2VhY2hfY29udGludWUobmV4dCwgJmFtcDtzdHJlYW0tJmd0O3N1YnJlcXVlc3RzKSB7CiYjNDM7CQlmb3IgKDs7KSB7CiYjNDM7CQkJLyogUmVhZCBwb2ludGVyIHRvIHN1YnJlcSBiZWZvcmUgcmVhZGluZyBzdWJyZXEgc3RhdGUuICovCiYjNDM7CQkJbmV4dCA9IHNtcF9sb2FkX2FjcXVpcmUoJmFtcDtuZXh0LSZndDtuZXh0KTsKJiM0MzsJCQlpZiAobmV4dCA9PSAmYW1wO3N0cmVhbS0mZ3Q7c3VicmVxdWVzdHMpCiYjNDM7CQkJCWJyZWFrOwomIzQzOwogCQkJc3VicmVxID0gbGlzdF9lbnRyeShuZXh0LCBzdHJ1Y3QgbmV0ZnNfaW9fc3VicmVxdWVzdCwgcnJlcV9saW5rKTsKIAkJCWlmIChzdWJyZXEtJmd0O3N0YXJ0ICYjNDM7IHN1YnJlcS0mZ3Q7dHJhbnNmZXJyZWQgIT0gc3RhcnQgJiM0MzsgbGVuIHx8CiAJCQkgICAgdGVzdF9iaXQoTkVURlNfU1JFUV9CT1VOREFSWSwgJmFtcDtzdWJyZXEtJmd0O2ZsYWdzKSB8fAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMjE3CgkJCQkJCQlvdXRwdXQ6IDQ1CgkJCQkJCQl0aG91Z2h0czogMTg2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgY29kZSBjaGFuZ2VzLCBzdW1tYXJpemVkIGluIHRoZSBmaXJzdCBwZXJzb24sIGFzIGlmIHRoZXNlIGFyZSBteSBpbW1lZGlhdGUgdGhvdWdodHM6CgoqKkFuYWx5emluZyBhIE5ldGZzIFBhdGNoOiBQb3NzaWJsZSBSYWNlIENvbmRpdGlvbiBGaXgqKgoKQWxyaWdodCwgSSBzZWUgdGhpcyBwYXRjaCBpcyBoaXR0aW5nIGBmcy9uZXRmcy9yZWFkX3JldHJ5LmNgIGFuZCBgZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY2AuIFNwZWNpZmljYWxseSwgaXQgbG9va3MgbGlrZSB0aGV5JiMzOTtyZSByZXBsYWNpbmcgdGhlIHN0YW5kYXJkIGBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlYCBsb29wIHdpdGggYSBjdXN0b20gb25lIHRoYXQgdXNlcyBgc21wX2xvYWRfYWNxdWlyZSgmYW1wO25leHQtJmd0O25leHQpYC4gSW1tZWRpYXRlbHksIHRoYXQganVtcHMgb3V0IHRvIG1lIGFzIGEgcG90ZW50aWFsIGZpeCBmb3IgYSByYWNlIGNvbmRpdGlvbiBvciBhIG1lbW9yeSBvcmRlcmluZyBpc3N1ZSBpbiB0aGUgbmV0ZnMgY29kZS4gVGhleSYjMzk7cmUgY2xlYXJseSB0cnlpbmcgdG8gZW5mb3JjZSBzb21lIHN0cm9uZ2VyIG1lbW9yeSBiYXJyaWVyIHNlbWFudGljcyBhcm91bmQgaG93IHRoZXkgaXRlcmF0ZSB0aHJvdWdoIHRoYXQgbGlua2VkIGxpc3QsIGBzdHJlYW0tJmd0O3N1YnJlcXVlc3RzYC4gVGhlIGBhY3F1aXJlYCBwYXJ0IG9mIGBzbXBfbG9hZF9hY3F1aXJlYCBpcyBhIGJpZyBjbHVlIOKAkyBpdCBzdWdnZXN0cyB0aGF0IHRoZSB3cml0ZXMgdG8gYG5leHQtJmd0O25leHRgIG1pZ2h0IGJlIGhhcHBlbmluZyBvbiBhIGRpZmZlcmVudCBDUFUgYW5kIHdlIG5lZWQgdG8gZW5zdXJlIHZpc2liaWxpdHkuCgpMZXQmIzM5O3MgZHJpbGwgZG93biBhIGJpdC4gVGhlIHNwZWNpZmljIGZ1bmN0aW9ucyB0aGV5IGFyZSB0b3VjaGluZyBhcmU6IGBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzYCBpbiBgcmVhZF9yZXRyeS5jYCBhbmQgYG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbWAgaW4gYHdyaXRlX3JldHJ5LmNgLiBLbm93aW5nIHdoaWNoIGZ1bmN0aW9ucyBhcmUgaW52b2x2ZWQgaGVscHMgYSBsb3QsIGl0IGdpdmVzIG1lIGltbWVkaWF0ZSBjb250ZXh0IHRvIHdvcmsgZnJvbS4KCk5vdywgSSB3YW50IHRvIHVuZGVyc3RhbmQgdGhlICp3aHkqLiBXaGF0JiMzOTtzIHRoZSBjb250ZXh0IGhlcmU/IEnigJlsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0aGF0IG1heSBiZSBpbXBhY3RlZC4gSSYjMzk7bSBnb2luZyB0byBxdWlja2x5IGdyZXAgdGhyb3VnaCB0aGUga2VybmVsIHNvdXJjZXMgZm9yIGBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzYCBhbmQgYG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbWAgdG8gc2VlIGhvdyB0aG9zZSBmdW5jdGlvbnMgYXJlIHVzZWQgYW5kIGhvdyB0aGV5IHJlbGF0ZSB0byB0aGUgYmlnZ2VyIG5ldGZzIHBpY3R1cmUuIFRoaXMgd2lsbCBnaXZlIG1lIGEgc2Vuc2Ugb2Ygd2hhdCB0aGUgcGF0Y2ggaXMgdHJ5aW5nIHRvICphY2NvbXBsaXNoKiBieSBhZGRyZXNzaW5nIHRoaXMgcGFydGljdWxhciByYWNlIGNvbmRpdGlvbiBvciBtZW1vcnkgdmlzaWJpbGl0eSBpc3N1ZS4gSeKAmW0gdGhpbmtpbmcgdGhlcmUgbWlnaHQgYmUgcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMsIHNvIEkgd2lsbCBpbnZlc3RpZ2F0ZSB0aGlzIGZ1cnRoZXIuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMTM6MDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0cyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9uZXRmcy9yZWFkX3JldHJ5LmM9MTI9c3RhdGljIHZvaWQgbmV0ZnNfcmVpc3N1ZV9yZWFkKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxLFxuLS1cbmZzL25ldGZzL3JlYWRfcmV0cnkuYy0yNS0gKi9cbmZzL25ldGZzL3JlYWRfcmV0cnkuYzoyNjpzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxKVxuZnMvbmV0ZnMvcmVhZF9yZXRyeS5jLTI3LXtcbi0tXG5mcy9uZXRmcy9yZWFkX3JldHJ5LmM9MjcwPXZvaWQgbmV0ZnNfcmV0cnlfcmVhZHMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKnJyZXEpXG4tLVxuZnMvbmV0ZnMvcmVhZF9yZXRyeS5jLTI4My1cdHRyYWNlX25ldGZzX3JyZXEocnJlcSwgbmV0ZnNfcnJlcV90cmFjZV9yZXN1Ym1pdCk7XG5mcy9uZXRmcy9yZWFkX3JldHJ5LmM6Mjg0Olx0bmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0cyhycmVxKTtcbmZzL25ldGZzL3JlYWRfcmV0cnkuYy0yODUtfVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDEzOjA4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9uZXRmcy93cml0ZV9yZXRyeS5jLTE2LSAqL1xuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYzoxNzpzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW0oc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKndyZXEsXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jLTE4LVx0XHRcdFx0ICAgICBzdHJ1Y3QgbmV0ZnNfaW9fc3RyZWFtICpzdHJlYW0pXG4tLVxuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYz0yMDg9dm9pZCBuZXRmc19yZXRyeV93cml0ZXMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKndyZXEpXG4tLVxuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYy0yMzQtXHRcdFx0c3RyZWFtLVx1MDAzZW5lZWRfcmV0cnkgPSBmYWxzZTtcbmZzL25ldGZzL3dyaXRlX3JldHJ5LmM6MjM1Olx0XHRcdG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbSh3cmVxLCBzdHJlYW0pO1xuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYy0yMzYtXHRcdH1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMzEwCgkJCQkJCQlvdXRwdXQ6IDMxCgkJCQkJCQl0aG91Z2h0czogMzcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYW5hbHlzaXMgb2YgdGhlIHNpdHVhdGlvbjoKCioqSW52ZXN0aWdhdGluZyBOZXRGUyBSZXRyeSBDb25maWd1cmF0aW9ucyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlc2UgdHdvIGZ1bmN0aW9ucywgYG5ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHNgIGFuZCBgbmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtYCwgYW5kIHRoZXkmIzM5O3JlIGNsZWFybHkgZGVhbGluZyB3aXRoIHJldHJ5IG1lY2hhbmlzbXMgd2l0aGluIHRoZSBOZXRGUyBjb21wb25lbnQuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBpbW1lZGlhdGVseSB6b29tIGluIG9uIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byBOZXRGUy4gUmV0cnkgbG9naWMgY2FuIGJlIGNvbXBsZXggYW5kIGlzIG9mdGVuIHBhcmFtZXRlcml6ZWQsIHNvIHRoZSBmaXJzdCB0aGluZyBJIG5lZWQgdG8gZG8gaXMgaWRlbnRpZnkgaG93IHRoZXNlIHJldHJpZXMgYXJlIGdvdmVybmVkLiBJIG5lZWQgdG8gZmluZCB0aGUgc3BlY2lmaWMgY29uZmlnIG9wdGlvbnMgdGhhdCBkaWN0YXRlIHRoZSBiZWhhdmlvciBvZiB0aGVzZSBmdW5jdGlvbnMg4oCTIGhvdyBtYW55IHRpbWVzIHRoZXkgcmV0cnksIHRoZSBiYWNrb2ZmIHN0cmF0ZWd5IHVzZWQsIHRpbWVvdXQgdmFsdWVzLCBhbmQgZXJyb3IgY29uZGl0aW9ucyB0aGF0IHRyaWdnZXIgcmV0cmllcy4gS25vd2luZyB0aGUgY29uZmlnIG9wdGlvbnMgYWxsb3dzIG1lIHRvIHVuZGVyc3RhbmQgYW5kIHBvdGVudGlhbGx5IG1vZGlmeSB0aGUgc3lzdGVtLWxldmVsIHJldHJ5IHBvbGljeS4gSSB3aWxsIG5lZWQgdGhpcyBpbmZvcm1hdGlvbiB0byBwcm9jZWVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDEzOjA4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBORVRGU18mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtmcy9uZXRmcy9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL25ldGZzL0tjb25maWctMi1cbmZzL25ldGZzL0tjb25maWc6Mzpjb25maWcgTkVURlNfU1VQUE9SVFxuZnMvbmV0ZnMvS2NvbmZpZy00LVx0dHJpc3RhdGVcbi0tXG5mcy9uZXRmcy9LY29uZmlnLTktXG5mcy9uZXRmcy9LY29uZmlnOjEwOmNvbmZpZyBORVRGU19TVEFUU1xuZnMvbmV0ZnMvS2NvbmZpZy0xMS1cdGJvb2wgXCYjMzQ7R2F0aGVyIHN0YXRpc3RpY2FsIGluZm9ybWF0aW9uIG9uIGxvY2FsIGNhY2hpbmdcJiMzNDtcbi0tXG5mcy9uZXRmcy9LY29uZmlnLTI0LVxuZnMvbmV0ZnMvS2NvbmZpZzoyNTpjb25maWcgTkVURlNfREVCVUdcbmZzL25ldGZzL0tjb25maWctMjYtXHRib29sIFwmIzM0O0VuYWJsZSBkeW5hbWljIGRlYnVnZ2luZyBuZXRmc2xpYiBhbmQgRlMtQ2FjaGVcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNzIwCgkJCQkJCQlvdXRwdXQ6IDEyMgoJCQkJCQkJdGhvdWdodHM6IDUzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgdGhlIE5FVEZTX1NVUFBPUlQgQ29uZmlndXJhdGlvbioqCgpPa2F5LCBzbyB0aGUgc3BvdGxpZ2h0JiMzOTtzIG9uIGBORVRGU19TVVBQT1JUYC4gVGhpcyBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGxvb2tpbmcgbGlrZSBhIHByaW1lIGNhbmRpZGF0ZSBmb3Igc29tZSBzZXJpb3VzIGZ1enppbmcuIFRoZSBwYXRjaCBhc3NvY2lhdGVkIHdpdGggaXQgc2VlbXMgbGlrZSBhIGp1aWN5IHRhcmdldCwgcmlwZSB3aXRoIHBvdGVudGlhbCB2dWxuZXJhYmlsaXRpZXMuIEkgbmVlZCB0byBkaWcgaW50byBpdC4KCk15IGZvY3VzIGhhcyB0byBiZSBvbiB0aGVzZSBzcGVjaWZpYyBzeW1ib2xzOiBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gLiBUaGVzZSBsb29rIGxpa2Uga2V5IGFyZWFzIHdoZXJlIHJldHJpZXMgYXJlIGltcGxlbWVudGVkLCBsaWtlbHkgY29udGFpbmluZyBzb21lIGNvbXBsZXggbG9naWMgdGhhdCBjb3VsZCBiZSBzdWJ2ZXJ0ZWQuIEkmIzM5O2xsIG5lZWQgdG8gZW5hYmxlIGBORVRGU19TVVBQT1JUYCwgb2J2aW91c2x5LCB0byBoYXZlIGFueSBlZmZlY3QsIGFuZCBnZXQgc3RhcnRlZCEKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD45LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMzowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TkVURlNfU1VQUE9SVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHMmIzM0OywKICAgICYjMzQ7bmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSByZXRyeSBsb2dpYyBmb3IgcmVhZCBhbmQgd3JpdGUgc3VicmVxdWVzdHMgaW4gbmV0ZnMsIHJlcGxhY2luZyBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlIHdpdGggYSBjdXN0b20gbG9vcCB1c2luZyBzbXBfbG9hZF9hY3F1aXJlIHRvIGZpeCBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbiBvciBtZW1vcnkgb3JkZXJpbmcgaXNzdWUuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIG5ldGZzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7TkVURlNfU1VQUE9SVCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHMmIzM0OywKICAgICYjMzQ7bmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSByZXRyeSBsb2dpYyBmb3IgcmVhZCBhbmQgd3JpdGUgc3VicmVxdWVzdHMgaW4gbmV0ZnMsIHJlcGxhY2luZyBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlIHdpdGggYSBjdXN0b20gbG9vcCB1c2luZyBzbXBfbG9hZF9hY3F1aXJlIHRvIGZpeCBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbiBvciBtZW1vcnkgb3JkZXJpbmcgaXNzdWUuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIG5ldGZzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjA4Ljk4MTIxNTkzOVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyMDIyNzA5NDYyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5FVEZTX1NVUFBPUlRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzXCIsXG4gICAgXCJuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgcmV0cnkgbG9naWMgZm9yIHJlYWQgYW5kIHdyaXRlIHN1YnJlcXVlc3RzIGluIG5ldGZzLCByZXBsYWNpbmcgbGlzdF9mb3JfZWFjaF9jb250aW51ZSB3aXRoIGEgY3VzdG9tIGxvb3AgdXNpbmcgc21wX2xvYWRfYWNxdWlyZSB0byBmaXggYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24gb3IgbWVtb3J5IG9yZGVyaW5nIGlzc3VlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBuZXRmcyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjA4Ljk4MTIyMjc3OVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjMyNDYzOTI2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgYmE0M2JhYzI0OGRiNzdjMmRmMWY3NGI1YWFhMTVlOGE5NDkxMDQwMlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCAyIDEzOjA4OjA3IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuYyBiL2ZzL25ldGZzL3JlYWRfcmV0cnkuY1xcbmluZGV4IGY1OWE3MGYzYTA4NmI0Li4yYjQyNzU4ZTAxZWM5NCAxMDA2NDRcXG4tLS0gYS9mcy9uZXRmcy9yZWFkX3JldHJ5LmNcXG4rKysgYi9mcy9uZXRmcy9yZWFkX3JldHJ5LmNcXG5AQCAtOTgsNyArOTgsMTIgQEAgc3RhdGljIHZvaWQgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0cyhzdHJ1Y3QgbmV0ZnNfaW9fcmVxdWVzdCAqcnJlcSlcXG4gXFx0XFx0XFx0Z290byBhYmFuZG9uO1xcbiBcXHRcXHR9XFxuIFxcbi1cXHRcXHRsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlKG5leHQsIFxcdTAwMjZzdHJlYW0tXFx1MDAzZXN1YnJlcXVlc3RzKSB7XFxuK1xcdFxcdGZvciAoOzspIHtcXG4rXFx0XFx0XFx0LyogUmVhZCBwb2ludGVyIHRvIHN1YnJlcSBiZWZvcmUgcmVhZGluZyBzdWJyZXEgc3RhdGUuICovXFxuK1xcdFxcdFxcdG5leHQgPSBzbXBfbG9hZF9hY3F1aXJlKFxcdTAwMjZuZXh0LVxcdTAwM2VuZXh0KTtcXG4rXFx0XFx0XFx0aWYgKG5leHQgPT0gXFx1MDAyNnN0cmVhbS1cXHUwMDNlc3VicmVxdWVzdHMpXFxuK1xcdFxcdFxcdFxcdGJyZWFrO1xcbitcXG4gXFx0XFx0XFx0c3VicmVxID0gbGlzdF9lbnRyeShuZXh0LCBzdHJ1Y3QgbmV0ZnNfaW9fc3VicmVxdWVzdCwgcnJlcV9saW5rKTtcXG4gXFx0XFx0XFx0aWYgKHN1YnJlcS1cXHUwMDNlc3RhcnQgKyBzdWJyZXEtXFx1MDAzZXRyYW5zZmVycmVkICE9IHN0YXJ0ICsgbGVuIHx8XFxuIFxcdFxcdFxcdCAgICB0ZXN0X2JpdChORVRGU19TUkVRX0JPVU5EQVJZLCBcXHUwMDI2c3VicmVxLVxcdTAwM2VmbGFncykgfHxcXG5kaWZmIC0tZ2l0IGEvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYyBiL2ZzL25ldGZzL3dyaXRlX3JldHJ5LmNcXG5pbmRleCAzMjczNWFiZmEwM2YwNi4uMDU4YmM3YTE2NmE1OWYgMTAwNjQ0XFxuLS0tIGEvZnMvbmV0ZnMvd3JpdGVfcmV0cnkuY1xcbisrKyBiL2ZzL25ldGZzL3dyaXRlX3JldHJ5LmNcXG5AQCAtNzIsNyArNzIsMTIgQEAgc3RhdGljIHZvaWQgbmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICp3cmVxLFxcbiBcXHRcXHQgICAgIXRlc3RfYml0KE5FVEZTX1NSRVFfTkVFRF9SRVRSWSwgXFx1MDAyNmZyb20tXFx1MDAzZWZsYWdzKSlcXG4gXFx0XFx0XFx0cmV0dXJuO1xcbiBcXG4tXFx0XFx0bGlzdF9mb3JfZWFjaF9jb250aW51ZShuZXh0LCBcXHUwMDI2c3RyZWFtLVxcdTAwM2VzdWJyZXF1ZXN0cykge1xcbitcXHRcXHRmb3IgKDs7KSB7XFxuK1xcdFxcdFxcdC8qIFJlYWQgcG9pbnRlciB0byBzdWJyZXEgYmVmb3JlIHJlYWRpbmcgc3VicmVxIHN0YXRlLiAqL1xcbitcXHRcXHRcXHRuZXh0ID0gc21wX2xvYWRfYWNxdWlyZShcXHUwMDI2bmV4dC1cXHUwMDNlbmV4dCk7XFxuK1xcdFxcdFxcdGlmIChuZXh0ID09IFxcdTAwMjZzdHJlYW0tXFx1MDAzZXN1YnJlcXVlc3RzKVxcbitcXHRcXHRcXHRcXHRicmVhaztcXG4rXFxuIFxcdFxcdFxcdHN1YnJlcSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IG5ldGZzX2lvX3N1YnJlcXVlc3QsIHJyZXFfbGluayk7XFxuIFxcdFxcdFxcdGlmIChzdWJyZXEtXFx1MDAzZXN0YXJ0ICsgc3VicmVxLVxcdTAwM2V0cmFuc2ZlcnJlZCAhPSBzdGFydCArIGxlbiB8fFxcbiBcXHRcXHRcXHQgICAgdGVzdF9iaXQoTkVURlNfU1JFUV9CT1VOREFSWSwgXFx1MDAyNnN1YnJlcS1cXHUwMDNlZmxhZ3MpIHx8XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjA5LjYxNjE3MjU1NloiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjEzODc3NDA4NjcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkVURlNfU1VQUE9SVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5ldGZzX3JldHJ5X3JlYWRfc3VicmVxdWVzdHNcIixcbiAgICBcIm5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSByZXRyeSBsb2dpYyBmb3IgcmVhZCBhbmQgd3JpdGUgc3VicmVxdWVzdHMgaW4gbmV0ZnMsIHJlcGxhY2luZyBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlIHdpdGggYSBjdXN0b20gbG9vcCB1c2luZyBzbXBfbG9hZF9hY3F1aXJlIHRvIGZpeCBhIHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbiBvciBtZW1vcnkgb3JkZXJpbmcgaXNzdWUuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIG5ldGZzIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBiYTQzYmFjMjQ4ZGI3N2MyZGYxZjc0YjVhYWExNWU4YTk0OTEwNDAyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMiAxMzowODowNyAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL25ldGZzL3JlYWRfcmV0cnkuYyBiL2ZzL25ldGZzL3JlYWRfcmV0cnkuY1xuaW5kZXggZjU5YTcwZjNhMDg2YjQuLjJiNDI3NThlMDFlYzk0IDEwMDY0NFxuLS0tIGEvZnMvbmV0ZnMvcmVhZF9yZXRyeS5jXG4rKysgYi9mcy9uZXRmcy9yZWFkX3JldHJ5LmNcbkBAIC05OCw3ICs5OCwxMiBAQCBzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxKVxuIFx0XHRcdGdvdG8gYWJhbmRvbjtcbiBcdFx0fVxuIFxuLVx0XHRsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlKG5leHQsIFx1MDAyNnN0cmVhbS1cdTAwM2VzdWJyZXF1ZXN0cykge1xuK1x0XHRmb3IgKDs7KSB7XG4rXHRcdFx0LyogUmVhZCBwb2ludGVyIHRvIHN1YnJlcSBiZWZvcmUgcmVhZGluZyBzdWJyZXEgc3RhdGUuICovXG4rXHRcdFx0bmV4dCA9IHNtcF9sb2FkX2FjcXVpcmUoXHUwMDI2bmV4dC1cdTAwM2VuZXh0KTtcbitcdFx0XHRpZiAobmV4dCA9PSBcdTAwMjZzdHJlYW0tXHUwMDNlc3VicmVxdWVzdHMpXG4rXHRcdFx0XHRicmVhaztcbitcbiBcdFx0XHRzdWJyZXEgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBuZXRmc19pb19zdWJyZXF1ZXN0LCBycmVxX2xpbmspO1xuIFx0XHRcdGlmIChzdWJyZXEtXHUwMDNlc3RhcnQgKyBzdWJyZXEtXHUwMDNldHJhbnNmZXJyZWQgIT0gc3RhcnQgKyBsZW4gfHxcbiBcdFx0XHQgICAgdGVzdF9iaXQoTkVURlNfU1JFUV9CT1VOREFSWSwgXHUwMDI2c3VicmVxLVx1MDAzZWZsYWdzKSB8fFxuZGlmZiAtLWdpdCBhL2ZzL25ldGZzL3dyaXRlX3JldHJ5LmMgYi9mcy9uZXRmcy93cml0ZV9yZXRyeS5jXG5pbmRleCAzMjczNWFiZmEwM2YwNi4uMDU4YmM3YTE2NmE1OWYgMTAwNjQ0XG4tLS0gYS9mcy9uZXRmcy93cml0ZV9yZXRyeS5jXG4rKysgYi9mcy9uZXRmcy93cml0ZV9yZXRyeS5jXG5AQCAtNzIsNyArNzIsMTIgQEAgc3RhdGljIHZvaWQgbmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICp3cmVxLFxuIFx0XHQgICAgIXRlc3RfYml0KE5FVEZTX1NSRVFfTkVFRF9SRVRSWSwgXHUwMDI2ZnJvbS1cdTAwM2VmbGFncykpXG4gXHRcdFx0cmV0dXJuO1xuIFxuLVx0XHRsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlKG5leHQsIFx1MDAyNnN0cmVhbS1cdTAwM2VzdWJyZXF1ZXN0cykge1xuK1x0XHRmb3IgKDs7KSB7XG4rXHRcdFx0LyogUmVhZCBwb2ludGVyIHRvIHN1YnJlcSBiZWZvcmUgcmVhZGluZyBzdWJyZXEgc3RhdGUuICovXG4rXHRcdFx0bmV4dCA9IHNtcF9sb2FkX2FjcXVpcmUoXHUwMDI2bmV4dC1cdTAwM2VuZXh0KTtcbitcdFx0XHRpZiAobmV4dCA9PSBcdTAwMjZzdHJlYW0tXHUwMDNlc3VicmVxdWVzdHMpXG4rXHRcdFx0XHRicmVhaztcbitcbiBcdFx0XHRzdWJyZXEgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBuZXRmc19pb19zdWJyZXF1ZXN0LCBycmVxX2xpbmspO1xuIFx0XHRcdGlmIChzdWJyZXEtXHUwMDNlc3RhcnQgKyBzdWJyZXEtXHUwMDNldHJhbnNmZXJyZWQgIT0gc3RhcnQgKyBsZW4gfHxcbiBcdFx0XHQgICAgdGVzdF9iaXQoTkVURlNfU1JFUV9CT1VOREFSWSwgXHUwMDI2c3VicmVxLVx1MDAzZWZsYWdzKSB8fFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTM6MDg6MDkuNjE2MTc0MzM2WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTQ2NDMwODc5NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgY29kZSBjaGFuZ2VzLCBzdW1tYXJpemVkIGluIHRoZSBmaXJzdCBwZXJzb24sIGFzIGlmIHRoZXNlIGFyZSBteSBpbW1lZGlhdGUgdGhvdWdodHM6XG5cbioqQW5hbHl6aW5nIGEgTmV0ZnMgUGF0Y2g6IFBvc3NpYmxlIFJhY2UgQ29uZGl0aW9uIEZpeCoqXG5cbkFscmlnaHQsIEkgc2VlIHRoaXMgcGF0Y2ggaXMgaGl0dGluZyBgZnMvbmV0ZnMvcmVhZF9yZXRyeS5jYCBhbmQgYGZzL25ldGZzL3dyaXRlX3JldHJ5LmNgLiBTcGVjaWZpY2FsbHksIGl0IGxvb2tzIGxpa2UgdGhleSdyZSByZXBsYWNpbmcgdGhlIHN0YW5kYXJkIGBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlYCBsb29wIHdpdGggYSBjdXN0b20gb25lIHRoYXQgdXNlcyBgc21wX2xvYWRfYWNxdWlyZShcdTAwMjZuZXh0LVx1MDAzZW5leHQpYC4gSW1tZWRpYXRlbHksIHRoYXQganVtcHMgb3V0IHRvIG1lIGFzIGEgcG90ZW50aWFsIGZpeCBmb3IgYSByYWNlIGNvbmRpdGlvbiBvciBhIG1lbW9yeSBvcmRlcmluZyBpc3N1ZSBpbiB0aGUgbmV0ZnMgY29kZS4gVGhleSdyZSBjbGVhcmx5IHRyeWluZyB0byBlbmZvcmNlIHNvbWUgc3Ryb25nZXIgbWVtb3J5IGJhcnJpZXIgc2VtYW50aWNzIGFyb3VuZCBob3cgdGhleSBpdGVyYXRlIHRocm91Z2ggdGhhdCBsaW5rZWQgbGlzdCwgYHN0cmVhbS1cdTAwM2VzdWJyZXF1ZXN0c2AuIFRoZSBgYWNxdWlyZWAgcGFydCBvZiBgc21wX2xvYWRfYWNxdWlyZWAgaXMgYSBiaWcgY2x1ZSDigJMgaXQgc3VnZ2VzdHMgdGhhdCB0aGUgd3JpdGVzIHRvIGBuZXh0LVx1MDAzZW5leHRgIG1pZ2h0IGJlIGhhcHBlbmluZyBvbiBhIGRpZmZlcmVudCBDUFUgYW5kIHdlIG5lZWQgdG8gZW5zdXJlIHZpc2liaWxpdHkuXG5cbkxldCdzIGRyaWxsIGRvd24gYSBiaXQuIFRoZSBzcGVjaWZpYyBmdW5jdGlvbnMgdGhleSBhcmUgdG91Y2hpbmcgYXJlOiBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgaW4gYHJlYWRfcmV0cnkuY2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gIGluIGB3cml0ZV9yZXRyeS5jYC4gS25vd2luZyB3aGljaCBmdW5jdGlvbnMgYXJlIGludm9sdmVkIGhlbHBzIGEgbG90LCBpdCBnaXZlcyBtZSBpbW1lZGlhdGUgY29udGV4dCB0byB3b3JrIGZyb20uXG5cbk5vdywgSSB3YW50IHRvIHVuZGVyc3RhbmQgdGhlICp3aHkqLiBXaGF0J3MgdGhlIGNvbnRleHQgaGVyZT8gSeKAmWxsIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbiBvcHRpb25zIHRoYXQgbWF5IGJlIGltcGFjdGVkLiBJJ20gZ29pbmcgdG8gcXVpY2tseSBncmVwIHRocm91Z2ggdGhlIGtlcm5lbCBzb3VyY2VzIGZvciBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gIHRvIHNlZSBob3cgdGhvc2UgZnVuY3Rpb25zIGFyZSB1c2VkIGFuZCBob3cgdGhleSByZWxhdGUgdG8gdGhlIGJpZ2dlciBuZXRmcyBwaWN0dXJlLiBUaGlzIHdpbGwgZ2l2ZSBtZSBhIHNlbnNlIG9mIHdoYXQgdGhlIHBhdGNoIGlzIHRyeWluZyB0byAqYWNjb21wbGlzaCogYnkgYWRkcmVzc2luZyB0aGlzIHBhcnRpY3VsYXIgcmFjZSBjb25kaXRpb24gb3IgbWVtb3J5IHZpc2liaWxpdHkgaXNzdWUuIEnigJltIHRoaW5raW5nIHRoZXJlIG1pZ2h0IGJlIHJlbGF0ZWQgY29uZmlndXJhdGlvbiBvcHRpb25zLCBzbyBJIHdpbGwgaW52ZXN0aWdhdGUgdGhpcyBmdXJ0aGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMjE3LCJPdXRwdXRUb2tlbnMiOjQ1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTg2LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTM6MDg6MTUuMDgwNDg1NTQxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU3MTYwNTg2MzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJmcy9uZXRmcy9yZWFkX3JldHJ5LmM9MTI9c3RhdGljIHZvaWQgbmV0ZnNfcmVpc3N1ZV9yZWFkKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxLFxcbi0tXFxuZnMvbmV0ZnMvcmVhZF9yZXRyeS5jLTI1LSAqL1xcbmZzL25ldGZzL3JlYWRfcmV0cnkuYzoyNjpzdGF0aWMgdm9pZCBuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHN0cnVjdCBuZXRmc19pb19yZXF1ZXN0ICpycmVxKVxcbmZzL25ldGZzL3JlYWRfcmV0cnkuYy0yNy17XFxuLS1cXG5mcy9uZXRmcy9yZWFkX3JldHJ5LmM9MjcwPXZvaWQgbmV0ZnNfcmV0cnlfcmVhZHMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKnJyZXEpXFxuLS1cXG5mcy9uZXRmcy9yZWFkX3JldHJ5LmMtMjgzLVxcdHRyYWNlX25ldGZzX3JyZXEocnJlcSwgbmV0ZnNfcnJlcV90cmFjZV9yZXN1Ym1pdCk7XFxuZnMvbmV0ZnMvcmVhZF9yZXRyeS5jOjI4NDpcXHRuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzKHJyZXEpO1xcbmZzL25ldGZzL3JlYWRfcmV0cnkuYy0yODUtfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMzowODoyMC43OTY1NDg4OTZaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Mjc4Nzk2NzAxNSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYy0xNi0gKi9cXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jOjE3OnN0YXRpYyB2b2lkIG5ldGZzX3JldHJ5X3dyaXRlX3N0cmVhbShzdHJ1Y3QgbmV0ZnNfaW9fcmVxdWVzdCAqd3JlcSxcXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jLTE4LVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG5ldGZzX2lvX3N0cmVhbSAqc3RyZWFtKVxcbi0tXFxuZnMvbmV0ZnMvd3JpdGVfcmV0cnkuYz0yMDg9dm9pZCBuZXRmc19yZXRyeV93cml0ZXMoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKndyZXEpXFxuLS1cXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jLTIzNC1cXHRcXHRcXHRzdHJlYW0tXFx1MDAzZW5lZWRfcmV0cnkgPSBmYWxzZTtcXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jOjIzNTpcXHRcXHRcXHRuZXRmc19yZXRyeV93cml0ZV9zdHJlYW0od3JlcSwgc3RyZWFtKTtcXG5mcy9uZXRmcy93cml0ZV9yZXRyeS5jLTIzNi1cXHRcXHR9XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjIzLjU4NDUyNTMyMVoiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMwNTg5NTc1NzUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSBhbmFseXNpcyBvZiB0aGUgc2l0dWF0aW9uOlxuXG4qKkludmVzdGlnYXRpbmcgTmV0RlMgUmV0cnkgQ29uZmlndXJhdGlvbnMqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGVzZSB0d28gZnVuY3Rpb25zLCBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gLCBhbmQgdGhleSdyZSBjbGVhcmx5IGRlYWxpbmcgd2l0aCByZXRyeSBtZWNoYW5pc21zIHdpdGhpbiB0aGUgTmV0RlMgY29tcG9uZW50LiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gaW1tZWRpYXRlbHkgem9vbSBpbiBvbiB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gTmV0RlMuIFJldHJ5IGxvZ2ljIGNhbiBiZSBjb21wbGV4IGFuZCBpcyBvZnRlbiBwYXJhbWV0ZXJpemVkLCBzbyB0aGUgZmlyc3QgdGhpbmcgSSBuZWVkIHRvIGRvIGlzIGlkZW50aWZ5IGhvdyB0aGVzZSByZXRyaWVzIGFyZSBnb3Zlcm5lZC4gSSBuZWVkIHRvIGZpbmQgdGhlIHNwZWNpZmljIGNvbmZpZyBvcHRpb25zIHRoYXQgZGljdGF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlc2UgZnVuY3Rpb25zIOKAkyBob3cgbWFueSB0aW1lcyB0aGV5IHJldHJ5LCB0aGUgYmFja29mZiBzdHJhdGVneSB1c2VkLCB0aW1lb3V0IHZhbHVlcywgYW5kIGVycm9yIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIHJldHJpZXMuIEtub3dpbmcgdGhlIGNvbmZpZyBvcHRpb25zIGFsbG93cyBtZSB0byB1bmRlcnN0YW5kIGFuZCBwb3RlbnRpYWxseSBtb2RpZnkgdGhlIHN5c3RlbS1sZXZlbCByZXRyeSBwb2xpY3kuIEkgd2lsbCBuZWVkIHRoaXMgaW5mb3JtYXRpb24gdG8gcHJvY2VlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzMxMCwiT3V0cHV0VG9rZW5zIjozMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciIsImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMzowODoyNi42NDM0ODU5MDZaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6OTAxMTgzMTcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIE5FVEZTX1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9uZXRmcy9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL25ldGZzL0tjb25maWctMi1cXG5mcy9uZXRmcy9LY29uZmlnOjM6Y29uZmlnIE5FVEZTX1NVUFBPUlRcXG5mcy9uZXRmcy9LY29uZmlnLTQtXFx0dHJpc3RhdGVcXG4tLVxcbmZzL25ldGZzL0tjb25maWctOS1cXG5mcy9uZXRmcy9LY29uZmlnOjEwOmNvbmZpZyBORVRGU19TVEFUU1xcbmZzL25ldGZzL0tjb25maWctMTEtXFx0Ym9vbCBcXFwiR2F0aGVyIHN0YXRpc3RpY2FsIGluZm9ybWF0aW9uIG9uIGxvY2FsIGNhY2hpbmdcXFwiXFxuLS1cXG5mcy9uZXRmcy9LY29uZmlnLTI0LVxcbmZzL25ldGZzL0tjb25maWc6MjU6Y29uZmlnIE5FVEZTX0RFQlVHXFxuZnMvbmV0ZnMvS2NvbmZpZy0yNi1cXHRib29sIFxcXCJFbmFibGUgZHluYW1pYyBkZWJ1Z2dpbmcgbmV0ZnNsaWIgYW5kIEZTLUNhY2hlXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMzowODoyNi43MzM2MTI0ODNaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTA2NjIwNzY2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgdGhlIE5FVEZTX1NVUFBPUlQgQ29uZmlndXJhdGlvbioqXG5cbk9rYXksIHNvIHRoZSBzcG90bGlnaHQncyBvbiBgTkVURlNfU1VQUE9SVGAuIFRoaXMgcGFydGljdWxhciBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBsb29raW5nIGxpa2UgYSBwcmltZSBjYW5kaWRhdGUgZm9yIHNvbWUgc2VyaW91cyBmdXp6aW5nLiBUaGUgcGF0Y2ggYXNzb2NpYXRlZCB3aXRoIGl0IHNlZW1zIGxpa2UgYSBqdWljeSB0YXJnZXQsIHJpcGUgd2l0aCBwb3RlbnRpYWwgdnVsbmVyYWJpbGl0aWVzLiBJIG5lZWQgdG8gZGlnIGludG8gaXQuXG5cbk15IGZvY3VzIGhhcyB0byBiZSBvbiB0aGVzZSBzcGVjaWZpYyBzeW1ib2xzOiBgbmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c2AgYW5kIGBuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1gLiBUaGVzZSBsb29rIGxpa2Uga2V5IGFyZWFzIHdoZXJlIHJldHJpZXMgYXJlIGltcGxlbWVudGVkLCBsaWtlbHkgY29udGFpbmluZyBzb21lIGNvbXBsZXggbG9naWMgdGhhdCBjb3VsZCBiZSBzdWJ2ZXJ0ZWQuIEknbGwgbmVlZCB0byBlbmFibGUgYE5FVEZTX1NVUFBPUlRgLCBvYnZpb3VzbHksIHRvIGhhdmUgYW55IGVmZmVjdCwgYW5kIGdldCBzdGFydGVkIVxuXG5cbiIsIklucHV0VG9rZW5zIjozNzIwLCJPdXRwdXRUb2tlbnMiOjEyMiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDEzOjA4OjMwLjg0MDIzNjA2OVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTYzNjcwNDE0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJORVRGU19TVVBQT1JUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmV0ZnNfcmV0cnlfcmVhZF9zdWJyZXF1ZXN0c1wiLFxuICAgIFwibmV0ZnNfcmV0cnlfd3JpdGVfc3RyZWFtXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIHJldHJ5IGxvZ2ljIGZvciByZWFkIGFuZCB3cml0ZSBzdWJyZXF1ZXN0cyBpbiBuZXRmcywgcmVwbGFjaW5nIGxpc3RfZm9yX2VhY2hfY29udGludWUgd2l0aCBhIGN1c3RvbSBsb29wIHVzaW5nIHNtcF9sb2FkX2FjcXVpcmUgdG8gZml4IGEgcG90ZW50aWFsIHJhY2UgY29uZGl0aW9uIG9yIG1lbW9yeSBvcmRlcmluZyBpc3N1ZS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgbmV0ZnMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5FVEZTX1NVUFBPUlRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuZXRmc19yZXRyeV9yZWFkX3N1YnJlcXVlc3RzXCIsXG4gICAgXCJuZXRmc19yZXRyeV93cml0ZV9zdHJlYW1cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgcmV0cnkgbG9naWMgZm9yIHJlYWQgYW5kIHdyaXRlIHN1YnJlcXVlc3RzIGluIG5ldGZzLCByZXBsYWNpbmcgbGlzdF9mb3JfZWFjaF9jb250aW51ZSB3aXRoIGEgY3VzdG9tIGxvb3AgdXNpbmcgc21wX2xvYWRfYWNxdWlyZSB0byBmaXggYSBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb24gb3IgbWVtb3J5IG9yZGVyaW5nIGlzc3VlLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBuZXRmcyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowl9s8h[1] Phase: Succeeded StartedAt: 2026-07-02 13:08:59 +0000 UTC FinishedAt: 2026-07-02 13:08:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-02 13:08:59 +0000 UTC FinishedAt: 2026-07-02 13:08:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2] Phase: Succeeded StartedAt: 2026-07-02 13:08:59 +0000 UTC FinishedAt: 2026-07-02 14:33:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-02 13:08:59 +0000 UTC FinishedAt: 2026-07-02 14:33:58 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-02 13:08:59 +0000 UTC FinishedAt: 2026-07-02 13:09:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-02 13:08:59 +0000 UTC FinishedAt: 2026-07-02 13:09:41 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-convert-artifact-2729119387/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-02 13:09:48 +0000 UTC FinishedAt: 2026-07-02 13:45:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-02 13:09:48 +0000 UTC FinishedAt: 2026-07-02 13:45:54 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*95861e33-bdcc-4f10-9b96-84e276f7173d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-convert-artifact-2729119387/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "65d828a2-ad46-417e-8fc9-83865c1e2afa", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-3017841369/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-02 13:09:48 +0000 UTC FinishedAt: 2026-07-02 13:45:44 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*95861e33-bdcc-4f10-9b96-84e276f7173d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-convert-artifact-2729119387/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "65d828a2-ad46-417e-8fc9-83865c1e2afa", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-3017841369/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-02 13:45:54 +0000 UTC FinishedAt: 2026-07-02 13:45:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-02 13:45:54 +0000 UTC FinishedAt: 2026-07-02 13:45:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-02 13:45:54 +0000 UTC FinishedAt: 2026-07-02 13:46:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-02 13:45:54 +0000 UTC FinishedAt: 2026-07-02 13:46:03 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-convert-artifact-53786098/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-02 13:46:15 +0000 UTC FinishedAt: 2026-07-02 13:48:33 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-02 13:46:15 +0000 UTC FinishedAt: 2026-07-02 13:48:23 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*65d828a2-ad46-417e-8fc9-83865c1e2afa,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-3017841369/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },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-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-02 13:48:33 +0000 UTC FinishedAt: 2026-07-02 13:48:33 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-02 13:48:33 +0000 UTC FinishedAt: 2026-07-02 13:48:33 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-02 13:48:33 +0000 UTC FinishedAt: 2026-07-02 14:28:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-02 13:48:33 +0000 UTC FinishedAt: 2026-07-02 14:28:22 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*95861e33-bdcc-4f10-9b96-84e276f7173d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-convert-artifact-53786098/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "4e19a548-1d9d-40fa-9d5a-af98c7d5af73", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-719500678/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-02 13:48:33 +0000 UTC FinishedAt: 2026-07-02 14:28:12 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*95861e33-bdcc-4f10-9b96-84e276f7173d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-convert-artifact-53786098/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "4e19a548-1d9d-40fa-9d5a-af98c7d5af73", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-719500678/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-02 14:28:22 +0000 UTC FinishedAt: 2026-07-02 14:28:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-02 14:28:22 +0000 UTC FinishedAt: 2026-07-02 14:28:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-02 14:28:22 +0000 UTC FinishedAt: 2026-07-02 14:30:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-02 14:28:22 +0000 UTC FinishedAt: 2026-07-02 14:30:29 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*4e19a548-1d9d-40fa-9d5a-af98c7d5af73,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-719500678/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },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-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-02 14:30:39 +0000 UTC FinishedAt: 2026-07-02 14:33:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-02 14:30:39 +0000 UTC FinishedAt: 2026-07-02 14:33:58 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:track,Default:nil,Value:*KASAN,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:base-build-id,Default:nil,Value:*65d828a2-ad46-417e-8fc9-83865c1e2afa,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*4e19a548-1d9d-40fa-9d5a-af98c7d5af73,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-3017841369/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-719500678/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-02 14:30:39 +0000 UTC FinishedAt: 2026-07-02 14:31:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-02 14:30:39 +0000 UTC FinishedAt: 2026-07-02 14:31:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-convert-artifact-5611079/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-02 14:30:39 +0000 UTC FinishedAt: 2026-07-02 14:30:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-02 14:30:39 +0000 UTC FinishedAt: 2026-07-02 14:30:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-02 14:30:39 +0000 UTC FinishedAt: 2026-07-02 14:30:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-02 14:31:25 +0000 UTC FinishedAt: 2026-07-02 14:33:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowl9s8h[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["netfs_retry_read_subrequests","netfs_retry_write_stream"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"4a50a141f05a8d1737661b19ee22ff8455b94409","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFS_SUPPORT"],"series_id":"17eb5bcb-974c-4dfc-b1c9-5482b6188929","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-02 14:31:25 +0000 UTC FinishedAt: 2026-07-02 14:33:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*65d828a2-ad46-417e-8fc9-83865c1e2afa,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*4e19a548-1d9d-40fa-9d5a-af98c7d5af73,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Fuzz,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-3017841369/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:/patched,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-build-action-719500678/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:config,Path:/tmp/config.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowl9s8h/series-workflowl9s8h-convert-artifact-5611079/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}