Name: series-workflowsxk4v Phase: Succeeded StartedAt: 2026-07-01 11:57:13 +0000 UTC FinishedAt: 2026-07-01 13:27:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[0] Phase: Succeeded StartedAt: 2026-07-01 11:57:13 +0000 UTC FinishedAt: 2026-07-01 12:12:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[0].run-triage Phase: Succeeded StartedAt: 2026-07-01 11:57:13 +0000 UTC FinishedAt: 2026-07-01 12:12:13 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "adc49c7ba690c9b33b8392ec27397456b65d0893", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BNX2X" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "adc49c7ba690c9b33b8392ec27397456b65d0893", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BNX2X" ], "series_id": "b7946580-08b2-4ff9-9942-bb5e63b7b56d" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "bnx2x_free_mem_bp", "bnx2x_alloc_mem_bp", "bnx2x_init_bp", "bnx2x_init_one" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JOWDJYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7Ym54MnhfZnJlZV9tZW1fYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfYWxsb2NfbWVtX2JwJiMzNDssCiAgICAmIzM0O2JueDJ4X2luaXRfYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfaW5pdF9vbmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHRoZSBCcm9hZGNvbSBOZXRYdHJlbWUgSUkgMTBHYnBzIEV0aGVybmV0IGRyaXZlciYjMzk7cyBtZW1vcnkgZnJlZWluZyByb3V0aW5lLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBQQ0kgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAxMjoxMDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDFhNjg1ODMxNTE0NDVkOThiZDkwZDE1NzgzNDg2NDE1NThhYjI2ZGZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1bCAxIDEyOjEwOjE1IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmNcbmluZGV4IDViMjY0MGJkMzFjM2EzLi4yNWVlNDVjYjdmM2ZiNiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY1xuQEAgLTQ3MTIsOCAmIzQzOzQ3MTIsOSBAQCB2b2lkIGJueDJ4X2ZyZWVfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApXG4ge1xuIFx0aW50IGk7XG4gXG4tXHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBicC1cdTAwM2VmcF9hcnJheV9zaXplOyBpJiM0MzsmIzQzOylcbi1cdFx0a2ZyZWUoYnAtXHUwMDNlZnBbaV0udHBhX2luZm8pO1xuJiM0MztcdGlmIChicC1cdTAwM2VmcClcbiYjNDM7XHRcdGZvciAoaSA9IDA7IGkgXHUwMDNjIGJwLVx1MDAzZWZwX2FycmF5X3NpemU7IGkmIzQzOyYjNDM7KVxuJiM0MztcdFx0XHRrZnJlZShicC1cdTAwM2VmcFtpXS50cGFfaW5mbyk7XG4gXHRrZnJlZShicC1cdTAwM2VmcCk7XG4gXHRrZnJlZShicC1cdTAwM2VzcF9vYmpzKTtcbiBcdGtmcmVlKGJwLVx1MDAzZWZwX3N0YXRzKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAxMjoxMDwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTlgyWCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JueDJ4X2ZyZWVfbWVtX2JwJiMzNDssCiAgICAmIzM0O2JueDJ4X2FsbG9jX21lbV9icCYjMzQ7LAogICAgJiMzNDtibngyeF9pbml0X2JwJiMzNDssCiAgICAmIzM0O2JueDJ4X2luaXRfb25lJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIDEwR2JwcyBFdGhlcm5ldCBkcml2ZXImIzM5O3MgbWVtb3J5IGZyZWVpbmcgcm91dGluZS4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgb3IgcmVtb3ZhbCwgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCB2aWEgUENJIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDFhNjg1ODMxNTE0NDVkOThiZDkwZDE1NzgzNDg2NDE1NThhYjI2ZGYKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEp1bCAxIDEyOjEwOjE1IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYwppbmRleCA1YjI2NDBiZDMxYzNhMy4uMjVlZTQ1Y2I3ZjNmYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jCkBAIC00NzEyLDggJiM0Mzs0NzEyLDkgQEAgdm9pZCBibngyeF9mcmVlX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKQogewogCWludCBpOwogCi0JZm9yIChpID0gMDsgaSAmbHQ7IGJwLSZndDtmcF9hcnJheV9zaXplOyBpJiM0MzsmIzQzOykKLQkJa2ZyZWUoYnAtJmd0O2ZwW2ldLnRwYV9pbmZvKTsKJiM0MzsJaWYgKGJwLSZndDtmcCkKJiM0MzsJCWZvciAoaSA9IDA7IGkgJmx0OyBicC0mZ3Q7ZnBfYXJyYXlfc2l6ZTsgaSYjNDM7JiM0MzspCiYjNDM7CQkJa2ZyZWUoYnAtJmd0O2ZwW2ldLnRwYV9pbmZvKTsKIAlrZnJlZShicC0mZ3Q7ZnApOwogCWtmcmVlKGJwLSZndDtzcF9vYmpzKTsKIAlrZnJlZShicC0mZ3Q7ZnBfc3RhdHMpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAxMjoxMDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTM5CgkJCQkJCQlvdXRwdXQ6IDI0CgkJCQkJCQl0aG91Z2h0czogMzYzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmNgLiAgSXQmIzM5O3MgYSBzaW1wbGUgb25lLCBhZGRpbmcgYSBOVUxMIGNoZWNrIGZvciBgYnAtJmd0O2ZwYCBiZWZvcmUgdGhlIGxvb3AgdGhhdCBmcmVlcyBgYnAtJmd0O2ZwW2ldLnRwYV9pbmZvYC4gIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgYWN0dWFsbHkgYSBmdW5jdGlvbmFsIGNoYW5nZSwgYW5kIHllcCwgaXQmIzM5O3MgcHJldmVudGluZyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIHdoaWNoIGlzIGFsd2F5cyBnb29kLgoKTm93IHRoZSByZWFsIHF1ZXN0aW9uIGNvbWVzIHVwOiBpcyB0aGlzIGNvZGUgZXZlbiAqcmVhY2hhYmxlKiBpbiBhIHR5cGljYWwgZW52aXJvbm1lbnQ/IEl0JiMzOTtzIHRoZSBCcm9hZGNvbSBOZXRYdHJlbWUgSUkgMTBHYnBzIEV0aGVybmV0IGRyaXZlciwgYGJueDJ4YC4gIENhbiBJIHRyaWdnZXIgdGhpcyB3aXRoIFFFTVU/ICBVc3VhbGx5LCB0aGVzZSBQQ0ktc3BlY2lmaWMgZHJpdmVycyBhcmUgYSBwYWluIHRvIGZ1enogdW5sZXNzIHRoZXJlJiMzOTtzIGFuIGVtdWxhdG9yIG9yIHNvbWUgc2VyaW91cyBQQ0kgZnV6emluZyBpbmZyYXN0cnVjdHVyZS4gIEkmIzM5O20gcmFja2luZyBteSBicmFpbuKApiB3YWl0LCBkb2VzbiYjMzk7dCBzeXprYWxsZXIgaGF2ZSAqc29tZSogUENJIGZ1enppbmcgY2FwYWJpbGl0aWVzPyBZZWFoLCBpdCBkb2VzLCBidXQgc3RpbGwsIHNwZWNpZmljIGhhcmR3YXJlIGlzIGhhcmQgdG8gcmVhY2ggdW5sZXNzIGl0JiMzOTtzIHZpcnR1YWxpemVkLgoKT2theSwgbGV0JiMzOTtzIHNlZSBpZiB0aGlzIGBibngyeGAgZHJpdmVyIGlzIHJlYWNoYWJsZSBhdCBhbGwuIERvZXMgUUVNVSBldmVuICpoYXZlKiBhIGBibngyeGAgZGV2aWNlPyBMZXQmIzM5O3Mgc2VlLi4uIGUxMDAwLCBlMTAwMGUsIHJ0bDgxMzksIHBjbmV0LCB2aXJ0aW8tbmV0LCB2bXhuZXQzLCBpODI1NTllciwgbmUya19wY2ksIHR1bGlw4oCmIE5vcGUsIG5vdGhpbmcgbGlrZSBgYm54MnhgLiBCdXQsIEkgcmVtZW1iZXIgc29tZXRoaW5nIGFib3V0IHN5emthbGxlciBoYXZpbmcgdmhjaSAvIFBDSSBmdXp6aW5nIHdoaWNoICptaWdodCogaW5qZWN0IFBDSSBkZXZpY2VzLi4uIGludGVyZXN0aW5nLiBUaGlzIG1pZ2h0IGJlIHdvcnRoIGEgc2hvdC4KCkFscmlnaHQsIGxldCYjMzk7cyBjaXJjbGUgYmFjay4gU2hvdWxkIHdlIGZ1enogaXQ/IEkgdGhpbmsgaXQgd2FycmFudHMgYSBjbG9zZXIgbG9vay4gVGhlIGZ1bmN0aW9uIGluIHF1ZXN0aW9uIGlzIGBibngyeF9mcmVlX21lbV9icGAuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoZXJlIHRoYXQgZnVuY3Rpb24gaXMgYWN0dWFsbHkgKmNhbGxlZCouIFRoYXQmIzM5O2xsIHRlbGwgbWUgaWYgaXQmIzM5O3Mgd29ydGggdGhlIGVmZm9ydCBvZiBkaWdnaW5nIGludG8gUENJIGZ1enppbmcsIG9yIGlmIHRoaXMgaXMganVzdCBzb21lIHJhcmVseSBoaXQgY29kZXBhdGguCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMTI6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Ym54MnhfZnJlZV9tZW1fYnAmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmM9NDY3MD1zdGF0aWMgaW50IGJueDJ4X2FsbG9jX2ZwX21lbShzdHJ1Y3QgYm54MnggKmJwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYzo0NzExOnZvaWQgYm54MnhfZnJlZV9tZW1fYnAoc3RydWN0IGJueDJ4ICpicClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MTIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jPTQ3MjY9aW50IGJueDJ4X2FsbG9jX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3OTMtYWxsb2NfZXJyOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmM6NDc5NDpcdGJueDJ4X2ZyZWVfbWVtX2JwKGJwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3OTUtXHRyZXR1cm4gLUVOT01FTTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaD01Nzk9aW50IGJueDJ4X2FsbG9jX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01ODEtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaDo1ODI6ICogYm54MnhfZnJlZV9tZW1fYnAgLSByZWxlYXNlIG1lbW9yaWVzIG91dHNpemUgbWFpbiBkcml2ZXIgc3RydWN0dXJlXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01ODMtICpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01ODUtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaDo1ODY6dm9pZCBibngyeF9mcmVlX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU4Ny1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM9MTIyOTE9c3RhdGljIGludCBibngyeF9pbml0X2JwKHN0cnVjdCBibngyeCAqYnApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTEyMzM2LVx0XHRpZiAocmMpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYzoxMjMzNzpcdFx0XHRibngyeF9mcmVlX21lbV9icChicCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMtMTIzMzgtXHRcdFx0cmV0dXJuIHJjO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYz0xMzgyMD1zdGF0aWMgaW50IGJueDJ4X2luaXRfb25lKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xNDAxOS1pbml0X29uZV9mcmVlbWVtOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jOjE0MDIwOlx0Ym54MnhfZnJlZV9tZW1fYnAoYnApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTE0MDIxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYz0xNDA0MD1zdGF0aWMgdm9pZCBfX2JueDJ4X3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMtMTQxMTgtXHRcdH1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYzoxNDExOTpcdFx0Ym54MnhfZnJlZV9tZW1fYnAoYnApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTE0MTIwLVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM5MjEKCQkJCQkJCW91dHB1dDogMTkKCQkJCQkJCXRob3VnaHRzOiAxMzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBibngyeCBEcml2ZXIgYW5kIFBDSSBGdXp6aW5nIFBvdGVudGlhbCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBgYm54MnhfZnJlZV9tZW1fYnBgIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbCBncmFwaC4gSXQmIzM5O3MgY2FsbGVkIGZyb20gYGJueDJ4X2FsbG9jX21lbV9icGAgd2hlbiB0aGVyZSYjMzk7cyBhbiBlcnJvciwgYGJueDJ4X2luaXRfYnBgIG9uIGVycm9yLCBhbmQgYGJueDJ4X2luaXRfb25lYCBvbiBlcnJvciwgYXMgd2VsbCBhcyBkdXJpbmcgY2xlYW51cCB2aWEgYF9fYm54MnhfcmVtb3ZlYC4gQ2xhc3NpYyBQQ0kgZHJpdmVyIHBhdHRlcm4g4oCTIGFsbG9jYXRpb24sIGluaXRpYWxpemF0aW9uLCBjbGVhbnVwLiBOb3RoaW5nIHN1cnByaXNpbmcgdGhlcmUuCgpOb3csIG15IG1pbmQgaW1tZWRpYXRlbHkganVtcHMgdG8gZnV6emluZy4gVGhpcyBpcyBhIFBDSSBkcml2ZXIsIHNvIGl0JiMzOTtzIGEgcHJpbWUgdGFyZ2V0IGZvciB0b29scyBsaWtlIFN5emthbGxlci4gVGhleSBoYXZlIHRoaXMgYHN5el9wY2lfZGV2aWNlYCBwc2V1ZG8tc3lzY2FsbCwgb3Igc2ltaWxhciB0ZWNobmlxdWVzLCB0aGF0IGFyZSBkZXNpZ25lZCB0byBwb2tlIGFuZCBwcm9kIHRoZXNlIGRyaXZlcnMgYW5kIHRyeSB0byBmaW5kIGJ1Z3MuIEJ1dCB0aGUgcmVhbCBxdWVzdGlvbiBpcywgY2FuIEkgcmVhY2ggdGhpcyBkcml2ZXImIzM5O3MgY29kZSAqZWZmZWN0aXZlbHkqIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IElzIGl0IHBvc3NpYmxlIHRvIGZ1enogaXQgZXZlbiBpZiBpdCYjMzk7cyBub3QgZGlyZWN0bHkgYXR0YWNoZWQgdG8gcmVhbCBoYXJkd2FyZT8KClRoZSBhbnN3ZXIgaXMgbGlrZWx5ICp5ZXMqLCB0aHJvdWdoIFBDSSBmdXp6aW5nLiBTbyB0aGUgbmV4dCBzdGVwIGlzIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZvciBgYm54MnhgIHRvIHNlZSB3aGF0IEkgY2FuIGxlYXJuIGFib3V0IGhvdyBpdCYjMzk7cyBjb25maWd1cmVkIGFuZCB3aGF0IGRlcGVuZGVuY2llcyBtaWdodCBleGlzdC4gSSYjMzk7dmUgZ290IGEgZ29vZCBmZWVsaW5nIGFib3V0IHRoaXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMTI6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJOWDJYJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc9MTM1PWNvbmZpZyBUSUdPTjNfSFdNT05cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE0MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc6MTQyOmNvbmZpZyBCTlgyWFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vS2NvbmZpZy0xNDMtXHR0cmlzdGF0ZSBcJiMzNDtCcm9hZGNvbSBOZXRYdHJlbWVJSSAxMEdiIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc6MTU1OmNvbmZpZyBCTlgyWF9TUklPVlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vS2NvbmZpZy0xNTYtXHRib29sIFwmIzM0O0Jyb2FkY29tIDU3OHh4IGFuZCA1NzcxMiBTUi1JT1Ygc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ1NzMKCQkJCQkJCW91dHB1dDogMjEKCQkJCQkJCXRob3VnaHRzOiAyMQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgY3JhZnRlZCB3aXRoIHRoZSBtaW5kc2V0IG9mIGFuIGV4cGVydCBpbiB0aGUgZmllbGQ6CgoqKkluaXRpYWwgQ29uZmlndXJhdGlvbiBDaGVjayoqCgpBbHJpZ2h0LCB0aGUgc3lzdGVtJiMzOTtzIHJlcG9ydGluZyBhIGNvbmZpZ3VyYXRpb24gb2YgYEJOWDJYYC4gRmlyc3QgdGhpbmcmIzM5O3MgZmlyc3QsIEkgbmVlZCB0byB2ZXJpZnkgdGhhdCB0aGlzIGlzIHRoZSAqb25seSogY29uZmlndXJhdGlvbiBpbiBwbGF5LiBJJiMzOTttIGdvaW5nIHRvIHF1aWNrbHkgc2NhbiBmb3IgYW55IHVuZXhwZWN0ZWQgY29uZmxpY3RzIG9yIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbnMgdGhhdCBtaWdodCBiZSBpbmZsdWVuY2luZyB0aGlzIG9uZS4gSXQmIzM5O3MgYSBmdW5kYW1lbnRhbCBzdGVwIHRvIGVuc3VyZSBldmVyeXRoaW5nJiMzOTtzIGJlaGF2aW5nIGFzIGludGVuZGVkIGFuZCBhdm9pZCBhbnkgbmFzdHkgc3VycHJpc2VzIGRvd24gdGhlIGxpbmUg4oCTIEkmIzM5O3ZlIGxlYXJuZWQgdGhhdCBsZXNzb24gdGhlIGhhcmQgd2F5IQoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2RlcGVuZHMgb24uKkJOWDJYJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc9MTU1PWNvbmZpZyBCTlgyWF9TUklPVlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vS2NvbmZpZy0xNTYtXHRib29sIFwmIzM0O0Jyb2FkY29tIDU3OHh4IGFuZCA1NzcxMiBTUi1JT1Ygc3VwcG9ydFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vS2NvbmZpZzoxNTc6XHRkZXBlbmRzIG9uIEJOWDJYIFx1MDAyNlx1MDAyNiBQQ0lfSU9WXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1OC1cdGRlZmF1bHQgeVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ4NjcKCQkJCQkJCW91dHB1dDogMjQKCQkJCQkJCXRob3VnaHRzOiAxMjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBUaGlzIERyaXZlciBGaXg6IEEgRm9jdXNlZCBBcHByb2FjaCoqCgpPa2F5LCBzbyB0aGVyZSYjMzk7cyBhIHBhdGNoIGFkZHJlc3NpbmcgYSBidWcgd2l0aGluIGBibngyeF9mcmVlX21lbV9icGAuIEltbWVkaWF0ZWx5LCBJJiMzOTttIHRoaW5raW5nLCAmIzM0O0lzIHRoaXMgZnV6emFibGU/JiMzNDsgR2l2ZW4gdGhhdCBpdCYjMzk7cyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHdpdGhpbiBhIGRyaXZlciwgdGhlIGFuc3dlciBpcyBhIHJlc291bmRpbmcgJiMzNDtZZXMuJiMzNDsgV2UgaGF2ZSBhIGNsZWFyIHRhcmdldCBmb3IgcG90ZW50aWFsIHZ1bG5lcmFiaWxpdGllcy4KCk5vdywgbGV0JiMzOTtzIHplcm8gaW4gb24gdGhlIGtleSBzeW1ib2xzLiBJJiMzOTttIG5vdGluZyBgYm54MnhfZnJlZV9tZW1fYnBgLCBvYnZpb3VzbHksIGFsb25nIHdpdGggaXRzIGNvdW50ZXJwYXJ0LCBgYm54MnhfYWxsb2NfbWVtX2JwYC4gQWxzbywgSSYjMzk7bGwgaW5jbHVkZSBgYm54MnhfaW5pdF9icGAgYW5kIGBibngyeF9pbml0X29uZWAuIFdhaXQgYSBtaW51dGUsIGlzbiYjMzk7dCBgYm54MnhfaW5pdF9vbmVgIHRoZSBwcm9iZSBmdW5jdGlvbj8gQWxyaWdodCwgbGV0JiMzOTtzIGtlZXAgdGhhdCBpbiBtaW5kLCBpdCBnaXZlcyB1cyBhIGdvb2QgZW50cnkgcG9pbnQuIAoKR2l2ZW4gdGhhdCwgSSYjMzk7bSBnb2luZyB0byBzaGlmdCBmb2N1cyBhbmQgZGlnIGRlZXBlciBpbnRvIGBibngyeF9hbGxvY19tZW1fYnBgLiBUaGF0JiMzOTtzIHdoZXJlIEkgbmVlZCB0byBzdGFydC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMTI6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Ym54MnhfYWxsb2NfbWVtX2JwJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jPTQ3MTE9dm9pZCBibngyeF9mcmVlX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MjUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYzo0NzI2OmludCBibngyeF9hbGxvY19tZW1fYnAoc3RydWN0IGJueDJ4ICpicClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3Mjcte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oPTU3Mj1pbnQgYm54MnhfZW5hYmxlX21zaShzdHJ1Y3QgYm54MnggKmJwKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01NzQtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaDo1NzU6ICogYm54MnhfYWxsb2NfbWVtX2JwIC0gYWxsb2NhdGUgbWVtb3JpZXMgb3V0c2l6ZSBtYWluIGRyaXZlciBzdHJ1Y3R1cmVcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU3Ni0gKlxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU3OC0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oOjU3OTppbnQgYm54MnhfYWxsb2NfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmgtNTgwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYz0xMjI5MT1zdGF0aWMgaW50IGJueDJ4X2luaXRfYnAoc3RydWN0IGJueDJ4ICpicClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMtMTIzMTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM6MTIzMTk6XHRyYyA9IGJueDJ4X2FsbG9jX21lbV9icChicCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMtMTIzMjAtXHRpZiAocmMpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU4NjUKCQkJCQkJCW91dHB1dDogMTM0CgkJCQkJCQl0aG91Z2h0czogMTU3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIERyaXZlciBWdWxuZXJhYmlsaXR5KioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGZpeGluZyBhIHBvdGVudGlhbGx5IGRhbmdlcm91cyBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UuIFRoZSBrZXkgZnVuY3Rpb25zIGhlcmUgc2VlbSB0byBiZSBgYm54MnhfYWxsb2NfbWVtX2JwYCBhbmQsIGltcG9ydGFudGx5LCBgYm54MnhfZnJlZV9tZW1fYnBgLiBUaGUgY29uZmlnIHJlbGF0ZWQgdG8gdGhpcyBpcyBgQk5YMlhgLiBUaGF0JiMzOTtzIGEgZ29vZCBzdGFydGluZyBwb2ludCwgd2hpY2ggbGlrZWx5IG1lYW5zIGl0IHRhcmdldHMgdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyLiBUaGUgdnVsbmVyYWJpbGl0eSBzb3VuZHMgbGlrZSBpdCBzdXJmYWNlcyBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgb3IgcmVtb3ZhbCwgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgdHJpZ2dlcmVkIGJ5IFBDSSBmdXp6aW5nLCB3aGljaCBjYW4gYmUgdHJvdWJsZXNvbWUuCgpJIHNob3VsZCB2ZXJpZnkgd2hldGhlciB0aGUgYGJueDJ4X2ZyZWVfbWVtX2JwYCBmdW5jdGlvbiBpcyBzdGF0aWMuIE5vLCBpdCBpc24mIzM5O3QuIE5vdywgSSBuZWVkIHRvIGNoZWNrIGlmIHRoZXJlIGFyZSBvdGhlciByZWxldmFudCBjb25maWd1cmF0aW9ucywgb3IgaWYgdGhpcyBgQk5YMlhgIGNvbmZpZyBpcyBlbm91Z2ggdG8gdHJpZ2dlciBpdC4gSXQgYXBwZWFycywgYWZ0ZXIgYSBxdWljayBsb29rLCB0aGF0IGBCTlgyWGAgYWxvbmUgaXMgdGhlIHJlbGV2YW50IGNvbmZpZy4KCkFscmlnaHQsIHRpbWUgdG8gbG9jayB0aGVzZSBmaW5kaW5ncyBpbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMTI6MTE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JOWDJYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7Ym54MnhfZnJlZV9tZW1fYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfYWxsb2NfbWVtX2JwJiMzNDssCiAgICAmIzM0O2JueDJ4X2luaXRfYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfaW5pdF9vbmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHRoZSBCcm9hZGNvbSBOZXRYdHJlbWUgSUkgMTBHYnBzIEV0aGVybmV0IGRyaXZlciYjMzk7cyBtZW1vcnkgZnJlZWluZyByb3V0aW5lLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBQQ0kgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7Qk5YMlgmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtibngyeF9mcmVlX21lbV9icCYjMzQ7LAogICAgJiMzNDtibngyeF9hbGxvY19tZW1fYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfaW5pdF9icCYjMzQ7LAogICAgJiMzNDtibngyeF9pbml0X29uZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyJiMzOTtzIG1lbW9yeSBmcmVlaW5nIHJvdXRpbmUuIFRoaXMgY29kZSBpcyByZWFjaGFibGUgZHVyaW5nIGRldmljZSBpbml0aWFsaXphdGlvbiBmYWlsdXJlIG9yIHJlbW92YWwsIHdoaWNoIGNhbiBiZSB0cmlnZ2VyZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MTcuMjQ0ODQ2NzYzWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDczOTI1Njg1ODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQk5YMlhcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJibngyeF9mcmVlX21lbV9icFwiLFxuICAgIFwiYm54MnhfYWxsb2NfbWVtX2JwXCIsXG4gICAgXCJibngyeF9pbml0X2JwXCIsXG4gICAgXCJibngyeF9pbml0X29uZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIDEwR2JwcyBFdGhlcm5ldCBkcml2ZXIncyBtZW1vcnkgZnJlZWluZyByb3V0aW5lLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBQQ0kgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MTcuMjQ0ODU0MjMzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MDc3MjQ1OTEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAxYTY4NTgzMTUxNDQ1ZDk4YmQ5MGQxNTc4MzQ4NjQxNTU4YWIyNmRmXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgSnVsIDEgMTI6MTA6MTUgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY1xcbmluZGV4IDViMjY0MGJkMzFjM2EzLi4yNWVlNDVjYjdmM2ZiNiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jXFxuQEAgLTQ3MTIsOCArNDcxMiw5IEBAIHZvaWQgYm54MnhfZnJlZV9tZW1fYnAoc3RydWN0IGJueDJ4ICpicClcXG4ge1xcbiBcXHRpbnQgaTtcXG4gXFxuLVxcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBicC1cXHUwMDNlZnBfYXJyYXlfc2l6ZTsgaSsrKVxcbi1cXHRcXHRrZnJlZShicC1cXHUwMDNlZnBbaV0udHBhX2luZm8pO1xcbitcXHRpZiAoYnAtXFx1MDAzZWZwKVxcbitcXHRcXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2MgYnAtXFx1MDAzZWZwX2FycmF5X3NpemU7IGkrKylcXG4rXFx0XFx0XFx0a2ZyZWUoYnAtXFx1MDAzZWZwW2ldLnRwYV9pbmZvKTtcXG4gXFx0a2ZyZWUoYnAtXFx1MDAzZWZwKTtcXG4gXFx0a2ZyZWUoYnAtXFx1MDAzZXNwX29ianMpO1xcbiBcXHRrZnJlZShicC1cXHUwMDNlZnBfc3RhdHMpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQxMjoxMDoxOC4wNTM1OTQ3MzRaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ2NTgzODAzNzkxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJOWDJYXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYm54MnhfZnJlZV9tZW1fYnBcIixcbiAgICBcImJueDJ4X2FsbG9jX21lbV9icFwiLFxuICAgIFwiYm54MnhfaW5pdF9icFwiLFxuICAgIFwiYm54MnhfaW5pdF9vbmVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyJ3MgbWVtb3J5IGZyZWVpbmcgcm91dGluZS4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgb3IgcmVtb3ZhbCwgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMWE2ODU4MzE1MTQ0NWQ5OGJkOTBkMTU3ODM0ODY0MTU1OGFiMjZkZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDEgMTI6MTA6MTUgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jXG5pbmRleCA1YjI2NDBiZDMxYzNhMy4uMjVlZTQ1Y2I3ZjNmYjYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmNcbkBAIC00NzEyLDggKzQ3MTIsOSBAQCB2b2lkIGJueDJ4X2ZyZWVfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApXG4ge1xuIFx0aW50IGk7XG4gXG4tXHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBicC1cdTAwM2VmcF9hcnJheV9zaXplOyBpKyspXG4tXHRcdGtmcmVlKGJwLVx1MDAzZWZwW2ldLnRwYV9pbmZvKTtcbitcdGlmIChicC1cdTAwM2VmcClcbitcdFx0Zm9yIChpID0gMDsgaSBcdTAwM2MgYnAtXHUwMDNlZnBfYXJyYXlfc2l6ZTsgaSsrKVxuK1x0XHRcdGtmcmVlKGJwLVx1MDAzZWZwW2ldLnRwYV9pbmZvKTtcbiBcdGtmcmVlKGJwLVx1MDAzZWZwKTtcbiBcdGtmcmVlKGJwLVx1MDAzZXNwX29ianMpO1xuIFx0a2ZyZWUoYnAtXHUwMDNlZnBfc3RhdHMpO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MTguMDUzNTk3MDQ0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6OTMzNDU2Nzg5OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY2AuICBJdCdzIGEgc2ltcGxlIG9uZSwgYWRkaW5nIGEgTlVMTCBjaGVjayBmb3IgYGJwLVx1MDAzZWZwYCBiZWZvcmUgdGhlIGxvb3AgdGhhdCBmcmVlcyBgYnAtXHUwMDNlZnBbaV0udHBhX2luZm9gLiAgTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBhY3R1YWxseSBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBhbmQgeWVwLCBpdCdzIHByZXZlbnRpbmcgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCB3aGljaCBpcyBhbHdheXMgZ29vZC5cblxuTm93IHRoZSByZWFsIHF1ZXN0aW9uIGNvbWVzIHVwOiBpcyB0aGlzIGNvZGUgZXZlbiAqcmVhY2hhYmxlKiBpbiBhIHR5cGljYWwgZW52aXJvbm1lbnQ/IEl0J3MgdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyLCBgYm54MnhgLiAgQ2FuIEkgdHJpZ2dlciB0aGlzIHdpdGggUUVNVT8gIFVzdWFsbHksIHRoZXNlIFBDSS1zcGVjaWZpYyBkcml2ZXJzIGFyZSBhIHBhaW4gdG8gZnV6eiB1bmxlc3MgdGhlcmUncyBhbiBlbXVsYXRvciBvciBzb21lIHNlcmlvdXMgUENJIGZ1enppbmcgaW5mcmFzdHJ1Y3R1cmUuICBJJ20gcmFja2luZyBteSBicmFpbuKApiB3YWl0LCBkb2Vzbid0IHN5emthbGxlciBoYXZlICpzb21lKiBQQ0kgZnV6emluZyBjYXBhYmlsaXRpZXM/IFllYWgsIGl0IGRvZXMsIGJ1dCBzdGlsbCwgc3BlY2lmaWMgaGFyZHdhcmUgaXMgaGFyZCB0byByZWFjaCB1bmxlc3MgaXQncyB2aXJ0dWFsaXplZC5cblxuT2theSwgbGV0J3Mgc2VlIGlmIHRoaXMgYGJueDJ4YCBkcml2ZXIgaXMgcmVhY2hhYmxlIGF0IGFsbC4gRG9lcyBRRU1VIGV2ZW4gKmhhdmUqIGEgYGJueDJ4YCBkZXZpY2U/IExldCdzIHNlZS4uLiBlMTAwMCwgZTEwMDBlLCBydGw4MTM5LCBwY25ldCwgdmlydGlvLW5ldCwgdm14bmV0MywgaTgyNTU5ZXIsIG5lMmtfcGNpLCB0dWxpcOKApiBOb3BlLCBub3RoaW5nIGxpa2UgYGJueDJ4YC4gQnV0LCBJIHJlbWVtYmVyIHNvbWV0aGluZyBhYm91dCBzeXprYWxsZXIgaGF2aW5nIHZoY2kgLyBQQ0kgZnV6emluZyB3aGljaCAqbWlnaHQqIGluamVjdCBQQ0kgZGV2aWNlcy4uLiBpbnRlcmVzdGluZy4gVGhpcyBtaWdodCBiZSB3b3J0aCBhIHNob3QuXG5cbkFscmlnaHQsIGxldCdzIGNpcmNsZSBiYWNrLiBTaG91bGQgd2UgZnV6eiBpdD8gSSB0aGluayBpdCB3YXJyYW50cyBhIGNsb3NlciBsb29rLiBUaGUgZnVuY3Rpb24gaW4gcXVlc3Rpb24gaXMgYGJueDJ4X2ZyZWVfbWVtX2JwYC4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhhdCBmdW5jdGlvbiBpcyBhY3R1YWxseSAqY2FsbGVkKi4gVGhhdCdsbCB0ZWxsIG1lIGlmIGl0J3Mgd29ydGggdGhlIGVmZm9ydCBvZiBkaWdnaW5nIGludG8gUENJIGZ1enppbmcsIG9yIGlmIHRoaXMgaXMganVzdCBzb21lIHJhcmVseSBoaXQgY29kZXBhdGguXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5MzksIk91dHB1dFRva2VucyI6MjQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNjMsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQxMjoxMDoyNy4zODgxNjc2NzJaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMzMTM1NDM4NSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJibngyeF9mcmVlX21lbV9icFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYz00NjcwPXN0YXRpYyBpbnQgYm54MnhfYWxsb2NfZnBfbWVtKHN0cnVjdCBibngyeCAqYnApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYy00NzEwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jOjQ3MTE6dm9pZCBibngyeF9mcmVlX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MTIte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmM9NDcyNj1pbnQgYm54MnhfYWxsb2NfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYy00NzkzLWFsbG9jX2VycjpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYzo0Nzk0OlxcdGJueDJ4X2ZyZWVfbWVtX2JwKGJwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYy00Nzk1LVxcdHJldHVybiAtRU5PTUVNO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmg9NTc5PWludCBibngyeF9hbGxvY19tZW1fYnAoc3RydWN0IGJueDJ4ICpicCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01ODEtLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmg6NTgyOiAqIGJueDJ4X2ZyZWVfbWVtX2JwIC0gcmVsZWFzZSBtZW1vcmllcyBvdXRzaXplIG1haW4gZHJpdmVyIHN0cnVjdHVyZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU4My0gKlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmgtNTg1LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oOjU4Njp2b2lkIGJueDJ4X2ZyZWVfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU4Ny1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYz0xMjI5MT1zdGF0aWMgaW50IGJueDJ4X2luaXRfYnAoc3RydWN0IGJueDJ4ICpicClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xMjMzNi1cXHRcXHRpZiAocmMpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM6MTIzMzc6XFx0XFx0XFx0Ym54MnhfZnJlZV9tZW1fYnAoYnApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xMjMzOC1cXHRcXHRcXHRyZXR1cm4gcmM7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM9MTM4MjA9c3RhdGljIGludCBibngyeF9pbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xNDAxOS1pbml0X29uZV9mcmVlbWVtOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYzoxNDAyMDpcXHRibngyeF9mcmVlX21lbV9icChicCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTE0MDIxLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jPTE0MDQwPXN0YXRpYyB2b2lkIF9fYm54MnhfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTE0MTE4LVxcdFxcdH1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM6MTQxMTk6XFx0XFx0Ym54MnhfZnJlZV9tZW1fYnAoYnApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xNDEyMC1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MzAuNzE5NTI2NzM3WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDUxOTQ0NjA4OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIGJueDJ4IERyaXZlciBhbmQgUENJIEZ1enppbmcgUG90ZW50aWFsKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBgYm54MnhfZnJlZV9tZW1fYnBgIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbCBncmFwaC4gSXQncyBjYWxsZWQgZnJvbSBgYm54MnhfYWxsb2NfbWVtX2JwYCB3aGVuIHRoZXJlJ3MgYW4gZXJyb3IsIGBibngyeF9pbml0X2JwYCBvbiBlcnJvciwgYW5kIGBibngyeF9pbml0X29uZWAgb24gZXJyb3IsIGFzIHdlbGwgYXMgZHVyaW5nIGNsZWFudXAgdmlhIGBfX2JueDJ4X3JlbW92ZWAuIENsYXNzaWMgUENJIGRyaXZlciBwYXR0ZXJuIOKAkyBhbGxvY2F0aW9uLCBpbml0aWFsaXphdGlvbiwgY2xlYW51cC4gTm90aGluZyBzdXJwcmlzaW5nIHRoZXJlLlxuXG5Ob3csIG15IG1pbmQgaW1tZWRpYXRlbHkganVtcHMgdG8gZnV6emluZy4gVGhpcyBpcyBhIFBDSSBkcml2ZXIsIHNvIGl0J3MgYSBwcmltZSB0YXJnZXQgZm9yIHRvb2xzIGxpa2UgU3l6a2FsbGVyLiBUaGV5IGhhdmUgdGhpcyBgc3l6X3BjaV9kZXZpY2VgIHBzZXVkby1zeXNjYWxsLCBvciBzaW1pbGFyIHRlY2huaXF1ZXMsIHRoYXQgYXJlIGRlc2lnbmVkIHRvIHBva2UgYW5kIHByb2QgdGhlc2UgZHJpdmVycyBhbmQgdHJ5IHRvIGZpbmQgYnVncy4gQnV0IHRoZSByZWFsIHF1ZXN0aW9uIGlzLCBjYW4gSSByZWFjaCB0aGlzIGRyaXZlcidzIGNvZGUgKmVmZmVjdGl2ZWx5KiBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBJcyBpdCBwb3NzaWJsZSB0byBmdXp6IGl0IGV2ZW4gaWYgaXQncyBub3QgZGlyZWN0bHkgYXR0YWNoZWQgdG8gcmVhbCBoYXJkd2FyZT9cblxuVGhlIGFuc3dlciBpcyBsaWtlbHkgKnllcyosIHRocm91Z2ggUENJIGZ1enppbmcuIFNvIHRoZSBuZXh0IHN0ZXAgaXMgdG8gY2hlY2sgdGhlIEtjb25maWcgZm9yIGBibngyeGAgdG8gc2VlIHdoYXQgSSBjYW4gbGVhcm4gYWJvdXQgaG93IGl0J3MgY29uZmlndXJlZCBhbmQgd2hhdCBkZXBlbmRlbmNpZXMgbWlnaHQgZXhpc3QuIEkndmUgZ290IGEgZ29vZCBmZWVsaW5nIGFib3V0IHRoaXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM5MjEsIk91dHB1dFRva2VucyI6MTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMzgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MzUuMjM4OTc1MTM2WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMzOTQzOTkwNTgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJOWDJYXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc9MTM1PWNvbmZpZyBUSUdPTjNfSFdNT05cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWctMTQxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc6MTQyOmNvbmZpZyBCTlgyWFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWctMTQzLVxcdHRyaXN0YXRlIFxcXCJCcm9hZGNvbSBOZXRYdHJlbWVJSSAxMEdiIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnOjE1NTpjb25maWcgQk5YMlhfU1JJT1ZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1Ni1cXHRib29sIFxcXCJCcm9hZGNvbSA1Nzh4eCBhbmQgNTc3MTIgU1ItSU9WIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAxVDEyOjEwOjM4LjYzMzM4NDc0NFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMxNTE2MDY1ODMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgY3JhZnRlZCB3aXRoIHRoZSBtaW5kc2V0IG9mIGFuIGV4cGVydCBpbiB0aGUgZmllbGQ6XG5cbioqSW5pdGlhbCBDb25maWd1cmF0aW9uIENoZWNrKipcblxuQWxyaWdodCwgdGhlIHN5c3RlbSdzIHJlcG9ydGluZyBhIGNvbmZpZ3VyYXRpb24gb2YgYEJOWDJYYC4gRmlyc3QgdGhpbmcncyBmaXJzdCwgSSBuZWVkIHRvIHZlcmlmeSB0aGF0IHRoaXMgaXMgdGhlICpvbmx5KiBjb25maWd1cmF0aW9uIGluIHBsYXkuIEknbSBnb2luZyB0byBxdWlja2x5IHNjYW4gZm9yIGFueSB1bmV4cGVjdGVkIGNvbmZsaWN0cyBvciBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb25zIHRoYXQgbWlnaHQgYmUgaW5mbHVlbmNpbmcgdGhpcyBvbmUuIEl0J3MgYSBmdW5kYW1lbnRhbCBzdGVwIHRvIGVuc3VyZSBldmVyeXRoaW5nJ3MgYmVoYXZpbmcgYXMgaW50ZW5kZWQgYW5kIGF2b2lkIGFueSBuYXN0eSBzdXJwcmlzZXMgZG93biB0aGUgbGluZSDigJMgSSd2ZSBsZWFybmVkIHRoYXQgbGVzc29uIHRoZSBoYXJkIHdheSFcblxuXG4iLCJJbnB1dFRva2VucyI6NDU3MywiT3V0cHV0VG9rZW5zIjoyMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAxVDEyOjEwOjQxLjc4NDk5MzU4NloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MTI0MjI0NzQwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImRlcGVuZHMgb24uKkJOWDJYXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc9MTU1PWNvbmZpZyBCTlgyWF9TUklPVlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWctMTU2LVxcdGJvb2wgXFxcIkJyb2FkY29tIDU3OHh4IGFuZCA1NzcxMiBTUi1JT1Ygc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnOjE1NzpcXHRkZXBlbmRzIG9uIEJOWDJYIFxcdTAwMjZcXHUwMDI2IFBDSV9JT1ZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1OC1cXHRkZWZhdWx0IHlcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6NDYuOTA5MjI1NTk2WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6ODY1MzA1NzgxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIFRoaXMgRHJpdmVyIEZpeDogQSBGb2N1c2VkIEFwcHJvYWNoKipcblxuT2theSwgc28gdGhlcmUncyBhIHBhdGNoIGFkZHJlc3NpbmcgYSBidWcgd2l0aGluIGBibngyeF9mcmVlX21lbV9icGAuIEltbWVkaWF0ZWx5LCBJJ20gdGhpbmtpbmcsIFwiSXMgdGhpcyBmdXp6YWJsZT9cIiBHaXZlbiB0aGF0IGl0J3MgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gYSBkcml2ZXIsIHRoZSBhbnN3ZXIgaXMgYSByZXNvdW5kaW5nIFwiWWVzLlwiIFdlIGhhdmUgYSBjbGVhciB0YXJnZXQgZm9yIHBvdGVudGlhbCB2dWxuZXJhYmlsaXRpZXMuXG5cbk5vdywgbGV0J3MgemVybyBpbiBvbiB0aGUga2V5IHN5bWJvbHMuIEknbSBub3RpbmcgYGJueDJ4X2ZyZWVfbWVtX2JwYCwgb2J2aW91c2x5LCBhbG9uZyB3aXRoIGl0cyBjb3VudGVycGFydCwgYGJueDJ4X2FsbG9jX21lbV9icGAuIEFsc28sIEknbGwgaW5jbHVkZSBgYm54MnhfaW5pdF9icGAgYW5kIGBibngyeF9pbml0X29uZWAuIFdhaXQgYSBtaW51dGUsIGlzbid0IGBibngyeF9pbml0X29uZWAgdGhlIHByb2JlIGZ1bmN0aW9uPyBBbHJpZ2h0LCBsZXQncyBrZWVwIHRoYXQgaW4gbWluZCwgaXQgZ2l2ZXMgdXMgYSBnb29kIGVudHJ5IHBvaW50LiBcblxuR2l2ZW4gdGhhdCwgSSdtIGdvaW5nIHRvIHNoaWZ0IGZvY3VzIGFuZCBkaWcgZGVlcGVyIGludG8gYGJueDJ4X2FsbG9jX21lbV9icGAuIFRoYXQncyB3aGVyZSBJIG5lZWQgdG8gc3RhcnQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ4NjcsIk91dHB1dFRva2VucyI6MjQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6NTUuNTYyMjg2MjYxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozNTUyNTQ5ODgzLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJueDJ4X2FsbG9jX21lbV9icFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYz00NzExPXZvaWQgYm54MnhfZnJlZV9tZW1fYnAoc3RydWN0IGJueDJ4ICpicClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MjUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmM6NDcyNjppbnQgYm54MnhfYWxsb2NfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmMtNDcyNy17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaD01NzI9aW50IGJueDJ4X2VuYWJsZV9tc2koc3RydWN0IGJueDJ4ICpicCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01NzQtLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmg6NTc1OiAqIGJueDJ4X2FsbG9jX21lbV9icCAtIGFsbG9jYXRlIG1lbW9yaWVzIG91dHNpemUgbWFpbiBkcml2ZXIgc3RydWN0dXJlXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmgtNTc2LSAqXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01NzgtICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmg6NTc5OmludCBibngyeF9hbGxvY19tZW1fYnAoc3RydWN0IGJueDJ4ICpicCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmgtNTgwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jPTEyMjkxPXN0YXRpYyBpbnQgYm54MnhfaW5pdF9icChzdHJ1Y3QgYm54MnggKmJwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTEyMzE4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYzoxMjMxOTpcXHRyYyA9IGJueDJ4X2FsbG9jX21lbV9icChicCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTEyMzIwLVxcdGlmIChyYylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6NTkuMTE0ODQ4MzM0WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUzODI5NjM1NzUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBCcm9hZGNvbSBOZXRYdHJlbWUgSUkgRHJpdmVyIFZ1bG5lcmFiaWxpdHkqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGZpeGluZyBhIHBvdGVudGlhbGx5IGRhbmdlcm91cyBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UuIFRoZSBrZXkgZnVuY3Rpb25zIGhlcmUgc2VlbSB0byBiZSBgYm54MnhfYWxsb2NfbWVtX2JwYCBhbmQsIGltcG9ydGFudGx5LCBgYm54MnhfZnJlZV9tZW1fYnBgLiBUaGUgY29uZmlnIHJlbGF0ZWQgdG8gdGhpcyBpcyBgQk5YMlhgLiBUaGF0J3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCB3aGljaCBsaWtlbHkgbWVhbnMgaXQgdGFyZ2V0cyB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIDEwR2JwcyBFdGhlcm5ldCBkcml2ZXIuIFRoZSB2dWxuZXJhYmlsaXR5IHNvdW5kcyBsaWtlIGl0IHN1cmZhY2VzIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSB0cmlnZ2VyZWQgYnkgUENJIGZ1enppbmcsIHdoaWNoIGNhbiBiZSB0cm91Ymxlc29tZS5cblxuSSBzaG91bGQgdmVyaWZ5IHdoZXRoZXIgdGhlIGBibngyeF9mcmVlX21lbV9icGAgZnVuY3Rpb24gaXMgc3RhdGljLiBObywgaXQgaXNuJ3QuIE5vdywgSSBuZWVkIHRvIGNoZWNrIGlmIHRoZXJlIGFyZSBvdGhlciByZWxldmFudCBjb25maWd1cmF0aW9ucywgb3IgaWYgdGhpcyBgQk5YMlhgIGNvbmZpZyBpcyBlbm91Z2ggdG8gdHJpZ2dlciBpdC4gSXQgYXBwZWFycywgYWZ0ZXIgYSBxdWljayBsb29rLCB0aGF0IGBCTlgyWGAgYWxvbmUgaXMgdGhlIHJlbGV2YW50IGNvbmZpZy5cblxuQWxyaWdodCwgdGltZSB0byBsb2NrIHRoZXNlIGZpbmRpbmdzIGluLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1ODY1LCJPdXRwdXRUb2tlbnMiOjEzNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE1NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQxMjoxMTowNC40OTc4MTUxMzlaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMzk1NzY1NDcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJOWDJYXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYm54MnhfZnJlZV9tZW1fYnBcIixcbiAgICBcImJueDJ4X2FsbG9jX21lbV9icFwiLFxuICAgIFwiYm54MnhfaW5pdF9icFwiLFxuICAgIFwiYm54MnhfaW5pdF9vbmVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyJ3MgbWVtb3J5IGZyZWVpbmcgcm91dGluZS4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgb3IgcmVtb3ZhbCwgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQk5YMlhcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJibngyeF9mcmVlX21lbV9icFwiLFxuICAgIFwiYm54MnhfYWxsb2NfbWVtX2JwXCIsXG4gICAgXCJibngyeF9pbml0X2JwXCIsXG4gICAgXCJibngyeF9pbml0X29uZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIDEwR2JwcyBFdGhlcm5ldCBkcml2ZXIncyBtZW1vcnkgZnJlZWluZyByb3V0aW5lLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBQQ0kgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflowsxk4v[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-01 11:57:13 +0000 UTC FinishedAt: 2026-07-01 12:11:06 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "adc49c7ba690c9b33b8392ec27397456b65d0893", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BNX2X" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git", "commit_hash": "adc49c7ba690c9b33b8392ec27397456b65d0893", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BNX2X" ], "series_id": "b7946580-08b2-4ff9-9942-bb5e63b7b56d" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "bnx2x_free_mem_bp", "bnx2x_alloc_mem_bp", "bnx2x_init_bp", "bnx2x_init_one" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JOWDJYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7Ym54MnhfZnJlZV9tZW1fYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfYWxsb2NfbWVtX2JwJiMzNDssCiAgICAmIzM0O2JueDJ4X2luaXRfYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfaW5pdF9vbmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHRoZSBCcm9hZGNvbSBOZXRYdHJlbWUgSUkgMTBHYnBzIEV0aGVybmV0IGRyaXZlciYjMzk7cyBtZW1vcnkgZnJlZWluZyByb3V0aW5lLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBQQ0kgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAxMjoxMDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDFhNjg1ODMxNTE0NDVkOThiZDkwZDE1NzgzNDg2NDE1NThhYjI2ZGZcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgV2VkIEp1bCAxIDEyOjEwOjE1IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmNcbmluZGV4IDViMjY0MGJkMzFjM2EzLi4yNWVlNDVjYjdmM2ZiNiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY1xuQEAgLTQ3MTIsOCAmIzQzOzQ3MTIsOSBAQCB2b2lkIGJueDJ4X2ZyZWVfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApXG4ge1xuIFx0aW50IGk7XG4gXG4tXHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBicC1cdTAwM2VmcF9hcnJheV9zaXplOyBpJiM0MzsmIzQzOylcbi1cdFx0a2ZyZWUoYnAtXHUwMDNlZnBbaV0udHBhX2luZm8pO1xuJiM0MztcdGlmIChicC1cdTAwM2VmcClcbiYjNDM7XHRcdGZvciAoaSA9IDA7IGkgXHUwMDNjIGJwLVx1MDAzZWZwX2FycmF5X3NpemU7IGkmIzQzOyYjNDM7KVxuJiM0MztcdFx0XHRrZnJlZShicC1cdTAwM2VmcFtpXS50cGFfaW5mbyk7XG4gXHRrZnJlZShicC1cdTAwM2VmcCk7XG4gXHRrZnJlZShicC1cdTAwM2VzcF9vYmpzKTtcbiBcdGtmcmVlKGJwLVx1MDAzZWZwX3N0YXRzKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAxMjoxMDwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTlgyWCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JueDJ4X2ZyZWVfbWVtX2JwJiMzNDssCiAgICAmIzM0O2JueDJ4X2FsbG9jX21lbV9icCYjMzQ7LAogICAgJiMzNDtibngyeF9pbml0X2JwJiMzNDssCiAgICAmIzM0O2JueDJ4X2luaXRfb25lJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIDEwR2JwcyBFdGhlcm5ldCBkcml2ZXImIzM5O3MgbWVtb3J5IGZyZWVpbmcgcm91dGluZS4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgb3IgcmVtb3ZhbCwgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCB2aWEgUENJIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IDFhNjg1ODMxNTE0NDVkOThiZDkwZDE1NzgzNDg2NDE1NThhYjI2ZGYKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgV2VkIEp1bCAxIDEyOjEwOjE1IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYwppbmRleCA1YjI2NDBiZDMxYzNhMy4uMjVlZTQ1Y2I3ZjNmYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jCkBAIC00NzEyLDggJiM0Mzs0NzEyLDkgQEAgdm9pZCBibngyeF9mcmVlX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKQogewogCWludCBpOwogCi0JZm9yIChpID0gMDsgaSAmbHQ7IGJwLSZndDtmcF9hcnJheV9zaXplOyBpJiM0MzsmIzQzOykKLQkJa2ZyZWUoYnAtJmd0O2ZwW2ldLnRwYV9pbmZvKTsKJiM0MzsJaWYgKGJwLSZndDtmcCkKJiM0MzsJCWZvciAoaSA9IDA7IGkgJmx0OyBicC0mZ3Q7ZnBfYXJyYXlfc2l6ZTsgaSYjNDM7JiM0MzspCiYjNDM7CQkJa2ZyZWUoYnAtJmd0O2ZwW2ldLnRwYV9pbmZvKTsKIAlrZnJlZShicC0mZ3Q7ZnApOwogCWtmcmVlKGJwLSZndDtzcF9vYmpzKTsKIAlrZnJlZShicC0mZ3Q7ZnBfc3RhdHMpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMSAxMjoxMDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTM5CgkJCQkJCQlvdXRwdXQ6IDI0CgkJCQkJCQl0aG91Z2h0czogMzYzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmNgLiAgSXQmIzM5O3MgYSBzaW1wbGUgb25lLCBhZGRpbmcgYSBOVUxMIGNoZWNrIGZvciBgYnAtJmd0O2ZwYCBiZWZvcmUgdGhlIGxvb3AgdGhhdCBmcmVlcyBgYnAtJmd0O2ZwW2ldLnRwYV9pbmZvYC4gIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgYWN0dWFsbHkgYSBmdW5jdGlvbmFsIGNoYW5nZSwgYW5kIHllcCwgaXQmIzM5O3MgcHJldmVudGluZyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIHdoaWNoIGlzIGFsd2F5cyBnb29kLgoKTm93IHRoZSByZWFsIHF1ZXN0aW9uIGNvbWVzIHVwOiBpcyB0aGlzIGNvZGUgZXZlbiAqcmVhY2hhYmxlKiBpbiBhIHR5cGljYWwgZW52aXJvbm1lbnQ/IEl0JiMzOTtzIHRoZSBCcm9hZGNvbSBOZXRYdHJlbWUgSUkgMTBHYnBzIEV0aGVybmV0IGRyaXZlciwgYGJueDJ4YC4gIENhbiBJIHRyaWdnZXIgdGhpcyB3aXRoIFFFTVU/ICBVc3VhbGx5LCB0aGVzZSBQQ0ktc3BlY2lmaWMgZHJpdmVycyBhcmUgYSBwYWluIHRvIGZ1enogdW5sZXNzIHRoZXJlJiMzOTtzIGFuIGVtdWxhdG9yIG9yIHNvbWUgc2VyaW91cyBQQ0kgZnV6emluZyBpbmZyYXN0cnVjdHVyZS4gIEkmIzM5O20gcmFja2luZyBteSBicmFpbuKApiB3YWl0LCBkb2VzbiYjMzk7dCBzeXprYWxsZXIgaGF2ZSAqc29tZSogUENJIGZ1enppbmcgY2FwYWJpbGl0aWVzPyBZZWFoLCBpdCBkb2VzLCBidXQgc3RpbGwsIHNwZWNpZmljIGhhcmR3YXJlIGlzIGhhcmQgdG8gcmVhY2ggdW5sZXNzIGl0JiMzOTtzIHZpcnR1YWxpemVkLgoKT2theSwgbGV0JiMzOTtzIHNlZSBpZiB0aGlzIGBibngyeGAgZHJpdmVyIGlzIHJlYWNoYWJsZSBhdCBhbGwuIERvZXMgUUVNVSBldmVuICpoYXZlKiBhIGBibngyeGAgZGV2aWNlPyBMZXQmIzM5O3Mgc2VlLi4uIGUxMDAwLCBlMTAwMGUsIHJ0bDgxMzksIHBjbmV0LCB2aXJ0aW8tbmV0LCB2bXhuZXQzLCBpODI1NTllciwgbmUya19wY2ksIHR1bGlw4oCmIE5vcGUsIG5vdGhpbmcgbGlrZSBgYm54MnhgLiBCdXQsIEkgcmVtZW1iZXIgc29tZXRoaW5nIGFib3V0IHN5emthbGxlciBoYXZpbmcgdmhjaSAvIFBDSSBmdXp6aW5nIHdoaWNoICptaWdodCogaW5qZWN0IFBDSSBkZXZpY2VzLi4uIGludGVyZXN0aW5nLiBUaGlzIG1pZ2h0IGJlIHdvcnRoIGEgc2hvdC4KCkFscmlnaHQsIGxldCYjMzk7cyBjaXJjbGUgYmFjay4gU2hvdWxkIHdlIGZ1enogaXQ/IEkgdGhpbmsgaXQgd2FycmFudHMgYSBjbG9zZXIgbG9vay4gVGhlIGZ1bmN0aW9uIGluIHF1ZXN0aW9uIGlzIGBibngyeF9mcmVlX21lbV9icGAuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoZXJlIHRoYXQgZnVuY3Rpb24gaXMgYWN0dWFsbHkgKmNhbGxlZCouIFRoYXQmIzM5O2xsIHRlbGwgbWUgaWYgaXQmIzM5O3Mgd29ydGggdGhlIGVmZm9ydCBvZiBkaWdnaW5nIGludG8gUENJIGZ1enppbmcsIG9yIGlmIHRoaXMgaXMganVzdCBzb21lIHJhcmVseSBoaXQgY29kZXBhdGguCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMTI6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Ym54MnhfZnJlZV9tZW1fYnAmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmM9NDY3MD1zdGF0aWMgaW50IGJueDJ4X2FsbG9jX2ZwX21lbShzdHJ1Y3QgYm54MnggKmJwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MTAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYzo0NzExOnZvaWQgYm54MnhfZnJlZV9tZW1fYnAoc3RydWN0IGJueDJ4ICpicClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MTIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jPTQ3MjY9aW50IGJueDJ4X2FsbG9jX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3OTMtYWxsb2NfZXJyOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmM6NDc5NDpcdGJueDJ4X2ZyZWVfbWVtX2JwKGJwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3OTUtXHRyZXR1cm4gLUVOT01FTTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaD01Nzk9aW50IGJueDJ4X2FsbG9jX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01ODEtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaDo1ODI6ICogYm54MnhfZnJlZV9tZW1fYnAgLSByZWxlYXNlIG1lbW9yaWVzIG91dHNpemUgbWFpbiBkcml2ZXIgc3RydWN0dXJlXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01ODMtICpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01ODUtICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaDo1ODY6dm9pZCBibngyeF9mcmVlX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU4Ny1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM9MTIyOTE9c3RhdGljIGludCBibngyeF9pbml0X2JwKHN0cnVjdCBibngyeCAqYnApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTEyMzM2LVx0XHRpZiAocmMpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYzoxMjMzNzpcdFx0XHRibngyeF9mcmVlX21lbV9icChicCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMtMTIzMzgtXHRcdFx0cmV0dXJuIHJjO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYz0xMzgyMD1zdGF0aWMgaW50IGJueDJ4X2luaXRfb25lKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xNDAxOS1pbml0X29uZV9mcmVlbWVtOlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jOjE0MDIwOlx0Ym54MnhfZnJlZV9tZW1fYnAoYnApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTE0MDIxLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYz0xNDA0MD1zdGF0aWMgdm9pZCBfX2JueDJ4X3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMtMTQxMTgtXHRcdH1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYzoxNDExOTpcdFx0Ym54MnhfZnJlZV9tZW1fYnAoYnApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTE0MTIwLVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM5MjEKCQkJCQkJCW91dHB1dDogMTkKCQkJCQkJCXRob3VnaHRzOiAxMzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBibngyeCBEcml2ZXIgYW5kIFBDSSBGdXp6aW5nIFBvdGVudGlhbCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBgYm54MnhfZnJlZV9tZW1fYnBgIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbCBncmFwaC4gSXQmIzM5O3MgY2FsbGVkIGZyb20gYGJueDJ4X2FsbG9jX21lbV9icGAgd2hlbiB0aGVyZSYjMzk7cyBhbiBlcnJvciwgYGJueDJ4X2luaXRfYnBgIG9uIGVycm9yLCBhbmQgYGJueDJ4X2luaXRfb25lYCBvbiBlcnJvciwgYXMgd2VsbCBhcyBkdXJpbmcgY2xlYW51cCB2aWEgYF9fYm54MnhfcmVtb3ZlYC4gQ2xhc3NpYyBQQ0kgZHJpdmVyIHBhdHRlcm4g4oCTIGFsbG9jYXRpb24sIGluaXRpYWxpemF0aW9uLCBjbGVhbnVwLiBOb3RoaW5nIHN1cnByaXNpbmcgdGhlcmUuCgpOb3csIG15IG1pbmQgaW1tZWRpYXRlbHkganVtcHMgdG8gZnV6emluZy4gVGhpcyBpcyBhIFBDSSBkcml2ZXIsIHNvIGl0JiMzOTtzIGEgcHJpbWUgdGFyZ2V0IGZvciB0b29scyBsaWtlIFN5emthbGxlci4gVGhleSBoYXZlIHRoaXMgYHN5el9wY2lfZGV2aWNlYCBwc2V1ZG8tc3lzY2FsbCwgb3Igc2ltaWxhciB0ZWNobmlxdWVzLCB0aGF0IGFyZSBkZXNpZ25lZCB0byBwb2tlIGFuZCBwcm9kIHRoZXNlIGRyaXZlcnMgYW5kIHRyeSB0byBmaW5kIGJ1Z3MuIEJ1dCB0aGUgcmVhbCBxdWVzdGlvbiBpcywgY2FuIEkgcmVhY2ggdGhpcyBkcml2ZXImIzM5O3MgY29kZSAqZWZmZWN0aXZlbHkqIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQ/IElzIGl0IHBvc3NpYmxlIHRvIGZ1enogaXQgZXZlbiBpZiBpdCYjMzk7cyBub3QgZGlyZWN0bHkgYXR0YWNoZWQgdG8gcmVhbCBoYXJkd2FyZT8KClRoZSBhbnN3ZXIgaXMgbGlrZWx5ICp5ZXMqLCB0aHJvdWdoIFBDSSBmdXp6aW5nLiBTbyB0aGUgbmV4dCBzdGVwIGlzIHRvIGNoZWNrIHRoZSBLY29uZmlnIGZvciBgYm54MnhgIHRvIHNlZSB3aGF0IEkgY2FuIGxlYXJuIGFib3V0IGhvdyBpdCYjMzk7cyBjb25maWd1cmVkIGFuZCB3aGF0IGRlcGVuZGVuY2llcyBtaWdodCBleGlzdC4gSSYjMzk7dmUgZ290IGEgZ29vZCBmZWVsaW5nIGFib3V0IHRoaXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMTI6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJOWDJYJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc9MTM1PWNvbmZpZyBUSUdPTjNfSFdNT05cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE0MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc6MTQyOmNvbmZpZyBCTlgyWFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vS2NvbmZpZy0xNDMtXHR0cmlzdGF0ZSBcJiMzNDtCcm9hZGNvbSBOZXRYdHJlbWVJSSAxMEdiIHN1cHBvcnRcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc6MTU1OmNvbmZpZyBCTlgyWF9TUklPVlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vS2NvbmZpZy0xNTYtXHRib29sIFwmIzM0O0Jyb2FkY29tIDU3OHh4IGFuZCA1NzcxMiBTUi1JT1Ygc3VwcG9ydFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ1NzMKCQkJCQkJCW91dHB1dDogMjEKCQkJCQkJCXRob3VnaHRzOiAyMQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgY3JhZnRlZCB3aXRoIHRoZSBtaW5kc2V0IG9mIGFuIGV4cGVydCBpbiB0aGUgZmllbGQ6CgoqKkluaXRpYWwgQ29uZmlndXJhdGlvbiBDaGVjayoqCgpBbHJpZ2h0LCB0aGUgc3lzdGVtJiMzOTtzIHJlcG9ydGluZyBhIGNvbmZpZ3VyYXRpb24gb2YgYEJOWDJYYC4gRmlyc3QgdGhpbmcmIzM5O3MgZmlyc3QsIEkgbmVlZCB0byB2ZXJpZnkgdGhhdCB0aGlzIGlzIHRoZSAqb25seSogY29uZmlndXJhdGlvbiBpbiBwbGF5LiBJJiMzOTttIGdvaW5nIHRvIHF1aWNrbHkgc2NhbiBmb3IgYW55IHVuZXhwZWN0ZWQgY29uZmxpY3RzIG9yIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbnMgdGhhdCBtaWdodCBiZSBpbmZsdWVuY2luZyB0aGlzIG9uZS4gSXQmIzM5O3MgYSBmdW5kYW1lbnRhbCBzdGVwIHRvIGVuc3VyZSBldmVyeXRoaW5nJiMzOTtzIGJlaGF2aW5nIGFzIGludGVuZGVkIGFuZCBhdm9pZCBhbnkgbmFzdHkgc3VycHJpc2VzIGRvd24gdGhlIGxpbmUg4oCTIEkmIzM5O3ZlIGxlYXJuZWQgdGhhdCBsZXNzb24gdGhlIGhhcmQgd2F5IQoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2RlcGVuZHMgb24uKkJOWDJYJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc9MTU1PWNvbmZpZyBCTlgyWF9TUklPVlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vS2NvbmZpZy0xNTYtXHRib29sIFwmIzM0O0Jyb2FkY29tIDU3OHh4IGFuZCA1NzcxMiBTUi1JT1Ygc3VwcG9ydFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vS2NvbmZpZzoxNTc6XHRkZXBlbmRzIG9uIEJOWDJYIFx1MDAyNlx1MDAyNiBQQ0lfSU9WXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1OC1cdGRlZmF1bHQgeVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ4NjcKCQkJCQkJCW91dHB1dDogMjQKCQkJCQkJCXRob3VnaHRzOiAxMjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBUaGlzIERyaXZlciBGaXg6IEEgRm9jdXNlZCBBcHByb2FjaCoqCgpPa2F5LCBzbyB0aGVyZSYjMzk7cyBhIHBhdGNoIGFkZHJlc3NpbmcgYSBidWcgd2l0aGluIGBibngyeF9mcmVlX21lbV9icGAuIEltbWVkaWF0ZWx5LCBJJiMzOTttIHRoaW5raW5nLCAmIzM0O0lzIHRoaXMgZnV6emFibGU/JiMzNDsgR2l2ZW4gdGhhdCBpdCYjMzk7cyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHdpdGhpbiBhIGRyaXZlciwgdGhlIGFuc3dlciBpcyBhIHJlc291bmRpbmcgJiMzNDtZZXMuJiMzNDsgV2UgaGF2ZSBhIGNsZWFyIHRhcmdldCBmb3IgcG90ZW50aWFsIHZ1bG5lcmFiaWxpdGllcy4KCk5vdywgbGV0JiMzOTtzIHplcm8gaW4gb24gdGhlIGtleSBzeW1ib2xzLiBJJiMzOTttIG5vdGluZyBgYm54MnhfZnJlZV9tZW1fYnBgLCBvYnZpb3VzbHksIGFsb25nIHdpdGggaXRzIGNvdW50ZXJwYXJ0LCBgYm54MnhfYWxsb2NfbWVtX2JwYC4gQWxzbywgSSYjMzk7bGwgaW5jbHVkZSBgYm54MnhfaW5pdF9icGAgYW5kIGBibngyeF9pbml0X29uZWAuIFdhaXQgYSBtaW51dGUsIGlzbiYjMzk7dCBgYm54MnhfaW5pdF9vbmVgIHRoZSBwcm9iZSBmdW5jdGlvbj8gQWxyaWdodCwgbGV0JiMzOTtzIGtlZXAgdGhhdCBpbiBtaW5kLCBpdCBnaXZlcyB1cyBhIGdvb2QgZW50cnkgcG9pbnQuIAoKR2l2ZW4gdGhhdCwgSSYjMzk7bSBnb2luZyB0byBzaGlmdCBmb2N1cyBhbmQgZGlnIGRlZXBlciBpbnRvIGBibngyeF9hbGxvY19tZW1fYnBgLiBUaGF0JiMzOTtzIHdoZXJlIEkgbmVlZCB0byBzdGFydC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMTI6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Ym54MnhfYWxsb2NfbWVtX2JwJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jPTQ3MTE9dm9pZCBibngyeF9mcmVlX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MjUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYzo0NzI2OmludCBibngyeF9hbGxvY19tZW1fYnAoc3RydWN0IGJueDJ4ICpicClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3Mjcte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oPTU3Mj1pbnQgYm54MnhfZW5hYmxlX21zaShzdHJ1Y3QgYm54MnggKmJwKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01NzQtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaDo1NzU6ICogYm54MnhfYWxsb2NfbWVtX2JwIC0gYWxsb2NhdGUgbWVtb3JpZXMgb3V0c2l6ZSBtYWluIGRyaXZlciBzdHJ1Y3R1cmVcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU3Ni0gKlxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU3OC0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oOjU3OTppbnQgYm54MnhfYWxsb2NfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmgtNTgwLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYz0xMjI5MT1zdGF0aWMgaW50IGJueDJ4X2luaXRfYnAoc3RydWN0IGJueDJ4ICpicClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMtMTIzMTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM6MTIzMTk6XHRyYyA9IGJueDJ4X2FsbG9jX21lbV9icChicCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMtMTIzMjAtXHRpZiAocmMpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAxIDEyOjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU4NjUKCQkJCQkJCW91dHB1dDogMTM0CgkJCQkJCQl0aG91Z2h0czogMTU3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIERyaXZlciBWdWxuZXJhYmlsaXR5KioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGZpeGluZyBhIHBvdGVudGlhbGx5IGRhbmdlcm91cyBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UuIFRoZSBrZXkgZnVuY3Rpb25zIGhlcmUgc2VlbSB0byBiZSBgYm54MnhfYWxsb2NfbWVtX2JwYCBhbmQsIGltcG9ydGFudGx5LCBgYm54MnhfZnJlZV9tZW1fYnBgLiBUaGUgY29uZmlnIHJlbGF0ZWQgdG8gdGhpcyBpcyBgQk5YMlhgLiBUaGF0JiMzOTtzIGEgZ29vZCBzdGFydGluZyBwb2ludCwgd2hpY2ggbGlrZWx5IG1lYW5zIGl0IHRhcmdldHMgdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyLiBUaGUgdnVsbmVyYWJpbGl0eSBzb3VuZHMgbGlrZSBpdCBzdXJmYWNlcyBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgb3IgcmVtb3ZhbCwgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgdHJpZ2dlcmVkIGJ5IFBDSSBmdXp6aW5nLCB3aGljaCBjYW4gYmUgdHJvdWJsZXNvbWUuCgpJIHNob3VsZCB2ZXJpZnkgd2hldGhlciB0aGUgYGJueDJ4X2ZyZWVfbWVtX2JwYCBmdW5jdGlvbiBpcyBzdGF0aWMuIE5vLCBpdCBpc24mIzM5O3QuIE5vdywgSSBuZWVkIHRvIGNoZWNrIGlmIHRoZXJlIGFyZSBvdGhlciByZWxldmFudCBjb25maWd1cmF0aW9ucywgb3IgaWYgdGhpcyBgQk5YMlhgIGNvbmZpZyBpcyBlbm91Z2ggdG8gdHJpZ2dlciBpdC4gSXQgYXBwZWFycywgYWZ0ZXIgYSBxdWljayBsb29rLCB0aGF0IGBCTlgyWGAgYWxvbmUgaXMgdGhlIHJlbGV2YW50IGNvbmZpZy4KCkFscmlnaHQsIHRpbWUgdG8gbG9jayB0aGVzZSBmaW5kaW5ncyBpbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDEgMTI6MTE8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JOWDJYJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7Ym54MnhfZnJlZV9tZW1fYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfYWxsb2NfbWVtX2JwJiMzNDssCiAgICAmIzM0O2JueDJ4X2luaXRfYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfaW5pdF9vbmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHRoZSBCcm9hZGNvbSBOZXRYdHJlbWUgSUkgMTBHYnBzIEV0aGVybmV0IGRyaXZlciYjMzk7cyBtZW1vcnkgZnJlZWluZyByb3V0aW5lLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBQQ0kgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7Qk5YMlgmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtibngyeF9mcmVlX21lbV9icCYjMzQ7LAogICAgJiMzNDtibngyeF9hbGxvY19tZW1fYnAmIzM0OywKICAgICYjMzQ7Ym54MnhfaW5pdF9icCYjMzQ7LAogICAgJiMzNDtibngyeF9pbml0X29uZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyJiMzOTtzIG1lbW9yeSBmcmVlaW5nIHJvdXRpbmUuIFRoaXMgY29kZSBpcyByZWFjaGFibGUgZHVyaW5nIGRldmljZSBpbml0aWFsaXphdGlvbiBmYWlsdXJlIG9yIHJlbW92YWwsIHdoaWNoIGNhbiBiZSB0cmlnZ2VyZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MTcuMjQ0ODQ2NzYzWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDczOTI1Njg1ODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQk5YMlhcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJibngyeF9mcmVlX21lbV9icFwiLFxuICAgIFwiYm54MnhfYWxsb2NfbWVtX2JwXCIsXG4gICAgXCJibngyeF9pbml0X2JwXCIsXG4gICAgXCJibngyeF9pbml0X29uZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIDEwR2JwcyBFdGhlcm5ldCBkcml2ZXIncyBtZW1vcnkgZnJlZWluZyByb3V0aW5lLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBQQ0kgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MTcuMjQ0ODU0MjMzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MDc3MjQ1OTEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAxYTY4NTgzMTUxNDQ1ZDk4YmQ5MGQxNTc4MzQ4NjQxNTU4YWIyNmRmXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgSnVsIDEgMTI6MTA6MTUgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY1xcbmluZGV4IDViMjY0MGJkMzFjM2EzLi4yNWVlNDVjYjdmM2ZiNiAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jXFxuQEAgLTQ3MTIsOCArNDcxMiw5IEBAIHZvaWQgYm54MnhfZnJlZV9tZW1fYnAoc3RydWN0IGJueDJ4ICpicClcXG4ge1xcbiBcXHRpbnQgaTtcXG4gXFxuLVxcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBicC1cXHUwMDNlZnBfYXJyYXlfc2l6ZTsgaSsrKVxcbi1cXHRcXHRrZnJlZShicC1cXHUwMDNlZnBbaV0udHBhX2luZm8pO1xcbitcXHRpZiAoYnAtXFx1MDAzZWZwKVxcbitcXHRcXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2MgYnAtXFx1MDAzZWZwX2FycmF5X3NpemU7IGkrKylcXG4rXFx0XFx0XFx0a2ZyZWUoYnAtXFx1MDAzZWZwW2ldLnRwYV9pbmZvKTtcXG4gXFx0a2ZyZWUoYnAtXFx1MDAzZWZwKTtcXG4gXFx0a2ZyZWUoYnAtXFx1MDAzZXNwX29ianMpO1xcbiBcXHRrZnJlZShicC1cXHUwMDNlZnBfc3RhdHMpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQxMjoxMDoxOC4wNTM1OTQ3MzRaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ2NTgzODAzNzkxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJOWDJYXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYm54MnhfZnJlZV9tZW1fYnBcIixcbiAgICBcImJueDJ4X2FsbG9jX21lbV9icFwiLFxuICAgIFwiYm54MnhfaW5pdF9icFwiLFxuICAgIFwiYm54MnhfaW5pdF9vbmVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyJ3MgbWVtb3J5IGZyZWVpbmcgcm91dGluZS4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgb3IgcmVtb3ZhbCwgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMWE2ODU4MzE1MTQ0NWQ5OGJkOTBkMTU3ODM0ODY0MTU1OGFiMjZkZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgSnVsIDEgMTI6MTA6MTUgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jXG5pbmRleCA1YjI2NDBiZDMxYzNhMy4uMjVlZTQ1Y2I3ZjNmYjYgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY1xuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmNcbkBAIC00NzEyLDggKzQ3MTIsOSBAQCB2b2lkIGJueDJ4X2ZyZWVfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApXG4ge1xuIFx0aW50IGk7XG4gXG4tXHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBicC1cdTAwM2VmcF9hcnJheV9zaXplOyBpKyspXG4tXHRcdGtmcmVlKGJwLVx1MDAzZWZwW2ldLnRwYV9pbmZvKTtcbitcdGlmIChicC1cdTAwM2VmcClcbitcdFx0Zm9yIChpID0gMDsgaSBcdTAwM2MgYnAtXHUwMDNlZnBfYXJyYXlfc2l6ZTsgaSsrKVxuK1x0XHRcdGtmcmVlKGJwLVx1MDAzZWZwW2ldLnRwYV9pbmZvKTtcbiBcdGtmcmVlKGJwLVx1MDAzZWZwKTtcbiBcdGtmcmVlKGJwLVx1MDAzZXNwX29ianMpO1xuIFx0a2ZyZWUoYnAtXHUwMDNlZnBfc3RhdHMpO1xuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MTguMDUzNTk3MDQ0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6OTMzNDU2Nzg5OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uY2AuICBJdCdzIGEgc2ltcGxlIG9uZSwgYWRkaW5nIGEgTlVMTCBjaGVjayBmb3IgYGJwLVx1MDAzZWZwYCBiZWZvcmUgdGhlIGxvb3AgdGhhdCBmcmVlcyBgYnAtXHUwMDNlZnBbaV0udHBhX2luZm9gLiAgTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBhY3R1YWxseSBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBhbmQgeWVwLCBpdCdzIHByZXZlbnRpbmcgYSBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCB3aGljaCBpcyBhbHdheXMgZ29vZC5cblxuTm93IHRoZSByZWFsIHF1ZXN0aW9uIGNvbWVzIHVwOiBpcyB0aGlzIGNvZGUgZXZlbiAqcmVhY2hhYmxlKiBpbiBhIHR5cGljYWwgZW52aXJvbm1lbnQ/IEl0J3MgdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyLCBgYm54MnhgLiAgQ2FuIEkgdHJpZ2dlciB0aGlzIHdpdGggUUVNVT8gIFVzdWFsbHksIHRoZXNlIFBDSS1zcGVjaWZpYyBkcml2ZXJzIGFyZSBhIHBhaW4gdG8gZnV6eiB1bmxlc3MgdGhlcmUncyBhbiBlbXVsYXRvciBvciBzb21lIHNlcmlvdXMgUENJIGZ1enppbmcgaW5mcmFzdHJ1Y3R1cmUuICBJJ20gcmFja2luZyBteSBicmFpbuKApiB3YWl0LCBkb2Vzbid0IHN5emthbGxlciBoYXZlICpzb21lKiBQQ0kgZnV6emluZyBjYXBhYmlsaXRpZXM/IFllYWgsIGl0IGRvZXMsIGJ1dCBzdGlsbCwgc3BlY2lmaWMgaGFyZHdhcmUgaXMgaGFyZCB0byByZWFjaCB1bmxlc3MgaXQncyB2aXJ0dWFsaXplZC5cblxuT2theSwgbGV0J3Mgc2VlIGlmIHRoaXMgYGJueDJ4YCBkcml2ZXIgaXMgcmVhY2hhYmxlIGF0IGFsbC4gRG9lcyBRRU1VIGV2ZW4gKmhhdmUqIGEgYGJueDJ4YCBkZXZpY2U/IExldCdzIHNlZS4uLiBlMTAwMCwgZTEwMDBlLCBydGw4MTM5LCBwY25ldCwgdmlydGlvLW5ldCwgdm14bmV0MywgaTgyNTU5ZXIsIG5lMmtfcGNpLCB0dWxpcOKApiBOb3BlLCBub3RoaW5nIGxpa2UgYGJueDJ4YC4gQnV0LCBJIHJlbWVtYmVyIHNvbWV0aGluZyBhYm91dCBzeXprYWxsZXIgaGF2aW5nIHZoY2kgLyBQQ0kgZnV6emluZyB3aGljaCAqbWlnaHQqIGluamVjdCBQQ0kgZGV2aWNlcy4uLiBpbnRlcmVzdGluZy4gVGhpcyBtaWdodCBiZSB3b3J0aCBhIHNob3QuXG5cbkFscmlnaHQsIGxldCdzIGNpcmNsZSBiYWNrLiBTaG91bGQgd2UgZnV6eiBpdD8gSSB0aGluayBpdCB3YXJyYW50cyBhIGNsb3NlciBsb29rLiBUaGUgZnVuY3Rpb24gaW4gcXVlc3Rpb24gaXMgYGJueDJ4X2ZyZWVfbWVtX2JwYC4gSSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hlcmUgdGhhdCBmdW5jdGlvbiBpcyBhY3R1YWxseSAqY2FsbGVkKi4gVGhhdCdsbCB0ZWxsIG1lIGlmIGl0J3Mgd29ydGggdGhlIGVmZm9ydCBvZiBkaWdnaW5nIGludG8gUENJIGZ1enppbmcsIG9yIGlmIHRoaXMgaXMganVzdCBzb21lIHJhcmVseSBoaXQgY29kZXBhdGguXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5MzksIk91dHB1dFRva2VucyI6MjQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNjMsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQxMjoxMDoyNy4zODgxNjc2NzJaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMzMTM1NDM4NSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJibngyeF9mcmVlX21lbV9icFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYz00NjcwPXN0YXRpYyBpbnQgYm54MnhfYWxsb2NfZnBfbWVtKHN0cnVjdCBibngyeCAqYnApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYy00NzEwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jOjQ3MTE6dm9pZCBibngyeF9mcmVlX21lbV9icChzdHJ1Y3QgYm54MnggKmJwKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MTIte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmM9NDcyNj1pbnQgYm54MnhfYWxsb2NfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYy00NzkzLWFsbG9jX2VycjpcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYzo0Nzk0OlxcdGJueDJ4X2ZyZWVfbWVtX2JwKGJwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYy00Nzk1LVxcdHJldHVybiAtRU5PTUVNO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmg9NTc5PWludCBibngyeF9hbGxvY19tZW1fYnAoc3RydWN0IGJueDJ4ICpicCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01ODEtLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmg6NTgyOiAqIGJueDJ4X2ZyZWVfbWVtX2JwIC0gcmVsZWFzZSBtZW1vcmllcyBvdXRzaXplIG1haW4gZHJpdmVyIHN0cnVjdHVyZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU4My0gKlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmgtNTg1LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oOjU4Njp2b2lkIGJueDJ4X2ZyZWVfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5oLTU4Ny1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYz0xMjI5MT1zdGF0aWMgaW50IGJueDJ4X2luaXRfYnAoc3RydWN0IGJueDJ4ICpicClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xMjMzNi1cXHRcXHRpZiAocmMpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM6MTIzMzc6XFx0XFx0XFx0Ym54MnhfZnJlZV9tZW1fYnAoYnApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xMjMzOC1cXHRcXHRcXHRyZXR1cm4gcmM7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM9MTM4MjA9c3RhdGljIGludCBibngyeF9pbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xNDAxOS1pbml0X29uZV9mcmVlbWVtOlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYzoxNDAyMDpcXHRibngyeF9mcmVlX21lbV9icChicCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTE0MDIxLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jPTE0MDQwPXN0YXRpYyB2b2lkIF9fYm54MnhfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTE0MTE4LVxcdFxcdH1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmM6MTQxMTk6XFx0XFx0Ym54MnhfZnJlZV9tZW1fYnAoYnApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYy0xNDEyMC1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MzAuNzE5NTI2NzM3WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDUxOTQ0NjA4OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIGJueDJ4IERyaXZlciBhbmQgUENJIEZ1enppbmcgUG90ZW50aWFsKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBgYm54MnhfZnJlZV9tZW1fYnBgIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbCBncmFwaC4gSXQncyBjYWxsZWQgZnJvbSBgYm54MnhfYWxsb2NfbWVtX2JwYCB3aGVuIHRoZXJlJ3MgYW4gZXJyb3IsIGBibngyeF9pbml0X2JwYCBvbiBlcnJvciwgYW5kIGBibngyeF9pbml0X29uZWAgb24gZXJyb3IsIGFzIHdlbGwgYXMgZHVyaW5nIGNsZWFudXAgdmlhIGBfX2JueDJ4X3JlbW92ZWAuIENsYXNzaWMgUENJIGRyaXZlciBwYXR0ZXJuIOKAkyBhbGxvY2F0aW9uLCBpbml0aWFsaXphdGlvbiwgY2xlYW51cC4gTm90aGluZyBzdXJwcmlzaW5nIHRoZXJlLlxuXG5Ob3csIG15IG1pbmQgaW1tZWRpYXRlbHkganVtcHMgdG8gZnV6emluZy4gVGhpcyBpcyBhIFBDSSBkcml2ZXIsIHNvIGl0J3MgYSBwcmltZSB0YXJnZXQgZm9yIHRvb2xzIGxpa2UgU3l6a2FsbGVyLiBUaGV5IGhhdmUgdGhpcyBgc3l6X3BjaV9kZXZpY2VgIHBzZXVkby1zeXNjYWxsLCBvciBzaW1pbGFyIHRlY2huaXF1ZXMsIHRoYXQgYXJlIGRlc2lnbmVkIHRvIHBva2UgYW5kIHByb2QgdGhlc2UgZHJpdmVycyBhbmQgdHJ5IHRvIGZpbmQgYnVncy4gQnV0IHRoZSByZWFsIHF1ZXN0aW9uIGlzLCBjYW4gSSByZWFjaCB0aGlzIGRyaXZlcidzIGNvZGUgKmVmZmVjdGl2ZWx5KiBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50PyBJcyBpdCBwb3NzaWJsZSB0byBmdXp6IGl0IGV2ZW4gaWYgaXQncyBub3QgZGlyZWN0bHkgYXR0YWNoZWQgdG8gcmVhbCBoYXJkd2FyZT9cblxuVGhlIGFuc3dlciBpcyBsaWtlbHkgKnllcyosIHRocm91Z2ggUENJIGZ1enppbmcuIFNvIHRoZSBuZXh0IHN0ZXAgaXMgdG8gY2hlY2sgdGhlIEtjb25maWcgZm9yIGBibngyeGAgdG8gc2VlIHdoYXQgSSBjYW4gbGVhcm4gYWJvdXQgaG93IGl0J3MgY29uZmlndXJlZCBhbmQgd2hhdCBkZXBlbmRlbmNpZXMgbWlnaHQgZXhpc3QuIEkndmUgZ290IGEgZ29vZCBmZWVsaW5nIGFib3V0IHRoaXMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM5MjEsIk91dHB1dFRva2VucyI6MTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMzgsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6MzUuMjM4OTc1MTM2WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjMzOTQzOTkwNTgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJOWDJYXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc9MTM1PWNvbmZpZyBUSUdPTjNfSFdNT05cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWctMTQxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc6MTQyOmNvbmZpZyBCTlgyWFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWctMTQzLVxcdHRyaXN0YXRlIFxcXCJCcm9hZGNvbSBOZXRYdHJlbWVJSSAxMEdiIHN1cHBvcnRcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnOjE1NTpjb25maWcgQk5YMlhfU1JJT1ZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1Ni1cXHRib29sIFxcXCJCcm9hZGNvbSA1Nzh4eCBhbmQgNTc3MTIgU1ItSU9WIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAxVDEyOjEwOjM4LjYzMzM4NDc0NFoiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMxNTE2MDY1ODMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgY3JhZnRlZCB3aXRoIHRoZSBtaW5kc2V0IG9mIGFuIGV4cGVydCBpbiB0aGUgZmllbGQ6XG5cbioqSW5pdGlhbCBDb25maWd1cmF0aW9uIENoZWNrKipcblxuQWxyaWdodCwgdGhlIHN5c3RlbSdzIHJlcG9ydGluZyBhIGNvbmZpZ3VyYXRpb24gb2YgYEJOWDJYYC4gRmlyc3QgdGhpbmcncyBmaXJzdCwgSSBuZWVkIHRvIHZlcmlmeSB0aGF0IHRoaXMgaXMgdGhlICpvbmx5KiBjb25maWd1cmF0aW9uIGluIHBsYXkuIEknbSBnb2luZyB0byBxdWlja2x5IHNjYW4gZm9yIGFueSB1bmV4cGVjdGVkIGNvbmZsaWN0cyBvciBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb25zIHRoYXQgbWlnaHQgYmUgaW5mbHVlbmNpbmcgdGhpcyBvbmUuIEl0J3MgYSBmdW5kYW1lbnRhbCBzdGVwIHRvIGVuc3VyZSBldmVyeXRoaW5nJ3MgYmVoYXZpbmcgYXMgaW50ZW5kZWQgYW5kIGF2b2lkIGFueSBuYXN0eSBzdXJwcmlzZXMgZG93biB0aGUgbGluZSDigJMgSSd2ZSBsZWFybmVkIHRoYXQgbGVzc29uIHRoZSBoYXJkIHdheSFcblxuXG4iLCJJbnB1dFRva2VucyI6NDU3MywiT3V0cHV0VG9rZW5zIjoyMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAxVDEyOjEwOjQxLjc4NDk5MzU4NloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MTI0MjI0NzQwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImRlcGVuZHMgb24uKkJOWDJYXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWc9MTU1PWNvbmZpZyBCTlgyWF9TUklPVlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL0tjb25maWctMTU2LVxcdGJvb2wgXFxcIkJyb2FkY29tIDU3OHh4IGFuZCA1NzcxMiBTUi1JT1Ygc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnOjE1NzpcXHRkZXBlbmRzIG9uIEJOWDJYIFxcdTAwMjZcXHUwMDI2IFBDSV9JT1ZcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnLTE1OC1cXHRkZWZhdWx0IHlcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6NDYuOTA5MjI1NTk2WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6ODY1MzA1NzgxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIFRoaXMgRHJpdmVyIEZpeDogQSBGb2N1c2VkIEFwcHJvYWNoKipcblxuT2theSwgc28gdGhlcmUncyBhIHBhdGNoIGFkZHJlc3NpbmcgYSBidWcgd2l0aGluIGBibngyeF9mcmVlX21lbV9icGAuIEltbWVkaWF0ZWx5LCBJJ20gdGhpbmtpbmcsIFwiSXMgdGhpcyBmdXp6YWJsZT9cIiBHaXZlbiB0aGF0IGl0J3MgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gYSBkcml2ZXIsIHRoZSBhbnN3ZXIgaXMgYSByZXNvdW5kaW5nIFwiWWVzLlwiIFdlIGhhdmUgYSBjbGVhciB0YXJnZXQgZm9yIHBvdGVudGlhbCB2dWxuZXJhYmlsaXRpZXMuXG5cbk5vdywgbGV0J3MgemVybyBpbiBvbiB0aGUga2V5IHN5bWJvbHMuIEknbSBub3RpbmcgYGJueDJ4X2ZyZWVfbWVtX2JwYCwgb2J2aW91c2x5LCBhbG9uZyB3aXRoIGl0cyBjb3VudGVycGFydCwgYGJueDJ4X2FsbG9jX21lbV9icGAuIEFsc28sIEknbGwgaW5jbHVkZSBgYm54MnhfaW5pdF9icGAgYW5kIGBibngyeF9pbml0X29uZWAuIFdhaXQgYSBtaW51dGUsIGlzbid0IGBibngyeF9pbml0X29uZWAgdGhlIHByb2JlIGZ1bmN0aW9uPyBBbHJpZ2h0LCBsZXQncyBrZWVwIHRoYXQgaW4gbWluZCwgaXQgZ2l2ZXMgdXMgYSBnb29kIGVudHJ5IHBvaW50LiBcblxuR2l2ZW4gdGhhdCwgSSdtIGdvaW5nIHRvIHNoaWZ0IGZvY3VzIGFuZCBkaWcgZGVlcGVyIGludG8gYGJueDJ4X2FsbG9jX21lbV9icGAuIFRoYXQncyB3aGVyZSBJIG5lZWQgdG8gc3RhcnQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ4NjcsIk91dHB1dFRva2VucyI6MjQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6NTUuNTYyMjg2MjYxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozNTUyNTQ5ODgzLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJueDJ4X2FsbG9jX21lbV9icFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uYz00NzExPXZvaWQgYm54MnhfZnJlZV9tZW1fYnAoc3RydWN0IGJueDJ4ICpicClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jLTQ3MjUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmM6NDcyNjppbnQgYm54MnhfYWxsb2NfbWVtX2JwKHN0cnVjdCBibngyeCAqYnApXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmMtNDcyNy17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaD01NzI9aW50IGJueDJ4X2VuYWJsZV9tc2koc3RydWN0IGJueDJ4ICpicCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01NzQtLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmg6NTc1OiAqIGJueDJ4X2FsbG9jX21lbV9icCAtIGFsbG9jYXRlIG1lbW9yaWVzIG91dHNpemUgbWFpbiBkcml2ZXIgc3RydWN0dXJlXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmgtNTc2LSAqXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9jbW4uaC01NzgtICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmg6NTc5OmludCBibngyeF9hbGxvY19tZW1fYnAoc3RydWN0IGJueDJ4ICpicCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmgtNTgwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jPTEyMjkxPXN0YXRpYyBpbnQgYm54MnhfaW5pdF9icChzdHJ1Y3QgYm54MnggKmJwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTEyMzE4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X21haW4uYzoxMjMxOTpcXHRyYyA9IGJueDJ4X2FsbG9jX21lbV9icChicCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jLTEyMzIwLVxcdGlmIChyYylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDFUMTI6MTA6NTkuMTE0ODQ4MzM0WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjUzODI5NjM1NzUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBCcm9hZGNvbSBOZXRYdHJlbWUgSUkgRHJpdmVyIFZ1bG5lcmFiaWxpdHkqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGZpeGluZyBhIHBvdGVudGlhbGx5IGRhbmdlcm91cyBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UuIFRoZSBrZXkgZnVuY3Rpb25zIGhlcmUgc2VlbSB0byBiZSBgYm54MnhfYWxsb2NfbWVtX2JwYCBhbmQsIGltcG9ydGFudGx5LCBgYm54MnhfZnJlZV9tZW1fYnBgLiBUaGUgY29uZmlnIHJlbGF0ZWQgdG8gdGhpcyBpcyBgQk5YMlhgLiBUaGF0J3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCB3aGljaCBsaWtlbHkgbWVhbnMgaXQgdGFyZ2V0cyB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIDEwR2JwcyBFdGhlcm5ldCBkcml2ZXIuIFRoZSB2dWxuZXJhYmlsaXR5IHNvdW5kcyBsaWtlIGl0IHN1cmZhY2VzIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSB0cmlnZ2VyZWQgYnkgUENJIGZ1enppbmcsIHdoaWNoIGNhbiBiZSB0cm91Ymxlc29tZS5cblxuSSBzaG91bGQgdmVyaWZ5IHdoZXRoZXIgdGhlIGBibngyeF9mcmVlX21lbV9icGAgZnVuY3Rpb24gaXMgc3RhdGljLiBObywgaXQgaXNuJ3QuIE5vdywgSSBuZWVkIHRvIGNoZWNrIGlmIHRoZXJlIGFyZSBvdGhlciByZWxldmFudCBjb25maWd1cmF0aW9ucywgb3IgaWYgdGhpcyBgQk5YMlhgIGNvbmZpZyBpcyBlbm91Z2ggdG8gdHJpZ2dlciBpdC4gSXQgYXBwZWFycywgYWZ0ZXIgYSBxdWljayBsb29rLCB0aGF0IGBCTlgyWGAgYWxvbmUgaXMgdGhlIHJlbGV2YW50IGNvbmZpZy5cblxuQWxyaWdodCwgdGltZSB0byBsb2NrIHRoZXNlIGZpbmRpbmdzIGluLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1ODY1LCJPdXRwdXRUb2tlbnMiOjEzNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE1NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMVQxMjoxMTowNC40OTc4MTUxMzlaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMzk1NzY1NDcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJOWDJYXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiYm54MnhfZnJlZV9tZW1fYnBcIixcbiAgICBcImJueDJ4X2FsbG9jX21lbV9icFwiLFxuICAgIFwiYm54MnhfaW5pdF9icFwiLFxuICAgIFwiYm54MnhfaW5pdF9vbmVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gdGhlIEJyb2FkY29tIE5ldFh0cmVtZSBJSSAxMEdicHMgRXRoZXJuZXQgZHJpdmVyJ3MgbWVtb3J5IGZyZWVpbmcgcm91dGluZS4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWx1cmUgb3IgcmVtb3ZhbCwgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQk5YMlhcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJibngyeF9mcmVlX21lbV9icFwiLFxuICAgIFwiYm54MnhfYWxsb2NfbWVtX2JwXCIsXG4gICAgXCJibngyeF9pbml0X2JwXCIsXG4gICAgXCJibngyeF9pbml0X29uZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiB0aGUgQnJvYWRjb20gTmV0WHRyZW1lIElJIDEwR2JwcyBFdGhlcm5ldCBkcml2ZXIncyBtZW1vcnkgZnJlZWluZyByb3V0aW5lLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSBvciByZW1vdmFsLCB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIHZpYSBQQ0kgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflowsxk4v[1] Phase: Succeeded StartedAt: 2026-07-01 12:12:13 +0000 UTC FinishedAt: 2026-07-01 12:12:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-01 12:12:13 +0000 UTC FinishedAt: 2026-07-01 12:12:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2] Phase: Succeeded StartedAt: 2026-07-01 12:12:13 +0000 UTC FinishedAt: 2026-07-01 13:27:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-01 12:12:13 +0000 UTC FinishedAt: 2026-07-01 13:27:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-01 12:12:13 +0000 UTC FinishedAt: 2026-07-01 12:13:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-01 12:12:13 +0000 UTC FinishedAt: 2026-07-01 12:12:54 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},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-workflowsxk4v/series-workflowsxk4v-convert-artifact-2074317993/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-01 12:13:25 +0000 UTC FinishedAt: 2026-07-01 12:49:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-01 12:13:25 +0000 UTC FinishedAt: 2026-07-01 12:49:24 +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:*04d25072-c972-4375-9335-2cdc6de55b3f,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-workflowsxk4v/series-workflowsxk4v-convert-artifact-2074317993/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": "0f3f9d07-9953-4ba7-a3e8-e4ebb96c3ab4", "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-workflowsxk4v/series-workflowsxk4v-build-action-1956248839/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-01 12:13:25 +0000 UTC FinishedAt: 2026-07-01 12:49:14 +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:*04d25072-c972-4375-9335-2cdc6de55b3f,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-workflowsxk4v/series-workflowsxk4v-convert-artifact-2074317993/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": "0f3f9d07-9953-4ba7-a3e8-e4ebb96c3ab4", "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-workflowsxk4v/series-workflowsxk4v-build-action-1956248839/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-01 12:49:24 +0000 UTC FinishedAt: 2026-07-01 12:49:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-01 12:49:24 +0000 UTC FinishedAt: 2026-07-01 12:49:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-01 12:49:24 +0000 UTC FinishedAt: 2026-07-01 12:49:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-01 12:49:24 +0000 UTC FinishedAt: 2026-07-01 12:49:31 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},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-workflowsxk4v/series-workflowsxk4v-convert-artifact-1677033788/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-01 12:49:34 +0000 UTC FinishedAt: 2026-07-01 12:51:49 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-01 12:49:34 +0000 UTC FinishedAt: 2026-07-01 12:51:40 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*0f3f9d07-9953-4ba7-a3e8-e4ebb96c3ab4,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-workflowsxk4v/series-workflowsxk4v-build-action-1956248839/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-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-01 12:51:49 +0000 UTC FinishedAt: 2026-07-01 12:51:49 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-01 12:51:49 +0000 UTC FinishedAt: 2026-07-01 12:51:49 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-01 12:51:49 +0000 UTC FinishedAt: 2026-07-01 13:21:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-01 12:51:49 +0000 UTC FinishedAt: 2026-07-01 13:21:23 +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:*04d25072-c972-4375-9335-2cdc6de55b3f,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-workflowsxk4v/series-workflowsxk4v-convert-artifact-1677033788/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": "703c849d-8ce1-46d7-9bd8-abe2c4fc7594", "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-workflowsxk4v/series-workflowsxk4v-build-action-870927256/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-01 12:51:49 +0000 UTC FinishedAt: 2026-07-01 13:20:37 +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:*04d25072-c972-4375-9335-2cdc6de55b3f,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-workflowsxk4v/series-workflowsxk4v-convert-artifact-1677033788/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": "703c849d-8ce1-46d7-9bd8-abe2c4fc7594", "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-workflowsxk4v/series-workflowsxk4v-build-action-870927256/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-01 13:21:23 +0000 UTC FinishedAt: 2026-07-01 13:21:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-01 13:21:23 +0000 UTC FinishedAt: 2026-07-01 13:21:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-01 13:21:23 +0000 UTC FinishedAt: 2026-07-01 13:23:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-01 13:21:23 +0000 UTC FinishedAt: 2026-07-01 13:23:29 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*703c849d-8ce1-46d7-9bd8-abe2c4fc7594,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-workflowsxk4v/series-workflowsxk4v-build-action-870927256/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-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-01 13:23:38 +0000 UTC FinishedAt: 2026-07-01 13:23:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-01 13:23:39 +0000 UTC FinishedAt: 2026-07-01 13:27:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-01 13:23:39 +0000 UTC FinishedAt: 2026-07-01 13:27:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"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:*0f3f9d07-9953-4ba7-a3e8-e4ebb96c3ab4,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*703c849d-8ce1-46d7-9bd8-abe2c4fc7594,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-workflowsxk4v/series-workflowsxk4v-build-action-1956248839/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-workflowsxk4v/series-workflowsxk4v-build-action-870927256/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-01 13:23:39 +0000 UTC FinishedAt: 2026-07-01 13:24:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-01 13:23:39 +0000 UTC FinishedAt: 2026-07-01 13:24:03 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"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-workflowsxk4v/series-workflowsxk4v-convert-artifact-2355207429/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-01 13:23:39 +0000 UTC FinishedAt: 2026-07-01 13:23:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-01 13:23:39 +0000 UTC FinishedAt: 2026-07-01 13:23:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-01 13:24:21 +0000 UTC FinishedAt: 2026-07-01 13:27:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsxk4v[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["bnx2x_free_mem_bp","bnx2x_alloc_mem_bp","bnx2x_init_bp","bnx2x_init_one"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"adc49c7ba690c9b33b8392ec27397456b65d0893","config_name":"upstream-apparmor-kasan.config","enable_configs":["BNX2X"],"series_id":"b7946580-08b2-4ff9-9942-bb5e63b7b56d","tree_name":"net","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-01 13:24:21 +0000 UTC FinishedAt: 2026-07-01 13:26:45 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*0f3f9d07-9953-4ba7-a3e8-e4ebb96c3ab4,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*703c849d-8ce1-46d7-9bd8-abe2c4fc7594,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-workflowsxk4v/series-workflowsxk4v-build-action-1956248839/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-workflowsxk4v/series-workflowsxk4v-build-action-870927256/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-workflowsxk4v/series-workflowsxk4v-convert-artifact-2355207429/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,}