Name: series-workflowgg7h9 Phase: Succeeded StartedAt: 2026-07-02 11:21:16 +0000 UTC FinishedAt: 2026-07-02 16:08:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[0] Phase: Succeeded StartedAt: 2026-07-02 11:21:16 +0000 UTC FinishedAt: 2026-07-02 11:38:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[0].run-triage Phase: Succeeded StartedAt: 2026-07-02 11:21:16 +0000 UTC FinishedAt: 2026-07-02 11:38:10 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "0b58988cacfc91604c4b5be2c3295f8aac0ee3d0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_SYSCALL", "BPF_JIT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "0b58988cacfc91604c4b5be2c3295f8aac0ee3d0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_SYSCALL", "BPF_JIT" ], "series_id": "ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_do_misc_fixups", "__bpf_prog_select_runtime" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-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+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9TWVNDQUxMJiMzNDssCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfZG9fbWlzY19maXh1cHMmIzM0OywKICAgICYjMzQ7X19icGZfcHJvZ19zZWxlY3RfcnVudGltZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGxvZ2ljIHRvIHJlamVjdCBCUEYgcHJvZ3JhbXMgaWYgdGhleSByZXF1aXJlIEpJVCBjb21waWxhdGlvbiAoZS5nLiwgYmVjYXVzZSB0aGUgSklUIGlubGluZXMgYSBoZWxwZXIgY2FsbCkgYnV0IEpJVCBpcyB1bmF2YWlsYWJsZSBvciBmYWlscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIEJQRiB2ZXJpZmllci9sb2FkZXIgYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMTE6Mzc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBjMDVmYmVhNzFiY2NhYTJmNjE3MzEzZmRkNzI0YjcyMzM1YzI3ZGY5XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMiAxMTozNzoyMyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JwZi5oIGIvaW5jbHVkZS9saW51eC9icGYuaFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLmY1YzI4M2FmM2NmNzg2IDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9icGYuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9icGYuaFxuQEAgLTE4ODksNiAmIzQzOzE4ODksNyBAQCBzdHJ1Y3QgYnBmX3Byb2cge1xuIFx0XHR1OCBkaWdlc3RbU0hBMjU2X0RJR0VTVF9TSVpFXTtcbiBcdFx0dTggdGFnW0JQRl9UQUdfU0laRV07XG4gXHR9O1xuJiM0MztcdHU4XHRcdFx0aml0X3JlcXVpcmVkO1x0LyogcHJvZ3JhbSBzdHJpY3RseSByZXF1aXJlcyBKSVQgY29tcGlsZXIgKi9cbiBcdHN0cnVjdCBicGZfcHJvZ19zdGF0cyBfX3BlcmNwdSAqc3RhdHM7XG4gXHR1OCBfX3BlcmNwdVx0XHQqYWN0aXZlO1x0LyogdThbQlBGX05SX0NPTlRFWFRTXSBmb3IgcmVjdXJzaW9uIHByb3RlY3Rpb24gKi9cbiBcdHVuc2lnbmVkIGludFx0XHQoKmJwZl9mdW5jKShjb25zdCB2b2lkICpjdHgsXG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9jb3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuY1xuaW5kZXggNjQ5Y2NlNDFlMTNmM2IuLmE1NTc1NGJjYzU5MzVhIDEwMDY0NFxuLS0tIGEva2VybmVsL2JwZi9jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9icGYvY29yZS5jXG5AQCAtMjYzOSw3ICYjNDM7MjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3RcbiBcbiBcdFx0ZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTtcbiBcdFx0YnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7XG4tXHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IGppdF9uZWVkZWQpIHtcbiYjNDM7XHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IChqaXRfbmVlZGVkIHx8IGZwLVx1MDAzZWppdF9yZXF1aXJlZCkpIHtcbiBcdFx0XHQqZXJyID0gLUVOT1RTVVBQO1xuIFx0XHRcdHJldHVybiBmcDtcbiBcdFx0fVxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvZml4dXBzLmMgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5pbmRleCAxMmE4YTRlYjc1N2YxOC4uOTRlMDQ1N2EwYWEzM2EgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5AQCAtMTg0MSw4ICYjNDM7MTg0MSwxMCBAQCBpbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpXG4gXHRcdH1cbiBcbiBcdFx0LyogU2tpcCBpbmxpbmluZyB0aGUgaGVscGVyIGNhbGwgaWYgdGhlIEpJVCBkb2VzIGl0LiAqL1xuLVx0XHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKSlcbiYjNDM7XHRcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cdTAwM2VpbW0pKSB7XG4mIzQzO1x0XHRcdHByb2ctXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcbiBcdFx0XHRnb3RvIG5leHRfaW5zbjtcbiYjNDM7XHRcdH1cbiBcbiBcdFx0aWYgKGluc24tXHUwMDNlaW1tID09IEJQRl9GVU5DX2dldF9yb3V0ZV9yZWFsbSlcbiBcdFx0XHRwcm9nLVx1MDAzZWRzdF9uZWVkZWQgPSAxO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9TWVNDQUxMJiMzNDssCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfZG9fbWlzY19maXh1cHMmIzM0OywKICAgICYjMzQ7X19icGZfcHJvZ19zZWxlY3RfcnVudGltZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGxvZ2ljIHRvIHJlamVjdCBCUEYgcHJvZ3JhbXMgaWYgdGhleSByZXF1aXJlIEpJVCBjb21waWxhdGlvbiAoZS5nLiwgYmVjYXVzZSB0aGUgSklUIGlubGluZXMgYSBoZWxwZXIgY2FsbCkgYnV0IEpJVCBpcyB1bmF2YWlsYWJsZSBvciBmYWlscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIEJQRiB2ZXJpZmllci9sb2FkZXIgYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGMwNWZiZWE3MWJjY2FhMmY2MTczMTNmZGQ3MjRiNzIzMzVjMjdkZjkKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVGh1IEp1bCAyIDExOjM3OjIzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9icGYuaCBiL2luY2x1ZGUvbGludXgvYnBmLmgKaW5kZXggYmEwOTc5NWUwYmZkYjcuLmY1YzI4M2FmM2NmNzg2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2JwZi5oCiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbGludXgvYnBmLmgKQEAgLTE4ODksNiAmIzQzOzE4ODksNyBAQCBzdHJ1Y3QgYnBmX3Byb2cgewogCQl1OCBkaWdlc3RbU0hBMjU2X0RJR0VTVF9TSVpFXTsKIAkJdTggdGFnW0JQRl9UQUdfU0laRV07CiAJfTsKJiM0MzsJdTgJCQlqaXRfcmVxdWlyZWQ7CS8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovCiAJc3RydWN0IGJwZl9wcm9nX3N0YXRzIF9fcGVyY3B1ICpzdGF0czsKIAl1OCBfX3BlcmNwdQkJKmFjdGl2ZTsJLyogdThbQlBGX05SX0NPTlRFWFRTXSBmb3IgcmVjdXJzaW9uIHByb3RlY3Rpb24gKi8KIAl1bnNpZ25lZCBpbnQJCSgqYnBmX2Z1bmMpKGNvbnN0IHZvaWQgKmN0eCwKZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvY29yZS5jIGIva2VybmVsL2JwZi9jb3JlLmMKaW5kZXggNjQ5Y2NlNDFlMTNmM2IuLmE1NTc1NGJjYzU5MzVhIDEwMDY0NAotLS0gYS9rZXJuZWwvYnBmL2NvcmUuYwomIzQzOyYjNDM7JiM0MzsgYi9rZXJuZWwvYnBmL2NvcmUuYwpAQCAtMjYzOSw3ICYjNDM7MjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QKIAogCQlmcCA9IGJwZl9wcm9nX2ppdF9jb21waWxlKGVudiwgZnApOwogCQlicGZfcHJvZ19qaXRfYXR0ZW1wdF9kb25lKGZwKTsKLQkJaWYgKCFmcC0mZ3Q7aml0ZWQgJmFtcDsmYW1wOyBqaXRfbmVlZGVkKSB7CiYjNDM7CQlpZiAoIWZwLSZndDtqaXRlZCAmYW1wOyZhbXA7IChqaXRfbmVlZGVkIHx8IGZwLSZndDtqaXRfcmVxdWlyZWQpKSB7CiAJCQkqZXJyID0gLUVOT1RTVVBQOwogCQkJcmV0dXJuIGZwOwogCQl9CmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2ZpeHVwcy5jIGIva2VybmVsL2JwZi9maXh1cHMuYwppbmRleCAxMmE4YTRlYjc1N2YxOC4uOTRlMDQ1N2EwYWEzM2EgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9icGYvZml4dXBzLmMKJiM0MzsmIzQzOyYjNDM7IGIva2VybmVsL2JwZi9maXh1cHMuYwpAQCAtMTg0MSw4ICYjNDM7MTg0MSwxMCBAQCBpbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpCiAJCX0KIAogCQkvKiBTa2lwIGlubGluaW5nIHRoZSBoZWxwZXIgY2FsbCBpZiB0aGUgSklUIGRvZXMgaXQuICovCi0JCWlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi0mZ3Q7aW1tKSkKJiM0MzsJCWlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi0mZ3Q7aW1tKSkgewomIzQzOwkJCXByb2ctJmd0O2ppdF9yZXF1aXJlZCA9IDE7CiAJCQlnb3RvIG5leHRfaW5zbjsKJiM0MzsJCX0KIAogCQlpZiAoaW5zbi0mZ3Q7aW1tID09IEJQRl9GVU5DX2dldF9yb3V0ZV9yZWFsbSkKIAkJCXByb2ctJmd0O2RzdF9uZWVkZWQgPSAxOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMTozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMzE5CgkJCQkJCQlvdXRwdXQ6IDI1CgkJCQkJCQl0aG91Z2h0czogMTMyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQlBGIENvcmUgTW9kaWZpY2F0aW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIG1vZGlmeWluZyB0aGUgQlBGIGNvcmUuIEl0IHNlZW1zIHRoZXkmIzM5O3ZlIGFkZGVkIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byB0aGUgYHN0cnVjdCBicGZfcHJvZ2Agc3RydWN0dXJlLiBJbnR1aXRpdmVseSwgdGhpcyBzdWdnZXN0cyB0aGV5JiMzOTtyZSB0cnlpbmcgdG8gY29udHJvbCBKSVQgY29tcGlsYXRpb24gaW4gYSBtb3JlIGdyYW51bGFyIHdheS4KCkZyb20gd2hhdCBJIGNhbiB0ZWxsLCBgYnBmX2RvX21pc2NfZml4dXBzYCBpcyB3aGVyZSB0aGlzIGZsYWcgZ2V0cyBzZXQuIElmIGEgcGFydGljdWxhciBoZWxwZXIgY2FsbCBpbnN0cnVjdGlvbiAoYGluc24tJmd0O2ltbWApIHJlcXVpcmVzIGlubGluaW5nIGFjY29yZGluZyB0byBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsYCwgdGhlbiB0aGUgYHByb2ctJmd0O2ppdF9yZXF1aXJlZGAgZmxhZyBpcyBzZXQgdG8gMS4gVGhpcyBpcyBmYWlybHkgc3RhbmRhcmQ7IGhlbHBlciBpbmxpbmluZyBvZnRlbiBuZWNlc3NpdGF0ZXMgSklULgoKTm93LCBpbiBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAsIHRoaXMgZmxhZyBjb21lcyBpbnRvIHBsYXkuIElmIHRoZSBwcm9ncmFtIGlzbiYjMzk7dCBhbHJlYWR5IEpJVCYjMzk7ZCAoYCFmcC0mZ3Q7aml0ZWRgKSBhbmQgZWl0aGVyIEpJVCBjb21waWxhdGlvbiBpcyBuZWVkZWQgZXhwbGljaXRseSB0aHJvdWdoIGBqaXRfbmVlZGVkYCBPUiB0aGUgYGppdF9yZXF1aXJlZGAgZmxhZyBpcyBzZXQsIHRoZSBmdW5jdGlvbiByZXR1cm5zIGAtRU5PVFNVUFBgLiBUaGlzIGltcGxpZXMgYSBoYXJkIGZhaWx1cmUuIFRoZSBpbXBsaWNhdGlvbiBpcywgaWYgdGhlIEpJVCBpcyBtYW5kYXRvcnkgYW5kIG5vdCBhdmFpbGFibGUsIHRoZSBwcm9ncmFtIHdpbGwgbm90IHJ1bi4gVGhpcyBpcyBhIGJpdCByaWdpZCwgYnV0IGl0IG1pZ2h0IGJlIG5lY2Vzc2FyeSBmb3IgY2VydGFpbiBzZWN1cml0eSBjb250ZXh0cywgb3IgZm9yIHByb2dyYW1zIHJlbHlpbmcgb24gc3BlY2lmaWMgSklUIG9wdGltaXphdGlvbnMuCgpNeSBuZXh0IHN0ZXAgaXMgdG8gZXhhbWluZSB0aGUgYGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbGAgZnVuY3Rpb24uIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgY3JpdGVyaWEgdHJpZ2dlciB0aGlzIGhlbHBlciBpbmxpbmluZywgYXMgdGhhdCB3aWxsIGJlIGtleSB0byB1bmRlcnN0YW5kaW5nIHRoZSBmdWxsIGltcGxpY2F0aW9ucyBvZiB0aGlzIGNoYW5nZS4gSXMgdGhpcyBhYm91dCBwZXJmb3JtYW5jZSwgc2VjdXJpdHksIG9yIHNvbWV0aGluZyBlbHNlIGVudGlyZWx5PyBUaGUgdHlwZXMgb2YgaGVscGVyIGZ1bmN0aW9ucyB0aGF0IHRyaWdnZXIgdGhpcyBpbmxpbmluZyB3aWxsIHByb3ZpZGUgdGhlIGFuc3dlci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMTozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC9hcm02NC9uZXQvYnBmX2ppdF9jb21wLmM9MzIwMT1ib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcbi0tXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA1LVxuYXJjaC9hcm02NC9uZXQvYnBmX2ppdF9jb21wLmM6MzIwNjpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxuYXJjaC9hcm02NC9uZXQvYnBmX2ppdF9jb21wLmMtMzIwNy17XG4tLVxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYz01NzI9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3BlcmNwdV9pbnNuKHZvaWQpXG4tLVxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYy01NzYtXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jOjU3Nzpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYy01Nzgte1xuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM9MjEzOT1ib29sIGJwZl9qaXRfc3VwcG9ydHNfcGVyY3B1X2luc24odm9pZClcbi0tXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTIxNDMtXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jOjIxNDQ6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMjE0NS17XG4tLVxuYXJjaC9zMzkwL25ldC9icGZfaml0X2NvbXAuYz0zMDgxPWJvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuLS1cbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMtMzA4NS1cbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmM6MzA4Njpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxuYXJjaC9zMzkwL25ldC9icGZfaml0X2NvbXAuYy0zMDg3LXtcbi0tXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oPTExNzk9Ym9vbCBicGZfaml0X25lZWRzX3pleHQodm9pZCk7XG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oOjExODA6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSk7XG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExODEtYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpO1xuLS1cbmtlcm5lbC9icGYvY29yZS5jPTMyMDk9Ym9vbCBfX3dlYWsgYnBmX2ppdF9ieXBhc3Nfc3BlY192NCh2b2lkKVxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTMyMTktICovXG5rZXJuZWwvYnBmL2NvcmUuYzozMjIwOmJvb2wgX193ZWFrIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxua2VybmVsL2JwZi9jb3JlLmMtMzIyMS17XG4tLVxua2VybmVsL2JwZi9maXh1cHMuYz0xNDgxPWludCBicGZfZG9fbWlzY19maXh1cHMoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudilcbi0tXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE4NDMtXHRcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cbmtlcm5lbC9icGYvZml4dXBzLmM6MTg0NDpcdFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVx1MDAzZWltbSkpIHtcbmtlcm5lbC9icGYvZml4dXBzLmMtMTg0NS1cdFx0XHRwcm9nLVx1MDAzZWppdF9yZXF1aXJlZCA9IDE7XG4tLVxua2VybmVsL2JwZi92ZXJpZmllci5jPTE2NjgzPWJvb2wgYnBmX2dldF9jYWxsX3N1bW1hcnkoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9pbnNuICpjYWxsLFxuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0xNjY5Ni1cdFx0XHQgICAgICAgKGJwZl92ZXJpZmllcl9pbmxpbmVzX2hlbHBlcl9jYWxsKGVudiwgY2FsbC1cdTAwM2VpbW0pIHx8XG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTY2OTc6XHRcdFx0XHRicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoY2FsbC1cdTAwM2VpbW0pKTtcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0xNjY5OC1cdFx0Y3MtXHUwMDNlaXNfdm9pZCA9IGZuLVx1MDAzZXJldF90eXBlID09IFJFVF9WT0lEO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM4NDMKCQkJCQkJCW91dHB1dDogMjMKCQkJCQkJCXRob3VnaHRzOiAxMTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgQlBGIFNlY3VyaXR5IFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgc29tZSBwcmV0dHkgY3JpdGljYWwgQlBGIGludGVybmFscyDigJMgc3BlY2lmaWNhbGx5LCBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLiBUaGVzZSBhcmUgZm91bmRhdGlvbmFsIGZ1bmN0aW9ucy4gV2hhdCBpdCYjMzk7cyBkb2luZywgZXNzZW50aWFsbHksIGlzIGFkZGluZyBsb2dpYyB0byAqcmVqZWN0KiBCUEYgcHJvZ3JhbXMgaWYgdGhleSAqbmVlZCogSklUIGNvbXBpbGF0aW9uIGJ1dCBjYW4mIzM5O3QgZ2V0IGl0LCBlaXRoZXIgYmVjYXVzZSBKSVQgaXNuJiMzOTt0IGVuYWJsZWQgb3IgYmVjYXVzZSBpdCYjMzk7cyBmYWlsZWQuIFRoYXQmIzM5O3MgYSBjbGFzc2ljIGRlZmVuc2UtaW4tZGVwdGggYXBwcm9hY2gsIHByZXZlbnRpbmcgcG90ZW50aWFsbHkgdW5zYWZlIHByb2dyYW1zIGZyb20gZXhlY3V0aW5nIGlmIGEgY3JpdGljYWwgY29tcG9uZW50IGlzIG1pc3NpbmcuCgpUaGlzIGlzIGltbWVkaWF0ZWx5IHNjcmVhbWluZyAmIzM0O2Z1enppbmcgdGFyZ2V0JiMzNDsgdG8gbWUuIEFueSBsb2dpYyBjaGFuZ2UgaW4gYSBzZWN1cml0eS1zZW5zaXRpdmUgYXJlYSBsaWtlIHRoaXMgZGVzZXJ2ZXMgYSB0aG9yb3VnaCBmdXp6aW5nIGNhbXBhaWduIHRvIGlkZW50aWZ5IGVkZ2UgY2FzZXMsIHBvdGVudGlhbCBieXBhc3Nlcywgb3IgdW5leHBlY3RlZCBiZWhhdmlvci4KCkkgbmVlZCB0byBmb2N1cyBteSBmdXp6aW5nIGVmZm9ydHMgb24gdGhvc2UgdHdvIGNvcmUgc3ltYm9sczogYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC4gVGhleSBhcmUgdGhlIGdhdGVrZWVwZXJzIGhlcmUuCgpMZXQgbWUgYWxzbyB2ZXJpZnkgdGhlIGBCUEZfU1lTQ0FMTGAgY29uZmlnIGlzIHJlbGV2YW50IGhlcmUsIGdpdmVuIHRoZSBzeXNjYWxsIGludGVyZmFjZSBpcyBrZXkgdG8gQlBGJiMzOTtzIG9wZXJhdGlvbi4gSSBzaG91bGQgYWxzbyBjaGVjayBpZiBhbnkgb3RoZXIgY29uZmlncyBtaWdodCBpbmRpcmVjdGx5IGluZmx1ZW5jZSB0aGlzIGNvZGUgcGF0aCBvciBpdHMgYmVoYXZpb3IuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBoYXZlIGEgY29tcGxldGUgcGljdHVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMTozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvZmlsdGVyLmg9MTEyOD1za19maWx0ZXJfcmVhc29uKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYilcbi0tXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzItXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oOjExMzM6c3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqZnAsXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzQtXHRcdFx0XHRcdCAgIGludCAqZXJyKTtcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYz0yNTY0PXN0YXRpYyBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX2ppdF9jb21waWxlKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqcHJvZylcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjEwLVxua2VybmVsL2JwZi9jb3JlLmM6MjYxMTpzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpmcCxcbmtlcm5lbC9icGYvY29yZS5jLTI2MTItXHRcdFx0XHRcdCAgIGludCAqZXJyKVxuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI2Nzg9c3RydWN0IGJwZl9wcm9nICpicGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3Byb2cgKmZwLCBpbnQgKmVycilcbmtlcm5lbC9icGYvY29yZS5jLTI2Nzkte1xua2VybmVsL2JwZi9jb3JlLmM6MjY4MDpcdHJldHVybiBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKE5VTEwsIGZwLCBlcnIpO1xua2VybmVsL2JwZi9jb3JlLmMtMjY4MS19XG4tLVxua2VybmVsL2JwZi92ZXJpZmllci5jPTE5NzQzPWludCBicGZfY2hlY2soc3RydWN0IGJwZl9wcm9nICoqcHJvZywgdW5pb24gYnBmX2F0dHIgKmF0dHIsIGJwZnB0cl90IHVhdHRyLFxuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0yMDAwNy1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYzoyMDAwODpcdGVudi1cdTAwM2Vwcm9nID0gX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShlbnYsIGVudi1cdTAwM2Vwcm9nLCBcdTAwMjZyZXQpO1xua2VybmVsL2JwZi92ZXJpZmllci5jLTIwMDA5LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ3NTgKCQkJCQkJCW91dHB1dDogMjEKCQkJCQkJCXRob3VnaHRzOiA2OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyB0aG91Z2ggSSYjMzk7bSB0aGlua2luZyB0aHJvdWdoIHRoaXMgcHJvY2VzczoKCioqSW52ZXN0aWdhdGluZyBCUEYgUnVudGltZSBTZWxlY3Rpb24qKgoKT2theSwgc28gSSYjMzk7bSBkaWdnaW5nIGludG8gaG93IHRoZSBCUEYgcnVudGltZSBpcyBzZWxlY3RlZC4gSSByZW1lbWJlciBzZWVpbmcgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIHRoYXQgZnVuY3Rpb24mIzM5O3MgaW4gYGtlcm5lbC9icGYvZml4dXBzLmNgLiBUaGF0IG1ha2VzIHNlbnNlOyBpdCYjMzk7cyBsaWtlbHkgaW52b2x2ZWQgaW4gc2V0dGluZyB1cCB0aGUgQlBGIGVudmlyb25tZW50LiBUaGVuIHRoZXJlJiMzOTtzIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCwgd2hpY2ggSSBzZWVtIHRvIHJlY2FsbCBpcyBpbiBga2VybmVsL2JwZi9jb3JlLmNgLiBBaCwgeWVzLCB0aGUgY29yZSBsb2dpYyBzaG91bGQgYmUgaW4gYGNvcmUuY2AuCgpOb3csIHRoZSBxdWVzdGlvbiBpcywgaG93IHNpbXBsZSBpcyB0aGUgY29uZmlndXJhdGlvbiBoZXJlPyBJcyBpdCBhcyBzdHJhaWdodGZvcndhcmQgYXMganVzdCBlbmFibGluZyBgQlBGX1NZU0NBTExgPyBUaGF0IHdvdWxkIGJlIG5pY2UuIEkgbmVlZCB0byB2ZXJpZnkgaWYgdGhhdCYjMzk7cyB0aGUgb25seSBjb25maWcgZmxhZyBJIG5lZWQgdG8gYmUgYXdhcmUgb2Ygd2hlbiBjb25zaWRlcmluZyB0aGUgcnVudGltZSBzZWxlY3Rpb24uIFRoYXQmIzM5O3Mgd2hlcmUgSSBzaG91bGQgc3RhcnQuIExldCYjMzk7cyBzZWUgaWYgdGhhdCYjMzk7cyB0aGUgc29sZSBkZXBlbmRlbmN5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBCUEZfU1lTQ0FMTCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtrZXJuZWwvYnBmL0tjb25maWc9MjU9bWVudSBcJiMzNDtCUEYgc3Vic3lzdGVtXCYjMzQ7XG5rZXJuZWwvYnBmL0tjb25maWctMjYtXG5rZXJuZWwvYnBmL0tjb25maWc6Mjc6Y29uZmlnIEJQRl9TWVNDQUxMXG5rZXJuZWwvYnBmL0tjb25maWctMjgtXHRib29sIFwmIzM0O0VuYWJsZSBicGYoKSBzeXN0ZW0gY2FsbFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUxNDcKCQkJCQkJCW91dHB1dDogMjAKCQkJCQkJCXRob3VnaHRzOiAxNDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYW5hbHlzaXMgb2YgdGhlIHByb3ZpZGVkIGluZm9ybWF0aW9uLCBhcyBpZiB0aGVzZSBhcmUgbXkgaW1tZWRpYXRlIHRob3VnaHRzOgoKKipEaXNzZWN0aW5nIFRoaXMgQlBGIEpJVCBDb250ZXh0KioKCk9rYXksIHNvIHdlJiMzOTtyZSBwcmltYXJpbHkgZm9jdXNlZCBvbiB0aGUgKipgQlBGX1NZU0NBTExgKiogYXNwZWN0IG9mIHRoaXMuIFRoYXQmIzM5O3MgdGhlIGNvcmUgc3lzdGVtIGNhbGwgaW50ZXJmYWNlLCBuYXR1cmFsbHkuIEJ1dCwgaG9sZCBvbi4uLnRoaXMgaXMgbW9yZSBudWFuY2VkIHRoYW4gaXQgaW5pdGlhbGx5IGFwcGVhcnMuIE15IG1lbnRhbCBtYXAgZmxhZ3MgdGhhdCAqKmBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxgKiogaXMgYWN0dWFsbHkgaW1wbGVtZW50ZWQgYWNyb3NzICptdWx0aXBsZSogYXJjaGl0ZWN0dXJlczogYGFybTY0YCwgYHBvd2VycGNgLCBgcmlzY3ZgLCBhbmQgYHMzOTBgLiBBIHF1aWNrIGRvdWJsZS1jaGVjayByZXZlYWxzIGEgd2VhayBpbXBsZW1lbnRhdGlvbiB3aXRoaW4gYGtlcm5lbC9icGYvY29yZS5jYCBhcyB3ZWxsLiBUaGF04oCZcyBzb21ldGhpbmcgSSBuZWVkIHRvIGtlZXAgaW4gbWluZDsgdGhlIHNwZWNpZmljcyBtaWdodCB2YXJ5IGNvbnNpZGVyYWJseSBiYXNlZCBvbiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZS4KCkdpdmVuIHRoYXQgdGhlIGNvbnRleHQgcmV2b2x2ZXMgYXJvdW5kIHRoZSBKSVQgKEp1c3QtSW4tVGltZSkgY29tcGlsYXRpb24sIEkgYXNzdW1lIHRoZSBwYXRjaCBpcyBsaWtlbHkgZGlyZWN0bHkgcmVsYXRlZCB0byBpbXByb3ZpbmcsIGZpeGluZywgb3IgZXh0ZW5kaW5nIHRoZSBCUEYgSklUIGNhcGFiaWxpdGllcy4gVGhpcyBpcyBjb25zaXN0ZW50IHdpdGggdGhlIG5lZWQgZm9yIHRoZSAqKmBCUEZfSklUYCoqIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGJlIGVuYWJsZWQgZm9yIGVmZmVjdGl2ZSB0ZXN0aW5nLiBJIGltbWVkaWF0ZWx5IHJlY2FsbCB0aGF0IHRoaXMgY29uZmlnIG9wdGlvbiBpbXBhY3RzIGhvdyB0aGUgQlBGIEpJVCBjb21waWxlciBpcyBlbmFibGVkIG9uIGEgZ2l2ZW4gc3lzdGVtLiBDb25zZXF1ZW50bHksIGlmIHRoZSBKSVQgZnVuY3Rpb25hbGl0eSBpcyB0aGUgZm9jdXMsIHZlcmlmeWluZyB0aGUgYEJQRl9KSVRgIGNvbmZpZyBpcyBlc3NlbnRpYWwgdG8gcmVwcm9kdWNpbmcgYW5kIHRlc3RpbmcgdGhlIHJlcG9ydGVkIGlzc3Vlcywgb3IgY29uZmlybWluZyBwZXJmb3JtYW5jZSBnYWlucy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMTE6Mzc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJQRl9KSVQmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7a2VybmVsL2JwZi9LY29uZmlnPTI3PWNvbmZpZyBCUEZfU1lTQ0FMTFxuLS1cbmtlcm5lbC9icGYvS2NvbmZpZy00MS1cbmtlcm5lbC9icGYvS2NvbmZpZzo0Mjpjb25maWcgQlBGX0pJVFxua2VybmVsL2JwZi9LY29uZmlnLTQzLVx0Ym9vbCBcJiMzNDtFbmFibGUgQlBGIEp1c3QgSW4gVGltZSBjb21waWxlclwmIzM0O1xuLS1cbmtlcm5lbC9icGYvS2NvbmZpZy01Ny1cbmtlcm5lbC9icGYvS2NvbmZpZzo1ODpjb25maWcgQlBGX0pJVF9BTFdBWVNfT05cbmtlcm5lbC9icGYvS2NvbmZpZy01OS1cdGJvb2wgXCYjMzQ7UGVybWFuZW50bHkgZW5hYmxlIEJQRiBKSVQgYW5kIHJlbW92ZSBCUEYgaW50ZXJwcmV0ZXJcJiMzNDtcbi0tXG5rZXJuZWwvYnBmL0tjb25maWctNjgtXG5rZXJuZWwvYnBmL0tjb25maWc6Njk6Y29uZmlnIEJQRl9KSVRfREVGQVVMVF9PTlxua2VybmVsL2JwZi9LY29uZmlnLTcwLVx0ZGVmX2Jvb2wgQVJDSF9XQU5UX0RFRkFVTFRfQlBGX0pJVCB8fCBCUEZfSklUX0FMV0FZU19PTlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMTozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1ODM4CgkJCQkJCQlvdXRwdXQ6IDEyOQoJCQkJCQkJdGhvdWdodHM6IDE2NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBCUEYgUGF0Y2gqKgoKT2theSwgc28gbG9va2luZyBhdCB0aGlzIHBhdGNoLCBteSBpbml0aWFsIHRob3VnaHQgaXMgdGhhdCBgQlBGX0pJVGAgaXMgZGVmaW5pdGVseSBhIGtleSBmYWN0b3IgaGVyZS4gVGhlIGNvcmUgb2YgdGhlIGNoYW5nZSBsaWVzIHdpdGhpbiBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLiBUaGVzZSBhcmUgY3JpdGljYWwgZnVuY3Rpb25zIGludm9sdmVkIGluIHRoZSB2ZXJ5IHByb2Nlc3Mgb2YgbG9hZGluZyBhbmQgdmVyaWZ5aW5nIEJQRiBwcm9ncmFtcy4KCkdpdmVuIHRoZSBuYXR1cmUgb2YgdGhlIGNoYW5nZSDigJMgc3BlY2lmaWNhbGx5LCB0aGUgYWRkZWQgbG9naWMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIEpJVCBjb21waWxhdGlvbiBpcyBlaXRoZXIgdW5hdmFpbGFibGUgb3IgZmFpbHMsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gdGhlIHJlamVjdGlvbiBvZiBwcm9ncmFtcyB0aGF0IHJlcXVpcmUgaXQgKGxpa2UgdGhvc2Ugd2l0aCBpbmxpbmVkIGhlbHBlciBjYWxscykg4oCTIHRoaXMgc2NyZWFtcyAmIzM0O2Z1enogbWUhJiMzNDsgdG8gbWUuIFRoaXMgaW50cm9kdWNlcyBhIG5ldyBjb2RlIHBhdGggd2l0aCBwb3RlbnRpYWxseSBzdWJ0bGUgZWRnZSBjYXNlcy4KClRoZXJlZm9yZSwgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCBhcmUgdGhlIGltbWVkaWF0ZSBmb2N1cyBzeW1ib2xzIEkmIzM5O2Qgd2FudCB0byB0YXJnZXQgZHVyaW5nIGZ1enppbmcuIEkmIzM5O2xsIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBmdXp6aW5nIGhhcm5lc3MgYXBwcm9wcmlhdGVseSB0ZXN0cyB0aGUgcHJvZ3JhbSBsb2FkaW5nLCB2ZXJpZmljYXRpb24sIGFuZCBKSVQgY29tcGlsYXRpb24gYXNwZWN0cy4gSSYjMzk7bGwgbmVlZCB0byBlbnN1cmUgdGhlIGZ1enppbmcgZW52aXJvbm1lbnQgZW5hYmxlcyBgQlBGX1NZU0NBTExgIGFuZCwgb2YgY291cnNlLCBgQlBGX0pJVGAuIFRoZXNlIGNvbmZpZ3VyYXRpb25zIGFyZSBlc3NlbnRpYWwgZm9yIGV4ZXJjaXNpbmcgdGhpcyBuZXcgbG9naWMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCUEZfU1lTQ0FMTCYjMzQ7LAogICAgJiMzNDtCUEZfSklUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnBmX2RvX21pc2NfZml4dXBzJiMzNDssCiAgICAmIzM0O19fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBsb2dpYyB0byByZWplY3QgQlBGIHByb2dyYW1zIGlmIHRoZXkgcmVxdWlyZSBKSVQgY29tcGlsYXRpb24gKGUuZy4sIGJlY2F1c2UgdGhlIEpJVCBpbmxpbmVzIGEgaGVscGVyIGNhbGwpIGJ1dCBKSVQgaXMgdW5hdmFpbGFibGUgb3IgZmFpbHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBCUEYgdmVyaWZpZXIvbG9hZGVyIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCUEZfU1lTQ0FMTCYjMzQ7LAogICAgJiMzNDtCUEZfSklUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnBmX2RvX21pc2NfZml4dXBzJiMzNDssCiAgICAmIzM0O19fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBsb2dpYyB0byByZWplY3QgQlBGIHByb2dyYW1zIGlmIHRoZXkgcmVxdWlyZSBKSVQgY29tcGlsYXRpb24gKGUuZy4sIGJlY2F1c2UgdGhlIEpJVCBpbmxpbmVzIGEgaGVscGVyIGNhbGwpIGJ1dCBKSVQgaXMgdW5hdmFpbGFibGUgb3IgZmFpbHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBCUEYgdmVyaWZpZXIvbG9hZGVyIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6MjUuMjU0MjE2MzQ3WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzM5NTA1MDAyMzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX1NZU0NBTExcIixcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfZG9fbWlzY19maXh1cHNcIixcbiAgICBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGxvZ2ljIHRvIHJlamVjdCBCUEYgcHJvZ3JhbXMgaWYgdGhleSByZXF1aXJlIEpJVCBjb21waWxhdGlvbiAoZS5nLiwgYmVjYXVzZSB0aGUgSklUIGlubGluZXMgYSBoZWxwZXIgY2FsbCkgYnV0IEpJVCBpcyB1bmF2YWlsYWJsZSBvciBmYWlscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIEJQRiB2ZXJpZmllci9sb2FkZXIgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDExOjM3OjI1LjI1NDIyNjYyN1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjI4ODUzOTY1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgYzA1ZmJlYTcxYmNjYWEyZjYxNzMxM2ZkZDcyNGI3MjMzNWMyN2RmOVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCAyIDExOjM3OjIzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYnBmLmggYi9pbmNsdWRlL2xpbnV4L2JwZi5oXFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLmY1YzI4M2FmM2NmNzg2IDEwMDY0NFxcbi0tLSBhL2luY2x1ZGUvbGludXgvYnBmLmhcXG4rKysgYi9pbmNsdWRlL2xpbnV4L2JwZi5oXFxuQEAgLTE4ODksNiArMTg4OSw3IEBAIHN0cnVjdCBicGZfcHJvZyB7XFxuIFxcdFxcdHU4IGRpZ2VzdFtTSEEyNTZfRElHRVNUX1NJWkVdO1xcbiBcXHRcXHR1OCB0YWdbQlBGX1RBR19TSVpFXTtcXG4gXFx0fTtcXG4rXFx0dThcXHRcXHRcXHRqaXRfcmVxdWlyZWQ7XFx0LyogcHJvZ3JhbSBzdHJpY3RseSByZXF1aXJlcyBKSVQgY29tcGlsZXIgKi9cXG4gXFx0c3RydWN0IGJwZl9wcm9nX3N0YXRzIF9fcGVyY3B1ICpzdGF0cztcXG4gXFx0dTggX19wZXJjcHVcXHRcXHQqYWN0aXZlO1xcdC8qIHU4W0JQRl9OUl9DT05URVhUU10gZm9yIHJlY3Vyc2lvbiBwcm90ZWN0aW9uICovXFxuIFxcdHVuc2lnbmVkIGludFxcdFxcdCgqYnBmX2Z1bmMpKGNvbnN0IHZvaWQgKmN0eCxcXG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9jb3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuY1xcbmluZGV4IDY0OWNjZTQxZTEzZjNiLi5hNTU3NTRiY2M1OTM1YSAxMDA2NDRcXG4tLS0gYS9rZXJuZWwvYnBmL2NvcmUuY1xcbisrKyBiL2tlcm5lbC9icGYvY29yZS5jXFxuQEAgLTI2MzksNyArMjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3RcXG4gXFxuIFxcdFxcdGZwID0gYnBmX3Byb2dfaml0X2NvbXBpbGUoZW52LCBmcCk7XFxuIFxcdFxcdGJwZl9wcm9nX2ppdF9hdHRlbXB0X2RvbmUoZnApO1xcbi1cXHRcXHRpZiAoIWZwLVxcdTAwM2VqaXRlZCBcXHUwMDI2XFx1MDAyNiBqaXRfbmVlZGVkKSB7XFxuK1xcdFxcdGlmICghZnAtXFx1MDAzZWppdGVkIFxcdTAwMjZcXHUwMDI2IChqaXRfbmVlZGVkIHx8IGZwLVxcdTAwM2VqaXRfcmVxdWlyZWQpKSB7XFxuIFxcdFxcdFxcdCplcnIgPSAtRU5PVFNVUFA7XFxuIFxcdFxcdFxcdHJldHVybiBmcDtcXG4gXFx0XFx0fVxcbmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2ZpeHVwcy5jIGIva2VybmVsL2JwZi9maXh1cHMuY1xcbmluZGV4IDEyYThhNGViNzU3ZjE4Li45NGUwNDU3YTBhYTMzYSAxMDA2NDRcXG4tLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jXFxuKysrIGIva2VybmVsL2JwZi9maXh1cHMuY1xcbkBAIC0xODQxLDggKzE4NDEsMTAgQEAgaW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxcbiBcXHRcXHR9XFxuIFxcbiBcXHRcXHQvKiBTa2lwIGlubGluaW5nIHRoZSBoZWxwZXIgY2FsbCBpZiB0aGUgSklUIGRvZXMgaXQuICovXFxuLVxcdFxcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cXHUwMDNlaW1tKSlcXG4rXFx0XFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVxcdTAwM2VpbW0pKSB7XFxuK1xcdFxcdFxcdHByb2ctXFx1MDAzZWppdF9yZXF1aXJlZCA9IDE7XFxuIFxcdFxcdFxcdGdvdG8gbmV4dF9pbnNuO1xcbitcXHRcXHR9XFxuIFxcbiBcXHRcXHRpZiAoaW5zbi1cXHUwMDNlaW1tID09IEJQRl9GVU5DX2dldF9yb3V0ZV9yZWFsbSlcXG4gXFx0XFx0XFx0cHJvZy1cXHUwMDNlZHN0X25lZWRlZCA9IDE7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDExOjM3OjI1Ljg4MzY1OTkwMVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzMzMjEwNDYyNjAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX1NZU0NBTExcIixcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfZG9fbWlzY19maXh1cHNcIixcbiAgICBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGxvZ2ljIHRvIHJlamVjdCBCUEYgcHJvZ3JhbXMgaWYgdGhleSByZXF1aXJlIEpJVCBjb21waWxhdGlvbiAoZS5nLiwgYmVjYXVzZSB0aGUgSklUIGlubGluZXMgYSBoZWxwZXIgY2FsbCkgYnV0IEpJVCBpcyB1bmF2YWlsYWJsZSBvciBmYWlscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIEJQRiB2ZXJpZmllci9sb2FkZXIgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgYzA1ZmJlYTcxYmNjYWEyZjYxNzMxM2ZkZDcyNGI3MjMzNWMyN2RmOVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgSnVsIDIgMTE6Mzc6MjMgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JwZi5oIGIvaW5jbHVkZS9saW51eC9icGYuaFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLmY1YzI4M2FmM2NmNzg2IDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9icGYuaFxuKysrIGIvaW5jbHVkZS9saW51eC9icGYuaFxuQEAgLTE4ODksNiArMTg4OSw3IEBAIHN0cnVjdCBicGZfcHJvZyB7XG4gXHRcdHU4IGRpZ2VzdFtTSEEyNTZfRElHRVNUX1NJWkVdO1xuIFx0XHR1OCB0YWdbQlBGX1RBR19TSVpFXTtcbiBcdH07XG4rXHR1OFx0XHRcdGppdF9yZXF1aXJlZDtcdC8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovXG4gXHRzdHJ1Y3QgYnBmX3Byb2dfc3RhdHMgX19wZXJjcHUgKnN0YXRzO1xuIFx0dTggX19wZXJjcHVcdFx0KmFjdGl2ZTtcdC8qIHU4W0JQRl9OUl9DT05URVhUU10gZm9yIHJlY3Vyc2lvbiBwcm90ZWN0aW9uICovXG4gXHR1bnNpZ25lZCBpbnRcdFx0KCpicGZfZnVuYykoY29uc3Qgdm9pZCAqY3R4LFxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvY29yZS5jIGIva2VybmVsL2JwZi9jb3JlLmNcbmluZGV4IDY0OWNjZTQxZTEzZjNiLi5hNTU3NTRiY2M1OTM1YSAxMDA2NDRcbi0tLSBhL2tlcm5lbC9icGYvY29yZS5jXG4rKysgYi9rZXJuZWwvYnBmL2NvcmUuY1xuQEAgLTI2MzksNyArMjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3RcbiBcbiBcdFx0ZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTtcbiBcdFx0YnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7XG4tXHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IGppdF9uZWVkZWQpIHtcbitcdFx0aWYgKCFmcC1cdTAwM2VqaXRlZCBcdTAwMjZcdTAwMjYgKGppdF9uZWVkZWQgfHwgZnAtXHUwMDNlaml0X3JlcXVpcmVkKSkge1xuIFx0XHRcdCplcnIgPSAtRU5PVFNVUFA7XG4gXHRcdFx0cmV0dXJuIGZwO1xuIFx0XHR9XG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9maXh1cHMuYyBiL2tlcm5lbC9icGYvZml4dXBzLmNcbmluZGV4IDEyYThhNGViNzU3ZjE4Li45NGUwNDU3YTBhYTMzYSAxMDA2NDRcbi0tLSBhL2tlcm5lbC9icGYvZml4dXBzLmNcbisrKyBiL2tlcm5lbC9icGYvZml4dXBzLmNcbkBAIC0xODQxLDggKzE4NDEsMTAgQEAgaW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxuIFx0XHR9XG4gXG4gXHRcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cbi1cdFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVx1MDAzZWltbSkpXG4rXHRcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cdTAwM2VpbW0pKSB7XG4rXHRcdFx0cHJvZy1cdTAwM2VqaXRfcmVxdWlyZWQgPSAxO1xuIFx0XHRcdGdvdG8gbmV4dF9pbnNuO1xuK1x0XHR9XG4gXG4gXHRcdGlmIChpbnNuLVx1MDAzZWltbSA9PSBCUEZfRlVOQ19nZXRfcm91dGVfcmVhbG0pXG4gXHRcdFx0cHJvZy1cdTAwM2Vkc3RfbmVlZGVkID0gMTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDExOjM3OjI1Ljg4MzY2MTUyMVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQyMTcwNDE4NjYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBCUEYgQ29yZSBNb2RpZmljYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIG1vZGlmeWluZyB0aGUgQlBGIGNvcmUuIEl0IHNlZW1zIHRoZXkndmUgYWRkZWQgYSBgaml0X3JlcXVpcmVkYCBmbGFnIHRvIHRoZSBgc3RydWN0IGJwZl9wcm9nYCBzdHJ1Y3R1cmUuIEludHVpdGl2ZWx5LCB0aGlzIHN1Z2dlc3RzIHRoZXkncmUgdHJ5aW5nIHRvIGNvbnRyb2wgSklUIGNvbXBpbGF0aW9uIGluIGEgbW9yZSBncmFudWxhciB3YXkuXG5cbkZyb20gd2hhdCBJIGNhbiB0ZWxsLCBgYnBmX2RvX21pc2NfZml4dXBzYCBpcyB3aGVyZSB0aGlzIGZsYWcgZ2V0cyBzZXQuIElmIGEgcGFydGljdWxhciBoZWxwZXIgY2FsbCBpbnN0cnVjdGlvbiAoYGluc24tXHUwMDNlaW1tYCkgcmVxdWlyZXMgaW5saW5pbmcgYWNjb3JkaW5nIHRvIGBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxgLCB0aGVuIHRoZSBgcHJvZy1cdTAwM2VqaXRfcmVxdWlyZWRgIGZsYWcgaXMgc2V0IHRvIDEuIFRoaXMgaXMgZmFpcmx5IHN0YW5kYXJkOyBoZWxwZXIgaW5saW5pbmcgb2Z0ZW4gbmVjZXNzaXRhdGVzIEpJVC5cblxuTm93LCBpbiBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAsIHRoaXMgZmxhZyBjb21lcyBpbnRvIHBsYXkuIElmIHRoZSBwcm9ncmFtIGlzbid0IGFscmVhZHkgSklUJ2QgKGAhZnAtXHUwMDNlaml0ZWRgKSBhbmQgZWl0aGVyIEpJVCBjb21waWxhdGlvbiBpcyBuZWVkZWQgZXhwbGljaXRseSB0aHJvdWdoIGBqaXRfbmVlZGVkYCBPUiB0aGUgYGppdF9yZXF1aXJlZGAgZmxhZyBpcyBzZXQsIHRoZSBmdW5jdGlvbiByZXR1cm5zIGAtRU5PVFNVUFBgLiBUaGlzIGltcGxpZXMgYSBoYXJkIGZhaWx1cmUuIFRoZSBpbXBsaWNhdGlvbiBpcywgaWYgdGhlIEpJVCBpcyBtYW5kYXRvcnkgYW5kIG5vdCBhdmFpbGFibGUsIHRoZSBwcm9ncmFtIHdpbGwgbm90IHJ1bi4gVGhpcyBpcyBhIGJpdCByaWdpZCwgYnV0IGl0IG1pZ2h0IGJlIG5lY2Vzc2FyeSBmb3IgY2VydGFpbiBzZWN1cml0eSBjb250ZXh0cywgb3IgZm9yIHByb2dyYW1zIHJlbHlpbmcgb24gc3BlY2lmaWMgSklUIG9wdGltaXphdGlvbnMuXG5cbk15IG5leHQgc3RlcCBpcyB0byBleGFtaW5lIHRoZSBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsYCBmdW5jdGlvbi4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBjcml0ZXJpYSB0cmlnZ2VyIHRoaXMgaGVscGVyIGlubGluaW5nLCBhcyB0aGF0IHdpbGwgYmUga2V5IHRvIHVuZGVyc3RhbmRpbmcgdGhlIGZ1bGwgaW1wbGljYXRpb25zIG9mIHRoaXMgY2hhbmdlLiBJcyB0aGlzIGFib3V0IHBlcmZvcm1hbmNlLCBzZWN1cml0eSwgb3Igc29tZXRoaW5nIGVsc2UgZW50aXJlbHk/IFRoZSB0eXBlcyBvZiBoZWxwZXIgZnVuY3Rpb25zIHRoYXQgdHJpZ2dlciB0aGlzIGlubGluaW5nIHdpbGwgcHJvdmlkZSB0aGUgYW5zd2VyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMzE5LCJPdXRwdXRUb2tlbnMiOjI1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTMyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6MzAuMTAwNzA1NDA3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM4MDU2NTY0NjgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jPTMyMDE9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpXFxuLS1cXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA1LVxcbmFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jOjMyMDY6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA3LXtcXG4tLVxcbmFyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wLmM9NTcyPWJvb2wgYnBmX2ppdF9zdXBwb3J0c19wZXJjcHVfaW5zbih2b2lkKVxcbi0tXFxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYy01NzYtXFxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYzo1Nzc6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jLTU3OC17XFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jPTIxMzk9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3BlcmNwdV9pbnNuKHZvaWQpXFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTIxNDMtXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoyMTQ0OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0yMTQ1LXtcXG4tLVxcbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmM9MzA4MT1ib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcXG4tLVxcbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMtMzA4NS1cXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jOjMwODY6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jLTMwODcte1xcbi0tXFxuaW5jbHVkZS9saW51eC9maWx0ZXIuaD0xMTc5PWJvb2wgYnBmX2ppdF9uZWVkc196ZXh0KHZvaWQpO1xcbmluY2x1ZGUvbGludXgvZmlsdGVyLmg6MTE4MDpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKTtcXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExODEtYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpO1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MzIwOT1ib29sIF9fd2VhayBicGZfaml0X2J5cGFzc19zcGVjX3Y0KHZvaWQpXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjE5LSAqL1xcbmtlcm5lbC9icGYvY29yZS5jOjMyMjA6Ym9vbCBfX3dlYWsgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxua2VybmVsL2JwZi9jb3JlLmMtMzIyMS17XFxuLS1cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTE0ODE9aW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxcbi0tXFxua2VybmVsL2JwZi9maXh1cHMuYy0xODQzLVxcdFxcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jOjE4NDQ6XFx0XFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVxcdTAwM2VpbW0pKSB7XFxua2VybmVsL2JwZi9maXh1cHMuYy0xODQ1LVxcdFxcdFxcdHByb2ctXFx1MDAzZWppdF9yZXF1aXJlZCA9IDE7XFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM9MTY2ODM9Ym9vbCBicGZfZ2V0X2NhbGxfc3VtbWFyeShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX2luc24gKmNhbGwsXFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMTY2OTYtXFx0XFx0XFx0ICAgICAgIChicGZfdmVyaWZpZXJfaW5saW5lc19oZWxwZXJfY2FsbChlbnYsIGNhbGwtXFx1MDAzZWltbSkgfHxcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTY2OTc6XFx0XFx0XFx0XFx0YnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGNhbGwtXFx1MDAzZWltbSkpO1xcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0xNjY5OC1cXHRcXHRjcy1cXHUwMDNlaXNfdm9pZCA9IGZuLVxcdTAwM2VyZXRfdHlwZSA9PSBSRVRfVk9JRDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6MzMuOTA2MzY5MDI1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzc2MzYxODU5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBCUEYgU2VjdXJpdHkgUGF0Y2gqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHRvdWNoaW5nIHNvbWUgcHJldHR5IGNyaXRpY2FsIEJQRiBpbnRlcm5hbHMg4oCTIHNwZWNpZmljYWxseSwgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC4gVGhlc2UgYXJlIGZvdW5kYXRpb25hbCBmdW5jdGlvbnMuIFdoYXQgaXQncyBkb2luZywgZXNzZW50aWFsbHksIGlzIGFkZGluZyBsb2dpYyB0byAqcmVqZWN0KiBCUEYgcHJvZ3JhbXMgaWYgdGhleSAqbmVlZCogSklUIGNvbXBpbGF0aW9uIGJ1dCBjYW4ndCBnZXQgaXQsIGVpdGhlciBiZWNhdXNlIEpJVCBpc24ndCBlbmFibGVkIG9yIGJlY2F1c2UgaXQncyBmYWlsZWQuIFRoYXQncyBhIGNsYXNzaWMgZGVmZW5zZS1pbi1kZXB0aCBhcHByb2FjaCwgcHJldmVudGluZyBwb3RlbnRpYWxseSB1bnNhZmUgcHJvZ3JhbXMgZnJvbSBleGVjdXRpbmcgaWYgYSBjcml0aWNhbCBjb21wb25lbnQgaXMgbWlzc2luZy5cblxuVGhpcyBpcyBpbW1lZGlhdGVseSBzY3JlYW1pbmcgXCJmdXp6aW5nIHRhcmdldFwiIHRvIG1lLiBBbnkgbG9naWMgY2hhbmdlIGluIGEgc2VjdXJpdHktc2Vuc2l0aXZlIGFyZWEgbGlrZSB0aGlzIGRlc2VydmVzIGEgdGhvcm91Z2ggZnV6emluZyBjYW1wYWlnbiB0byBpZGVudGlmeSBlZGdlIGNhc2VzLCBwb3RlbnRpYWwgYnlwYXNzZXMsIG9yIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG5cbkkgbmVlZCB0byBmb2N1cyBteSBmdXp6aW5nIGVmZm9ydHMgb24gdGhvc2UgdHdvIGNvcmUgc3ltYm9sczogYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC4gVGhleSBhcmUgdGhlIGdhdGVrZWVwZXJzIGhlcmUuXG5cbkxldCBtZSBhbHNvIHZlcmlmeSB0aGUgYEJQRl9TWVNDQUxMYCBjb25maWcgaXMgcmVsZXZhbnQgaGVyZSwgZ2l2ZW4gdGhlIHN5c2NhbGwgaW50ZXJmYWNlIGlzIGtleSB0byBCUEYncyBvcGVyYXRpb24uIEkgc2hvdWxkIGFsc28gY2hlY2sgaWYgYW55IG90aGVyIGNvbmZpZ3MgbWlnaHQgaW5kaXJlY3RseSBpbmZsdWVuY2UgdGhpcyBjb2RlIHBhdGggb3IgaXRzIGJlaGF2aW9yLiBJIG5lZWQgdG8gbWFrZSBzdXJlIEkgaGF2ZSBhIGNvbXBsZXRlIHBpY3R1cmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM4NDMsIk91dHB1dFRva2VucyI6MjMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6MzcuNjY5OTkwODIyWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI5MzA3MTgwMjMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiX19icGZfcHJvZ19zZWxlY3RfcnVudGltZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJpbmNsdWRlL2xpbnV4L2ZpbHRlci5oPTExMjg9c2tfZmlsdGVyX3JlYXNvbihzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpXFxuLS1cXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzItXFxuaW5jbHVkZS9saW51eC9maWx0ZXIuaDoxMTMzOnN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX3Byb2cgKmZwLFxcbmluY2x1ZGUvbGludXgvZmlsdGVyLmgtMTEzNC1cXHRcXHRcXHRcXHRcXHQgICBpbnQgKmVycik7XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0yNTY0PXN0YXRpYyBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX2ppdF9jb21waWxlKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqcHJvZylcXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jLTI2MTAtXFxua2VybmVsL2JwZi9jb3JlLmM6MjYxMTpzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpmcCxcXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjEyLVxcdFxcdFxcdFxcdFxcdCAgIGludCAqZXJyKVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MjY3OD1zdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfcHJvZyAqZnAsIGludCAqZXJyKVxcbmtlcm5lbC9icGYvY29yZS5jLTI2Nzkte1xcbmtlcm5lbC9icGYvY29yZS5jOjI2ODA6XFx0cmV0dXJuIF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoTlVMTCwgZnAsIGVycik7XFxua2VybmVsL2JwZi9jb3JlLmMtMjY4MS19XFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM9MTk3NDM9aW50IGJwZl9jaGVjayhzdHJ1Y3QgYnBmX3Byb2cgKipwcm9nLCB1bmlvbiBicGZfYXR0ciAqYXR0ciwgYnBmcHRyX3QgdWF0dHIsXFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMjAwMDctXFxua2VybmVsL2JwZi92ZXJpZmllci5jOjIwMDA4OlxcdGVudi1cXHUwMDNlcHJvZyA9IF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoZW52LCBlbnYtXFx1MDAzZXByb2csIFxcdTAwMjZyZXQpO1xcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0yMDAwOS1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6NDAuNjAwNzE4NDc1WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzYzNjM3MjIzMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJJ20gdGhpbmtpbmcgdGhyb3VnaCB0aGlzIHByb2Nlc3M6XG5cbioqSW52ZXN0aWdhdGluZyBCUEYgUnVudGltZSBTZWxlY3Rpb24qKlxuXG5Pa2F5LCBzbyBJJ20gZGlnZ2luZyBpbnRvIGhvdyB0aGUgQlBGIHJ1bnRpbWUgaXMgc2VsZWN0ZWQuIEkgcmVtZW1iZXIgc2VlaW5nIGBicGZfZG9fbWlzY19maXh1cHNgIGFuZCB0aGF0IGZ1bmN0aW9uJ3MgaW4gYGtlcm5lbC9icGYvZml4dXBzLmNgLiBUaGF0IG1ha2VzIHNlbnNlOyBpdCdzIGxpa2VseSBpbnZvbHZlZCBpbiBzZXR0aW5nIHVwIHRoZSBCUEYgZW52aXJvbm1lbnQuIFRoZW4gdGhlcmUncyBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAsIHdoaWNoIEkgc2VlbSB0byByZWNhbGwgaXMgaW4gYGtlcm5lbC9icGYvY29yZS5jYC4gQWgsIHllcywgdGhlIGNvcmUgbG9naWMgc2hvdWxkIGJlIGluIGBjb3JlLmNgLlxuXG5Ob3csIHRoZSBxdWVzdGlvbiBpcywgaG93IHNpbXBsZSBpcyB0aGUgY29uZmlndXJhdGlvbiBoZXJlPyBJcyBpdCBhcyBzdHJhaWdodGZvcndhcmQgYXMganVzdCBlbmFibGluZyBgQlBGX1NZU0NBTExgPyBUaGF0IHdvdWxkIGJlIG5pY2UuIEkgbmVlZCB0byB2ZXJpZnkgaWYgdGhhdCdzIHRoZSBvbmx5IGNvbmZpZyBmbGFnIEkgbmVlZCB0byBiZSBhd2FyZSBvZiB3aGVuIGNvbnNpZGVyaW5nIHRoZSBydW50aW1lIHNlbGVjdGlvbi4gVGhhdCdzIHdoZXJlIEkgc2hvdWxkIHN0YXJ0LiBMZXQncyBzZWUgaWYgdGhhdCdzIHRoZSBzb2xlIGRlcGVuZGVuY3kuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3NTgsIk91dHB1dFRva2VucyI6MjEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMTozNzo0NC4yMzcwOTMyMTdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjgxNjk0OTAwNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQlBGX1NZU0NBTExcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwia2VybmVsL2JwZi9LY29uZmlnPTI1PW1lbnUgXFxcIkJQRiBzdWJzeXN0ZW1cXFwiXFxua2VybmVsL2JwZi9LY29uZmlnLTI2LVxcbmtlcm5lbC9icGYvS2NvbmZpZzoyNzpjb25maWcgQlBGX1NZU0NBTExcXG5rZXJuZWwvYnBmL0tjb25maWctMjgtXFx0Ym9vbCBcXFwiRW5hYmxlIGJwZigpIHN5c3RlbSBjYWxsXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMTozNzo0Ny4wNTQwNDg0NzNaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzQzMDc4MDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYW5hbHlzaXMgb2YgdGhlIHByb3ZpZGVkIGluZm9ybWF0aW9uLCBhcyBpZiB0aGVzZSBhcmUgbXkgaW1tZWRpYXRlIHRob3VnaHRzOlxuXG4qKkRpc3NlY3RpbmcgVGhpcyBCUEYgSklUIENvbnRleHQqKlxuXG5Pa2F5LCBzbyB3ZSdyZSBwcmltYXJpbHkgZm9jdXNlZCBvbiB0aGUgKipgQlBGX1NZU0NBTExgKiogYXNwZWN0IG9mIHRoaXMuIFRoYXQncyB0aGUgY29yZSBzeXN0ZW0gY2FsbCBpbnRlcmZhY2UsIG5hdHVyYWxseS4gQnV0LCBob2xkIG9uLi4udGhpcyBpcyBtb3JlIG51YW5jZWQgdGhhbiBpdCBpbml0aWFsbHkgYXBwZWFycy4gTXkgbWVudGFsIG1hcCBmbGFncyB0aGF0ICoqYGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbGAqKiBpcyBhY3R1YWxseSBpbXBsZW1lbnRlZCBhY3Jvc3MgKm11bHRpcGxlKiBhcmNoaXRlY3R1cmVzOiBgYXJtNjRgLCBgcG93ZXJwY2AsIGByaXNjdmAsIGFuZCBgczM5MGAuIEEgcXVpY2sgZG91YmxlLWNoZWNrIHJldmVhbHMgYSB3ZWFrIGltcGxlbWVudGF0aW9uIHdpdGhpbiBga2VybmVsL2JwZi9jb3JlLmNgIGFzIHdlbGwuIFRoYXTigJlzIHNvbWV0aGluZyBJIG5lZWQgdG8ga2VlcCBpbiBtaW5kOyB0aGUgc3BlY2lmaWNzIG1pZ2h0IHZhcnkgY29uc2lkZXJhYmx5IGJhc2VkIG9uIHRoZSB0YXJnZXQgYXJjaGl0ZWN0dXJlLlxuXG5HaXZlbiB0aGF0IHRoZSBjb250ZXh0IHJldm9sdmVzIGFyb3VuZCB0aGUgSklUIChKdXN0LUluLVRpbWUpIGNvbXBpbGF0aW9uLCBJIGFzc3VtZSB0aGUgcGF0Y2ggaXMgbGlrZWx5IGRpcmVjdGx5IHJlbGF0ZWQgdG8gaW1wcm92aW5nLCBmaXhpbmcsIG9yIGV4dGVuZGluZyB0aGUgQlBGIEpJVCBjYXBhYmlsaXRpZXMuIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBuZWVkIGZvciB0aGUgKipgQlBGX0pJVGAqKiBjb25maWd1cmF0aW9uIG9wdGlvbiB0byBiZSBlbmFibGVkIGZvciBlZmZlY3RpdmUgdGVzdGluZy4gSSBpbW1lZGlhdGVseSByZWNhbGwgdGhhdCB0aGlzIGNvbmZpZyBvcHRpb24gaW1wYWN0cyBob3cgdGhlIEJQRiBKSVQgY29tcGlsZXIgaXMgZW5hYmxlZCBvbiBhIGdpdmVuIHN5c3RlbS4gQ29uc2VxdWVudGx5LCBpZiB0aGUgSklUIGZ1bmN0aW9uYWxpdHkgaXMgdGhlIGZvY3VzLCB2ZXJpZnlpbmcgdGhlIGBCUEZfSklUYCBjb25maWcgaXMgZXNzZW50aWFsIHRvIHJlcHJvZHVjaW5nIGFuZCB0ZXN0aW5nIHRoZSByZXBvcnRlZCBpc3N1ZXMsIG9yIGNvbmZpcm1pbmcgcGVyZm9ybWFuY2UgZ2FpbnMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUxNDcsIk91dHB1dFRva2VucyI6MjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNDcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6NTEuMzk3MTI4NTY0WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyODI1NDA5ODU1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBCUEZfSklUXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImtlcm5lbC9icGYvS2NvbmZpZz0yNz1jb25maWcgQlBGX1NZU0NBTExcXG4tLVxcbmtlcm5lbC9icGYvS2NvbmZpZy00MS1cXG5rZXJuZWwvYnBmL0tjb25maWc6NDI6Y29uZmlnIEJQRl9KSVRcXG5rZXJuZWwvYnBmL0tjb25maWctNDMtXFx0Ym9vbCBcXFwiRW5hYmxlIEJQRiBKdXN0IEluIFRpbWUgY29tcGlsZXJcXFwiXFxuLS1cXG5rZXJuZWwvYnBmL0tjb25maWctNTctXFxua2VybmVsL2JwZi9LY29uZmlnOjU4OmNvbmZpZyBCUEZfSklUX0FMV0FZU19PTlxcbmtlcm5lbC9icGYvS2NvbmZpZy01OS1cXHRib29sIFxcXCJQZXJtYW5lbnRseSBlbmFibGUgQlBGIEpJVCBhbmQgcmVtb3ZlIEJQRiBpbnRlcnByZXRlclxcXCJcXG4tLVxcbmtlcm5lbC9icGYvS2NvbmZpZy02OC1cXG5rZXJuZWwvYnBmL0tjb25maWc6Njk6Y29uZmlnIEJQRl9KSVRfREVGQVVMVF9PTlxcbmtlcm5lbC9icGYvS2NvbmZpZy03MC1cXHRkZWZfYm9vbCBBUkNIX1dBTlRfREVGQVVMVF9CUEZfSklUIHx8IEJQRl9KSVRfQUxXQVlTX09OXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDExOjM3OjU0LjIyMjU0OTM1OFoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0ODM0ODAzNjIzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIEJQRiBQYXRjaCoqXG5cbk9rYXksIHNvIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCwgbXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgYEJQRl9KSVRgIGlzIGRlZmluaXRlbHkgYSBrZXkgZmFjdG9yIGhlcmUuIFRoZSBjb3JlIG9mIHRoZSBjaGFuZ2UgbGllcyB3aXRoaW4gYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC4gVGhlc2UgYXJlIGNyaXRpY2FsIGZ1bmN0aW9ucyBpbnZvbHZlZCBpbiB0aGUgdmVyeSBwcm9jZXNzIG9mIGxvYWRpbmcgYW5kIHZlcmlmeWluZyBCUEYgcHJvZ3JhbXMuXG5cbkdpdmVuIHRoZSBuYXR1cmUgb2YgdGhlIGNoYW5nZSDigJMgc3BlY2lmaWNhbGx5LCB0aGUgYWRkZWQgbG9naWMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIEpJVCBjb21waWxhdGlvbiBpcyBlaXRoZXIgdW5hdmFpbGFibGUgb3IgZmFpbHMsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gdGhlIHJlamVjdGlvbiBvZiBwcm9ncmFtcyB0aGF0IHJlcXVpcmUgaXQgKGxpa2UgdGhvc2Ugd2l0aCBpbmxpbmVkIGhlbHBlciBjYWxscykg4oCTIHRoaXMgc2NyZWFtcyBcImZ1enogbWUhXCIgdG8gbWUuIFRoaXMgaW50cm9kdWNlcyBhIG5ldyBjb2RlIHBhdGggd2l0aCBwb3RlbnRpYWxseSBzdWJ0bGUgZWRnZSBjYXNlcy5cblxuVGhlcmVmb3JlLCBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgIGFyZSB0aGUgaW1tZWRpYXRlIGZvY3VzIHN5bWJvbHMgSSdkIHdhbnQgdG8gdGFyZ2V0IGR1cmluZyBmdXp6aW5nLiBJJ2xsIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBmdXp6aW5nIGhhcm5lc3MgYXBwcm9wcmlhdGVseSB0ZXN0cyB0aGUgcHJvZ3JhbSBsb2FkaW5nLCB2ZXJpZmljYXRpb24sIGFuZCBKSVQgY29tcGlsYXRpb24gYXNwZWN0cy4gSSdsbCBuZWVkIHRvIGVuc3VyZSB0aGUgZnV6emluZyBlbnZpcm9ubWVudCBlbmFibGVzIGBCUEZfU1lTQ0FMTGAgYW5kLCBvZiBjb3Vyc2UsIGBCUEZfSklUYC4gVGhlc2UgY29uZmlndXJhdGlvbnMgYXJlIGVzc2VudGlhbCBmb3IgZXhlcmNpc2luZyB0aGlzIG5ldyBsb2dpYy5cblxuXG4iLCJJbnB1dFRva2VucyI6NTgzOCwiT3V0cHV0VG9rZW5zIjoxMjksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6NTkuMDU3MzU2MDgxWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ3MzQ1NDIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfU1lTQ0FMTFwiLFxuICAgIFwiQlBGX0pJVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9kb19taXNjX2ZpeHVwc1wiLFxuICAgIFwiX19icGZfcHJvZ19zZWxlY3RfcnVudGltZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgbG9naWMgdG8gcmVqZWN0IEJQRiBwcm9ncmFtcyBpZiB0aGV5IHJlcXVpcmUgSklUIGNvbXBpbGF0aW9uIChlLmcuLCBiZWNhdXNlIHRoZSBKSVQgaW5saW5lcyBhIGhlbHBlciBjYWxsKSBidXQgSklUIGlzIHVuYXZhaWxhYmxlIG9yIGZhaWxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgQlBGIHZlcmlmaWVyL2xvYWRlciBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfU1lTQ0FMTFwiLFxuICAgIFwiQlBGX0pJVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9kb19taXNjX2ZpeHVwc1wiLFxuICAgIFwiX19icGZfcHJvZ19zZWxlY3RfcnVudGltZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgbG9naWMgdG8gcmVqZWN0IEJQRiBwcm9ncmFtcyBpZiB0aGV5IHJlcXVpcmUgSklUIGNvbXBpbGF0aW9uIChlLmcuLCBiZWNhdXNlIHRoZSBKSVQgaW5saW5lcyBhIGhlbHBlciBjYWxsKSBidXQgSklUIGlzIHVuYXZhaWxhYmxlIG9yIGZhaWxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgQlBGIHZlcmlmaWVyL2xvYWRlciBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowgg7h9[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-02 11:21:16 +0000 UTC FinishedAt: 2026-07-02 11:38:00 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "0b58988cacfc91604c4b5be2c3295f8aac0ee3d0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_SYSCALL", "BPF_JIT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "bpf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git", "commit_hash": "0b58988cacfc91604c4b5be2c3295f8aac0ee3d0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BPF_SYSCALL", "BPF_JIT" ], "series_id": "ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8" }, "track": "KASAN", "fuzz": { "focus": [ "bpf" ], "focus_symbols": [ "bpf_do_misc_fixups", "__bpf_prog_select_runtime" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-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+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9TWVNDQUxMJiMzNDssCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfZG9fbWlzY19maXh1cHMmIzM0OywKICAgICYjMzQ7X19icGZfcHJvZ19zZWxlY3RfcnVudGltZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGxvZ2ljIHRvIHJlamVjdCBCUEYgcHJvZ3JhbXMgaWYgdGhleSByZXF1aXJlIEpJVCBjb21waWxhdGlvbiAoZS5nLiwgYmVjYXVzZSB0aGUgSklUIGlubGluZXMgYSBoZWxwZXIgY2FsbCkgYnV0IEpJVCBpcyB1bmF2YWlsYWJsZSBvciBmYWlscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIEJQRiB2ZXJpZmllci9sb2FkZXIgYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMTE6Mzc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBjMDVmYmVhNzFiY2NhYTJmNjE3MzEzZmRkNzI0YjcyMzM1YzI3ZGY5XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMiAxMTozNzoyMyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JwZi5oIGIvaW5jbHVkZS9saW51eC9icGYuaFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLmY1YzI4M2FmM2NmNzg2IDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9icGYuaFxuJiM0MzsmIzQzOyYjNDM7IGIvaW5jbHVkZS9saW51eC9icGYuaFxuQEAgLTE4ODksNiAmIzQzOzE4ODksNyBAQCBzdHJ1Y3QgYnBmX3Byb2cge1xuIFx0XHR1OCBkaWdlc3RbU0hBMjU2X0RJR0VTVF9TSVpFXTtcbiBcdFx0dTggdGFnW0JQRl9UQUdfU0laRV07XG4gXHR9O1xuJiM0MztcdHU4XHRcdFx0aml0X3JlcXVpcmVkO1x0LyogcHJvZ3JhbSBzdHJpY3RseSByZXF1aXJlcyBKSVQgY29tcGlsZXIgKi9cbiBcdHN0cnVjdCBicGZfcHJvZ19zdGF0cyBfX3BlcmNwdSAqc3RhdHM7XG4gXHR1OCBfX3BlcmNwdVx0XHQqYWN0aXZlO1x0LyogdThbQlBGX05SX0NPTlRFWFRTXSBmb3IgcmVjdXJzaW9uIHByb3RlY3Rpb24gKi9cbiBcdHVuc2lnbmVkIGludFx0XHQoKmJwZl9mdW5jKShjb25zdCB2b2lkICpjdHgsXG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9jb3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuY1xuaW5kZXggNjQ5Y2NlNDFlMTNmM2IuLmE1NTc1NGJjYzU5MzVhIDEwMDY0NFxuLS0tIGEva2VybmVsL2JwZi9jb3JlLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2tlcm5lbC9icGYvY29yZS5jXG5AQCAtMjYzOSw3ICYjNDM7MjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3RcbiBcbiBcdFx0ZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTtcbiBcdFx0YnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7XG4tXHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IGppdF9uZWVkZWQpIHtcbiYjNDM7XHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IChqaXRfbmVlZGVkIHx8IGZwLVx1MDAzZWppdF9yZXF1aXJlZCkpIHtcbiBcdFx0XHQqZXJyID0gLUVOT1RTVVBQO1xuIFx0XHRcdHJldHVybiBmcDtcbiBcdFx0fVxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvZml4dXBzLmMgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5pbmRleCAxMmE4YTRlYjc1N2YxOC4uOTRlMDQ1N2EwYWEzM2EgMTAwNjQ0XG4tLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9rZXJuZWwvYnBmL2ZpeHVwcy5jXG5AQCAtMTg0MSw4ICYjNDM7MTg0MSwxMCBAQCBpbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpXG4gXHRcdH1cbiBcbiBcdFx0LyogU2tpcCBpbmxpbmluZyB0aGUgaGVscGVyIGNhbGwgaWYgdGhlIEpJVCBkb2VzIGl0LiAqL1xuLVx0XHRpZiAoYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGluc24tXHUwMDNlaW1tKSlcbiYjNDM7XHRcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cdTAwM2VpbW0pKSB7XG4mIzQzO1x0XHRcdHByb2ctXHUwMDNlaml0X3JlcXVpcmVkID0gMTtcbiBcdFx0XHRnb3RvIG5leHRfaW5zbjtcbiYjNDM7XHRcdH1cbiBcbiBcdFx0aWYgKGluc24tXHUwMDNlaW1tID09IEJQRl9GVU5DX2dldF9yb3V0ZV9yZWFsbSlcbiBcdFx0XHRwcm9nLVx1MDAzZWRzdF9uZWVkZWQgPSAxO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JQRl9TWVNDQUxMJiMzNDssCiAgICAmIzM0O0JQRl9KSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDticGZfZG9fbWlzY19maXh1cHMmIzM0OywKICAgICYjMzQ7X19icGZfcHJvZ19zZWxlY3RfcnVudGltZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGxvZ2ljIHRvIHJlamVjdCBCUEYgcHJvZ3JhbXMgaWYgdGhleSByZXF1aXJlIEpJVCBjb21waWxhdGlvbiAoZS5nLiwgYmVjYXVzZSB0aGUgSklUIGlubGluZXMgYSBoZWxwZXIgY2FsbCkgYnV0IEpJVCBpcyB1bmF2YWlsYWJsZSBvciBmYWlscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIEJQRiB2ZXJpZmllci9sb2FkZXIgYW5kIHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGMwNWZiZWE3MWJjY2FhMmY2MTczMTNmZGQ3MjRiNzIzMzVjMjdkZjkKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVGh1IEp1bCAyIDExOjM3OjIzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9icGYuaCBiL2luY2x1ZGUvbGludXgvYnBmLmgKaW5kZXggYmEwOTc5NWUwYmZkYjcuLmY1YzI4M2FmM2NmNzg2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2JwZi5oCiYjNDM7JiM0MzsmIzQzOyBiL2luY2x1ZGUvbGludXgvYnBmLmgKQEAgLTE4ODksNiAmIzQzOzE4ODksNyBAQCBzdHJ1Y3QgYnBmX3Byb2cgewogCQl1OCBkaWdlc3RbU0hBMjU2X0RJR0VTVF9TSVpFXTsKIAkJdTggdGFnW0JQRl9UQUdfU0laRV07CiAJfTsKJiM0MzsJdTgJCQlqaXRfcmVxdWlyZWQ7CS8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovCiAJc3RydWN0IGJwZl9wcm9nX3N0YXRzIF9fcGVyY3B1ICpzdGF0czsKIAl1OCBfX3BlcmNwdQkJKmFjdGl2ZTsJLyogdThbQlBGX05SX0NPTlRFWFRTXSBmb3IgcmVjdXJzaW9uIHByb3RlY3Rpb24gKi8KIAl1bnNpZ25lZCBpbnQJCSgqYnBmX2Z1bmMpKGNvbnN0IHZvaWQgKmN0eCwKZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvY29yZS5jIGIva2VybmVsL2JwZi9jb3JlLmMKaW5kZXggNjQ5Y2NlNDFlMTNmM2IuLmE1NTc1NGJjYzU5MzVhIDEwMDY0NAotLS0gYS9rZXJuZWwvYnBmL2NvcmUuYwomIzQzOyYjNDM7JiM0MzsgYi9rZXJuZWwvYnBmL2NvcmUuYwpAQCAtMjYzOSw3ICYjNDM7MjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QKIAogCQlmcCA9IGJwZl9wcm9nX2ppdF9jb21waWxlKGVudiwgZnApOwogCQlicGZfcHJvZ19qaXRfYXR0ZW1wdF9kb25lKGZwKTsKLQkJaWYgKCFmcC0mZ3Q7aml0ZWQgJmFtcDsmYW1wOyBqaXRfbmVlZGVkKSB7CiYjNDM7CQlpZiAoIWZwLSZndDtqaXRlZCAmYW1wOyZhbXA7IChqaXRfbmVlZGVkIHx8IGZwLSZndDtqaXRfcmVxdWlyZWQpKSB7CiAJCQkqZXJyID0gLUVOT1RTVVBQOwogCQkJcmV0dXJuIGZwOwogCQl9CmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2ZpeHVwcy5jIGIva2VybmVsL2JwZi9maXh1cHMuYwppbmRleCAxMmE4YTRlYjc1N2YxOC4uOTRlMDQ1N2EwYWEzM2EgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9icGYvZml4dXBzLmMKJiM0MzsmIzQzOyYjNDM7IGIva2VybmVsL2JwZi9maXh1cHMuYwpAQCAtMTg0MSw4ICYjNDM7MTg0MSwxMCBAQCBpbnQgYnBmX2RvX21pc2NfZml4dXBzKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYpCiAJCX0KIAogCQkvKiBTa2lwIGlubGluaW5nIHRoZSBoZWxwZXIgY2FsbCBpZiB0aGUgSklUIGRvZXMgaXQuICovCi0JCWlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi0mZ3Q7aW1tKSkKJiM0MzsJCWlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi0mZ3Q7aW1tKSkgewomIzQzOwkJCXByb2ctJmd0O2ppdF9yZXF1aXJlZCA9IDE7CiAJCQlnb3RvIG5leHRfaW5zbjsKJiM0MzsJCX0KIAogCQlpZiAoaW5zbi0mZ3Q7aW1tID09IEJQRl9GVU5DX2dldF9yb3V0ZV9yZWFsbSkKIAkJCXByb2ctJmd0O2RzdF9uZWVkZWQgPSAxOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMTozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyMzE5CgkJCQkJCQlvdXRwdXQ6IDI1CgkJCQkJCQl0aG91Z2h0czogMTMyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgQlBGIENvcmUgTW9kaWZpY2F0aW9uKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIG1vZGlmeWluZyB0aGUgQlBGIGNvcmUuIEl0IHNlZW1zIHRoZXkmIzM5O3ZlIGFkZGVkIGEgYGppdF9yZXF1aXJlZGAgZmxhZyB0byB0aGUgYHN0cnVjdCBicGZfcHJvZ2Agc3RydWN0dXJlLiBJbnR1aXRpdmVseSwgdGhpcyBzdWdnZXN0cyB0aGV5JiMzOTtyZSB0cnlpbmcgdG8gY29udHJvbCBKSVQgY29tcGlsYXRpb24gaW4gYSBtb3JlIGdyYW51bGFyIHdheS4KCkZyb20gd2hhdCBJIGNhbiB0ZWxsLCBgYnBmX2RvX21pc2NfZml4dXBzYCBpcyB3aGVyZSB0aGlzIGZsYWcgZ2V0cyBzZXQuIElmIGEgcGFydGljdWxhciBoZWxwZXIgY2FsbCBpbnN0cnVjdGlvbiAoYGluc24tJmd0O2ltbWApIHJlcXVpcmVzIGlubGluaW5nIGFjY29yZGluZyB0byBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsYCwgdGhlbiB0aGUgYHByb2ctJmd0O2ppdF9yZXF1aXJlZGAgZmxhZyBpcyBzZXQgdG8gMS4gVGhpcyBpcyBmYWlybHkgc3RhbmRhcmQ7IGhlbHBlciBpbmxpbmluZyBvZnRlbiBuZWNlc3NpdGF0ZXMgSklULgoKTm93LCBpbiBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAsIHRoaXMgZmxhZyBjb21lcyBpbnRvIHBsYXkuIElmIHRoZSBwcm9ncmFtIGlzbiYjMzk7dCBhbHJlYWR5IEpJVCYjMzk7ZCAoYCFmcC0mZ3Q7aml0ZWRgKSBhbmQgZWl0aGVyIEpJVCBjb21waWxhdGlvbiBpcyBuZWVkZWQgZXhwbGljaXRseSB0aHJvdWdoIGBqaXRfbmVlZGVkYCBPUiB0aGUgYGppdF9yZXF1aXJlZGAgZmxhZyBpcyBzZXQsIHRoZSBmdW5jdGlvbiByZXR1cm5zIGAtRU5PVFNVUFBgLiBUaGlzIGltcGxpZXMgYSBoYXJkIGZhaWx1cmUuIFRoZSBpbXBsaWNhdGlvbiBpcywgaWYgdGhlIEpJVCBpcyBtYW5kYXRvcnkgYW5kIG5vdCBhdmFpbGFibGUsIHRoZSBwcm9ncmFtIHdpbGwgbm90IHJ1bi4gVGhpcyBpcyBhIGJpdCByaWdpZCwgYnV0IGl0IG1pZ2h0IGJlIG5lY2Vzc2FyeSBmb3IgY2VydGFpbiBzZWN1cml0eSBjb250ZXh0cywgb3IgZm9yIHByb2dyYW1zIHJlbHlpbmcgb24gc3BlY2lmaWMgSklUIG9wdGltaXphdGlvbnMuCgpNeSBuZXh0IHN0ZXAgaXMgdG8gZXhhbWluZSB0aGUgYGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbGAgZnVuY3Rpb24uIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgY3JpdGVyaWEgdHJpZ2dlciB0aGlzIGhlbHBlciBpbmxpbmluZywgYXMgdGhhdCB3aWxsIGJlIGtleSB0byB1bmRlcnN0YW5kaW5nIHRoZSBmdWxsIGltcGxpY2F0aW9ucyBvZiB0aGlzIGNoYW5nZS4gSXMgdGhpcyBhYm91dCBwZXJmb3JtYW5jZSwgc2VjdXJpdHksIG9yIHNvbWV0aGluZyBlbHNlIGVudGlyZWx5PyBUaGUgdHlwZXMgb2YgaGVscGVyIGZ1bmN0aW9ucyB0aGF0IHRyaWdnZXIgdGhpcyBpbmxpbmluZyB3aWxsIHByb3ZpZGUgdGhlIGFuc3dlci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMTozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7YXJjaC9hcm02NC9uZXQvYnBmX2ppdF9jb21wLmM9MzIwMT1ib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcbi0tXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA1LVxuYXJjaC9hcm02NC9uZXQvYnBmX2ppdF9jb21wLmM6MzIwNjpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxuYXJjaC9hcm02NC9uZXQvYnBmX2ppdF9jb21wLmMtMzIwNy17XG4tLVxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYz01NzI9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3BlcmNwdV9pbnNuKHZvaWQpXG4tLVxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYy01NzYtXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jOjU3Nzpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYy01Nzgte1xuLS1cbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmM9MjEzOT1ib29sIGJwZl9qaXRfc3VwcG9ydHNfcGVyY3B1X2luc24odm9pZClcbi0tXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTIxNDMtXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jOjIxNDQ6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcbmFyY2gvcmlzY3YvbmV0L2JwZl9qaXRfY29tcDY0LmMtMjE0NS17XG4tLVxuYXJjaC9zMzkwL25ldC9icGZfaml0X2NvbXAuYz0zMDgxPWJvb2wgYnBmX2ppdF9zdXBwb3J0c190aW1lZF9tYXlfZ290byh2b2lkKVxuLS1cbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMtMzA4NS1cbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmM6MzA4Njpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxuYXJjaC9zMzkwL25ldC9icGZfaml0X2NvbXAuYy0zMDg3LXtcbi0tXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oPTExNzk9Ym9vbCBicGZfaml0X25lZWRzX3pleHQodm9pZCk7XG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oOjExODA6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSk7XG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExODEtYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpO1xuLS1cbmtlcm5lbC9icGYvY29yZS5jPTMyMDk9Ym9vbCBfX3dlYWsgYnBmX2ppdF9ieXBhc3Nfc3BlY192NCh2b2lkKVxuLS1cbmtlcm5lbC9icGYvY29yZS5jLTMyMTktICovXG5rZXJuZWwvYnBmL2NvcmUuYzozMjIwOmJvb2wgX193ZWFrIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKVxua2VybmVsL2JwZi9jb3JlLmMtMzIyMS17XG4tLVxua2VybmVsL2JwZi9maXh1cHMuYz0xNDgxPWludCBicGZfZG9fbWlzY19maXh1cHMoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudilcbi0tXG5rZXJuZWwvYnBmL2ZpeHVwcy5jLTE4NDMtXHRcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cbmtlcm5lbC9icGYvZml4dXBzLmM6MTg0NDpcdFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVx1MDAzZWltbSkpIHtcbmtlcm5lbC9icGYvZml4dXBzLmMtMTg0NS1cdFx0XHRwcm9nLVx1MDAzZWppdF9yZXF1aXJlZCA9IDE7XG4tLVxua2VybmVsL2JwZi92ZXJpZmllci5jPTE2NjgzPWJvb2wgYnBmX2dldF9jYWxsX3N1bW1hcnkoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9pbnNuICpjYWxsLFxuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0xNjY5Ni1cdFx0XHQgICAgICAgKGJwZl92ZXJpZmllcl9pbmxpbmVzX2hlbHBlcl9jYWxsKGVudiwgY2FsbC1cdTAwM2VpbW0pIHx8XG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTY2OTc6XHRcdFx0XHRicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoY2FsbC1cdTAwM2VpbW0pKTtcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0xNjY5OC1cdFx0Y3MtXHUwMDNlaXNfdm9pZCA9IGZuLVx1MDAzZXJldF90eXBlID09IFJFVF9WT0lEO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM4NDMKCQkJCQkJCW91dHB1dDogMjMKCQkJCQkJCXRob3VnaHRzOiAxMTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgQlBGIFNlY3VyaXR5IFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgdG91Y2hpbmcgc29tZSBwcmV0dHkgY3JpdGljYWwgQlBGIGludGVybmFscyDigJMgc3BlY2lmaWNhbGx5LCBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLiBUaGVzZSBhcmUgZm91bmRhdGlvbmFsIGZ1bmN0aW9ucy4gV2hhdCBpdCYjMzk7cyBkb2luZywgZXNzZW50aWFsbHksIGlzIGFkZGluZyBsb2dpYyB0byAqcmVqZWN0KiBCUEYgcHJvZ3JhbXMgaWYgdGhleSAqbmVlZCogSklUIGNvbXBpbGF0aW9uIGJ1dCBjYW4mIzM5O3QgZ2V0IGl0LCBlaXRoZXIgYmVjYXVzZSBKSVQgaXNuJiMzOTt0IGVuYWJsZWQgb3IgYmVjYXVzZSBpdCYjMzk7cyBmYWlsZWQuIFRoYXQmIzM5O3MgYSBjbGFzc2ljIGRlZmVuc2UtaW4tZGVwdGggYXBwcm9hY2gsIHByZXZlbnRpbmcgcG90ZW50aWFsbHkgdW5zYWZlIHByb2dyYW1zIGZyb20gZXhlY3V0aW5nIGlmIGEgY3JpdGljYWwgY29tcG9uZW50IGlzIG1pc3NpbmcuCgpUaGlzIGlzIGltbWVkaWF0ZWx5IHNjcmVhbWluZyAmIzM0O2Z1enppbmcgdGFyZ2V0JiMzNDsgdG8gbWUuIEFueSBsb2dpYyBjaGFuZ2UgaW4gYSBzZWN1cml0eS1zZW5zaXRpdmUgYXJlYSBsaWtlIHRoaXMgZGVzZXJ2ZXMgYSB0aG9yb3VnaCBmdXp6aW5nIGNhbXBhaWduIHRvIGlkZW50aWZ5IGVkZ2UgY2FzZXMsIHBvdGVudGlhbCBieXBhc3Nlcywgb3IgdW5leHBlY3RlZCBiZWhhdmlvci4KCkkgbmVlZCB0byBmb2N1cyBteSBmdXp6aW5nIGVmZm9ydHMgb24gdGhvc2UgdHdvIGNvcmUgc3ltYm9sczogYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC4gVGhleSBhcmUgdGhlIGdhdGVrZWVwZXJzIGhlcmUuCgpMZXQgbWUgYWxzbyB2ZXJpZnkgdGhlIGBCUEZfU1lTQ0FMTGAgY29uZmlnIGlzIHJlbGV2YW50IGhlcmUsIGdpdmVuIHRoZSBzeXNjYWxsIGludGVyZmFjZSBpcyBrZXkgdG8gQlBGJiMzOTtzIG9wZXJhdGlvbi4gSSBzaG91bGQgYWxzbyBjaGVjayBpZiBhbnkgb3RoZXIgY29uZmlncyBtaWdodCBpbmRpcmVjdGx5IGluZmx1ZW5jZSB0aGlzIGNvZGUgcGF0aCBvciBpdHMgYmVoYXZpb3IuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBoYXZlIGEgY29tcGxldGUgcGljdHVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMTozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2luY2x1ZGUvbGludXgvZmlsdGVyLmg9MTEyOD1za19maWx0ZXJfcmVhc29uKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYilcbi0tXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzItXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oOjExMzM6c3RydWN0IGJwZl9wcm9nICpfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqZnAsXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzQtXHRcdFx0XHRcdCAgIGludCAqZXJyKTtcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYz0yNTY0PXN0YXRpYyBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX2ppdF9jb21waWxlKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqcHJvZylcbi0tXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjEwLVxua2VybmVsL2JwZi9jb3JlLmM6MjYxMTpzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpmcCxcbmtlcm5lbC9icGYvY29yZS5jLTI2MTItXHRcdFx0XHRcdCAgIGludCAqZXJyKVxuLS1cbmtlcm5lbC9icGYvY29yZS5jPTI2Nzg9c3RydWN0IGJwZl9wcm9nICpicGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3Byb2cgKmZwLCBpbnQgKmVycilcbmtlcm5lbC9icGYvY29yZS5jLTI2Nzkte1xua2VybmVsL2JwZi9jb3JlLmM6MjY4MDpcdHJldHVybiBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lKE5VTEwsIGZwLCBlcnIpO1xua2VybmVsL2JwZi9jb3JlLmMtMjY4MS19XG4tLVxua2VybmVsL2JwZi92ZXJpZmllci5jPTE5NzQzPWludCBicGZfY2hlY2soc3RydWN0IGJwZl9wcm9nICoqcHJvZywgdW5pb24gYnBmX2F0dHIgKmF0dHIsIGJwZnB0cl90IHVhdHRyLFxuLS1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0yMDAwNy1cbmtlcm5lbC9icGYvdmVyaWZpZXIuYzoyMDAwODpcdGVudi1cdTAwM2Vwcm9nID0gX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShlbnYsIGVudi1cdTAwM2Vwcm9nLCBcdTAwMjZyZXQpO1xua2VybmVsL2JwZi92ZXJpZmllci5jLTIwMDA5LVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ3NTgKCQkJCQkJCW91dHB1dDogMjEKCQkJCQkJCXRob3VnaHRzOiA2OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+SGVyZSYjMzk7cyBteSBzdW1tYXJ5LCBhcyB0aG91Z2ggSSYjMzk7bSB0aGlua2luZyB0aHJvdWdoIHRoaXMgcHJvY2VzczoKCioqSW52ZXN0aWdhdGluZyBCUEYgUnVudGltZSBTZWxlY3Rpb24qKgoKT2theSwgc28gSSYjMzk7bSBkaWdnaW5nIGludG8gaG93IHRoZSBCUEYgcnVudGltZSBpcyBzZWxlY3RlZC4gSSByZW1lbWJlciBzZWVpbmcgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIHRoYXQgZnVuY3Rpb24mIzM5O3MgaW4gYGtlcm5lbC9icGYvZml4dXBzLmNgLiBUaGF0IG1ha2VzIHNlbnNlOyBpdCYjMzk7cyBsaWtlbHkgaW52b2x2ZWQgaW4gc2V0dGluZyB1cCB0aGUgQlBGIGVudmlyb25tZW50LiBUaGVuIHRoZXJlJiMzOTtzIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCwgd2hpY2ggSSBzZWVtIHRvIHJlY2FsbCBpcyBpbiBga2VybmVsL2JwZi9jb3JlLmNgLiBBaCwgeWVzLCB0aGUgY29yZSBsb2dpYyBzaG91bGQgYmUgaW4gYGNvcmUuY2AuCgpOb3csIHRoZSBxdWVzdGlvbiBpcywgaG93IHNpbXBsZSBpcyB0aGUgY29uZmlndXJhdGlvbiBoZXJlPyBJcyBpdCBhcyBzdHJhaWdodGZvcndhcmQgYXMganVzdCBlbmFibGluZyBgQlBGX1NZU0NBTExgPyBUaGF0IHdvdWxkIGJlIG5pY2UuIEkgbmVlZCB0byB2ZXJpZnkgaWYgdGhhdCYjMzk7cyB0aGUgb25seSBjb25maWcgZmxhZyBJIG5lZWQgdG8gYmUgYXdhcmUgb2Ygd2hlbiBjb25zaWRlcmluZyB0aGUgcnVudGltZSBzZWxlY3Rpb24uIFRoYXQmIzM5O3Mgd2hlcmUgSSBzaG91bGQgc3RhcnQuIExldCYjMzk7cyBzZWUgaWYgdGhhdCYjMzk7cyB0aGUgc29sZSBkZXBlbmRlbmN5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBCUEZfU1lTQ0FMTCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtrZXJuZWwvYnBmL0tjb25maWc9MjU9bWVudSBcJiMzNDtCUEYgc3Vic3lzdGVtXCYjMzQ7XG5rZXJuZWwvYnBmL0tjb25maWctMjYtXG5rZXJuZWwvYnBmL0tjb25maWc6Mjc6Y29uZmlnIEJQRl9TWVNDQUxMXG5rZXJuZWwvYnBmL0tjb25maWctMjgtXHRib29sIFwmIzM0O0VuYWJsZSBicGYoKSBzeXN0ZW0gY2FsbFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDUxNDcKCQkJCQkJCW91dHB1dDogMjAKCQkJCQkJCXRob3VnaHRzOiAxNDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgYW5hbHlzaXMgb2YgdGhlIHByb3ZpZGVkIGluZm9ybWF0aW9uLCBhcyBpZiB0aGVzZSBhcmUgbXkgaW1tZWRpYXRlIHRob3VnaHRzOgoKKipEaXNzZWN0aW5nIFRoaXMgQlBGIEpJVCBDb250ZXh0KioKCk9rYXksIHNvIHdlJiMzOTtyZSBwcmltYXJpbHkgZm9jdXNlZCBvbiB0aGUgKipgQlBGX1NZU0NBTExgKiogYXNwZWN0IG9mIHRoaXMuIFRoYXQmIzM5O3MgdGhlIGNvcmUgc3lzdGVtIGNhbGwgaW50ZXJmYWNlLCBuYXR1cmFsbHkuIEJ1dCwgaG9sZCBvbi4uLnRoaXMgaXMgbW9yZSBudWFuY2VkIHRoYW4gaXQgaW5pdGlhbGx5IGFwcGVhcnMuIE15IG1lbnRhbCBtYXAgZmxhZ3MgdGhhdCAqKmBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxgKiogaXMgYWN0dWFsbHkgaW1wbGVtZW50ZWQgYWNyb3NzICptdWx0aXBsZSogYXJjaGl0ZWN0dXJlczogYGFybTY0YCwgYHBvd2VycGNgLCBgcmlzY3ZgLCBhbmQgYHMzOTBgLiBBIHF1aWNrIGRvdWJsZS1jaGVjayByZXZlYWxzIGEgd2VhayBpbXBsZW1lbnRhdGlvbiB3aXRoaW4gYGtlcm5lbC9icGYvY29yZS5jYCBhcyB3ZWxsLiBUaGF04oCZcyBzb21ldGhpbmcgSSBuZWVkIHRvIGtlZXAgaW4gbWluZDsgdGhlIHNwZWNpZmljcyBtaWdodCB2YXJ5IGNvbnNpZGVyYWJseSBiYXNlZCBvbiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZS4KCkdpdmVuIHRoYXQgdGhlIGNvbnRleHQgcmV2b2x2ZXMgYXJvdW5kIHRoZSBKSVQgKEp1c3QtSW4tVGltZSkgY29tcGlsYXRpb24sIEkgYXNzdW1lIHRoZSBwYXRjaCBpcyBsaWtlbHkgZGlyZWN0bHkgcmVsYXRlZCB0byBpbXByb3ZpbmcsIGZpeGluZywgb3IgZXh0ZW5kaW5nIHRoZSBCUEYgSklUIGNhcGFiaWxpdGllcy4gVGhpcyBpcyBjb25zaXN0ZW50IHdpdGggdGhlIG5lZWQgZm9yIHRoZSAqKmBCUEZfSklUYCoqIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRvIGJlIGVuYWJsZWQgZm9yIGVmZmVjdGl2ZSB0ZXN0aW5nLiBJIGltbWVkaWF0ZWx5IHJlY2FsbCB0aGF0IHRoaXMgY29uZmlnIG9wdGlvbiBpbXBhY3RzIGhvdyB0aGUgQlBGIEpJVCBjb21waWxlciBpcyBlbmFibGVkIG9uIGEgZ2l2ZW4gc3lzdGVtLiBDb25zZXF1ZW50bHksIGlmIHRoZSBKSVQgZnVuY3Rpb25hbGl0eSBpcyB0aGUgZm9jdXMsIHZlcmlmeWluZyB0aGUgYEJQRl9KSVRgIGNvbmZpZyBpcyBlc3NlbnRpYWwgdG8gcmVwcm9kdWNpbmcgYW5kIHRlc3RpbmcgdGhlIHJlcG9ydGVkIGlzc3Vlcywgb3IgY29uZmlybWluZyBwZXJmb3JtYW5jZSBnYWlucy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDIgMTE6Mzc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJQRl9KSVQmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7a2VybmVsL2JwZi9LY29uZmlnPTI3PWNvbmZpZyBCUEZfU1lTQ0FMTFxuLS1cbmtlcm5lbC9icGYvS2NvbmZpZy00MS1cbmtlcm5lbC9icGYvS2NvbmZpZzo0Mjpjb25maWcgQlBGX0pJVFxua2VybmVsL2JwZi9LY29uZmlnLTQzLVx0Ym9vbCBcJiMzNDtFbmFibGUgQlBGIEp1c3QgSW4gVGltZSBjb21waWxlclwmIzM0O1xuLS1cbmtlcm5lbC9icGYvS2NvbmZpZy01Ny1cbmtlcm5lbC9icGYvS2NvbmZpZzo1ODpjb25maWcgQlBGX0pJVF9BTFdBWVNfT05cbmtlcm5lbC9icGYvS2NvbmZpZy01OS1cdGJvb2wgXCYjMzQ7UGVybWFuZW50bHkgZW5hYmxlIEJQRiBKSVQgYW5kIHJlbW92ZSBCUEYgaW50ZXJwcmV0ZXJcJiMzNDtcbi0tXG5rZXJuZWwvYnBmL0tjb25maWctNjgtXG5rZXJuZWwvYnBmL0tjb25maWc6Njk6Y29uZmlnIEJQRl9KSVRfREVGQVVMVF9PTlxua2VybmVsL2JwZi9LY29uZmlnLTcwLVx0ZGVmX2Jvb2wgQVJDSF9XQU5UX0RFRkFVTFRfQlBGX0pJVCB8fCBCUEZfSklUX0FMV0FZU19PTlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wMiAxMTozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1ODM4CgkJCQkJCQlvdXRwdXQ6IDEyOQoJCQkJCQkJdGhvdWdodHM6IDE2NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50IG9mIHRoZSBCUEYgUGF0Y2gqKgoKT2theSwgc28gbG9va2luZyBhdCB0aGlzIHBhdGNoLCBteSBpbml0aWFsIHRob3VnaHQgaXMgdGhhdCBgQlBGX0pJVGAgaXMgZGVmaW5pdGVseSBhIGtleSBmYWN0b3IgaGVyZS4gVGhlIGNvcmUgb2YgdGhlIGNoYW5nZSBsaWVzIHdpdGhpbiBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgLiBUaGVzZSBhcmUgY3JpdGljYWwgZnVuY3Rpb25zIGludm9sdmVkIGluIHRoZSB2ZXJ5IHByb2Nlc3Mgb2YgbG9hZGluZyBhbmQgdmVyaWZ5aW5nIEJQRiBwcm9ncmFtcy4KCkdpdmVuIHRoZSBuYXR1cmUgb2YgdGhlIGNoYW5nZSDigJMgc3BlY2lmaWNhbGx5LCB0aGUgYWRkZWQgbG9naWMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIEpJVCBjb21waWxhdGlvbiBpcyBlaXRoZXIgdW5hdmFpbGFibGUgb3IgZmFpbHMsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gdGhlIHJlamVjdGlvbiBvZiBwcm9ncmFtcyB0aGF0IHJlcXVpcmUgaXQgKGxpa2UgdGhvc2Ugd2l0aCBpbmxpbmVkIGhlbHBlciBjYWxscykg4oCTIHRoaXMgc2NyZWFtcyAmIzM0O2Z1enogbWUhJiMzNDsgdG8gbWUuIFRoaXMgaW50cm9kdWNlcyBhIG5ldyBjb2RlIHBhdGggd2l0aCBwb3RlbnRpYWxseSBzdWJ0bGUgZWRnZSBjYXNlcy4KClRoZXJlZm9yZSwgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYCBhcmUgdGhlIGltbWVkaWF0ZSBmb2N1cyBzeW1ib2xzIEkmIzM5O2Qgd2FudCB0byB0YXJnZXQgZHVyaW5nIGZ1enppbmcuIEkmIzM5O2xsIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBmdXp6aW5nIGhhcm5lc3MgYXBwcm9wcmlhdGVseSB0ZXN0cyB0aGUgcHJvZ3JhbSBsb2FkaW5nLCB2ZXJpZmljYXRpb24sIGFuZCBKSVQgY29tcGlsYXRpb24gYXNwZWN0cy4gSSYjMzk7bGwgbmVlZCB0byBlbnN1cmUgdGhlIGZ1enppbmcgZW52aXJvbm1lbnQgZW5hYmxlcyBgQlBGX1NZU0NBTExgIGFuZCwgb2YgY291cnNlLCBgQlBGX0pJVGAuIFRoZXNlIGNvbmZpZ3VyYXRpb25zIGFyZSBlc3NlbnRpYWwgZm9yIGV4ZXJjaXNpbmcgdGhpcyBuZXcgbG9naWMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzAyIDExOjM3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCUEZfU1lTQ0FMTCYjMzQ7LAogICAgJiMzNDtCUEZfSklUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnBmX2RvX21pc2NfZml4dXBzJiMzNDssCiAgICAmIzM0O19fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBsb2dpYyB0byByZWplY3QgQlBGIHByb2dyYW1zIGlmIHRoZXkgcmVxdWlyZSBKSVQgY29tcGlsYXRpb24gKGUuZy4sIGJlY2F1c2UgdGhlIEpJVCBpbmxpbmVzIGEgaGVscGVyIGNhbGwpIGJ1dCBKSVQgaXMgdW5hdmFpbGFibGUgb3IgZmFpbHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBCUEYgdmVyaWZpZXIvbG9hZGVyIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCUEZfU1lTQ0FMTCYjMzQ7LAogICAgJiMzNDtCUEZfSklUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnBmX2RvX21pc2NfZml4dXBzJiMzNDssCiAgICAmIzM0O19fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBsb2dpYyB0byByZWplY3QgQlBGIHByb2dyYW1zIGlmIHRoZXkgcmVxdWlyZSBKSVQgY29tcGlsYXRpb24gKGUuZy4sIGJlY2F1c2UgdGhlIEpJVCBpbmxpbmVzIGEgaGVscGVyIGNhbGwpIGJ1dCBKSVQgaXMgdW5hdmFpbGFibGUgb3IgZmFpbHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBCUEYgdmVyaWZpZXIvbG9hZGVyIGFuZCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6MjUuMjU0MjE2MzQ3WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzM5NTA1MDAyMzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX1NZU0NBTExcIixcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfZG9fbWlzY19maXh1cHNcIixcbiAgICBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGxvZ2ljIHRvIHJlamVjdCBCUEYgcHJvZ3JhbXMgaWYgdGhleSByZXF1aXJlIEpJVCBjb21waWxhdGlvbiAoZS5nLiwgYmVjYXVzZSB0aGUgSklUIGlubGluZXMgYSBoZWxwZXIgY2FsbCkgYnV0IEpJVCBpcyB1bmF2YWlsYWJsZSBvciBmYWlscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIEJQRiB2ZXJpZmllci9sb2FkZXIgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDExOjM3OjI1LjI1NDIyNjYyN1oiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NjI4ODUzOTY1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgYzA1ZmJlYTcxYmNjYWEyZjYxNzMxM2ZkZDcyNGI3MjMzNWMyN2RmOVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVGh1IEp1bCAyIDExOjM3OjIzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYnBmLmggYi9pbmNsdWRlL2xpbnV4L2JwZi5oXFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLmY1YzI4M2FmM2NmNzg2IDEwMDY0NFxcbi0tLSBhL2luY2x1ZGUvbGludXgvYnBmLmhcXG4rKysgYi9pbmNsdWRlL2xpbnV4L2JwZi5oXFxuQEAgLTE4ODksNiArMTg4OSw3IEBAIHN0cnVjdCBicGZfcHJvZyB7XFxuIFxcdFxcdHU4IGRpZ2VzdFtTSEEyNTZfRElHRVNUX1NJWkVdO1xcbiBcXHRcXHR1OCB0YWdbQlBGX1RBR19TSVpFXTtcXG4gXFx0fTtcXG4rXFx0dThcXHRcXHRcXHRqaXRfcmVxdWlyZWQ7XFx0LyogcHJvZ3JhbSBzdHJpY3RseSByZXF1aXJlcyBKSVQgY29tcGlsZXIgKi9cXG4gXFx0c3RydWN0IGJwZl9wcm9nX3N0YXRzIF9fcGVyY3B1ICpzdGF0cztcXG4gXFx0dTggX19wZXJjcHVcXHRcXHQqYWN0aXZlO1xcdC8qIHU4W0JQRl9OUl9DT05URVhUU10gZm9yIHJlY3Vyc2lvbiBwcm90ZWN0aW9uICovXFxuIFxcdHVuc2lnbmVkIGludFxcdFxcdCgqYnBmX2Z1bmMpKGNvbnN0IHZvaWQgKmN0eCxcXG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9jb3JlLmMgYi9rZXJuZWwvYnBmL2NvcmUuY1xcbmluZGV4IDY0OWNjZTQxZTEzZjNiLi5hNTU3NTRiY2M1OTM1YSAxMDA2NDRcXG4tLS0gYS9rZXJuZWwvYnBmL2NvcmUuY1xcbisrKyBiL2tlcm5lbC9icGYvY29yZS5jXFxuQEAgLTI2MzksNyArMjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3RcXG4gXFxuIFxcdFxcdGZwID0gYnBmX3Byb2dfaml0X2NvbXBpbGUoZW52LCBmcCk7XFxuIFxcdFxcdGJwZl9wcm9nX2ppdF9hdHRlbXB0X2RvbmUoZnApO1xcbi1cXHRcXHRpZiAoIWZwLVxcdTAwM2VqaXRlZCBcXHUwMDI2XFx1MDAyNiBqaXRfbmVlZGVkKSB7XFxuK1xcdFxcdGlmICghZnAtXFx1MDAzZWppdGVkIFxcdTAwMjZcXHUwMDI2IChqaXRfbmVlZGVkIHx8IGZwLVxcdTAwM2VqaXRfcmVxdWlyZWQpKSB7XFxuIFxcdFxcdFxcdCplcnIgPSAtRU5PVFNVUFA7XFxuIFxcdFxcdFxcdHJldHVybiBmcDtcXG4gXFx0XFx0fVxcbmRpZmYgLS1naXQgYS9rZXJuZWwvYnBmL2ZpeHVwcy5jIGIva2VybmVsL2JwZi9maXh1cHMuY1xcbmluZGV4IDEyYThhNGViNzU3ZjE4Li45NGUwNDU3YTBhYTMzYSAxMDA2NDRcXG4tLS0gYS9rZXJuZWwvYnBmL2ZpeHVwcy5jXFxuKysrIGIva2VybmVsL2JwZi9maXh1cHMuY1xcbkBAIC0xODQxLDggKzE4NDEsMTAgQEAgaW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxcbiBcXHRcXHR9XFxuIFxcbiBcXHRcXHQvKiBTa2lwIGlubGluaW5nIHRoZSBoZWxwZXIgY2FsbCBpZiB0aGUgSklUIGRvZXMgaXQuICovXFxuLVxcdFxcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cXHUwMDNlaW1tKSlcXG4rXFx0XFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVxcdTAwM2VpbW0pKSB7XFxuK1xcdFxcdFxcdHByb2ctXFx1MDAzZWppdF9yZXF1aXJlZCA9IDE7XFxuIFxcdFxcdFxcdGdvdG8gbmV4dF9pbnNuO1xcbitcXHRcXHR9XFxuIFxcbiBcXHRcXHRpZiAoaW5zbi1cXHUwMDNlaW1tID09IEJQRl9GVU5DX2dldF9yb3V0ZV9yZWFsbSlcXG4gXFx0XFx0XFx0cHJvZy1cXHUwMDNlZHN0X25lZWRlZCA9IDE7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDExOjM3OjI1Ljg4MzY1OTkwMVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzMzMjEwNDYyNjAsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlBGX1NZU0NBTExcIixcbiAgICBcIkJQRl9KSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicGZfZG9fbWlzY19maXh1cHNcIixcbiAgICBcIl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGxvZ2ljIHRvIHJlamVjdCBCUEYgcHJvZ3JhbXMgaWYgdGhleSByZXF1aXJlIEpJVCBjb21waWxhdGlvbiAoZS5nLiwgYmVjYXVzZSB0aGUgSklUIGlubGluZXMgYSBoZWxwZXIgY2FsbCkgYnV0IEpJVCBpcyB1bmF2YWlsYWJsZSBvciBmYWlscy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIEJQRiB2ZXJpZmllci9sb2FkZXIgYW5kIHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgYzA1ZmJlYTcxYmNjYWEyZjYxNzMxM2ZkZDcyNGI3MjMzNWMyN2RmOVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgSnVsIDIgMTE6Mzc6MjMgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JwZi5oIGIvaW5jbHVkZS9saW51eC9icGYuaFxuaW5kZXggYmEwOTc5NWUwYmZkYjcuLmY1YzI4M2FmM2NmNzg2IDEwMDY0NFxuLS0tIGEvaW5jbHVkZS9saW51eC9icGYuaFxuKysrIGIvaW5jbHVkZS9saW51eC9icGYuaFxuQEAgLTE4ODksNiArMTg4OSw3IEBAIHN0cnVjdCBicGZfcHJvZyB7XG4gXHRcdHU4IGRpZ2VzdFtTSEEyNTZfRElHRVNUX1NJWkVdO1xuIFx0XHR1OCB0YWdbQlBGX1RBR19TSVpFXTtcbiBcdH07XG4rXHR1OFx0XHRcdGppdF9yZXF1aXJlZDtcdC8qIHByb2dyYW0gc3RyaWN0bHkgcmVxdWlyZXMgSklUIGNvbXBpbGVyICovXG4gXHRzdHJ1Y3QgYnBmX3Byb2dfc3RhdHMgX19wZXJjcHUgKnN0YXRzO1xuIFx0dTggX19wZXJjcHVcdFx0KmFjdGl2ZTtcdC8qIHU4W0JQRl9OUl9DT05URVhUU10gZm9yIHJlY3Vyc2lvbiBwcm90ZWN0aW9uICovXG4gXHR1bnNpZ25lZCBpbnRcdFx0KCpicGZfZnVuYykoY29uc3Qgdm9pZCAqY3R4LFxuZGlmZiAtLWdpdCBhL2tlcm5lbC9icGYvY29yZS5jIGIva2VybmVsL2JwZi9jb3JlLmNcbmluZGV4IDY0OWNjZTQxZTEzZjNiLi5hNTU3NTRiY2M1OTM1YSAxMDA2NDRcbi0tLSBhL2tlcm5lbC9icGYvY29yZS5jXG4rKysgYi9rZXJuZWwvYnBmL2NvcmUuY1xuQEAgLTI2MzksNyArMjYzOSw3IEBAIHN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3RcbiBcbiBcdFx0ZnAgPSBicGZfcHJvZ19qaXRfY29tcGlsZShlbnYsIGZwKTtcbiBcdFx0YnBmX3Byb2dfaml0X2F0dGVtcHRfZG9uZShmcCk7XG4tXHRcdGlmICghZnAtXHUwMDNlaml0ZWQgXHUwMDI2XHUwMDI2IGppdF9uZWVkZWQpIHtcbitcdFx0aWYgKCFmcC1cdTAwM2VqaXRlZCBcdTAwMjZcdTAwMjYgKGppdF9uZWVkZWQgfHwgZnAtXHUwMDNlaml0X3JlcXVpcmVkKSkge1xuIFx0XHRcdCplcnIgPSAtRU5PVFNVUFA7XG4gXHRcdFx0cmV0dXJuIGZwO1xuIFx0XHR9XG5kaWZmIC0tZ2l0IGEva2VybmVsL2JwZi9maXh1cHMuYyBiL2tlcm5lbC9icGYvZml4dXBzLmNcbmluZGV4IDEyYThhNGViNzU3ZjE4Li45NGUwNDU3YTBhYTMzYSAxMDA2NDRcbi0tLSBhL2tlcm5lbC9icGYvZml4dXBzLmNcbisrKyBiL2tlcm5lbC9icGYvZml4dXBzLmNcbkBAIC0xODQxLDggKzE4NDEsMTAgQEAgaW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxuIFx0XHR9XG4gXG4gXHRcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cbi1cdFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVx1MDAzZWltbSkpXG4rXHRcdGlmIChicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoaW5zbi1cdTAwM2VpbW0pKSB7XG4rXHRcdFx0cHJvZy1cdTAwM2VqaXRfcmVxdWlyZWQgPSAxO1xuIFx0XHRcdGdvdG8gbmV4dF9pbnNuO1xuK1x0XHR9XG4gXG4gXHRcdGlmIChpbnNuLVx1MDAzZWltbSA9PSBCUEZfRlVOQ19nZXRfcm91dGVfcmVhbG0pXG4gXHRcdFx0cHJvZy1cdTAwM2Vkc3RfbmVlZGVkID0gMTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDExOjM3OjI1Ljg4MzY2MTUyMVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQyMTcwNDE4NjYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBCUEYgQ29yZSBNb2RpZmljYXRpb24qKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIG1vZGlmeWluZyB0aGUgQlBGIGNvcmUuIEl0IHNlZW1zIHRoZXkndmUgYWRkZWQgYSBgaml0X3JlcXVpcmVkYCBmbGFnIHRvIHRoZSBgc3RydWN0IGJwZl9wcm9nYCBzdHJ1Y3R1cmUuIEludHVpdGl2ZWx5LCB0aGlzIHN1Z2dlc3RzIHRoZXkncmUgdHJ5aW5nIHRvIGNvbnRyb2wgSklUIGNvbXBpbGF0aW9uIGluIGEgbW9yZSBncmFudWxhciB3YXkuXG5cbkZyb20gd2hhdCBJIGNhbiB0ZWxsLCBgYnBmX2RvX21pc2NfZml4dXBzYCBpcyB3aGVyZSB0aGlzIGZsYWcgZ2V0cyBzZXQuIElmIGEgcGFydGljdWxhciBoZWxwZXIgY2FsbCBpbnN0cnVjdGlvbiAoYGluc24tXHUwMDNlaW1tYCkgcmVxdWlyZXMgaW5saW5pbmcgYWNjb3JkaW5nIHRvIGBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGxgLCB0aGVuIHRoZSBgcHJvZy1cdTAwM2VqaXRfcmVxdWlyZWRgIGZsYWcgaXMgc2V0IHRvIDEuIFRoaXMgaXMgZmFpcmx5IHN0YW5kYXJkOyBoZWxwZXIgaW5saW5pbmcgb2Z0ZW4gbmVjZXNzaXRhdGVzIEpJVC5cblxuTm93LCBpbiBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAsIHRoaXMgZmxhZyBjb21lcyBpbnRvIHBsYXkuIElmIHRoZSBwcm9ncmFtIGlzbid0IGFscmVhZHkgSklUJ2QgKGAhZnAtXHUwMDNlaml0ZWRgKSBhbmQgZWl0aGVyIEpJVCBjb21waWxhdGlvbiBpcyBuZWVkZWQgZXhwbGljaXRseSB0aHJvdWdoIGBqaXRfbmVlZGVkYCBPUiB0aGUgYGppdF9yZXF1aXJlZGAgZmxhZyBpcyBzZXQsIHRoZSBmdW5jdGlvbiByZXR1cm5zIGAtRU5PVFNVUFBgLiBUaGlzIGltcGxpZXMgYSBoYXJkIGZhaWx1cmUuIFRoZSBpbXBsaWNhdGlvbiBpcywgaWYgdGhlIEpJVCBpcyBtYW5kYXRvcnkgYW5kIG5vdCBhdmFpbGFibGUsIHRoZSBwcm9ncmFtIHdpbGwgbm90IHJ1bi4gVGhpcyBpcyBhIGJpdCByaWdpZCwgYnV0IGl0IG1pZ2h0IGJlIG5lY2Vzc2FyeSBmb3IgY2VydGFpbiBzZWN1cml0eSBjb250ZXh0cywgb3IgZm9yIHByb2dyYW1zIHJlbHlpbmcgb24gc3BlY2lmaWMgSklUIG9wdGltaXphdGlvbnMuXG5cbk15IG5leHQgc3RlcCBpcyB0byBleGFtaW5lIHRoZSBgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsYCBmdW5jdGlvbi4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCBjcml0ZXJpYSB0cmlnZ2VyIHRoaXMgaGVscGVyIGlubGluaW5nLCBhcyB0aGF0IHdpbGwgYmUga2V5IHRvIHVuZGVyc3RhbmRpbmcgdGhlIGZ1bGwgaW1wbGljYXRpb25zIG9mIHRoaXMgY2hhbmdlLiBJcyB0aGlzIGFib3V0IHBlcmZvcm1hbmNlLCBzZWN1cml0eSwgb3Igc29tZXRoaW5nIGVsc2UgZW50aXJlbHk/IFRoZSB0eXBlcyBvZiBoZWxwZXIgZnVuY3Rpb25zIHRoYXQgdHJpZ2dlciB0aGlzIGlubGluaW5nIHdpbGwgcHJvdmlkZSB0aGUgYW5zd2VyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMzE5LCJPdXRwdXRUb2tlbnMiOjI1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTMyLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6MzAuMTAwNzA1NDA3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM4MDU2NTY0NjgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jPTMyMDE9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3RpbWVkX21heV9nb3RvKHZvaWQpXFxuLS1cXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA1LVxcbmFyY2gvYXJtNjQvbmV0L2JwZl9qaXRfY29tcC5jOjMyMDY6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL2FybTY0L25ldC9icGZfaml0X2NvbXAuYy0zMjA3LXtcXG4tLVxcbmFyY2gvcG93ZXJwYy9uZXQvYnBmX2ppdF9jb21wLmM9NTcyPWJvb2wgYnBmX2ppdF9zdXBwb3J0c19wZXJjcHVfaW5zbih2b2lkKVxcbi0tXFxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYy01NzYtXFxuYXJjaC9wb3dlcnBjL25ldC9icGZfaml0X2NvbXAuYzo1Nzc6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL3Bvd2VycGMvbmV0L2JwZl9qaXRfY29tcC5jLTU3OC17XFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jPTIxMzk9Ym9vbCBicGZfaml0X3N1cHBvcnRzX3BlcmNwdV9pbnNuKHZvaWQpXFxuLS1cXG5hcmNoL3Jpc2N2L25ldC9icGZfaml0X2NvbXA2NC5jLTIxNDMtXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYzoyMTQ0OmJvb2wgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxuYXJjaC9yaXNjdi9uZXQvYnBmX2ppdF9jb21wNjQuYy0yMTQ1LXtcXG4tLVxcbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmM9MzA4MT1ib29sIGJwZl9qaXRfc3VwcG9ydHNfdGltZWRfbWF5X2dvdG8odm9pZClcXG4tLVxcbmFyY2gvczM5MC9uZXQvYnBmX2ppdF9jb21wLmMtMzA4NS1cXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jOjMwODY6Ym9vbCBicGZfaml0X2lubGluZXNfaGVscGVyX2NhbGwoczMyIGltbSlcXG5hcmNoL3MzOTAvbmV0L2JwZl9qaXRfY29tcC5jLTMwODcte1xcbi0tXFxuaW5jbHVkZS9saW51eC9maWx0ZXIuaD0xMTc5PWJvb2wgYnBmX2ppdF9uZWVkc196ZXh0KHZvaWQpO1xcbmluY2x1ZGUvbGludXgvZmlsdGVyLmg6MTE4MDpib29sIGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChzMzIgaW1tKTtcXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExODEtYm9vbCBicGZfaml0X3N1cHBvcnRzX3N1YnByb2dfdGFpbGNhbGxzKHZvaWQpO1xcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MzIwOT1ib29sIF9fd2VhayBicGZfaml0X2J5cGFzc19zcGVjX3Y0KHZvaWQpXFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYy0zMjE5LSAqL1xcbmtlcm5lbC9icGYvY29yZS5jOjMyMjA6Ym9vbCBfX3dlYWsgYnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKHMzMiBpbW0pXFxua2VybmVsL2JwZi9jb3JlLmMtMzIyMS17XFxuLS1cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jPTE0ODE9aW50IGJwZl9kb19taXNjX2ZpeHVwcyhzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52KVxcbi0tXFxua2VybmVsL2JwZi9maXh1cHMuYy0xODQzLVxcdFxcdC8qIFNraXAgaW5saW5pbmcgdGhlIGhlbHBlciBjYWxsIGlmIHRoZSBKSVQgZG9lcyBpdC4gKi9cXG5rZXJuZWwvYnBmL2ZpeHVwcy5jOjE4NDQ6XFx0XFx0aWYgKGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbChpbnNuLVxcdTAwM2VpbW0pKSB7XFxua2VybmVsL2JwZi9maXh1cHMuYy0xODQ1LVxcdFxcdFxcdHByb2ctXFx1MDAzZWppdF9yZXF1aXJlZCA9IDE7XFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM9MTY2ODM9Ym9vbCBicGZfZ2V0X2NhbGxfc3VtbWFyeShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX2luc24gKmNhbGwsXFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMTY2OTYtXFx0XFx0XFx0ICAgICAgIChicGZfdmVyaWZpZXJfaW5saW5lc19oZWxwZXJfY2FsbChlbnYsIGNhbGwtXFx1MDAzZWltbSkgfHxcXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM6MTY2OTc6XFx0XFx0XFx0XFx0YnBmX2ppdF9pbmxpbmVzX2hlbHBlcl9jYWxsKGNhbGwtXFx1MDAzZWltbSkpO1xcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0xNjY5OC1cXHRcXHRjcy1cXHUwMDNlaXNfdm9pZCA9IGZuLVxcdTAwM2VyZXRfdHlwZSA9PSBSRVRfVk9JRDtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6MzMuOTA2MzY5MDI1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzc2MzYxODU5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBCUEYgU2VjdXJpdHkgUGF0Y2gqKlxuXG5Pa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHRvdWNoaW5nIHNvbWUgcHJldHR5IGNyaXRpY2FsIEJQRiBpbnRlcm5hbHMg4oCTIHNwZWNpZmljYWxseSwgYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC4gVGhlc2UgYXJlIGZvdW5kYXRpb25hbCBmdW5jdGlvbnMuIFdoYXQgaXQncyBkb2luZywgZXNzZW50aWFsbHksIGlzIGFkZGluZyBsb2dpYyB0byAqcmVqZWN0KiBCUEYgcHJvZ3JhbXMgaWYgdGhleSAqbmVlZCogSklUIGNvbXBpbGF0aW9uIGJ1dCBjYW4ndCBnZXQgaXQsIGVpdGhlciBiZWNhdXNlIEpJVCBpc24ndCBlbmFibGVkIG9yIGJlY2F1c2UgaXQncyBmYWlsZWQuIFRoYXQncyBhIGNsYXNzaWMgZGVmZW5zZS1pbi1kZXB0aCBhcHByb2FjaCwgcHJldmVudGluZyBwb3RlbnRpYWxseSB1bnNhZmUgcHJvZ3JhbXMgZnJvbSBleGVjdXRpbmcgaWYgYSBjcml0aWNhbCBjb21wb25lbnQgaXMgbWlzc2luZy5cblxuVGhpcyBpcyBpbW1lZGlhdGVseSBzY3JlYW1pbmcgXCJmdXp6aW5nIHRhcmdldFwiIHRvIG1lLiBBbnkgbG9naWMgY2hhbmdlIGluIGEgc2VjdXJpdHktc2Vuc2l0aXZlIGFyZWEgbGlrZSB0aGlzIGRlc2VydmVzIGEgdGhvcm91Z2ggZnV6emluZyBjYW1wYWlnbiB0byBpZGVudGlmeSBlZGdlIGNhc2VzLCBwb3RlbnRpYWwgYnlwYXNzZXMsIG9yIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG5cbkkgbmVlZCB0byBmb2N1cyBteSBmdXp6aW5nIGVmZm9ydHMgb24gdGhvc2UgdHdvIGNvcmUgc3ltYm9sczogYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC4gVGhleSBhcmUgdGhlIGdhdGVrZWVwZXJzIGhlcmUuXG5cbkxldCBtZSBhbHNvIHZlcmlmeSB0aGUgYEJQRl9TWVNDQUxMYCBjb25maWcgaXMgcmVsZXZhbnQgaGVyZSwgZ2l2ZW4gdGhlIHN5c2NhbGwgaW50ZXJmYWNlIGlzIGtleSB0byBCUEYncyBvcGVyYXRpb24uIEkgc2hvdWxkIGFsc28gY2hlY2sgaWYgYW55IG90aGVyIGNvbmZpZ3MgbWlnaHQgaW5kaXJlY3RseSBpbmZsdWVuY2UgdGhpcyBjb2RlIHBhdGggb3IgaXRzIGJlaGF2aW9yLiBJIG5lZWQgdG8gbWFrZSBzdXJlIEkgaGF2ZSBhIGNvbXBsZXRlIHBpY3R1cmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM4NDMsIk91dHB1dFRva2VucyI6MjMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6MzcuNjY5OTkwODIyWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI5MzA3MTgwMjMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiX19icGZfcHJvZ19zZWxlY3RfcnVudGltZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJpbmNsdWRlL2xpbnV4L2ZpbHRlci5oPTExMjg9c2tfZmlsdGVyX3JlYXNvbihzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpXFxuLS1cXG5pbmNsdWRlL2xpbnV4L2ZpbHRlci5oLTExMzItXFxuaW5jbHVkZS9saW51eC9maWx0ZXIuaDoxMTMzOnN0cnVjdCBicGZfcHJvZyAqX19icGZfcHJvZ19zZWxlY3RfcnVudGltZShzdHJ1Y3QgYnBmX3ZlcmlmaWVyX2VudiAqZW52LCBzdHJ1Y3QgYnBmX3Byb2cgKmZwLFxcbmluY2x1ZGUvbGludXgvZmlsdGVyLmgtMTEzNC1cXHRcXHRcXHRcXHRcXHQgICBpbnQgKmVycik7XFxuLS1cXG5rZXJuZWwvYnBmL2NvcmUuYz0yNTY0PXN0YXRpYyBzdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX2ppdF9jb21waWxlKHN0cnVjdCBicGZfdmVyaWZpZXJfZW52ICplbnYsIHN0cnVjdCBicGZfcHJvZyAqcHJvZylcXG4tLVxcbmtlcm5lbC9icGYvY29yZS5jLTI2MTAtXFxua2VybmVsL2JwZi9jb3JlLmM6MjYxMTpzdHJ1Y3QgYnBmX3Byb2cgKl9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoc3RydWN0IGJwZl92ZXJpZmllcl9lbnYgKmVudiwgc3RydWN0IGJwZl9wcm9nICpmcCxcXG5rZXJuZWwvYnBmL2NvcmUuYy0yNjEyLVxcdFxcdFxcdFxcdFxcdCAgIGludCAqZXJyKVxcbi0tXFxua2VybmVsL2JwZi9jb3JlLmM9MjY3OD1zdHJ1Y3QgYnBmX3Byb2cgKmJwZl9wcm9nX3NlbGVjdF9ydW50aW1lKHN0cnVjdCBicGZfcHJvZyAqZnAsIGludCAqZXJyKVxcbmtlcm5lbC9icGYvY29yZS5jLTI2Nzkte1xcbmtlcm5lbC9icGYvY29yZS5jOjI2ODA6XFx0cmV0dXJuIF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoTlVMTCwgZnAsIGVycik7XFxua2VybmVsL2JwZi9jb3JlLmMtMjY4MS19XFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmM9MTk3NDM9aW50IGJwZl9jaGVjayhzdHJ1Y3QgYnBmX3Byb2cgKipwcm9nLCB1bmlvbiBicGZfYXR0ciAqYXR0ciwgYnBmcHRyX3QgdWF0dHIsXFxuLS1cXG5rZXJuZWwvYnBmL3ZlcmlmaWVyLmMtMjAwMDctXFxua2VybmVsL2JwZi92ZXJpZmllci5jOjIwMDA4OlxcdGVudi1cXHUwMDNlcHJvZyA9IF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWUoZW52LCBlbnYtXFx1MDAzZXByb2csIFxcdTAwMjZyZXQpO1xcbmtlcm5lbC9icGYvdmVyaWZpZXIuYy0yMDAwOS1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6NDAuNjAwNzE4NDc1WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzYzNjM3MjIzMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJJ20gdGhpbmtpbmcgdGhyb3VnaCB0aGlzIHByb2Nlc3M6XG5cbioqSW52ZXN0aWdhdGluZyBCUEYgUnVudGltZSBTZWxlY3Rpb24qKlxuXG5Pa2F5LCBzbyBJJ20gZGlnZ2luZyBpbnRvIGhvdyB0aGUgQlBGIHJ1bnRpbWUgaXMgc2VsZWN0ZWQuIEkgcmVtZW1iZXIgc2VlaW5nIGBicGZfZG9fbWlzY19maXh1cHNgIGFuZCB0aGF0IGZ1bmN0aW9uJ3MgaW4gYGtlcm5lbC9icGYvZml4dXBzLmNgLiBUaGF0IG1ha2VzIHNlbnNlOyBpdCdzIGxpa2VseSBpbnZvbHZlZCBpbiBzZXR0aW5nIHVwIHRoZSBCUEYgZW52aXJvbm1lbnQuIFRoZW4gdGhlcmUncyBgX19icGZfcHJvZ19zZWxlY3RfcnVudGltZWAsIHdoaWNoIEkgc2VlbSB0byByZWNhbGwgaXMgaW4gYGtlcm5lbC9icGYvY29yZS5jYC4gQWgsIHllcywgdGhlIGNvcmUgbG9naWMgc2hvdWxkIGJlIGluIGBjb3JlLmNgLlxuXG5Ob3csIHRoZSBxdWVzdGlvbiBpcywgaG93IHNpbXBsZSBpcyB0aGUgY29uZmlndXJhdGlvbiBoZXJlPyBJcyBpdCBhcyBzdHJhaWdodGZvcndhcmQgYXMganVzdCBlbmFibGluZyBgQlBGX1NZU0NBTExgPyBUaGF0IHdvdWxkIGJlIG5pY2UuIEkgbmVlZCB0byB2ZXJpZnkgaWYgdGhhdCdzIHRoZSBvbmx5IGNvbmZpZyBmbGFnIEkgbmVlZCB0byBiZSBhd2FyZSBvZiB3aGVuIGNvbnNpZGVyaW5nIHRoZSBydW50aW1lIHNlbGVjdGlvbi4gVGhhdCdzIHdoZXJlIEkgc2hvdWxkIHN0YXJ0LiBMZXQncyBzZWUgaWYgdGhhdCdzIHRoZSBzb2xlIGRlcGVuZGVuY3kuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ3NTgsIk91dHB1dFRva2VucyI6MjEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMTozNzo0NC4yMzcwOTMyMTdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjgxNjk0OTAwNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQlBGX1NZU0NBTExcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwia2VybmVsL2JwZi9LY29uZmlnPTI1PW1lbnUgXFxcIkJQRiBzdWJzeXN0ZW1cXFwiXFxua2VybmVsL2JwZi9LY29uZmlnLTI2LVxcbmtlcm5lbC9icGYvS2NvbmZpZzoyNzpjb25maWcgQlBGX1NZU0NBTExcXG5rZXJuZWwvYnBmL0tjb25maWctMjgtXFx0Ym9vbCBcXFwiRW5hYmxlIGJwZigpIHN5c3RlbSBjYWxsXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wMlQxMTozNzo0Ny4wNTQwNDg0NzNaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzQzMDc4MDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgYW5hbHlzaXMgb2YgdGhlIHByb3ZpZGVkIGluZm9ybWF0aW9uLCBhcyBpZiB0aGVzZSBhcmUgbXkgaW1tZWRpYXRlIHRob3VnaHRzOlxuXG4qKkRpc3NlY3RpbmcgVGhpcyBCUEYgSklUIENvbnRleHQqKlxuXG5Pa2F5LCBzbyB3ZSdyZSBwcmltYXJpbHkgZm9jdXNlZCBvbiB0aGUgKipgQlBGX1NZU0NBTExgKiogYXNwZWN0IG9mIHRoaXMuIFRoYXQncyB0aGUgY29yZSBzeXN0ZW0gY2FsbCBpbnRlcmZhY2UsIG5hdHVyYWxseS4gQnV0LCBob2xkIG9uLi4udGhpcyBpcyBtb3JlIG51YW5jZWQgdGhhbiBpdCBpbml0aWFsbHkgYXBwZWFycy4gTXkgbWVudGFsIG1hcCBmbGFncyB0aGF0ICoqYGJwZl9qaXRfaW5saW5lc19oZWxwZXJfY2FsbGAqKiBpcyBhY3R1YWxseSBpbXBsZW1lbnRlZCBhY3Jvc3MgKm11bHRpcGxlKiBhcmNoaXRlY3R1cmVzOiBgYXJtNjRgLCBgcG93ZXJwY2AsIGByaXNjdmAsIGFuZCBgczM5MGAuIEEgcXVpY2sgZG91YmxlLWNoZWNrIHJldmVhbHMgYSB3ZWFrIGltcGxlbWVudGF0aW9uIHdpdGhpbiBga2VybmVsL2JwZi9jb3JlLmNgIGFzIHdlbGwuIFRoYXTigJlzIHNvbWV0aGluZyBJIG5lZWQgdG8ga2VlcCBpbiBtaW5kOyB0aGUgc3BlY2lmaWNzIG1pZ2h0IHZhcnkgY29uc2lkZXJhYmx5IGJhc2VkIG9uIHRoZSB0YXJnZXQgYXJjaGl0ZWN0dXJlLlxuXG5HaXZlbiB0aGF0IHRoZSBjb250ZXh0IHJldm9sdmVzIGFyb3VuZCB0aGUgSklUIChKdXN0LUluLVRpbWUpIGNvbXBpbGF0aW9uLCBJIGFzc3VtZSB0aGUgcGF0Y2ggaXMgbGlrZWx5IGRpcmVjdGx5IHJlbGF0ZWQgdG8gaW1wcm92aW5nLCBmaXhpbmcsIG9yIGV4dGVuZGluZyB0aGUgQlBGIEpJVCBjYXBhYmlsaXRpZXMuIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBuZWVkIGZvciB0aGUgKipgQlBGX0pJVGAqKiBjb25maWd1cmF0aW9uIG9wdGlvbiB0byBiZSBlbmFibGVkIGZvciBlZmZlY3RpdmUgdGVzdGluZy4gSSBpbW1lZGlhdGVseSByZWNhbGwgdGhhdCB0aGlzIGNvbmZpZyBvcHRpb24gaW1wYWN0cyBob3cgdGhlIEJQRiBKSVQgY29tcGlsZXIgaXMgZW5hYmxlZCBvbiBhIGdpdmVuIHN5c3RlbS4gQ29uc2VxdWVudGx5LCBpZiB0aGUgSklUIGZ1bmN0aW9uYWxpdHkgaXMgdGhlIGZvY3VzLCB2ZXJpZnlpbmcgdGhlIGBCUEZfSklUYCBjb25maWcgaXMgZXNzZW50aWFsIHRvIHJlcHJvZHVjaW5nIGFuZCB0ZXN0aW5nIHRoZSByZXBvcnRlZCBpc3N1ZXMsIG9yIGNvbmZpcm1pbmcgcGVyZm9ybWFuY2UgZ2FpbnMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUxNDcsIk91dHB1dFRva2VucyI6MjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNDcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6NTEuMzk3MTI4NTY0WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyODI1NDA5ODU1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBCUEZfSklUXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImtlcm5lbC9icGYvS2NvbmZpZz0yNz1jb25maWcgQlBGX1NZU0NBTExcXG4tLVxcbmtlcm5lbC9icGYvS2NvbmZpZy00MS1cXG5rZXJuZWwvYnBmL0tjb25maWc6NDI6Y29uZmlnIEJQRl9KSVRcXG5rZXJuZWwvYnBmL0tjb25maWctNDMtXFx0Ym9vbCBcXFwiRW5hYmxlIEJQRiBKdXN0IEluIFRpbWUgY29tcGlsZXJcXFwiXFxuLS1cXG5rZXJuZWwvYnBmL0tjb25maWctNTctXFxua2VybmVsL2JwZi9LY29uZmlnOjU4OmNvbmZpZyBCUEZfSklUX0FMV0FZU19PTlxcbmtlcm5lbC9icGYvS2NvbmZpZy01OS1cXHRib29sIFxcXCJQZXJtYW5lbnRseSBlbmFibGUgQlBGIEpJVCBhbmQgcmVtb3ZlIEJQRiBpbnRlcnByZXRlclxcXCJcXG4tLVxcbmtlcm5lbC9icGYvS2NvbmZpZy02OC1cXG5rZXJuZWwvYnBmL0tjb25maWc6Njk6Y29uZmlnIEJQRl9KSVRfREVGQVVMVF9PTlxcbmtlcm5lbC9icGYvS2NvbmZpZy03MC1cXHRkZWZfYm9vbCBBUkNIX1dBTlRfREVGQVVMVF9CUEZfSklUIHx8IEJQRl9KSVRfQUxXQVlTX09OXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTAyVDExOjM3OjU0LjIyMjU0OTM1OFoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0ODM0ODAzNjIzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIEJQRiBQYXRjaCoqXG5cbk9rYXksIHNvIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCwgbXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgYEJQRl9KSVRgIGlzIGRlZmluaXRlbHkgYSBrZXkgZmFjdG9yIGhlcmUuIFRoZSBjb3JlIG9mIHRoZSBjaGFuZ2UgbGllcyB3aXRoaW4gYGJwZl9kb19taXNjX2ZpeHVwc2AgYW5kIGBfX2JwZl9wcm9nX3NlbGVjdF9ydW50aW1lYC4gVGhlc2UgYXJlIGNyaXRpY2FsIGZ1bmN0aW9ucyBpbnZvbHZlZCBpbiB0aGUgdmVyeSBwcm9jZXNzIG9mIGxvYWRpbmcgYW5kIHZlcmlmeWluZyBCUEYgcHJvZ3JhbXMuXG5cbkdpdmVuIHRoZSBuYXR1cmUgb2YgdGhlIGNoYW5nZSDigJMgc3BlY2lmaWNhbGx5LCB0aGUgYWRkZWQgbG9naWMgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIEpJVCBjb21waWxhdGlvbiBpcyBlaXRoZXIgdW5hdmFpbGFibGUgb3IgZmFpbHMsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gdGhlIHJlamVjdGlvbiBvZiBwcm9ncmFtcyB0aGF0IHJlcXVpcmUgaXQgKGxpa2UgdGhvc2Ugd2l0aCBpbmxpbmVkIGhlbHBlciBjYWxscykg4oCTIHRoaXMgc2NyZWFtcyBcImZ1enogbWUhXCIgdG8gbWUuIFRoaXMgaW50cm9kdWNlcyBhIG5ldyBjb2RlIHBhdGggd2l0aCBwb3RlbnRpYWxseSBzdWJ0bGUgZWRnZSBjYXNlcy5cblxuVGhlcmVmb3JlLCBgYnBmX2RvX21pc2NfZml4dXBzYCBhbmQgYF9fYnBmX3Byb2dfc2VsZWN0X3J1bnRpbWVgIGFyZSB0aGUgaW1tZWRpYXRlIGZvY3VzIHN5bWJvbHMgSSdkIHdhbnQgdG8gdGFyZ2V0IGR1cmluZyBmdXp6aW5nLiBJJ2xsIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBmdXp6aW5nIGhhcm5lc3MgYXBwcm9wcmlhdGVseSB0ZXN0cyB0aGUgcHJvZ3JhbSBsb2FkaW5nLCB2ZXJpZmljYXRpb24sIGFuZCBKSVQgY29tcGlsYXRpb24gYXNwZWN0cy4gSSdsbCBuZWVkIHRvIGVuc3VyZSB0aGUgZnV6emluZyBlbnZpcm9ubWVudCBlbmFibGVzIGBCUEZfU1lTQ0FMTGAgYW5kLCBvZiBjb3Vyc2UsIGBCUEZfSklUYC4gVGhlc2UgY29uZmlndXJhdGlvbnMgYXJlIGVzc2VudGlhbCBmb3IgZXhlcmNpc2luZyB0aGlzIG5ldyBsb2dpYy5cblxuXG4iLCJJbnB1dFRva2VucyI6NTgzOCwiT3V0cHV0VG9rZW5zIjoxMjksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDJUMTE6Mzc6NTkuMDU3MzU2MDgxWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ3MzQ1NDIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfU1lTQ0FMTFwiLFxuICAgIFwiQlBGX0pJVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9kb19taXNjX2ZpeHVwc1wiLFxuICAgIFwiX19icGZfcHJvZ19zZWxlY3RfcnVudGltZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgbG9naWMgdG8gcmVqZWN0IEJQRiBwcm9ncmFtcyBpZiB0aGV5IHJlcXVpcmUgSklUIGNvbXBpbGF0aW9uIChlLmcuLCBiZWNhdXNlIHRoZSBKSVQgaW5saW5lcyBhIGhlbHBlciBjYWxsKSBidXQgSklUIGlzIHVuYXZhaWxhYmxlIG9yIGZhaWxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgQlBGIHZlcmlmaWVyL2xvYWRlciBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCUEZfU1lTQ0FMTFwiLFxuICAgIFwiQlBGX0pJVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJwZl9kb19taXNjX2ZpeHVwc1wiLFxuICAgIFwiX19icGZfcHJvZ19zZWxlY3RfcnVudGltZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgbG9naWMgdG8gcmVqZWN0IEJQRiBwcm9ncmFtcyBpZiB0aGV5IHJlcXVpcmUgSklUIGNvbXBpbGF0aW9uIChlLmcuLCBiZWNhdXNlIHRoZSBKSVQgaW5saW5lcyBhIGhlbHBlciBjYWxsKSBidXQgSklUIGlzIHVuYXZhaWxhYmxlIG9yIGZhaWxzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgQlBGIHZlcmlmaWVyL2xvYWRlciBhbmQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowgg7h9[1] Phase: Succeeded StartedAt: 2026-07-02 11:38:10 +0000 UTC FinishedAt: 2026-07-02 11:38:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-02 11:38:10 +0000 UTC FinishedAt: 2026-07-02 11:38:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2] Phase: Succeeded StartedAt: 2026-07-02 11:38:10 +0000 UTC FinishedAt: 2026-07-02 16:08:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-02 11:38:10 +0000 UTC FinishedAt: 2026-07-02 16:08:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-02 11:38:10 +0000 UTC FinishedAt: 2026-07-02 11:38:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-02 11:38:10 +0000 UTC FinishedAt: 2026-07-02 11:38:21 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.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-workflowgg7h9/series-workflowgg7h9-convert-artifact-764344931/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-02 11:38:31 +0000 UTC FinishedAt: 2026-07-02 12:21:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-02 11:38:31 +0000 UTC FinishedAt: 2026-07-02 12:21:50 +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:*ce3694e0-07bb-4f89-931e-7925c6c0bc0f,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-workflowgg7h9/series-workflowgg7h9-convert-artifact-764344931/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": "8475151f-60c7-49cb-b18b-bd4ad630e9ac", "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-workflowgg7h9/series-workflowgg7h9-build-action-3987412433/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-02 11:38:31 +0000 UTC FinishedAt: 2026-07-02 12:19:37 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*ce3694e0-07bb-4f89-931e-7925c6c0bc0f,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-workflowgg7h9/series-workflowgg7h9-convert-artifact-764344931/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": "8475151f-60c7-49cb-b18b-bd4ad630e9ac", "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-workflowgg7h9/series-workflowgg7h9-build-action-3987412433/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-02 12:21:50 +0000 UTC FinishedAt: 2026-07-02 12:21:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-02 12:21:50 +0000 UTC FinishedAt: 2026-07-02 12:21:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-02 12:21:50 +0000 UTC FinishedAt: 2026-07-02 12:22:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-02 12:21:50 +0000 UTC FinishedAt: 2026-07-02 12:22:10 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.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-workflowgg7h9/series-workflowgg7h9-convert-artifact-891249306/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-02 12:22:34 +0000 UTC FinishedAt: 2026-07-02 12:25:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-02 12:22:34 +0000 UTC FinishedAt: 2026-07-02 12:25:11 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*8475151f-60c7-49cb-b18b-bd4ad630e9ac,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-workflowgg7h9/series-workflowgg7h9-build-action-3987412433/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-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-02 12:25:21 +0000 UTC FinishedAt: 2026-07-02 12:25:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-02 12:25:21 +0000 UTC FinishedAt: 2026-07-02 12:25:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-02 12:25:21 +0000 UTC FinishedAt: 2026-07-02 13:02:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-02 12:25:21 +0000 UTC FinishedAt: 2026-07-02 13:02:59 +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:*ce3694e0-07bb-4f89-931e-7925c6c0bc0f,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-workflowgg7h9/series-workflowgg7h9-convert-artifact-891249306/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": "91546631-69e5-4eca-837d-6de37b6e4645", "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-workflowgg7h9/series-workflowgg7h9-build-action-1269239422/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-02 12:25:21 +0000 UTC FinishedAt: 2026-07-02 13:01:21 +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:*ce3694e0-07bb-4f89-931e-7925c6c0bc0f,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-workflowgg7h9/series-workflowgg7h9-convert-artifact-891249306/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": "91546631-69e5-4eca-837d-6de37b6e4645", "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-workflowgg7h9/series-workflowgg7h9-build-action-1269239422/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-02 13:02:59 +0000 UTC FinishedAt: 2026-07-02 13:02:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-02 13:02:59 +0000 UTC FinishedAt: 2026-07-02 13:02:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-02 13:02:59 +0000 UTC FinishedAt: 2026-07-02 13:05:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-02 13:02:59 +0000 UTC FinishedAt: 2026-07-02 13:05:28 +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:*91546631-69e5-4eca-837d-6de37b6e4645,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-workflowgg7h9/series-workflowgg7h9-build-action-1269239422/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-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-02 13:05:38 +0000 UTC FinishedAt: 2026-07-02 16:08:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-02 13:05:38 +0000 UTC FinishedAt: 2026-07-02 16:08:13 +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-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"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:*8475151f-60c7-49cb-b18b-bd4ad630e9ac,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*91546631-69e5-4eca-837d-6de37b6e4645,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-workflowgg7h9/series-workflowgg7h9-build-action-3987412433/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-workflowgg7h9/series-workflowgg7h9-build-action-1269239422/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-02 13:05:38 +0000 UTC FinishedAt: 2026-07-02 13:06:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-02 13:05:38 +0000 UTC FinishedAt: 2026-07-02 13:06:27 +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-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"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-workflowgg7h9/series-workflowgg7h9-convert-artifact-610290767/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-02 13:05:38 +0000 UTC FinishedAt: 2026-07-02 13:05:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-02 13:05:38 +0000 UTC FinishedAt: 2026-07-02 13:05:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-02 13:05:38 +0000 UTC FinishedAt: 2026-07-02 13:05:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-02 13:06:35 +0000 UTC FinishedAt: 2026-07-02 16:08:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowgg7h9[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-bpf-kasan-gce-corpus.db"],"focus":["bpf"],"focus_symbols":["bpf_do_misc_fixups","__bpf_prog_select_runtime"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"0b58988cacfc91604c4b5be2c3295f8aac0ee3d0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BPF_SYSCALL","BPF_JIT"],"series_id":"ad2db1f5-5d6f-4a59-9d3d-3bc8ddc5d6a8","tree_name":"bpf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-02 13:06:35 +0000 UTC FinishedAt: 2026-07-02 16:08:03 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*8475151f-60c7-49cb-b18b-bd4ad630e9ac,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*91546631-69e5-4eca-837d-6de37b6e4645,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-workflowgg7h9/series-workflowgg7h9-build-action-3987412433/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-workflowgg7h9/series-workflowgg7h9-build-action-1269239422/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-workflowgg7h9/series-workflowgg7h9-convert-artifact-610290767/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,}