Name: series-workflowfsm89 Phase: Succeeded StartedAt: 2026-07-21 21:29:10 +0000 UTC FinishedAt: 2026-07-22 03:14:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[0] Phase: Succeeded StartedAt: 2026-07-21 21:29:10 +0000 UTC FinishedAt: 2026-07-21 22:17:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[0].run-triage Phase: Succeeded StartedAt: 2026-07-21 21:29:10 +0000 UTC FinishedAt: 2026-07-21 22:17:53 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "nf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git", "commit_hash": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NETFILTER_XT_MATCH_HASHLIMIT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "nf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git", "commit_hash": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NETFILTER_XT_MATCH_HASHLIMIT" ], "series_id": "8b17fc56-587f-4559-a33c-1c192d474e59" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "dsthash_alloc_init", "hashlimit_mt_common", "hashlimit_mt_v1", "hashlimit_mt_v2", "hashlimit_mt" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05FVEZJTFRFUl9YVF9NQVRDSF9IQVNITElNSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtkc3RoYXNoX2FsbG9jX2luaXQmIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X2NvbW1vbiYjMzQ7LAogICAgJiMzNDtoYXNobGltaXRfbXRfdjEmIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X3YyJiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbml0aWFsaXplcyBgZW50LVx1MDAzZXJhdGVpbmZvYCB0byAwIGluIGBkc3RoYXNoX2FsbG9jX2luaXRgLCBmaXhpbmcgYSBwb3RlbnRpYWwgdW5pbml0aWFsaXplZCBtZW1vcnkgaXNzdWUgaW4gdGhlIGBoYXNobGltaXRgIG5ldGZpbHRlciBleHRlbnNpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAzZWUxNzJiZTI0MDA0Y2UzYTFkMGEzNGI0NTg5N2UxMWYxNjI0M2RjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgMjEgMjI6MTc6MTkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYyBiL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmNcbmluZGV4IDI3MDRiNGI2MGQxZTA0Li44OTQzZWQ2MDg1ZTcxZCAxMDA2NDRcbi0tLSBhL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmNcbkBAIC0yNDQsNiAmIzQzOzI0NCw3IEBAIGRzdGhhc2hfYWxsb2NfaW5pdChzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaHQsXG4gXHR9IGVsc2VcbiBcdFx0ZW50ID0ga21lbV9jYWNoZV9hbGxvYyhoYXNobGltaXRfY2FjaGVwLCBHRlBfQVRPTUlDKTtcbiBcdGlmIChlbnQpIHtcbiYjNDM7XHRcdG1lbXNldChcdTAwMjZlbnQtXHUwMDNlcmF0ZWluZm8sIDAsIHNpemVvZihlbnQtXHUwMDNlcmF0ZWluZm8pKTtcbiBcdFx0bWVtY3B5KFx1MDAyNmVudC1cdTAwM2Vkc3QsIGRzdCwgc2l6ZW9mKGVudC1cdTAwM2Vkc3QpKTtcbiBcdFx0c3Bpbl9sb2NrX2luaXQoXHUwMDI2ZW50LVx1MDAzZWxvY2spO1xuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORVRGSUxURVJfWFRfTUFUQ0hfSEFTSExJTUlUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZHN0aGFzaF9hbGxvY19pbml0JiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF9jb21tb24mIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X3YxJiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF92MiYjMzQ7LAogICAgJiMzNDtoYXNobGltaXRfbXQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW5pdGlhbGl6ZXMgYGVudC1cdTAwM2VyYXRlaW5mb2AgdG8gMCBpbiBgZHN0aGFzaF9hbGxvY19pbml0YCwgZml4aW5nIGEgcG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3VlIGluIHRoZSBgaGFzaGxpbWl0YCBuZXRmaWx0ZXIgZXh0ZW5zaW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAzZWUxNzJiZTI0MDA0Y2UzYTFkMGEzNGI0NTg5N2UxMWYxNjI0M2RjCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgMjEgMjI6MTc6MTkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jIGIvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYwppbmRleCAyNzA0YjRiNjBkMWUwNC4uODk0M2VkNjA4NWU3MWQgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYwpAQCAtMjQ0LDYgJiM0MzsyNDQsNyBAQCBkc3RoYXNoX2FsbG9jX2luaXQoc3RydWN0IHh0X2hhc2hsaW1pdF9odGFibGUgKmh0LAogCX0gZWxzZQogCQllbnQgPSBrbWVtX2NhY2hlX2FsbG9jKGhhc2hsaW1pdF9jYWNoZXAsIEdGUF9BVE9NSUMpOwogCWlmIChlbnQpIHsKJiM0MzsJCW1lbXNldCgmYW1wO2VudC0mZ3Q7cmF0ZWluZm8sIDAsIHNpemVvZihlbnQtJmd0O3JhdGVpbmZvKSk7CiAJCW1lbWNweSgmYW1wO2VudC0mZ3Q7ZHN0LCBkc3QsIHNpemVvZihlbnQtJmd0O2RzdCkpOwogCQlzcGluX2xvY2tfaW5pdCgmYW1wO2VudC0mZ3Q7bG9jayk7CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTkwNgoJCQkJCQkJb3V0cHV0OiAzNwoJCQkJCQkJdGhvdWdodHM6IDc4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJJiMzOTttIHRoaW5raW5nIHRocm91Z2ggdGhpcyBwYXRjaDoKCioqQW5hbHl6aW5nIGEgSGFzaGxpbWl0IFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBgbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuY2AuIFRoZSBjb3JlIG9mIGl0IHNlZW1zIHRvIGJlIGFkZGluZyBhIGBtZW1zZXRgIGNhbGwgd2l0aGluIHRoZSBgZHN0aGFzaF9hbGxvY19pbml0YCBmdW5jdGlvbi4gU3BlY2lmaWNhbGx5LCBpdCYjMzk7cyBkb2luZyBgbWVtc2V0KCZhbXA7ZW50LSZndDtyYXRlaW5mbywgMCwgc2l6ZW9mKGVudC0mZ3Q7cmF0ZWluZm8pKTtgLiBUaGlzIGltbWVkaWF0ZWx5IGZsYWdzIHRoZSBhcmVhIHdoZXJlIHdlIHNob3VsZCBzdGFydCwgb2YgY291cnNlLiBNeSBmaXJzdCB0aG91Z2h0IGlzIHdoYXQgdGhpcyBgZW50LSZndDtyYXRlaW5mb2Agc3RydWN0dXJlICppcyogYW5kIHdoeSB3ZSYjMzk7cmUgemVyb2luZyBpdCBvdXQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBXaGF0JiMzOTtzIHRoZSBwb3RlbnRpYWwgaW1wbGljYXRpb24gZm9yIGl0cyBjb250ZW50cyBpZiB0aGlzIGlzbiYjMzk7dCBkb25lPyBJcyB0aGVyZSBzb21lIHByZS1leGlzdGluZyBpc3N1ZSB0aGF0IG1pZ2h0IGJlIGFkZHJlc3NlZCBieSBkb2luZyB0aGlzPyBJIG5lZWQgdG8gZGlnIGludG8gdGhlIHN1cnJvdW5kaW5nIGNvZGUgdG8gZGV0ZXJtaW5lIHRoZSBwdXJwb3NlIG9mIGByYXRlaW5mb2AgYW5kIGl0cyBpbXBhY3QuIFRoaXMgc21lbGxzIGxpa2UgYW4gaW5pdGlhbGl6YXRpb24gaXNzdWUgdGhhdCBjb3VsZCBsZWFkIHRvIHVuZXhwZWN0ZWQgYmVoYXZpb3IgbGF0ZXIgb24uIEkmIzM5O2xsIG5lZWQgdG8gc2VlIGlmIHRoaXMgYWRkaXRpb24gZml4ZXMgYSByYWNlIGNvbmRpdGlvbiwgcHJldmVudHMgYSBtZW1vcnkgbGVhaywgb3IgaW1wcm92ZXMgdGhlIG92ZXJhbGwgcm9idXN0bmVzcyBvZiB0aGUgaGFzaGxpbWl0IG1vZHVsZS4gSSYjMzk7bGwgaGF2ZSB0byBjb25zaWRlciBob3cgdGhpcyBhZmZlY3RzIHRoZSBleGlzdGluZyBiZWhhdmlvdXIsIGFuZCB3aGF0IGltcGFjdCBpdCBoYXMgb24gdGhlIHN0YWJpbGl0eSBhbmQgcGVyZm9ybWFuY2Ugb2YgdGhlIG1vZHVsZS4gVGltZSB0byBkaXZlIGludG8gdGhlIGNvZGUhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZHN0aGFzaF9hbGxvY19pbml0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTIxNT1zdGF0aWMgc3RydWN0IGRzdGhhc2hfZW50ICpcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM6MjE2OmRzdGhhc2hfYWxsb2NfaW5pdChzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaHQsXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTIxNy1cdFx0ICAgY29uc3Qgc3RydWN0IGRzdGhhc2hfZHN0ICpkc3QsIGJvb2wgKnJhY2UpXG4tLVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYz03MzA9aGFzaGxpbWl0X210X2NvbW1vbihjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgeHRfYWN0aW9uX3BhcmFtICpwYXIsXG4tLVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy03NDUtXHRpZiAoZGggPT0gTlVMTCkge1xubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo3NDY6XHRcdGRoID0gZHN0aGFzaF9hbGxvY19pbml0KGhpbmZvLCBcdTAwMjZkc3QsIFx1MDAyNnJhY2UpO1xubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy03NDctXHRcdGlmIChkaCA9PSBOVUxMKSB7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjUyOQoJCQkJCQkJb3V0cHV0OiAzNwoJCQkJCQkJdGhvdWdodHM6IDgwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFkZHJlc3NpbmcgYSBQb3RlbnRpYWwgTWVtb3J5IFNhZmV0eSBJc3N1ZSoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGRvaW5nIHNvbWV0aGluZyBzdHJhaWdodGZvcndhcmQsIGJ1dCBpbXBvcnRhbnQ6IGl0JiMzOTtzIGluaXRpYWxpemluZyBgZW50LSZndDtyYXRlaW5mb2AgdG8gemVyby4gSXQgc2VlbXMgbGlrZSBhIG1pbm9yIGNoYW5nZSwgYnV0IGl0JiMzOTtzIGEgZnVuY3Rpb25hbCBmaXgsIHByb2JhYmx5IGFkZHJlc3NpbmcgYW4gdW5pbml0aWFsaXplZCBtZW1vcnkgcHJvYmxlbS4gTXkgZ3V0IGZlZWxpbmcgaXMgdGhhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGFuICYjMzQ7dW5pbml0LXZhbHVlJiMzNDsgb3IgJiMzNDt1bmluaXQtbWVtb3J5JiMzNDsgc2NlbmFyaW8sIGFuZCB0aGlzIHBhdGNoIGFpbXMgdG8gZWxpbWluYXRlIHRoYXQgcmlzay4KCkxldCYjMzk7cyBzZWUsIGBkc3RoYXNoX2FsbG9jX2luaXRgIGlzIHRoZSBmdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgdGhhdCB6ZXJvaW5nIG9wZXJhdGlvbiwgYW5kIEkgc2VlIGl0JiMzOTtzIGNhbGxlZCBmcm9tIGBoYXNobGltaXRfbXRfY29tbW9uYC4gTm93LCB0byBmdWxseSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbiBvZiB0aGlzIGNoYW5nZSwgSSBuZWVkIHRvIHRyYWNlIHRoaXMgYmFjay4gVGhlIG5leHQgbG9naWNhbCBzdGVwIGlzIHRvIGZpZ3VyZSBvdXQgKndoZXJlKiBgaGFzaGxpbWl0X210X2NvbW1vbmAgaXRzZWxmIGlzIGJlaW5nIGNhbGxlZCBmcm9tLiBUaGF0JiMzOTtsbCBnaXZlIG1lIHRoZSBjb250ZXh0IEkgbmVlZCB0byBhc3Nlc3MgdGhlIGZ1bGwgaW1wYWN0IGFuZCBpbXBvcnRhbmNlIG9mIHRoaXMgZml4IHdpdGhpbiB0aGUgbGFyZ2VyIHN5c3RlbS4gVGltZSB0byBkaWcgYSBsaXR0bGUgZGVlcGVyLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2hhc2hsaW1pdF9tdF9jb21tb24mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM9NzI5PXN0YXRpYyBib29sXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jOjczMDpoYXNobGltaXRfbXRfY29tbW9uKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4dF9hY3Rpb25fcGFyYW0gKnBhcixcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtNzMxLVx0XHQgICAgc3RydWN0IHh0X2hhc2hsaW1pdF9odGFibGUgKmhpbmZvLFxuLS1cbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM9ODAzPWhhc2hsaW1pdF9tdF92MShjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgeHRfYWN0aW9uX3BhcmFtICpwYXIpXG4tLVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy04MTMtXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jOjgxNDpcdHJldHVybiBoYXNobGltaXRfbXRfY29tbW9uKHNrYiwgcGFyLCBoaW5mbywgXHUwMDI2Y2ZnLCAxKTtcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtODE1LX1cbi0tXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTgxOD1oYXNobGltaXRfbXRfdjIoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKVxuLS1cbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtODI4LVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo4Mjk6XHRyZXR1cm4gaGFzaGxpbWl0X210X2NvbW1vbihza2IsIHBhciwgaGluZm8sIFx1MDAyNmNmZywgMik7XG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzMC19XG4tLVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYz04MzM9aGFzaGxpbWl0X210KGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4dF9hY3Rpb25fcGFyYW0gKnBhcilcbi0tXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzNy1cbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM6ODM4Olx0cmV0dXJuIGhhc2hsaW1pdF9tdF9jb21tb24oc2tiLCBwYXIsIGhpbmZvLCBcdTAwMjZpbmZvLVx1MDAzZWNmZywgMyk7XG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzOS19XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzMyMAoJCQkJCQkJb3V0cHV0OiAzMQoJCQkJCQkJdGhvdWdodHM6IDYwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHM6CgoqKkFuYWx5emluZyB0aGUgSGFzaGxpbWl0IE1hdGNoIEZ1bmN0aW9ucyoqCgpPa2F5LCBzbyBJJiMzOTttIGRpZ2dpbmcgaW50byB0aGUgYGhhc2hsaW1pdGAgZXh0ZW5zaW9uIGZvciBpcHRhYmxlcywgc3BlY2lmaWNhbGx5IHRoZSBtYXRjaCBmdW5jdGlvbnM6IGBoYXNobGltaXRfbXRfdjFgLCBgaGFzaGxpbWl0X210X3YyYCwgYW5kIGBoYXNobGltaXRfbXRgLiBSaWdodCBhd2F5LCBpdCYjMzk7cyBjbGVhciB0aGVzZSBhcmUgdGhlIGNvcmUgY29tcG9uZW50cyByZXNwb25zaWJsZSBmb3IgYWN0dWFsbHkgKmRvaW5nKiB0aGUgaGFzaGxpbWl0IG1hdGNoaW5nLiBOb3csIGl0JiMzOTtzIHRpbWUgdG8gY29uZmlybSB0aGUgS2NvbmZpZyBkZXRhaWxzIGZvciBgeHRfaGFzaGxpbWl0LmNgLiBJIG5lZWQgdG8gZmlndXJlIG91dCBob3cgdGhlc2UgZnVuY3Rpb25zIGFyZSBjb25maWd1cmVkIGFuZCwgYnkgZXh0ZW5zaW9uLCBob3cgdGhlIGV4dGVuc2lvbiBpdHNlbGYgaXMgY29tcGlsZWQgaW50byB0aGUga2VybmVsIG9yIGFzIGEgbW9kdWxlLiBJ4oCZbSB0aGlua2luZyBhYm91dCB0aGUgY29tcGlsZSB0aW1lIG9wdGlvbnMuIEFyZSB0aGVzZSB0aGluZ3MgYWx3YXlzIHByZXNlbnQsIG9yIGRvIHRoZXkgcmVxdWlyZSBzb21lIHNvcnQgb2YgY29uZmlndXJhdGlvbiB0b2dnbGU/IFVuZGVyc3RhbmRpbmcgdGhlIEtjb25maWcgZGVwZW5kZW5jaWVzIGdpdmVzIGluc2lnaHQgaW50byB0aGUgZmxleGliaWxpdHkgYW5kIHBvdGVudGlhbCBsaW1pdGF0aW9ucyBvZiB0aGlzIGV4dGVuc2lvbiBpbiBkaWZmZXJlbnQga2VybmVsIGJ1aWxkcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMSAyMjoxNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3h0X2hhc2hsaW1pdCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9uZXRmaWx0ZXIvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzYxMwoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDEyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIGEgc3VtbWFyeSBvZiBteSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSB0aGUgb25lIHRoaW5raW5nIGl0OgoKKipEaXZpbmcgaW50byB0aGUgTmV0ZmlsdGVyIE1ha2VmaWxlKioKCk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBMZXQmIzM5O3Mgc3RhcnQgYnkgdGFraW5nIGEgbG9vayBhdCBgbmV0L25ldGZpbHRlci9NYWtlZmlsZWAuIEdpdmVuIG15IGV4cGVyaWVuY2UgaW4gdGhpcyBzcGFjZSwgSSBhbnRpY2lwYXRlIHRoaXMgZmlsZSB3aWxsIGdpdmUgbWUgYSBoaWdoLWxldmVsIG92ZXJ2aWV3IG9mIHRoZSBOZXRmaWx0ZXIgbW9kdWxlJiMzOTtzIGJ1aWxkIHByb2Nlc3MuIEkmIzM5O2xsIGJlIGxvb2tpbmcgZm9yIHRoaW5ncyBsaWtlOgoKKiAgICoqRGVwZW5kZW5jaWVzOioqIFdoYXQgb3RoZXIgcGFydHMgb2YgdGhlIGtlcm5lbCBhcmUgcmVxdWlyZWQgdG8gYnVpbGQgTmV0ZmlsdGVyPyBBcmUgdGhlcmUgYW55IHNwZWNpZmljIGxpYnJhcmllcyBvciBpbmNsdWRlIGZpbGVzIEkgc2hvdWxkIG5vdGU/CiogICAqKk9iamVjdCBGaWxlczoqKiBXaGljaCBzb3VyY2UgZmlsZXMgY29udHJpYnV0ZSB0byB0aGUgY3JlYXRpb24gb2YgdGhlIE5ldGZpbHRlciBtb2R1bGVzPyBJJiMzOTtsbCBwcm9iYWJseSBzY2FuIGZvciBwYXR0ZXJucyBvZiBgLm9gIGZpbGVzIGFuZCB0cnkgdG8gaW5mZXIgd2hpY2ggZnVuY3Rpb25hbGl0eSB0aGV5IHJlcHJlc2VudC4KKiAgICoqTW9kdWxlIENvbmZpZ3VyYXRpb246KiogRG9lcyB0aGUgTWFrZWZpbGUgaGFuZGxlIGFueSBjb25kaXRpb25hbCBjb21waWxhdGlvbiBiYXNlZCBvbiBrZXJuZWwgY29uZmlndXJhdGlvbiBvcHRpb25zPyBJJiMzOTttIGV4cGVjdGluZyB0byBmaW5kIGAjaWZkZWZgIGJsb2NrcyBvciBzaW1pbGFyIGNvbnN0cnVjdHMgdGhhdCBjb250cm9sIHdoaWNoIG1vZHVsZXMgZ2V0IGJ1aWx0LgoqICAgKipJbnN0YWxsYXRpb246KiogSG93IGFyZSB0aGUgY29tcGlsZWQgbW9kdWxlcyBpbnN0YWxsZWQgaW50byB0aGUga2VybmVsIGltYWdlPyBUaGVyZSBzaG91bGQgYmUgc29tZSBydWxlcyB0aGF0IG1hbmFnZSB0aGUgbW9kdWxlIGRpcmVjdG9yeSBhbmQgdGhlIGBpbnNtb2Qvcm1tb2RgIG9wZXJhdGlvbnMsIHBvdGVudGlhbGx5LgoqICAgKipDbGVhbi11cCBSdWxlczoqKiBKdXN0IG91dCBvZiBoYWJpdCwgSSB3aWxsIGxvb2sgZm9yIGhvdyB0byByZW1vdmUgYnVpbHQgb2JqZWN0IGZpbGVzIGZyb20gdGhlIHNvdXJjZSBkaXJlY3RvcnkuIFRoaXMgaXMgc3RhbmRhcmQgaW4gbWFrZWZpbGVzIGFuZCBpdCYjMzk7cyBuaWNlIHRvIGhhdmUuCgpUaGlzIHNob3VsZCBnaXZlIG1lIGEgZ29vZCBpbml0aWFsIHVuZGVyc3RhbmRpbmcgb2YgaG93IE5ldGZpbHRlciBpcyBjb25zdHJ1Y3RlZCBhbmQgaW50ZWdyYXRlZCB3aXRoaW4gdGhlIGJyb2FkZXIga2VybmVsIGJ1aWxkIHN5c3RlbS4gRnJvbSB0aGVyZSwgSSBjYW4gZHJpbGwgZG93biBmdXJ0aGVyIGludG8gc3BlY2lmaWMgc291cmNlIGZpbGVzIGFzIG5lZWRlZCwgYnV0IHRoaXMgYE1ha2VmaWxlYCBpcyB0aGUgbG9naWNhbCBzdGFydGluZyBwb2ludC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7eHRfaGFzaGxpbWl0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L25ldGZpbHRlci9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbmV0ZmlsdGVyL01ha2VmaWxlPTIwMz1vYmotJChDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0VTUCkgJiM0Mzs9IHh0X2VzcC5vXG5uZXQvbmV0ZmlsdGVyL01ha2VmaWxlOjIwNDpvYmotJChDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVCkgJiM0Mzs9IHh0X2hhc2hsaW1pdC5vXG5uZXQvbmV0ZmlsdGVyL01ha2VmaWxlLTIwNS1vYmotJChDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0hFTFBFUikgJiM0Mzs9IHh0X2hlbHBlci5vXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQxMDcKCQkJCQkJCW91dHB1dDogMTM3CgkJCQkJCQl0aG91Z2h0czogNjgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSBub3RlcywgY29uc2lkZXJpbmcgSSYjMzk7bSBmYW1pbGlhciB3aXRoIHRoaXMgYXJlYToKCioqQW5hbHl6aW5nIHRoZSBIYXNobGltaXQgTmV0ZmlsdGVyIE1vZHVsZSBDb25maWd1cmF0aW9uKioKClJpZ2h0LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlIGBORVRGSUxURVJfWFRfTUFUQ0hfSEFTSExJTUlUYCBjb25maWd1cmF0aW9uIG9wdGlvbi4gVGhhdCB0ZWxscyBtZSB0aGlzIGlzIGFsbCBhYm91dCB0aGUgaGFzaGxpbWl0IE5ldGZpbHRlciBtYXRjaCwgd2hpY2ggaXMgZGVmaW5pdGVseSBzb21ldGhpbmcgSSYjMzk7dmUgd29ya2VkIHdpdGggYmVmb3JlLiBJIG5lZWQgdG8gYmUgc3VyZSBJIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIHRoZSBzeW1ib2xzLgoKSSBzZWUgdGhlIGtleSBzeW1ib2xzIHRoYXQgYXJlIG9mIGludGVyZXN0IGFuZCB3aGljaCBJIHdpbGwgc2V0OgoqICAgYGRzdGhhc2hfYWxsb2NfaW5pdGA6IFRoaXMgbGlrZWx5IGhhbmRsZXMgdGhlIGluaXRpYWwgYWxsb2NhdGlvbiBhbmQgc2V0dXAgb2YgdGhlIGRlc3RpbmF0aW9uIGhhc2gsIHdoaWNoIGlzIHRoZSBjb3JlIHN0cnVjdHVyZSBmb3IgdHJhY2tpbmcgY29ubmVjdGlvbiByYXRlcy4gSXQmIzM5O3MgdGhlIHN0YXJ0aW5nIHBvaW50LgoqICAgYGhhc2hsaW1pdF9tdF9jb21tb25gOiBJdCBoYXMgJiMzNDtjb21tb24mIzM0OyBpbiB0aGUgbmFtZSwgc28gdGhpcyBtaWdodCBiZSB0aGUgY29yZSBsb2dpYyBzaGFyZWQgYmV0d2VlbiB0aGUgZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZSBoYXNobGltaXQgbWF0Y2guIFByb2JhYmx5IHdoZXJlIHRoZSByYXRlIGxpbWl0aW5nIGFjdHVhbGx5IGhhcHBlbnMuCiogICBgaGFzaGxpbWl0X210X3YxYCwgYGhhc2hsaW1pdF9tdF92MmA6IFRoZXNlIGxpa2VseSByZXByZXNlbnQgZGlmZmVyZW50IHZlcnNpb25zIG9yIGl0ZXJhdGlvbnMgb2YgdGhlIGhhc2hsaW1pdCBtYXRjaCBpbXBsZW1lbnRhdGlvbi4gSXQgbG9va3MgbGlrZSBgdjJgIGlzIHRoZSBuZXdlciB2ZXJzaW9uIGFuZCBJIG1heSB3YW50IHRvIGZvY3VzIG9uIHRoYXQgaWYgdGhlcmUmIzM5O3MgYSBwZXJmb3JtYW5jZSBkaWZmZXJlbmNlIG9yIG5ldyBmZWF0dXJlcy4KKiAgIGBoYXNobGltaXRfbXRgOiBUaGlzIGlzIGxpa2VseSB0aGUgb3ZlcmFsbCBtYXRjaCBpbXBsZW1lbnRhdGlvbi4gSXQmIzM5O3Mgd2hhdCB0aGUgTmV0ZmlsdGVyIGZyYW1ld29yayB1bHRpbWF0ZWx5IGNhbGxzIHRvIGV2YWx1YXRlIHRyYWZmaWMgYWdhaW5zdCB0aGUgaGFzaGxpbWl0IGNyaXRlcmlhLiBJJiMzOTtsbCBtYWtlIHN1cmUgdG8gZXZhbHVhdGUgdGhpcyBvbmUgdG9vLgoKT2theSwgSSB1bmRlcnN0YW5kIHRoZSBjb21wb25lbnRzLiBJJiMzOTtsbCBzZXQgdGhlIHJlc3VsdHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORVRGSUxURVJfWFRfTUFUQ0hfSEFTSExJTUlUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZHN0aGFzaF9hbGxvY19pbml0JiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF9jb21tb24mIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X3YxJiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF92MiYjMzQ7LAogICAgJiMzNDtoYXNobGltaXRfbXQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW5pdGlhbGl6ZXMgYGVudC1cdTAwM2VyYXRlaW5mb2AgdG8gMCBpbiBgZHN0aGFzaF9hbGxvY19pbml0YCwgZml4aW5nIGEgcG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3VlIGluIHRoZSBgaGFzaGxpbWl0YCBuZXRmaWx0ZXIgZXh0ZW5zaW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORVRGSUxURVJfWFRfTUFUQ0hfSEFTSExJTUlUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZHN0aGFzaF9hbGxvY19pbml0JiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF9jb21tb24mIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X3YxJiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF92MiYjMzQ7LAogICAgJiMzNDtoYXNobGltaXRfbXQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW5pdGlhbGl6ZXMgYGVudC1cdTAwM2VyYXRlaW5mb2AgdG8gMCBpbiBgZHN0aGFzaF9hbGxvY19pbml0YCwgZml4aW5nIGEgcG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3VlIGluIHRoZSBgaGFzaGxpbWl0YCBuZXRmaWx0ZXIgZXh0ZW5zaW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MjEuNjIwNzQ2MTIxWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjA0MjY5MjE0ODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRzdGhhc2hfYWxsb2NfaW5pdFwiLFxuICAgIFwiaGFzaGxpbWl0X210X2NvbW1vblwiLFxuICAgIFwiaGFzaGxpbWl0X210X3YxXCIsXG4gICAgXCJoYXNobGltaXRfbXRfdjJcIixcbiAgICBcImhhc2hsaW1pdF9tdFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGluaXRpYWxpemVzIGBlbnQtXFx1MDAzZXJhdGVpbmZvYCB0byAwIGluIGBkc3RoYXNoX2FsbG9jX2luaXRgLCBmaXhpbmcgYSBwb3RlbnRpYWwgdW5pbml0aWFsaXplZCBtZW1vcnkgaXNzdWUgaW4gdGhlIGBoYXNobGltaXRgIG5ldGZpbHRlciBleHRlbnNpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjIxLjYyMDc1NDA5MVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Nzc2MzUwMjA4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgM2VlMTcyYmUyNDAwNGNlM2ExZDBhMzRiNDU4OTdlMTFmMTYyNDNkY1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1bCAyMSAyMjoxNzoxOSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jIGIvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuY1xcbmluZGV4IDI3MDRiNGI2MGQxZTA0Li44OTQzZWQ2MDg1ZTcxZCAxMDA2NDRcXG4tLS0gYS9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXFxuKysrIGIvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuY1xcbkBAIC0yNDQsNiArMjQ0LDcgQEAgZHN0aGFzaF9hbGxvY19pbml0KHN0cnVjdCB4dF9oYXNobGltaXRfaHRhYmxlICpodCxcXG4gXFx0fSBlbHNlXFxuIFxcdFxcdGVudCA9IGttZW1fY2FjaGVfYWxsb2MoaGFzaGxpbWl0X2NhY2hlcCwgR0ZQX0FUT01JQyk7XFxuIFxcdGlmIChlbnQpIHtcXG4rXFx0XFx0bWVtc2V0KFxcdTAwMjZlbnQtXFx1MDAzZXJhdGVpbmZvLCAwLCBzaXplb2YoZW50LVxcdTAwM2VyYXRlaW5mbykpO1xcbiBcXHRcXHRtZW1jcHkoXFx1MDAyNmVudC1cXHUwMDNlZHN0LCBkc3QsIHNpemVvZihlbnQtXFx1MDAzZWRzdCkpO1xcbiBcXHRcXHRzcGluX2xvY2tfaW5pdChcXHUwMDI2ZW50LVxcdTAwM2Vsb2NrKTtcXG4gXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjIyLjM5Nzg0NTQ5OVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjE5NjQ5ODA4MTI0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5FVEZJTFRFUl9YVF9NQVRDSF9IQVNITElNSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJkc3RoYXNoX2FsbG9jX2luaXRcIixcbiAgICBcImhhc2hsaW1pdF9tdF9jb21tb25cIixcbiAgICBcImhhc2hsaW1pdF9tdF92MVwiLFxuICAgIFwiaGFzaGxpbWl0X210X3YyXCIsXG4gICAgXCJoYXNobGltaXRfbXRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpbml0aWFsaXplcyBgZW50LVxcdTAwM2VyYXRlaW5mb2AgdG8gMCBpbiBgZHN0aGFzaF9hbGxvY19pbml0YCwgZml4aW5nIGEgcG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3VlIGluIHRoZSBgaGFzaGxpbWl0YCBuZXRmaWx0ZXIgZXh0ZW5zaW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDNlZTE3MmJlMjQwMDRjZTNhMWQwYTM0YjQ1ODk3ZTExZjE2MjQzZGNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1bCAyMSAyMjoxNzoxOSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMgYi9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXG5pbmRleCAyNzA0YjRiNjBkMWUwNC4uODk0M2VkNjA4NWU3MWQgMTAwNjQ0XG4tLS0gYS9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXG4rKysgYi9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXG5AQCAtMjQ0LDYgKzI0NCw3IEBAIGRzdGhhc2hfYWxsb2NfaW5pdChzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaHQsXG4gXHR9IGVsc2VcbiBcdFx0ZW50ID0ga21lbV9jYWNoZV9hbGxvYyhoYXNobGltaXRfY2FjaGVwLCBHRlBfQVRPTUlDKTtcbiBcdGlmIChlbnQpIHtcbitcdFx0bWVtc2V0KFx1MDAyNmVudC1cdTAwM2VyYXRlaW5mbywgMCwgc2l6ZW9mKGVudC1cdTAwM2VyYXRlaW5mbykpO1xuIFx0XHRtZW1jcHkoXHUwMDI2ZW50LVx1MDAzZWRzdCwgZHN0LCBzaXplb2YoZW50LVx1MDAzZWRzdCkpO1xuIFx0XHRzcGluX2xvY2tfaW5pdChcdTAwMjZlbnQtXHUwMDNlbG9jayk7XG4gXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMVQyMjoxNzoyMi4zOTc4NDY4NzlaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MDA0NzU1NDQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgc3VtbWFyeSwgYXMgdGhvdWdoIEknbSB0aGlua2luZyB0aHJvdWdoIHRoaXMgcGF0Y2g6XG5cbioqQW5hbHl6aW5nIGEgSGFzaGxpbWl0IFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgYG5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmNgLiBUaGUgY29yZSBvZiBpdCBzZWVtcyB0byBiZSBhZGRpbmcgYSBgbWVtc2V0YCBjYWxsIHdpdGhpbiB0aGUgYGRzdGhhc2hfYWxsb2NfaW5pdGAgZnVuY3Rpb24uIFNwZWNpZmljYWxseSwgaXQncyBkb2luZyBgbWVtc2V0KFx1MDAyNmVudC1cdTAwM2VyYXRlaW5mbywgMCwgc2l6ZW9mKGVudC1cdTAwM2VyYXRlaW5mbykpO2AuIFRoaXMgaW1tZWRpYXRlbHkgZmxhZ3MgdGhlIGFyZWEgd2hlcmUgd2Ugc2hvdWxkIHN0YXJ0LCBvZiBjb3Vyc2UuIE15IGZpcnN0IHRob3VnaHQgaXMgd2hhdCB0aGlzIGBlbnQtXHUwMDNlcmF0ZWluZm9gIHN0cnVjdHVyZSAqaXMqIGFuZCB3aHkgd2UncmUgemVyb2luZyBpdCBvdXQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBXaGF0J3MgdGhlIHBvdGVudGlhbCBpbXBsaWNhdGlvbiBmb3IgaXRzIGNvbnRlbnRzIGlmIHRoaXMgaXNuJ3QgZG9uZT8gSXMgdGhlcmUgc29tZSBwcmUtZXhpc3RpbmcgaXNzdWUgdGhhdCBtaWdodCBiZSBhZGRyZXNzZWQgYnkgZG9pbmcgdGhpcz8gSSBuZWVkIHRvIGRpZyBpbnRvIHRoZSBzdXJyb3VuZGluZyBjb2RlIHRvIGRldGVybWluZSB0aGUgcHVycG9zZSBvZiBgcmF0ZWluZm9gIGFuZCBpdHMgaW1wYWN0LiBUaGlzIHNtZWxscyBsaWtlIGFuIGluaXRpYWxpemF0aW9uIGlzc3VlIHRoYXQgY291bGQgbGVhZCB0byB1bmV4cGVjdGVkIGJlaGF2aW9yIGxhdGVyIG9uLiBJJ2xsIG5lZWQgdG8gc2VlIGlmIHRoaXMgYWRkaXRpb24gZml4ZXMgYSByYWNlIGNvbmRpdGlvbiwgcHJldmVudHMgYSBtZW1vcnkgbGVhaywgb3IgaW1wcm92ZXMgdGhlIG92ZXJhbGwgcm9idXN0bmVzcyBvZiB0aGUgaGFzaGxpbWl0IG1vZHVsZS4gSSdsbCBoYXZlIHRvIGNvbnNpZGVyIGhvdyB0aGlzIGFmZmVjdHMgdGhlIGV4aXN0aW5nIGJlaGF2aW91ciwgYW5kIHdoYXQgaW1wYWN0IGl0IGhhcyBvbiB0aGUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiB0aGUgbW9kdWxlLiBUaW1lIHRvIGRpdmUgaW50byB0aGUgY29kZSFcblxuXG4iLCJJbnB1dFRva2VucyI6MTkwNiwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjc4LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MjYuNDAyNjA0NDU3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg4NDA0MjYwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImRzdGhhc2hfYWxsb2NfaW5pdFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM9MjE1PXN0YXRpYyBzdHJ1Y3QgZHN0aGFzaF9lbnQgKlxcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM6MjE2OmRzdGhhc2hfYWxsb2NfaW5pdChzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaHQsXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy0yMTctXFx0XFx0ICAgY29uc3Qgc3RydWN0IGRzdGhhc2hfZHN0ICpkc3QsIGJvb2wgKnJhY2UpXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTczMD1oYXNobGltaXRfbXRfY29tbW9uKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4dF9hY3Rpb25fcGFyYW0gKnBhcixcXG4tLVxcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtNzQ1LVxcdGlmIChkaCA9PSBOVUxMKSB7XFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo3NDY6XFx0XFx0ZGggPSBkc3RoYXNoX2FsbG9jX2luaXQoaGluZm8sIFxcdTAwMjZkc3QsIFxcdTAwMjZyYWNlKTtcXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTc0Ny1cXHRcXHRpZiAoZGggPT0gTlVMTCkge1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMVQyMjoxNzoyNi40OTEwMTM5MTdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNTcxNTc5OTMwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFkZHJlc3NpbmcgYSBQb3RlbnRpYWwgTWVtb3J5IFNhZmV0eSBJc3N1ZSoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgZG9pbmcgc29tZXRoaW5nIHN0cmFpZ2h0Zm9yd2FyZCwgYnV0IGltcG9ydGFudDogaXQncyBpbml0aWFsaXppbmcgYGVudC1cdTAwM2VyYXRlaW5mb2AgdG8gemVyby4gSXQgc2VlbXMgbGlrZSBhIG1pbm9yIGNoYW5nZSwgYnV0IGl0J3MgYSBmdW5jdGlvbmFsIGZpeCwgcHJvYmFibHkgYWRkcmVzc2luZyBhbiB1bmluaXRpYWxpemVkIG1lbW9yeSBwcm9ibGVtLiBNeSBndXQgZmVlbGluZyBpcyB0aGF0IHdlJ3JlIGRlYWxpbmcgd2l0aCBhbiBcInVuaW5pdC12YWx1ZVwiIG9yIFwidW5pbml0LW1lbW9yeVwiIHNjZW5hcmlvLCBhbmQgdGhpcyBwYXRjaCBhaW1zIHRvIGVsaW1pbmF0ZSB0aGF0IHJpc2suXG5cbkxldCdzIHNlZSwgYGRzdGhhc2hfYWxsb2NfaW5pdGAgaXMgdGhlIGZ1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciB0aGF0IHplcm9pbmcgb3BlcmF0aW9uLCBhbmQgSSBzZWUgaXQncyBjYWxsZWQgZnJvbSBgaGFzaGxpbWl0X210X2NvbW1vbmAuIE5vdywgdG8gZnVsbHkgdW5kZXJzdGFuZCB0aGUgaW1wbGljYXRpb24gb2YgdGhpcyBjaGFuZ2UsIEkgbmVlZCB0byB0cmFjZSB0aGlzIGJhY2suIFRoZSBuZXh0IGxvZ2ljYWwgc3RlcCBpcyB0byBmaWd1cmUgb3V0ICp3aGVyZSogYGhhc2hsaW1pdF9tdF9jb21tb25gIGl0c2VsZiBpcyBiZWluZyBjYWxsZWQgZnJvbS4gVGhhdCdsbCBnaXZlIG1lIHRoZSBjb250ZXh0IEkgbmVlZCB0byBhc3Nlc3MgdGhlIGZ1bGwgaW1wYWN0IGFuZCBpbXBvcnRhbmNlIG9mIHRoaXMgZml4IHdpdGhpbiB0aGUgbGFyZ2VyIHN5c3RlbS4gVGltZSB0byBkaWcgYSBsaXR0bGUgZGVlcGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTI5LCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MzAuMDYyNTk2NzQ3WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjgwNjgyNTcwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImhhc2hsaW1pdF9tdF9jb21tb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTcyOT1zdGF0aWMgYm9vbFxcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM6NzMwOmhhc2hsaW1pdF9tdF9jb21tb24oY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyLFxcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtNzMxLVxcdFxcdCAgICBzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaGluZm8sXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTgwMz1oYXNobGltaXRfbXRfdjEoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKVxcbi0tXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy04MTMtXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo4MTQ6XFx0cmV0dXJuIGhhc2hsaW1pdF9tdF9jb21tb24oc2tiLCBwYXIsIGhpbmZvLCBcXHUwMDI2Y2ZnLCAxKTtcXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgxNS19XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTgxOD1oYXNobGltaXRfbXRfdjIoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKVxcbi0tXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy04MjgtXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo4Mjk6XFx0cmV0dXJuIGhhc2hsaW1pdF9tdF9jb21tb24oc2tiLCBwYXIsIGhpbmZvLCBcXHUwMDI2Y2ZnLCAyKTtcXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzMC19XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTgzMz1oYXNobGltaXRfbXQoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKVxcbi0tXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy04MzctXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo4Mzg6XFx0cmV0dXJuIGhhc2hsaW1pdF9tdF9jb21tb24oc2tiLCBwYXIsIGhpbmZvLCBcXHUwMDI2aW5mby1cXHUwMDNlY2ZnLCAzKTtcXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzOS19XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjMwLjE0MzI4NzE5N1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI4Nzk1MTc4MzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzOlxuXG4qKkFuYWx5emluZyB0aGUgSGFzaGxpbWl0IE1hdGNoIEZ1bmN0aW9ucyoqXG5cbk9rYXksIHNvIEknbSBkaWdnaW5nIGludG8gdGhlIGBoYXNobGltaXRgIGV4dGVuc2lvbiBmb3IgaXB0YWJsZXMsIHNwZWNpZmljYWxseSB0aGUgbWF0Y2ggZnVuY3Rpb25zOiBgaGFzaGxpbWl0X210X3YxYCwgYGhhc2hsaW1pdF9tdF92MmAsIGFuZCBgaGFzaGxpbWl0X210YC4gUmlnaHQgYXdheSwgaXQncyBjbGVhciB0aGVzZSBhcmUgdGhlIGNvcmUgY29tcG9uZW50cyByZXNwb25zaWJsZSBmb3IgYWN0dWFsbHkgKmRvaW5nKiB0aGUgaGFzaGxpbWl0IG1hdGNoaW5nLiBOb3csIGl0J3MgdGltZSB0byBjb25maXJtIHRoZSBLY29uZmlnIGRldGFpbHMgZm9yIGB4dF9oYXNobGltaXQuY2AuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0aGVzZSBmdW5jdGlvbnMgYXJlIGNvbmZpZ3VyZWQgYW5kLCBieSBleHRlbnNpb24sIGhvdyB0aGUgZXh0ZW5zaW9uIGl0c2VsZiBpcyBjb21waWxlZCBpbnRvIHRoZSBrZXJuZWwgb3IgYXMgYSBtb2R1bGUuIEnigJltIHRoaW5raW5nIGFib3V0IHRoZSBjb21waWxlIHRpbWUgb3B0aW9ucy4gQXJlIHRoZXNlIHRoaW5ncyBhbHdheXMgcHJlc2VudCwgb3IgZG8gdGhleSByZXF1aXJlIHNvbWUgc29ydCBvZiBjb25maWd1cmF0aW9uIHRvZ2dsZT8gVW5kZXJzdGFuZGluZyB0aGUgS2NvbmZpZyBkZXBlbmRlbmNpZXMgZ2l2ZXMgaW5zaWdodCBpbnRvIHRoZSBmbGV4aWJpbGl0eSBhbmQgcG90ZW50aWFsIGxpbWl0YXRpb25zIG9mIHRoaXMgZXh0ZW5zaW9uIGluIGRpZmZlcmVudCBrZXJuZWwgYnVpbGRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMzIwLCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MzMuMDIyODA3NzY5WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjkwNzk5ODcwLCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ4dF9oYXNobGltaXRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L25ldGZpbHRlci9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMVQyMjoxNzozMy4xMTM2MTc3ODlaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNjgxNTE5ODkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgYSBzdW1tYXJ5IG9mIG15IHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIHRoZSBvbmUgdGhpbmtpbmcgaXQ6XG5cbioqRGl2aW5nIGludG8gdGhlIE5ldGZpbHRlciBNYWtlZmlsZSoqXG5cbk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBMZXQncyBzdGFydCBieSB0YWtpbmcgYSBsb29rIGF0IGBuZXQvbmV0ZmlsdGVyL01ha2VmaWxlYC4gR2l2ZW4gbXkgZXhwZXJpZW5jZSBpbiB0aGlzIHNwYWNlLCBJIGFudGljaXBhdGUgdGhpcyBmaWxlIHdpbGwgZ2l2ZSBtZSBhIGhpZ2gtbGV2ZWwgb3ZlcnZpZXcgb2YgdGhlIE5ldGZpbHRlciBtb2R1bGUncyBidWlsZCBwcm9jZXNzLiBJJ2xsIGJlIGxvb2tpbmcgZm9yIHRoaW5ncyBsaWtlOlxuXG4qICAgKipEZXBlbmRlbmNpZXM6KiogV2hhdCBvdGhlciBwYXJ0cyBvZiB0aGUga2VybmVsIGFyZSByZXF1aXJlZCB0byBidWlsZCBOZXRmaWx0ZXI/IEFyZSB0aGVyZSBhbnkgc3BlY2lmaWMgbGlicmFyaWVzIG9yIGluY2x1ZGUgZmlsZXMgSSBzaG91bGQgbm90ZT9cbiogICAqKk9iamVjdCBGaWxlczoqKiBXaGljaCBzb3VyY2UgZmlsZXMgY29udHJpYnV0ZSB0byB0aGUgY3JlYXRpb24gb2YgdGhlIE5ldGZpbHRlciBtb2R1bGVzPyBJJ2xsIHByb2JhYmx5IHNjYW4gZm9yIHBhdHRlcm5zIG9mIGAub2AgZmlsZXMgYW5kIHRyeSB0byBpbmZlciB3aGljaCBmdW5jdGlvbmFsaXR5IHRoZXkgcmVwcmVzZW50LlxuKiAgICoqTW9kdWxlIENvbmZpZ3VyYXRpb246KiogRG9lcyB0aGUgTWFrZWZpbGUgaGFuZGxlIGFueSBjb25kaXRpb25hbCBjb21waWxhdGlvbiBiYXNlZCBvbiBrZXJuZWwgY29uZmlndXJhdGlvbiBvcHRpb25zPyBJJ20gZXhwZWN0aW5nIHRvIGZpbmQgYCNpZmRlZmAgYmxvY2tzIG9yIHNpbWlsYXIgY29uc3RydWN0cyB0aGF0IGNvbnRyb2wgd2hpY2ggbW9kdWxlcyBnZXQgYnVpbHQuXG4qICAgKipJbnN0YWxsYXRpb246KiogSG93IGFyZSB0aGUgY29tcGlsZWQgbW9kdWxlcyBpbnN0YWxsZWQgaW50byB0aGUga2VybmVsIGltYWdlPyBUaGVyZSBzaG91bGQgYmUgc29tZSBydWxlcyB0aGF0IG1hbmFnZSB0aGUgbW9kdWxlIGRpcmVjdG9yeSBhbmQgdGhlIGBpbnNtb2Qvcm1tb2RgIG9wZXJhdGlvbnMsIHBvdGVudGlhbGx5LlxuKiAgICoqQ2xlYW4tdXAgUnVsZXM6KiogSnVzdCBvdXQgb2YgaGFiaXQsIEkgd2lsbCBsb29rIGZvciBob3cgdG8gcmVtb3ZlIGJ1aWx0IG9iamVjdCBmaWxlcyBmcm9tIHRoZSBzb3VyY2UgZGlyZWN0b3J5LiBUaGlzIGlzIHN0YW5kYXJkIGluIG1ha2VmaWxlcyBhbmQgaXQncyBuaWNlIHRvIGhhdmUuXG5cblRoaXMgc2hvdWxkIGdpdmUgbWUgYSBnb29kIGluaXRpYWwgdW5kZXJzdGFuZGluZyBvZiBob3cgTmV0ZmlsdGVyIGlzIGNvbnN0cnVjdGVkIGFuZCBpbnRlZ3JhdGVkIHdpdGhpbiB0aGUgYnJvYWRlciBrZXJuZWwgYnVpbGQgc3lzdGVtLiBGcm9tIHRoZXJlLCBJIGNhbiBkcmlsbCBkb3duIGZ1cnRoZXIgaW50byBzcGVjaWZpYyBzb3VyY2UgZmlsZXMgYXMgbmVlZGVkLCBidXQgdGhpcyBgTWFrZWZpbGVgIGlzIHRoZSBsb2dpY2FsIHN0YXJ0aW5nIHBvaW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjozNjEzLCJPdXRwdXRUb2tlbnMiOjMwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MzYuNzk1MTM5NjA4WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTQ5OTQ2MTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwieHRfaGFzaGxpbWl0XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9uZXRmaWx0ZXIvTWFrZWZpbGVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L25ldGZpbHRlci9NYWtlZmlsZT0yMDM9b2JqLSQoQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9FU1ApICs9IHh0X2VzcC5vXFxubmV0L25ldGZpbHRlci9NYWtlZmlsZToyMDQ6b2JqLSQoQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9IQVNITElNSVQpICs9IHh0X2hhc2hsaW1pdC5vXFxubmV0L25ldGZpbHRlci9NYWtlZmlsZS0yMDUtb2JqLSQoQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9IRUxQRVIpICs9IHh0X2hlbHBlci5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjM2LjkxMDE0MDc5OFoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0OTg3MDUxNTA2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSBub3RlcywgY29uc2lkZXJpbmcgSSdtIGZhbWlsaWFyIHdpdGggdGhpcyBhcmVhOlxuXG4qKkFuYWx5emluZyB0aGUgSGFzaGxpbWl0IE5ldGZpbHRlciBNb2R1bGUgQ29uZmlndXJhdGlvbioqXG5cblJpZ2h0LCBzbyBJJ20gbG9va2luZyBhdCB0aGUgYE5FVEZJTFRFUl9YVF9NQVRDSF9IQVNITElNSVRgIGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGF0IHRlbGxzIG1lIHRoaXMgaXMgYWxsIGFib3V0IHRoZSBoYXNobGltaXQgTmV0ZmlsdGVyIG1hdGNoLCB3aGljaCBpcyBkZWZpbml0ZWx5IHNvbWV0aGluZyBJJ3ZlIHdvcmtlZCB3aXRoIGJlZm9yZS4gSSBuZWVkIHRvIGJlIHN1cmUgSSB1bmRlcnN0YW5kIHRoZSBzY29wZSBvZiB0aGUgc3ltYm9scy5cblxuSSBzZWUgdGhlIGtleSBzeW1ib2xzIHRoYXQgYXJlIG9mIGludGVyZXN0IGFuZCB3aGljaCBJIHdpbGwgc2V0OlxuKiAgIGBkc3RoYXNoX2FsbG9jX2luaXRgOiBUaGlzIGxpa2VseSBoYW5kbGVzIHRoZSBpbml0aWFsIGFsbG9jYXRpb24gYW5kIHNldHVwIG9mIHRoZSBkZXN0aW5hdGlvbiBoYXNoLCB3aGljaCBpcyB0aGUgY29yZSBzdHJ1Y3R1cmUgZm9yIHRyYWNraW5nIGNvbm5lY3Rpb24gcmF0ZXMuIEl0J3MgdGhlIHN0YXJ0aW5nIHBvaW50LlxuKiAgIGBoYXNobGltaXRfbXRfY29tbW9uYDogSXQgaGFzIFwiY29tbW9uXCIgaW4gdGhlIG5hbWUsIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGNvcmUgbG9naWMgc2hhcmVkIGJldHdlZW4gdGhlIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgaGFzaGxpbWl0IG1hdGNoLiBQcm9iYWJseSB3aGVyZSB0aGUgcmF0ZSBsaW1pdGluZyBhY3R1YWxseSBoYXBwZW5zLlxuKiAgIGBoYXNobGltaXRfbXRfdjFgLCBgaGFzaGxpbWl0X210X3YyYDogVGhlc2UgbGlrZWx5IHJlcHJlc2VudCBkaWZmZXJlbnQgdmVyc2lvbnMgb3IgaXRlcmF0aW9ucyBvZiB0aGUgaGFzaGxpbWl0IG1hdGNoIGltcGxlbWVudGF0aW9uLiBJdCBsb29rcyBsaWtlIGB2MmAgaXMgdGhlIG5ld2VyIHZlcnNpb24gYW5kIEkgbWF5IHdhbnQgdG8gZm9jdXMgb24gdGhhdCBpZiB0aGVyZSdzIGEgcGVyZm9ybWFuY2UgZGlmZmVyZW5jZSBvciBuZXcgZmVhdHVyZXMuXG4qICAgYGhhc2hsaW1pdF9tdGA6IFRoaXMgaXMgbGlrZWx5IHRoZSBvdmVyYWxsIG1hdGNoIGltcGxlbWVudGF0aW9uLiBJdCdzIHdoYXQgdGhlIE5ldGZpbHRlciBmcmFtZXdvcmsgdWx0aW1hdGVseSBjYWxscyB0byBldmFsdWF0ZSB0cmFmZmljIGFnYWluc3QgdGhlIGhhc2hsaW1pdCBjcml0ZXJpYS4gSSdsbCBtYWtlIHN1cmUgdG8gZXZhbHVhdGUgdGhpcyBvbmUgdG9vLlxuXG5Pa2F5LCBJIHVuZGVyc3RhbmQgdGhlIGNvbXBvbmVudHMuIEknbGwgc2V0IHRoZSByZXN1bHRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MTA3LCJPdXRwdXRUb2tlbnMiOjEzNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjY4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjQxLjg5NzE5NDQ1NFoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1MDQ1NDIwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRzdGhhc2hfYWxsb2NfaW5pdFwiLFxuICAgIFwiaGFzaGxpbWl0X210X2NvbW1vblwiLFxuICAgIFwiaGFzaGxpbWl0X210X3YxXCIsXG4gICAgXCJoYXNobGltaXRfbXRfdjJcIixcbiAgICBcImhhc2hsaW1pdF9tdFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGluaXRpYWxpemVzIGBlbnQtXFx1MDAzZXJhdGVpbmZvYCB0byAwIGluIGBkc3RoYXNoX2FsbG9jX2luaXRgLCBmaXhpbmcgYSBwb3RlbnRpYWwgdW5pbml0aWFsaXplZCBtZW1vcnkgaXNzdWUgaW4gdGhlIGBoYXNobGltaXRgIG5ldGZpbHRlciBleHRlbnNpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRzdGhhc2hfYWxsb2NfaW5pdFwiLFxuICAgIFwiaGFzaGxpbWl0X210X2NvbW1vblwiLFxuICAgIFwiaGFzaGxpbWl0X210X3YxXCIsXG4gICAgXCJoYXNobGltaXRfbXRfdjJcIixcbiAgICBcImhhc2hsaW1pdF9tdFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGluaXRpYWxpemVzIGBlbnQtXFx1MDAzZXJhdGVpbmZvYCB0byAwIGluIGBkc3RoYXNoX2FsbG9jX2luaXRgLCBmaXhpbmcgYSBwb3RlbnRpYWwgdW5pbml0aWFsaXplZCBtZW1vcnkgaXNzdWUgaW4gdGhlIGBoYXNobGltaXRgIG5ldGZpbHRlciBleHRlbnNpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-21 21:29:10 +0000 UTC FinishedAt: 2026-07-21 22:17:43 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "nf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git", "commit_hash": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NETFILTER_XT_MATCH_HASHLIMIT" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "nf-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git", "commit_hash": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "NETFILTER_XT_MATCH_HASHLIMIT" ], "series_id": "8b17fc56-587f-4559-a33c-1c192d474e59" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "dsthash_alloc_init", "hashlimit_mt_common", "hashlimit_mt_v1", "hashlimit_mt_v2", "hashlimit_mt" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O05FVEZJTFRFUl9YVF9NQVRDSF9IQVNITElNSVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtkc3RoYXNoX2FsbG9jX2luaXQmIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X2NvbW1vbiYjMzQ7LAogICAgJiMzNDtoYXNobGltaXRfbXRfdjEmIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X3YyJiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbml0aWFsaXplcyBgZW50LVx1MDAzZXJhdGVpbmZvYCB0byAwIGluIGBkc3RoYXNoX2FsbG9jX2luaXRgLCBmaXhpbmcgYSBwb3RlbnRpYWwgdW5pbml0aWFsaXplZCBtZW1vcnkgaXNzdWUgaW4gdGhlIGBoYXNobGltaXRgIG5ldGZpbHRlciBleHRlbnNpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCAzZWUxNzJiZTI0MDA0Y2UzYTFkMGEzNGI0NTg5N2UxMWYxNjI0M2RjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgMjEgMjI6MTc6MTkgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYyBiL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmNcbmluZGV4IDI3MDRiNGI2MGQxZTA0Li44OTQzZWQ2MDg1ZTcxZCAxMDA2NDRcbi0tLSBhL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmNcbiYjNDM7JiM0MzsmIzQzOyBiL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmNcbkBAIC0yNDQsNiAmIzQzOzI0NCw3IEBAIGRzdGhhc2hfYWxsb2NfaW5pdChzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaHQsXG4gXHR9IGVsc2VcbiBcdFx0ZW50ID0ga21lbV9jYWNoZV9hbGxvYyhoYXNobGltaXRfY2FjaGVwLCBHRlBfQVRPTUlDKTtcbiBcdGlmIChlbnQpIHtcbiYjNDM7XHRcdG1lbXNldChcdTAwMjZlbnQtXHUwMDNlcmF0ZWluZm8sIDAsIHNpemVvZihlbnQtXHUwMDNlcmF0ZWluZm8pKTtcbiBcdFx0bWVtY3B5KFx1MDAyNmVudC1cdTAwM2Vkc3QsIGRzdCwgc2l6ZW9mKGVudC1cdTAwM2Vkc3QpKTtcbiBcdFx0c3Bpbl9sb2NrX2luaXQoXHUwMDI2ZW50LVx1MDAzZWxvY2spO1xuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORVRGSUxURVJfWFRfTUFUQ0hfSEFTSExJTUlUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZHN0aGFzaF9hbGxvY19pbml0JiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF9jb21tb24mIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X3YxJiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF92MiYjMzQ7LAogICAgJiMzNDtoYXNobGltaXRfbXQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW5pdGlhbGl6ZXMgYGVudC1cdTAwM2VyYXRlaW5mb2AgdG8gMCBpbiBgZHN0aGFzaF9hbGxvY19pbml0YCwgZml4aW5nIGEgcG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3VlIGluIHRoZSBgaGFzaGxpbWl0YCBuZXRmaWx0ZXIgZXh0ZW5zaW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAzZWUxNzJiZTI0MDA0Y2UzYTFkMGEzNGI0NTg5N2UxMWYxNjI0M2RjCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgMjEgMjI6MTc6MTkgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jIGIvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYwppbmRleCAyNzA0YjRiNjBkMWUwNC4uODk0M2VkNjA4NWU3MWQgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYwpAQCAtMjQ0LDYgJiM0MzsyNDQsNyBAQCBkc3RoYXNoX2FsbG9jX2luaXQoc3RydWN0IHh0X2hhc2hsaW1pdF9odGFibGUgKmh0LAogCX0gZWxzZQogCQllbnQgPSBrbWVtX2NhY2hlX2FsbG9jKGhhc2hsaW1pdF9jYWNoZXAsIEdGUF9BVE9NSUMpOwogCWlmIChlbnQpIHsKJiM0MzsJCW1lbXNldCgmYW1wO2VudC0mZ3Q7cmF0ZWluZm8sIDAsIHNpemVvZihlbnQtJmd0O3JhdGVpbmZvKSk7CiAJCW1lbWNweSgmYW1wO2VudC0mZ3Q7ZHN0LCBkc3QsIHNpemVvZihlbnQtJmd0O2RzdCkpOwogCQlzcGluX2xvY2tfaW5pdCgmYW1wO2VudC0mZ3Q7bG9jayk7CiAKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTkwNgoJCQkJCQkJb3V0cHV0OiAzNwoJCQkJCQkJdGhvdWdodHM6IDc4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJJiMzOTttIHRoaW5raW5nIHRocm91Z2ggdGhpcyBwYXRjaDoKCioqQW5hbHl6aW5nIGEgSGFzaGxpbWl0IFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBgbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuY2AuIFRoZSBjb3JlIG9mIGl0IHNlZW1zIHRvIGJlIGFkZGluZyBhIGBtZW1zZXRgIGNhbGwgd2l0aGluIHRoZSBgZHN0aGFzaF9hbGxvY19pbml0YCBmdW5jdGlvbi4gU3BlY2lmaWNhbGx5LCBpdCYjMzk7cyBkb2luZyBgbWVtc2V0KCZhbXA7ZW50LSZndDtyYXRlaW5mbywgMCwgc2l6ZW9mKGVudC0mZ3Q7cmF0ZWluZm8pKTtgLiBUaGlzIGltbWVkaWF0ZWx5IGZsYWdzIHRoZSBhcmVhIHdoZXJlIHdlIHNob3VsZCBzdGFydCwgb2YgY291cnNlLiBNeSBmaXJzdCB0aG91Z2h0IGlzIHdoYXQgdGhpcyBgZW50LSZndDtyYXRlaW5mb2Agc3RydWN0dXJlICppcyogYW5kIHdoeSB3ZSYjMzk7cmUgemVyb2luZyBpdCBvdXQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBXaGF0JiMzOTtzIHRoZSBwb3RlbnRpYWwgaW1wbGljYXRpb24gZm9yIGl0cyBjb250ZW50cyBpZiB0aGlzIGlzbiYjMzk7dCBkb25lPyBJcyB0aGVyZSBzb21lIHByZS1leGlzdGluZyBpc3N1ZSB0aGF0IG1pZ2h0IGJlIGFkZHJlc3NlZCBieSBkb2luZyB0aGlzPyBJIG5lZWQgdG8gZGlnIGludG8gdGhlIHN1cnJvdW5kaW5nIGNvZGUgdG8gZGV0ZXJtaW5lIHRoZSBwdXJwb3NlIG9mIGByYXRlaW5mb2AgYW5kIGl0cyBpbXBhY3QuIFRoaXMgc21lbGxzIGxpa2UgYW4gaW5pdGlhbGl6YXRpb24gaXNzdWUgdGhhdCBjb3VsZCBsZWFkIHRvIHVuZXhwZWN0ZWQgYmVoYXZpb3IgbGF0ZXIgb24uIEkmIzM5O2xsIG5lZWQgdG8gc2VlIGlmIHRoaXMgYWRkaXRpb24gZml4ZXMgYSByYWNlIGNvbmRpdGlvbiwgcHJldmVudHMgYSBtZW1vcnkgbGVhaywgb3IgaW1wcm92ZXMgdGhlIG92ZXJhbGwgcm9idXN0bmVzcyBvZiB0aGUgaGFzaGxpbWl0IG1vZHVsZS4gSSYjMzk7bGwgaGF2ZSB0byBjb25zaWRlciBob3cgdGhpcyBhZmZlY3RzIHRoZSBleGlzdGluZyBiZWhhdmlvdXIsIGFuZCB3aGF0IGltcGFjdCBpdCBoYXMgb24gdGhlIHN0YWJpbGl0eSBhbmQgcGVyZm9ybWFuY2Ugb2YgdGhlIG1vZHVsZS4gVGltZSB0byBkaXZlIGludG8gdGhlIGNvZGUhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7ZHN0aGFzaF9hbGxvY19pbml0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTIxNT1zdGF0aWMgc3RydWN0IGRzdGhhc2hfZW50ICpcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM6MjE2OmRzdGhhc2hfYWxsb2NfaW5pdChzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaHQsXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTIxNy1cdFx0ICAgY29uc3Qgc3RydWN0IGRzdGhhc2hfZHN0ICpkc3QsIGJvb2wgKnJhY2UpXG4tLVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYz03MzA9aGFzaGxpbWl0X210X2NvbW1vbihjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgeHRfYWN0aW9uX3BhcmFtICpwYXIsXG4tLVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy03NDUtXHRpZiAoZGggPT0gTlVMTCkge1xubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo3NDY6XHRcdGRoID0gZHN0aGFzaF9hbGxvY19pbml0KGhpbmZvLCBcdTAwMjZkc3QsIFx1MDAyNnJhY2UpO1xubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy03NDctXHRcdGlmIChkaCA9PSBOVUxMKSB7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjUyOQoJCQkJCQkJb3V0cHV0OiAzNwoJCQkJCQkJdGhvdWdodHM6IDgwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFkZHJlc3NpbmcgYSBQb3RlbnRpYWwgTWVtb3J5IFNhZmV0eSBJc3N1ZSoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIGRvaW5nIHNvbWV0aGluZyBzdHJhaWdodGZvcndhcmQsIGJ1dCBpbXBvcnRhbnQ6IGl0JiMzOTtzIGluaXRpYWxpemluZyBgZW50LSZndDtyYXRlaW5mb2AgdG8gemVyby4gSXQgc2VlbXMgbGlrZSBhIG1pbm9yIGNoYW5nZSwgYnV0IGl0JiMzOTtzIGEgZnVuY3Rpb25hbCBmaXgsIHByb2JhYmx5IGFkZHJlc3NpbmcgYW4gdW5pbml0aWFsaXplZCBtZW1vcnkgcHJvYmxlbS4gTXkgZ3V0IGZlZWxpbmcgaXMgdGhhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGFuICYjMzQ7dW5pbml0LXZhbHVlJiMzNDsgb3IgJiMzNDt1bmluaXQtbWVtb3J5JiMzNDsgc2NlbmFyaW8sIGFuZCB0aGlzIHBhdGNoIGFpbXMgdG8gZWxpbWluYXRlIHRoYXQgcmlzay4KCkxldCYjMzk7cyBzZWUsIGBkc3RoYXNoX2FsbG9jX2luaXRgIGlzIHRoZSBmdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgdGhhdCB6ZXJvaW5nIG9wZXJhdGlvbiwgYW5kIEkgc2VlIGl0JiMzOTtzIGNhbGxlZCBmcm9tIGBoYXNobGltaXRfbXRfY29tbW9uYC4gTm93LCB0byBmdWxseSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbiBvZiB0aGlzIGNoYW5nZSwgSSBuZWVkIHRvIHRyYWNlIHRoaXMgYmFjay4gVGhlIG5leHQgbG9naWNhbCBzdGVwIGlzIHRvIGZpZ3VyZSBvdXQgKndoZXJlKiBgaGFzaGxpbWl0X210X2NvbW1vbmAgaXRzZWxmIGlzIGJlaW5nIGNhbGxlZCBmcm9tLiBUaGF0JiMzOTtsbCBnaXZlIG1lIHRoZSBjb250ZXh0IEkgbmVlZCB0byBhc3Nlc3MgdGhlIGZ1bGwgaW1wYWN0IGFuZCBpbXBvcnRhbmNlIG9mIHRoaXMgZml4IHdpdGhpbiB0aGUgbGFyZ2VyIHN5c3RlbS4gVGltZSB0byBkaWcgYSBsaXR0bGUgZGVlcGVyLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2hhc2hsaW1pdF9tdF9jb21tb24mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM9NzI5PXN0YXRpYyBib29sXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jOjczMDpoYXNobGltaXRfbXRfY29tbW9uKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4dF9hY3Rpb25fcGFyYW0gKnBhcixcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtNzMxLVx0XHQgICAgc3RydWN0IHh0X2hhc2hsaW1pdF9odGFibGUgKmhpbmZvLFxuLS1cbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM9ODAzPWhhc2hsaW1pdF9tdF92MShjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgeHRfYWN0aW9uX3BhcmFtICpwYXIpXG4tLVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy04MTMtXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jOjgxNDpcdHJldHVybiBoYXNobGltaXRfbXRfY29tbW9uKHNrYiwgcGFyLCBoaW5mbywgXHUwMDI2Y2ZnLCAxKTtcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtODE1LX1cbi0tXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTgxOD1oYXNobGltaXRfbXRfdjIoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKVxuLS1cbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtODI4LVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo4Mjk6XHRyZXR1cm4gaGFzaGxpbWl0X210X2NvbW1vbihza2IsIHBhciwgaGluZm8sIFx1MDAyNmNmZywgMik7XG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzMC19XG4tLVxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYz04MzM9aGFzaGxpbWl0X210KGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4dF9hY3Rpb25fcGFyYW0gKnBhcilcbi0tXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzNy1cbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM6ODM4Olx0cmV0dXJuIGhhc2hsaW1pdF9tdF9jb21tb24oc2tiLCBwYXIsIGhpbmZvLCBcdTAwMjZpbmZvLVx1MDAzZWNmZywgMyk7XG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzOS19XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzMyMAoJCQkJCQkJb3V0cHV0OiAzMQoJCQkJCQkJdGhvdWdodHM6IDYwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHM6CgoqKkFuYWx5emluZyB0aGUgSGFzaGxpbWl0IE1hdGNoIEZ1bmN0aW9ucyoqCgpPa2F5LCBzbyBJJiMzOTttIGRpZ2dpbmcgaW50byB0aGUgYGhhc2hsaW1pdGAgZXh0ZW5zaW9uIGZvciBpcHRhYmxlcywgc3BlY2lmaWNhbGx5IHRoZSBtYXRjaCBmdW5jdGlvbnM6IGBoYXNobGltaXRfbXRfdjFgLCBgaGFzaGxpbWl0X210X3YyYCwgYW5kIGBoYXNobGltaXRfbXRgLiBSaWdodCBhd2F5LCBpdCYjMzk7cyBjbGVhciB0aGVzZSBhcmUgdGhlIGNvcmUgY29tcG9uZW50cyByZXNwb25zaWJsZSBmb3IgYWN0dWFsbHkgKmRvaW5nKiB0aGUgaGFzaGxpbWl0IG1hdGNoaW5nLiBOb3csIGl0JiMzOTtzIHRpbWUgdG8gY29uZmlybSB0aGUgS2NvbmZpZyBkZXRhaWxzIGZvciBgeHRfaGFzaGxpbWl0LmNgLiBJIG5lZWQgdG8gZmlndXJlIG91dCBob3cgdGhlc2UgZnVuY3Rpb25zIGFyZSBjb25maWd1cmVkIGFuZCwgYnkgZXh0ZW5zaW9uLCBob3cgdGhlIGV4dGVuc2lvbiBpdHNlbGYgaXMgY29tcGlsZWQgaW50byB0aGUga2VybmVsIG9yIGFzIGEgbW9kdWxlLiBJ4oCZbSB0aGlua2luZyBhYm91dCB0aGUgY29tcGlsZSB0aW1lIG9wdGlvbnMuIEFyZSB0aGVzZSB0aGluZ3MgYWx3YXlzIHByZXNlbnQsIG9yIGRvIHRoZXkgcmVxdWlyZSBzb21lIHNvcnQgb2YgY29uZmlndXJhdGlvbiB0b2dnbGU/IFVuZGVyc3RhbmRpbmcgdGhlIEtjb25maWcgZGVwZW5kZW5jaWVzIGdpdmVzIGluc2lnaHQgaW50byB0aGUgZmxleGliaWxpdHkgYW5kIHBvdGVudGlhbCBsaW1pdGF0aW9ucyBvZiB0aGlzIGV4dGVuc2lvbiBpbiBkaWZmZXJlbnQga2VybmVsIGJ1aWxkcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yMSAyMjoxNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3h0X2hhc2hsaW1pdCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9uZXRmaWx0ZXIvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzYxMwoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDEyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIGEgc3VtbWFyeSBvZiBteSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSB0aGUgb25lIHRoaW5raW5nIGl0OgoKKipEaXZpbmcgaW50byB0aGUgTmV0ZmlsdGVyIE1ha2VmaWxlKioKCk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBMZXQmIzM5O3Mgc3RhcnQgYnkgdGFraW5nIGEgbG9vayBhdCBgbmV0L25ldGZpbHRlci9NYWtlZmlsZWAuIEdpdmVuIG15IGV4cGVyaWVuY2UgaW4gdGhpcyBzcGFjZSwgSSBhbnRpY2lwYXRlIHRoaXMgZmlsZSB3aWxsIGdpdmUgbWUgYSBoaWdoLWxldmVsIG92ZXJ2aWV3IG9mIHRoZSBOZXRmaWx0ZXIgbW9kdWxlJiMzOTtzIGJ1aWxkIHByb2Nlc3MuIEkmIzM5O2xsIGJlIGxvb2tpbmcgZm9yIHRoaW5ncyBsaWtlOgoKKiAgICoqRGVwZW5kZW5jaWVzOioqIFdoYXQgb3RoZXIgcGFydHMgb2YgdGhlIGtlcm5lbCBhcmUgcmVxdWlyZWQgdG8gYnVpbGQgTmV0ZmlsdGVyPyBBcmUgdGhlcmUgYW55IHNwZWNpZmljIGxpYnJhcmllcyBvciBpbmNsdWRlIGZpbGVzIEkgc2hvdWxkIG5vdGU/CiogICAqKk9iamVjdCBGaWxlczoqKiBXaGljaCBzb3VyY2UgZmlsZXMgY29udHJpYnV0ZSB0byB0aGUgY3JlYXRpb24gb2YgdGhlIE5ldGZpbHRlciBtb2R1bGVzPyBJJiMzOTtsbCBwcm9iYWJseSBzY2FuIGZvciBwYXR0ZXJucyBvZiBgLm9gIGZpbGVzIGFuZCB0cnkgdG8gaW5mZXIgd2hpY2ggZnVuY3Rpb25hbGl0eSB0aGV5IHJlcHJlc2VudC4KKiAgICoqTW9kdWxlIENvbmZpZ3VyYXRpb246KiogRG9lcyB0aGUgTWFrZWZpbGUgaGFuZGxlIGFueSBjb25kaXRpb25hbCBjb21waWxhdGlvbiBiYXNlZCBvbiBrZXJuZWwgY29uZmlndXJhdGlvbiBvcHRpb25zPyBJJiMzOTttIGV4cGVjdGluZyB0byBmaW5kIGAjaWZkZWZgIGJsb2NrcyBvciBzaW1pbGFyIGNvbnN0cnVjdHMgdGhhdCBjb250cm9sIHdoaWNoIG1vZHVsZXMgZ2V0IGJ1aWx0LgoqICAgKipJbnN0YWxsYXRpb246KiogSG93IGFyZSB0aGUgY29tcGlsZWQgbW9kdWxlcyBpbnN0YWxsZWQgaW50byB0aGUga2VybmVsIGltYWdlPyBUaGVyZSBzaG91bGQgYmUgc29tZSBydWxlcyB0aGF0IG1hbmFnZSB0aGUgbW9kdWxlIGRpcmVjdG9yeSBhbmQgdGhlIGBpbnNtb2Qvcm1tb2RgIG9wZXJhdGlvbnMsIHBvdGVudGlhbGx5LgoqICAgKipDbGVhbi11cCBSdWxlczoqKiBKdXN0IG91dCBvZiBoYWJpdCwgSSB3aWxsIGxvb2sgZm9yIGhvdyB0byByZW1vdmUgYnVpbHQgb2JqZWN0IGZpbGVzIGZyb20gdGhlIHNvdXJjZSBkaXJlY3RvcnkuIFRoaXMgaXMgc3RhbmRhcmQgaW4gbWFrZWZpbGVzIGFuZCBpdCYjMzk7cyBuaWNlIHRvIGhhdmUuCgpUaGlzIHNob3VsZCBnaXZlIG1lIGEgZ29vZCBpbml0aWFsIHVuZGVyc3RhbmRpbmcgb2YgaG93IE5ldGZpbHRlciBpcyBjb25zdHJ1Y3RlZCBhbmQgaW50ZWdyYXRlZCB3aXRoaW4gdGhlIGJyb2FkZXIga2VybmVsIGJ1aWxkIHN5c3RlbS4gRnJvbSB0aGVyZSwgSSBjYW4gZHJpbGwgZG93biBmdXJ0aGVyIGludG8gc3BlY2lmaWMgc291cmNlIGZpbGVzIGFzIG5lZWRlZCwgYnV0IHRoaXMgYE1ha2VmaWxlYCBpcyB0aGUgbG9naWNhbCBzdGFydGluZyBwb2ludC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjEgMjI6MTc8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7eHRfaGFzaGxpbWl0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L25ldGZpbHRlci9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvbmV0ZmlsdGVyL01ha2VmaWxlPTIwMz1vYmotJChDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0VTUCkgJiM0Mzs9IHh0X2VzcC5vXG5uZXQvbmV0ZmlsdGVyL01ha2VmaWxlOjIwNDpvYmotJChDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVCkgJiM0Mzs9IHh0X2hhc2hsaW1pdC5vXG5uZXQvbmV0ZmlsdGVyL01ha2VmaWxlLTIwNS1vYmotJChDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0hFTFBFUikgJiM0Mzs9IHh0X2hlbHBlci5vXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQxMDcKCQkJCQkJCW91dHB1dDogMTM3CgkJCQkJCQl0aG91Z2h0czogNjgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSBub3RlcywgY29uc2lkZXJpbmcgSSYjMzk7bSBmYW1pbGlhciB3aXRoIHRoaXMgYXJlYToKCioqQW5hbHl6aW5nIHRoZSBIYXNobGltaXQgTmV0ZmlsdGVyIE1vZHVsZSBDb25maWd1cmF0aW9uKioKClJpZ2h0LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlIGBORVRGSUxURVJfWFRfTUFUQ0hfSEFTSExJTUlUYCBjb25maWd1cmF0aW9uIG9wdGlvbi4gVGhhdCB0ZWxscyBtZSB0aGlzIGlzIGFsbCBhYm91dCB0aGUgaGFzaGxpbWl0IE5ldGZpbHRlciBtYXRjaCwgd2hpY2ggaXMgZGVmaW5pdGVseSBzb21ldGhpbmcgSSYjMzk7dmUgd29ya2VkIHdpdGggYmVmb3JlLiBJIG5lZWQgdG8gYmUgc3VyZSBJIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIHRoZSBzeW1ib2xzLgoKSSBzZWUgdGhlIGtleSBzeW1ib2xzIHRoYXQgYXJlIG9mIGludGVyZXN0IGFuZCB3aGljaCBJIHdpbGwgc2V0OgoqICAgYGRzdGhhc2hfYWxsb2NfaW5pdGA6IFRoaXMgbGlrZWx5IGhhbmRsZXMgdGhlIGluaXRpYWwgYWxsb2NhdGlvbiBhbmQgc2V0dXAgb2YgdGhlIGRlc3RpbmF0aW9uIGhhc2gsIHdoaWNoIGlzIHRoZSBjb3JlIHN0cnVjdHVyZSBmb3IgdHJhY2tpbmcgY29ubmVjdGlvbiByYXRlcy4gSXQmIzM5O3MgdGhlIHN0YXJ0aW5nIHBvaW50LgoqICAgYGhhc2hsaW1pdF9tdF9jb21tb25gOiBJdCBoYXMgJiMzNDtjb21tb24mIzM0OyBpbiB0aGUgbmFtZSwgc28gdGhpcyBtaWdodCBiZSB0aGUgY29yZSBsb2dpYyBzaGFyZWQgYmV0d2VlbiB0aGUgZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZSBoYXNobGltaXQgbWF0Y2guIFByb2JhYmx5IHdoZXJlIHRoZSByYXRlIGxpbWl0aW5nIGFjdHVhbGx5IGhhcHBlbnMuCiogICBgaGFzaGxpbWl0X210X3YxYCwgYGhhc2hsaW1pdF9tdF92MmA6IFRoZXNlIGxpa2VseSByZXByZXNlbnQgZGlmZmVyZW50IHZlcnNpb25zIG9yIGl0ZXJhdGlvbnMgb2YgdGhlIGhhc2hsaW1pdCBtYXRjaCBpbXBsZW1lbnRhdGlvbi4gSXQgbG9va3MgbGlrZSBgdjJgIGlzIHRoZSBuZXdlciB2ZXJzaW9uIGFuZCBJIG1heSB3YW50IHRvIGZvY3VzIG9uIHRoYXQgaWYgdGhlcmUmIzM5O3MgYSBwZXJmb3JtYW5jZSBkaWZmZXJlbmNlIG9yIG5ldyBmZWF0dXJlcy4KKiAgIGBoYXNobGltaXRfbXRgOiBUaGlzIGlzIGxpa2VseSB0aGUgb3ZlcmFsbCBtYXRjaCBpbXBsZW1lbnRhdGlvbi4gSXQmIzM5O3Mgd2hhdCB0aGUgTmV0ZmlsdGVyIGZyYW1ld29yayB1bHRpbWF0ZWx5IGNhbGxzIHRvIGV2YWx1YXRlIHRyYWZmaWMgYWdhaW5zdCB0aGUgaGFzaGxpbWl0IGNyaXRlcmlhLiBJJiMzOTtsbCBtYWtlIHN1cmUgdG8gZXZhbHVhdGUgdGhpcyBvbmUgdG9vLgoKT2theSwgSSB1bmRlcnN0YW5kIHRoZSBjb21wb25lbnRzLiBJJiMzOTtsbCBzZXQgdGhlIHJlc3VsdHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzIxIDIyOjE3PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORVRGSUxURVJfWFRfTUFUQ0hfSEFTSExJTUlUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZHN0aGFzaF9hbGxvY19pbml0JiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF9jb21tb24mIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X3YxJiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF92MiYjMzQ7LAogICAgJiMzNDtoYXNobGltaXRfbXQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW5pdGlhbGl6ZXMgYGVudC1cdTAwM2VyYXRlaW5mb2AgdG8gMCBpbiBgZHN0aGFzaF9hbGxvY19pbml0YCwgZml4aW5nIGEgcG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3VlIGluIHRoZSBgaGFzaGxpbWl0YCBuZXRmaWx0ZXIgZXh0ZW5zaW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtORVRGSUxURVJfWFRfTUFUQ0hfSEFTSExJTUlUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZHN0aGFzaF9hbGxvY19pbml0JiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF9jb21tb24mIzM0OywKICAgICYjMzQ7aGFzaGxpbWl0X210X3YxJiMzNDssCiAgICAmIzM0O2hhc2hsaW1pdF9tdF92MiYjMzQ7LAogICAgJiMzNDtoYXNobGltaXRfbXQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW5pdGlhbGl6ZXMgYGVudC1cdTAwM2VyYXRlaW5mb2AgdG8gMCBpbiBgZHN0aGFzaF9hbGxvY19pbml0YCwgZml4aW5nIGEgcG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3VlIGluIHRoZSBgaGFzaGxpbWl0YCBuZXRmaWx0ZXIgZXh0ZW5zaW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MjEuNjIwNzQ2MTIxWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjA0MjY5MjE0ODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRzdGhhc2hfYWxsb2NfaW5pdFwiLFxuICAgIFwiaGFzaGxpbWl0X210X2NvbW1vblwiLFxuICAgIFwiaGFzaGxpbWl0X210X3YxXCIsXG4gICAgXCJoYXNobGltaXRfbXRfdjJcIixcbiAgICBcImhhc2hsaW1pdF9tdFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGluaXRpYWxpemVzIGBlbnQtXFx1MDAzZXJhdGVpbmZvYCB0byAwIGluIGBkc3RoYXNoX2FsbG9jX2luaXRgLCBmaXhpbmcgYSBwb3RlbnRpYWwgdW5pbml0aWFsaXplZCBtZW1vcnkgaXNzdWUgaW4gdGhlIGBoYXNobGltaXRgIG5ldGZpbHRlciBleHRlbnNpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjIxLjYyMDc1NDA5MVoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Nzc2MzUwMjA4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgM2VlMTcyYmUyNDAwNGNlM2ExZDBhMzRiNDU4OTdlMTFmMTYyNDNkY1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1bCAyMSAyMjoxNzoxOSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jIGIvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuY1xcbmluZGV4IDI3MDRiNGI2MGQxZTA0Li44OTQzZWQ2MDg1ZTcxZCAxMDA2NDRcXG4tLS0gYS9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXFxuKysrIGIvbmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuY1xcbkBAIC0yNDQsNiArMjQ0LDcgQEAgZHN0aGFzaF9hbGxvY19pbml0KHN0cnVjdCB4dF9oYXNobGltaXRfaHRhYmxlICpodCxcXG4gXFx0fSBlbHNlXFxuIFxcdFxcdGVudCA9IGttZW1fY2FjaGVfYWxsb2MoaGFzaGxpbWl0X2NhY2hlcCwgR0ZQX0FUT01JQyk7XFxuIFxcdGlmIChlbnQpIHtcXG4rXFx0XFx0bWVtc2V0KFxcdTAwMjZlbnQtXFx1MDAzZXJhdGVpbmZvLCAwLCBzaXplb2YoZW50LVxcdTAwM2VyYXRlaW5mbykpO1xcbiBcXHRcXHRtZW1jcHkoXFx1MDAyNmVudC1cXHUwMDNlZHN0LCBkc3QsIHNpemVvZihlbnQtXFx1MDAzZWRzdCkpO1xcbiBcXHRcXHRzcGluX2xvY2tfaW5pdChcXHUwMDI2ZW50LVxcdTAwM2Vsb2NrKTtcXG4gXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjIyLjM5Nzg0NTQ5OVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjE5NjQ5ODA4MTI0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk5FVEZJTFRFUl9YVF9NQVRDSF9IQVNITElNSVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJkc3RoYXNoX2FsbG9jX2luaXRcIixcbiAgICBcImhhc2hsaW1pdF9tdF9jb21tb25cIixcbiAgICBcImhhc2hsaW1pdF9tdF92MVwiLFxuICAgIFwiaGFzaGxpbWl0X210X3YyXCIsXG4gICAgXCJoYXNobGltaXRfbXRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpbml0aWFsaXplcyBgZW50LVxcdTAwM2VyYXRlaW5mb2AgdG8gMCBpbiBgZHN0aGFzaF9hbGxvY19pbml0YCwgZml4aW5nIGEgcG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGlzc3VlIGluIHRoZSBgaGFzaGxpbWl0YCBuZXRmaWx0ZXIgZXh0ZW5zaW9uLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IDNlZTE3MmJlMjQwMDRjZTNhMWQwYTM0YjQ1ODk3ZTExZjE2MjQzZGNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1bCAyMSAyMjoxNzoxOSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMgYi9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXG5pbmRleCAyNzA0YjRiNjBkMWUwNC4uODk0M2VkNjA4NWU3MWQgMTAwNjQ0XG4tLS0gYS9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXG4rKysgYi9uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXG5AQCAtMjQ0LDYgKzI0NCw3IEBAIGRzdGhhc2hfYWxsb2NfaW5pdChzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaHQsXG4gXHR9IGVsc2VcbiBcdFx0ZW50ID0ga21lbV9jYWNoZV9hbGxvYyhoYXNobGltaXRfY2FjaGVwLCBHRlBfQVRPTUlDKTtcbiBcdGlmIChlbnQpIHtcbitcdFx0bWVtc2V0KFx1MDAyNmVudC1cdTAwM2VyYXRlaW5mbywgMCwgc2l6ZW9mKGVudC1cdTAwM2VyYXRlaW5mbykpO1xuIFx0XHRtZW1jcHkoXHUwMDI2ZW50LVx1MDAzZWRzdCwgZHN0LCBzaXplb2YoZW50LVx1MDAzZWRzdCkpO1xuIFx0XHRzcGluX2xvY2tfaW5pdChcdTAwMjZlbnQtXHUwMDNlbG9jayk7XG4gXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMVQyMjoxNzoyMi4zOTc4NDY4NzlaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MDA0NzU1NDQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgc3VtbWFyeSwgYXMgdGhvdWdoIEknbSB0aGlua2luZyB0aHJvdWdoIHRoaXMgcGF0Y2g6XG5cbioqQW5hbHl6aW5nIGEgSGFzaGxpbWl0IFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgYG5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmNgLiBUaGUgY29yZSBvZiBpdCBzZWVtcyB0byBiZSBhZGRpbmcgYSBgbWVtc2V0YCBjYWxsIHdpdGhpbiB0aGUgYGRzdGhhc2hfYWxsb2NfaW5pdGAgZnVuY3Rpb24uIFNwZWNpZmljYWxseSwgaXQncyBkb2luZyBgbWVtc2V0KFx1MDAyNmVudC1cdTAwM2VyYXRlaW5mbywgMCwgc2l6ZW9mKGVudC1cdTAwM2VyYXRlaW5mbykpO2AuIFRoaXMgaW1tZWRpYXRlbHkgZmxhZ3MgdGhlIGFyZWEgd2hlcmUgd2Ugc2hvdWxkIHN0YXJ0LCBvZiBjb3Vyc2UuIE15IGZpcnN0IHRob3VnaHQgaXMgd2hhdCB0aGlzIGBlbnQtXHUwMDNlcmF0ZWluZm9gIHN0cnVjdHVyZSAqaXMqIGFuZCB3aHkgd2UncmUgemVyb2luZyBpdCBvdXQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBXaGF0J3MgdGhlIHBvdGVudGlhbCBpbXBsaWNhdGlvbiBmb3IgaXRzIGNvbnRlbnRzIGlmIHRoaXMgaXNuJ3QgZG9uZT8gSXMgdGhlcmUgc29tZSBwcmUtZXhpc3RpbmcgaXNzdWUgdGhhdCBtaWdodCBiZSBhZGRyZXNzZWQgYnkgZG9pbmcgdGhpcz8gSSBuZWVkIHRvIGRpZyBpbnRvIHRoZSBzdXJyb3VuZGluZyBjb2RlIHRvIGRldGVybWluZSB0aGUgcHVycG9zZSBvZiBgcmF0ZWluZm9gIGFuZCBpdHMgaW1wYWN0LiBUaGlzIHNtZWxscyBsaWtlIGFuIGluaXRpYWxpemF0aW9uIGlzc3VlIHRoYXQgY291bGQgbGVhZCB0byB1bmV4cGVjdGVkIGJlaGF2aW9yIGxhdGVyIG9uLiBJJ2xsIG5lZWQgdG8gc2VlIGlmIHRoaXMgYWRkaXRpb24gZml4ZXMgYSByYWNlIGNvbmRpdGlvbiwgcHJldmVudHMgYSBtZW1vcnkgbGVhaywgb3IgaW1wcm92ZXMgdGhlIG92ZXJhbGwgcm9idXN0bmVzcyBvZiB0aGUgaGFzaGxpbWl0IG1vZHVsZS4gSSdsbCBoYXZlIHRvIGNvbnNpZGVyIGhvdyB0aGlzIGFmZmVjdHMgdGhlIGV4aXN0aW5nIGJlaGF2aW91ciwgYW5kIHdoYXQgaW1wYWN0IGl0IGhhcyBvbiB0aGUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiB0aGUgbW9kdWxlLiBUaW1lIHRvIGRpdmUgaW50byB0aGUgY29kZSFcblxuXG4iLCJJbnB1dFRva2VucyI6MTkwNiwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjc4LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MjYuNDAyNjA0NDU3WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg4NDA0MjYwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImRzdGhhc2hfYWxsb2NfaW5pdFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM9MjE1PXN0YXRpYyBzdHJ1Y3QgZHN0aGFzaF9lbnQgKlxcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM6MjE2OmRzdGhhc2hfYWxsb2NfaW5pdChzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaHQsXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy0yMTctXFx0XFx0ICAgY29uc3Qgc3RydWN0IGRzdGhhc2hfZHN0ICpkc3QsIGJvb2wgKnJhY2UpXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTczMD1oYXNobGltaXRfbXRfY29tbW9uKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB4dF9hY3Rpb25fcGFyYW0gKnBhcixcXG4tLVxcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtNzQ1LVxcdGlmIChkaCA9PSBOVUxMKSB7XFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo3NDY6XFx0XFx0ZGggPSBkc3RoYXNoX2FsbG9jX2luaXQoaGluZm8sIFxcdTAwMjZkc3QsIFxcdTAwMjZyYWNlKTtcXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTc0Ny1cXHRcXHRpZiAoZGggPT0gTlVMTCkge1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMVQyMjoxNzoyNi40OTEwMTM5MTdaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNTcxNTc5OTMwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFkZHJlc3NpbmcgYSBQb3RlbnRpYWwgTWVtb3J5IFNhZmV0eSBJc3N1ZSoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgZG9pbmcgc29tZXRoaW5nIHN0cmFpZ2h0Zm9yd2FyZCwgYnV0IGltcG9ydGFudDogaXQncyBpbml0aWFsaXppbmcgYGVudC1cdTAwM2VyYXRlaW5mb2AgdG8gemVyby4gSXQgc2VlbXMgbGlrZSBhIG1pbm9yIGNoYW5nZSwgYnV0IGl0J3MgYSBmdW5jdGlvbmFsIGZpeCwgcHJvYmFibHkgYWRkcmVzc2luZyBhbiB1bmluaXRpYWxpemVkIG1lbW9yeSBwcm9ibGVtLiBNeSBndXQgZmVlbGluZyBpcyB0aGF0IHdlJ3JlIGRlYWxpbmcgd2l0aCBhbiBcInVuaW5pdC12YWx1ZVwiIG9yIFwidW5pbml0LW1lbW9yeVwiIHNjZW5hcmlvLCBhbmQgdGhpcyBwYXRjaCBhaW1zIHRvIGVsaW1pbmF0ZSB0aGF0IHJpc2suXG5cbkxldCdzIHNlZSwgYGRzdGhhc2hfYWxsb2NfaW5pdGAgaXMgdGhlIGZ1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciB0aGF0IHplcm9pbmcgb3BlcmF0aW9uLCBhbmQgSSBzZWUgaXQncyBjYWxsZWQgZnJvbSBgaGFzaGxpbWl0X210X2NvbW1vbmAuIE5vdywgdG8gZnVsbHkgdW5kZXJzdGFuZCB0aGUgaW1wbGljYXRpb24gb2YgdGhpcyBjaGFuZ2UsIEkgbmVlZCB0byB0cmFjZSB0aGlzIGJhY2suIFRoZSBuZXh0IGxvZ2ljYWwgc3RlcCBpcyB0byBmaWd1cmUgb3V0ICp3aGVyZSogYGhhc2hsaW1pdF9tdF9jb21tb25gIGl0c2VsZiBpcyBiZWluZyBjYWxsZWQgZnJvbS4gVGhhdCdsbCBnaXZlIG1lIHRoZSBjb250ZXh0IEkgbmVlZCB0byBhc3Nlc3MgdGhlIGZ1bGwgaW1wYWN0IGFuZCBpbXBvcnRhbmNlIG9mIHRoaXMgZml4IHdpdGhpbiB0aGUgbGFyZ2VyIHN5c3RlbS4gVGltZSB0byBkaWcgYSBsaXR0bGUgZGVlcGVyLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTI5LCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MzAuMDYyNTk2NzQ3WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjgwNjgyNTcwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImhhc2hsaW1pdF9tdF9jb21tb25cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTcyOT1zdGF0aWMgYm9vbFxcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmM6NzMwOmhhc2hsaW1pdF9tdF9jb21tb24oY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyLFxcbm5ldC9uZXRmaWx0ZXIveHRfaGFzaGxpbWl0LmMtNzMxLVxcdFxcdCAgICBzdHJ1Y3QgeHRfaGFzaGxpbWl0X2h0YWJsZSAqaGluZm8sXFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTgwMz1oYXNobGltaXRfbXRfdjEoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKVxcbi0tXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy04MTMtXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo4MTQ6XFx0cmV0dXJuIGhhc2hsaW1pdF9tdF9jb21tb24oc2tiLCBwYXIsIGhpbmZvLCBcXHUwMDI2Y2ZnLCAxKTtcXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgxNS19XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTgxOD1oYXNobGltaXRfbXRfdjIoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKVxcbi0tXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy04MjgtXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo4Mjk6XFx0cmV0dXJuIGhhc2hsaW1pdF9tdF9jb21tb24oc2tiLCBwYXIsIGhpbmZvLCBcXHUwMDI2Y2ZnLCAyKTtcXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzMC19XFxuLS1cXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jPTgzMz1oYXNobGltaXRfbXQoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHh0X2FjdGlvbl9wYXJhbSAqcGFyKVxcbi0tXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYy04MzctXFxubmV0L25ldGZpbHRlci94dF9oYXNobGltaXQuYzo4Mzg6XFx0cmV0dXJuIGhhc2hsaW1pdF9tdF9jb21tb24oc2tiLCBwYXIsIGhpbmZvLCBcXHUwMDI2aW5mby1cXHUwMDNlY2ZnLCAzKTtcXG5uZXQvbmV0ZmlsdGVyL3h0X2hhc2hsaW1pdC5jLTgzOS19XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjMwLjE0MzI4NzE5N1oiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI4Nzk1MTc4MzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzOlxuXG4qKkFuYWx5emluZyB0aGUgSGFzaGxpbWl0IE1hdGNoIEZ1bmN0aW9ucyoqXG5cbk9rYXksIHNvIEknbSBkaWdnaW5nIGludG8gdGhlIGBoYXNobGltaXRgIGV4dGVuc2lvbiBmb3IgaXB0YWJsZXMsIHNwZWNpZmljYWxseSB0aGUgbWF0Y2ggZnVuY3Rpb25zOiBgaGFzaGxpbWl0X210X3YxYCwgYGhhc2hsaW1pdF9tdF92MmAsIGFuZCBgaGFzaGxpbWl0X210YC4gUmlnaHQgYXdheSwgaXQncyBjbGVhciB0aGVzZSBhcmUgdGhlIGNvcmUgY29tcG9uZW50cyByZXNwb25zaWJsZSBmb3IgYWN0dWFsbHkgKmRvaW5nKiB0aGUgaGFzaGxpbWl0IG1hdGNoaW5nLiBOb3csIGl0J3MgdGltZSB0byBjb25maXJtIHRoZSBLY29uZmlnIGRldGFpbHMgZm9yIGB4dF9oYXNobGltaXQuY2AuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0aGVzZSBmdW5jdGlvbnMgYXJlIGNvbmZpZ3VyZWQgYW5kLCBieSBleHRlbnNpb24sIGhvdyB0aGUgZXh0ZW5zaW9uIGl0c2VsZiBpcyBjb21waWxlZCBpbnRvIHRoZSBrZXJuZWwgb3IgYXMgYSBtb2R1bGUuIEnigJltIHRoaW5raW5nIGFib3V0IHRoZSBjb21waWxlIHRpbWUgb3B0aW9ucy4gQXJlIHRoZXNlIHRoaW5ncyBhbHdheXMgcHJlc2VudCwgb3IgZG8gdGhleSByZXF1aXJlIHNvbWUgc29ydCBvZiBjb25maWd1cmF0aW9uIHRvZ2dsZT8gVW5kZXJzdGFuZGluZyB0aGUgS2NvbmZpZyBkZXBlbmRlbmNpZXMgZ2l2ZXMgaW5zaWdodCBpbnRvIHRoZSBmbGV4aWJpbGl0eSBhbmQgcG90ZW50aWFsIGxpbWl0YXRpb25zIG9mIHRoaXMgZXh0ZW5zaW9uIGluIGRpZmZlcmVudCBrZXJuZWwgYnVpbGRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMzIwLCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MzMuMDIyODA3NzY5WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjkwNzk5ODcwLCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ4dF9oYXNobGltaXRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L25ldGZpbHRlci9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yMVQyMjoxNzozMy4xMTM2MTc3ODlaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNjgxNTE5ODkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgYSBzdW1tYXJ5IG9mIG15IHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIHRoZSBvbmUgdGhpbmtpbmcgaXQ6XG5cbioqRGl2aW5nIGludG8gdGhlIE5ldGZpbHRlciBNYWtlZmlsZSoqXG5cbk9rYXksIHRpbWUgdG8gZ2V0IG15IGhhbmRzIGRpcnR5LiBMZXQncyBzdGFydCBieSB0YWtpbmcgYSBsb29rIGF0IGBuZXQvbmV0ZmlsdGVyL01ha2VmaWxlYC4gR2l2ZW4gbXkgZXhwZXJpZW5jZSBpbiB0aGlzIHNwYWNlLCBJIGFudGljaXBhdGUgdGhpcyBmaWxlIHdpbGwgZ2l2ZSBtZSBhIGhpZ2gtbGV2ZWwgb3ZlcnZpZXcgb2YgdGhlIE5ldGZpbHRlciBtb2R1bGUncyBidWlsZCBwcm9jZXNzLiBJJ2xsIGJlIGxvb2tpbmcgZm9yIHRoaW5ncyBsaWtlOlxuXG4qICAgKipEZXBlbmRlbmNpZXM6KiogV2hhdCBvdGhlciBwYXJ0cyBvZiB0aGUga2VybmVsIGFyZSByZXF1aXJlZCB0byBidWlsZCBOZXRmaWx0ZXI/IEFyZSB0aGVyZSBhbnkgc3BlY2lmaWMgbGlicmFyaWVzIG9yIGluY2x1ZGUgZmlsZXMgSSBzaG91bGQgbm90ZT9cbiogICAqKk9iamVjdCBGaWxlczoqKiBXaGljaCBzb3VyY2UgZmlsZXMgY29udHJpYnV0ZSB0byB0aGUgY3JlYXRpb24gb2YgdGhlIE5ldGZpbHRlciBtb2R1bGVzPyBJJ2xsIHByb2JhYmx5IHNjYW4gZm9yIHBhdHRlcm5zIG9mIGAub2AgZmlsZXMgYW5kIHRyeSB0byBpbmZlciB3aGljaCBmdW5jdGlvbmFsaXR5IHRoZXkgcmVwcmVzZW50LlxuKiAgICoqTW9kdWxlIENvbmZpZ3VyYXRpb246KiogRG9lcyB0aGUgTWFrZWZpbGUgaGFuZGxlIGFueSBjb25kaXRpb25hbCBjb21waWxhdGlvbiBiYXNlZCBvbiBrZXJuZWwgY29uZmlndXJhdGlvbiBvcHRpb25zPyBJJ20gZXhwZWN0aW5nIHRvIGZpbmQgYCNpZmRlZmAgYmxvY2tzIG9yIHNpbWlsYXIgY29uc3RydWN0cyB0aGF0IGNvbnRyb2wgd2hpY2ggbW9kdWxlcyBnZXQgYnVpbHQuXG4qICAgKipJbnN0YWxsYXRpb246KiogSG93IGFyZSB0aGUgY29tcGlsZWQgbW9kdWxlcyBpbnN0YWxsZWQgaW50byB0aGUga2VybmVsIGltYWdlPyBUaGVyZSBzaG91bGQgYmUgc29tZSBydWxlcyB0aGF0IG1hbmFnZSB0aGUgbW9kdWxlIGRpcmVjdG9yeSBhbmQgdGhlIGBpbnNtb2Qvcm1tb2RgIG9wZXJhdGlvbnMsIHBvdGVudGlhbGx5LlxuKiAgICoqQ2xlYW4tdXAgUnVsZXM6KiogSnVzdCBvdXQgb2YgaGFiaXQsIEkgd2lsbCBsb29rIGZvciBob3cgdG8gcmVtb3ZlIGJ1aWx0IG9iamVjdCBmaWxlcyBmcm9tIHRoZSBzb3VyY2UgZGlyZWN0b3J5LiBUaGlzIGlzIHN0YW5kYXJkIGluIG1ha2VmaWxlcyBhbmQgaXQncyBuaWNlIHRvIGhhdmUuXG5cblRoaXMgc2hvdWxkIGdpdmUgbWUgYSBnb29kIGluaXRpYWwgdW5kZXJzdGFuZGluZyBvZiBob3cgTmV0ZmlsdGVyIGlzIGNvbnN0cnVjdGVkIGFuZCBpbnRlZ3JhdGVkIHdpdGhpbiB0aGUgYnJvYWRlciBrZXJuZWwgYnVpbGQgc3lzdGVtLiBGcm9tIHRoZXJlLCBJIGNhbiBkcmlsbCBkb3duIGZ1cnRoZXIgaW50byBzcGVjaWZpYyBzb3VyY2UgZmlsZXMgYXMgbmVlZGVkLCBidXQgdGhpcyBgTWFrZWZpbGVgIGlzIHRoZSBsb2dpY2FsIHN0YXJ0aW5nIHBvaW50LlxuXG5cbiIsIklucHV0VG9rZW5zIjozNjEzLCJPdXRwdXRUb2tlbnMiOjMwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjFUMjI6MTc6MzYuNzk1MTM5NjA4WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTQ5OTQ2MTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwieHRfaGFzaGxpbWl0XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9uZXRmaWx0ZXIvTWFrZWZpbGVcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L25ldGZpbHRlci9NYWtlZmlsZT0yMDM9b2JqLSQoQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9FU1ApICs9IHh0X2VzcC5vXFxubmV0L25ldGZpbHRlci9NYWtlZmlsZToyMDQ6b2JqLSQoQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9IQVNITElNSVQpICs9IHh0X2hhc2hsaW1pdC5vXFxubmV0L25ldGZpbHRlci9NYWtlZmlsZS0yMDUtb2JqLSQoQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9IRUxQRVIpICs9IHh0X2hlbHBlci5vXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjM2LjkxMDE0MDc5OFoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0OTg3MDUxNTA2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSBub3RlcywgY29uc2lkZXJpbmcgSSdtIGZhbWlsaWFyIHdpdGggdGhpcyBhcmVhOlxuXG4qKkFuYWx5emluZyB0aGUgSGFzaGxpbWl0IE5ldGZpbHRlciBNb2R1bGUgQ29uZmlndXJhdGlvbioqXG5cblJpZ2h0LCBzbyBJJ20gbG9va2luZyBhdCB0aGUgYE5FVEZJTFRFUl9YVF9NQVRDSF9IQVNITElNSVRgIGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGF0IHRlbGxzIG1lIHRoaXMgaXMgYWxsIGFib3V0IHRoZSBoYXNobGltaXQgTmV0ZmlsdGVyIG1hdGNoLCB3aGljaCBpcyBkZWZpbml0ZWx5IHNvbWV0aGluZyBJJ3ZlIHdvcmtlZCB3aXRoIGJlZm9yZS4gSSBuZWVkIHRvIGJlIHN1cmUgSSB1bmRlcnN0YW5kIHRoZSBzY29wZSBvZiB0aGUgc3ltYm9scy5cblxuSSBzZWUgdGhlIGtleSBzeW1ib2xzIHRoYXQgYXJlIG9mIGludGVyZXN0IGFuZCB3aGljaCBJIHdpbGwgc2V0OlxuKiAgIGBkc3RoYXNoX2FsbG9jX2luaXRgOiBUaGlzIGxpa2VseSBoYW5kbGVzIHRoZSBpbml0aWFsIGFsbG9jYXRpb24gYW5kIHNldHVwIG9mIHRoZSBkZXN0aW5hdGlvbiBoYXNoLCB3aGljaCBpcyB0aGUgY29yZSBzdHJ1Y3R1cmUgZm9yIHRyYWNraW5nIGNvbm5lY3Rpb24gcmF0ZXMuIEl0J3MgdGhlIHN0YXJ0aW5nIHBvaW50LlxuKiAgIGBoYXNobGltaXRfbXRfY29tbW9uYDogSXQgaGFzIFwiY29tbW9uXCIgaW4gdGhlIG5hbWUsIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGNvcmUgbG9naWMgc2hhcmVkIGJldHdlZW4gdGhlIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgaGFzaGxpbWl0IG1hdGNoLiBQcm9iYWJseSB3aGVyZSB0aGUgcmF0ZSBsaW1pdGluZyBhY3R1YWxseSBoYXBwZW5zLlxuKiAgIGBoYXNobGltaXRfbXRfdjFgLCBgaGFzaGxpbWl0X210X3YyYDogVGhlc2UgbGlrZWx5IHJlcHJlc2VudCBkaWZmZXJlbnQgdmVyc2lvbnMgb3IgaXRlcmF0aW9ucyBvZiB0aGUgaGFzaGxpbWl0IG1hdGNoIGltcGxlbWVudGF0aW9uLiBJdCBsb29rcyBsaWtlIGB2MmAgaXMgdGhlIG5ld2VyIHZlcnNpb24gYW5kIEkgbWF5IHdhbnQgdG8gZm9jdXMgb24gdGhhdCBpZiB0aGVyZSdzIGEgcGVyZm9ybWFuY2UgZGlmZmVyZW5jZSBvciBuZXcgZmVhdHVyZXMuXG4qICAgYGhhc2hsaW1pdF9tdGA6IFRoaXMgaXMgbGlrZWx5IHRoZSBvdmVyYWxsIG1hdGNoIGltcGxlbWVudGF0aW9uLiBJdCdzIHdoYXQgdGhlIE5ldGZpbHRlciBmcmFtZXdvcmsgdWx0aW1hdGVseSBjYWxscyB0byBldmFsdWF0ZSB0cmFmZmljIGFnYWluc3QgdGhlIGhhc2hsaW1pdCBjcml0ZXJpYS4gSSdsbCBtYWtlIHN1cmUgdG8gZXZhbHVhdGUgdGhpcyBvbmUgdG9vLlxuXG5Pa2F5LCBJIHVuZGVyc3RhbmQgdGhlIGNvbXBvbmVudHMuIEknbGwgc2V0IHRoZSByZXN1bHRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MTA3LCJPdXRwdXRUb2tlbnMiOjEzNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjY4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTIxVDIyOjE3OjQxLjg5NzE5NDQ1NFoiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1MDQ1NDIwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRzdGhhc2hfYWxsb2NfaW5pdFwiLFxuICAgIFwiaGFzaGxpbWl0X210X2NvbW1vblwiLFxuICAgIFwiaGFzaGxpbWl0X210X3YxXCIsXG4gICAgXCJoYXNobGltaXRfbXRfdjJcIixcbiAgICBcImhhc2hsaW1pdF9tdFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGluaXRpYWxpemVzIGBlbnQtXFx1MDAzZXJhdGVpbmZvYCB0byAwIGluIGBkc3RoYXNoX2FsbG9jX2luaXRgLCBmaXhpbmcgYSBwb3RlbnRpYWwgdW5pbml0aWFsaXplZCBtZW1vcnkgaXNzdWUgaW4gdGhlIGBoYXNobGltaXRgIG5ldGZpbHRlciBleHRlbnNpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImRzdGhhc2hfYWxsb2NfaW5pdFwiLFxuICAgIFwiaGFzaGxpbWl0X210X2NvbW1vblwiLFxuICAgIFwiaGFzaGxpbWl0X210X3YxXCIsXG4gICAgXCJoYXNobGltaXRfbXRfdjJcIixcbiAgICBcImhhc2hsaW1pdF9tdFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGluaXRpYWxpemVzIGBlbnQtXFx1MDAzZXJhdGVpbmZvYCB0byAwIGluIGBkc3RoYXNoX2FsbG9jX2luaXRgLCBmaXhpbmcgYSBwb3RlbnRpYWwgdW5pbml0aWFsaXplZCBtZW1vcnkgaXNzdWUgaW4gdGhlIGBoYXNobGltaXRgIG5ldGZpbHRlciBleHRlbnNpb24uIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[1] Phase: Succeeded StartedAt: 2026-07-21 22:17:53 +0000 UTC FinishedAt: 2026-07-21 22:17:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-21 22:17:53 +0000 UTC FinishedAt: 2026-07-21 22:17:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2] Phase: Succeeded StartedAt: 2026-07-21 22:17:53 +0000 UTC FinishedAt: 2026-07-22 03:14:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-21 22:17:53 +0000 UTC FinishedAt: 2026-07-22 03:14:37 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-21 22:17:53 +0000 UTC FinishedAt: 2026-07-21 22:18:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-21 22:17:53 +0000 UTC FinishedAt: 2026-07-21 22:17:58 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-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-workflowfsm89/series-workflowfsm89-convert-artifact-3092250434/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-21 22:18:03 +0000 UTC FinishedAt: 2026-07-21 23:11:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-21 22:18:03 +0000 UTC FinishedAt: 2026-07-21 23:11:20 +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:*8e45797b-32f0-4367-9cab-35a9bf5a8531,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-workflowfsm89/series-workflowfsm89-convert-artifact-3092250434/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": "cf21da8f-0649-4b74-b34a-938e4d27ec3c", "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-workflowfsm89/series-workflowfsm89-build-action-2747447808/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-21 22:18:03 +0000 UTC FinishedAt: 2026-07-21 23:11:10 +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:*8e45797b-32f0-4367-9cab-35a9bf5a8531,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-workflowfsm89/series-workflowfsm89-convert-artifact-3092250434/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": "cf21da8f-0649-4b74-b34a-938e4d27ec3c", "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-workflowfsm89/series-workflowfsm89-build-action-2747447808/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-21 23:11:20 +0000 UTC FinishedAt: 2026-07-21 23:11:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-21 23:11:20 +0000 UTC FinishedAt: 2026-07-21 23:11:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-21 23:11:20 +0000 UTC FinishedAt: 2026-07-21 23:11:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-21 23:11:20 +0000 UTC FinishedAt: 2026-07-21 23:11:25 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-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-workflowfsm89/series-workflowfsm89-convert-artifact-4207912861/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-21 23:11:30 +0000 UTC FinishedAt: 2026-07-21 23:14:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-21 23:11:30 +0000 UTC FinishedAt: 2026-07-21 23:13:54 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*cf21da8f-0649-4b74-b34a-938e4d27ec3c,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-workflowfsm89/series-workflowfsm89-build-action-2747447808/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-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-21 23:14:04 +0000 UTC FinishedAt: 2026-07-21 23:14:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-21 23:14:04 +0000 UTC FinishedAt: 2026-07-21 23:14:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-21 23:14:04 +0000 UTC FinishedAt: 2026-07-22 00:09:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-21 23:14:04 +0000 UTC FinishedAt: 2026-07-22 00:09:09 +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:*8e45797b-32f0-4367-9cab-35a9bf5a8531,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-workflowfsm89/series-workflowfsm89-convert-artifact-4207912861/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": "cc5617b1-81ff-4cc4-acc6-17310b5ba643", "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-workflowfsm89/series-workflowfsm89-build-action-1175483513/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-21 23:14:04 +0000 UTC FinishedAt: 2026-07-22 00:08:18 +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:*8e45797b-32f0-4367-9cab-35a9bf5a8531,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-workflowfsm89/series-workflowfsm89-convert-artifact-4207912861/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": "cc5617b1-81ff-4cc4-acc6-17310b5ba643", "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-workflowfsm89/series-workflowfsm89-build-action-1175483513/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-22 00:09:09 +0000 UTC FinishedAt: 2026-07-22 00:09:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-22 00:09:09 +0000 UTC FinishedAt: 2026-07-22 00:09:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-22 00:09:09 +0000 UTC FinishedAt: 2026-07-22 00:11:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-22 00:09:09 +0000 UTC FinishedAt: 2026-07-22 00:11:25 +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:*cc5617b1-81ff-4cc4-acc6-17310b5ba643,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-workflowfsm89/series-workflowfsm89-build-action-1175483513/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-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-22 00:11:34 +0000 UTC FinishedAt: 2026-07-22 03:14:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-22 00:11:34 +0000 UTC FinishedAt: 2026-07-22 03:14:37 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"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:*cf21da8f-0649-4b74-b34a-938e4d27ec3c,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*cc5617b1-81ff-4cc4-acc6-17310b5ba643,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-workflowfsm89/series-workflowfsm89-build-action-2747447808/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-workflowfsm89/series-workflowfsm89-build-action-1175483513/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-22 00:11:34 +0000 UTC FinishedAt: 2026-07-22 00:12:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-22 00:11:34 +0000 UTC FinishedAt: 2026-07-22 00:11:57 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"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-workflowfsm89/series-workflowfsm89-convert-artifact-1792765730/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-22 00:11:34 +0000 UTC FinishedAt: 2026-07-22 00:11:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-22 00:11:34 +0000 UTC FinishedAt: 2026-07-22 00:11:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-22 00:11:34 +0000 UTC FinishedAt: 2026-07-22 00:11:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-22 00:12:04 +0000 UTC FinishedAt: 2026-07-22 03:14:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfsm89[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["dsthash_alloc_init","hashlimit_mt_common","hashlimit_mt_v1","hashlimit_mt_v2","hashlimit_mt"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["NETFILTER_XT_MATCH_HASHLIMIT"],"series_id":"8b17fc56-587f-4559-a33c-1c192d474e59","tree_name":"nf-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netfilter/nf-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-22 00:12:04 +0000 UTC FinishedAt: 2026-07-22 03:14:27 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*cf21da8f-0649-4b74-b34a-938e4d27ec3c,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*cc5617b1-81ff-4cc4-acc6-17310b5ba643,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-workflowfsm89/series-workflowfsm89-build-action-2747447808/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-workflowfsm89/series-workflowfsm89-build-action-1175483513/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-workflowfsm89/series-workflowfsm89-convert-artifact-1792765730/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,}