Name: series-workflowfcs7w Phase: Succeeded StartedAt: 2026-06-30 03:43:26 +0000 UTC FinishedAt: 2026-06-30 08:14:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[0] Phase: Succeeded StartedAt: 2026-06-30 03:43:26 +0000 UTC FinishedAt: 2026-06-30 03:53:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[0].run-triage Phase: Succeeded StartedAt: 2026-06-30 03:43:27 +0000 UTC FinishedAt: 2026-06-30 03:53:35 +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": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "48b6abe8-3273-4e07-92cf-dac40a7644bb" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "nbd_disconnect_and_put", "nbd_genl_reconfigure", "nbd_genl_disconnect", "nbd_release" ], "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+CgkJCTx0ZD4yMDI2LzA2LzMwIDAzOjUyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dCYjMzQ7LAogICAgJiMzNDtuYmRfZ2VubF9yZWNvbmZpZ3VyZSYjMzQ7LAogICAgJiMzNDtuYmRfZ2VubF9kaXNjb25uZWN0JiMzNDssCiAgICAmIzM0O25iZF9yZWxlYXNlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcmFjZSBjb25kaXRpb24gaW4gdGhlIE5CRCBkcml2ZXIgZHVyaW5nIGRpc2Nvbm5lY3Rpb24gYnkgY2xlYXJpbmcgTkJEX1JUX0JPVU5EIGFuZCB0YXNrX3NldHVwIGJlZm9yZSByZWxlYXNpbmcgdGhlIGNvbmZpZ19sb2NrIGFuZCBmbHVzaGluZyB0aGUgd29ya3F1ZXVlLiBUaGlzIHByZXZlbnRzIG5ldyByZWN2X3dvcmsgZnJvbSBiZWluZyBxdWV1ZWQgYnkgbmJkX2dlbmxfcmVjb25maWd1cmUoKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIGRyaXZlciBsb2dpYy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGYwMmU0NjIyMWZiYmJiYjA5MzM2ZTI1ZDFjNTlkOGFhNGVlYWQxZWRcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1biAzMCAwMzo1MjozMyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggOGYxMDc2MmU5MGVmNzQuLmExYWM2MjQ2MzM2YzFlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTIyOTQsMTQgJiM0MzsyMjk0LDIzIEBAIHN0YXRpYyB2b2lkIG5iZF9kaXNjb25uZWN0X2FuZF9wdXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdG5iZF9kaXNjb25uZWN0KG5iZCk7XG4gXHRzb2NrX3NodXRkb3duKG5iZCk7XG4gXHR3YWtlX3VwKFx1MDAyNm5iZC1cdTAwM2Vjb25maWctXHUwMDNlY29ubl93YWl0KTtcbiYjNDM7XHQvKlxuJiM0MztcdCAqIENsZWFyIE5CRF9SVF9CT1VORCBiZWZvcmUgcmVsZWFzaW5nIGNvbmZpZ19sb2NrIHNvIHRoYXRcbiYjNDM7XHQgKiBuYmRfZ2VubF9yZWNvbmZpZ3VyZSgpIHdvbiYjMzk7dCBxdWV1ZSBuZXcgcmVjdl93b3JrIGJldHdlZW5cbiYjNDM7XHQgKiBoZXJlIGFuZCBmbHVzaF93b3JrcXVldWUoKS5cbiYjNDM7XHQgKi9cbiYjNDM7XHRuYmQtXHUwMDNldGFza19zZXR1cCA9IE5VTEw7XG4mIzQzO1x0Y2xlYXJfYml0KE5CRF9SVF9CT1VORCwgXHUwMDI2bmJkLVx1MDAzZWNvbmZpZy1cdTAwM2VydW50aW1lX2ZsYWdzKTtcbiYjNDM7XHRtdXRleF91bmxvY2soXHUwMDI2bmJkLVx1MDAzZWNvbmZpZ19sb2NrKTtcbiYjNDM7XG4gXHQvKlxuIFx0ICogTWFrZSBzdXJlIHJlY3YgdGhyZWFkIGhhcyBmaW5pc2hlZCwgd2UgY2FuIHNhZmVseSBjYWxsIG5iZF9jbGVhcl9xdWUoKVxuIFx0ICogdG8gY2FuY2VsIHRoZSBpbmZsaWdodCBJL09zLlxuIFx0ICovXG4gXHRmbHVzaF93b3JrcXVldWUobmJkLVx1MDAzZXJlY3Zfd29ya3EpO1xuJiM0MztcbiYjNDM7XHRtdXRleF9sb2NrKFx1MDAyNm5iZC1cdTAwM2Vjb25maWdfbG9jayk7XG4gXHRuYmRfY2xlYXJfcXVlKG5iZCk7XG4tXHRuYmQtXHUwMDNldGFza19zZXR1cCA9IE5VTEw7XG4tXHRjbGVhcl9iaXQoTkJEX1JUX0JPVU5ELCBcdTAwMjZuYmQtXHUwMDNlY29uZmlnLVx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNm5iZC1cdTAwM2Vjb25maWdfbG9jayk7XG4gXG4gXHRpZiAodGVzdF9hbmRfY2xlYXJfYml0KE5CRF9SVF9IQVNfQ09ORklHX1JFRixcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9kaXNjb25uZWN0X2FuZF9wdXQmIzM0OywKICAgICYjMzQ7bmJkX2dlbmxfcmVjb25maWd1cmUmIzM0OywKICAgICYjMzQ7bmJkX2dlbmxfZGlzY29ubmVjdCYjMzQ7LAogICAgJiMzNDtuYmRfcmVsZWFzZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGYwMmU0NjIyMWZiYmJiYjA5MzM2ZTI1ZDFjNTlkOGFhNGVlYWQxZWQKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVHVlIEp1biAzMCAwMzo1MjozMyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCmluZGV4IDhmMTA3NjJlOTBlZjc0Li5hMWFjNjI0NjMzNmMxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCkBAIC0yMjk0LDE0ICYjNDM7MjI5NCwyMyBAQCBzdGF0aWMgdm9pZCBuYmRfZGlzY29ubmVjdF9hbmRfcHV0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpCiAJbmJkX2Rpc2Nvbm5lY3QobmJkKTsKIAlzb2NrX3NodXRkb3duKG5iZCk7CiAJd2FrZV91cCgmYW1wO25iZC0mZ3Q7Y29uZmlnLSZndDtjb25uX3dhaXQpOwomIzQzOwkvKgomIzQzOwkgKiBDbGVhciBOQkRfUlRfQk9VTkQgYmVmb3JlIHJlbGVhc2luZyBjb25maWdfbG9jayBzbyB0aGF0CiYjNDM7CSAqIG5iZF9nZW5sX3JlY29uZmlndXJlKCkgd29uJiMzOTt0IHF1ZXVlIG5ldyByZWN2X3dvcmsgYmV0d2VlbgomIzQzOwkgKiBoZXJlIGFuZCBmbHVzaF93b3JrcXVldWUoKS4KJiM0MzsJICovCiYjNDM7CW5iZC0mZ3Q7dGFza19zZXR1cCA9IE5VTEw7CiYjNDM7CWNsZWFyX2JpdChOQkRfUlRfQk9VTkQsICZhbXA7bmJkLSZndDtjb25maWctJmd0O3J1bnRpbWVfZmxhZ3MpOwomIzQzOwltdXRleF91bmxvY2soJmFtcDtuYmQtJmd0O2NvbmZpZ19sb2NrKTsKJiM0MzsKIAkvKgogCSAqIE1ha2Ugc3VyZSByZWN2IHRocmVhZCBoYXMgZmluaXNoZWQsIHdlIGNhbiBzYWZlbHkgY2FsbCBuYmRfY2xlYXJfcXVlKCkKIAkgKiB0byBjYW5jZWwgdGhlIGluZmxpZ2h0IEkvT3MuCiAJICovCiAJZmx1c2hfd29ya3F1ZXVlKG5iZC0mZ3Q7cmVjdl93b3JrcSk7CiYjNDM7CiYjNDM7CW11dGV4X2xvY2soJmFtcDtuYmQtJmd0O2NvbmZpZ19sb2NrKTsKIAluYmRfY2xlYXJfcXVlKG5iZCk7Ci0JbmJkLSZndDt0YXNrX3NldHVwID0gTlVMTDsKLQljbGVhcl9iaXQoTkJEX1JUX0JPVU5ELCAmYW1wO25iZC0mZ3Q7Y29uZmlnLSZndDtydW50aW1lX2ZsYWdzKTsKIAltdXRleF91bmxvY2soJmFtcDtuYmQtJmd0O2NvbmZpZ19sb2NrKTsKIAogCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTkJEX1JUX0hBU19DT05GSUdfUkVGLAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDU2CgkJCQkJCQlvdXRwdXQ6IDM0CgkJCQkJCQl0aG91Z2h0czogNDIzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgTkJEIERpc2Nvbm5lY3QgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggaW4gYGRyaXZlcnMvYmxvY2svbmJkLmNgLCBzcGVjaWZpY2FsbHkgdGhlIGBuYmRfZGlzY29ubmVjdF9hbmRfcHV0YCBmdW5jdGlvbi4gVGhlIGtleSBjaGFuZ2UgaGVyZSBpcyB0aGUgcmVvcmRlcmluZyBvZiBvcGVyYXRpb25zIHJlbGF0ZWQgdG8gdGhlIGBjb25maWdfbG9ja2AgYW5kIHRoZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBgcmVjdl93b3JrcWAuIEluaXRpYWxseSwgdGhlIGRpc2Nvbm5lY3QgYW5kIHNodXRkb3duIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCwgYW5kIHRoZSBgY29ubl93YWl0YCBpcyB3b2tlbiB1cC4KClRoZSBjcml0aWNhbCBwYXJ0IGlzIHRoZSBzZWN0aW9uIHdpdGggdGhlIGNvbW1lbnRzLiBJdCBsb29rcyBsaWtlIHdlJiMzOTtyZSB0cnlpbmcgdG8gcHJldmVudCBhIHJhY2UgY29uZGl0aW9uIHdpdGggYG5iZF9nZW5sX3JlY29uZmlndXJlKClgLiBCeSBzZXR0aW5nIGBuYmQtJmd0O3Rhc2tfc2V0dXBgIHRvIGBOVUxMYCBhbmQgY2xlYXJpbmcgdGhlIGBOQkRfUlRfQk9VTkRgIGZsYWcgKmJlZm9yZSogcmVsZWFzaW5nIHRoZSBgY29uZmlnX2xvY2tgLCB3ZSYjMzk7cmUgZXNzZW50aWFsbHkgY3JlYXRpbmcgYSB3aW5kb3cgd2hlcmUgYG5iZF9nZW5sX3JlY29uZmlndXJlKClgIHdvbiYjMzk7dCBiZSBhYmxlIHRvIHNjaGVkdWxlIG5ldyBgcmVjdl93b3JrYCBpdGVtcy4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHN1YnNlcXVlbnQgY2FsbCB0byBgZmx1c2hfd29ya3F1ZXVlKG5iZC0mZ3Q7cmVjdl93b3JrcSlgIGNhbiBjb21wbGV0ZSB3aXRob3V0IGludGVyZmVyZW5jZS4KCkVzc2VudGlhbGx5LCB3ZSYjMzk7cmUgYmxvY2tpbmcgcmVjb25maWd1cmF0aW9ucyBmcm9tIG1lc3Npbmcgd2l0aCB0aGUgc2h1dGRvd24gcHJvY2Vzcy4KClRoZSBvcmlnaW5hbCBvcmRlciB3YXMgdGhlIG9wcG9zaXRlLCBidXQgbm93IHdlIGVuc3VyZSB0aGF0IHRoZSByZWN2IHRocmVhZCBoYXMgZmluaXNoZWQgYW5kIHRoYXQgdGhlIEkvT3MgYXJlIHNhZmVseSBjYW5jZWxsZWQuIE5vdywgdGhlIGBmbHVzaF93b3JrcXVldWVgIGVuc3VyZXMgdGhhdCB0aGUgcmVjZWl2ZSB0aHJlYWQgaGFzIGZpbmlzaGVkLCBhbmQgdGhlbiB0aGUgSS9PcyBhcmUgY2FuY2VsbGVkIGluIGBuYmRfY2xlYXJfcXVlKClgLiBUaGlzIGF2b2lkcyBhIHBvdGVudGlhbCBkb3VibGUtZnJlZSBvciB1c2UtYWZ0ZXItZnJlZSBzY2VuYXJpby4gVGhpcyBpcyBhIHN1YnRsZSBidXQgaW1wb3J0YW50IGNoYW5nZS4KCkJlZm9yZSBnb2luZyBmdXJ0aGVyLCBJIHNob3VsZCBwcm9iYWJseSBjaGVjayB0aGUgY29uZmlnIG9wdGlvbnMgZm9yIGBuYmQuY2AgdG8gc2VlIGlmIHRoZXJlJiMzOTtzIGFueXRoaW5nIGVsc2UgcmVsZXZhbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMzAgMDM6NTI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJMS19ERVZfTkJEJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svS2NvbmZpZz0xOTQ9c291cmNlIFwmIzM0O2RyaXZlcnMvYmxvY2svZHJiZC9LY29uZmlnXCYjMzQ7XG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk1LVxuZHJpdmVycy9ibG9jay9LY29uZmlnOjE5Njpjb25maWcgQkxLX0RFVl9OQkRcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0xOTctXHR0cmlzdGF0ZSBcJiMzNDtOZXR3b3JrIGJsb2NrIGRldmljZSBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMzAgMDM6NTI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjk2MAoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDcxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgTkJEIERpc2Nvbm5lY3Rpb24gUHJvY2VkdXJlKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGNvZGUgYW5kIHRoZSBjb3JlIGNvbmZpZ3VyYXRpb24gaXRlbSB0aGF0JiMzOTtzIHJlbGV2YW50IGhlcmUgaXMgYEJMS19ERVZfTkJEYC4gVGhlIGZ1bmN0aW9uIGJlaW5nIHNwZWNpZmljYWxseSBtb2RpZmllZCBpcyBgbmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dGAuIEkgYWxzbyBzZWUgdGhhdCB0aGVyZSBhcmUgb3RoZXIgcmVsYXRlZCBmdW5jdGlvbnMgSSBtaWdodCBuZWVkIHRvIGNvbnNpZGVyOiBgbmJkX2dlbmxfcmVjb25maWd1cmVgLCBgbmJkX2Rpc2Nvbm5lY3RgLCBhbmQgYHNvY2tfc2h1dGRvd25gLgoKTXkgZmlyc3Qgc3RlcCBpcyB0byBmaWd1cmUgb3V0IHRoZSBjb2RlIHBhdGguIEkgbmVlZCB0byBjb25maXJtIGhvdyBgbmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dGAgaXMgcmVhY2hlZC4gSSYjMzk7bSBnb2luZyB0byBkZXRlcm1pbmUgaWYgdGhlIGZ1bmN0aW9uIGlzIHJlYWNoYWJsZSBmcm9tIG90aGVyIGZ1bmN0aW9ucyByZWxhdGVkIHRvIG5ldHdvcmsgYmxvY2sgZGV2aWNlIGNvbmZpZ3VyYXRpb24gYW5kIGRpc2Nvbm5lY3Rpb24uIEkmIzM5O2xsIG5lZWQgdG8gdHJhY2UgdGhlIGNhbGwgZ3JhcGggdG8gY29uZmlybSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlc2UgZnVuY3Rpb25zLCBhbmQgdGhlcmVmb3JlIHRoZSBjb250ZXh0IGZvciB0aGlzIHNwZWNpZmljIG1vZGlmaWNhdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuYmRfZGlzY29ubmVjdF9hbmRfcHV0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jPTE3Nj1zdGF0aWMgdm9pZCBuYmRfZGVhZF9saW5rX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MTc3OnN0YXRpYyB2b2lkIG5iZF9kaXNjb25uZWN0X2FuZF9wdXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCk7XG5kcml2ZXJzL2Jsb2NrL25iZC5jLTE3OC1cbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTE3ODU9c3RhdGljIHZvaWQgbmJkX3JlbGVhc2Uoc3RydWN0IGdlbmRpc2sgKmRpc2spXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0xNzkwLVx0XHRcdGRpc2tfb3BlbmVycyhkaXNrKSA9PSAwKVxuZHJpdmVycy9ibG9jay9uYmQuYzoxNzkxOlx0XHRuYmRfZGlzY29ubmVjdF9hbmRfcHV0KG5iZCk7XG5kcml2ZXJzL2Jsb2NrL25iZC5jLTE3OTItXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz0yMTEwPXN0YXRpYyBpbnQgbmJkX2dlbmxfY29ubmVjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtMjI5MC1cbmRyaXZlcnMvYmxvY2svbmJkLmM6MjI5MTpzdGF0aWMgdm9pZCBuYmRfZGlzY29ubmVjdF9hbmRfcHV0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIyOTIte1xuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMyMT1zdGF0aWMgaW50IG5iZF9nZW5sX2Rpc2Nvbm5lY3Qoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIzNDgtXHRcdGdvdG8gcHV0X25iZDtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjM0OTpcdG5iZF9kaXNjb25uZWN0X2FuZF9wdXQobmJkKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjM1MC1cdG5iZF9jb25maWdfcHV0KG5iZCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMzAgMDM6NTI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzY2NAoJCQkJCQkJb3V0cHV0OiAxNDQKCQkJCQkJCXRob3VnaHRzOiA4OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBhc3Nlc3NtZW50IG9mIHRoaXMgaW5mb3JtYXRpb24sIGZvY3VzaW5nIG9uIHRoZSBwb3RlbnRpYWwgaW1wYWN0IGFuZCBhcmVhcyBmb3IgaW52ZXN0aWdhdGlvbjoKCioqTXkgQW5hbHlzaXMgb2YgVGhpcyBOQkQgRml4KioKCkFscmlnaHQsIHNvIHdlJiMzOTt2ZSBnb3QgYSBmdW5jdGlvbmFsIGNoYW5nZSBoZXJlIHJlbGF0ZWQgdG8gTkJEIChOZXR3b3JrIEJsb2NrIERldmljZSksIGFuZCBpdCYjMzk7cyBkZWFsaW5nIHdpdGggYSByYWNlIGNvbmRpdGlvbi4gVGhlIGZhY3QgdGhhdCBpdCYjMzk7cyByZWFjaGFibGUgdGhyb3VnaCBgbmJkX3JlbGVhc2VgIGFuZCBgbmJkX2dlbmxfZGlzY29ubmVjdGAgaW1tZWRpYXRlbHkgZmxhZ3MgaXQgYXMgcG90ZW50aWFsbHkgY3JpdGljYWwuIEFueSB0aW1lIHlvdSYjMzk7cmUgdG91Y2hpbmcgdGhvc2UgZnVuY3Rpb25zLCBlc3BlY2lhbGx5IHdpdGhpbiB0aGUgZGlzY29ubmVjdCBhbmQgcmVsZWFzZSBwYXRod2F5cywgeW91IG5lZWQgdG8gcGF5IGNsb3NlIGF0dGVudGlvbiB0byB0aHJlYWRpbmcgYW5kIHJlc291cmNlIG1hbmFnZW1lbnQgaXNzdWVzLCB3aGljaCBhcmUgcHJpbWUgYXJlYXMgZm9yIHJhY2UgY29uZGl0aW9ucy4KClRoZSAmIzM0O1dvcnRoIGZ1enppbmc6IFRydWUmIzM0OyBzdGF0ZW1lbnQgaXMgc3BvdCBvbi4gR2l2ZW4gdGhlIG5hdHVyZSBvZiBibG9jayBkZXZpY2VzIGFuZCB0aGUgbmV0d29yayBpbnRlcmFjdGlvbiwgZnV6emluZyBpcyBhbiAqYWJzb2x1dGUqIG11c3QgZm9yIHRoaXMuIFdlIG5lZWQgdG8gdGhyb3cgYSBtYXNzaXZlIHZhcmlldHkgb2YgaW5wdXRzIGF0IGl0LCBlc3BlY2lhbGx5IHVuZGVyIGhlYXZ5IGxvYWQgYW5kIHdpdGggZGlzY29ubmVjdC9yZWNvbm5lY3QgY3ljbGVzIHRvIGV4cG9zZSBhbnkgc3VidGxlIGZsYXdzLiBUaGUgZmFjdCB0aGF0IGBCTEtfREVWX05CRGAgaXMgdGhlIHJlbGV2YW50IGNvbmZpZyBpcyBnb29kOyBpdCBtZWFucyB3ZSBjYW4gaXNvbGF0ZSBvdXIgdGVzdGluZyB0byBzeXN0ZW1zIHdoZXJlIE5CRCBpcyBhY3R1YWxseSBlbmFibGVkLgoKVGhlIGZvY3VzIHN5bWJvbHMgYXJlIGtleTogYG5iZF9kaXNjb25uZWN0X2FuZF9wdXRgLCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLCBgbmJkX2dlbmxfZGlzY29ubmVjdGAsIGFuZCBgbmJkX3JlbGVhc2VgLiBJJiMzOTttIGdvaW5nIHRvIHdhbnQgdG8gZGVlcGx5IGFuYWx5emUgdGhlIGludGVyYWN0aW9uIG9mIHRoZXNlIGZ1bmN0aW9ucywgcGF5aW5nIGNsb3NlIGF0dGVudGlvbiB0byBhbnkgc2hhcmVkIGRhdGEgc3RydWN0dXJlcywgbG9ja2luZyBtZWNoYW5pc21zLCBhbmQgaW50ZXJydXB0IGhhbmRsaW5nLiBUaGUgcmFjZSBjb25kaXRpb24gcHJvYmFibHkgaW52b2x2ZXMgYW4gaXNzdWUgd2hlcmUgb25lIHRocmVhZCBpcyBkb2luZyBzb21ldGhpbmcgaW4gb25lIG9mIHRoZXNlIGZ1bmN0aW9ucyB3aGlsZSBhbm90aGVyIHRocmVhZCBpcyB0cnlpbmcgdG8gZWl0aGVyIGRpc2Nvbm5lY3Qgb3IgcmVsZWFzZSB0aGUgZGV2aWNlLiBXZSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gdHJhbnNpdGlvbnMgYmV0d2VlbiB0aGVzZSBzdGF0ZXMgYW5kIGVuc3VyZSBpdCYjMzk7cyBkb2luZyBzbyBzYWZlbHkuIEkmIzM5O2xsIG5lZWQgdG8gcmV2aWV3IHRoZSBwYXRjaCBpdHNlbGYgYW5kIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGZpeCBpbiByZWxhdGlvbiB0byB0aGUgY29kZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfZGlzY29ubmVjdF9hbmRfcHV0JiMzNDssCiAgICAmIzM0O25iZF9nZW5sX3JlY29uZmlndXJlJiMzNDssCiAgICAmIzM0O25iZF9nZW5sX2Rpc2Nvbm5lY3QmIzM0OywKICAgICYjMzQ7bmJkX3JlbGVhc2UmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgTkJEIGRyaXZlciBkdXJpbmcgZGlzY29ubmVjdGlvbiBieSBjbGVhcmluZyBOQkRfUlRfQk9VTkQgYW5kIHRhc2tfc2V0dXAgYmVmb3JlIHJlbGVhc2luZyB0aGUgY29uZmlnX2xvY2sgYW5kIGZsdXNoaW5nIHRoZSB3b3JrcXVldWUuIFRoaXMgcHJldmVudHMgbmV3IHJlY3Zfd29yayBmcm9tIGJlaW5nIHF1ZXVlZCBieSBuYmRfZ2VubF9yZWNvbmZpZ3VyZSgpLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgZHJpdmVyIGxvZ2ljLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9kaXNjb25uZWN0X2FuZF9wdXQmIzM0OywKICAgICYjMzQ7bmJkX2dlbmxfcmVjb25maWd1cmUmIzM0OywKICAgICYjMzQ7bmJkX2dlbmxfZGlzY29ubmVjdCYjMzQ7LAogICAgJiMzNDtuYmRfcmVsZWFzZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNi0zMFQwMzo1MjozNS4zMTk3MzQyMDZaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNjM5MzA3MjI2MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9kaXNjb25uZWN0X2FuZF9wdXRcIixcbiAgICBcIm5iZF9nZW5sX3JlY29uZmlndXJlXCIsXG4gICAgXCJuYmRfZ2VubF9kaXNjb25uZWN0XCIsXG4gICAgXCJuYmRfcmVsZWFzZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcmFjZSBjb25kaXRpb24gaW4gdGhlIE5CRCBkcml2ZXIgZHVyaW5nIGRpc2Nvbm5lY3Rpb24gYnkgY2xlYXJpbmcgTkJEX1JUX0JPVU5EIGFuZCB0YXNrX3NldHVwIGJlZm9yZSByZWxlYXNpbmcgdGhlIGNvbmZpZ19sb2NrIGFuZCBmbHVzaGluZyB0aGUgd29ya3F1ZXVlLiBUaGlzIHByZXZlbnRzIG5ldyByZWN2X3dvcmsgZnJvbSBiZWluZyBxdWV1ZWQgYnkgbmJkX2dlbmxfcmVjb25maWd1cmUoKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIGRyaXZlciBsb2dpYy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMDM6NTI6MzUuMzE5NzcxNTk1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODcxMzkxMjQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBmMDJlNDYyMjFmYmJiYmIwOTMzNmUyNWQxYzU5ZDhhYTRlZWFkMWVkXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUdWUgSnVuIDMwIDAzOjUyOjMzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuaW5kZXggOGYxMDc2MmU5MGVmNzQuLmExYWM2MjQ2MzM2YzFlIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmNcXG4rKysgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuQEAgLTIyOTQsMTQgKzIyOTQsMjMgQEAgc3RhdGljIHZvaWQgbmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbiBcXHRuYmRfZGlzY29ubmVjdChuYmQpO1xcbiBcXHRzb2NrX3NodXRkb3duKG5iZCk7XFxuIFxcdHdha2VfdXAoXFx1MDAyNm5iZC1cXHUwMDNlY29uZmlnLVxcdTAwM2Vjb25uX3dhaXQpO1xcbitcXHQvKlxcbitcXHQgKiBDbGVhciBOQkRfUlRfQk9VTkQgYmVmb3JlIHJlbGVhc2luZyBjb25maWdfbG9jayBzbyB0aGF0XFxuK1xcdCAqIG5iZF9nZW5sX3JlY29uZmlndXJlKCkgd29uJ3QgcXVldWUgbmV3IHJlY3Zfd29yayBiZXR3ZWVuXFxuK1xcdCAqIGhlcmUgYW5kIGZsdXNoX3dvcmtxdWV1ZSgpLlxcbitcXHQgKi9cXG4rXFx0bmJkLVxcdTAwM2V0YXNrX3NldHVwID0gTlVMTDtcXG4rXFx0Y2xlYXJfYml0KE5CRF9SVF9CT1VORCwgXFx1MDAyNm5iZC1cXHUwMDNlY29uZmlnLVxcdTAwM2VydW50aW1lX2ZsYWdzKTtcXG4rXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZuYmQtXFx1MDAzZWNvbmZpZ19sb2NrKTtcXG4rXFxuIFxcdC8qXFxuIFxcdCAqIE1ha2Ugc3VyZSByZWN2IHRocmVhZCBoYXMgZmluaXNoZWQsIHdlIGNhbiBzYWZlbHkgY2FsbCBuYmRfY2xlYXJfcXVlKClcXG4gXFx0ICogdG8gY2FuY2VsIHRoZSBpbmZsaWdodCBJL09zLlxcbiBcXHQgKi9cXG4gXFx0Zmx1c2hfd29ya3F1ZXVlKG5iZC1cXHUwMDNlcmVjdl93b3JrcSk7XFxuK1xcbitcXHRtdXRleF9sb2NrKFxcdTAwMjZuYmQtXFx1MDAzZWNvbmZpZ19sb2NrKTtcXG4gXFx0bmJkX2NsZWFyX3F1ZShuYmQpO1xcbi1cXHRuYmQtXFx1MDAzZXRhc2tfc2V0dXAgPSBOVUxMO1xcbi1cXHRjbGVhcl9iaXQoTkJEX1JUX0JPVU5ELCBcXHUwMDI2bmJkLVxcdTAwM2Vjb25maWctXFx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xcbiBcXHRtdXRleF91bmxvY2soXFx1MDAyNm5iZC1cXHUwMDNlY29uZmlnX2xvY2spO1xcbiBcXG4gXFx0aWYgKHRlc3RfYW5kX2NsZWFyX2JpdChOQkRfUlRfSEFTX0NPTkZJR19SRUYsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTMwVDAzOjUyOjM1LjkxMTU0NDQ1OFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTU4MDEyMzg5NjksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZGlzY29ubmVjdF9hbmRfcHV0XCIsXG4gICAgXCJuYmRfZ2VubF9yZWNvbmZpZ3VyZVwiLFxuICAgIFwibmJkX2dlbmxfZGlzY29ubmVjdFwiLFxuICAgIFwibmJkX3JlbGVhc2VcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZjAyZTQ2MjIxZmJiYmJiMDkzMzZlMjVkMWM1OWQ4YWE0ZWVhZDFlZFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVuIDMwIDAzOjUyOjMzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9uYmQuYyBiL2RyaXZlcnMvYmxvY2svbmJkLmNcbmluZGV4IDhmMTA3NjJlOTBlZjc0Li5hMWFjNjI0NjMzNmMxZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmNcbisrKyBiL2RyaXZlcnMvYmxvY2svbmJkLmNcbkBAIC0yMjk0LDE0ICsyMjk0LDIzIEBAIHN0YXRpYyB2b2lkIG5iZF9kaXNjb25uZWN0X2FuZF9wdXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdG5iZF9kaXNjb25uZWN0KG5iZCk7XG4gXHRzb2NrX3NodXRkb3duKG5iZCk7XG4gXHR3YWtlX3VwKFx1MDAyNm5iZC1cdTAwM2Vjb25maWctXHUwMDNlY29ubl93YWl0KTtcbitcdC8qXG4rXHQgKiBDbGVhciBOQkRfUlRfQk9VTkQgYmVmb3JlIHJlbGVhc2luZyBjb25maWdfbG9jayBzbyB0aGF0XG4rXHQgKiBuYmRfZ2VubF9yZWNvbmZpZ3VyZSgpIHdvbid0IHF1ZXVlIG5ldyByZWN2X3dvcmsgYmV0d2VlblxuK1x0ICogaGVyZSBhbmQgZmx1c2hfd29ya3F1ZXVlKCkuXG4rXHQgKi9cbitcdG5iZC1cdTAwM2V0YXNrX3NldHVwID0gTlVMTDtcbitcdGNsZWFyX2JpdChOQkRfUlRfQk9VTkQsIFx1MDAyNm5iZC1cdTAwM2Vjb25maWctXHUwMDNlcnVudGltZV9mbGFncyk7XG4rXHRtdXRleF91bmxvY2soXHUwMDI2bmJkLVx1MDAzZWNvbmZpZ19sb2NrKTtcbitcbiBcdC8qXG4gXHQgKiBNYWtlIHN1cmUgcmVjdiB0aHJlYWQgaGFzIGZpbmlzaGVkLCB3ZSBjYW4gc2FmZWx5IGNhbGwgbmJkX2NsZWFyX3F1ZSgpXG4gXHQgKiB0byBjYW5jZWwgdGhlIGluZmxpZ2h0IEkvT3MuXG4gXHQgKi9cbiBcdGZsdXNoX3dvcmtxdWV1ZShuYmQtXHUwMDNlcmVjdl93b3JrcSk7XG4rXG4rXHRtdXRleF9sb2NrKFx1MDAyNm5iZC1cdTAwM2Vjb25maWdfbG9jayk7XG4gXHRuYmRfY2xlYXJfcXVlKG5iZCk7XG4tXHRuYmQtXHUwMDNldGFza19zZXR1cCA9IE5VTEw7XG4tXHRjbGVhcl9iaXQoTkJEX1JUX0JPVU5ELCBcdTAwMjZuYmQtXHUwMDNlY29uZmlnLVx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNm5iZC1cdTAwM2Vjb25maWdfbG9jayk7XG4gXG4gXHRpZiAodGVzdF9hbmRfY2xlYXJfYml0KE5CRF9SVF9IQVNfQ09ORklHX1JFRixcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTMwVDAzOjUyOjM1LjkxMTU0OTM5OFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjYzNzEwNTU5NjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOQkQgRGlzY29ubmVjdCBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggaW4gYGRyaXZlcnMvYmxvY2svbmJkLmNgLCBzcGVjaWZpY2FsbHkgdGhlIGBuYmRfZGlzY29ubmVjdF9hbmRfcHV0YCBmdW5jdGlvbi4gVGhlIGtleSBjaGFuZ2UgaGVyZSBpcyB0aGUgcmVvcmRlcmluZyBvZiBvcGVyYXRpb25zIHJlbGF0ZWQgdG8gdGhlIGBjb25maWdfbG9ja2AgYW5kIHRoZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBgcmVjdl93b3JrcWAuIEluaXRpYWxseSwgdGhlIGRpc2Nvbm5lY3QgYW5kIHNodXRkb3duIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCwgYW5kIHRoZSBgY29ubl93YWl0YCBpcyB3b2tlbiB1cC5cblxuVGhlIGNyaXRpY2FsIHBhcnQgaXMgdGhlIHNlY3Rpb24gd2l0aCB0aGUgY29tbWVudHMuIEl0IGxvb2tzIGxpa2Ugd2UncmUgdHJ5aW5nIHRvIHByZXZlbnQgYSByYWNlIGNvbmRpdGlvbiB3aXRoIGBuYmRfZ2VubF9yZWNvbmZpZ3VyZSgpYC4gQnkgc2V0dGluZyBgbmJkLVx1MDAzZXRhc2tfc2V0dXBgIHRvIGBOVUxMYCBhbmQgY2xlYXJpbmcgdGhlIGBOQkRfUlRfQk9VTkRgIGZsYWcgKmJlZm9yZSogcmVsZWFzaW5nIHRoZSBgY29uZmlnX2xvY2tgLCB3ZSdyZSBlc3NlbnRpYWxseSBjcmVhdGluZyBhIHdpbmRvdyB3aGVyZSBgbmJkX2dlbmxfcmVjb25maWd1cmUoKWAgd29uJ3QgYmUgYWJsZSB0byBzY2hlZHVsZSBuZXcgYHJlY3Zfd29ya2AgaXRlbXMuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBzdWJzZXF1ZW50IGNhbGwgdG8gYGZsdXNoX3dvcmtxdWV1ZShuYmQtXHUwMDNlcmVjdl93b3JrcSlgIGNhbiBjb21wbGV0ZSB3aXRob3V0IGludGVyZmVyZW5jZS5cblxuRXNzZW50aWFsbHksIHdlJ3JlIGJsb2NraW5nIHJlY29uZmlndXJhdGlvbnMgZnJvbSBtZXNzaW5nIHdpdGggdGhlIHNodXRkb3duIHByb2Nlc3MuXG5cblRoZSBvcmlnaW5hbCBvcmRlciB3YXMgdGhlIG9wcG9zaXRlLCBidXQgbm93IHdlIGVuc3VyZSB0aGF0IHRoZSByZWN2IHRocmVhZCBoYXMgZmluaXNoZWQgYW5kIHRoYXQgdGhlIEkvT3MgYXJlIHNhZmVseSBjYW5jZWxsZWQuIE5vdywgdGhlIGBmbHVzaF93b3JrcXVldWVgIGVuc3VyZXMgdGhhdCB0aGUgcmVjZWl2ZSB0aHJlYWQgaGFzIGZpbmlzaGVkLCBhbmQgdGhlbiB0aGUgSS9PcyBhcmUgY2FuY2VsbGVkIGluIGBuYmRfY2xlYXJfcXVlKClgLiBUaGlzIGF2b2lkcyBhIHBvdGVudGlhbCBkb3VibGUtZnJlZSBvciB1c2UtYWZ0ZXItZnJlZSBzY2VuYXJpby4gVGhpcyBpcyBhIHN1YnRsZSBidXQgaW1wb3J0YW50IGNoYW5nZS5cblxuQmVmb3JlIGdvaW5nIGZ1cnRoZXIsIEkgc2hvdWxkIHByb2JhYmx5IGNoZWNrIHRoZSBjb25maWcgb3B0aW9ucyBmb3IgYG5iZC5jYCB0byBzZWUgaWYgdGhlcmUncyBhbnl0aGluZyBlbHNlIHJlbGV2YW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDU2LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDIzLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMDM6NTI6NDIuMjgyNjA5OTAxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE5MTU1MjUzMSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQkxLX0RFVl9OQkRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svS2NvbmZpZz0xOTQ9c291cmNlIFxcXCJkcml2ZXJzL2Jsb2NrL2RyYmQvS2NvbmZpZ1xcXCJcXG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk1LVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZzoxOTY6Y29uZmlnIEJMS19ERVZfTkJEXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cXHR0cmlzdGF0ZSBcXFwiTmV0d29yayBibG9jayBkZXZpY2Ugc3VwcG9ydFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMDM6NTI6NDIuNDc0MTcxNTAyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzYyNzQyMjA5OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIE5CRCBEaXNjb25uZWN0aW9uIFByb2NlZHVyZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgY29kZSBhbmQgdGhlIGNvcmUgY29uZmlndXJhdGlvbiBpdGVtIHRoYXQncyByZWxldmFudCBoZXJlIGlzIGBCTEtfREVWX05CRGAuIFRoZSBmdW5jdGlvbiBiZWluZyBzcGVjaWZpY2FsbHkgbW9kaWZpZWQgaXMgYG5iZF9kaXNjb25uZWN0X2FuZF9wdXRgLiBJIGFsc28gc2VlIHRoYXQgdGhlcmUgYXJlIG90aGVyIHJlbGF0ZWQgZnVuY3Rpb25zIEkgbWlnaHQgbmVlZCB0byBjb25zaWRlcjogYG5iZF9nZW5sX3JlY29uZmlndXJlYCwgYG5iZF9kaXNjb25uZWN0YCwgYW5kIGBzb2NrX3NodXRkb3duYC5cblxuTXkgZmlyc3Qgc3RlcCBpcyB0byBmaWd1cmUgb3V0IHRoZSBjb2RlIHBhdGguIEkgbmVlZCB0byBjb25maXJtIGhvdyBgbmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dGAgaXMgcmVhY2hlZC4gSSdtIGdvaW5nIHRvIGRldGVybWluZSBpZiB0aGUgZnVuY3Rpb24gaXMgcmVhY2hhYmxlIGZyb20gb3RoZXIgZnVuY3Rpb25zIHJlbGF0ZWQgdG8gbmV0d29yayBibG9jayBkZXZpY2UgY29uZmlndXJhdGlvbiBhbmQgZGlzY29ubmVjdGlvbi4gSSdsbCBuZWVkIHRvIHRyYWNlIHRoZSBjYWxsIGdyYXBoIHRvIGNvbmZpcm0gdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZXNlIGZ1bmN0aW9ucywgYW5kIHRoZXJlZm9yZSB0aGUgY29udGV4dCBmb3IgdGhpcyBzcGVjaWZpYyBtb2RpZmljYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI5NjAsIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0zMFQwMzo1Mjo0Ni4xMDE1OTc5MDFaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM1MjE1NjM3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm5iZF9kaXNjb25uZWN0X2FuZF9wdXRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9uYmQuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL2Jsb2NrL25iZC5jPTE3Nj1zdGF0aWMgdm9pZCBuYmRfZGVhZF9saW5rX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjE3NzpzdGF0aWMgdm9pZCBuYmRfZGlzY29ubmVjdF9hbmRfcHV0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmMtMTc4LVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0xNzg1PXN0YXRpYyB2b2lkIG5iZF9yZWxlYXNlKHN0cnVjdCBnZW5kaXNrICpkaXNrKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0xNzkwLVxcdFxcdFxcdGRpc2tfb3BlbmVycyhkaXNrKSA9PSAwKVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MTc5MTpcXHRcXHRuYmRfZGlzY29ubmVjdF9hbmRfcHV0KG5iZCk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0xNzkyLVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0yMTEwPXN0YXRpYyBpbnQgbmJkX2dlbmxfY29ubmVjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yMjkwLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjI5MTpzdGF0aWMgdm9pZCBuYmRfZGlzY29ubmVjdF9hbmRfcHV0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yMjkyLXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMyMT1zdGF0aWMgaW50IG5iZF9nZW5sX2Rpc2Nvbm5lY3Qoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjM0OC1cXHRcXHRnb3RvIHB1dF9uYmQ7XFxuZHJpdmVycy9ibG9jay9uYmQuYzoyMzQ5OlxcdG5iZF9kaXNjb25uZWN0X2FuZF9wdXQobmJkKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIzNTAtXFx0bmJkX2NvbmZpZ19wdXQobmJkKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMDM6NTI6NDYuMzM2ODI0MzI4WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTE1NTA4MDY5MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGFzc2Vzc21lbnQgb2YgdGhpcyBpbmZvcm1hdGlvbiwgZm9jdXNpbmcgb24gdGhlIHBvdGVudGlhbCBpbXBhY3QgYW5kIGFyZWFzIGZvciBpbnZlc3RpZ2F0aW9uOlxuXG4qKk15IEFuYWx5c2lzIG9mIFRoaXMgTkJEIEZpeCoqXG5cbkFscmlnaHQsIHNvIHdlJ3ZlIGdvdCBhIGZ1bmN0aW9uYWwgY2hhbmdlIGhlcmUgcmVsYXRlZCB0byBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSwgYW5kIGl0J3MgZGVhbGluZyB3aXRoIGEgcmFjZSBjb25kaXRpb24uIFRoZSBmYWN0IHRoYXQgaXQncyByZWFjaGFibGUgdGhyb3VnaCBgbmJkX3JlbGVhc2VgIGFuZCBgbmJkX2dlbmxfZGlzY29ubmVjdGAgaW1tZWRpYXRlbHkgZmxhZ3MgaXQgYXMgcG90ZW50aWFsbHkgY3JpdGljYWwuIEFueSB0aW1lIHlvdSdyZSB0b3VjaGluZyB0aG9zZSBmdW5jdGlvbnMsIGVzcGVjaWFsbHkgd2l0aGluIHRoZSBkaXNjb25uZWN0IGFuZCByZWxlYXNlIHBhdGh3YXlzLCB5b3UgbmVlZCB0byBwYXkgY2xvc2UgYXR0ZW50aW9uIHRvIHRocmVhZGluZyBhbmQgcmVzb3VyY2UgbWFuYWdlbWVudCBpc3N1ZXMsIHdoaWNoIGFyZSBwcmltZSBhcmVhcyBmb3IgcmFjZSBjb25kaXRpb25zLlxuXG5UaGUgXCJXb3J0aCBmdXp6aW5nOiBUcnVlXCIgc3RhdGVtZW50IGlzIHNwb3Qgb24uIEdpdmVuIHRoZSBuYXR1cmUgb2YgYmxvY2sgZGV2aWNlcyBhbmQgdGhlIG5ldHdvcmsgaW50ZXJhY3Rpb24sIGZ1enppbmcgaXMgYW4gKmFic29sdXRlKiBtdXN0IGZvciB0aGlzLiBXZSBuZWVkIHRvIHRocm93IGEgbWFzc2l2ZSB2YXJpZXR5IG9mIGlucHV0cyBhdCBpdCwgZXNwZWNpYWxseSB1bmRlciBoZWF2eSBsb2FkIGFuZCB3aXRoIGRpc2Nvbm5lY3QvcmVjb25uZWN0IGN5Y2xlcyB0byBleHBvc2UgYW55IHN1YnRsZSBmbGF3cy4gVGhlIGZhY3QgdGhhdCBgQkxLX0RFVl9OQkRgIGlzIHRoZSByZWxldmFudCBjb25maWcgaXMgZ29vZDsgaXQgbWVhbnMgd2UgY2FuIGlzb2xhdGUgb3VyIHRlc3RpbmcgdG8gc3lzdGVtcyB3aGVyZSBOQkQgaXMgYWN0dWFsbHkgZW5hYmxlZC5cblxuVGhlIGZvY3VzIHN5bWJvbHMgYXJlIGtleTogYG5iZF9kaXNjb25uZWN0X2FuZF9wdXRgLCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLCBgbmJkX2dlbmxfZGlzY29ubmVjdGAsIGFuZCBgbmJkX3JlbGVhc2VgLiBJJ20gZ29pbmcgdG8gd2FudCB0byBkZWVwbHkgYW5hbHl6ZSB0aGUgaW50ZXJhY3Rpb24gb2YgdGhlc2UgZnVuY3Rpb25zLCBwYXlpbmcgY2xvc2UgYXR0ZW50aW9uIHRvIGFueSBzaGFyZWQgZGF0YSBzdHJ1Y3R1cmVzLCBsb2NraW5nIG1lY2hhbmlzbXMsIGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcuIFRoZSByYWNlIGNvbmRpdGlvbiBwcm9iYWJseSBpbnZvbHZlcyBhbiBpc3N1ZSB3aGVyZSBvbmUgdGhyZWFkIGlzIGRvaW5nIHNvbWV0aGluZyBpbiBvbmUgb2YgdGhlc2UgZnVuY3Rpb25zIHdoaWxlIGFub3RoZXIgdGhyZWFkIGlzIHRyeWluZyB0byBlaXRoZXIgZGlzY29ubmVjdCBvciByZWxlYXNlIHRoZSBkZXZpY2UuIFdlIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHN5c3RlbSB0cmFuc2l0aW9ucyBiZXR3ZWVuIHRoZXNlIHN0YXRlcyBhbmQgZW5zdXJlIGl0J3MgZG9pbmcgc28gc2FmZWx5LiBJJ2xsIG5lZWQgdG8gcmV2aWV3IHRoZSBwYXRjaCBpdHNlbGYgYW5kIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGZpeCBpbiByZWxhdGlvbiB0byB0aGUgY29kZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzY2NCwiT3V0cHV0VG9rZW5zIjoxNDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo4OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0zMFQwMzo1Mjo1MS40OTE5MDg4MDlaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyMDg2NDM5OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZGlzY29ubmVjdF9hbmRfcHV0XCIsXG4gICAgXCJuYmRfZ2VubF9yZWNvbmZpZ3VyZVwiLFxuICAgIFwibmJkX2dlbmxfZGlzY29ubmVjdFwiLFxuICAgIFwibmJkX3JlbGVhc2VcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZGlzY29ubmVjdF9hbmRfcHV0XCIsXG4gICAgXCJuYmRfZ2VubF9yZWNvbmZpZ3VyZVwiLFxuICAgIFwibmJkX2dlbmxfZGlzY29ubmVjdFwiLFxuICAgIFwibmJkX3JlbGVhc2VcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowfcs7w[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-30 03:43:27 +0000 UTC FinishedAt: 2026-06-30 03:52:53 +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": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "48b6abe8-3273-4e07-92cf-dac40a7644bb" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "nbd_disconnect_and_put", "nbd_genl_reconfigure", "nbd_genl_disconnect", "nbd_release" ], "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+CgkJCTx0ZD4yMDI2LzA2LzMwIDAzOjUyPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dCYjMzQ7LAogICAgJiMzNDtuYmRfZ2VubF9yZWNvbmZpZ3VyZSYjMzQ7LAogICAgJiMzNDtuYmRfZ2VubF9kaXNjb25uZWN0JiMzNDssCiAgICAmIzM0O25iZF9yZWxlYXNlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcmFjZSBjb25kaXRpb24gaW4gdGhlIE5CRCBkcml2ZXIgZHVyaW5nIGRpc2Nvbm5lY3Rpb24gYnkgY2xlYXJpbmcgTkJEX1JUX0JPVU5EIGFuZCB0YXNrX3NldHVwIGJlZm9yZSByZWxlYXNpbmcgdGhlIGNvbmZpZ19sb2NrIGFuZCBmbHVzaGluZyB0aGUgd29ya3F1ZXVlLiBUaGlzIHByZXZlbnRzIG5ldyByZWN2X3dvcmsgZnJvbSBiZWluZyBxdWV1ZWQgYnkgbmJkX2dlbmxfcmVjb25maWd1cmUoKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIGRyaXZlciBsb2dpYy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGYwMmU0NjIyMWZiYmJiYjA5MzM2ZTI1ZDFjNTlkOGFhNGVlYWQxZWRcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1biAzMCAwMzo1MjozMyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggOGYxMDc2MmU5MGVmNzQuLmExYWM2MjQ2MzM2YzFlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTIyOTQsMTQgJiM0MzsyMjk0LDIzIEBAIHN0YXRpYyB2b2lkIG5iZF9kaXNjb25uZWN0X2FuZF9wdXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdG5iZF9kaXNjb25uZWN0KG5iZCk7XG4gXHRzb2NrX3NodXRkb3duKG5iZCk7XG4gXHR3YWtlX3VwKFx1MDAyNm5iZC1cdTAwM2Vjb25maWctXHUwMDNlY29ubl93YWl0KTtcbiYjNDM7XHQvKlxuJiM0MztcdCAqIENsZWFyIE5CRF9SVF9CT1VORCBiZWZvcmUgcmVsZWFzaW5nIGNvbmZpZ19sb2NrIHNvIHRoYXRcbiYjNDM7XHQgKiBuYmRfZ2VubF9yZWNvbmZpZ3VyZSgpIHdvbiYjMzk7dCBxdWV1ZSBuZXcgcmVjdl93b3JrIGJldHdlZW5cbiYjNDM7XHQgKiBoZXJlIGFuZCBmbHVzaF93b3JrcXVldWUoKS5cbiYjNDM7XHQgKi9cbiYjNDM7XHRuYmQtXHUwMDNldGFza19zZXR1cCA9IE5VTEw7XG4mIzQzO1x0Y2xlYXJfYml0KE5CRF9SVF9CT1VORCwgXHUwMDI2bmJkLVx1MDAzZWNvbmZpZy1cdTAwM2VydW50aW1lX2ZsYWdzKTtcbiYjNDM7XHRtdXRleF91bmxvY2soXHUwMDI2bmJkLVx1MDAzZWNvbmZpZ19sb2NrKTtcbiYjNDM7XG4gXHQvKlxuIFx0ICogTWFrZSBzdXJlIHJlY3YgdGhyZWFkIGhhcyBmaW5pc2hlZCwgd2UgY2FuIHNhZmVseSBjYWxsIG5iZF9jbGVhcl9xdWUoKVxuIFx0ICogdG8gY2FuY2VsIHRoZSBpbmZsaWdodCBJL09zLlxuIFx0ICovXG4gXHRmbHVzaF93b3JrcXVldWUobmJkLVx1MDAzZXJlY3Zfd29ya3EpO1xuJiM0MztcbiYjNDM7XHRtdXRleF9sb2NrKFx1MDAyNm5iZC1cdTAwM2Vjb25maWdfbG9jayk7XG4gXHRuYmRfY2xlYXJfcXVlKG5iZCk7XG4tXHRuYmQtXHUwMDNldGFza19zZXR1cCA9IE5VTEw7XG4tXHRjbGVhcl9iaXQoTkJEX1JUX0JPVU5ELCBcdTAwMjZuYmQtXHUwMDNlY29uZmlnLVx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNm5iZC1cdTAwM2Vjb25maWdfbG9jayk7XG4gXG4gXHRpZiAodGVzdF9hbmRfY2xlYXJfYml0KE5CRF9SVF9IQVNfQ09ORklHX1JFRixcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9kaXNjb25uZWN0X2FuZF9wdXQmIzM0OywKICAgICYjMzQ7bmJkX2dlbmxfcmVjb25maWd1cmUmIzM0OywKICAgICYjMzQ7bmJkX2dlbmxfZGlzY29ubmVjdCYjMzQ7LAogICAgJiMzNDtuYmRfcmVsZWFzZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGYwMmU0NjIyMWZiYmJiYjA5MzM2ZTI1ZDFjNTlkOGFhNGVlYWQxZWQKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVHVlIEp1biAzMCAwMzo1MjozMyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCmluZGV4IDhmMTA3NjJlOTBlZjc0Li5hMWFjNjI0NjMzNmMxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCkBAIC0yMjk0LDE0ICYjNDM7MjI5NCwyMyBAQCBzdGF0aWMgdm9pZCBuYmRfZGlzY29ubmVjdF9hbmRfcHV0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpCiAJbmJkX2Rpc2Nvbm5lY3QobmJkKTsKIAlzb2NrX3NodXRkb3duKG5iZCk7CiAJd2FrZV91cCgmYW1wO25iZC0mZ3Q7Y29uZmlnLSZndDtjb25uX3dhaXQpOwomIzQzOwkvKgomIzQzOwkgKiBDbGVhciBOQkRfUlRfQk9VTkQgYmVmb3JlIHJlbGVhc2luZyBjb25maWdfbG9jayBzbyB0aGF0CiYjNDM7CSAqIG5iZF9nZW5sX3JlY29uZmlndXJlKCkgd29uJiMzOTt0IHF1ZXVlIG5ldyByZWN2X3dvcmsgYmV0d2VlbgomIzQzOwkgKiBoZXJlIGFuZCBmbHVzaF93b3JrcXVldWUoKS4KJiM0MzsJICovCiYjNDM7CW5iZC0mZ3Q7dGFza19zZXR1cCA9IE5VTEw7CiYjNDM7CWNsZWFyX2JpdChOQkRfUlRfQk9VTkQsICZhbXA7bmJkLSZndDtjb25maWctJmd0O3J1bnRpbWVfZmxhZ3MpOwomIzQzOwltdXRleF91bmxvY2soJmFtcDtuYmQtJmd0O2NvbmZpZ19sb2NrKTsKJiM0MzsKIAkvKgogCSAqIE1ha2Ugc3VyZSByZWN2IHRocmVhZCBoYXMgZmluaXNoZWQsIHdlIGNhbiBzYWZlbHkgY2FsbCBuYmRfY2xlYXJfcXVlKCkKIAkgKiB0byBjYW5jZWwgdGhlIGluZmxpZ2h0IEkvT3MuCiAJICovCiAJZmx1c2hfd29ya3F1ZXVlKG5iZC0mZ3Q7cmVjdl93b3JrcSk7CiYjNDM7CiYjNDM7CW11dGV4X2xvY2soJmFtcDtuYmQtJmd0O2NvbmZpZ19sb2NrKTsKIAluYmRfY2xlYXJfcXVlKG5iZCk7Ci0JbmJkLSZndDt0YXNrX3NldHVwID0gTlVMTDsKLQljbGVhcl9iaXQoTkJEX1JUX0JPVU5ELCAmYW1wO25iZC0mZ3Q7Y29uZmlnLSZndDtydW50aW1lX2ZsYWdzKTsKIAltdXRleF91bmxvY2soJmFtcDtuYmQtJmd0O2NvbmZpZ19sb2NrKTsKIAogCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTkJEX1JUX0hBU19DT05GSUdfUkVGLAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMDU2CgkJCQkJCQlvdXRwdXQ6IDM0CgkJCQkJCQl0aG91Z2h0czogNDIzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgTkJEIERpc2Nvbm5lY3QgUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggaW4gYGRyaXZlcnMvYmxvY2svbmJkLmNgLCBzcGVjaWZpY2FsbHkgdGhlIGBuYmRfZGlzY29ubmVjdF9hbmRfcHV0YCBmdW5jdGlvbi4gVGhlIGtleSBjaGFuZ2UgaGVyZSBpcyB0aGUgcmVvcmRlcmluZyBvZiBvcGVyYXRpb25zIHJlbGF0ZWQgdG8gdGhlIGBjb25maWdfbG9ja2AgYW5kIHRoZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBgcmVjdl93b3JrcWAuIEluaXRpYWxseSwgdGhlIGRpc2Nvbm5lY3QgYW5kIHNodXRkb3duIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCwgYW5kIHRoZSBgY29ubl93YWl0YCBpcyB3b2tlbiB1cC4KClRoZSBjcml0aWNhbCBwYXJ0IGlzIHRoZSBzZWN0aW9uIHdpdGggdGhlIGNvbW1lbnRzLiBJdCBsb29rcyBsaWtlIHdlJiMzOTtyZSB0cnlpbmcgdG8gcHJldmVudCBhIHJhY2UgY29uZGl0aW9uIHdpdGggYG5iZF9nZW5sX3JlY29uZmlndXJlKClgLiBCeSBzZXR0aW5nIGBuYmQtJmd0O3Rhc2tfc2V0dXBgIHRvIGBOVUxMYCBhbmQgY2xlYXJpbmcgdGhlIGBOQkRfUlRfQk9VTkRgIGZsYWcgKmJlZm9yZSogcmVsZWFzaW5nIHRoZSBgY29uZmlnX2xvY2tgLCB3ZSYjMzk7cmUgZXNzZW50aWFsbHkgY3JlYXRpbmcgYSB3aW5kb3cgd2hlcmUgYG5iZF9nZW5sX3JlY29uZmlndXJlKClgIHdvbiYjMzk7dCBiZSBhYmxlIHRvIHNjaGVkdWxlIG5ldyBgcmVjdl93b3JrYCBpdGVtcy4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHN1YnNlcXVlbnQgY2FsbCB0byBgZmx1c2hfd29ya3F1ZXVlKG5iZC0mZ3Q7cmVjdl93b3JrcSlgIGNhbiBjb21wbGV0ZSB3aXRob3V0IGludGVyZmVyZW5jZS4KCkVzc2VudGlhbGx5LCB3ZSYjMzk7cmUgYmxvY2tpbmcgcmVjb25maWd1cmF0aW9ucyBmcm9tIG1lc3Npbmcgd2l0aCB0aGUgc2h1dGRvd24gcHJvY2Vzcy4KClRoZSBvcmlnaW5hbCBvcmRlciB3YXMgdGhlIG9wcG9zaXRlLCBidXQgbm93IHdlIGVuc3VyZSB0aGF0IHRoZSByZWN2IHRocmVhZCBoYXMgZmluaXNoZWQgYW5kIHRoYXQgdGhlIEkvT3MgYXJlIHNhZmVseSBjYW5jZWxsZWQuIE5vdywgdGhlIGBmbHVzaF93b3JrcXVldWVgIGVuc3VyZXMgdGhhdCB0aGUgcmVjZWl2ZSB0aHJlYWQgaGFzIGZpbmlzaGVkLCBhbmQgdGhlbiB0aGUgSS9PcyBhcmUgY2FuY2VsbGVkIGluIGBuYmRfY2xlYXJfcXVlKClgLiBUaGlzIGF2b2lkcyBhIHBvdGVudGlhbCBkb3VibGUtZnJlZSBvciB1c2UtYWZ0ZXItZnJlZSBzY2VuYXJpby4gVGhpcyBpcyBhIHN1YnRsZSBidXQgaW1wb3J0YW50IGNoYW5nZS4KCkJlZm9yZSBnb2luZyBmdXJ0aGVyLCBJIHNob3VsZCBwcm9iYWJseSBjaGVjayB0aGUgY29uZmlnIG9wdGlvbnMgZm9yIGBuYmQuY2AgdG8gc2VlIGlmIHRoZXJlJiMzOTtzIGFueXRoaW5nIGVsc2UgcmVsZXZhbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMzAgMDM6NTI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJMS19ERVZfTkJEJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svS2NvbmZpZz0xOTQ9c291cmNlIFwmIzM0O2RyaXZlcnMvYmxvY2svZHJiZC9LY29uZmlnXCYjMzQ7XG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk1LVxuZHJpdmVycy9ibG9jay9LY29uZmlnOjE5Njpjb25maWcgQkxLX0RFVl9OQkRcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0xOTctXHR0cmlzdGF0ZSBcJiMzNDtOZXR3b3JrIGJsb2NrIGRldmljZSBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMzAgMDM6NTI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjk2MAoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDcxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgTkJEIERpc2Nvbm5lY3Rpb24gUHJvY2VkdXJlKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGNvZGUgYW5kIHRoZSBjb3JlIGNvbmZpZ3VyYXRpb24gaXRlbSB0aGF0JiMzOTtzIHJlbGV2YW50IGhlcmUgaXMgYEJMS19ERVZfTkJEYC4gVGhlIGZ1bmN0aW9uIGJlaW5nIHNwZWNpZmljYWxseSBtb2RpZmllZCBpcyBgbmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dGAuIEkgYWxzbyBzZWUgdGhhdCB0aGVyZSBhcmUgb3RoZXIgcmVsYXRlZCBmdW5jdGlvbnMgSSBtaWdodCBuZWVkIHRvIGNvbnNpZGVyOiBgbmJkX2dlbmxfcmVjb25maWd1cmVgLCBgbmJkX2Rpc2Nvbm5lY3RgLCBhbmQgYHNvY2tfc2h1dGRvd25gLgoKTXkgZmlyc3Qgc3RlcCBpcyB0byBmaWd1cmUgb3V0IHRoZSBjb2RlIHBhdGguIEkgbmVlZCB0byBjb25maXJtIGhvdyBgbmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dGAgaXMgcmVhY2hlZC4gSSYjMzk7bSBnb2luZyB0byBkZXRlcm1pbmUgaWYgdGhlIGZ1bmN0aW9uIGlzIHJlYWNoYWJsZSBmcm9tIG90aGVyIGZ1bmN0aW9ucyByZWxhdGVkIHRvIG5ldHdvcmsgYmxvY2sgZGV2aWNlIGNvbmZpZ3VyYXRpb24gYW5kIGRpc2Nvbm5lY3Rpb24uIEkmIzM5O2xsIG5lZWQgdG8gdHJhY2UgdGhlIGNhbGwgZ3JhcGggdG8gY29uZmlybSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlc2UgZnVuY3Rpb25zLCBhbmQgdGhlcmVmb3JlIHRoZSBjb250ZXh0IGZvciB0aGlzIHNwZWNpZmljIG1vZGlmaWNhdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtuYmRfZGlzY29ubmVjdF9hbmRfcHV0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9uYmQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jPTE3Nj1zdGF0aWMgdm9pZCBuYmRfZGVhZF9saW5rX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MTc3OnN0YXRpYyB2b2lkIG5iZF9kaXNjb25uZWN0X2FuZF9wdXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCk7XG5kcml2ZXJzL2Jsb2NrL25iZC5jLTE3OC1cbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTE3ODU9c3RhdGljIHZvaWQgbmJkX3JlbGVhc2Uoc3RydWN0IGdlbmRpc2sgKmRpc2spXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0xNzkwLVx0XHRcdGRpc2tfb3BlbmVycyhkaXNrKSA9PSAwKVxuZHJpdmVycy9ibG9jay9uYmQuYzoxNzkxOlx0XHRuYmRfZGlzY29ubmVjdF9hbmRfcHV0KG5iZCk7XG5kcml2ZXJzL2Jsb2NrL25iZC5jLTE3OTItXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz0yMTEwPXN0YXRpYyBpbnQgbmJkX2dlbmxfY29ubmVjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtMjI5MC1cbmRyaXZlcnMvYmxvY2svbmJkLmM6MjI5MTpzdGF0aWMgdm9pZCBuYmRfZGlzY29ubmVjdF9hbmRfcHV0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIyOTIte1xuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMyMT1zdGF0aWMgaW50IG5iZF9nZW5sX2Rpc2Nvbm5lY3Qoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIzNDgtXHRcdGdvdG8gcHV0X25iZDtcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjM0OTpcdG5iZF9kaXNjb25uZWN0X2FuZF9wdXQobmJkKTtcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjM1MC1cdG5iZF9jb25maWdfcHV0KG5iZCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMzAgMDM6NTI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzY2NAoJCQkJCQkJb3V0cHV0OiAxNDQKCQkJCQkJCXRob3VnaHRzOiA4OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBhc3Nlc3NtZW50IG9mIHRoaXMgaW5mb3JtYXRpb24sIGZvY3VzaW5nIG9uIHRoZSBwb3RlbnRpYWwgaW1wYWN0IGFuZCBhcmVhcyBmb3IgaW52ZXN0aWdhdGlvbjoKCioqTXkgQW5hbHlzaXMgb2YgVGhpcyBOQkQgRml4KioKCkFscmlnaHQsIHNvIHdlJiMzOTt2ZSBnb3QgYSBmdW5jdGlvbmFsIGNoYW5nZSBoZXJlIHJlbGF0ZWQgdG8gTkJEIChOZXR3b3JrIEJsb2NrIERldmljZSksIGFuZCBpdCYjMzk7cyBkZWFsaW5nIHdpdGggYSByYWNlIGNvbmRpdGlvbi4gVGhlIGZhY3QgdGhhdCBpdCYjMzk7cyByZWFjaGFibGUgdGhyb3VnaCBgbmJkX3JlbGVhc2VgIGFuZCBgbmJkX2dlbmxfZGlzY29ubmVjdGAgaW1tZWRpYXRlbHkgZmxhZ3MgaXQgYXMgcG90ZW50aWFsbHkgY3JpdGljYWwuIEFueSB0aW1lIHlvdSYjMzk7cmUgdG91Y2hpbmcgdGhvc2UgZnVuY3Rpb25zLCBlc3BlY2lhbGx5IHdpdGhpbiB0aGUgZGlzY29ubmVjdCBhbmQgcmVsZWFzZSBwYXRod2F5cywgeW91IG5lZWQgdG8gcGF5IGNsb3NlIGF0dGVudGlvbiB0byB0aHJlYWRpbmcgYW5kIHJlc291cmNlIG1hbmFnZW1lbnQgaXNzdWVzLCB3aGljaCBhcmUgcHJpbWUgYXJlYXMgZm9yIHJhY2UgY29uZGl0aW9ucy4KClRoZSAmIzM0O1dvcnRoIGZ1enppbmc6IFRydWUmIzM0OyBzdGF0ZW1lbnQgaXMgc3BvdCBvbi4gR2l2ZW4gdGhlIG5hdHVyZSBvZiBibG9jayBkZXZpY2VzIGFuZCB0aGUgbmV0d29yayBpbnRlcmFjdGlvbiwgZnV6emluZyBpcyBhbiAqYWJzb2x1dGUqIG11c3QgZm9yIHRoaXMuIFdlIG5lZWQgdG8gdGhyb3cgYSBtYXNzaXZlIHZhcmlldHkgb2YgaW5wdXRzIGF0IGl0LCBlc3BlY2lhbGx5IHVuZGVyIGhlYXZ5IGxvYWQgYW5kIHdpdGggZGlzY29ubmVjdC9yZWNvbm5lY3QgY3ljbGVzIHRvIGV4cG9zZSBhbnkgc3VidGxlIGZsYXdzLiBUaGUgZmFjdCB0aGF0IGBCTEtfREVWX05CRGAgaXMgdGhlIHJlbGV2YW50IGNvbmZpZyBpcyBnb29kOyBpdCBtZWFucyB3ZSBjYW4gaXNvbGF0ZSBvdXIgdGVzdGluZyB0byBzeXN0ZW1zIHdoZXJlIE5CRCBpcyBhY3R1YWxseSBlbmFibGVkLgoKVGhlIGZvY3VzIHN5bWJvbHMgYXJlIGtleTogYG5iZF9kaXNjb25uZWN0X2FuZF9wdXRgLCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLCBgbmJkX2dlbmxfZGlzY29ubmVjdGAsIGFuZCBgbmJkX3JlbGVhc2VgLiBJJiMzOTttIGdvaW5nIHRvIHdhbnQgdG8gZGVlcGx5IGFuYWx5emUgdGhlIGludGVyYWN0aW9uIG9mIHRoZXNlIGZ1bmN0aW9ucywgcGF5aW5nIGNsb3NlIGF0dGVudGlvbiB0byBhbnkgc2hhcmVkIGRhdGEgc3RydWN0dXJlcywgbG9ja2luZyBtZWNoYW5pc21zLCBhbmQgaW50ZXJydXB0IGhhbmRsaW5nLiBUaGUgcmFjZSBjb25kaXRpb24gcHJvYmFibHkgaW52b2x2ZXMgYW4gaXNzdWUgd2hlcmUgb25lIHRocmVhZCBpcyBkb2luZyBzb21ldGhpbmcgaW4gb25lIG9mIHRoZXNlIGZ1bmN0aW9ucyB3aGlsZSBhbm90aGVyIHRocmVhZCBpcyB0cnlpbmcgdG8gZWl0aGVyIGRpc2Nvbm5lY3Qgb3IgcmVsZWFzZSB0aGUgZGV2aWNlLiBXZSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gdHJhbnNpdGlvbnMgYmV0d2VlbiB0aGVzZSBzdGF0ZXMgYW5kIGVuc3VyZSBpdCYjMzk7cyBkb2luZyBzbyBzYWZlbHkuIEkmIzM5O2xsIG5lZWQgdG8gcmV2aWV3IHRoZSBwYXRjaCBpdHNlbGYgYW5kIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGZpeCBpbiByZWxhdGlvbiB0byB0aGUgY29kZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8zMCAwMzo1MjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfZGlzY29ubmVjdF9hbmRfcHV0JiMzNDssCiAgICAmIzM0O25iZF9nZW5sX3JlY29uZmlndXJlJiMzNDssCiAgICAmIzM0O25iZF9nZW5sX2Rpc2Nvbm5lY3QmIzM0OywKICAgICYjMzQ7bmJkX3JlbGVhc2UmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgTkJEIGRyaXZlciBkdXJpbmcgZGlzY29ubmVjdGlvbiBieSBjbGVhcmluZyBOQkRfUlRfQk9VTkQgYW5kIHRhc2tfc2V0dXAgYmVmb3JlIHJlbGVhc2luZyB0aGUgY29uZmlnX2xvY2sgYW5kIGZsdXNoaW5nIHRoZSB3b3JrcXVldWUuIFRoaXMgcHJldmVudHMgbmV3IHJlY3Zfd29yayBmcm9tIGJlaW5nIHF1ZXVlZCBieSBuYmRfZ2VubF9yZWNvbmZpZ3VyZSgpLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgZHJpdmVyIGxvZ2ljLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9kaXNjb25uZWN0X2FuZF9wdXQmIzM0OywKICAgICYjMzQ7bmJkX2dlbmxfcmVjb25maWd1cmUmIzM0OywKICAgICYjMzQ7bmJkX2dlbmxfZGlzY29ubmVjdCYjMzQ7LAogICAgJiMzNDtuYmRfcmVsZWFzZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNi0zMFQwMzo1MjozNS4zMTk3MzQyMDZaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNjM5MzA3MjI2MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9kaXNjb25uZWN0X2FuZF9wdXRcIixcbiAgICBcIm5iZF9nZW5sX3JlY29uZmlndXJlXCIsXG4gICAgXCJuYmRfZ2VubF9kaXNjb25uZWN0XCIsXG4gICAgXCJuYmRfcmVsZWFzZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcmFjZSBjb25kaXRpb24gaW4gdGhlIE5CRCBkcml2ZXIgZHVyaW5nIGRpc2Nvbm5lY3Rpb24gYnkgY2xlYXJpbmcgTkJEX1JUX0JPVU5EIGFuZCB0YXNrX3NldHVwIGJlZm9yZSByZWxlYXNpbmcgdGhlIGNvbmZpZ19sb2NrIGFuZCBmbHVzaGluZyB0aGUgd29ya3F1ZXVlLiBUaGlzIHByZXZlbnRzIG5ldyByZWN2X3dvcmsgZnJvbSBiZWluZyBxdWV1ZWQgYnkgbmJkX2dlbmxfcmVjb25maWd1cmUoKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIGRyaXZlciBsb2dpYy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMDM6NTI6MzUuMzE5NzcxNTk1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODcxMzkxMjQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBmMDJlNDYyMjFmYmJiYmIwOTMzNmUyNWQxYzU5ZDhhYTRlZWFkMWVkXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUdWUgSnVuIDMwIDAzOjUyOjMzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svbmJkLmMgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuaW5kZXggOGYxMDc2MmU5MGVmNzQuLmExYWM2MjQ2MzM2YzFlIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmNcXG4rKysgYi9kcml2ZXJzL2Jsb2NrL25iZC5jXFxuQEAgLTIyOTQsMTQgKzIyOTQsMjMgQEAgc3RhdGljIHZvaWQgbmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbiBcXHRuYmRfZGlzY29ubmVjdChuYmQpO1xcbiBcXHRzb2NrX3NodXRkb3duKG5iZCk7XFxuIFxcdHdha2VfdXAoXFx1MDAyNm5iZC1cXHUwMDNlY29uZmlnLVxcdTAwM2Vjb25uX3dhaXQpO1xcbitcXHQvKlxcbitcXHQgKiBDbGVhciBOQkRfUlRfQk9VTkQgYmVmb3JlIHJlbGVhc2luZyBjb25maWdfbG9jayBzbyB0aGF0XFxuK1xcdCAqIG5iZF9nZW5sX3JlY29uZmlndXJlKCkgd29uJ3QgcXVldWUgbmV3IHJlY3Zfd29yayBiZXR3ZWVuXFxuK1xcdCAqIGhlcmUgYW5kIGZsdXNoX3dvcmtxdWV1ZSgpLlxcbitcXHQgKi9cXG4rXFx0bmJkLVxcdTAwM2V0YXNrX3NldHVwID0gTlVMTDtcXG4rXFx0Y2xlYXJfYml0KE5CRF9SVF9CT1VORCwgXFx1MDAyNm5iZC1cXHUwMDNlY29uZmlnLVxcdTAwM2VydW50aW1lX2ZsYWdzKTtcXG4rXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZuYmQtXFx1MDAzZWNvbmZpZ19sb2NrKTtcXG4rXFxuIFxcdC8qXFxuIFxcdCAqIE1ha2Ugc3VyZSByZWN2IHRocmVhZCBoYXMgZmluaXNoZWQsIHdlIGNhbiBzYWZlbHkgY2FsbCBuYmRfY2xlYXJfcXVlKClcXG4gXFx0ICogdG8gY2FuY2VsIHRoZSBpbmZsaWdodCBJL09zLlxcbiBcXHQgKi9cXG4gXFx0Zmx1c2hfd29ya3F1ZXVlKG5iZC1cXHUwMDNlcmVjdl93b3JrcSk7XFxuK1xcbitcXHRtdXRleF9sb2NrKFxcdTAwMjZuYmQtXFx1MDAzZWNvbmZpZ19sb2NrKTtcXG4gXFx0bmJkX2NsZWFyX3F1ZShuYmQpO1xcbi1cXHRuYmQtXFx1MDAzZXRhc2tfc2V0dXAgPSBOVUxMO1xcbi1cXHRjbGVhcl9iaXQoTkJEX1JUX0JPVU5ELCBcXHUwMDI2bmJkLVxcdTAwM2Vjb25maWctXFx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xcbiBcXHRtdXRleF91bmxvY2soXFx1MDAyNm5iZC1cXHUwMDNlY29uZmlnX2xvY2spO1xcbiBcXG4gXFx0aWYgKHRlc3RfYW5kX2NsZWFyX2JpdChOQkRfUlRfSEFTX0NPTkZJR19SRUYsXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTMwVDAzOjUyOjM1LjkxMTU0NDQ1OFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTU4MDEyMzg5NjksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZGlzY29ubmVjdF9hbmRfcHV0XCIsXG4gICAgXCJuYmRfZ2VubF9yZWNvbmZpZ3VyZVwiLFxuICAgIFwibmJkX2dlbmxfZGlzY29ubmVjdFwiLFxuICAgIFwibmJkX3JlbGVhc2VcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZjAyZTQ2MjIxZmJiYmJiMDkzMzZlMjVkMWM1OWQ4YWE0ZWVhZDFlZFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVuIDMwIDAzOjUyOjMzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9uYmQuYyBiL2RyaXZlcnMvYmxvY2svbmJkLmNcbmluZGV4IDhmMTA3NjJlOTBlZjc0Li5hMWFjNjI0NjMzNmMxZSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmNcbisrKyBiL2RyaXZlcnMvYmxvY2svbmJkLmNcbkBAIC0yMjk0LDE0ICsyMjk0LDIzIEBAIHN0YXRpYyB2b2lkIG5iZF9kaXNjb25uZWN0X2FuZF9wdXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcbiBcdG5iZF9kaXNjb25uZWN0KG5iZCk7XG4gXHRzb2NrX3NodXRkb3duKG5iZCk7XG4gXHR3YWtlX3VwKFx1MDAyNm5iZC1cdTAwM2Vjb25maWctXHUwMDNlY29ubl93YWl0KTtcbitcdC8qXG4rXHQgKiBDbGVhciBOQkRfUlRfQk9VTkQgYmVmb3JlIHJlbGVhc2luZyBjb25maWdfbG9jayBzbyB0aGF0XG4rXHQgKiBuYmRfZ2VubF9yZWNvbmZpZ3VyZSgpIHdvbid0IHF1ZXVlIG5ldyByZWN2X3dvcmsgYmV0d2VlblxuK1x0ICogaGVyZSBhbmQgZmx1c2hfd29ya3F1ZXVlKCkuXG4rXHQgKi9cbitcdG5iZC1cdTAwM2V0YXNrX3NldHVwID0gTlVMTDtcbitcdGNsZWFyX2JpdChOQkRfUlRfQk9VTkQsIFx1MDAyNm5iZC1cdTAwM2Vjb25maWctXHUwMDNlcnVudGltZV9mbGFncyk7XG4rXHRtdXRleF91bmxvY2soXHUwMDI2bmJkLVx1MDAzZWNvbmZpZ19sb2NrKTtcbitcbiBcdC8qXG4gXHQgKiBNYWtlIHN1cmUgcmVjdiB0aHJlYWQgaGFzIGZpbmlzaGVkLCB3ZSBjYW4gc2FmZWx5IGNhbGwgbmJkX2NsZWFyX3F1ZSgpXG4gXHQgKiB0byBjYW5jZWwgdGhlIGluZmxpZ2h0IEkvT3MuXG4gXHQgKi9cbiBcdGZsdXNoX3dvcmtxdWV1ZShuYmQtXHUwMDNlcmVjdl93b3JrcSk7XG4rXG4rXHRtdXRleF9sb2NrKFx1MDAyNm5iZC1cdTAwM2Vjb25maWdfbG9jayk7XG4gXHRuYmRfY2xlYXJfcXVlKG5iZCk7XG4tXHRuYmQtXHUwMDNldGFza19zZXR1cCA9IE5VTEw7XG4tXHRjbGVhcl9iaXQoTkJEX1JUX0JPVU5ELCBcdTAwMjZuYmQtXHUwMDNlY29uZmlnLVx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNm5iZC1cdTAwM2Vjb25maWdfbG9jayk7XG4gXG4gXHRpZiAodGVzdF9hbmRfY2xlYXJfYml0KE5CRF9SVF9IQVNfQ09ORklHX1JFRixcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTMwVDAzOjUyOjM1LjkxMTU0OTM5OFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjYzNzEwNTU5NjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOQkQgRGlzY29ubmVjdCBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggaW4gYGRyaXZlcnMvYmxvY2svbmJkLmNgLCBzcGVjaWZpY2FsbHkgdGhlIGBuYmRfZGlzY29ubmVjdF9hbmRfcHV0YCBmdW5jdGlvbi4gVGhlIGtleSBjaGFuZ2UgaGVyZSBpcyB0aGUgcmVvcmRlcmluZyBvZiBvcGVyYXRpb25zIHJlbGF0ZWQgdG8gdGhlIGBjb25maWdfbG9ja2AgYW5kIHRoZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBgcmVjdl93b3JrcWAuIEluaXRpYWxseSwgdGhlIGRpc2Nvbm5lY3QgYW5kIHNodXRkb3duIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCwgYW5kIHRoZSBgY29ubl93YWl0YCBpcyB3b2tlbiB1cC5cblxuVGhlIGNyaXRpY2FsIHBhcnQgaXMgdGhlIHNlY3Rpb24gd2l0aCB0aGUgY29tbWVudHMuIEl0IGxvb2tzIGxpa2Ugd2UncmUgdHJ5aW5nIHRvIHByZXZlbnQgYSByYWNlIGNvbmRpdGlvbiB3aXRoIGBuYmRfZ2VubF9yZWNvbmZpZ3VyZSgpYC4gQnkgc2V0dGluZyBgbmJkLVx1MDAzZXRhc2tfc2V0dXBgIHRvIGBOVUxMYCBhbmQgY2xlYXJpbmcgdGhlIGBOQkRfUlRfQk9VTkRgIGZsYWcgKmJlZm9yZSogcmVsZWFzaW5nIHRoZSBgY29uZmlnX2xvY2tgLCB3ZSdyZSBlc3NlbnRpYWxseSBjcmVhdGluZyBhIHdpbmRvdyB3aGVyZSBgbmJkX2dlbmxfcmVjb25maWd1cmUoKWAgd29uJ3QgYmUgYWJsZSB0byBzY2hlZHVsZSBuZXcgYHJlY3Zfd29ya2AgaXRlbXMuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBzdWJzZXF1ZW50IGNhbGwgdG8gYGZsdXNoX3dvcmtxdWV1ZShuYmQtXHUwMDNlcmVjdl93b3JrcSlgIGNhbiBjb21wbGV0ZSB3aXRob3V0IGludGVyZmVyZW5jZS5cblxuRXNzZW50aWFsbHksIHdlJ3JlIGJsb2NraW5nIHJlY29uZmlndXJhdGlvbnMgZnJvbSBtZXNzaW5nIHdpdGggdGhlIHNodXRkb3duIHByb2Nlc3MuXG5cblRoZSBvcmlnaW5hbCBvcmRlciB3YXMgdGhlIG9wcG9zaXRlLCBidXQgbm93IHdlIGVuc3VyZSB0aGF0IHRoZSByZWN2IHRocmVhZCBoYXMgZmluaXNoZWQgYW5kIHRoYXQgdGhlIEkvT3MgYXJlIHNhZmVseSBjYW5jZWxsZWQuIE5vdywgdGhlIGBmbHVzaF93b3JrcXVldWVgIGVuc3VyZXMgdGhhdCB0aGUgcmVjZWl2ZSB0aHJlYWQgaGFzIGZpbmlzaGVkLCBhbmQgdGhlbiB0aGUgSS9PcyBhcmUgY2FuY2VsbGVkIGluIGBuYmRfY2xlYXJfcXVlKClgLiBUaGlzIGF2b2lkcyBhIHBvdGVudGlhbCBkb3VibGUtZnJlZSBvciB1c2UtYWZ0ZXItZnJlZSBzY2VuYXJpby4gVGhpcyBpcyBhIHN1YnRsZSBidXQgaW1wb3J0YW50IGNoYW5nZS5cblxuQmVmb3JlIGdvaW5nIGZ1cnRoZXIsIEkgc2hvdWxkIHByb2JhYmx5IGNoZWNrIHRoZSBjb25maWcgb3B0aW9ucyBmb3IgYG5iZC5jYCB0byBzZWUgaWYgdGhlcmUncyBhbnl0aGluZyBlbHNlIHJlbGV2YW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMDU2LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDIzLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMDM6NTI6NDIuMjgyNjA5OTAxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE5MTU1MjUzMSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQkxLX0RFVl9OQkRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svS2NvbmZpZz0xOTQ9c291cmNlIFxcXCJkcml2ZXJzL2Jsb2NrL2RyYmQvS2NvbmZpZ1xcXCJcXG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk1LVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZzoxOTY6Y29uZmlnIEJMS19ERVZfTkJEXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cXHR0cmlzdGF0ZSBcXFwiTmV0d29yayBibG9jayBkZXZpY2Ugc3VwcG9ydFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMDM6NTI6NDIuNDc0MTcxNTAyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzYyNzQyMjA5OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIE5CRCBEaXNjb25uZWN0aW9uIFByb2NlZHVyZSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgY29kZSBhbmQgdGhlIGNvcmUgY29uZmlndXJhdGlvbiBpdGVtIHRoYXQncyByZWxldmFudCBoZXJlIGlzIGBCTEtfREVWX05CRGAuIFRoZSBmdW5jdGlvbiBiZWluZyBzcGVjaWZpY2FsbHkgbW9kaWZpZWQgaXMgYG5iZF9kaXNjb25uZWN0X2FuZF9wdXRgLiBJIGFsc28gc2VlIHRoYXQgdGhlcmUgYXJlIG90aGVyIHJlbGF0ZWQgZnVuY3Rpb25zIEkgbWlnaHQgbmVlZCB0byBjb25zaWRlcjogYG5iZF9nZW5sX3JlY29uZmlndXJlYCwgYG5iZF9kaXNjb25uZWN0YCwgYW5kIGBzb2NrX3NodXRkb3duYC5cblxuTXkgZmlyc3Qgc3RlcCBpcyB0byBmaWd1cmUgb3V0IHRoZSBjb2RlIHBhdGguIEkgbmVlZCB0byBjb25maXJtIGhvdyBgbmJkX2Rpc2Nvbm5lY3RfYW5kX3B1dGAgaXMgcmVhY2hlZC4gSSdtIGdvaW5nIHRvIGRldGVybWluZSBpZiB0aGUgZnVuY3Rpb24gaXMgcmVhY2hhYmxlIGZyb20gb3RoZXIgZnVuY3Rpb25zIHJlbGF0ZWQgdG8gbmV0d29yayBibG9jayBkZXZpY2UgY29uZmlndXJhdGlvbiBhbmQgZGlzY29ubmVjdGlvbi4gSSdsbCBuZWVkIHRvIHRyYWNlIHRoZSBjYWxsIGdyYXBoIHRvIGNvbmZpcm0gdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZXNlIGZ1bmN0aW9ucywgYW5kIHRoZXJlZm9yZSB0aGUgY29udGV4dCBmb3IgdGhpcyBzcGVjaWZpYyBtb2RpZmljYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI5NjAsIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo3MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0zMFQwMzo1Mjo0Ni4xMDE1OTc5MDFaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM1MjE1NjM3LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm5iZF9kaXNjb25uZWN0X2FuZF9wdXRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9uYmQuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL2Jsb2NrL25iZC5jPTE3Nj1zdGF0aWMgdm9pZCBuYmRfZGVhZF9saW5rX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjE3NzpzdGF0aWMgdm9pZCBuYmRfZGlzY29ubmVjdF9hbmRfcHV0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpO1xcbmRyaXZlcnMvYmxvY2svbmJkLmMtMTc4LVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0xNzg1PXN0YXRpYyB2b2lkIG5iZF9yZWxlYXNlKHN0cnVjdCBnZW5kaXNrICpkaXNrKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0xNzkwLVxcdFxcdFxcdGRpc2tfb3BlbmVycyhkaXNrKSA9PSAwKVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MTc5MTpcXHRcXHRuYmRfZGlzY29ubmVjdF9hbmRfcHV0KG5iZCk7XFxuZHJpdmVycy9ibG9jay9uYmQuYy0xNzkyLVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0yMTEwPXN0YXRpYyBpbnQgbmJkX2dlbmxfY29ubmVjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yMjkwLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MjI5MTpzdGF0aWMgdm9pZCBuYmRfZGlzY29ubmVjdF9hbmRfcHV0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXFxuZHJpdmVycy9ibG9jay9uYmQuYy0yMjkyLXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9MjMyMT1zdGF0aWMgaW50IG5iZF9nZW5sX2Rpc2Nvbm5lY3Qoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGdlbmxfaW5mbyAqaW5mbylcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMjM0OC1cXHRcXHRnb3RvIHB1dF9uYmQ7XFxuZHJpdmVycy9ibG9jay9uYmQuYzoyMzQ5OlxcdG5iZF9kaXNjb25uZWN0X2FuZF9wdXQobmJkKTtcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTIzNTAtXFx0bmJkX2NvbmZpZ19wdXQobmJkKTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMzBUMDM6NTI6NDYuMzM2ODI0MzI4WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTE1NTA4MDY5MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGFzc2Vzc21lbnQgb2YgdGhpcyBpbmZvcm1hdGlvbiwgZm9jdXNpbmcgb24gdGhlIHBvdGVudGlhbCBpbXBhY3QgYW5kIGFyZWFzIGZvciBpbnZlc3RpZ2F0aW9uOlxuXG4qKk15IEFuYWx5c2lzIG9mIFRoaXMgTkJEIEZpeCoqXG5cbkFscmlnaHQsIHNvIHdlJ3ZlIGdvdCBhIGZ1bmN0aW9uYWwgY2hhbmdlIGhlcmUgcmVsYXRlZCB0byBOQkQgKE5ldHdvcmsgQmxvY2sgRGV2aWNlKSwgYW5kIGl0J3MgZGVhbGluZyB3aXRoIGEgcmFjZSBjb25kaXRpb24uIFRoZSBmYWN0IHRoYXQgaXQncyByZWFjaGFibGUgdGhyb3VnaCBgbmJkX3JlbGVhc2VgIGFuZCBgbmJkX2dlbmxfZGlzY29ubmVjdGAgaW1tZWRpYXRlbHkgZmxhZ3MgaXQgYXMgcG90ZW50aWFsbHkgY3JpdGljYWwuIEFueSB0aW1lIHlvdSdyZSB0b3VjaGluZyB0aG9zZSBmdW5jdGlvbnMsIGVzcGVjaWFsbHkgd2l0aGluIHRoZSBkaXNjb25uZWN0IGFuZCByZWxlYXNlIHBhdGh3YXlzLCB5b3UgbmVlZCB0byBwYXkgY2xvc2UgYXR0ZW50aW9uIHRvIHRocmVhZGluZyBhbmQgcmVzb3VyY2UgbWFuYWdlbWVudCBpc3N1ZXMsIHdoaWNoIGFyZSBwcmltZSBhcmVhcyBmb3IgcmFjZSBjb25kaXRpb25zLlxuXG5UaGUgXCJXb3J0aCBmdXp6aW5nOiBUcnVlXCIgc3RhdGVtZW50IGlzIHNwb3Qgb24uIEdpdmVuIHRoZSBuYXR1cmUgb2YgYmxvY2sgZGV2aWNlcyBhbmQgdGhlIG5ldHdvcmsgaW50ZXJhY3Rpb24sIGZ1enppbmcgaXMgYW4gKmFic29sdXRlKiBtdXN0IGZvciB0aGlzLiBXZSBuZWVkIHRvIHRocm93IGEgbWFzc2l2ZSB2YXJpZXR5IG9mIGlucHV0cyBhdCBpdCwgZXNwZWNpYWxseSB1bmRlciBoZWF2eSBsb2FkIGFuZCB3aXRoIGRpc2Nvbm5lY3QvcmVjb25uZWN0IGN5Y2xlcyB0byBleHBvc2UgYW55IHN1YnRsZSBmbGF3cy4gVGhlIGZhY3QgdGhhdCBgQkxLX0RFVl9OQkRgIGlzIHRoZSByZWxldmFudCBjb25maWcgaXMgZ29vZDsgaXQgbWVhbnMgd2UgY2FuIGlzb2xhdGUgb3VyIHRlc3RpbmcgdG8gc3lzdGVtcyB3aGVyZSBOQkQgaXMgYWN0dWFsbHkgZW5hYmxlZC5cblxuVGhlIGZvY3VzIHN5bWJvbHMgYXJlIGtleTogYG5iZF9kaXNjb25uZWN0X2FuZF9wdXRgLCBgbmJkX2dlbmxfcmVjb25maWd1cmVgLCBgbmJkX2dlbmxfZGlzY29ubmVjdGAsIGFuZCBgbmJkX3JlbGVhc2VgLiBJJ20gZ29pbmcgdG8gd2FudCB0byBkZWVwbHkgYW5hbHl6ZSB0aGUgaW50ZXJhY3Rpb24gb2YgdGhlc2UgZnVuY3Rpb25zLCBwYXlpbmcgY2xvc2UgYXR0ZW50aW9uIHRvIGFueSBzaGFyZWQgZGF0YSBzdHJ1Y3R1cmVzLCBsb2NraW5nIG1lY2hhbmlzbXMsIGFuZCBpbnRlcnJ1cHQgaGFuZGxpbmcuIFRoZSByYWNlIGNvbmRpdGlvbiBwcm9iYWJseSBpbnZvbHZlcyBhbiBpc3N1ZSB3aGVyZSBvbmUgdGhyZWFkIGlzIGRvaW5nIHNvbWV0aGluZyBpbiBvbmUgb2YgdGhlc2UgZnVuY3Rpb25zIHdoaWxlIGFub3RoZXIgdGhyZWFkIGlzIHRyeWluZyB0byBlaXRoZXIgZGlzY29ubmVjdCBvciByZWxlYXNlIHRoZSBkZXZpY2UuIFdlIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgdGhlIHN5c3RlbSB0cmFuc2l0aW9ucyBiZXR3ZWVuIHRoZXNlIHN0YXRlcyBhbmQgZW5zdXJlIGl0J3MgZG9pbmcgc28gc2FmZWx5LiBJJ2xsIG5lZWQgdG8gcmV2aWV3IHRoZSBwYXRjaCBpdHNlbGYgYW5kIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGZpeCBpbiByZWxhdGlvbiB0byB0aGUgY29kZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MzY2NCwiT3V0cHV0VG9rZW5zIjoxNDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo4OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0zMFQwMzo1Mjo1MS40OTE5MDg4MDlaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyMDg2NDM5OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZGlzY29ubmVjdF9hbmRfcHV0XCIsXG4gICAgXCJuYmRfZ2VubF9yZWNvbmZpZ3VyZVwiLFxuICAgIFwibmJkX2dlbmxfZGlzY29ubmVjdFwiLFxuICAgIFwibmJkX3JlbGVhc2VcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfZGlzY29ubmVjdF9hbmRfcHV0XCIsXG4gICAgXCJuYmRfZ2VubF9yZWNvbmZpZ3VyZVwiLFxuICAgIFwibmJkX2dlbmxfZGlzY29ubmVjdFwiLFxuICAgIFwibmJkX3JlbGVhc2VcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBOQkQgZHJpdmVyIGR1cmluZyBkaXNjb25uZWN0aW9uIGJ5IGNsZWFyaW5nIE5CRF9SVF9CT1VORCBhbmQgdGFza19zZXR1cCBiZWZvcmUgcmVsZWFzaW5nIHRoZSBjb25maWdfbG9jayBhbmQgZmx1c2hpbmcgdGhlIHdvcmtxdWV1ZS4gVGhpcyBwcmV2ZW50cyBuZXcgcmVjdl93b3JrIGZyb20gYmVpbmcgcXVldWVkIGJ5IG5iZF9nZW5sX3JlY29uZmlndXJlKCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBkcml2ZXIgbG9naWMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowfcs7w[1] Phase: Succeeded StartedAt: 2026-06-30 03:53:35 +0000 UTC FinishedAt: 2026-06-30 03:53:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-06-30 03:53:35 +0000 UTC FinishedAt: 2026-06-30 03:53:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2] Phase: Succeeded StartedAt: 2026-06-30 03:53:35 +0000 UTC FinishedAt: 2026-06-30 08:14:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-06-30 03:53:35 +0000 UTC FinishedAt: 2026-06-30 08:14:48 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 03:53:35 +0000 UTC FinishedAt: 2026-06-30 03:54:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 03:53:35 +0000 UTC FinishedAt: 2026-06-30 03:54:03 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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-workflowfcs7w/series-workflowfcs7w-convert-artifact-3726149367/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 03:54:10 +0000 UTC FinishedAt: 2026-06-30 04:29:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 03:54:10 +0000 UTC FinishedAt: 2026-06-30 04:29:37 +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:*b4426f23-a7fb-4da5-a46a-e81b52c55c1f,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-workflowfcs7w/series-workflowfcs7w-convert-artifact-3726149367/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": "3e108865-7091-45f1-acbe-90f1f1b0baaf", "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-workflowfcs7w/series-workflowfcs7w-build-action-431888717/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 03:54:10 +0000 UTC FinishedAt: 2026-06-30 04:29:28 +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:*b4426f23-a7fb-4da5-a46a-e81b52c55c1f,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-workflowfcs7w/series-workflowfcs7w-convert-artifact-3726149367/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": "3e108865-7091-45f1-acbe-90f1f1b0baaf", "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-workflowfcs7w/series-workflowfcs7w-build-action-431888717/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:29:37 +0000 UTC FinishedAt: 2026-06-30 04:29:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:29:37 +0000 UTC FinishedAt: 2026-06-30 04:29:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:29:37 +0000 UTC FinishedAt: 2026-06-30 04:30:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:29:37 +0000 UTC FinishedAt: 2026-06-30 04:30:02 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-workflowfcs7w/series-workflowfcs7w-convert-artifact-2252909606/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:30:10 +0000 UTC FinishedAt: 2026-06-30 04:32:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:30:10 +0000 UTC FinishedAt: 2026-06-30 04:32:03 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*3e108865-7091-45f1-acbe-90f1f1b0baaf,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-workflowfcs7w/series-workflowfcs7w-build-action-431888717/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-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:32:15 +0000 UTC FinishedAt: 2026-06-30 04:32:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:32:15 +0000 UTC FinishedAt: 2026-06-30 04:32:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:32:15 +0000 UTC FinishedAt: 2026-06-30 05:09:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:32:15 +0000 UTC FinishedAt: 2026-06-30 05:09:25 +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:*b4426f23-a7fb-4da5-a46a-e81b52c55c1f,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-workflowfcs7w/series-workflowfcs7w-convert-artifact-2252909606/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": "0af42f41-b91f-45a1-b67f-03c9f62fe3cf", "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-workflowfcs7w/series-workflowfcs7w-build-action-3071789546/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 04:32:15 +0000 UTC FinishedAt: 2026-06-30 05:09:14 +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:*b4426f23-a7fb-4da5-a46a-e81b52c55c1f,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-workflowfcs7w/series-workflowfcs7w-convert-artifact-2252909606/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": "0af42f41-b91f-45a1-b67f-03c9f62fe3cf", "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-workflowfcs7w/series-workflowfcs7w-build-action-3071789546/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:09:25 +0000 UTC FinishedAt: 2026-06-30 05:09:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:09:25 +0000 UTC FinishedAt: 2026-06-30 05:09:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:09:25 +0000 UTC FinishedAt: 2026-06-30 05:11:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:09:25 +0000 UTC FinishedAt: 2026-06-30 05:11:17 +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:*0af42f41-b91f-45a1-b67f-03c9f62fe3cf,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-workflowfcs7w/series-workflowfcs7w-build-action-3071789546/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-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:28 +0000 UTC FinishedAt: 2026-06-30 08:14:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:28 +0000 UTC FinishedAt: 2026-06-30 08:14:48 +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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"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:*3e108865-7091-45f1-acbe-90f1f1b0baaf,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*0af42f41-b91f-45a1-b67f-03c9f62fe3cf,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-workflowfcs7w/series-workflowfcs7w-build-action-431888717/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-workflowfcs7w/series-workflowfcs7w-build-action-3071789546/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:28 +0000 UTC FinishedAt: 2026-06-30 05:11:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:28 +0000 UTC FinishedAt: 2026-06-30 05:11:40 +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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"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-workflowfcs7w/series-workflowfcs7w-convert-artifact-258072939/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:28 +0000 UTC FinishedAt: 2026-06-30 05:11:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:28 +0000 UTC FinishedAt: 2026-06-30 05:11:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:29 +0000 UTC FinishedAt: 2026-06-30 05:11:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:51 +0000 UTC FinishedAt: 2026-06-30 08:14:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfcs7w[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"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":["nbd_disconnect_and_put","nbd_genl_reconfigure","nbd_genl_disconnect","nbd_release"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"48b6abe8-3273-4e07-92cf-dac40a7644bb","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-06-30 05:11:51 +0000 UTC FinishedAt: 2026-06-30 08:14:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*3e108865-7091-45f1-acbe-90f1f1b0baaf,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*0af42f41-b91f-45a1-b67f-03c9f62fe3cf,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-workflowfcs7w/series-workflowfcs7w-build-action-431888717/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-workflowfcs7w/series-workflowfcs7w-build-action-3071789546/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-workflowfcs7w/series-workflowfcs7w-convert-artifact-258072939/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,}