Name: series-workflowwqqgr Phase: Succeeded StartedAt: 2026-07-07 11:54:30 +0000 UTC FinishedAt: 2026-07-07 16:17:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[0] Phase: Succeeded StartedAt: 2026-07-07 11:54:30 +0000 UTC FinishedAt: 2026-07-07 12:15:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[0].run-triage Phase: Succeeded StartedAt: 2026-07-07 11:54:30 +0000 UTC FinishedAt: 2026-07-07 12:15:19 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "474cff6868129755cf889edf40d7f491729fc588", "config_name": "upstream-apparmor-kasan.config", "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "474cff6868129755cf889edf40d7f491729fc588", "config_name": "upstream-apparmor-kasan.config", "series_id": "057807a8-eae8-4f5f-9e63-b2a493641434" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "inetdev_destroy" ], "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+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aW5ldGRldl9kZXN0cm95JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBvcmRlciBvZiBvcGVyYXRpb25zIGluIGBpbmV0ZGV2X2Rlc3Ryb3lgIGJ5IG1vdmluZyB0aGUgYFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7YCBzdGF0ZW1lbnQgYmVmb3JlIGBpcF9tY19kZXN0cm95X2RldmAgYW5kIHRoZSBpbnRlcmZhY2UgYWRkcmVzcyBjbGVhbnVwIGxvb3AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBJUHY0IG5ldHdvcmtpbmcgY29kZSwgbGlrZWx5IGZpeGluZyBhIHJhY2UgY29uZGl0aW9uIG9yIHVzZS1hZnRlci1mcmVlIGR1cmluZyBuZXR3b3JrIGRldmljZSB1bnJlZ2lzdHJhdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxMjoxNDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDUyNWE2YmFiYmJiMjZhZWExZGZjNWI3ODY0NTc3OTYyZDk1ZmEyNzFcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1bCA3IDEyOjE0OjA2IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9pcHY0L2RldmluZXQuYyBiL25ldC9pcHY0L2RldmluZXQuY1xuaW5kZXggYTM1YjcyNjYyZTQzMTYuLjNiMzFmNGJlYzMwZWUxIDEwMDY0NFxuLS0tIGEvbmV0L2lwdjQvZGV2aW5ldC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvaXB2NC9kZXZpbmV0LmNcbkBAIC0zMjIsNiAmIzQzOzMyMiw4IEBAIHN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpXG4gXG4gXHRpbl9kZXYtXHUwMDNlZGVhZCA9IDE7XG4gXG4mIzQzO1x0UkNVX0lOSVRfUE9JTlRFUihkZXYtXHUwMDNlaXBfcHRyLCBOVUxMKTtcbiYjNDM7XG4gXHRpcF9tY19kZXN0cm95X2Rldihpbl9kZXYpO1xuIFxuIFx0d2hpbGUgKChpZmEgPSBydG5sX2RlcmVmZXJlbmNlKGluX2Rldi1cdTAwM2VpZmFfbGlzdCkpICE9IE5VTEwpIHtcbkBAIC0zMjksOCAmIzQzOzMzMSw2IEBAIHN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpXG4gXHRcdGluZXRfZnJlZV9pZmEoaWZhKTtcbiBcdH1cbiBcbi1cdFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7XG4tXG4gXHRkZXZpbmV0X3N5c2N0bF91bnJlZ2lzdGVyKGluX2Rldik7XG4gXHRuZWlnaF9wYXJtc19yZWxlYXNlKFx1MDAyNmFycF90YmwsIGluX2Rldi1cdTAwM2VhcnBfcGFybXMpO1xuIFx0YXJwX2lmZG93bihkZXYpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aW5ldGRldl9kZXN0cm95JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBvcmRlciBvZiBvcGVyYXRpb25zIGluIGBpbmV0ZGV2X2Rlc3Ryb3lgIGJ5IG1vdmluZyB0aGUgYFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7YCBzdGF0ZW1lbnQgYmVmb3JlIGBpcF9tY19kZXN0cm95X2RldmAgYW5kIHRoZSBpbnRlcmZhY2UgYWRkcmVzcyBjbGVhbnVwIGxvb3AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBJUHY0IG5ldHdvcmtpbmcgY29kZSwgbGlrZWx5IGZpeGluZyBhIHJhY2UgY29uZGl0aW9uIG9yIHVzZS1hZnRlci1mcmVlIGR1cmluZyBuZXR3b3JrIGRldmljZSB1bnJlZ2lzdHJhdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNTI1YTZiYWJiYmIyNmFlYTFkZmM1Yjc4NjQ1Nzc5NjJkOTVmYTI3MQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUdWUgSnVsIDcgMTI6MTQ6MDYgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9kZXZpbmV0LmMgYi9uZXQvaXB2NC9kZXZpbmV0LmMKaW5kZXggYTM1YjcyNjYyZTQzMTYuLjNiMzFmNGJlYzMwZWUxIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9kZXZpbmV0LmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L2lwdjQvZGV2aW5ldC5jCkBAIC0zMjIsNiAmIzQzOzMyMiw4IEBAIHN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpCiAKIAlpbl9kZXYtJmd0O2RlYWQgPSAxOwogCiYjNDM7CVJDVV9JTklUX1BPSU5URVIoZGV2LSZndDtpcF9wdHIsIE5VTEwpOwomIzQzOwogCWlwX21jX2Rlc3Ryb3lfZGV2KGluX2Rldik7CiAKIAl3aGlsZSAoKGlmYSA9IHJ0bmxfZGVyZWZlcmVuY2UoaW5fZGV2LSZndDtpZmFfbGlzdCkpICE9IE5VTEwpIHsKQEAgLTMyOSw4ICYjNDM7MzMxLDYgQEAgc3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldikKIAkJaW5ldF9mcmVlX2lmYShpZmEpOwogCX0KIAotCVJDVV9JTklUX1BPSU5URVIoZGV2LSZndDtpcF9wdHIsIE5VTEwpOwotCiAJZGV2aW5ldF9zeXNjdGxfdW5yZWdpc3Rlcihpbl9kZXYpOwogCW5laWdoX3Bhcm1zX3JlbGVhc2UoJmFtcDthcnBfdGJsLCBpbl9kZXYtJmd0O2FycF9wYXJtcyk7CiAJYXJwX2lmZG93bihkZXYpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxMjoxNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTM0CgkJCQkJCQlvdXRwdXQ6IDMzCgkJCQkJCQl0aG91Z2h0czogMTMwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgYSBzdHJhaWdodGZvcndhcmQgb25lLCBsb29raW5nIGF0IGEgbW9kaWZpY2F0aW9uIGluIGBuZXQvaXB2NC9kZXZpbmV0LmNgLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHNlZW1zIHRvIGJlIHRoZSByZWxvY2F0aW9uIG9mIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi0mZ3Q7aXBfcHRyLCBOVUxMKTtgIHdpdGhpbiB0aGUgYGluZXRkZXZfZGVzdHJveWAgZnVuY3Rpb24uIFNwZWNpZmljYWxseSwgaXQmIzM5O3MgYmVpbmcgbW92ZWQgKnVwKiBpbiB0aGUgZnVuY3Rpb24sIHBsYWNlZCBiZWZvcmUgdGhlIGNhbGwgdG8gYGlwX21jX2Rlc3Ryb3lfZGV2KGluX2RldilgIGFuZCB0aGUgbG9vcCB0aGF0IGl0ZXJhdGVzIHRocm91Z2ggYW5kIGZyZWVzIGBpZmFfbGlzdGAuCgpUaGlzIGltbWVkaWF0ZWx5IGZsYWdzIGEgcG90ZW50aWFsIGJ1ZyBmaXguIE15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IHRoaXMgaXMgbGlrZWx5IGFkZHJlc3NpbmcgYSB1c2UtYWZ0ZXItZnJlZSB2dWxuZXJhYmlsaXR5IG9yLCBhdCB0aGUgdmVyeSBsZWFzdCwgYSBzdWJ0bGUgcmFjZSBjb25kaXRpb24uIFRoZSBjaGFuZ2Ugc3VnZ2VzdHMgdGhhdCBgZGV2LSZndDtpcF9wdHJgIG1pZ2h0IGJlIGFjY2Vzc2VkICp3aGlsZSogdGhlIGBpbl9kZXZgIHN0cnVjdHVyZSwgYW5kIHBvdGVudGlhbGx5IHJlbGF0ZWQgZGF0YSB3aXRoaW4gaXQgKGxpa2UgdGhlIElQIG11bHRpY2FzdCBkYXRhIGFuZCBpbnRlcmZhY2UgYWRkcmVzcyBsaXN0KSBhcmUgYmVpbmcgZGVjb25zdHJ1Y3RlZCBhbmQgZnJlZWQuIEJ5IGluaXRpYWxpemluZyB0aGUgcG9pbnRlciB0byBgTlVMTGAgZWFybGllciwgdGhlIHBhdGNoIGlzIGxpa2VseSBwcmV2ZW50aW5nIGEgc2NlbmFyaW8gd2hlcmUgYSBzdGFsZSBwb2ludGVyIG1pZ2h0IGJlIGRlcmVmZXJlbmNlZCBsYXRlciwgbGVhZGluZyB0byB1bnByZWRpY3RhYmxlIGJlaGF2aW9yIG9yIGEgY3Jhc2guCgpJIHNob3VsZCBwcm9iYWJseSBkaXZlIGludG8gdGhlIHNvdXJjZSBjb2RlIHRvIGNvbmZpcm0gdGhlIGh5cG90aGVzaXMsIHN0YXJ0aW5nIHdpdGggYSBjbG9zZXIgbG9vayBhdCBgaW5ldGRldl9kZXN0cm95YCBpdHNlbGYuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBleGFjdCBvcmRlciBvZiBvcGVyYXRpb25zIGFuZCB0aGUgcG90ZW50aWFsIHBvaW50cyBvZiBjb25jdXJyZW50IGFjY2VzcyB0byB0aGF0IGBkZXYtJmd0O2lwX3B0cmAgZmllbGQgdG8gZnVsbHkgZ3Jhc3AgdGhlIHNpZ25pZmljYW5jZSBvZiB0aGlzIHJlYXJyYW5nZW1lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTI6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aW5ldGRldl9kZXN0cm95JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L2lwdjQvZGV2aW5ldC5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9pcHY0L2RldmluZXQuYz0yNjY9c3RhdGljIHN0cnVjdCBpbl9kZXZpY2UgKmluZXRkZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxuLS1cbm5ldC9pcHY0L2RldmluZXQuYy0zMTMtXG5uZXQvaXB2NC9kZXZpbmV0LmM6MzE0OnN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpXG5uZXQvaXB2NC9kZXZpbmV0LmMtMzE1LXtcbi0tXG5uZXQvaXB2NC9kZXZpbmV0LmM9MTU4MD1zdGF0aWMgaW50IGluZXRkZXZfZXZlbnQoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp0aGlzLCB1bnNpZ25lZCBsb25nIGV2ZW50LFxuLS1cbm5ldC9pcHY0L2RldmluZXQuYy0xNjU0LVx0Y2FzZSBORVRERVZfVU5SRUdJU1RFUjpcbm5ldC9pcHY0L2RldmluZXQuYzoxNjU1Olx0XHRpbmV0ZGV2X2Rlc3Ryb3koaW5fZGV2KTtcbm5ldC9pcHY0L2RldmluZXQuYy0xNjU2LVx0XHRicmVhaztcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxMjoxNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNjE2CgkJCQkJCQlvdXRwdXQ6IDMwCgkJCQkJCQl0aG91Z2h0czogMTI3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgSW5ldGRldiBEZXN0cnVjdGlvbioqCgpPa2F5LCBzbyBgaW5ldGRldl9kZXN0cm95YCBpcyB0aGUgZnVuY3Rpb24gd2UmIzM5O3JlIHRhcmdldGluZy4gSXQmIzM5O3MgY2FsbGVkIGZyb20gYGluZXRkZXZfZXZlbnRgIHdoZW4gYSBuZXR3b3JrIGRldmljZSBpcyB1bnJlZ2lzdGVyZWQg4oCTIHRoYXQgc291bmRzIGxpa2UgYSBnb29kIHBsYWNlIGZvciBwb3RlbnRpYWwgZnV6emluZy4gVGhpcyBpcyBjb3JlIG5ldHdvcmtpbmcgc3R1ZmYsIHNvIGFueSBpc3N1ZXMgaGVyZSBjb3VsZCBiZSBzaWduaWZpY2FudC4gVGhlIGNoYW5nZSBzZWVtcyBmdW5jdGlvbmFsLCBhbmQgZ2l2ZW4gaXRzIGltcG9ydGFuY2UsIGl0JiMzOTtzIGRlZmluaXRlbHkgd29ydGggZnV6emluZy4gVGhlIGtleSBzeW1ib2wgdG8gZm9jdXMgb24gaXMgYGluZXRkZXZfZGVzdHJveWAsIG9idmlvdXNseS4KCk5vdywgbGV0JiMzOTtzIHRoaW5rIGFib3V0IHBvdGVudGlhbCBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGluZmx1ZW5jZSB0aGlzIGZ1bmN0aW9uJiMzOTtzIGJlaGF2aW9yLiBUaGUgZG9jdW1lbnRhdGlvbiBtZW50aW9ucyBgSVBfTVVMVElDQVNUYCwgYW5kIEkgcmVtZW1iZXIgdGhhdCBgaXBfbWNfZGVzdHJveV9kZXZgIGdldHMgY2FsbGVkIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4gU28sIGxldCYjMzk7cyBkaWcgaW50byB0aGUgY29uZmlndXJhdGlvbnMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IHRoYXQgc3BlY2lmaWNhbGx5IGFmZmVjdCB0aGUgZmxvdyBoZXJlLgoKSSBrbm93IGBuZXQvaXB2NC9kZXZpbmV0LmNgIGdldHMgY29tcGlsZWQgd2hlbiBgQ09ORklHX0lORVRgIGlzIGVuYWJsZWQsIHdoaWNoIGlzIHByZXR0eSBtdWNoIGFsd2F5cyBlbmFibGVkIGluIGEgdHlwaWNhbCBrZXJuZWwuIFRvIGdldCBhIGhhbmRsZSBvbiBvdGhlciBkZXBlbmRlbmNpZXMsIEkgc2hvdWxkIGNoZWNrIHRoZSBgbmV0L2lwdjQvTWFrZWZpbGVgIHRvIHNlZSBob3cgaXQmIzM5O3MgYWxsIHB1dCB0b2dldGhlci4gVGhpcyBzaG91bGQgZ2l2ZSBtZSBhIGdvb2QgcGljdHVyZSBvZiB3aGljaCBjb25maWdzLCBpZiBhbnksIHBsYXkgYSByb2xlIGluIHRoaXMgZGVzdHJ1Y3Rpb24gcHJvY2Vzcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxMjoxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtkZXZpbmV0Lm8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvaXB2NC9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvaXB2NC9NYWtlZmlsZT02PW9iai15ICAgICA6PSByb3V0ZS5vIGluZXRwZWVyLm8gcHJvdG9jb2wubyBcXFxuLS1cbm5ldC9pcHY0L01ha2VmaWxlLTEzLVx0ICAgICB0Y3Bfb2ZmbG9hZC5vIHRjcF9wbGIubyBkYXRhZ3JhbS5vIHJhdy5vIHVkcC5vIFxcXG5uZXQvaXB2NC9NYWtlZmlsZToxNDpcdCAgICAgdWRwX29mZmxvYWQubyBhcnAubyBpY21wLm8gZGV2aW5ldC5vIGFmX2luZXQubyBpZ21wLm8gXFxcbm5ldC9pcHY0L01ha2VmaWxlLTE1LVx0ICAgICBmaWJfZnJvbnRlbmQubyBmaWJfc2VtYW50aWNzLm8gZmliX3RyaWUubyBmaWJfbm90aWZpZXIubyBcXFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxODUKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiA5OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJUHY0IENvbXBpbGF0aW9uIElucXVpcnkqKgoKT2theSwgc28gdGhlIGNvZGUmIzM5O3MgYWx3YXlzIGJlaW5nIGNvbXBpbGVkIGZvciBJUHY0LCB3aGljaCBpcyBleHBlY3RlZC4gSSB3b25kZXIgaWYgdGhlcmUgYXJlIGFueSBvdGhlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW52b2x2ZWQgdGhhdCBJIHNob3VsZCBiZSBjb25zaWRlcmluZz8gTm9wZSwgbm90aGluZyBlbHNlIGp1bXBzIG91dCBhdCBtZS4gTXkgZm9jdXMgcmlnaHQgbm93IGlzIG9uIHRoZSBgaW5ldGRldl9kZXN0cm95YCBzeW1ib2wuIElzIHRoYXQgZnVuY3Rpb24gYSBwZXJmb3JtYW5jZSBib3R0bGVuZWNrPyBObywgc2VlbXMgbGlrZSBpdCYjMzk7cyBwcmltYXJpbHkgdXNlZCB3aGVuIGEgbmV0d29yayBkZXZpY2UgaXMgdW5yZWdpc3RlcmVkLCBzbyBpdCYjMzk7cyBub3QgYSBob3QgcGF0aC4KCkFscmlnaHQsIGxldCYjMzk7cyBqdXN0IG1ha2UgYWJzb2x1dGVseSBzdXJlIEkgaGF2ZW4mIzM5O3QgbWlzc2VkIGFueSByZWxldmFudCBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gTm9wZSwgbG9va3MgbGlrZSBgQ09ORklHX0lORVRgIGlzIHRoZSBvbmx5IHJlbGV2YW50IGNvbmZpZyBoZXJlLgoKSnVzdCB0byBiZSBjb21wbGV0ZWx5IHRob3JvdWdoLCBsZXQmIzM5O3MgdmVyaWZ5IHRoZSBgaW5ldGRldl9kZXN0cm95YCBpbXBsZW1lbnRhdGlvbiBpbiBgbmV0L2lwdjQvZGV2aW5ldC5jYC4gR290dGEgZG91YmxlLWNoZWNrIHRoYXQgdGhpcyByb3V0aW5lIGlzIGJlaGF2aW5nIGFzIEkmIzM5O2QgZXhwZWN0LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7bmV0L2lwdjQvZGV2aW5ldC5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMzEwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDUwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAzMTA6XHRcdGluX2RldiA9IE5VTEw7XG4gMzExOlx0XHRnb3RvIG91dDtcbiAzMTI6XHR9XG4gMzEzOlx0XG4gMzE0Olx0c3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcbiAzMTU6XHR7XG4gMzE2Olx0XHRzdHJ1Y3QgbmV0X2RldmljZSAqZGV2O1xuIDMxNzpcdFx0c3RydWN0IGluX2lmYWRkciAqaWZhO1xuIDMxODpcdFxuIDMxOTpcdFx0QVNTRVJUX1JUTkwoKTtcbiAzMjA6XHRcbiAzMjE6XHRcdGRldiA9IGluX2Rldi1cdTAwM2VkZXY7XG4gMzIyOlx0XG4gMzIzOlx0XHRpbl9kZXYtXHUwMDNlZGVhZCA9IDE7XG4gMzI0Olx0XG4gMzI1Olx0XHRSQ1VfSU5JVF9QT0lOVEVSKGRldi1cdTAwM2VpcF9wdHIsIE5VTEwpO1xuIDMyNjpcdFxuIDMyNzpcdFx0aXBfbWNfZGVzdHJveV9kZXYoaW5fZGV2KTtcbiAzMjg6XHRcbiAzMjk6XHRcdHdoaWxlICgoaWZhID0gcnRubF9kZXJlZmVyZW5jZShpbl9kZXYtXHUwMDNlaWZhX2xpc3QpKSAhPSBOVUxMKSB7XG4gMzMwOlx0XHRcdGluZXRfZGVsX2lmYShpbl9kZXYsIFx1MDAyNmluX2Rldi1cdTAwM2VpZmFfbGlzdCwgMCk7XG4gMzMxOlx0XHRcdGluZXRfZnJlZV9pZmEoaWZhKTtcbiAzMzI6XHRcdH1cbiAzMzM6XHRcbiAzMzQ6XHRcdGRldmluZXRfc3lzY3RsX3VucmVnaXN0ZXIoaW5fZGV2KTtcbiAzMzU6XHRcdG5laWdoX3Bhcm1zX3JlbGVhc2UoXHUwMDI2YXJwX3RibCwgaW5fZGV2LVx1MDAzZWFycF9wYXJtcyk7XG4gMzM2Olx0XHRhcnBfaWZkb3duKGRldik7XG4gMzM3Olx0XG4gMzM4Olx0XHRpbl9kZXZfcHV0KGluX2Rldik7XG4gMzM5Olx0fVxuIDM0MDpcdFxuIDM0MTpcdHN0YXRpYyBpbnQgX19pbml0IGluZXRfYmxhY2tob2xlX2Rldl9pbml0KHZvaWQpXG4gMzQyOlx0e1xuIDM0MzpcdFx0c3RydWN0IGluX2RldmljZSAqaW5fZGV2O1xuIDM0NDpcdFxuIDM0NTpcdFx0cnRubF9sb2NrKCk7XG4gMzQ2Olx0XHRpbl9kZXYgPSBpbmV0ZGV2X2luaXQoYmxhY2tob2xlX25ldGRldik7XG4gMzQ3Olx0XHRydG5sX3VubG9jaygpO1xuIDM0ODpcdFxuIDM0OTpcdFx0cmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhpbl9kZXYpO1xuIDM1MDpcdH1cbiAzNTE6XHRsYXRlX2luaXRjYWxsKGluZXRfYmxhY2tob2xlX2Rldl9pbml0KTtcbiAzNTI6XHRcbiAzNTM6XHRpbnQgaW5ldF9hZGRyX29ubGluayhzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYsIF9fYmUzMiBhLCBfX2JlMzIgYilcbiAzNTQ6XHR7XG4gMzU1Olx0XHRjb25zdCBzdHJ1Y3QgaW5faWZhZGRyICppZmE7XG4gMzU2Olx0XG4gMzU3Olx0XHRyY3VfcmVhZF9sb2NrKCk7XG4gMzU4Olx0XHRpbl9kZXZfZm9yX2VhY2hfaWZhX3JjdShpZmEsIGluX2Rldikge1xuIDM1OTpcdFx0XHRpZiAoaW5ldF9pZmFfbWF0Y2goYSwgaWZhKSkge1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQyMTYKCQkJCQkJCW91dHB1dDogMTIwCgkJCQkJCQl0aG91Z2h0czogNjYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqUGF0Y2ggQW5hbHlzaXMgZm9yIEVuaGFuY2VkIEZ1enppbmcqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBzdHJhaWdodGZvcndhcmQg4oCTIGl0JiMzOTtzIGp1c3QgbW92aW5nIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi0mZ3Q7aXBfcHRyLCBOVUxMKTtgIGVhcmxpZXIgaW4gdGhlIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlLiBGdW5jdGlvbmFsbHksIGl0IHNob3VsZG4mIzM5O3QgY2hhbmdlICpiZWhhdmlvciogaW4gYSBkcmFtYXRpYyB3YXksIGJ1dCBhbnkgY2hhbmdlLCBob3dldmVyIG1pbm9yLCB3YXJyYW50cyBmdXp6aW5nLiBUaGVyZWZvcmUsIHRoZSBwcmlvcml0eSBpcyB0byBiZSBzdXJlIGl0IGRvZXNuJiMzOTt0IGNhdXNlIGFueSB1bmV4cGVjdGVkIG1lbW9yeSBjb3JydXB0aW9uIG9yIHJhY2UgY29uZGl0aW9ucy4KCk15IGtleSBhcmVhIG9mIGZvY3VzIGZvciB0aGlzIGZ1enppbmcgZWZmb3J0IHdpbGwgYmUgYXJvdW5kIGBpbmV0ZGV2X2Rlc3Ryb3lgLiBUaGlzIGZ1bmN0aW9uIGlzIGNyaXRpY2FsIGZvciBwcm9wZXIgY2xlYW51cCwgYW5kIGFueSBtaXNhbGlnbm1lbnQgaW4gaW5pdGlhbGl6YXRpb24gY291bGQgc3VyZmFjZSB0aGVyZS4gSSYjMzk7bGwgbmVlZCB0byBwYXkgcGFydGljdWxhcmx5IGNsb3NlIGF0dGVudGlvbiB0byBob3cgYGlwX3B0cmAgaXMgaGFuZGxlZCBkdXJpbmcgZGVzdHJ1Y3Rpb24uCgpObyBzcGVjaWFsIGNvbmZpZ3VyYXRpb25zIGFyZSBuZWVkZWQsIGZvcnR1bmF0ZWx5LCBhcyBJUHY0IGlzIGJ1aWx0LWluLiBUaGlzIGtlZXBzIHRoZSB0ZXN0aW5nIHByb2Nlc3Mgc3RyZWFtbGluZWQuCgpJIGFtIHJlYWR5IHRvIHN0YXJ0IHRlc3RpbmcgYW5kIHRoZW4gSSB3aWxsIGNhbGwgc2V0LXJlc3VsdHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtpbmV0ZGV2X2Rlc3Ryb3kmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG9yZGVyIG9mIG9wZXJhdGlvbnMgaW4gYGluZXRkZXZfZGVzdHJveWAgYnkgbW92aW5nIHRoZSBgUkNVX0lOSVRfUE9JTlRFUihkZXYtXHUwMDNlaXBfcHRyLCBOVUxMKTtgIHN0YXRlbWVudCBiZWZvcmUgYGlwX21jX2Rlc3Ryb3lfZGV2YCBhbmQgdGhlIGludGVyZmFjZSBhZGRyZXNzIGNsZWFudXAgbG9vcC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIElQdjQgbmV0d29ya2luZyBjb2RlLCBsaWtlbHkgZml4aW5nIGEgcmFjZSBjb25kaXRpb24gb3IgdXNlLWFmdGVyLWZyZWUgZHVyaW5nIG5ldHdvcmsgZGV2aWNlIHVucmVnaXN0cmF0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2luZXRkZXZfZGVzdHJveSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgb3JkZXIgb2Ygb3BlcmF0aW9ucyBpbiBgaW5ldGRldl9kZXN0cm95YCBieSBtb3ZpbmcgdGhlIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi1cdTAwM2VpcF9wdHIsIE5VTEwpO2Agc3RhdGVtZW50IGJlZm9yZSBgaXBfbWNfZGVzdHJveV9kZXZgIGFuZCB0aGUgaW50ZXJmYWNlIGFkZHJlc3MgY2xlYW51cCBsb29wLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgSVB2NCBuZXR3b3JraW5nIGNvZGUsIGxpa2VseSBmaXhpbmcgYSByYWNlIGNvbmRpdGlvbiBvciB1c2UtYWZ0ZXItZnJlZSBkdXJpbmcgbmV0d29yayBkZXZpY2UgdW5yZWdpc3RyYXRpb24uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxMjoxNDowNy4xODM4MjI4MDVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDYxOTc5NTE1NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJpbmV0ZGV2X2Rlc3Ryb3lcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgb3JkZXIgb2Ygb3BlcmF0aW9ucyBpbiBgaW5ldGRldl9kZXN0cm95YCBieSBtb3ZpbmcgdGhlIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi1cXHUwMDNlaXBfcHRyLCBOVUxMKTtgIHN0YXRlbWVudCBiZWZvcmUgYGlwX21jX2Rlc3Ryb3lfZGV2YCBhbmQgdGhlIGludGVyZmFjZSBhZGRyZXNzIGNsZWFudXAgbG9vcC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIElQdjQgbmV0d29ya2luZyBjb2RlLCBsaWtlbHkgZml4aW5nIGEgcmFjZSBjb25kaXRpb24gb3IgdXNlLWFmdGVyLWZyZWUgZHVyaW5nIG5ldHdvcmsgZGV2aWNlIHVucmVnaXN0cmF0aW9uLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxMjoxNDowNy4xODM4MjcxMzVaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM3MjQ1Njg3MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDUyNWE2YmFiYmJiMjZhZWExZGZjNWI3ODY0NTc3OTYyZDk1ZmEyNzFcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFR1ZSBKdWwgNyAxMjoxNDowNiAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9uZXQvaXB2NC9kZXZpbmV0LmMgYi9uZXQvaXB2NC9kZXZpbmV0LmNcXG5pbmRleCBhMzViNzI2NjJlNDMxNi4uM2IzMWY0YmVjMzBlZTEgMTAwNjQ0XFxuLS0tIGEvbmV0L2lwdjQvZGV2aW5ldC5jXFxuKysrIGIvbmV0L2lwdjQvZGV2aW5ldC5jXFxuQEAgLTMyMiw2ICszMjIsOCBAQCBzdGF0aWMgdm9pZCBpbmV0ZGV2X2Rlc3Ryb3koc3RydWN0IGluX2RldmljZSAqaW5fZGV2KVxcbiBcXG4gXFx0aW5fZGV2LVxcdTAwM2VkZWFkID0gMTtcXG4gXFxuK1xcdFJDVV9JTklUX1BPSU5URVIoZGV2LVxcdTAwM2VpcF9wdHIsIE5VTEwpO1xcbitcXG4gXFx0aXBfbWNfZGVzdHJveV9kZXYoaW5fZGV2KTtcXG4gXFxuIFxcdHdoaWxlICgoaWZhID0gcnRubF9kZXJlZmVyZW5jZShpbl9kZXYtXFx1MDAzZWlmYV9saXN0KSkgIT0gTlVMTCkge1xcbkBAIC0zMjksOCArMzMxLDYgQEAgc3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcXG4gXFx0XFx0aW5ldF9mcmVlX2lmYShpZmEpO1xcbiBcXHR9XFxuIFxcbi1cXHRSQ1VfSU5JVF9QT0lOVEVSKGRldi1cXHUwMDNlaXBfcHRyLCBOVUxMKTtcXG4tXFxuIFxcdGRldmluZXRfc3lzY3RsX3VucmVnaXN0ZXIoaW5fZGV2KTtcXG4gXFx0bmVpZ2hfcGFybXNfcmVsZWFzZShcXHUwMDI2YXJwX3RibCwgaW5fZGV2LVxcdTAwM2VhcnBfcGFybXMpO1xcbiBcXHRhcnBfaWZkb3duKGRldik7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDEyOjE0OjA3LjU1NzA5MzkzOFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjAyNDY1MTgyNDQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiaW5ldGRldl9kZXN0cm95XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG9yZGVyIG9mIG9wZXJhdGlvbnMgaW4gYGluZXRkZXZfZGVzdHJveWAgYnkgbW92aW5nIHRoZSBgUkNVX0lOSVRfUE9JTlRFUihkZXYtXFx1MDAzZWlwX3B0ciwgTlVMTCk7YCBzdGF0ZW1lbnQgYmVmb3JlIGBpcF9tY19kZXN0cm95X2RldmAgYW5kIHRoZSBpbnRlcmZhY2UgYWRkcmVzcyBjbGVhbnVwIGxvb3AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBJUHY0IG5ldHdvcmtpbmcgY29kZSwgbGlrZWx5IGZpeGluZyBhIHJhY2UgY29uZGl0aW9uIG9yIHVzZS1hZnRlci1mcmVlIGR1cmluZyBuZXR3b3JrIGRldmljZSB1bnJlZ2lzdHJhdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA1MjVhNmJhYmJiYjI2YWVhMWRmYzViNzg2NDU3Nzk2MmQ5NWZhMjcxXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgNyAxMjoxNDowNiAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9pcHY0L2RldmluZXQuYyBiL25ldC9pcHY0L2RldmluZXQuY1xuaW5kZXggYTM1YjcyNjYyZTQzMTYuLjNiMzFmNGJlYzMwZWUxIDEwMDY0NFxuLS0tIGEvbmV0L2lwdjQvZGV2aW5ldC5jXG4rKysgYi9uZXQvaXB2NC9kZXZpbmV0LmNcbkBAIC0zMjIsNiArMzIyLDggQEAgc3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcbiBcbiBcdGluX2Rldi1cdTAwM2VkZWFkID0gMTtcbiBcbitcdFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7XG4rXG4gXHRpcF9tY19kZXN0cm95X2Rldihpbl9kZXYpO1xuIFxuIFx0d2hpbGUgKChpZmEgPSBydG5sX2RlcmVmZXJlbmNlKGluX2Rldi1cdTAwM2VpZmFfbGlzdCkpICE9IE5VTEwpIHtcbkBAIC0zMjksOCArMzMxLDYgQEAgc3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcbiBcdFx0aW5ldF9mcmVlX2lmYShpZmEpO1xuIFx0fVxuIFxuLVx0UkNVX0lOSVRfUE9JTlRFUihkZXYtXHUwMDNlaXBfcHRyLCBOVUxMKTtcbi1cbiBcdGRldmluZXRfc3lzY3RsX3VucmVnaXN0ZXIoaW5fZGV2KTtcbiBcdG5laWdoX3Bhcm1zX3JlbGVhc2UoXHUwMDI2YXJwX3RibCwgaW5fZGV2LVx1MDAzZWFycF9wYXJtcyk7XG4gXHRhcnBfaWZkb3duKGRldik7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxMjoxNDowNy41NTcwOTU4MThaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzUyNTYyNDMxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBhIHN0cmFpZ2h0Zm9yd2FyZCBvbmUsIGxvb2tpbmcgYXQgYSBtb2RpZmljYXRpb24gaW4gYG5ldC9pcHY0L2RldmluZXQuY2AuIFRoZSBjb3JlIG9mIHRoZSBjaGFuZ2Ugc2VlbXMgdG8gYmUgdGhlIHJlbG9jYXRpb24gb2YgYFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7YCB3aXRoaW4gdGhlIGBpbmV0ZGV2X2Rlc3Ryb3lgIGZ1bmN0aW9uLiBTcGVjaWZpY2FsbHksIGl0J3MgYmVpbmcgbW92ZWQgKnVwKiBpbiB0aGUgZnVuY3Rpb24sIHBsYWNlZCBiZWZvcmUgdGhlIGNhbGwgdG8gYGlwX21jX2Rlc3Ryb3lfZGV2KGluX2RldilgIGFuZCB0aGUgbG9vcCB0aGF0IGl0ZXJhdGVzIHRocm91Z2ggYW5kIGZyZWVzIGBpZmFfbGlzdGAuXG5cblRoaXMgaW1tZWRpYXRlbHkgZmxhZ3MgYSBwb3RlbnRpYWwgYnVnIGZpeC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgdGhpcyBpcyBsaWtlbHkgYWRkcmVzc2luZyBhIHVzZS1hZnRlci1mcmVlIHZ1bG5lcmFiaWxpdHkgb3IsIGF0IHRoZSB2ZXJ5IGxlYXN0LCBhIHN1YnRsZSByYWNlIGNvbmRpdGlvbi4gVGhlIGNoYW5nZSBzdWdnZXN0cyB0aGF0IGBkZXYtXHUwMDNlaXBfcHRyYCBtaWdodCBiZSBhY2Nlc3NlZCAqd2hpbGUqIHRoZSBgaW5fZGV2YCBzdHJ1Y3R1cmUsIGFuZCBwb3RlbnRpYWxseSByZWxhdGVkIGRhdGEgd2l0aGluIGl0IChsaWtlIHRoZSBJUCBtdWx0aWNhc3QgZGF0YSBhbmQgaW50ZXJmYWNlIGFkZHJlc3MgbGlzdCkgYXJlIGJlaW5nIGRlY29uc3RydWN0ZWQgYW5kIGZyZWVkLiBCeSBpbml0aWFsaXppbmcgdGhlIHBvaW50ZXIgdG8gYE5VTExgIGVhcmxpZXIsIHRoZSBwYXRjaCBpcyBsaWtlbHkgcHJldmVudGluZyBhIHNjZW5hcmlvIHdoZXJlIGEgc3RhbGUgcG9pbnRlciBtaWdodCBiZSBkZXJlZmVyZW5jZWQgbGF0ZXIsIGxlYWRpbmcgdG8gdW5wcmVkaWN0YWJsZSBiZWhhdmlvciBvciBhIGNyYXNoLlxuXG5JIHNob3VsZCBwcm9iYWJseSBkaXZlIGludG8gdGhlIHNvdXJjZSBjb2RlIHRvIGNvbmZpcm0gdGhlIGh5cG90aGVzaXMsIHN0YXJ0aW5nIHdpdGggYSBjbG9zZXIgbG9vayBhdCBgaW5ldGRldl9kZXN0cm95YCBpdHNlbGYuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBleGFjdCBvcmRlciBvZiBvcGVyYXRpb25zIGFuZCB0aGUgcG90ZW50aWFsIHBvaW50cyBvZiBjb25jdXJyZW50IGFjY2VzcyB0byB0aGF0IGBkZXYtXHUwMDNlaXBfcHRyYCBmaWVsZCB0byBmdWxseSBncmFzcCB0aGUgc2lnbmlmaWNhbmNlIG9mIHRoaXMgcmVhcnJhbmdlbWVudC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTkzNCwiT3V0cHV0VG9rZW5zIjozMywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzMCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDEyOjE0OjExLjkwOTY2MDM0OVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MjgwNzM2NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJpbmV0ZGV2X2Rlc3Ryb3lcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L2lwdjQvZGV2aW5ldC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9pcHY0L2RldmluZXQuYz0yNjY9c3RhdGljIHN0cnVjdCBpbl9kZXZpY2UgKmluZXRkZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbi0tXFxubmV0L2lwdjQvZGV2aW5ldC5jLTMxMy1cXG5uZXQvaXB2NC9kZXZpbmV0LmM6MzE0OnN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpXFxubmV0L2lwdjQvZGV2aW5ldC5jLTMxNS17XFxuLS1cXG5uZXQvaXB2NC9kZXZpbmV0LmM9MTU4MD1zdGF0aWMgaW50IGluZXRkZXZfZXZlbnQoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp0aGlzLCB1bnNpZ25lZCBsb25nIGV2ZW50LFxcbi0tXFxubmV0L2lwdjQvZGV2aW5ldC5jLTE2NTQtXFx0Y2FzZSBORVRERVZfVU5SRUdJU1RFUjpcXG5uZXQvaXB2NC9kZXZpbmV0LmM6MTY1NTpcXHRcXHRpbmV0ZGV2X2Rlc3Ryb3koaW5fZGV2KTtcXG5uZXQvaXB2NC9kZXZpbmV0LmMtMTY1Ni1cXHRcXHRicmVhaztcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTI6MTQ6MTEuOTcyNDc0MTcyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTkyMDY1MTU2MjQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRnV6emluZyBJbmV0ZGV2IERlc3RydWN0aW9uKipcblxuT2theSwgc28gYGluZXRkZXZfZGVzdHJveWAgaXMgdGhlIGZ1bmN0aW9uIHdlJ3JlIHRhcmdldGluZy4gSXQncyBjYWxsZWQgZnJvbSBgaW5ldGRldl9ldmVudGAgd2hlbiBhIG5ldHdvcmsgZGV2aWNlIGlzIHVucmVnaXN0ZXJlZCDigJMgdGhhdCBzb3VuZHMgbGlrZSBhIGdvb2QgcGxhY2UgZm9yIHBvdGVudGlhbCBmdXp6aW5nLiBUaGlzIGlzIGNvcmUgbmV0d29ya2luZyBzdHVmZiwgc28gYW55IGlzc3VlcyBoZXJlIGNvdWxkIGJlIHNpZ25pZmljYW50LiBUaGUgY2hhbmdlIHNlZW1zIGZ1bmN0aW9uYWwsIGFuZCBnaXZlbiBpdHMgaW1wb3J0YW5jZSwgaXQncyBkZWZpbml0ZWx5IHdvcnRoIGZ1enppbmcuIFRoZSBrZXkgc3ltYm9sIHRvIGZvY3VzIG9uIGlzIGBpbmV0ZGV2X2Rlc3Ryb3lgLCBvYnZpb3VzbHkuXG5cbk5vdywgbGV0J3MgdGhpbmsgYWJvdXQgcG90ZW50aWFsIGNvbmZpZ3VyYXRpb25zIHRoYXQgbWlnaHQgaW5mbHVlbmNlIHRoaXMgZnVuY3Rpb24ncyBiZWhhdmlvci4gVGhlIGRvY3VtZW50YXRpb24gbWVudGlvbnMgYElQX01VTFRJQ0FTVGAsIGFuZCBJIHJlbWVtYmVyIHRoYXQgYGlwX21jX2Rlc3Ryb3lfZGV2YCBnZXRzIGNhbGxlZCB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMuIFNvLCBsZXQncyBkaWcgaW50byB0aGUgY29uZmlndXJhdGlvbnMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IHRoYXQgc3BlY2lmaWNhbGx5IGFmZmVjdCB0aGUgZmxvdyBoZXJlLlxuXG5JIGtub3cgYG5ldC9pcHY0L2RldmluZXQuY2AgZ2V0cyBjb21waWxlZCB3aGVuIGBDT05GSUdfSU5FVGAgaXMgZW5hYmxlZCwgd2hpY2ggaXMgcHJldHR5IG11Y2ggYWx3YXlzIGVuYWJsZWQgaW4gYSB0eXBpY2FsIGtlcm5lbC4gVG8gZ2V0IGEgaGFuZGxlIG9uIG90aGVyIGRlcGVuZGVuY2llcywgSSBzaG91bGQgY2hlY2sgdGhlIGBuZXQvaXB2NC9NYWtlZmlsZWAgdG8gc2VlIGhvdyBpdCdzIGFsbCBwdXQgdG9nZXRoZXIuIFRoaXMgc2hvdWxkIGdpdmUgbWUgYSBnb29kIHBpY3R1cmUgb2Ygd2hpY2ggY29uZmlncywgaWYgYW55LCBwbGF5IGEgcm9sZSBpbiB0aGlzIGRlc3RydWN0aW9uIHByb2Nlc3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI2MTYsIk91dHB1dFRva2VucyI6MzAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMjcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTI6MTQ6MzEuMTc4OTkxMzQ3WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU4ODI4ODI0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImRldmluZXQub1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvaXB2NC9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvaXB2NC9NYWtlZmlsZT02PW9iai15ICAgICA6PSByb3V0ZS5vIGluZXRwZWVyLm8gcHJvdG9jb2wubyBcXFxcXFxuLS1cXG5uZXQvaXB2NC9NYWtlZmlsZS0xMy1cXHQgICAgIHRjcF9vZmZsb2FkLm8gdGNwX3BsYi5vIGRhdGFncmFtLm8gcmF3Lm8gdWRwLm8gXFxcXFxcbm5ldC9pcHY0L01ha2VmaWxlOjE0OlxcdCAgICAgdWRwX29mZmxvYWQubyBhcnAubyBpY21wLm8gZGV2aW5ldC5vIGFmX2luZXQubyBpZ21wLm8gXFxcXFxcbm5ldC9pcHY0L01ha2VmaWxlLTE1LVxcdCAgICAgZmliX2Zyb250ZW5kLm8gZmliX3NlbWFudGljcy5vIGZpYl90cmllLm8gZmliX25vdGlmaWVyLm8gXFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxMjoxNDozMS4yMzc4MjQwNDFaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2ODIzNTY5MzY3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKklQdjQgQ29tcGlsYXRpb24gSW5xdWlyeSoqXG5cbk9rYXksIHNvIHRoZSBjb2RlJ3MgYWx3YXlzIGJlaW5nIGNvbXBpbGVkIGZvciBJUHY0LCB3aGljaCBpcyBleHBlY3RlZC4gSSB3b25kZXIgaWYgdGhlcmUgYXJlIGFueSBvdGhlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW52b2x2ZWQgdGhhdCBJIHNob3VsZCBiZSBjb25zaWRlcmluZz8gTm9wZSwgbm90aGluZyBlbHNlIGp1bXBzIG91dCBhdCBtZS4gTXkgZm9jdXMgcmlnaHQgbm93IGlzIG9uIHRoZSBgaW5ldGRldl9kZXN0cm95YCBzeW1ib2wuIElzIHRoYXQgZnVuY3Rpb24gYSBwZXJmb3JtYW5jZSBib3R0bGVuZWNrPyBObywgc2VlbXMgbGlrZSBpdCdzIHByaW1hcmlseSB1c2VkIHdoZW4gYSBuZXR3b3JrIGRldmljZSBpcyB1bnJlZ2lzdGVyZWQsIHNvIGl0J3Mgbm90IGEgaG90IHBhdGguXG5cbkFscmlnaHQsIGxldCdzIGp1c3QgbWFrZSBhYnNvbHV0ZWx5IHN1cmUgSSBoYXZlbid0IG1pc3NlZCBhbnkgcmVsZXZhbnQgY29uZmlndXJhdGlvbiBkZXBlbmRlbmNpZXMuIE5vcGUsIGxvb2tzIGxpa2UgYENPTkZJR19JTkVUYCBpcyB0aGUgb25seSByZWxldmFudCBjb25maWcgaGVyZS5cblxuSnVzdCB0byBiZSBjb21wbGV0ZWx5IHRob3JvdWdoLCBsZXQncyB2ZXJpZnkgdGhlIGBpbmV0ZGV2X2Rlc3Ryb3lgIGltcGxlbWVudGF0aW9uIGluIGBuZXQvaXB2NC9kZXZpbmV0LmNgLiBHb3R0YSBkb3VibGUtY2hlY2sgdGhhdCB0aGlzIHJvdXRpbmUgaXMgYmVoYXZpbmcgYXMgSSdkIGV4cGVjdC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzE4NSwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjk4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDEyOjE0OjM4LjA2MTM5NDgzOFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0NTkyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJuZXQvaXB2NC9kZXZpbmV0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMzEwLFxuICBcIkxpbmVDb3VudFwiOiA1MFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgMzEwOlxcdFxcdGluX2RldiA9IE5VTEw7XFxuIDMxMTpcXHRcXHRnb3RvIG91dDtcXG4gMzEyOlxcdH1cXG4gMzEzOlxcdFxcbiAzMTQ6XFx0c3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcXG4gMzE1OlxcdHtcXG4gMzE2OlxcdFxcdHN0cnVjdCBuZXRfZGV2aWNlICpkZXY7XFxuIDMxNzpcXHRcXHRzdHJ1Y3QgaW5faWZhZGRyICppZmE7XFxuIDMxODpcXHRcXG4gMzE5OlxcdFxcdEFTU0VSVF9SVE5MKCk7XFxuIDMyMDpcXHRcXG4gMzIxOlxcdFxcdGRldiA9IGluX2Rldi1cXHUwMDNlZGV2O1xcbiAzMjI6XFx0XFxuIDMyMzpcXHRcXHRpbl9kZXYtXFx1MDAzZWRlYWQgPSAxO1xcbiAzMjQ6XFx0XFxuIDMyNTpcXHRcXHRSQ1VfSU5JVF9QT0lOVEVSKGRldi1cXHUwMDNlaXBfcHRyLCBOVUxMKTtcXG4gMzI2OlxcdFxcbiAzMjc6XFx0XFx0aXBfbWNfZGVzdHJveV9kZXYoaW5fZGV2KTtcXG4gMzI4OlxcdFxcbiAzMjk6XFx0XFx0d2hpbGUgKChpZmEgPSBydG5sX2RlcmVmZXJlbmNlKGluX2Rldi1cXHUwMDNlaWZhX2xpc3QpKSAhPSBOVUxMKSB7XFxuIDMzMDpcXHRcXHRcXHRpbmV0X2RlbF9pZmEoaW5fZGV2LCBcXHUwMDI2aW5fZGV2LVxcdTAwM2VpZmFfbGlzdCwgMCk7XFxuIDMzMTpcXHRcXHRcXHRpbmV0X2ZyZWVfaWZhKGlmYSk7XFxuIDMzMjpcXHRcXHR9XFxuIDMzMzpcXHRcXG4gMzM0OlxcdFxcdGRldmluZXRfc3lzY3RsX3VucmVnaXN0ZXIoaW5fZGV2KTtcXG4gMzM1OlxcdFxcdG5laWdoX3Bhcm1zX3JlbGVhc2UoXFx1MDAyNmFycF90YmwsIGluX2Rldi1cXHUwMDNlYXJwX3Bhcm1zKTtcXG4gMzM2OlxcdFxcdGFycF9pZmRvd24oZGV2KTtcXG4gMzM3OlxcdFxcbiAzMzg6XFx0XFx0aW5fZGV2X3B1dChpbl9kZXYpO1xcbiAzMzk6XFx0fVxcbiAzNDA6XFx0XFxuIDM0MTpcXHRzdGF0aWMgaW50IF9faW5pdCBpbmV0X2JsYWNraG9sZV9kZXZfaW5pdCh2b2lkKVxcbiAzNDI6XFx0e1xcbiAzNDM6XFx0XFx0c3RydWN0IGluX2RldmljZSAqaW5fZGV2O1xcbiAzNDQ6XFx0XFxuIDM0NTpcXHRcXHRydG5sX2xvY2soKTtcXG4gMzQ2OlxcdFxcdGluX2RldiA9IGluZXRkZXZfaW5pdChibGFja2hvbGVfbmV0ZGV2KTtcXG4gMzQ3OlxcdFxcdHJ0bmxfdW5sb2NrKCk7XFxuIDM0ODpcXHRcXG4gMzQ5OlxcdFxcdHJldHVybiBQVFJfRVJSX09SX1pFUk8oaW5fZGV2KTtcXG4gMzUwOlxcdH1cXG4gMzUxOlxcdGxhdGVfaW5pdGNhbGwoaW5ldF9ibGFja2hvbGVfZGV2X2luaXQpO1xcbiAzNTI6XFx0XFxuIDM1MzpcXHRpbnQgaW5ldF9hZGRyX29ubGluayhzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYsIF9fYmUzMiBhLCBfX2JlMzIgYilcXG4gMzU0OlxcdHtcXG4gMzU1OlxcdFxcdGNvbnN0IHN0cnVjdCBpbl9pZmFkZHIgKmlmYTtcXG4gMzU2OlxcdFxcbiAzNTc6XFx0XFx0cmN1X3JlYWRfbG9jaygpO1xcbiAzNTg6XFx0XFx0aW5fZGV2X2Zvcl9lYWNoX2lmYV9yY3UoaWZhLCBpbl9kZXYpIHtcXG4gMzU5OlxcdFxcdFxcdGlmIChpbmV0X2lmYV9tYXRjaChhLCBpZmEpKSB7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDEyOjE0OjM4LjA2MTU0MjIwOFoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI5NzQyMDQzNTk0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKlBhdGNoIEFuYWx5c2lzIGZvciBFbmhhbmNlZCBGdXp6aW5nKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBzdHJhaWdodGZvcndhcmQg4oCTIGl0J3MganVzdCBtb3ZpbmcgYFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7YCBlYXJsaWVyIGluIHRoZSBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZS4gRnVuY3Rpb25hbGx5LCBpdCBzaG91bGRuJ3QgY2hhbmdlICpiZWhhdmlvciogaW4gYSBkcmFtYXRpYyB3YXksIGJ1dCBhbnkgY2hhbmdlLCBob3dldmVyIG1pbm9yLCB3YXJyYW50cyBmdXp6aW5nLiBUaGVyZWZvcmUsIHRoZSBwcmlvcml0eSBpcyB0byBiZSBzdXJlIGl0IGRvZXNuJ3QgY2F1c2UgYW55IHVuZXhwZWN0ZWQgbWVtb3J5IGNvcnJ1cHRpb24gb3IgcmFjZSBjb25kaXRpb25zLlxuXG5NeSBrZXkgYXJlYSBvZiBmb2N1cyBmb3IgdGhpcyBmdXp6aW5nIGVmZm9ydCB3aWxsIGJlIGFyb3VuZCBgaW5ldGRldl9kZXN0cm95YC4gVGhpcyBmdW5jdGlvbiBpcyBjcml0aWNhbCBmb3IgcHJvcGVyIGNsZWFudXAsIGFuZCBhbnkgbWlzYWxpZ25tZW50IGluIGluaXRpYWxpemF0aW9uIGNvdWxkIHN1cmZhY2UgdGhlcmUuIEknbGwgbmVlZCB0byBwYXkgcGFydGljdWxhcmx5IGNsb3NlIGF0dGVudGlvbiB0byBob3cgYGlwX3B0cmAgaXMgaGFuZGxlZCBkdXJpbmcgZGVzdHJ1Y3Rpb24uXG5cbk5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIG5lZWRlZCwgZm9ydHVuYXRlbHksIGFzIElQdjQgaXMgYnVpbHQtaW4uIFRoaXMga2VlcHMgdGhlIHRlc3RpbmcgcHJvY2VzcyBzdHJlYW1saW5lZC5cblxuSSBhbSByZWFkeSB0byBzdGFydCB0ZXN0aW5nIGFuZCB0aGVuIEkgd2lsbCBjYWxsIHNldC1yZXN1bHRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MjE2LCJPdXRwdXRUb2tlbnMiOjEyMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjY2LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTI6MTU6MDcuODAzNTg3MjcyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM3MzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJpbmV0ZGV2X2Rlc3Ryb3lcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgb3JkZXIgb2Ygb3BlcmF0aW9ucyBpbiBgaW5ldGRldl9kZXN0cm95YCBieSBtb3ZpbmcgdGhlIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi1cXHUwMDNlaXBfcHRyLCBOVUxMKTtgIHN0YXRlbWVudCBiZWZvcmUgYGlwX21jX2Rlc3Ryb3lfZGV2YCBhbmQgdGhlIGludGVyZmFjZSBhZGRyZXNzIGNsZWFudXAgbG9vcC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIElQdjQgbmV0d29ya2luZyBjb2RlLCBsaWtlbHkgZml4aW5nIGEgcmFjZSBjb25kaXRpb24gb3IgdXNlLWFmdGVyLWZyZWUgZHVyaW5nIG5ldHdvcmsgZGV2aWNlIHVucmVnaXN0cmF0aW9uLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImluZXRkZXZfZGVzdHJveVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBvcmRlciBvZiBvcGVyYXRpb25zIGluIGBpbmV0ZGV2X2Rlc3Ryb3lgIGJ5IG1vdmluZyB0aGUgYFJDVV9JTklUX1BPSU5URVIoZGV2LVxcdTAwM2VpcF9wdHIsIE5VTEwpO2Agc3RhdGVtZW50IGJlZm9yZSBgaXBfbWNfZGVzdHJveV9kZXZgIGFuZCB0aGUgaW50ZXJmYWNlIGFkZHJlc3MgY2xlYW51cCBsb29wLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgSVB2NCBuZXR3b3JraW5nIGNvZGUsIGxpa2VseSBmaXhpbmcgYSByYWNlIGNvbmRpdGlvbiBvciB1c2UtYWZ0ZXItZnJlZSBkdXJpbmcgbmV0d29yayBkZXZpY2UgdW5yZWdpc3RyYXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowwqqgr[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-07 11:54:30 +0000 UTC FinishedAt: 2026-07-07 12:15:09 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "474cff6868129755cf889edf40d7f491729fc588", "config_name": "upstream-apparmor-kasan.config", "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "474cff6868129755cf889edf40d7f491729fc588", "config_name": "upstream-apparmor-kasan.config", "series_id": "057807a8-eae8-4f5f-9e63-b2a493641434" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "inetdev_destroy" ], "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+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aW5ldGRldl9kZXN0cm95JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBvcmRlciBvZiBvcGVyYXRpb25zIGluIGBpbmV0ZGV2X2Rlc3Ryb3lgIGJ5IG1vdmluZyB0aGUgYFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7YCBzdGF0ZW1lbnQgYmVmb3JlIGBpcF9tY19kZXN0cm95X2RldmAgYW5kIHRoZSBpbnRlcmZhY2UgYWRkcmVzcyBjbGVhbnVwIGxvb3AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBJUHY0IG5ldHdvcmtpbmcgY29kZSwgbGlrZWx5IGZpeGluZyBhIHJhY2UgY29uZGl0aW9uIG9yIHVzZS1hZnRlci1mcmVlIGR1cmluZyBuZXR3b3JrIGRldmljZSB1bnJlZ2lzdHJhdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxMjoxNDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDUyNWE2YmFiYmJiMjZhZWExZGZjNWI3ODY0NTc3OTYyZDk1ZmEyNzFcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1bCA3IDEyOjE0OjA2IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9pcHY0L2RldmluZXQuYyBiL25ldC9pcHY0L2RldmluZXQuY1xuaW5kZXggYTM1YjcyNjYyZTQzMTYuLjNiMzFmNGJlYzMwZWUxIDEwMDY0NFxuLS0tIGEvbmV0L2lwdjQvZGV2aW5ldC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvaXB2NC9kZXZpbmV0LmNcbkBAIC0zMjIsNiAmIzQzOzMyMiw4IEBAIHN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpXG4gXG4gXHRpbl9kZXYtXHUwMDNlZGVhZCA9IDE7XG4gXG4mIzQzO1x0UkNVX0lOSVRfUE9JTlRFUihkZXYtXHUwMDNlaXBfcHRyLCBOVUxMKTtcbiYjNDM7XG4gXHRpcF9tY19kZXN0cm95X2Rldihpbl9kZXYpO1xuIFxuIFx0d2hpbGUgKChpZmEgPSBydG5sX2RlcmVmZXJlbmNlKGluX2Rldi1cdTAwM2VpZmFfbGlzdCkpICE9IE5VTEwpIHtcbkBAIC0zMjksOCAmIzQzOzMzMSw2IEBAIHN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpXG4gXHRcdGluZXRfZnJlZV9pZmEoaWZhKTtcbiBcdH1cbiBcbi1cdFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7XG4tXG4gXHRkZXZpbmV0X3N5c2N0bF91bnJlZ2lzdGVyKGluX2Rldik7XG4gXHRuZWlnaF9wYXJtc19yZWxlYXNlKFx1MDAyNmFycF90YmwsIGluX2Rldi1cdTAwM2VhcnBfcGFybXMpO1xuIFx0YXJwX2lmZG93bihkZXYpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7aW5ldGRldl9kZXN0cm95JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBvcmRlciBvZiBvcGVyYXRpb25zIGluIGBpbmV0ZGV2X2Rlc3Ryb3lgIGJ5IG1vdmluZyB0aGUgYFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7YCBzdGF0ZW1lbnQgYmVmb3JlIGBpcF9tY19kZXN0cm95X2RldmAgYW5kIHRoZSBpbnRlcmZhY2UgYWRkcmVzcyBjbGVhbnVwIGxvb3AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBJUHY0IG5ldHdvcmtpbmcgY29kZSwgbGlrZWx5IGZpeGluZyBhIHJhY2UgY29uZGl0aW9uIG9yIHVzZS1hZnRlci1mcmVlIGR1cmluZyBuZXR3b3JrIGRldmljZSB1bnJlZ2lzdHJhdGlvbi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNTI1YTZiYWJiYmIyNmFlYTFkZmM1Yjc4NjQ1Nzc5NjJkOTVmYTI3MQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBUdWUgSnVsIDcgMTI6MTQ6MDYgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9kZXZpbmV0LmMgYi9uZXQvaXB2NC9kZXZpbmV0LmMKaW5kZXggYTM1YjcyNjYyZTQzMTYuLjNiMzFmNGJlYzMwZWUxIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9kZXZpbmV0LmMKJiM0MzsmIzQzOyYjNDM7IGIvbmV0L2lwdjQvZGV2aW5ldC5jCkBAIC0zMjIsNiAmIzQzOzMyMiw4IEBAIHN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpCiAKIAlpbl9kZXYtJmd0O2RlYWQgPSAxOwogCiYjNDM7CVJDVV9JTklUX1BPSU5URVIoZGV2LSZndDtpcF9wdHIsIE5VTEwpOwomIzQzOwogCWlwX21jX2Rlc3Ryb3lfZGV2KGluX2Rldik7CiAKIAl3aGlsZSAoKGlmYSA9IHJ0bmxfZGVyZWZlcmVuY2UoaW5fZGV2LSZndDtpZmFfbGlzdCkpICE9IE5VTEwpIHsKQEAgLTMyOSw4ICYjNDM7MzMxLDYgQEAgc3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldikKIAkJaW5ldF9mcmVlX2lmYShpZmEpOwogCX0KIAotCVJDVV9JTklUX1BPSU5URVIoZGV2LSZndDtpcF9wdHIsIE5VTEwpOwotCiAJZGV2aW5ldF9zeXNjdGxfdW5yZWdpc3Rlcihpbl9kZXYpOwogCW5laWdoX3Bhcm1zX3JlbGVhc2UoJmFtcDthcnBfdGJsLCBpbl9kZXYtJmd0O2FycF9wYXJtcyk7CiAJYXJwX2lmZG93bihkZXYpOwo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxMjoxNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAxOTM0CgkJCQkJCQlvdXRwdXQ6IDMzCgkJCQkJCQl0aG91Z2h0czogMTMwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgYSBzdHJhaWdodGZvcndhcmQgb25lLCBsb29raW5nIGF0IGEgbW9kaWZpY2F0aW9uIGluIGBuZXQvaXB2NC9kZXZpbmV0LmNgLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHNlZW1zIHRvIGJlIHRoZSByZWxvY2F0aW9uIG9mIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi0mZ3Q7aXBfcHRyLCBOVUxMKTtgIHdpdGhpbiB0aGUgYGluZXRkZXZfZGVzdHJveWAgZnVuY3Rpb24uIFNwZWNpZmljYWxseSwgaXQmIzM5O3MgYmVpbmcgbW92ZWQgKnVwKiBpbiB0aGUgZnVuY3Rpb24sIHBsYWNlZCBiZWZvcmUgdGhlIGNhbGwgdG8gYGlwX21jX2Rlc3Ryb3lfZGV2KGluX2RldilgIGFuZCB0aGUgbG9vcCB0aGF0IGl0ZXJhdGVzIHRocm91Z2ggYW5kIGZyZWVzIGBpZmFfbGlzdGAuCgpUaGlzIGltbWVkaWF0ZWx5IGZsYWdzIGEgcG90ZW50aWFsIGJ1ZyBmaXguIE15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IHRoaXMgaXMgbGlrZWx5IGFkZHJlc3NpbmcgYSB1c2UtYWZ0ZXItZnJlZSB2dWxuZXJhYmlsaXR5IG9yLCBhdCB0aGUgdmVyeSBsZWFzdCwgYSBzdWJ0bGUgcmFjZSBjb25kaXRpb24uIFRoZSBjaGFuZ2Ugc3VnZ2VzdHMgdGhhdCBgZGV2LSZndDtpcF9wdHJgIG1pZ2h0IGJlIGFjY2Vzc2VkICp3aGlsZSogdGhlIGBpbl9kZXZgIHN0cnVjdHVyZSwgYW5kIHBvdGVudGlhbGx5IHJlbGF0ZWQgZGF0YSB3aXRoaW4gaXQgKGxpa2UgdGhlIElQIG11bHRpY2FzdCBkYXRhIGFuZCBpbnRlcmZhY2UgYWRkcmVzcyBsaXN0KSBhcmUgYmVpbmcgZGVjb25zdHJ1Y3RlZCBhbmQgZnJlZWQuIEJ5IGluaXRpYWxpemluZyB0aGUgcG9pbnRlciB0byBgTlVMTGAgZWFybGllciwgdGhlIHBhdGNoIGlzIGxpa2VseSBwcmV2ZW50aW5nIGEgc2NlbmFyaW8gd2hlcmUgYSBzdGFsZSBwb2ludGVyIG1pZ2h0IGJlIGRlcmVmZXJlbmNlZCBsYXRlciwgbGVhZGluZyB0byB1bnByZWRpY3RhYmxlIGJlaGF2aW9yIG9yIGEgY3Jhc2guCgpJIHNob3VsZCBwcm9iYWJseSBkaXZlIGludG8gdGhlIHNvdXJjZSBjb2RlIHRvIGNvbmZpcm0gdGhlIGh5cG90aGVzaXMsIHN0YXJ0aW5nIHdpdGggYSBjbG9zZXIgbG9vayBhdCBgaW5ldGRldl9kZXN0cm95YCBpdHNlbGYuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBleGFjdCBvcmRlciBvZiBvcGVyYXRpb25zIGFuZCB0aGUgcG90ZW50aWFsIHBvaW50cyBvZiBjb25jdXJyZW50IGFjY2VzcyB0byB0aGF0IGBkZXYtJmd0O2lwX3B0cmAgZmllbGQgdG8gZnVsbHkgZ3Jhc3AgdGhlIHNpZ25pZmljYW5jZSBvZiB0aGlzIHJlYXJyYW5nZW1lbnQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDcgMTI6MTQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aW5ldGRldl9kZXN0cm95JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7bmV0L2lwdjQvZGV2aW5ldC5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O25ldC9pcHY0L2RldmluZXQuYz0yNjY9c3RhdGljIHN0cnVjdCBpbl9kZXZpY2UgKmluZXRkZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxuLS1cbm5ldC9pcHY0L2RldmluZXQuYy0zMTMtXG5uZXQvaXB2NC9kZXZpbmV0LmM6MzE0OnN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpXG5uZXQvaXB2NC9kZXZpbmV0LmMtMzE1LXtcbi0tXG5uZXQvaXB2NC9kZXZpbmV0LmM9MTU4MD1zdGF0aWMgaW50IGluZXRkZXZfZXZlbnQoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp0aGlzLCB1bnNpZ25lZCBsb25nIGV2ZW50LFxuLS1cbm5ldC9pcHY0L2RldmluZXQuYy0xNjU0LVx0Y2FzZSBORVRERVZfVU5SRUdJU1RFUjpcbm5ldC9pcHY0L2RldmluZXQuYzoxNjU1Olx0XHRpbmV0ZGV2X2Rlc3Ryb3koaW5fZGV2KTtcbm5ldC9pcHY0L2RldmluZXQuYy0xNjU2LVx0XHRicmVhaztcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxMjoxNDwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNjE2CgkJCQkJCQlvdXRwdXQ6IDMwCgkJCQkJCQl0aG91Z2h0czogMTI3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgSW5ldGRldiBEZXN0cnVjdGlvbioqCgpPa2F5LCBzbyBgaW5ldGRldl9kZXN0cm95YCBpcyB0aGUgZnVuY3Rpb24gd2UmIzM5O3JlIHRhcmdldGluZy4gSXQmIzM5O3MgY2FsbGVkIGZyb20gYGluZXRkZXZfZXZlbnRgIHdoZW4gYSBuZXR3b3JrIGRldmljZSBpcyB1bnJlZ2lzdGVyZWQg4oCTIHRoYXQgc291bmRzIGxpa2UgYSBnb29kIHBsYWNlIGZvciBwb3RlbnRpYWwgZnV6emluZy4gVGhpcyBpcyBjb3JlIG5ldHdvcmtpbmcgc3R1ZmYsIHNvIGFueSBpc3N1ZXMgaGVyZSBjb3VsZCBiZSBzaWduaWZpY2FudC4gVGhlIGNoYW5nZSBzZWVtcyBmdW5jdGlvbmFsLCBhbmQgZ2l2ZW4gaXRzIGltcG9ydGFuY2UsIGl0JiMzOTtzIGRlZmluaXRlbHkgd29ydGggZnV6emluZy4gVGhlIGtleSBzeW1ib2wgdG8gZm9jdXMgb24gaXMgYGluZXRkZXZfZGVzdHJveWAsIG9idmlvdXNseS4KCk5vdywgbGV0JiMzOTtzIHRoaW5rIGFib3V0IHBvdGVudGlhbCBjb25maWd1cmF0aW9ucyB0aGF0IG1pZ2h0IGluZmx1ZW5jZSB0aGlzIGZ1bmN0aW9uJiMzOTtzIGJlaGF2aW9yLiBUaGUgZG9jdW1lbnRhdGlvbiBtZW50aW9ucyBgSVBfTVVMVElDQVNUYCwgYW5kIEkgcmVtZW1iZXIgdGhhdCBgaXBfbWNfZGVzdHJveV9kZXZgIGdldHMgY2FsbGVkIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4gU28sIGxldCYjMzk7cyBkaWcgaW50byB0aGUgY29uZmlndXJhdGlvbnMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IHRoYXQgc3BlY2lmaWNhbGx5IGFmZmVjdCB0aGUgZmxvdyBoZXJlLgoKSSBrbm93IGBuZXQvaXB2NC9kZXZpbmV0LmNgIGdldHMgY29tcGlsZWQgd2hlbiBgQ09ORklHX0lORVRgIGlzIGVuYWJsZWQsIHdoaWNoIGlzIHByZXR0eSBtdWNoIGFsd2F5cyBlbmFibGVkIGluIGEgdHlwaWNhbCBrZXJuZWwuIFRvIGdldCBhIGhhbmRsZSBvbiBvdGhlciBkZXBlbmRlbmNpZXMsIEkgc2hvdWxkIGNoZWNrIHRoZSBgbmV0L2lwdjQvTWFrZWZpbGVgIHRvIHNlZSBob3cgaXQmIzM5O3MgYWxsIHB1dCB0b2dldGhlci4gVGhpcyBzaG91bGQgZ2l2ZSBtZSBhIGdvb2QgcGljdHVyZSBvZiB3aGljaCBjb25maWdzLCBpZiBhbnksIHBsYXkgYSByb2xlIGluIHRoaXMgZGVzdHJ1Y3Rpb24gcHJvY2Vzcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wNyAxMjoxNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtkZXZpbmV0Lm8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtuZXQvaXB2NC9NYWtlZmlsZSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvaXB2NC9NYWtlZmlsZT02PW9iai15ICAgICA6PSByb3V0ZS5vIGluZXRwZWVyLm8gcHJvdG9jb2wubyBcXFxuLS1cbm5ldC9pcHY0L01ha2VmaWxlLTEzLVx0ICAgICB0Y3Bfb2ZmbG9hZC5vIHRjcF9wbGIubyBkYXRhZ3JhbS5vIHJhdy5vIHVkcC5vIFxcXG5uZXQvaXB2NC9NYWtlZmlsZToxNDpcdCAgICAgdWRwX29mZmxvYWQubyBhcnAubyBpY21wLm8gZGV2aW5ldC5vIGFmX2luZXQubyBpZ21wLm8gXFxcbm5ldC9pcHY0L01ha2VmaWxlLTE1LVx0ICAgICBmaWJfZnJvbnRlbmQubyBmaWJfc2VtYW50aWNzLm8gZmliX3RyaWUubyBmaWJfbm90aWZpZXIubyBcXFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxODUKCQkJCQkJCW91dHB1dDogMzcKCQkJCQkJCXRob3VnaHRzOiA5OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJUHY0IENvbXBpbGF0aW9uIElucXVpcnkqKgoKT2theSwgc28gdGhlIGNvZGUmIzM5O3MgYWx3YXlzIGJlaW5nIGNvbXBpbGVkIGZvciBJUHY0LCB3aGljaCBpcyBleHBlY3RlZC4gSSB3b25kZXIgaWYgdGhlcmUgYXJlIGFueSBvdGhlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW52b2x2ZWQgdGhhdCBJIHNob3VsZCBiZSBjb25zaWRlcmluZz8gTm9wZSwgbm90aGluZyBlbHNlIGp1bXBzIG91dCBhdCBtZS4gTXkgZm9jdXMgcmlnaHQgbm93IGlzIG9uIHRoZSBgaW5ldGRldl9kZXN0cm95YCBzeW1ib2wuIElzIHRoYXQgZnVuY3Rpb24gYSBwZXJmb3JtYW5jZSBib3R0bGVuZWNrPyBObywgc2VlbXMgbGlrZSBpdCYjMzk7cyBwcmltYXJpbHkgdXNlZCB3aGVuIGEgbmV0d29yayBkZXZpY2UgaXMgdW5yZWdpc3RlcmVkLCBzbyBpdCYjMzk7cyBub3QgYSBob3QgcGF0aC4KCkFscmlnaHQsIGxldCYjMzk7cyBqdXN0IG1ha2UgYWJzb2x1dGVseSBzdXJlIEkgaGF2ZW4mIzM5O3QgbWlzc2VkIGFueSByZWxldmFudCBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gTm9wZSwgbG9va3MgbGlrZSBgQ09ORklHX0lORVRgIGlzIHRoZSBvbmx5IHJlbGV2YW50IGNvbmZpZyBoZXJlLgoKSnVzdCB0byBiZSBjb21wbGV0ZWx5IHRob3JvdWdoLCBsZXQmIzM5O3MgdmVyaWZ5IHRoZSBgaW5ldGRldl9kZXN0cm95YCBpbXBsZW1lbnRhdGlvbiBpbiBgbmV0L2lwdjQvZGV2aW5ldC5jYC4gR290dGEgZG91YmxlLWNoZWNrIHRoYXQgdGhpcyByb3V0aW5lIGlzIGJlaGF2aW5nIGFzIEkmIzM5O2QgZXhwZWN0LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7bmV0L2lwdjQvZGV2aW5ldC5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMzEwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDUwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAzMTA6XHRcdGluX2RldiA9IE5VTEw7XG4gMzExOlx0XHRnb3RvIG91dDtcbiAzMTI6XHR9XG4gMzEzOlx0XG4gMzE0Olx0c3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcbiAzMTU6XHR7XG4gMzE2Olx0XHRzdHJ1Y3QgbmV0X2RldmljZSAqZGV2O1xuIDMxNzpcdFx0c3RydWN0IGluX2lmYWRkciAqaWZhO1xuIDMxODpcdFxuIDMxOTpcdFx0QVNTRVJUX1JUTkwoKTtcbiAzMjA6XHRcbiAzMjE6XHRcdGRldiA9IGluX2Rldi1cdTAwM2VkZXY7XG4gMzIyOlx0XG4gMzIzOlx0XHRpbl9kZXYtXHUwMDNlZGVhZCA9IDE7XG4gMzI0Olx0XG4gMzI1Olx0XHRSQ1VfSU5JVF9QT0lOVEVSKGRldi1cdTAwM2VpcF9wdHIsIE5VTEwpO1xuIDMyNjpcdFxuIDMyNzpcdFx0aXBfbWNfZGVzdHJveV9kZXYoaW5fZGV2KTtcbiAzMjg6XHRcbiAzMjk6XHRcdHdoaWxlICgoaWZhID0gcnRubF9kZXJlZmVyZW5jZShpbl9kZXYtXHUwMDNlaWZhX2xpc3QpKSAhPSBOVUxMKSB7XG4gMzMwOlx0XHRcdGluZXRfZGVsX2lmYShpbl9kZXYsIFx1MDAyNmluX2Rldi1cdTAwM2VpZmFfbGlzdCwgMCk7XG4gMzMxOlx0XHRcdGluZXRfZnJlZV9pZmEoaWZhKTtcbiAzMzI6XHRcdH1cbiAzMzM6XHRcbiAzMzQ6XHRcdGRldmluZXRfc3lzY3RsX3VucmVnaXN0ZXIoaW5fZGV2KTtcbiAzMzU6XHRcdG5laWdoX3Bhcm1zX3JlbGVhc2UoXHUwMDI2YXJwX3RibCwgaW5fZGV2LVx1MDAzZWFycF9wYXJtcyk7XG4gMzM2Olx0XHRhcnBfaWZkb3duKGRldik7XG4gMzM3Olx0XG4gMzM4Olx0XHRpbl9kZXZfcHV0KGluX2Rldik7XG4gMzM5Olx0fVxuIDM0MDpcdFxuIDM0MTpcdHN0YXRpYyBpbnQgX19pbml0IGluZXRfYmxhY2tob2xlX2Rldl9pbml0KHZvaWQpXG4gMzQyOlx0e1xuIDM0MzpcdFx0c3RydWN0IGluX2RldmljZSAqaW5fZGV2O1xuIDM0NDpcdFxuIDM0NTpcdFx0cnRubF9sb2NrKCk7XG4gMzQ2Olx0XHRpbl9kZXYgPSBpbmV0ZGV2X2luaXQoYmxhY2tob2xlX25ldGRldik7XG4gMzQ3Olx0XHRydG5sX3VubG9jaygpO1xuIDM0ODpcdFxuIDM0OTpcdFx0cmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhpbl9kZXYpO1xuIDM1MDpcdH1cbiAzNTE6XHRsYXRlX2luaXRjYWxsKGluZXRfYmxhY2tob2xlX2Rldl9pbml0KTtcbiAzNTI6XHRcbiAzNTM6XHRpbnQgaW5ldF9hZGRyX29ubGluayhzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYsIF9fYmUzMiBhLCBfX2JlMzIgYilcbiAzNTQ6XHR7XG4gMzU1Olx0XHRjb25zdCBzdHJ1Y3QgaW5faWZhZGRyICppZmE7XG4gMzU2Olx0XG4gMzU3Olx0XHRyY3VfcmVhZF9sb2NrKCk7XG4gMzU4Olx0XHRpbl9kZXZfZm9yX2VhY2hfaWZhX3JjdShpZmEsIGluX2Rldikge1xuIDM1OTpcdFx0XHRpZiAoaW5ldF9pZmFfbWF0Y2goYSwgaWZhKSkge1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQyMTYKCQkJCQkJCW91dHB1dDogMTIwCgkJCQkJCQl0aG91Z2h0czogNjYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqUGF0Y2ggQW5hbHlzaXMgZm9yIEVuaGFuY2VkIEZ1enppbmcqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBzdHJhaWdodGZvcndhcmQg4oCTIGl0JiMzOTtzIGp1c3QgbW92aW5nIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi0mZ3Q7aXBfcHRyLCBOVUxMKTtgIGVhcmxpZXIgaW4gdGhlIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlLiBGdW5jdGlvbmFsbHksIGl0IHNob3VsZG4mIzM5O3QgY2hhbmdlICpiZWhhdmlvciogaW4gYSBkcmFtYXRpYyB3YXksIGJ1dCBhbnkgY2hhbmdlLCBob3dldmVyIG1pbm9yLCB3YXJyYW50cyBmdXp6aW5nLiBUaGVyZWZvcmUsIHRoZSBwcmlvcml0eSBpcyB0byBiZSBzdXJlIGl0IGRvZXNuJiMzOTt0IGNhdXNlIGFueSB1bmV4cGVjdGVkIG1lbW9yeSBjb3JydXB0aW9uIG9yIHJhY2UgY29uZGl0aW9ucy4KCk15IGtleSBhcmVhIG9mIGZvY3VzIGZvciB0aGlzIGZ1enppbmcgZWZmb3J0IHdpbGwgYmUgYXJvdW5kIGBpbmV0ZGV2X2Rlc3Ryb3lgLiBUaGlzIGZ1bmN0aW9uIGlzIGNyaXRpY2FsIGZvciBwcm9wZXIgY2xlYW51cCwgYW5kIGFueSBtaXNhbGlnbm1lbnQgaW4gaW5pdGlhbGl6YXRpb24gY291bGQgc3VyZmFjZSB0aGVyZS4gSSYjMzk7bGwgbmVlZCB0byBwYXkgcGFydGljdWxhcmx5IGNsb3NlIGF0dGVudGlvbiB0byBob3cgYGlwX3B0cmAgaXMgaGFuZGxlZCBkdXJpbmcgZGVzdHJ1Y3Rpb24uCgpObyBzcGVjaWFsIGNvbmZpZ3VyYXRpb25zIGFyZSBuZWVkZWQsIGZvcnR1bmF0ZWx5LCBhcyBJUHY0IGlzIGJ1aWx0LWluLiBUaGlzIGtlZXBzIHRoZSB0ZXN0aW5nIHByb2Nlc3Mgc3RyZWFtbGluZWQuCgpJIGFtIHJlYWR5IHRvIHN0YXJ0IHRlc3RpbmcgYW5kIHRoZW4gSSB3aWxsIGNhbGwgc2V0LXJlc3VsdHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA3IDEyOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtpbmV0ZGV2X2Rlc3Ryb3kmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG9yZGVyIG9mIG9wZXJhdGlvbnMgaW4gYGluZXRkZXZfZGVzdHJveWAgYnkgbW92aW5nIHRoZSBgUkNVX0lOSVRfUE9JTlRFUihkZXYtXHUwMDNlaXBfcHRyLCBOVUxMKTtgIHN0YXRlbWVudCBiZWZvcmUgYGlwX21jX2Rlc3Ryb3lfZGV2YCBhbmQgdGhlIGludGVyZmFjZSBhZGRyZXNzIGNsZWFudXAgbG9vcC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIElQdjQgbmV0d29ya2luZyBjb2RlLCBsaWtlbHkgZml4aW5nIGEgcmFjZSBjb25kaXRpb24gb3IgdXNlLWFmdGVyLWZyZWUgZHVyaW5nIG5ldHdvcmsgZGV2aWNlIHVucmVnaXN0cmF0aW9uLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2luZXRkZXZfZGVzdHJveSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgb3JkZXIgb2Ygb3BlcmF0aW9ucyBpbiBgaW5ldGRldl9kZXN0cm95YCBieSBtb3ZpbmcgdGhlIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi1cdTAwM2VpcF9wdHIsIE5VTEwpO2Agc3RhdGVtZW50IGJlZm9yZSBgaXBfbWNfZGVzdHJveV9kZXZgIGFuZCB0aGUgaW50ZXJmYWNlIGFkZHJlc3MgY2xlYW51cCBsb29wLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgSVB2NCBuZXR3b3JraW5nIGNvZGUsIGxpa2VseSBmaXhpbmcgYSByYWNlIGNvbmRpdGlvbiBvciB1c2UtYWZ0ZXItZnJlZSBkdXJpbmcgbmV0d29yayBkZXZpY2UgdW5yZWdpc3RyYXRpb24uJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxMjoxNDowNy4xODM4MjI4MDVaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDYxOTc5NTE1NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJpbmV0ZGV2X2Rlc3Ryb3lcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgb3JkZXIgb2Ygb3BlcmF0aW9ucyBpbiBgaW5ldGRldl9kZXN0cm95YCBieSBtb3ZpbmcgdGhlIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi1cXHUwMDNlaXBfcHRyLCBOVUxMKTtgIHN0YXRlbWVudCBiZWZvcmUgYGlwX21jX2Rlc3Ryb3lfZGV2YCBhbmQgdGhlIGludGVyZmFjZSBhZGRyZXNzIGNsZWFudXAgbG9vcC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIElQdjQgbmV0d29ya2luZyBjb2RlLCBsaWtlbHkgZml4aW5nIGEgcmFjZSBjb25kaXRpb24gb3IgdXNlLWFmdGVyLWZyZWUgZHVyaW5nIG5ldHdvcmsgZGV2aWNlIHVucmVnaXN0cmF0aW9uLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxMjoxNDowNy4xODM4MjcxMzVaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM3MjQ1Njg3MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDUyNWE2YmFiYmJiMjZhZWExZGZjNWI3ODY0NTc3OTYyZDk1ZmEyNzFcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFR1ZSBKdWwgNyAxMjoxNDowNiAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9uZXQvaXB2NC9kZXZpbmV0LmMgYi9uZXQvaXB2NC9kZXZpbmV0LmNcXG5pbmRleCBhMzViNzI2NjJlNDMxNi4uM2IzMWY0YmVjMzBlZTEgMTAwNjQ0XFxuLS0tIGEvbmV0L2lwdjQvZGV2aW5ldC5jXFxuKysrIGIvbmV0L2lwdjQvZGV2aW5ldC5jXFxuQEAgLTMyMiw2ICszMjIsOCBAQCBzdGF0aWMgdm9pZCBpbmV0ZGV2X2Rlc3Ryb3koc3RydWN0IGluX2RldmljZSAqaW5fZGV2KVxcbiBcXG4gXFx0aW5fZGV2LVxcdTAwM2VkZWFkID0gMTtcXG4gXFxuK1xcdFJDVV9JTklUX1BPSU5URVIoZGV2LVxcdTAwM2VpcF9wdHIsIE5VTEwpO1xcbitcXG4gXFx0aXBfbWNfZGVzdHJveV9kZXYoaW5fZGV2KTtcXG4gXFxuIFxcdHdoaWxlICgoaWZhID0gcnRubF9kZXJlZmVyZW5jZShpbl9kZXYtXFx1MDAzZWlmYV9saXN0KSkgIT0gTlVMTCkge1xcbkBAIC0zMjksOCArMzMxLDYgQEAgc3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcXG4gXFx0XFx0aW5ldF9mcmVlX2lmYShpZmEpO1xcbiBcXHR9XFxuIFxcbi1cXHRSQ1VfSU5JVF9QT0lOVEVSKGRldi1cXHUwMDNlaXBfcHRyLCBOVUxMKTtcXG4tXFxuIFxcdGRldmluZXRfc3lzY3RsX3VucmVnaXN0ZXIoaW5fZGV2KTtcXG4gXFx0bmVpZ2hfcGFybXNfcmVsZWFzZShcXHUwMDI2YXJwX3RibCwgaW5fZGV2LVxcdTAwM2VhcnBfcGFybXMpO1xcbiBcXHRhcnBfaWZkb3duKGRldik7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDEyOjE0OjA3LjU1NzA5MzkzOFoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NjAyNDY1MTgyNDQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiaW5ldGRldl9kZXN0cm95XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIG9yZGVyIG9mIG9wZXJhdGlvbnMgaW4gYGluZXRkZXZfZGVzdHJveWAgYnkgbW92aW5nIHRoZSBgUkNVX0lOSVRfUE9JTlRFUihkZXYtXFx1MDAzZWlwX3B0ciwgTlVMTCk7YCBzdGF0ZW1lbnQgYmVmb3JlIGBpcF9tY19kZXN0cm95X2RldmAgYW5kIHRoZSBpbnRlcmZhY2UgYWRkcmVzcyBjbGVhbnVwIGxvb3AuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgY29yZSBJUHY0IG5ldHdvcmtpbmcgY29kZSwgbGlrZWx5IGZpeGluZyBhIHJhY2UgY29uZGl0aW9uIG9yIHVzZS1hZnRlci1mcmVlIGR1cmluZyBuZXR3b3JrIGRldmljZSB1bnJlZ2lzdHJhdGlvbi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA1MjVhNmJhYmJiYjI2YWVhMWRmYzViNzg2NDU3Nzk2MmQ5NWZhMjcxXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdWwgNyAxMjoxNDowNiAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL25ldC9pcHY0L2RldmluZXQuYyBiL25ldC9pcHY0L2RldmluZXQuY1xuaW5kZXggYTM1YjcyNjYyZTQzMTYuLjNiMzFmNGJlYzMwZWUxIDEwMDY0NFxuLS0tIGEvbmV0L2lwdjQvZGV2aW5ldC5jXG4rKysgYi9uZXQvaXB2NC9kZXZpbmV0LmNcbkBAIC0zMjIsNiArMzIyLDggQEAgc3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcbiBcbiBcdGluX2Rldi1cdTAwM2VkZWFkID0gMTtcbiBcbitcdFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7XG4rXG4gXHRpcF9tY19kZXN0cm95X2Rldihpbl9kZXYpO1xuIFxuIFx0d2hpbGUgKChpZmEgPSBydG5sX2RlcmVmZXJlbmNlKGluX2Rldi1cdTAwM2VpZmFfbGlzdCkpICE9IE5VTEwpIHtcbkBAIC0zMjksOCArMzMxLDYgQEAgc3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcbiBcdFx0aW5ldF9mcmVlX2lmYShpZmEpO1xuIFx0fVxuIFxuLVx0UkNVX0lOSVRfUE9JTlRFUihkZXYtXHUwMDNlaXBfcHRyLCBOVUxMKTtcbi1cbiBcdGRldmluZXRfc3lzY3RsX3VucmVnaXN0ZXIoaW5fZGV2KTtcbiBcdG5laWdoX3Bhcm1zX3JlbGVhc2UoXHUwMDI2YXJwX3RibCwgaW5fZGV2LVx1MDAzZWFycF9wYXJtcyk7XG4gXHRhcnBfaWZkb3duKGRldik7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxMjoxNDowNy41NTcwOTU4MThaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzUyNTYyNDMxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIE5ldHdvcmsgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBhIHN0cmFpZ2h0Zm9yd2FyZCBvbmUsIGxvb2tpbmcgYXQgYSBtb2RpZmljYXRpb24gaW4gYG5ldC9pcHY0L2RldmluZXQuY2AuIFRoZSBjb3JlIG9mIHRoZSBjaGFuZ2Ugc2VlbXMgdG8gYmUgdGhlIHJlbG9jYXRpb24gb2YgYFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7YCB3aXRoaW4gdGhlIGBpbmV0ZGV2X2Rlc3Ryb3lgIGZ1bmN0aW9uLiBTcGVjaWZpY2FsbHksIGl0J3MgYmVpbmcgbW92ZWQgKnVwKiBpbiB0aGUgZnVuY3Rpb24sIHBsYWNlZCBiZWZvcmUgdGhlIGNhbGwgdG8gYGlwX21jX2Rlc3Ryb3lfZGV2KGluX2RldilgIGFuZCB0aGUgbG9vcCB0aGF0IGl0ZXJhdGVzIHRocm91Z2ggYW5kIGZyZWVzIGBpZmFfbGlzdGAuXG5cblRoaXMgaW1tZWRpYXRlbHkgZmxhZ3MgYSBwb3RlbnRpYWwgYnVnIGZpeC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgdGhpcyBpcyBsaWtlbHkgYWRkcmVzc2luZyBhIHVzZS1hZnRlci1mcmVlIHZ1bG5lcmFiaWxpdHkgb3IsIGF0IHRoZSB2ZXJ5IGxlYXN0LCBhIHN1YnRsZSByYWNlIGNvbmRpdGlvbi4gVGhlIGNoYW5nZSBzdWdnZXN0cyB0aGF0IGBkZXYtXHUwMDNlaXBfcHRyYCBtaWdodCBiZSBhY2Nlc3NlZCAqd2hpbGUqIHRoZSBgaW5fZGV2YCBzdHJ1Y3R1cmUsIGFuZCBwb3RlbnRpYWxseSByZWxhdGVkIGRhdGEgd2l0aGluIGl0IChsaWtlIHRoZSBJUCBtdWx0aWNhc3QgZGF0YSBhbmQgaW50ZXJmYWNlIGFkZHJlc3MgbGlzdCkgYXJlIGJlaW5nIGRlY29uc3RydWN0ZWQgYW5kIGZyZWVkLiBCeSBpbml0aWFsaXppbmcgdGhlIHBvaW50ZXIgdG8gYE5VTExgIGVhcmxpZXIsIHRoZSBwYXRjaCBpcyBsaWtlbHkgcHJldmVudGluZyBhIHNjZW5hcmlvIHdoZXJlIGEgc3RhbGUgcG9pbnRlciBtaWdodCBiZSBkZXJlZmVyZW5jZWQgbGF0ZXIsIGxlYWRpbmcgdG8gdW5wcmVkaWN0YWJsZSBiZWhhdmlvciBvciBhIGNyYXNoLlxuXG5JIHNob3VsZCBwcm9iYWJseSBkaXZlIGludG8gdGhlIHNvdXJjZSBjb2RlIHRvIGNvbmZpcm0gdGhlIGh5cG90aGVzaXMsIHN0YXJ0aW5nIHdpdGggYSBjbG9zZXIgbG9vayBhdCBgaW5ldGRldl9kZXN0cm95YCBpdHNlbGYuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBleGFjdCBvcmRlciBvZiBvcGVyYXRpb25zIGFuZCB0aGUgcG90ZW50aWFsIHBvaW50cyBvZiBjb25jdXJyZW50IGFjY2VzcyB0byB0aGF0IGBkZXYtXHUwMDNlaXBfcHRyYCBmaWVsZCB0byBmdWxseSBncmFzcCB0aGUgc2lnbmlmaWNhbmNlIG9mIHRoaXMgcmVhcnJhbmdlbWVudC5cblxuXG4iLCJJbnB1dFRva2VucyI6MTkzNCwiT3V0cHV0VG9rZW5zIjozMywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzMCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDEyOjE0OjExLjkwOTY2MDM0OVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MjgwNzM2NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJpbmV0ZGV2X2Rlc3Ryb3lcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L2lwdjQvZGV2aW5ldC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9pcHY0L2RldmluZXQuYz0yNjY9c3RhdGljIHN0cnVjdCBpbl9kZXZpY2UgKmluZXRkZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbi0tXFxubmV0L2lwdjQvZGV2aW5ldC5jLTMxMy1cXG5uZXQvaXB2NC9kZXZpbmV0LmM6MzE0OnN0YXRpYyB2b2lkIGluZXRkZXZfZGVzdHJveShzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYpXFxubmV0L2lwdjQvZGV2aW5ldC5jLTMxNS17XFxuLS1cXG5uZXQvaXB2NC9kZXZpbmV0LmM9MTU4MD1zdGF0aWMgaW50IGluZXRkZXZfZXZlbnQoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp0aGlzLCB1bnNpZ25lZCBsb25nIGV2ZW50LFxcbi0tXFxubmV0L2lwdjQvZGV2aW5ldC5jLTE2NTQtXFx0Y2FzZSBORVRERVZfVU5SRUdJU1RFUjpcXG5uZXQvaXB2NC9kZXZpbmV0LmM6MTY1NTpcXHRcXHRpbmV0ZGV2X2Rlc3Ryb3koaW5fZGV2KTtcXG5uZXQvaXB2NC9kZXZpbmV0LmMtMTY1Ni1cXHRcXHRicmVhaztcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTI6MTQ6MTEuOTcyNDc0MTcyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTkyMDY1MTU2MjQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRnV6emluZyBJbmV0ZGV2IERlc3RydWN0aW9uKipcblxuT2theSwgc28gYGluZXRkZXZfZGVzdHJveWAgaXMgdGhlIGZ1bmN0aW9uIHdlJ3JlIHRhcmdldGluZy4gSXQncyBjYWxsZWQgZnJvbSBgaW5ldGRldl9ldmVudGAgd2hlbiBhIG5ldHdvcmsgZGV2aWNlIGlzIHVucmVnaXN0ZXJlZCDigJMgdGhhdCBzb3VuZHMgbGlrZSBhIGdvb2QgcGxhY2UgZm9yIHBvdGVudGlhbCBmdXp6aW5nLiBUaGlzIGlzIGNvcmUgbmV0d29ya2luZyBzdHVmZiwgc28gYW55IGlzc3VlcyBoZXJlIGNvdWxkIGJlIHNpZ25pZmljYW50LiBUaGUgY2hhbmdlIHNlZW1zIGZ1bmN0aW9uYWwsIGFuZCBnaXZlbiBpdHMgaW1wb3J0YW5jZSwgaXQncyBkZWZpbml0ZWx5IHdvcnRoIGZ1enppbmcuIFRoZSBrZXkgc3ltYm9sIHRvIGZvY3VzIG9uIGlzIGBpbmV0ZGV2X2Rlc3Ryb3lgLCBvYnZpb3VzbHkuXG5cbk5vdywgbGV0J3MgdGhpbmsgYWJvdXQgcG90ZW50aWFsIGNvbmZpZ3VyYXRpb25zIHRoYXQgbWlnaHQgaW5mbHVlbmNlIHRoaXMgZnVuY3Rpb24ncyBiZWhhdmlvci4gVGhlIGRvY3VtZW50YXRpb24gbWVudGlvbnMgYElQX01VTFRJQ0FTVGAsIGFuZCBJIHJlbWVtYmVyIHRoYXQgYGlwX21jX2Rlc3Ryb3lfZGV2YCBnZXRzIGNhbGxlZCB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMuIFNvLCBsZXQncyBkaWcgaW50byB0aGUgY29uZmlndXJhdGlvbnMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IHRoYXQgc3BlY2lmaWNhbGx5IGFmZmVjdCB0aGUgZmxvdyBoZXJlLlxuXG5JIGtub3cgYG5ldC9pcHY0L2RldmluZXQuY2AgZ2V0cyBjb21waWxlZCB3aGVuIGBDT05GSUdfSU5FVGAgaXMgZW5hYmxlZCwgd2hpY2ggaXMgcHJldHR5IG11Y2ggYWx3YXlzIGVuYWJsZWQgaW4gYSB0eXBpY2FsIGtlcm5lbC4gVG8gZ2V0IGEgaGFuZGxlIG9uIG90aGVyIGRlcGVuZGVuY2llcywgSSBzaG91bGQgY2hlY2sgdGhlIGBuZXQvaXB2NC9NYWtlZmlsZWAgdG8gc2VlIGhvdyBpdCdzIGFsbCBwdXQgdG9nZXRoZXIuIFRoaXMgc2hvdWxkIGdpdmUgbWUgYSBnb29kIHBpY3R1cmUgb2Ygd2hpY2ggY29uZmlncywgaWYgYW55LCBwbGF5IGEgcm9sZSBpbiB0aGlzIGRlc3RydWN0aW9uIHByb2Nlc3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI2MTYsIk91dHB1dFRva2VucyI6MzAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMjcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTI6MTQ6MzEuMTc4OTkxMzQ3WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU4ODI4ODI0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImRldmluZXQub1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvaXB2NC9NYWtlZmlsZVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvaXB2NC9NYWtlZmlsZT02PW9iai15ICAgICA6PSByb3V0ZS5vIGluZXRwZWVyLm8gcHJvdG9jb2wubyBcXFxcXFxuLS1cXG5uZXQvaXB2NC9NYWtlZmlsZS0xMy1cXHQgICAgIHRjcF9vZmZsb2FkLm8gdGNwX3BsYi5vIGRhdGFncmFtLm8gcmF3Lm8gdWRwLm8gXFxcXFxcbm5ldC9pcHY0L01ha2VmaWxlOjE0OlxcdCAgICAgdWRwX29mZmxvYWQubyBhcnAubyBpY21wLm8gZGV2aW5ldC5vIGFmX2luZXQubyBpZ21wLm8gXFxcXFxcbm5ldC9pcHY0L01ha2VmaWxlLTE1LVxcdCAgICAgZmliX2Zyb250ZW5kLm8gZmliX3NlbWFudGljcy5vIGZpYl90cmllLm8gZmliX25vdGlmaWVyLm8gXFxcXFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wN1QxMjoxNDozMS4yMzc4MjQwNDFaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2ODIzNTY5MzY3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKklQdjQgQ29tcGlsYXRpb24gSW5xdWlyeSoqXG5cbk9rYXksIHNvIHRoZSBjb2RlJ3MgYWx3YXlzIGJlaW5nIGNvbXBpbGVkIGZvciBJUHY0LCB3aGljaCBpcyBleHBlY3RlZC4gSSB3b25kZXIgaWYgdGhlcmUgYXJlIGFueSBvdGhlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW52b2x2ZWQgdGhhdCBJIHNob3VsZCBiZSBjb25zaWRlcmluZz8gTm9wZSwgbm90aGluZyBlbHNlIGp1bXBzIG91dCBhdCBtZS4gTXkgZm9jdXMgcmlnaHQgbm93IGlzIG9uIHRoZSBgaW5ldGRldl9kZXN0cm95YCBzeW1ib2wuIElzIHRoYXQgZnVuY3Rpb24gYSBwZXJmb3JtYW5jZSBib3R0bGVuZWNrPyBObywgc2VlbXMgbGlrZSBpdCdzIHByaW1hcmlseSB1c2VkIHdoZW4gYSBuZXR3b3JrIGRldmljZSBpcyB1bnJlZ2lzdGVyZWQsIHNvIGl0J3Mgbm90IGEgaG90IHBhdGguXG5cbkFscmlnaHQsIGxldCdzIGp1c3QgbWFrZSBhYnNvbHV0ZWx5IHN1cmUgSSBoYXZlbid0IG1pc3NlZCBhbnkgcmVsZXZhbnQgY29uZmlndXJhdGlvbiBkZXBlbmRlbmNpZXMuIE5vcGUsIGxvb2tzIGxpa2UgYENPTkZJR19JTkVUYCBpcyB0aGUgb25seSByZWxldmFudCBjb25maWcgaGVyZS5cblxuSnVzdCB0byBiZSBjb21wbGV0ZWx5IHRob3JvdWdoLCBsZXQncyB2ZXJpZnkgdGhlIGBpbmV0ZGV2X2Rlc3Ryb3lgIGltcGxlbWVudGF0aW9uIGluIGBuZXQvaXB2NC9kZXZpbmV0LmNgLiBHb3R0YSBkb3VibGUtY2hlY2sgdGhhdCB0aGlzIHJvdXRpbmUgaXMgYmVoYXZpbmcgYXMgSSdkIGV4cGVjdC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzE4NSwiT3V0cHV0VG9rZW5zIjozNywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjk4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDEyOjE0OjM4LjA2MTM5NDgzOFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0NTkyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJuZXQvaXB2NC9kZXZpbmV0LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMzEwLFxuICBcIkxpbmVDb3VudFwiOiA1MFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgMzEwOlxcdFxcdGluX2RldiA9IE5VTEw7XFxuIDMxMTpcXHRcXHRnb3RvIG91dDtcXG4gMzEyOlxcdH1cXG4gMzEzOlxcdFxcbiAzMTQ6XFx0c3RhdGljIHZvaWQgaW5ldGRldl9kZXN0cm95KHN0cnVjdCBpbl9kZXZpY2UgKmluX2RldilcXG4gMzE1OlxcdHtcXG4gMzE2OlxcdFxcdHN0cnVjdCBuZXRfZGV2aWNlICpkZXY7XFxuIDMxNzpcXHRcXHRzdHJ1Y3QgaW5faWZhZGRyICppZmE7XFxuIDMxODpcXHRcXG4gMzE5OlxcdFxcdEFTU0VSVF9SVE5MKCk7XFxuIDMyMDpcXHRcXG4gMzIxOlxcdFxcdGRldiA9IGluX2Rldi1cXHUwMDNlZGV2O1xcbiAzMjI6XFx0XFxuIDMyMzpcXHRcXHRpbl9kZXYtXFx1MDAzZWRlYWQgPSAxO1xcbiAzMjQ6XFx0XFxuIDMyNTpcXHRcXHRSQ1VfSU5JVF9QT0lOVEVSKGRldi1cXHUwMDNlaXBfcHRyLCBOVUxMKTtcXG4gMzI2OlxcdFxcbiAzMjc6XFx0XFx0aXBfbWNfZGVzdHJveV9kZXYoaW5fZGV2KTtcXG4gMzI4OlxcdFxcbiAzMjk6XFx0XFx0d2hpbGUgKChpZmEgPSBydG5sX2RlcmVmZXJlbmNlKGluX2Rldi1cXHUwMDNlaWZhX2xpc3QpKSAhPSBOVUxMKSB7XFxuIDMzMDpcXHRcXHRcXHRpbmV0X2RlbF9pZmEoaW5fZGV2LCBcXHUwMDI2aW5fZGV2LVxcdTAwM2VpZmFfbGlzdCwgMCk7XFxuIDMzMTpcXHRcXHRcXHRpbmV0X2ZyZWVfaWZhKGlmYSk7XFxuIDMzMjpcXHRcXHR9XFxuIDMzMzpcXHRcXG4gMzM0OlxcdFxcdGRldmluZXRfc3lzY3RsX3VucmVnaXN0ZXIoaW5fZGV2KTtcXG4gMzM1OlxcdFxcdG5laWdoX3Bhcm1zX3JlbGVhc2UoXFx1MDAyNmFycF90YmwsIGluX2Rldi1cXHUwMDNlYXJwX3Bhcm1zKTtcXG4gMzM2OlxcdFxcdGFycF9pZmRvd24oZGV2KTtcXG4gMzM3OlxcdFxcbiAzMzg6XFx0XFx0aW5fZGV2X3B1dChpbl9kZXYpO1xcbiAzMzk6XFx0fVxcbiAzNDA6XFx0XFxuIDM0MTpcXHRzdGF0aWMgaW50IF9faW5pdCBpbmV0X2JsYWNraG9sZV9kZXZfaW5pdCh2b2lkKVxcbiAzNDI6XFx0e1xcbiAzNDM6XFx0XFx0c3RydWN0IGluX2RldmljZSAqaW5fZGV2O1xcbiAzNDQ6XFx0XFxuIDM0NTpcXHRcXHRydG5sX2xvY2soKTtcXG4gMzQ2OlxcdFxcdGluX2RldiA9IGluZXRkZXZfaW5pdChibGFja2hvbGVfbmV0ZGV2KTtcXG4gMzQ3OlxcdFxcdHJ0bmxfdW5sb2NrKCk7XFxuIDM0ODpcXHRcXG4gMzQ5OlxcdFxcdHJldHVybiBQVFJfRVJSX09SX1pFUk8oaW5fZGV2KTtcXG4gMzUwOlxcdH1cXG4gMzUxOlxcdGxhdGVfaW5pdGNhbGwoaW5ldF9ibGFja2hvbGVfZGV2X2luaXQpO1xcbiAzNTI6XFx0XFxuIDM1MzpcXHRpbnQgaW5ldF9hZGRyX29ubGluayhzdHJ1Y3QgaW5fZGV2aWNlICppbl9kZXYsIF9fYmUzMiBhLCBfX2JlMzIgYilcXG4gMzU0OlxcdHtcXG4gMzU1OlxcdFxcdGNvbnN0IHN0cnVjdCBpbl9pZmFkZHIgKmlmYTtcXG4gMzU2OlxcdFxcbiAzNTc6XFx0XFx0cmN1X3JlYWRfbG9jaygpO1xcbiAzNTg6XFx0XFx0aW5fZGV2X2Zvcl9lYWNoX2lmYV9yY3UoaWZhLCBpbl9kZXYpIHtcXG4gMzU5OlxcdFxcdFxcdGlmIChpbmV0X2lmYV9tYXRjaChhLCBpZmEpKSB7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA3VDEyOjE0OjM4LjA2MTU0MjIwOFoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI5NzQyMDQzNTk0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKlBhdGNoIEFuYWx5c2lzIGZvciBFbmhhbmNlZCBGdXp6aW5nKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBzdHJhaWdodGZvcndhcmQg4oCTIGl0J3MganVzdCBtb3ZpbmcgYFJDVV9JTklUX1BPSU5URVIoZGV2LVx1MDAzZWlwX3B0ciwgTlVMTCk7YCBlYXJsaWVyIGluIHRoZSBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZS4gRnVuY3Rpb25hbGx5LCBpdCBzaG91bGRuJ3QgY2hhbmdlICpiZWhhdmlvciogaW4gYSBkcmFtYXRpYyB3YXksIGJ1dCBhbnkgY2hhbmdlLCBob3dldmVyIG1pbm9yLCB3YXJyYW50cyBmdXp6aW5nLiBUaGVyZWZvcmUsIHRoZSBwcmlvcml0eSBpcyB0byBiZSBzdXJlIGl0IGRvZXNuJ3QgY2F1c2UgYW55IHVuZXhwZWN0ZWQgbWVtb3J5IGNvcnJ1cHRpb24gb3IgcmFjZSBjb25kaXRpb25zLlxuXG5NeSBrZXkgYXJlYSBvZiBmb2N1cyBmb3IgdGhpcyBmdXp6aW5nIGVmZm9ydCB3aWxsIGJlIGFyb3VuZCBgaW5ldGRldl9kZXN0cm95YC4gVGhpcyBmdW5jdGlvbiBpcyBjcml0aWNhbCBmb3IgcHJvcGVyIGNsZWFudXAsIGFuZCBhbnkgbWlzYWxpZ25tZW50IGluIGluaXRpYWxpemF0aW9uIGNvdWxkIHN1cmZhY2UgdGhlcmUuIEknbGwgbmVlZCB0byBwYXkgcGFydGljdWxhcmx5IGNsb3NlIGF0dGVudGlvbiB0byBob3cgYGlwX3B0cmAgaXMgaGFuZGxlZCBkdXJpbmcgZGVzdHJ1Y3Rpb24uXG5cbk5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIG5lZWRlZCwgZm9ydHVuYXRlbHksIGFzIElQdjQgaXMgYnVpbHQtaW4uIFRoaXMga2VlcHMgdGhlIHRlc3RpbmcgcHJvY2VzcyBzdHJlYW1saW5lZC5cblxuSSBhbSByZWFkeSB0byBzdGFydCB0ZXN0aW5nIGFuZCB0aGVuIEkgd2lsbCBjYWxsIHNldC1yZXN1bHRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0MjE2LCJPdXRwdXRUb2tlbnMiOjEyMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjY2LCJUb29sQ2FsbHMiOlsicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMDdUMTI6MTU6MDcuODAzNTg3MjcyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjM3MzAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJpbmV0ZGV2X2Rlc3Ryb3lcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgb3JkZXIgb2Ygb3BlcmF0aW9ucyBpbiBgaW5ldGRldl9kZXN0cm95YCBieSBtb3ZpbmcgdGhlIGBSQ1VfSU5JVF9QT0lOVEVSKGRldi1cXHUwMDNlaXBfcHRyLCBOVUxMKTtgIHN0YXRlbWVudCBiZWZvcmUgYGlwX21jX2Rlc3Ryb3lfZGV2YCBhbmQgdGhlIGludGVyZmFjZSBhZGRyZXNzIGNsZWFudXAgbG9vcC4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBjb3JlIElQdjQgbmV0d29ya2luZyBjb2RlLCBsaWtlbHkgZml4aW5nIGEgcmFjZSBjb25kaXRpb24gb3IgdXNlLWFmdGVyLWZyZWUgZHVyaW5nIG5ldHdvcmsgZGV2aWNlIHVucmVnaXN0cmF0aW9uLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImluZXRkZXZfZGVzdHJveVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBvcmRlciBvZiBvcGVyYXRpb25zIGluIGBpbmV0ZGV2X2Rlc3Ryb3lgIGJ5IG1vdmluZyB0aGUgYFJDVV9JTklUX1BPSU5URVIoZGV2LVxcdTAwM2VpcF9wdHIsIE5VTEwpO2Agc3RhdGVtZW50IGJlZm9yZSBgaXBfbWNfZGVzdHJveV9kZXZgIGFuZCB0aGUgaW50ZXJmYWNlIGFkZHJlc3MgY2xlYW51cCBsb29wLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgSVB2NCBuZXR3b3JraW5nIGNvZGUsIGxpa2VseSBmaXhpbmcgYSByYWNlIGNvbmRpdGlvbiBvciB1c2UtYWZ0ZXItZnJlZSBkdXJpbmcgbmV0d29yayBkZXZpY2UgdW5yZWdpc3RyYXRpb24uXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowwqqgr[1] Phase: Succeeded StartedAt: 2026-07-07 12:15:19 +0000 UTC FinishedAt: 2026-07-07 12:15:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-07 12:15:19 +0000 UTC FinishedAt: 2026-07-07 12:15:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2] Phase: Succeeded StartedAt: 2026-07-07 12:15:19 +0000 UTC FinishedAt: 2026-07-07 16:17:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-07 12:15:19 +0000 UTC FinishedAt: 2026-07-07 16:17:20 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-07 12:15:19 +0000 UTC FinishedAt: 2026-07-07 12:15:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-07 12:15:19 +0000 UTC FinishedAt: 2026-07-07 12:15:25 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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-workflowwqqgr/series-workflowwqqgr-convert-artifact-2210427817/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-07 12:15:29 +0000 UTC FinishedAt: 2026-07-07 12:39:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-07 12:15:29 +0000 UTC FinishedAt: 2026-07-07 12:39:31 +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:*97be4b43-0a46-4e86-82d2-2d7faeb9ccbb,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-workflowwqqgr/series-workflowwqqgr-convert-artifact-2210427817/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": "f9c1f3c4-36bc-4d62-9d3e-798a8c9ce5b4", "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-workflowwqqgr/series-workflowwqqgr-build-action-2092358663/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-07 12:15:29 +0000 UTC FinishedAt: 2026-07-07 12:39:21 +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:*97be4b43-0a46-4e86-82d2-2d7faeb9ccbb,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-workflowwqqgr/series-workflowwqqgr-convert-artifact-2210427817/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": "f9c1f3c4-36bc-4d62-9d3e-798a8c9ce5b4", "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-workflowwqqgr/series-workflowwqqgr-build-action-2092358663/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-07 12:39:31 +0000 UTC FinishedAt: 2026-07-07 12:39:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-07 12:39:31 +0000 UTC FinishedAt: 2026-07-07 12:39:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-07 12:39:31 +0000 UTC FinishedAt: 2026-07-07 12:39:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-07 12:39:31 +0000 UTC FinishedAt: 2026-07-07 12:39:39 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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-workflowwqqgr/series-workflowwqqgr-convert-artifact-1314379324/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-07 12:39:42 +0000 UTC FinishedAt: 2026-07-07 12:41:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-07 12:39:42 +0000 UTC FinishedAt: 2026-07-07 12:41:42 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*f9c1f3c4-36bc-4d62-9d3e-798a8c9ce5b4,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-workflowwqqgr/series-workflowwqqgr-build-action-2092358663/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-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-07 12:41:52 +0000 UTC FinishedAt: 2026-07-07 12:41:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-07 12:41:52 +0000 UTC FinishedAt: 2026-07-07 12:41:52 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-07 12:41:52 +0000 UTC FinishedAt: 2026-07-07 13:11:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-07 12:41:52 +0000 UTC FinishedAt: 2026-07-07 13:11:28 +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:*97be4b43-0a46-4e86-82d2-2d7faeb9ccbb,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-workflowwqqgr/series-workflowwqqgr-convert-artifact-1314379324/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": "98d57e66-5370-4d18-b0cc-c901eca1d630", "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-workflowwqqgr/series-workflowwqqgr-build-action-508272792/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-07 12:41:52 +0000 UTC FinishedAt: 2026-07-07 13:11: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:*97be4b43-0a46-4e86-82d2-2d7faeb9ccbb,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-workflowwqqgr/series-workflowwqqgr-convert-artifact-1314379324/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": "98d57e66-5370-4d18-b0cc-c901eca1d630", "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-workflowwqqgr/series-workflowwqqgr-build-action-508272792/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-07 13:11:28 +0000 UTC FinishedAt: 2026-07-07 13:11:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-07 13:11:28 +0000 UTC FinishedAt: 2026-07-07 13:11:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-07 13:11:28 +0000 UTC FinishedAt: 2026-07-07 13:13:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-07 13:11:28 +0000 UTC FinishedAt: 2026-07-07 13:13:36 +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:*98d57e66-5370-4d18-b0cc-c901eca1d630,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-workflowwqqgr/series-workflowwqqgr-build-action-508272792/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-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-07 13:13:46 +0000 UTC FinishedAt: 2026-07-07 16:17:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-07 13:13:46 +0000 UTC FinishedAt: 2026-07-07 16:17:20 +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":["inetdev_destroy"],"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:*f9c1f3c4-36bc-4d62-9d3e-798a8c9ce5b4,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*98d57e66-5370-4d18-b0cc-c901eca1d630,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-workflowwqqgr/series-workflowwqqgr-build-action-2092358663/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-workflowwqqgr/series-workflowwqqgr-build-action-508272792/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-07 13:13:46 +0000 UTC FinishedAt: 2026-07-07 13:14:12 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-07 13:13:46 +0000 UTC FinishedAt: 2026-07-07 13:14:05 +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":["inetdev_destroy"],"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-workflowwqqgr/series-workflowwqqgr-convert-artifact-2314484741/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-07 13:13:46 +0000 UTC FinishedAt: 2026-07-07 13:13:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-07 13:13:46 +0000 UTC FinishedAt: 2026-07-07 13:13:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-07 13:13:46 +0000 UTC FinishedAt: 2026-07-07 13:13:46 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-07 13:14:12 +0000 UTC FinishedAt: 2026-07-07 16:17:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowwqqgr[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-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":["inetdev_destroy"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"474cff6868129755cf889edf40d7f491729fc588","config_name":"upstream-apparmor-kasan.config","series_id":"057807a8-eae8-4f5f-9e63-b2a493641434","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-07 13:14:12 +0000 UTC FinishedAt: 2026-07-07 16:17:08 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*f9c1f3c4-36bc-4d62-9d3e-798a8c9ce5b4,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*98d57e66-5370-4d18-b0cc-c901eca1d630,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-workflowwqqgr/series-workflowwqqgr-build-action-2092358663/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-workflowwqqgr/series-workflowwqqgr-build-action-508272792/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-workflowwqqgr/series-workflowwqqgr-convert-artifact-2314484741/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,}