Name: series-workflowkkxdf Phase: Succeeded StartedAt: 2026-06-23 14:07:05 +0000 UTC FinishedAt: 2026-06-23 15:29:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[0] Phase: Succeeded StartedAt: 2026-06-23 14:07:05 +0000 UTC FinishedAt: 2026-06-23 14:19:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[0].run-triage Phase: Succeeded StartedAt: 2026-06-23 14:07:05 +0000 UTC FinishedAt: 2026-06-23 14:19:21 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "502d801f0ab03e4f32f9a33d203154ce84887921", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "LIQUIDIO" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "502d801f0ab03e4f32f9a33d203154ce84887921", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "LIQUIDIO" ], "series_id": "fb4abea5-59a8-4739-a410-618eff2ffb64" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "setup_nic_devices", "liquidio_probe" ], "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+CgkJCTx0ZD4yMDI2LzA2LzIzIDE0OjE4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0xJUVVJRElPJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7c2V0dXBfbmljX2RldmljZXMmIzM0OywKICAgICYjMzQ7bGlxdWlkaW9fcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgY2hlY2sgZm9yIGEgbWVtb3J5IGFsbG9jYXRpb24gaW4gdGhlIFBDSSBkcml2ZXImIzM5O3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBmOGE0YjNmOGE1ZDExODk1ZWY0ZTY0YzRmZWU0ZDcyMzI4OGI1YmRhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdW4gMjMgMTQ6MTg6MzYgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uY1xuaW5kZXggMGRiMDhhYzNkMDk4ZmIuLjUwNzcxMjk2NTZlOGExIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXG5AQCAtMzM2Myw2ICYjNDM7MzM2Myw5IEBAIHN0YXRpYyBpbnQgc2V0dXBfbmljX2RldmljZXMoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdGVvbl9kZXYpXG4gXHRcdHNjID0gKHN0cnVjdCBvY3Rlb25fc29mdF9jb21tYW5kICopXG4gXHRcdFx0b2N0ZW9uX2FsbG9jX3NvZnRfY29tbWFuZChvY3Rlb25fZGV2LCBkYXRhX3NpemUsXG4gXHRcdFx0XHRcdFx0ICByZXNwX3NpemUsIDApO1xuJiM0MztcdFx0aWYgKCFzYylcbiYjNDM7XHRcdFx0cmV0dXJuIC1FTk9NRU07XG4mIzQzO1xuIFx0XHRyZXNwID0gKHN0cnVjdCBsaXF1aWRpb19pZl9jZmdfcmVzcCAqKXNjLVx1MDAzZXZpcnRycHRyO1xuIFx0XHR2ZGF0YSA9IChzdHJ1Y3QgbGlvX3ZlcnNpb24gKilzYy1cdTAwM2V2aXJ0ZHB0cjtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtMSVFVSURJTyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3NldHVwX25pY19kZXZpY2VzJiMzNDssCiAgICAmIzM0O2xpcXVpZGlvX3Byb2JlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBOVUxMIGNoZWNrIGZvciBhIG1lbW9yeSBhbGxvY2F0aW9uIGluIHRoZSBQQ0kgZHJpdmVyJiMzOTtzIGluaXRpYWxpemF0aW9uIHBhdGggKGBzZXR1cF9uaWNfZGV2aWNlc2ApLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgZHJpdmVyIHByb2JlIHBhdGgsIHdoaWNoIGNhbiBiZSB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBmOGE0YjNmOGE1ZDExODk1ZWY0ZTY0YzRmZWU0ZDcyMzI4OGI1YmRhCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdW4gMjMgMTQ6MTg6MzYgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jCmluZGV4IDBkYjA4YWMzZDA5OGZiLi41MDc3MTI5NjU2ZThhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMKQEAgLTMzNjMsNiAmIzQzOzMzNjMsOSBAQCBzdGF0aWMgaW50IHNldHVwX25pY19kZXZpY2VzKHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3Rlb25fZGV2KQogCQlzYyA9IChzdHJ1Y3Qgb2N0ZW9uX3NvZnRfY29tbWFuZCAqKQogCQkJb2N0ZW9uX2FsbG9jX3NvZnRfY29tbWFuZChvY3Rlb25fZGV2LCBkYXRhX3NpemUsCiAJCQkJCQkgIHJlc3Bfc2l6ZSwgMCk7CiYjNDM7CQlpZiAoIXNjKQomIzQzOwkJCXJldHVybiAtRU5PTUVNOwomIzQzOwogCQlyZXNwID0gKHN0cnVjdCBsaXF1aWRpb19pZl9jZmdfcmVzcCAqKXNjLSZndDt2aXJ0cnB0cjsKIAkJdmRhdGEgPSAoc3RydWN0IGxpb192ZXJzaW9uICopc2MtJmd0O3ZpcnRkcHRyOwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDE0OjE4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4OTUKCQkJCQkJCW91dHB1dDogNDMKCQkJCQkJCXRob3VnaHRzOiAxNjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTGlxdWlkSU8gRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNgLiBJdCYjMzk7cyBhIHByZXR0eSBzdHJhaWdodGZvcndhcmQgTlVMTCBjaGVjayBmb3IgdGhlIGBzY2AgcmV0dXJuIHZhbHVlIGZyb20gYG9jdGVvbl9hbGxvY19zb2Z0X2NvbW1hbmRgIGluIGBzZXR1cF9uaWNfZGV2aWNlc2AuIElmIGBzY2AgaXMgTlVMTCwgaXQmIzM5O3Mgbm93IHJldHVybmluZyBgLUVOT01FTWAuIE5vdGhpbmcgdG9vIGZhbmN5LCBidXQgbGV0JiMzOTtzIGNvbnNpZGVyIHRoZSBjb250ZXh0LgoKTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZpZ3VyZSBvdXQgdGhlIHBvdGVudGlhbCByZWFjaGFiaWxpdHkgb2YgdGhpcyBuZXcgY29kZSBwYXRoLCBlc3BlY2lhbGx5IGluIHZpcnR1YWxpemVkIHNjZW5hcmlvcy4gV2UmIzM5O3JlIGRlYWxpbmcgd2l0aCB0aGUgYGxpcXVpZGlvYCBkcml2ZXIsIHdoaWNoLCBhcyBJIHJlY2FsbCwgaXMgZm9yIHRoZSBDYXZpdW0gTGlxdWlkSU8gSW50ZWxsaWdlbnQgU2VydmVyIEFkYXB0ZXIuIFRoYXQgdXN1YWxseSBtZWFucyBpdCYjMzk7cyBhIFBDSSBkZXZpY2UsIHJpZ2h0PyBSaWdodC4gVGhhdCBvcGVucyB1cCBhIGxpbmUgb2YgaW5xdWlyeS4KCkdpdmVuIHRoYXQgaXQmIzM5O3MgYSBQQ0kgZHJpdmVyLCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gZnV6eiBpdCwgYXNzdW1pbmcgdGhlIGZ1enppbmcgc2V0dXAgaXMgY29ycmVjdC4gSSBzaG91bGQgaW52ZXN0aWdhdGUgcG90ZW50aWFsIFBDSSBmdXp6aW5nIHRlY2huaXF1ZXMgaGVyZS4gSSYjMzk7bGwgbmVlZCB0byBnbyBiYWNrIGFuZCBjaGVjayB0aGUgY29kZSB3aXRoaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jYCBtb3JlIHRob3JvdWdobHkuIFRoaXMga2luZCBvZiBwYXRjaCBvZnRlbiBleHBvc2VzIHN1YnRsZSBtZW1vcnkgYWxsb2NhdGlvbiBpc3N1ZXMsIG9yIGVkZ2UgY2FzZXMgdGhhdCBhcmUgd29ydGggZXhwbG9yaW5nIGZ1cnRoZXIuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c2V0dXBfbmljX2RldmljZXMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zMjgwPXN0YXRpYyBpbnQgbGlvX25pY19pbmZvKHN0cnVjdCBvY3Rlb25fcmVjdl9pbmZvICpyZWN2X2luZm8sIHZvaWQgKmJ1Zilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0zMzE0LS8qKlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6MzMxNTogKiBzZXR1cF9uaWNfZGV2aWNlcyAtIFNldHVwIG5ldHdvcmsgaW50ZXJmYWNlc1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzMxNi0gKiBAb2N0ZW9uX2RldjogIG9jdGVvbiBkZXZpY2Vcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0zMzIxLSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6MzMyMjpzdGF0aWMgaW50IHNldHVwX25pY19kZXZpY2VzKHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3Rlb25fZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzMyMy17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9Mzg4OD1zdGF0aWMgaW50IGxpcXVpZGlvX2luaXRfbmljX21vZHVsZShzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MDUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTA2Olx0cmV0dmFsID0gc2V0dXBfbmljX2RldmljZXMob2N0KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MDctXHRpZiAocmV0dmFsKSB7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjc4MgoJCQkJCQkJb3V0cHV0OiA0NgoJCQkJCQkJdGhvdWdodHM6IDM5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIGEgc3VtbWFyeSBvZiBteSB0aG91Z2h0IHByb2Nlc3M6CgoqKlRyYWNpbmcgdGhlIE5ldHdvcmsgSW5pdGlhbGl6YXRpb24qKgoKT2theSwgc28gYHNldHVwX25pY19kZXZpY2VzYCBpcyB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBjb25maWd1cmVzIHRoZSBuZXR3b3JrIGludGVyZmFjZSBjYXJkcywgYW5kIGl0JiMzOTtzIGJlaW5nIGNhbGxlZCBmcm9tIGBsaXF1aWRpb19pbml0X25pY19tb2R1bGVgLiBUaGF0IG1ha2VzIHNlbnNlOyBpdCYjMzk7cyB0aGUgbmF0dXJhbCBvcmRlciBvZiB0aGluZ3MuIE5vdywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGxhcmdlciBjb250ZXh0LiBNeSBuZXh0IHN0ZXAgaXMgdG8gZmlndXJlIG91dCAqd2hlcmUqIGBsaXF1aWRpb19pbml0X25pY19tb2R1bGVgIGl0c2VsZiBpcyBiZWluZyBjYWxsZWQuIFVuZGVyc3RhbmRpbmcgdGhhdCBjYWxsIHN0YWNrIHdpbGwgZ2l2ZSBtZSB0aGUgZW50cnkgcG9pbnQgYW5kIHRoZSBvdmVyYWxsIGluaXRpYWxpemF0aW9uIGZsb3cuIFRoaXMgd2lsbCBoZWxwIG1lIGRlYnVnIHdoYXRldmVyIGlzc3VlIEkgYW0gaGF2aW5nIHdpdGggdGhlIE5JQy4gTGV0JiMzOTtzIHRyYWNlIGJhY2sgZnJvbSB0aGVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtsaXF1aWRpb19pbml0X25pY19tb2R1bGUmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zODQ2PXN0YXRpYyBpbnQgbGlxdWlkaW9fZW5hYmxlX3NyaW92KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBudW1fdmZzKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM4ODEtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozODgyOiAqIGxpcXVpZGlvX2luaXRfbmljX21vZHVsZSAtIGluaXRpYWxpemUgdGhlIE5JQ1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4My0gKiBAb2N0OiBvY3Rlb24gZGV2aWNlXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4Ny0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjM4ODg6c3RhdGljIGludCBsaXF1aWRpb19pbml0X25pY19tb2R1bGUoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM4ODkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTM5NDM9c3RhdGljIHZvaWQgbmljX3N0YXJ0ZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTY5Olx0XHRpZiAobGlxdWlkaW9faW5pdF9uaWNfbW9kdWxlKG9jdCkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0zOTcwLVx0XHRcdGRldl9lcnIoXHUwMDI2b2N0LVx1MDAzZXBjaV9kZXYtXHUwMDNlZGV2LCBcJiMzNDtOSUMgaW5pdGlhbGl6YXRpb24gZmFpbGVkXFxuXCYjMzQ7KTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDIyCgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogMjUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBhcyBhbiBleHBlcnQgaW4gc3lzdGVtIGFyY2hpdGVjdHVyZSBhbmQga2VybmVsIGludGVybmFsczoKCioqVHJhY2luZyB0aGUgRXhlY3V0aW9uIFBhdGggb2YgYG5pY19zdGFydGVyYCoqCgpPa2F5LCBzbyBgbmljX3N0YXJ0ZXJgIGlzIGEgd29ya3F1ZXVlIGZ1bmN0aW9uLiBUaGF0IGltbWVkaWF0ZWx5IHRlbGxzIG1lIGl0JiMzOTtzIHBhcnQgb2YgYSBkZWZlcnJlZCBleGVjdXRpb24gbWVjaGFuaXNtLCBsaWtlbHkgdXNlZCB0byBoYW5kbGUgbmV0d29yayBpbnRlcmZhY2UgY2FyZCAoTklDKSByZWxhdGVkIHRhc2tzIGFzeW5jaHJvbm91c2x5LCBwcm9iYWJseSBmcm9tIGludGVycnVwdCBoYW5kbGVycyBvciBvdGhlciB0aW1lLXNlbnNpdGl2ZSBjb250ZXh0cy4gVGhlIGNydWNpYWwgcXVlc3Rpb24gbm93IGlzLCB3aGVyZSBhbmQgaG93IGlzIHRoaXMgZnVuY3Rpb24gYmVpbmcgKnNjaGVkdWxlZCo/IEtub3dpbmcgdGhlIHNjaGVkdWxlciBjb250ZXh0IGlzIHBhcmFtb3VudCB0byB1bmRlcnN0YW5kaW5nIGl0cyBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3MsIHBvdGVudGlhbCBjb25jdXJyZW5jeSBpc3N1ZXMsIGFuZCBpbnRlcmFjdGlvbnMgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUgbmV0d29yayBzdGFjay4gSSBuZWVkIHRvIHRyYWNlIGl0cyBjYWxsIGNoYWluIHRvIGlkZW50aWZ5IHRoZSBvcmlnaW5hdGluZyBmdW5jdGlvbiBhbmQgdGhlIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIGl0cyBxdWV1aW5nLiBJcyBpdCBjYWxsZWQgZnJvbSBhIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyPyBJcyBpdCB0cmlnZ2VyZWQgYnkgYSB0aW1lcj8gSXMgaXQgcGFydCBvZiBhIHNvZnR3YXJlIGZsb3c/IFVuZGVyc3RhbmRpbmcgdGhlIGNvbnRleHQgaXMga2V5IHRvIHVuZGVyc3RhbmRpbmcgaXRzIHB1cnBvc2UgYW5kIGltcGFjdC4gSSBuZWVkIHRvIGRpdmUgaW50byB0aGUgY29kZSBhbmQgZmluZCB0aGUgc3BlY2lmaWMgcGxhY2VzIGBuaWNfc3RhcnRlcmAgaXMgc3VibWl0dGVkIHRvIGEgd29ya3F1ZXVlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDE0OjE4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25pY19zdGFydGVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9Mzg4OD1zdGF0aWMgaW50IGxpcXVpZGlvX2luaXRfbmljX21vZHVsZShzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MzctLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTM4OiAqIG5pY19zdGFydGVyIC0gZmluaXNoIGluaXRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MzktICogQHdvcms6ICB3b3JrIHN0cnVjdCB3b3JrX3N0cnVjdFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NDItICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTQzOnN0YXRpYyB2b2lkIG5pY19zdGFydGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NDQte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTQwMzc9c3RhdGljIGludCBvY3Rlb25fZGV2aWNlX2luaXQoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdGVvbl9kZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDEyMC1cdFx0XHRcdCAgICBvY3Rlb25fcmVjdl92Zl9kcnZfbm90aWNlLCBvY3Rlb25fZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjQxMjE6XHRJTklUX0RFTEFZRURfV09SSyhcdTAwMjZvY3Rlb25fZGV2LVx1MDAzZW5pY19wb2xsX3dvcmsud29yaywgbmljX3N0YXJ0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDEyMi1cdG9jdGVvbl9kZXYtXHUwMDNlbmljX3BvbGxfd29yay5jdHhwdHIgPSAodm9pZCAqKW9jdGVvbl9kZXY7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDEzNwoJCQkJCQkJb3V0cHV0OiA0NQoJCQkJCQkJdGhvdWdodHM6IDE4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhc3N1bWluZyBJJiMzOTttIGFuIGV4cGVydCBpbiB0aGlzIGZpZWxkLCBwcmVzZW50ZWQgYXMgYSBmaXJzdC1wZXJzb24gc3VtbWFyeToKCioqSW5pdGlhbGl6YXRpb24gU2VxdWVuY2U6IENvbm5lY3RpbmcgTGlxdWlkSU8gYW5kIE9jdGVvbioqCgpBbHJpZ2h0LCBzbyBoZXJlJiMzOTtzIHRoZSBkZWFsLiBJJiMzOTttIG1lbnRhbGx5IHRyYWNpbmcgdGhlIGluaXRpYWxpemF0aW9uIGZsb3cgb2YgdGhpcyBzeXN0ZW0uIEl0IGxvb2tzIGxpa2UgYGxpcXVpZGlvX3Byb2JlYCBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIGRldGVjdGluZyBhbmQgc2V0dGluZyB1cCB0aGUgTGlxdWlkSU8gZHJpdmVyLCB3aGljaCBtYWtlcyBzZW5zZS4gTm93LCB3aXRoaW4gdGhhdCBgbGlxdWlkaW9fcHJvYmVgIGZ1bmN0aW9uLCBJIHNlZSB0aGF0IGBvY3Rlb25fZGV2aWNlX2luaXRgIGdldHMgY2FsbGVkLiBUaGlzIG1lYW5zIHRoZSBjb3JlIE9jdGVvbiBkZXZpY2UgaW5pdGlhbGl6YXRpb24gaXMgYmVpbmcgdHJpZ2dlcmVkIGFzIHBhcnQgb2YgdGhlIExpcXVpZElPIHByb2JlIHNlcXVlbmNlLiBUaGF0JiMzOTtzIGdvb2QgZGVzaWduIOKAkyBpdCBpbmRpY2F0ZXMgYSBjbGVhciBkZXBlbmRlbmN5IGFuZCBzdWdnZXN0cyBhIHN0cnVjdHVyZWQgYXBwcm9hY2ggdG8gYnJpbmdpbmcgdXAgdGhlIGhhcmR3YXJlLiBTbyBlc3NlbnRpYWxseSBgbGlxdWlkaW9fcHJvYmVgIGlzIHRoZSBib3NzLCBhbmQgaXQgdXNlcyBgb2N0ZW9uX2RldmljZV9pbml0YCBhcyBhIHN1YnJvdXRpbmUgdG8gcHJvcGVybHkgaW5pdCB0aGUgT2N0ZW9uIGRldmljZS4gSSBuZWVkIHRvIGtlZXAgdGhhdCByZWxhdGlvbnNoaXAgaW4gbWluZCB3aGVuIGRlYnVnZ2luZyBvciBhZGRpbmcgZmVhdHVyZXMgdG8gZWl0aGVyIG1vZHVsZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7b2N0ZW9uX2RldmljZV9pbml0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9MTM5PXN0YXRpYyBpbnQgb2N0ZW9uX2RiZ19jb25zb2xlX3ByaW50KHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3QsIHUzMiBjb25zb2xlX251bSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0xNDEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzoxNDI6c3RhdGljIGludCBvY3Rlb25fZGV2aWNlX2luaXQoc3RydWN0IG9jdGVvbl9kZXZpY2UgKik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0xNDMtc3RhdGljIGludCBsaXF1aWRpb19zdG9wKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTgyMz1saXF1aWRpb19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgX19tYXliZV91bnVzZWQgKmVudClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy04NjUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzo4NjY6XHRpZiAob2N0ZW9uX2RldmljZV9pbml0KG9jdF9kZXYpKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy04NjctXHRcdGNvbXBsZXRlKFx1MDAyNmhzLVx1MDAzZWluaXQpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTM5ODM9b2N0ZW9uX3JlY3ZfdmZfZHJ2X25vdGljZShzdHJ1Y3Qgb2N0ZW9uX3JlY3ZfaW5mbyAqcmVjdl9pbmZvLCB2b2lkICpidWYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDAzMy0vKipcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjQwMzQ6ICogb2N0ZW9uX2RldmljZV9pbml0IC0gRGV2aWNlIGluaXRpYWxpemF0aW9uIGZvciBlYWNoIE9jdGVvbiBkZXZpY2UgdGhhdCBpcyBwcm9iZWRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTQwMzUtICogQG9jdGVvbl9kZXY6ICBvY3Rlb24gZGV2aWNlXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy00MDM2LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6NDAzNzpzdGF0aWMgaW50IG9jdGVvbl9kZXZpY2VfaW5pdChzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0ZW9uX2RldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTQwMzgte1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1MDA0CgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogNTYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBQQ0kgRHJpdmVyIFByb2JlIFBhdGgqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgUENJIGRyaXZlciBwcm9iZSBwYXRoLiBJbnRlcmVzdGluZy4gTXkgaW5pdGlhbCBxdWVzdGlvbiBpcyB3aGV0aGVyIHRoaXMgY29kZSBwYXRoIGlzIGV2ZW4gcmVsZXZhbnQgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gQ2FuIHN5emthbGxlciByZWFjaCBpdD8gT2gsIHJpZ2h0LCBvZiBjb3Vyc2UhIFN5emthbGxlciAqY2FuKiBmdXp6IFBDSSBkZXZpY2VzLiBUaGF0JiMzOTtzIGEgY3J1Y2lhbCBwb2ludCwgYW5kIGl0IHN1Z2dlc3RzIHRoaXMgaXMgYSBwYXRoIHdvcnRoIGV4cGxvcmluZy4gTm93LCB0byBnZXQgdGhlIGNvbXBsZXRlIHBpY3R1cmUsIEkgbmVlZCB0byBjaGVjayB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbiBvcHRpb25zLiBMZXQmIzM5O3Mgc2VlLi4uIEkmIzM5O2xsIGRpdmUgaW50byBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL0tjb25maWdgIHRvIHNlZSB0aGUgY29uZmlnIG9wdGlvbnMuIFRoYXQgc2hvdWxkIGdpdmUgbWUgdGhlIGtleSBkZXBlbmRlbmNpZXMgYW5kIHJldmVhbCB0aGUgY29uZmlndXJhdGlvbiBuZWVkZWQgdG8gZW5hYmxlIHRoaXMgZHJpdmVyLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBMSVFVSURJTyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTI2NAoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBhbmQgd3JpdHRlbiBpbiB0aGUgZmlyc3QgcGVyc29uOgoKKipOYXZpZ2F0aW5nIHRoZSBEaWdpdGFsIExhbmRzY2FwZTogSW5pdGlhbCBBc3Nlc3NtZW50KioKCkFscmlnaHQsIGxldCYjMzk7cyBzdGFydCB3aXRoIHRoZSBiYXNpY3MuIE15IGZpcnN0IGluc3RpbmN0LCBnaXZlbiB0aGUgY29udGV4dCAod2hpY2ggSSYjMzk7bSBhc3N1bWluZyBpcyBhIGRpZ2l0YWwgZW52aXJvbm1lbnQsIGxpa2VseSBhIHByb2plY3Qgb3Igc3lzdGVtIEkmIzM5O20gZmFtaWxpYXIgd2l0aCksIGlzIHRvIGNoZWNrIHRoZSBkaXJlY3RvcnkuIFRoaXMgaXMgc3RhbmRhcmQgcHJvY2VkdXJlLCByZWFsbHkuIEl0JiMzOTtzIHRoZSBncm91bmRpbmcgcG9pbnQsIHRoZSBtYXAuIEkgbmVlZCB0byBnZXQgYSBsYXkgb2YgdGhlIGxhbmQsIHNlZSB3aGF0IGZpbGVzIGFuZCBmb2xkZXJzIGFyZSBwcmVzZW50LgoKV2h5PyBXZWxsLCBkZXBlbmRpbmcgb24gdGhlIHNwZWNpZmljcywgaXQgY291bGQgYmUgZm9yIGEgZmV3IHJlYXNvbnMuIE1heWJlIEkmIzM5O20gdHJ5aW5nIHRvIGxvY2F0ZSBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZmlsZSwgYSBkYXRhc2V0LCBhIHNjcmlwdCBJIG5lZWQgdG8gbW9kaWZ5LCBvciBqdXN0IGdlbmVyYWxseSB1bmRlcnN0YW5kIHRoZSBjdXJyZW50IG9yZ2FuaXphdGlvbmFsIHN0cnVjdHVyZS4gV2l0aG91dCBrbm93aW5nIHRoZSBzY29wZSBmdXJ0aGVyIEkmIzM5O20gbG9va2luZyBmb3IgYSBwb2ludCB0byBzdGFydCB3aXRoLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmNvZGVzZWFyY2gtZGlyLWluZGV4PC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtEaXImIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZXMmIzM0OzogWwogICAgJiMzNDtjbjIzeHhfcGZfZGV2aWNlLmMmIzM0OywKICAgICYjMzQ7Y24yM3h4X3BmX2RldmljZS5oJiMzNDssCiAgICAmIzM0O2NuMjN4eF9wZl9yZWdzLmgmIzM0OywKICAgICYjMzQ7Y24yM3h4X3ZmX2RldmljZS5jJiMzNDssCiAgICAmIzM0O2NuMjN4eF92Zl9kZXZpY2UuaCYjMzQ7LAogICAgJiMzNDtjbjIzeHhfdmZfcmVncy5oJiMzNDssCiAgICAmIzM0O2NuNjZ4eF9kZXZpY2UuYyYjMzQ7LAogICAgJiMzNDtjbjY2eHhfZGV2aWNlLmgmIzM0OywKICAgICYjMzQ7Y242Nnh4X3JlZ3MuaCYjMzQ7LAogICAgJiMzNDtjbjY4eHhfZGV2aWNlLmMmIzM0OywKICAgICYjMzQ7Y242OHh4X2RldmljZS5oJiMzNDssCiAgICAmIzM0O2NuNjh4eF9yZWdzLmgmIzM0OywKICAgICYjMzQ7bGlvX2NvcmUuYyYjMzQ7LAogICAgJiMzNDtsaW9fZXRodG9vbC5jJiMzNDssCiAgICAmIzM0O2xpb19tYWluLmMmIzM0OywKICAgICYjMzQ7bGlvX3ZmX21haW4uYyYjMzQ7LAogICAgJiMzNDtsaW9fdmZfcmVwLmMmIzM0OywKICAgICYjMzQ7bGlvX3ZmX3JlcC5oJiMzNDssCiAgICAmIzM0O2xpcXVpZGlvX2NvbW1vbi5oJiMzNDssCiAgICAmIzM0O2xpcXVpZGlvX2ltYWdlLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX2NvbmZpZy5oJiMzNDssCiAgICAmIzM0O29jdGVvbl9jb25zb2xlLmMmIzM0OywKICAgICYjMzQ7b2N0ZW9uX2RldmljZS5jJiMzNDssCiAgICAmIzM0O29jdGVvbl9kZXZpY2UuaCYjMzQ7LAogICAgJiMzNDtvY3Rlb25fZHJvcS5jJiMzNDssCiAgICAmIzM0O29jdGVvbl9kcm9xLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX2lxLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX21haWxib3guYyYjMzQ7LAogICAgJiMzNDtvY3Rlb25fbWFpbGJveC5oJiMzNDssCiAgICAmIzM0O29jdGVvbl9tYWluLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX21lbV9vcHMuYyYjMzQ7LAogICAgJiMzNDtvY3Rlb25fbWVtX29wcy5oJiMzNDssCiAgICAmIzM0O29jdGVvbl9uZXR3b3JrLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX25pYy5jJiMzNDssCiAgICAmIzM0O29jdGVvbl9uaWMuaCYjMzQ7LAogICAgJiMzNDtyZXF1ZXN0X21hbmFnZXIuYyYjMzQ7LAogICAgJiMzNDtyZXNwb25zZV9tYW5hZ2VyLmMmIzM0OywKICAgICYjMzQ7cmVzcG9uc2VfbWFuYWdlci5oJiMzNDsKICBdLAogICYjMzQ7U3ViZGlycyYjMzQ7OiBudWxsCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTg5NgoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGF0IHRob3VnaHQgcHJvY2Vzcywga2VlcGluZyBpbiBtaW5kIEkmIzM5O20gc3BlYWtpbmcgdG8gYSBmZWxsb3cgZXhwZXJ0OgoKKipUaGUgSHVudCBmb3IgdGhlIENvbmZpZ3VyYXRpb24qKgoKQWxyaWdodCwgaG9sZCBvbiBhIHNlY29uZC4gSSYjMzk7bSBrbmVlLWRlZXAgaW4gdGhpcyBjb2RlLCB0cnlpbmcgdG8gbWFrZSBzb21lIHNlbnNlIG9mIHRoZXNlIGRlcGVuZGVuY2llcywgYW5kIHN1ZGRlbmx5IEkgaGl0IGEgc25hZy4gV2hlcmUgdGhlICpoZWNrKiBpcyB0aGUgS2NvbmZpZyBmaWxlPyBJJiMzOTttIG1pc3Npbmcgc29tZXRoaW5nIGZ1bmRhbWVudGFsIGhlcmUuIFRoaXMgcHJvamVjdCBpcyBzbyBodWdlLCB0aGF0IGl0JiMzOTtzIGVhc3kgdG8gZ2V0IGxvc3QuIEl0IGlzIHVzdWFsbHkgcmlnaHQgdGhlcmUsIGJ1dCBub3QgdGhpcyB0aW1lLiBJIGFtIGdvaW5nIHRvIGhhdmUgdG8gZG8gc29tZSBkaWdnaW5nLCBhbmQgaG9wZWZ1bGx5LCBpdCBpcyBub3QgYnVyaWVkIHRvbyBmYXIgZG93bi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bGlxdWlkaW8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZz02OD1jb25maWcgTElRVUlESU9cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZy04MS1cdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWc6ODI6XHQgIHdpbGwgYmUgY2FsbGVkIGxpcXVpZGlvLiAgVGhpcyBpcyByZWNvbW1lbmRlZC5cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTgzLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnPTk1PWNvbmZpZyBMSVFVSURJT19WRlxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTEwNC1cdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogVGhlIG1vZHVsZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWc6MTA1Olx0ICB3aWxsIGJlIGNhbGxlZCBsaXF1aWRpb192Zi4gTVNJLVggaW50ZXJydXB0IHN1cHBvcnQgaXMgcmVxdWlyZWRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTEwNi1cdCAgZm9yIHRoaXMgZHJpdmVyIHRvIHdvcmsgY29ycmVjdGx5XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDE0OjE5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYzMTAKCQkJCQkJCW91dHB1dDogOTYKCQkJCQkJCXRob3VnaHRzOiAyMDQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBTdHJhdGVneSBmb3IgTGlxdWlkaW8gRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoZSBjb25maWcgaXMgYExJUVVJRElPYCwgYW5kIHRoZXJlJiMzOTtzIGEgcGF0Y2ggdGhhdCBhZGRzIGEgTlVMTCBjaGVjayBhbmQgcmV0dXJucyBgLUVOT01FTWAgaW4gYHNldHVwX25pY19kZXZpY2VzYC4gTXkgaW5pdGlhbCBpbnN0aW5jdCBpcyB0byBhc3Nlc3MgaWYgdGhpcyBpcyBmdXp6YWJsZS4gQWJzb2x1dGVseSwgaXQmIzM5O3MgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gYSBQQ0kgZHJpdmVyLCBtYWtpbmcgaXQgYSBnb29kIGNhbmRpZGF0ZS4gVGhlIHByaW1hcnkgZm9jdXMgaW5pdGlhbGx5IHdhcyBgc2V0dXBfbmljX2RldmljZXNgLgoKV2FpdCBhIG1pbnV0ZSwgYHNldHVwX25pY19kZXZpY2VzYCBpcyBkZWNsYXJlZCBhcyBzdGF0aWMuIFRoaXMgbWFrZXMgbWUgd2FudCB0byBjaGVjayB3aGV0aGVyIGl04oCZcyBhIGhvdC1wYXRoIGZ1bmN0aW9uLiBBZnRlciB0cmFjaW5nIHRoZSBjYWxsIGNoYWluLCBpdCBhcHBlYXJzIGBzZXR1cF9uaWNfZGV2aWNlc2AgaXMgY2FsbGVkIGR1cmluZyBpbml0aWFsaXphdGlvbi4gU3BlY2lmaWNhbGx5LCB3aXRoaW4gYGxpcXVpZGlvX2luaXRfbmljX21vZHVsZWAgd2hpY2ggY2FsbHMgYG5pY19zdGFydGVyYCwgYW5kIHRoZW4gYG9jdGVvbl9kZXZpY2VfaW5pdGAsIGV2ZW50dWFsbHkgY2FsbGluZyBgbGlxdWlkaW9fcHJvYmVgLiBTaW5jZSBpdCBpc24mIzM5O3QgZGlyZWN0bHkgaW4gYSBob3QgcGF0aCwgdGhpcyBpcyBsZXNzIGludGVyZXN0aW5nIGZvciBmb2N1c2VkIGZ1enppbmcuCgpMZXQgbWUgcmVhc3Nlc3MuIEdpdmVuIHRoYXQgYHNldHVwX25pY19kZXZpY2VzYCBpcyB0aGUgZnVuY3Rpb24gdGhhdCB3YXMgbW9kaWZpZWQsIGFuZCBgbGlxdWlkaW9fcHJvYmVgIGFwcGVhcnMgdG8gYmUgdGhlIGVudHJ5IHBvaW50IHRvIHRoZSBkcml2ZXIsIEkgY2FuIGZvY3VzIGZ1enppbmcgZWZmb3J0cyBvbiBgc2V0dXBfbmljX2RldmljZXNgIGFuZCB0aGUgYGxpcXVpZGlvX3Byb2JlYCBhcyBwb3RlbnRpYWwgdGFyZ2V0IGZ1bmN0aW9ucy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0xJUVVJRElPJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7c2V0dXBfbmljX2RldmljZXMmIzM0OywKICAgICYjMzQ7bGlxdWlkaW9fcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgY2hlY2sgZm9yIGEgbWVtb3J5IGFsbG9jYXRpb24gaW4gdGhlIFBDSSBkcml2ZXImIzM5O3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0xJUVVJRElPJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7c2V0dXBfbmljX2RldmljZXMmIzM0OywKICAgICYjMzQ7bGlxdWlkaW9fcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgY2hlY2sgZm9yIGEgbWVtb3J5IGFsbG9jYXRpb24gaW4gdGhlIFBDSSBkcml2ZXImIzM5O3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODozNy44MjE4Mzg4MTRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMzAyMDAyODg0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJMSVFVSURJT1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInNldHVwX25pY19kZXZpY2VzXCIsXG4gICAgXCJsaXF1aWRpb19wcm9iZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBOVUxMIGNoZWNrIGZvciBhIG1lbW9yeSBhbGxvY2F0aW9uIGluIHRoZSBQQ0kgZHJpdmVyJ3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjM3LjgyMTg0NTQyNFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDkwNDQ2MDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZjhhNGIzZjhhNWQxMTg5NWVmNGU2NGM0ZmVlNGQ3MjMyODhiNWJkYVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1biAyMyAxNDoxODozNiAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXFxuaW5kZXggMGRiMDhhYzNkMDk4ZmIuLjUwNzcxMjk2NTZlOGExIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNcXG5AQCAtMzM2Myw2ICszMzYzLDkgQEAgc3RhdGljIGludCBzZXR1cF9uaWNfZGV2aWNlcyhzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0ZW9uX2RldilcXG4gXFx0XFx0c2MgPSAoc3RydWN0IG9jdGVvbl9zb2Z0X2NvbW1hbmQgKilcXG4gXFx0XFx0XFx0b2N0ZW9uX2FsbG9jX3NvZnRfY29tbWFuZChvY3Rlb25fZGV2LCBkYXRhX3NpemUsXFxuIFxcdFxcdFxcdFxcdFxcdFxcdCAgcmVzcF9zaXplLCAwKTtcXG4rXFx0XFx0aWYgKCFzYylcXG4rXFx0XFx0XFx0cmV0dXJuIC1FTk9NRU07XFxuK1xcbiBcXHRcXHRyZXNwID0gKHN0cnVjdCBsaXF1aWRpb19pZl9jZmdfcmVzcCAqKXNjLVxcdTAwM2V2aXJ0cnB0cjtcXG4gXFx0XFx0dmRhdGEgPSAoc3RydWN0IGxpb192ZXJzaW9uICopc2MtXFx1MDAzZXZpcnRkcHRyO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTg6MzguMzEzMDk0MDk0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjUyODc2MjE1OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJMSVFVSURJT1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInNldHVwX25pY19kZXZpY2VzXCIsXG4gICAgXCJsaXF1aWRpb19wcm9iZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBOVUxMIGNoZWNrIGZvciBhIG1lbW9yeSBhbGxvY2F0aW9uIGluIHRoZSBQQ0kgZHJpdmVyJ3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZjhhNGIzZjhhNWQxMTg5NWVmNGU2NGM0ZmVlNGQ3MjMyODhiNWJkYVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVuIDIzIDE0OjE4OjM2IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uY1xuaW5kZXggMGRiMDhhYzNkMDk4ZmIuLjUwNzcxMjk2NTZlOGExIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXG5AQCAtMzM2Myw2ICszMzYzLDkgQEAgc3RhdGljIGludCBzZXR1cF9uaWNfZGV2aWNlcyhzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0ZW9uX2RldilcbiBcdFx0c2MgPSAoc3RydWN0IG9jdGVvbl9zb2Z0X2NvbW1hbmQgKilcbiBcdFx0XHRvY3Rlb25fYWxsb2Nfc29mdF9jb21tYW5kKG9jdGVvbl9kZXYsIGRhdGFfc2l6ZSxcbiBcdFx0XHRcdFx0XHQgIHJlc3Bfc2l6ZSwgMCk7XG4rXHRcdGlmICghc2MpXG4rXHRcdFx0cmV0dXJuIC1FTk9NRU07XG4rXG4gXHRcdHJlc3AgPSAoc3RydWN0IGxpcXVpZGlvX2lmX2NmZ19yZXNwICopc2MtXHUwMDNldmlydHJwdHI7XG4gXHRcdHZkYXRhID0gKHN0cnVjdCBsaW9fdmVyc2lvbiAqKXNjLVx1MDAzZXZpcnRkcHRyO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTg6MzguMzEzMDk1OTU0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDgzNjgzMzI5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBMaXF1aWRJTyBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNgLiBJdCdzIGEgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCBOVUxMIGNoZWNrIGZvciB0aGUgYHNjYCByZXR1cm4gdmFsdWUgZnJvbSBgb2N0ZW9uX2FsbG9jX3NvZnRfY29tbWFuZGAgaW4gYHNldHVwX25pY19kZXZpY2VzYC4gSWYgYHNjYCBpcyBOVUxMLCBpdCdzIG5vdyByZXR1cm5pbmcgYC1FTk9NRU1gLiBOb3RoaW5nIHRvbyBmYW5jeSwgYnV0IGxldCdzIGNvbnNpZGVyIHRoZSBjb250ZXh0LlxuXG5NeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZmlndXJlIG91dCB0aGUgcG90ZW50aWFsIHJlYWNoYWJpbGl0eSBvZiB0aGlzIG5ldyBjb2RlIHBhdGgsIGVzcGVjaWFsbHkgaW4gdmlydHVhbGl6ZWQgc2NlbmFyaW9zLiBXZSdyZSBkZWFsaW5nIHdpdGggdGhlIGBsaXF1aWRpb2AgZHJpdmVyLCB3aGljaCwgYXMgSSByZWNhbGwsIGlzIGZvciB0aGUgQ2F2aXVtIExpcXVpZElPIEludGVsbGlnZW50IFNlcnZlciBBZGFwdGVyLiBUaGF0IHVzdWFsbHkgbWVhbnMgaXQncyBhIFBDSSBkZXZpY2UsIHJpZ2h0PyBSaWdodC4gVGhhdCBvcGVucyB1cCBhIGxpbmUgb2YgaW5xdWlyeS5cblxuR2l2ZW4gdGhhdCBpdCdzIGEgUENJIGRyaXZlciwgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIGZ1enogaXQsIGFzc3VtaW5nIHRoZSBmdXp6aW5nIHNldHVwIGlzIGNvcnJlY3QuIEkgc2hvdWxkIGludmVzdGlnYXRlIHBvdGVudGlhbCBQQ0kgZnV6emluZyB0ZWNobmlxdWVzIGhlcmUuIEknbGwgbmVlZCB0byBnbyBiYWNrIGFuZCBjaGVjayB0aGUgY29kZSB3aXRoaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jYCBtb3JlIHRob3JvdWdobHkuIFRoaXMga2luZCBvZiBwYXRjaCBvZnRlbiBleHBvc2VzIHN1YnRsZSBtZW1vcnkgYWxsb2NhdGlvbiBpc3N1ZXMsIG9yIGVkZ2UgY2FzZXMgdGhhdCBhcmUgd29ydGggZXhwbG9yaW5nIGZ1cnRoZXIuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE4OTUsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjksIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODo0My4xNDk5MzE0MDFaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjMwMjk2MTE1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInNldHVwX25pY19kZXZpY2VzXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTMyODA9c3RhdGljIGludCBsaW9fbmljX2luZm8oc3RydWN0IG9jdGVvbl9yZWN2X2luZm8gKnJlY3ZfaW5mbywgdm9pZCAqYnVmKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzMxNC0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozMzE1OiAqIHNldHVwX25pY19kZXZpY2VzIC0gU2V0dXAgbmV0d29yayBpbnRlcmZhY2VzXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzMxNi0gKiBAb2N0ZW9uX2RldjogIG9jdGVvbiBkZXZpY2VcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTMzMjEtICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6MzMyMjpzdGF0aWMgaW50IHNldHVwX25pY19kZXZpY2VzKHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3Rlb25fZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTMzMjMte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9Mzg4OD1zdGF0aWMgaW50IGxpcXVpZGlvX2luaXRfbmljX21vZHVsZShzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzkwNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTA2OlxcdHJldHZhbCA9IHNldHVwX25pY19kZXZpY2VzKG9jdCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzkwNy1cXHRpZiAocmV0dmFsKSB7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjQzLjM4MDIzNzE3NloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMyMjY4NzEyMDIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBhIHN1bW1hcnkgb2YgbXkgdGhvdWdodCBwcm9jZXNzOlxuXG4qKlRyYWNpbmcgdGhlIE5ldHdvcmsgSW5pdGlhbGl6YXRpb24qKlxuXG5Pa2F5LCBzbyBgc2V0dXBfbmljX2RldmljZXNgIGlzIHRoZSBmdW5jdGlvbiB0aGF0IGFjdHVhbGx5IGNvbmZpZ3VyZXMgdGhlIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmRzLCBhbmQgaXQncyBiZWluZyBjYWxsZWQgZnJvbSBgbGlxdWlkaW9faW5pdF9uaWNfbW9kdWxlYC4gVGhhdCBtYWtlcyBzZW5zZTsgaXQncyB0aGUgbmF0dXJhbCBvcmRlciBvZiB0aGluZ3MuIE5vdywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGxhcmdlciBjb250ZXh0LiBNeSBuZXh0IHN0ZXAgaXMgdG8gZmlndXJlIG91dCAqd2hlcmUqIGBsaXF1aWRpb19pbml0X25pY19tb2R1bGVgIGl0c2VsZiBpcyBiZWluZyBjYWxsZWQuIFVuZGVyc3RhbmRpbmcgdGhhdCBjYWxsIHN0YWNrIHdpbGwgZ2l2ZSBtZSB0aGUgZW50cnkgcG9pbnQgYW5kIHRoZSBvdmVyYWxsIGluaXRpYWxpemF0aW9uIGZsb3cuIFRoaXMgd2lsbCBoZWxwIG1lIGRlYnVnIHdoYXRldmVyIGlzc3VlIEkgYW0gaGF2aW5nIHdpdGggdGhlIE5JQy4gTGV0J3MgdHJhY2UgYmFjayBmcm9tIHRoZXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNzgyLCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTg6NDYuNjA3MTEwMjU4WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU5MjIyMDQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImxpcXVpZGlvX2luaXRfbmljX21vZHVsZVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zODQ2PXN0YXRpYyBpbnQgbGlxdWlkaW9fZW5hYmxlX3NyaW92KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBudW1fdmZzKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4MS0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozODgyOiAqIGxpcXVpZGlvX2luaXRfbmljX21vZHVsZSAtIGluaXRpYWxpemUgdGhlIE5JQ1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM4ODMtICogQG9jdDogb2N0ZW9uIGRldmljZVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4Ny0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozODg4OnN0YXRpYyBpbnQgbGlxdWlkaW9faW5pdF9uaWNfbW9kdWxlKHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3QpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4OS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zOTQzPXN0YXRpYyB2b2lkIG5pY19zdGFydGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6Mzk2OTpcXHRcXHRpZiAobGlxdWlkaW9faW5pdF9uaWNfbW9kdWxlKG9jdCkpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzk3MC1cXHRcXHRcXHRkZXZfZXJyKFxcdTAwMjZvY3QtXFx1MDAzZXBjaV9kZXYtXFx1MDAzZWRldiwgXFxcIk5JQyBpbml0aWFsaXphdGlvbiBmYWlsZWRcXFxcblxcXCIpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODo0Ni42NjYzMzcyNzZaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTI3MzQxODEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgdGhvdWdodCBwcm9jZXNzLCBhcyBhbiBleHBlcnQgaW4gc3lzdGVtIGFyY2hpdGVjdHVyZSBhbmQga2VybmVsIGludGVybmFsczpcblxuKipUcmFjaW5nIHRoZSBFeGVjdXRpb24gUGF0aCBvZiBgbmljX3N0YXJ0ZXJgKipcblxuT2theSwgc28gYG5pY19zdGFydGVyYCBpcyBhIHdvcmtxdWV1ZSBmdW5jdGlvbi4gVGhhdCBpbW1lZGlhdGVseSB0ZWxscyBtZSBpdCdzIHBhcnQgb2YgYSBkZWZlcnJlZCBleGVjdXRpb24gbWVjaGFuaXNtLCBsaWtlbHkgdXNlZCB0byBoYW5kbGUgbmV0d29yayBpbnRlcmZhY2UgY2FyZCAoTklDKSByZWxhdGVkIHRhc2tzIGFzeW5jaHJvbm91c2x5LCBwcm9iYWJseSBmcm9tIGludGVycnVwdCBoYW5kbGVycyBvciBvdGhlciB0aW1lLXNlbnNpdGl2ZSBjb250ZXh0cy4gVGhlIGNydWNpYWwgcXVlc3Rpb24gbm93IGlzLCB3aGVyZSBhbmQgaG93IGlzIHRoaXMgZnVuY3Rpb24gYmVpbmcgKnNjaGVkdWxlZCo/IEtub3dpbmcgdGhlIHNjaGVkdWxlciBjb250ZXh0IGlzIHBhcmFtb3VudCB0byB1bmRlcnN0YW5kaW5nIGl0cyBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3MsIHBvdGVudGlhbCBjb25jdXJyZW5jeSBpc3N1ZXMsIGFuZCBpbnRlcmFjdGlvbnMgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUgbmV0d29yayBzdGFjay4gSSBuZWVkIHRvIHRyYWNlIGl0cyBjYWxsIGNoYWluIHRvIGlkZW50aWZ5IHRoZSBvcmlnaW5hdGluZyBmdW5jdGlvbiBhbmQgdGhlIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIGl0cyBxdWV1aW5nLiBJcyBpdCBjYWxsZWQgZnJvbSBhIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyPyBJcyBpdCB0cmlnZ2VyZWQgYnkgYSB0aW1lcj8gSXMgaXQgcGFydCBvZiBhIHNvZnR3YXJlIGZsb3c/IFVuZGVyc3RhbmRpbmcgdGhlIGNvbnRleHQgaXMga2V5IHRvIHVuZGVyc3RhbmRpbmcgaXRzIHB1cnBvc2UgYW5kIGltcGFjdC4gSSBuZWVkIHRvIGRpdmUgaW50byB0aGUgY29kZSBhbmQgZmluZCB0aGUgc3BlY2lmaWMgcGxhY2VzIGBuaWNfc3RhcnRlcmAgaXMgc3VibWl0dGVkIHRvIGEgd29ya3F1ZXVlLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNDIyLCJPdXRwdXRUb2tlbnMiOjQxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTg6NTAuNzkzNjgyMDE5WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU3NTc5OTU4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm5pY19zdGFydGVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTM4ODg9c3RhdGljIGludCBsaXF1aWRpb19pbml0X25pY19tb2R1bGUoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MzctLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6MzkzODogKiBuaWNfc3RhcnRlciAtIGZpbmlzaCBpbml0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzkzOS0gKiBAd29yazogIHdvcmsgc3RydWN0IHdvcmtfc3RydWN0XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0zOTQyLSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjM5NDM6c3RhdGljIHZvaWQgbmljX3N0YXJ0ZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NDQte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9NDAzNz1zdGF0aWMgaW50IG9jdGVvbl9kZXZpY2VfaW5pdChzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0ZW9uX2RldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTQxMjAtXFx0XFx0XFx0XFx0ICAgIG9jdGVvbl9yZWN2X3ZmX2Rydl9ub3RpY2UsIG9jdGVvbl9kZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjQxMjE6XFx0SU5JVF9ERUxBWUVEX1dPUksoXFx1MDAyNm9jdGVvbl9kZXYtXFx1MDAzZW5pY19wb2xsX3dvcmsud29yaywgbmljX3N0YXJ0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTQxMjItXFx0b2N0ZW9uX2Rldi1cXHUwMDNlbmljX3BvbGxfd29yay5jdHhwdHIgPSAodm9pZCAqKW9jdGVvbl9kZXY7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjUwLjg1MTI2NzgzN1oiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM1MDY0MDM0NTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aGF0IHRob3VnaHQgcHJvY2VzcywgYXNzdW1pbmcgSSdtIGFuIGV4cGVydCBpbiB0aGlzIGZpZWxkLCBwcmVzZW50ZWQgYXMgYSBmaXJzdC1wZXJzb24gc3VtbWFyeTpcblxuKipJbml0aWFsaXphdGlvbiBTZXF1ZW5jZTogQ29ubmVjdGluZyBMaXF1aWRJTyBhbmQgT2N0ZW9uKipcblxuQWxyaWdodCwgc28gaGVyZSdzIHRoZSBkZWFsLiBJJ20gbWVudGFsbHkgdHJhY2luZyB0aGUgaW5pdGlhbGl6YXRpb24gZmxvdyBvZiB0aGlzIHN5c3RlbS4gSXQgbG9va3MgbGlrZSBgbGlxdWlkaW9fcHJvYmVgIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgZGV0ZWN0aW5nIGFuZCBzZXR0aW5nIHVwIHRoZSBMaXF1aWRJTyBkcml2ZXIsIHdoaWNoIG1ha2VzIHNlbnNlLiBOb3csIHdpdGhpbiB0aGF0IGBsaXF1aWRpb19wcm9iZWAgZnVuY3Rpb24sIEkgc2VlIHRoYXQgYG9jdGVvbl9kZXZpY2VfaW5pdGAgZ2V0cyBjYWxsZWQuIFRoaXMgbWVhbnMgdGhlIGNvcmUgT2N0ZW9uIGRldmljZSBpbml0aWFsaXphdGlvbiBpcyBiZWluZyB0cmlnZ2VyZWQgYXMgcGFydCBvZiB0aGUgTGlxdWlkSU8gcHJvYmUgc2VxdWVuY2UuIFRoYXQncyBnb29kIGRlc2lnbiDigJMgaXQgaW5kaWNhdGVzIGEgY2xlYXIgZGVwZW5kZW5jeSBhbmQgc3VnZ2VzdHMgYSBzdHJ1Y3R1cmVkIGFwcHJvYWNoIHRvIGJyaW5naW5nIHVwIHRoZSBoYXJkd2FyZS4gU28gZXNzZW50aWFsbHkgYGxpcXVpZGlvX3Byb2JlYCBpcyB0aGUgYm9zcywgYW5kIGl0IHVzZXMgYG9jdGVvbl9kZXZpY2VfaW5pdGAgYXMgYSBzdWJyb3V0aW5lIHRvIHByb3Blcmx5IGluaXQgdGhlIE9jdGVvbiBkZXZpY2UuIEkgbmVlZCB0byBrZWVwIHRoYXQgcmVsYXRpb25zaGlwIGluIG1pbmQgd2hlbiBkZWJ1Z2dpbmcgb3IgYWRkaW5nIGZlYXR1cmVzIHRvIGVpdGhlciBtb2R1bGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxMzcsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxOCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODo1NC4zNTc2NzQ0MzNaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYxMTE1MTM5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm9jdGVvbl9kZXZpY2VfaW5pdFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0xMzk9c3RhdGljIGludCBvY3Rlb25fZGJnX2NvbnNvbGVfcHJpbnQoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdCwgdTMyIGNvbnNvbGVfbnVtLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMTQxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjE0MjpzdGF0aWMgaW50IG9jdGVvbl9kZXZpY2VfaW5pdChzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0xNDMtc3RhdGljIGludCBsaXF1aWRpb19zdG9wKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9ODIzPWxpcXVpZGlvX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBfX21heWJlX3VudXNlZCAqZW50KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtODY1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjg2NjpcXHRpZiAob2N0ZW9uX2RldmljZV9pbml0KG9jdF9kZXYpKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtODY3LVxcdFxcdGNvbXBsZXRlKFxcdTAwMjZocy1cXHUwMDNlaW5pdCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zOTgzPW9jdGVvbl9yZWN2X3ZmX2Rydl9ub3RpY2Uoc3RydWN0IG9jdGVvbl9yZWN2X2luZm8gKnJlY3ZfaW5mbywgdm9pZCAqYnVmKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDAzMy0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzo0MDM0OiAqIG9jdGVvbl9kZXZpY2VfaW5pdCAtIERldmljZSBpbml0aWFsaXphdGlvbiBmb3IgZWFjaCBPY3Rlb24gZGV2aWNlIHRoYXQgaXMgcHJvYmVkXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDAzNS0gKiBAb2N0ZW9uX2RldjogIG9jdGVvbiBkZXZpY2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy00MDM2LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjQwMzc6c3RhdGljIGludCBvY3Rlb25fZGV2aWNlX2luaXQoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdGVvbl9kZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDAzOC17XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjU0LjQxODgwNjYyMloiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozOTk2NTI4MTU1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUENJIERyaXZlciBQcm9iZSBQYXRoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBQQ0kgZHJpdmVyIHByb2JlIHBhdGguIEludGVyZXN0aW5nLiBNeSBpbml0aWFsIHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhpcyBjb2RlIHBhdGggaXMgZXZlbiByZWxldmFudCBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBDYW4gc3l6a2FsbGVyIHJlYWNoIGl0PyBPaCwgcmlnaHQsIG9mIGNvdXJzZSEgU3l6a2FsbGVyICpjYW4qIGZ1enogUENJIGRldmljZXMuIFRoYXQncyBhIGNydWNpYWwgcG9pbnQsIGFuZCBpdCBzdWdnZXN0cyB0aGlzIGlzIGEgcGF0aCB3b3J0aCBleHBsb3JpbmcuIE5vdywgdG8gZ2V0IHRoZSBjb21wbGV0ZSBwaWN0dXJlLCBJIG5lZWQgdG8gY2hlY2sgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gTGV0J3Mgc2VlLi4uIEknbGwgZGl2ZSBpbnRvIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vS2NvbmZpZ2AgdG8gc2VlIHRoZSBjb25maWcgb3B0aW9ucy4gVGhhdCBzaG91bGQgZ2l2ZSBtZSB0aGUga2V5IGRlcGVuZGVuY2llcyBhbmQgcmV2ZWFsIHRoZSBjb25maWd1cmF0aW9uIG5lZWRlZCB0byBlbmFibGUgdGhpcyBkcml2ZXIuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUwMDQsIk91dHB1dFRva2VucyI6MzksIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODo1OC40MTUzMzcwMTdaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYxMjAyMDI4LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgTElRVUlESU9cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjU4LjQ3NjU0OTY3NVoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMTg3MDAyNTczLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBhbmQgd3JpdHRlbiBpbiB0aGUgZmlyc3QgcGVyc29uOlxuXG4qKk5hdmlnYXRpbmcgdGhlIERpZ2l0YWwgTGFuZHNjYXBlOiBJbml0aWFsIEFzc2Vzc21lbnQqKlxuXG5BbHJpZ2h0LCBsZXQncyBzdGFydCB3aXRoIHRoZSBiYXNpY3MuIE15IGZpcnN0IGluc3RpbmN0LCBnaXZlbiB0aGUgY29udGV4dCAod2hpY2ggSSdtIGFzc3VtaW5nIGlzIGEgZGlnaXRhbCBlbnZpcm9ubWVudCwgbGlrZWx5IGEgcHJvamVjdCBvciBzeXN0ZW0gSSdtIGZhbWlsaWFyIHdpdGgpLCBpcyB0byBjaGVjayB0aGUgZGlyZWN0b3J5LiBUaGlzIGlzIHN0YW5kYXJkIHByb2NlZHVyZSwgcmVhbGx5LiBJdCdzIHRoZSBncm91bmRpbmcgcG9pbnQsIHRoZSBtYXAuIEkgbmVlZCB0byBnZXQgYSBsYXkgb2YgdGhlIGxhbmQsIHNlZSB3aGF0IGZpbGVzIGFuZCBmb2xkZXJzIGFyZSBwcmVzZW50LlxuXG5XaHk/IFdlbGwsIGRlcGVuZGluZyBvbiB0aGUgc3BlY2lmaWNzLCBpdCBjb3VsZCBiZSBmb3IgYSBmZXcgcmVhc29ucy4gTWF5YmUgSSdtIHRyeWluZyB0byBsb2NhdGUgYSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZpbGUsIGEgZGF0YXNldCwgYSBzY3JpcHQgSSBuZWVkIHRvIG1vZGlmeSwgb3IganVzdCBnZW5lcmFsbHkgdW5kZXJzdGFuZCB0aGUgY3VycmVudCBvcmdhbml6YXRpb25hbCBzdHJ1Y3R1cmUuIFdpdGhvdXQga25vd2luZyB0aGUgc2NvcGUgZnVydGhlciBJJ20gbG9va2luZyBmb3IgYSBwb2ludCB0byBzdGFydCB3aXRoLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1MjY0LCJPdXRwdXRUb2tlbnMiOjMwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxOTowMS42NjM1NTQ2NzhaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiY29kZXNlYXJjaC1kaXItaW5kZXgiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDQ4ODAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJEaXJcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRmlsZXNcIjogW1xuICAgIFwiY24yM3h4X3BmX2RldmljZS5jXCIsXG4gICAgXCJjbjIzeHhfcGZfZGV2aWNlLmhcIixcbiAgICBcImNuMjN4eF9wZl9yZWdzLmhcIixcbiAgICBcImNuMjN4eF92Zl9kZXZpY2UuY1wiLFxuICAgIFwiY24yM3h4X3ZmX2RldmljZS5oXCIsXG4gICAgXCJjbjIzeHhfdmZfcmVncy5oXCIsXG4gICAgXCJjbjY2eHhfZGV2aWNlLmNcIixcbiAgICBcImNuNjZ4eF9kZXZpY2UuaFwiLFxuICAgIFwiY242Nnh4X3JlZ3MuaFwiLFxuICAgIFwiY242OHh4X2RldmljZS5jXCIsXG4gICAgXCJjbjY4eHhfZGV2aWNlLmhcIixcbiAgICBcImNuNjh4eF9yZWdzLmhcIixcbiAgICBcImxpb19jb3JlLmNcIixcbiAgICBcImxpb19ldGh0b29sLmNcIixcbiAgICBcImxpb19tYWluLmNcIixcbiAgICBcImxpb192Zl9tYWluLmNcIixcbiAgICBcImxpb192Zl9yZXAuY1wiLFxuICAgIFwibGlvX3ZmX3JlcC5oXCIsXG4gICAgXCJsaXF1aWRpb19jb21tb24uaFwiLFxuICAgIFwibGlxdWlkaW9faW1hZ2UuaFwiLFxuICAgIFwib2N0ZW9uX2NvbmZpZy5oXCIsXG4gICAgXCJvY3Rlb25fY29uc29sZS5jXCIsXG4gICAgXCJvY3Rlb25fZGV2aWNlLmNcIixcbiAgICBcIm9jdGVvbl9kZXZpY2UuaFwiLFxuICAgIFwib2N0ZW9uX2Ryb3EuY1wiLFxuICAgIFwib2N0ZW9uX2Ryb3EuaFwiLFxuICAgIFwib2N0ZW9uX2lxLmhcIixcbiAgICBcIm9jdGVvbl9tYWlsYm94LmNcIixcbiAgICBcIm9jdGVvbl9tYWlsYm94LmhcIixcbiAgICBcIm9jdGVvbl9tYWluLmhcIixcbiAgICBcIm9jdGVvbl9tZW1fb3BzLmNcIixcbiAgICBcIm9jdGVvbl9tZW1fb3BzLmhcIixcbiAgICBcIm9jdGVvbl9uZXR3b3JrLmhcIixcbiAgICBcIm9jdGVvbl9uaWMuY1wiLFxuICAgIFwib2N0ZW9uX25pYy5oXCIsXG4gICAgXCJyZXF1ZXN0X21hbmFnZXIuY1wiLFxuICAgIFwicmVzcG9uc2VfbWFuYWdlci5jXCIsXG4gICAgXCJyZXNwb25zZV9tYW5hZ2VyLmhcIlxuICBdLFxuICBcIlN1YmRpcnNcIjogbnVsbFxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTk6MDEuNjYzNjYwOTk4WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM0NTA0OTQ4MDcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBrZWVwaW5nIGluIG1pbmQgSSdtIHNwZWFraW5nIHRvIGEgZmVsbG93IGV4cGVydDpcblxuKipUaGUgSHVudCBmb3IgdGhlIENvbmZpZ3VyYXRpb24qKlxuXG5BbHJpZ2h0LCBob2xkIG9uIGEgc2Vjb25kLiBJJ20ga25lZS1kZWVwIGluIHRoaXMgY29kZSwgdHJ5aW5nIHRvIG1ha2Ugc29tZSBzZW5zZSBvZiB0aGVzZSBkZXBlbmRlbmNpZXMsIGFuZCBzdWRkZW5seSBJIGhpdCBhIHNuYWcuIFdoZXJlIHRoZSAqaGVjayogaXMgdGhlIEtjb25maWcgZmlsZT8gSSdtIG1pc3Npbmcgc29tZXRoaW5nIGZ1bmRhbWVudGFsIGhlcmUuIFRoaXMgcHJvamVjdCBpcyBzbyBodWdlLCB0aGF0IGl0J3MgZWFzeSB0byBnZXQgbG9zdC4gSXQgaXMgdXN1YWxseSByaWdodCB0aGVyZSwgYnV0IG5vdCB0aGlzIHRpbWUuIEkgYW0gZ29pbmcgdG8gaGF2ZSB0byBkbyBzb21lIGRpZ2dpbmcsIGFuZCBob3BlZnVsbHksIGl0IGlzIG5vdCBidXJpZWQgdG9vIGZhciBkb3duLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1ODk2LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OCwiVG9vbENhbGxzIjpbImNvZGVzZWFyY2gtZGlyLWluZGV4Il19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTk6MDUuMTE0MTU4MTk0WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODA4NTA1OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJsaXF1aWRpb1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZz02OD1jb25maWcgTElRVUlESU9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTgxLVxcdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnOjgyOlxcdCAgd2lsbCBiZSBjYWxsZWQgbGlxdWlkaW8uICBUaGlzIGlzIHJlY29tbWVuZGVkLlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTgzLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWc9OTU9Y29uZmlnIExJUVVJRElPX1ZGXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZy0xMDQtXFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiBUaGUgbW9kdWxlXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWc6MTA1OlxcdCAgd2lsbCBiZSBjYWxsZWQgbGlxdWlkaW9fdmYuIE1TSS1YIGludGVycnVwdCBzdXBwb3J0IGlzIHJlcXVpcmVkXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWctMTA2LVxcdCAgZm9yIHRoaXMgZHJpdmVyIHRvIHdvcmsgY29ycmVjdGx5XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE5OjA1LjE3MjI1MDAxM1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NTg2NDMxNDQyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgU3RyYXRlZ3kgZm9yIExpcXVpZGlvIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIHRoZSBjb25maWcgaXMgYExJUVVJRElPYCwgYW5kIHRoZXJlJ3MgYSBwYXRjaCB0aGF0IGFkZHMgYSBOVUxMIGNoZWNrIGFuZCByZXR1cm5zIGAtRU5PTUVNYCBpbiBgc2V0dXBfbmljX2RldmljZXNgLiBNeSBpbml0aWFsIGluc3RpbmN0IGlzIHRvIGFzc2VzcyBpZiB0aGlzIGlzIGZ1enphYmxlLiBBYnNvbHV0ZWx5LCBpdCdzIGEgZnVuY3Rpb25hbCBjaGFuZ2Ugd2l0aGluIGEgUENJIGRyaXZlciwgbWFraW5nIGl0IGEgZ29vZCBjYW5kaWRhdGUuIFRoZSBwcmltYXJ5IGZvY3VzIGluaXRpYWxseSB3YXMgYHNldHVwX25pY19kZXZpY2VzYC5cblxuV2FpdCBhIG1pbnV0ZSwgYHNldHVwX25pY19kZXZpY2VzYCBpcyBkZWNsYXJlZCBhcyBzdGF0aWMuIFRoaXMgbWFrZXMgbWUgd2FudCB0byBjaGVjayB3aGV0aGVyIGl04oCZcyBhIGhvdC1wYXRoIGZ1bmN0aW9uLiBBZnRlciB0cmFjaW5nIHRoZSBjYWxsIGNoYWluLCBpdCBhcHBlYXJzIGBzZXR1cF9uaWNfZGV2aWNlc2AgaXMgY2FsbGVkIGR1cmluZyBpbml0aWFsaXphdGlvbi4gU3BlY2lmaWNhbGx5LCB3aXRoaW4gYGxpcXVpZGlvX2luaXRfbmljX21vZHVsZWAgd2hpY2ggY2FsbHMgYG5pY19zdGFydGVyYCwgYW5kIHRoZW4gYG9jdGVvbl9kZXZpY2VfaW5pdGAsIGV2ZW50dWFsbHkgY2FsbGluZyBgbGlxdWlkaW9fcHJvYmVgLiBTaW5jZSBpdCBpc24ndCBkaXJlY3RseSBpbiBhIGhvdCBwYXRoLCB0aGlzIGlzIGxlc3MgaW50ZXJlc3RpbmcgZm9yIGZvY3VzZWQgZnV6emluZy5cblxuTGV0IG1lIHJlYXNzZXNzLiBHaXZlbiB0aGF0IGBzZXR1cF9uaWNfZGV2aWNlc2AgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgd2FzIG1vZGlmaWVkLCBhbmQgYGxpcXVpZGlvX3Byb2JlYCBhcHBlYXJzIHRvIGJlIHRoZSBlbnRyeSBwb2ludCB0byB0aGUgZHJpdmVyLCBJIGNhbiBmb2N1cyBmdXp6aW5nIGVmZm9ydHMgb24gYHNldHVwX25pY19kZXZpY2VzYCBhbmQgdGhlIGBsaXF1aWRpb19wcm9iZWAgYXMgcG90ZW50aWFsIHRhcmdldCBmdW5jdGlvbnMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjYzMTAsIk91dHB1dFRva2VucyI6OTYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTk6MTAuNzU4NjgzNzU1WiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODMxNjcwMTgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkxJUVVJRElPXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwic2V0dXBfbmljX2RldmljZXNcIixcbiAgICBcImxpcXVpZGlvX3Byb2JlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgY2hlY2sgZm9yIGEgbWVtb3J5IGFsbG9jYXRpb24gaW4gdGhlIFBDSSBkcml2ZXIncyBpbml0aWFsaXphdGlvbiBwYXRoIChgc2V0dXBfbmljX2RldmljZXNgKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIGRyaXZlciBwcm9iZSBwYXRoLCB3aGljaCBjYW4gYmUgdGVzdGVkIHZpYSBQQ0kgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJMSVFVSURJT1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInNldHVwX25pY19kZXZpY2VzXCIsXG4gICAgXCJsaXF1aWRpb19wcm9iZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBOVUxMIGNoZWNrIGZvciBhIG1lbW9yeSBhbGxvY2F0aW9uIGluIHRoZSBQQ0kgZHJpdmVyJ3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowkkxdf[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-23 14:07:05 +0000 UTC FinishedAt: 2026-06-23 14:19:11 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "502d801f0ab03e4f32f9a33d203154ce84887921", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "LIQUIDIO" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "502d801f0ab03e4f32f9a33d203154ce84887921", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "LIQUIDIO" ], "series_id": "fb4abea5-59a8-4739-a410-618eff2ffb64" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "setup_nic_devices", "liquidio_probe" ], "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+CgkJCTx0ZD4yMDI2LzA2LzIzIDE0OjE4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0xJUVVJRElPJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7c2V0dXBfbmljX2RldmljZXMmIzM0OywKICAgICYjMzQ7bGlxdWlkaW9fcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgY2hlY2sgZm9yIGEgbWVtb3J5IGFsbG9jYXRpb24gaW4gdGhlIFBDSSBkcml2ZXImIzM5O3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBmOGE0YjNmOGE1ZDExODk1ZWY0ZTY0YzRmZWU0ZDcyMzI4OGI1YmRhXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdW4gMjMgMTQ6MTg6MzYgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uY1xuaW5kZXggMGRiMDhhYzNkMDk4ZmIuLjUwNzcxMjk2NTZlOGExIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXG5AQCAtMzM2Myw2ICYjNDM7MzM2Myw5IEBAIHN0YXRpYyBpbnQgc2V0dXBfbmljX2RldmljZXMoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdGVvbl9kZXYpXG4gXHRcdHNjID0gKHN0cnVjdCBvY3Rlb25fc29mdF9jb21tYW5kICopXG4gXHRcdFx0b2N0ZW9uX2FsbG9jX3NvZnRfY29tbWFuZChvY3Rlb25fZGV2LCBkYXRhX3NpemUsXG4gXHRcdFx0XHRcdFx0ICByZXNwX3NpemUsIDApO1xuJiM0MztcdFx0aWYgKCFzYylcbiYjNDM7XHRcdFx0cmV0dXJuIC1FTk9NRU07XG4mIzQzO1xuIFx0XHRyZXNwID0gKHN0cnVjdCBsaXF1aWRpb19pZl9jZmdfcmVzcCAqKXNjLVx1MDAzZXZpcnRycHRyO1xuIFx0XHR2ZGF0YSA9IChzdHJ1Y3QgbGlvX3ZlcnNpb24gKilzYy1cdTAwM2V2aXJ0ZHB0cjtcbiBcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtMSVFVSURJTyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3NldHVwX25pY19kZXZpY2VzJiMzNDssCiAgICAmIzM0O2xpcXVpZGlvX3Byb2JlJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBOVUxMIGNoZWNrIGZvciBhIG1lbW9yeSBhbGxvY2F0aW9uIGluIHRoZSBQQ0kgZHJpdmVyJiMzOTtzIGluaXRpYWxpemF0aW9uIHBhdGggKGBzZXR1cF9uaWNfZGV2aWNlc2ApLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gYSByZWFjaGFibGUgZHJpdmVyIHByb2JlIHBhdGgsIHdoaWNoIGNhbiBiZSB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBmOGE0YjNmOGE1ZDExODk1ZWY0ZTY0YzRmZWU0ZDcyMzI4OGI1YmRhCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdW4gMjMgMTQ6MTg6MzYgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jCmluZGV4IDBkYjA4YWMzZDA5OGZiLi41MDc3MTI5NjU2ZThhMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMKQEAgLTMzNjMsNiAmIzQzOzMzNjMsOSBAQCBzdGF0aWMgaW50IHNldHVwX25pY19kZXZpY2VzKHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3Rlb25fZGV2KQogCQlzYyA9IChzdHJ1Y3Qgb2N0ZW9uX3NvZnRfY29tbWFuZCAqKQogCQkJb2N0ZW9uX2FsbG9jX3NvZnRfY29tbWFuZChvY3Rlb25fZGV2LCBkYXRhX3NpemUsCiAJCQkJCQkgIHJlc3Bfc2l6ZSwgMCk7CiYjNDM7CQlpZiAoIXNjKQomIzQzOwkJCXJldHVybiAtRU5PTUVNOwomIzQzOwogCQlyZXNwID0gKHN0cnVjdCBsaXF1aWRpb19pZl9jZmdfcmVzcCAqKXNjLSZndDt2aXJ0cnB0cjsKIAkJdmRhdGEgPSAoc3RydWN0IGxpb192ZXJzaW9uICopc2MtJmd0O3ZpcnRkcHRyOwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDE0OjE4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4OTUKCQkJCQkJCW91dHB1dDogNDMKCQkJCQkJCXRob3VnaHRzOiAxNjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTGlxdWlkSU8gRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNgLiBJdCYjMzk7cyBhIHByZXR0eSBzdHJhaWdodGZvcndhcmQgTlVMTCBjaGVjayBmb3IgdGhlIGBzY2AgcmV0dXJuIHZhbHVlIGZyb20gYG9jdGVvbl9hbGxvY19zb2Z0X2NvbW1hbmRgIGluIGBzZXR1cF9uaWNfZGV2aWNlc2AuIElmIGBzY2AgaXMgTlVMTCwgaXQmIzM5O3Mgbm93IHJldHVybmluZyBgLUVOT01FTWAuIE5vdGhpbmcgdG9vIGZhbmN5LCBidXQgbGV0JiMzOTtzIGNvbnNpZGVyIHRoZSBjb250ZXh0LgoKTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZpZ3VyZSBvdXQgdGhlIHBvdGVudGlhbCByZWFjaGFiaWxpdHkgb2YgdGhpcyBuZXcgY29kZSBwYXRoLCBlc3BlY2lhbGx5IGluIHZpcnR1YWxpemVkIHNjZW5hcmlvcy4gV2UmIzM5O3JlIGRlYWxpbmcgd2l0aCB0aGUgYGxpcXVpZGlvYCBkcml2ZXIsIHdoaWNoLCBhcyBJIHJlY2FsbCwgaXMgZm9yIHRoZSBDYXZpdW0gTGlxdWlkSU8gSW50ZWxsaWdlbnQgU2VydmVyIEFkYXB0ZXIuIFRoYXQgdXN1YWxseSBtZWFucyBpdCYjMzk7cyBhIFBDSSBkZXZpY2UsIHJpZ2h0PyBSaWdodC4gVGhhdCBvcGVucyB1cCBhIGxpbmUgb2YgaW5xdWlyeS4KCkdpdmVuIHRoYXQgaXQmIzM5O3MgYSBQQ0kgZHJpdmVyLCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gZnV6eiBpdCwgYXNzdW1pbmcgdGhlIGZ1enppbmcgc2V0dXAgaXMgY29ycmVjdC4gSSBzaG91bGQgaW52ZXN0aWdhdGUgcG90ZW50aWFsIFBDSSBmdXp6aW5nIHRlY2huaXF1ZXMgaGVyZS4gSSYjMzk7bGwgbmVlZCB0byBnbyBiYWNrIGFuZCBjaGVjayB0aGUgY29kZSB3aXRoaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jYCBtb3JlIHRob3JvdWdobHkuIFRoaXMga2luZCBvZiBwYXRjaCBvZnRlbiBleHBvc2VzIHN1YnRsZSBtZW1vcnkgYWxsb2NhdGlvbiBpc3N1ZXMsIG9yIGVkZ2UgY2FzZXMgdGhhdCBhcmUgd29ydGggZXhwbG9yaW5nIGZ1cnRoZXIuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c2V0dXBfbmljX2RldmljZXMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zMjgwPXN0YXRpYyBpbnQgbGlvX25pY19pbmZvKHN0cnVjdCBvY3Rlb25fcmVjdl9pbmZvICpyZWN2X2luZm8sIHZvaWQgKmJ1Zilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0zMzE0LS8qKlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6MzMxNTogKiBzZXR1cF9uaWNfZGV2aWNlcyAtIFNldHVwIG5ldHdvcmsgaW50ZXJmYWNlc1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzMxNi0gKiBAb2N0ZW9uX2RldjogIG9jdGVvbiBkZXZpY2Vcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0zMzIxLSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6MzMyMjpzdGF0aWMgaW50IHNldHVwX25pY19kZXZpY2VzKHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3Rlb25fZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzMyMy17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9Mzg4OD1zdGF0aWMgaW50IGxpcXVpZGlvX2luaXRfbmljX21vZHVsZShzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MDUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTA2Olx0cmV0dmFsID0gc2V0dXBfbmljX2RldmljZXMob2N0KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MDctXHRpZiAocmV0dmFsKSB7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjc4MgoJCQkJCQkJb3V0cHV0OiA0NgoJCQkJCQkJdGhvdWdodHM6IDM5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5IZXJlJiMzOTtzIGEgc3VtbWFyeSBvZiBteSB0aG91Z2h0IHByb2Nlc3M6CgoqKlRyYWNpbmcgdGhlIE5ldHdvcmsgSW5pdGlhbGl6YXRpb24qKgoKT2theSwgc28gYHNldHVwX25pY19kZXZpY2VzYCBpcyB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBjb25maWd1cmVzIHRoZSBuZXR3b3JrIGludGVyZmFjZSBjYXJkcywgYW5kIGl0JiMzOTtzIGJlaW5nIGNhbGxlZCBmcm9tIGBsaXF1aWRpb19pbml0X25pY19tb2R1bGVgLiBUaGF0IG1ha2VzIHNlbnNlOyBpdCYjMzk7cyB0aGUgbmF0dXJhbCBvcmRlciBvZiB0aGluZ3MuIE5vdywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGxhcmdlciBjb250ZXh0LiBNeSBuZXh0IHN0ZXAgaXMgdG8gZmlndXJlIG91dCAqd2hlcmUqIGBsaXF1aWRpb19pbml0X25pY19tb2R1bGVgIGl0c2VsZiBpcyBiZWluZyBjYWxsZWQuIFVuZGVyc3RhbmRpbmcgdGhhdCBjYWxsIHN0YWNrIHdpbGwgZ2l2ZSBtZSB0aGUgZW50cnkgcG9pbnQgYW5kIHRoZSBvdmVyYWxsIGluaXRpYWxpemF0aW9uIGZsb3cuIFRoaXMgd2lsbCBoZWxwIG1lIGRlYnVnIHdoYXRldmVyIGlzc3VlIEkgYW0gaGF2aW5nIHdpdGggdGhlIE5JQy4gTGV0JiMzOTtzIHRyYWNlIGJhY2sgZnJvbSB0aGVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtsaXF1aWRpb19pbml0X25pY19tb2R1bGUmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zODQ2PXN0YXRpYyBpbnQgbGlxdWlkaW9fZW5hYmxlX3NyaW92KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBudW1fdmZzKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM4ODEtLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozODgyOiAqIGxpcXVpZGlvX2luaXRfbmljX21vZHVsZSAtIGluaXRpYWxpemUgdGhlIE5JQ1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4My0gKiBAb2N0OiBvY3Rlb24gZGV2aWNlXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4Ny0gKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjM4ODg6c3RhdGljIGludCBsaXF1aWRpb19pbml0X25pY19tb2R1bGUoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM4ODkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTM5NDM9c3RhdGljIHZvaWQgbmljX3N0YXJ0ZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NjgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTY5Olx0XHRpZiAobGlxdWlkaW9faW5pdF9uaWNfbW9kdWxlKG9jdCkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0zOTcwLVx0XHRcdGRldl9lcnIoXHUwMDI2b2N0LVx1MDAzZXBjaV9kZXYtXHUwMDNlZGV2LCBcJiMzNDtOSUMgaW5pdGlhbGl6YXRpb24gZmFpbGVkXFxuXCYjMzQ7KTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDIyCgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogMjUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgdGhvdWdodCBwcm9jZXNzLCBhcyBhbiBleHBlcnQgaW4gc3lzdGVtIGFyY2hpdGVjdHVyZSBhbmQga2VybmVsIGludGVybmFsczoKCioqVHJhY2luZyB0aGUgRXhlY3V0aW9uIFBhdGggb2YgYG5pY19zdGFydGVyYCoqCgpPa2F5LCBzbyBgbmljX3N0YXJ0ZXJgIGlzIGEgd29ya3F1ZXVlIGZ1bmN0aW9uLiBUaGF0IGltbWVkaWF0ZWx5IHRlbGxzIG1lIGl0JiMzOTtzIHBhcnQgb2YgYSBkZWZlcnJlZCBleGVjdXRpb24gbWVjaGFuaXNtLCBsaWtlbHkgdXNlZCB0byBoYW5kbGUgbmV0d29yayBpbnRlcmZhY2UgY2FyZCAoTklDKSByZWxhdGVkIHRhc2tzIGFzeW5jaHJvbm91c2x5LCBwcm9iYWJseSBmcm9tIGludGVycnVwdCBoYW5kbGVycyBvciBvdGhlciB0aW1lLXNlbnNpdGl2ZSBjb250ZXh0cy4gVGhlIGNydWNpYWwgcXVlc3Rpb24gbm93IGlzLCB3aGVyZSBhbmQgaG93IGlzIHRoaXMgZnVuY3Rpb24gYmVpbmcgKnNjaGVkdWxlZCo/IEtub3dpbmcgdGhlIHNjaGVkdWxlciBjb250ZXh0IGlzIHBhcmFtb3VudCB0byB1bmRlcnN0YW5kaW5nIGl0cyBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3MsIHBvdGVudGlhbCBjb25jdXJyZW5jeSBpc3N1ZXMsIGFuZCBpbnRlcmFjdGlvbnMgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUgbmV0d29yayBzdGFjay4gSSBuZWVkIHRvIHRyYWNlIGl0cyBjYWxsIGNoYWluIHRvIGlkZW50aWZ5IHRoZSBvcmlnaW5hdGluZyBmdW5jdGlvbiBhbmQgdGhlIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIGl0cyBxdWV1aW5nLiBJcyBpdCBjYWxsZWQgZnJvbSBhIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyPyBJcyBpdCB0cmlnZ2VyZWQgYnkgYSB0aW1lcj8gSXMgaXQgcGFydCBvZiBhIHNvZnR3YXJlIGZsb3c/IFVuZGVyc3RhbmRpbmcgdGhlIGNvbnRleHQgaXMga2V5IHRvIHVuZGVyc3RhbmRpbmcgaXRzIHB1cnBvc2UgYW5kIGltcGFjdC4gSSBuZWVkIHRvIGRpdmUgaW50byB0aGUgY29kZSBhbmQgZmluZCB0aGUgc3BlY2lmaWMgcGxhY2VzIGBuaWNfc3RhcnRlcmAgaXMgc3VibWl0dGVkIHRvIGEgd29ya3F1ZXVlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDE0OjE4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O25pY19zdGFydGVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9Mzg4OD1zdGF0aWMgaW50IGxpcXVpZGlvX2luaXRfbmljX21vZHVsZShzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MzctLyoqXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTM4OiAqIG5pY19zdGFydGVyIC0gZmluaXNoIGluaXRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MzktICogQHdvcms6ICB3b3JrIHN0cnVjdCB3b3JrX3N0cnVjdFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NDItICovXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTQzOnN0YXRpYyB2b2lkIG5pY19zdGFydGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NDQte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTQwMzc9c3RhdGljIGludCBvY3Rlb25fZGV2aWNlX2luaXQoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdGVvbl9kZXYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDEyMC1cdFx0XHRcdCAgICBvY3Rlb25fcmVjdl92Zl9kcnZfbm90aWNlLCBvY3Rlb25fZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjQxMjE6XHRJTklUX0RFTEFZRURfV09SSyhcdTAwMjZvY3Rlb25fZGV2LVx1MDAzZW5pY19wb2xsX3dvcmsud29yaywgbmljX3N0YXJ0ZXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDEyMi1cdG9jdGVvbl9kZXYtXHUwMDNlbmljX3BvbGxfd29yay5jdHhwdHIgPSAodm9pZCAqKW9jdGVvbl9kZXY7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDEzNwoJCQkJCQkJb3V0cHV0OiA0NQoJCQkJCQkJdGhvdWdodHM6IDE4CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhc3N1bWluZyBJJiMzOTttIGFuIGV4cGVydCBpbiB0aGlzIGZpZWxkLCBwcmVzZW50ZWQgYXMgYSBmaXJzdC1wZXJzb24gc3VtbWFyeToKCioqSW5pdGlhbGl6YXRpb24gU2VxdWVuY2U6IENvbm5lY3RpbmcgTGlxdWlkSU8gYW5kIE9jdGVvbioqCgpBbHJpZ2h0LCBzbyBoZXJlJiMzOTtzIHRoZSBkZWFsLiBJJiMzOTttIG1lbnRhbGx5IHRyYWNpbmcgdGhlIGluaXRpYWxpemF0aW9uIGZsb3cgb2YgdGhpcyBzeXN0ZW0uIEl0IGxvb2tzIGxpa2UgYGxpcXVpZGlvX3Byb2JlYCBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIGRldGVjdGluZyBhbmQgc2V0dGluZyB1cCB0aGUgTGlxdWlkSU8gZHJpdmVyLCB3aGljaCBtYWtlcyBzZW5zZS4gTm93LCB3aXRoaW4gdGhhdCBgbGlxdWlkaW9fcHJvYmVgIGZ1bmN0aW9uLCBJIHNlZSB0aGF0IGBvY3Rlb25fZGV2aWNlX2luaXRgIGdldHMgY2FsbGVkLiBUaGlzIG1lYW5zIHRoZSBjb3JlIE9jdGVvbiBkZXZpY2UgaW5pdGlhbGl6YXRpb24gaXMgYmVpbmcgdHJpZ2dlcmVkIGFzIHBhcnQgb2YgdGhlIExpcXVpZElPIHByb2JlIHNlcXVlbmNlLiBUaGF0JiMzOTtzIGdvb2QgZGVzaWduIOKAkyBpdCBpbmRpY2F0ZXMgYSBjbGVhciBkZXBlbmRlbmN5IGFuZCBzdWdnZXN0cyBhIHN0cnVjdHVyZWQgYXBwcm9hY2ggdG8gYnJpbmdpbmcgdXAgdGhlIGhhcmR3YXJlLiBTbyBlc3NlbnRpYWxseSBgbGlxdWlkaW9fcHJvYmVgIGlzIHRoZSBib3NzLCBhbmQgaXQgdXNlcyBgb2N0ZW9uX2RldmljZV9pbml0YCBhcyBhIHN1YnJvdXRpbmUgdG8gcHJvcGVybHkgaW5pdCB0aGUgT2N0ZW9uIGRldmljZS4gSSBuZWVkIHRvIGtlZXAgdGhhdCByZWxhdGlvbnNoaXAgaW4gbWluZCB3aGVuIGRlYnVnZ2luZyBvciBhZGRpbmcgZmVhdHVyZXMgdG8gZWl0aGVyIG1vZHVsZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7b2N0ZW9uX2RldmljZV9pbml0JiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9MTM5PXN0YXRpYyBpbnQgb2N0ZW9uX2RiZ19jb25zb2xlX3ByaW50KHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3QsIHUzMiBjb25zb2xlX251bSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0xNDEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzoxNDI6c3RhdGljIGludCBvY3Rlb25fZGV2aWNlX2luaXQoc3RydWN0IG9jdGVvbl9kZXZpY2UgKik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0xNDMtc3RhdGljIGludCBsaXF1aWRpb19zdG9wKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTgyMz1saXF1aWRpb19wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgX19tYXliZV91bnVzZWQgKmVudClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy04NjUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzo4NjY6XHRpZiAob2N0ZW9uX2RldmljZV9pbml0KG9jdF9kZXYpKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy04NjctXHRcdGNvbXBsZXRlKFx1MDAyNmhzLVx1MDAzZWluaXQpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTM5ODM9b2N0ZW9uX3JlY3ZfdmZfZHJ2X25vdGljZShzdHJ1Y3Qgb2N0ZW9uX3JlY3ZfaW5mbyAqcmVjdl9pbmZvLCB2b2lkICpidWYpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDAzMy0vKipcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjQwMzQ6ICogb2N0ZW9uX2RldmljZV9pbml0IC0gRGV2aWNlIGluaXRpYWxpemF0aW9uIGZvciBlYWNoIE9jdGVvbiBkZXZpY2UgdGhhdCBpcyBwcm9iZWRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTQwMzUtICogQG9jdGVvbl9kZXY6ICBvY3Rlb24gZGV2aWNlXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy00MDM2LSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6NDAzNzpzdGF0aWMgaW50IG9jdGVvbl9kZXZpY2VfaW5pdChzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0ZW9uX2RldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTQwMzgte1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1MDA0CgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogNTYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBQQ0kgRHJpdmVyIFByb2JlIFBhdGgqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgUENJIGRyaXZlciBwcm9iZSBwYXRoLiBJbnRlcmVzdGluZy4gTXkgaW5pdGlhbCBxdWVzdGlvbiBpcyB3aGV0aGVyIHRoaXMgY29kZSBwYXRoIGlzIGV2ZW4gcmVsZXZhbnQgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudC4gQ2FuIHN5emthbGxlciByZWFjaCBpdD8gT2gsIHJpZ2h0LCBvZiBjb3Vyc2UhIFN5emthbGxlciAqY2FuKiBmdXp6IFBDSSBkZXZpY2VzLiBUaGF0JiMzOTtzIGEgY3J1Y2lhbCBwb2ludCwgYW5kIGl0IHN1Z2dlc3RzIHRoaXMgaXMgYSBwYXRoIHdvcnRoIGV4cGxvcmluZy4gTm93LCB0byBnZXQgdGhlIGNvbXBsZXRlIHBpY3R1cmUsIEkgbmVlZCB0byBjaGVjayB0aGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbiBvcHRpb25zLiBMZXQmIzM5O3Mgc2VlLi4uIEkmIzM5O2xsIGRpdmUgaW50byBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL0tjb25maWdgIHRvIHNlZSB0aGUgY29uZmlnIG9wdGlvbnMuIFRoYXQgc2hvdWxkIGdpdmUgbWUgdGhlIGtleSBkZXBlbmRlbmNpZXMgYW5kIHJldmVhbCB0aGUgY29uZmlndXJhdGlvbiBuZWVkZWQgdG8gZW5hYmxlIHRoaXMgZHJpdmVyLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBMSVFVSURJTyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O2Vycm9yJiMzNDs6ICYjMzQ7bm8gbWF0Y2hlcyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTI2NAoJCQkJCQkJb3V0cHV0OiAzMAoJCQkJCQkJdGhvdWdodHM6IDcKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBhbmQgd3JpdHRlbiBpbiB0aGUgZmlyc3QgcGVyc29uOgoKKipOYXZpZ2F0aW5nIHRoZSBEaWdpdGFsIExhbmRzY2FwZTogSW5pdGlhbCBBc3Nlc3NtZW50KioKCkFscmlnaHQsIGxldCYjMzk7cyBzdGFydCB3aXRoIHRoZSBiYXNpY3MuIE15IGZpcnN0IGluc3RpbmN0LCBnaXZlbiB0aGUgY29udGV4dCAod2hpY2ggSSYjMzk7bSBhc3N1bWluZyBpcyBhIGRpZ2l0YWwgZW52aXJvbm1lbnQsIGxpa2VseSBhIHByb2plY3Qgb3Igc3lzdGVtIEkmIzM5O20gZmFtaWxpYXIgd2l0aCksIGlzIHRvIGNoZWNrIHRoZSBkaXJlY3RvcnkuIFRoaXMgaXMgc3RhbmRhcmQgcHJvY2VkdXJlLCByZWFsbHkuIEl0JiMzOTtzIHRoZSBncm91bmRpbmcgcG9pbnQsIHRoZSBtYXAuIEkgbmVlZCB0byBnZXQgYSBsYXkgb2YgdGhlIGxhbmQsIHNlZSB3aGF0IGZpbGVzIGFuZCBmb2xkZXJzIGFyZSBwcmVzZW50LgoKV2h5PyBXZWxsLCBkZXBlbmRpbmcgb24gdGhlIHNwZWNpZmljcywgaXQgY291bGQgYmUgZm9yIGEgZmV3IHJlYXNvbnMuIE1heWJlIEkmIzM5O20gdHJ5aW5nIHRvIGxvY2F0ZSBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZmlsZSwgYSBkYXRhc2V0LCBhIHNjcmlwdCBJIG5lZWQgdG8gbW9kaWZ5LCBvciBqdXN0IGdlbmVyYWxseSB1bmRlcnN0YW5kIHRoZSBjdXJyZW50IG9yZ2FuaXphdGlvbmFsIHN0cnVjdHVyZS4gV2l0aG91dCBrbm93aW5nIHRoZSBzY29wZSBmdXJ0aGVyIEkmIzM5O20gbG9va2luZyBmb3IgYSBwb2ludCB0byBzdGFydCB3aXRoLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAxNDoxOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmNvZGVzZWFyY2gtZGlyLWluZGV4PC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtEaXImIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZXMmIzM0OzogWwogICAgJiMzNDtjbjIzeHhfcGZfZGV2aWNlLmMmIzM0OywKICAgICYjMzQ7Y24yM3h4X3BmX2RldmljZS5oJiMzNDssCiAgICAmIzM0O2NuMjN4eF9wZl9yZWdzLmgmIzM0OywKICAgICYjMzQ7Y24yM3h4X3ZmX2RldmljZS5jJiMzNDssCiAgICAmIzM0O2NuMjN4eF92Zl9kZXZpY2UuaCYjMzQ7LAogICAgJiMzNDtjbjIzeHhfdmZfcmVncy5oJiMzNDssCiAgICAmIzM0O2NuNjZ4eF9kZXZpY2UuYyYjMzQ7LAogICAgJiMzNDtjbjY2eHhfZGV2aWNlLmgmIzM0OywKICAgICYjMzQ7Y242Nnh4X3JlZ3MuaCYjMzQ7LAogICAgJiMzNDtjbjY4eHhfZGV2aWNlLmMmIzM0OywKICAgICYjMzQ7Y242OHh4X2RldmljZS5oJiMzNDssCiAgICAmIzM0O2NuNjh4eF9yZWdzLmgmIzM0OywKICAgICYjMzQ7bGlvX2NvcmUuYyYjMzQ7LAogICAgJiMzNDtsaW9fZXRodG9vbC5jJiMzNDssCiAgICAmIzM0O2xpb19tYWluLmMmIzM0OywKICAgICYjMzQ7bGlvX3ZmX21haW4uYyYjMzQ7LAogICAgJiMzNDtsaW9fdmZfcmVwLmMmIzM0OywKICAgICYjMzQ7bGlvX3ZmX3JlcC5oJiMzNDssCiAgICAmIzM0O2xpcXVpZGlvX2NvbW1vbi5oJiMzNDssCiAgICAmIzM0O2xpcXVpZGlvX2ltYWdlLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX2NvbmZpZy5oJiMzNDssCiAgICAmIzM0O29jdGVvbl9jb25zb2xlLmMmIzM0OywKICAgICYjMzQ7b2N0ZW9uX2RldmljZS5jJiMzNDssCiAgICAmIzM0O29jdGVvbl9kZXZpY2UuaCYjMzQ7LAogICAgJiMzNDtvY3Rlb25fZHJvcS5jJiMzNDssCiAgICAmIzM0O29jdGVvbl9kcm9xLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX2lxLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX21haWxib3guYyYjMzQ7LAogICAgJiMzNDtvY3Rlb25fbWFpbGJveC5oJiMzNDssCiAgICAmIzM0O29jdGVvbl9tYWluLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX21lbV9vcHMuYyYjMzQ7LAogICAgJiMzNDtvY3Rlb25fbWVtX29wcy5oJiMzNDssCiAgICAmIzM0O29jdGVvbl9uZXR3b3JrLmgmIzM0OywKICAgICYjMzQ7b2N0ZW9uX25pYy5jJiMzNDssCiAgICAmIzM0O29jdGVvbl9uaWMuaCYjMzQ7LAogICAgJiMzNDtyZXF1ZXN0X21hbmFnZXIuYyYjMzQ7LAogICAgJiMzNDtyZXNwb25zZV9tYW5hZ2VyLmMmIzM0OywKICAgICYjMzQ7cmVzcG9uc2VfbWFuYWdlci5oJiMzNDsKICBdLAogICYjMzQ7U3ViZGlycyYjMzQ7OiBudWxsCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTg5NgoJCQkJCQkJb3V0cHV0OiAzNAoJCQkJCQkJdGhvdWdodHM6IDgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGF0IHRob3VnaHQgcHJvY2Vzcywga2VlcGluZyBpbiBtaW5kIEkmIzM5O20gc3BlYWtpbmcgdG8gYSBmZWxsb3cgZXhwZXJ0OgoKKipUaGUgSHVudCBmb3IgdGhlIENvbmZpZ3VyYXRpb24qKgoKQWxyaWdodCwgaG9sZCBvbiBhIHNlY29uZC4gSSYjMzk7bSBrbmVlLWRlZXAgaW4gdGhpcyBjb2RlLCB0cnlpbmcgdG8gbWFrZSBzb21lIHNlbnNlIG9mIHRoZXNlIGRlcGVuZGVuY2llcywgYW5kIHN1ZGRlbmx5IEkgaGl0IGEgc25hZy4gV2hlcmUgdGhlICpoZWNrKiBpcyB0aGUgS2NvbmZpZyBmaWxlPyBJJiMzOTttIG1pc3Npbmcgc29tZXRoaW5nIGZ1bmRhbWVudGFsIGhlcmUuIFRoaXMgcHJvamVjdCBpcyBzbyBodWdlLCB0aGF0IGl0JiMzOTtzIGVhc3kgdG8gZ2V0IGxvc3QuIEl0IGlzIHVzdWFsbHkgcmlnaHQgdGhlcmUsIGJ1dCBub3QgdGhpcyB0aW1lLiBJIGFtIGdvaW5nIHRvIGhhdmUgdG8gZG8gc29tZSBkaWdnaW5nLCBhbmQgaG9wZWZ1bGx5LCBpdCBpcyBub3QgYnVyaWVkIHRvbyBmYXIgZG93bi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bGlxdWlkaW8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZz02OD1jb25maWcgTElRVUlESU9cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZy04MS1cdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWc6ODI6XHQgIHdpbGwgYmUgY2FsbGVkIGxpcXVpZGlvLiAgVGhpcyBpcyByZWNvbW1lbmRlZC5cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTgzLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnPTk1PWNvbmZpZyBMSVFVSURJT19WRlxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTEwNC1cdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogVGhlIG1vZHVsZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWc6MTA1Olx0ICB3aWxsIGJlIGNhbGxlZCBsaXF1aWRpb192Zi4gTVNJLVggaW50ZXJydXB0IHN1cHBvcnQgaXMgcmVxdWlyZWRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTEwNi1cdCAgZm9yIHRoaXMgZHJpdmVyIHRvIHdvcmsgY29ycmVjdGx5XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDE0OjE5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYzMTAKCQkJCQkJCW91dHB1dDogOTYKCQkJCQkJCXRob3VnaHRzOiAyMDQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRnV6emluZyBTdHJhdGVneSBmb3IgTGlxdWlkaW8gRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIHRoZSBjb25maWcgaXMgYExJUVVJRElPYCwgYW5kIHRoZXJlJiMzOTtzIGEgcGF0Y2ggdGhhdCBhZGRzIGEgTlVMTCBjaGVjayBhbmQgcmV0dXJucyBgLUVOT01FTWAgaW4gYHNldHVwX25pY19kZXZpY2VzYC4gTXkgaW5pdGlhbCBpbnN0aW5jdCBpcyB0byBhc3Nlc3MgaWYgdGhpcyBpcyBmdXp6YWJsZS4gQWJzb2x1dGVseSwgaXQmIzM5O3MgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gYSBQQ0kgZHJpdmVyLCBtYWtpbmcgaXQgYSBnb29kIGNhbmRpZGF0ZS4gVGhlIHByaW1hcnkgZm9jdXMgaW5pdGlhbGx5IHdhcyBgc2V0dXBfbmljX2RldmljZXNgLgoKV2FpdCBhIG1pbnV0ZSwgYHNldHVwX25pY19kZXZpY2VzYCBpcyBkZWNsYXJlZCBhcyBzdGF0aWMuIFRoaXMgbWFrZXMgbWUgd2FudCB0byBjaGVjayB3aGV0aGVyIGl04oCZcyBhIGhvdC1wYXRoIGZ1bmN0aW9uLiBBZnRlciB0cmFjaW5nIHRoZSBjYWxsIGNoYWluLCBpdCBhcHBlYXJzIGBzZXR1cF9uaWNfZGV2aWNlc2AgaXMgY2FsbGVkIGR1cmluZyBpbml0aWFsaXphdGlvbi4gU3BlY2lmaWNhbGx5LCB3aXRoaW4gYGxpcXVpZGlvX2luaXRfbmljX21vZHVsZWAgd2hpY2ggY2FsbHMgYG5pY19zdGFydGVyYCwgYW5kIHRoZW4gYG9jdGVvbl9kZXZpY2VfaW5pdGAsIGV2ZW50dWFsbHkgY2FsbGluZyBgbGlxdWlkaW9fcHJvYmVgLiBTaW5jZSBpdCBpc24mIzM5O3QgZGlyZWN0bHkgaW4gYSBob3QgcGF0aCwgdGhpcyBpcyBsZXNzIGludGVyZXN0aW5nIGZvciBmb2N1c2VkIGZ1enppbmcuCgpMZXQgbWUgcmVhc3Nlc3MuIEdpdmVuIHRoYXQgYHNldHVwX25pY19kZXZpY2VzYCBpcyB0aGUgZnVuY3Rpb24gdGhhdCB3YXMgbW9kaWZpZWQsIGFuZCBgbGlxdWlkaW9fcHJvYmVgIGFwcGVhcnMgdG8gYmUgdGhlIGVudHJ5IHBvaW50IHRvIHRoZSBkcml2ZXIsIEkgY2FuIGZvY3VzIGZ1enppbmcgZWZmb3J0cyBvbiBgc2V0dXBfbmljX2RldmljZXNgIGFuZCB0aGUgYGxpcXVpZGlvX3Byb2JlYCBhcyBwb3RlbnRpYWwgdGFyZ2V0IGZ1bmN0aW9ucy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjMgMTQ6MTk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0xJUVVJRElPJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7c2V0dXBfbmljX2RldmljZXMmIzM0OywKICAgICYjMzQ7bGlxdWlkaW9fcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgY2hlY2sgZm9yIGEgbWVtb3J5IGFsbG9jYXRpb24gaW4gdGhlIFBDSSBkcml2ZXImIzM5O3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0xJUVVJRElPJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7c2V0dXBfbmljX2RldmljZXMmIzM0OywKICAgICYjMzQ7bGlxdWlkaW9fcHJvYmUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgY2hlY2sgZm9yIGEgbWVtb3J5IGFsbG9jYXRpb24gaW4gdGhlIFBDSSBkcml2ZXImIzM5O3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODozNy44MjE4Mzg4MTRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozMzAyMDAyODg0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJMSVFVSURJT1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInNldHVwX25pY19kZXZpY2VzXCIsXG4gICAgXCJsaXF1aWRpb19wcm9iZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBOVUxMIGNoZWNrIGZvciBhIG1lbW9yeSBhbGxvY2F0aW9uIGluIHRoZSBQQ0kgZHJpdmVyJ3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjM3LjgyMTg0NTQyNFoiLCJTZXEiOjEsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoicmVhZC1wYXRjaC1kaWZmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDkwNDQ2MDgwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZjhhNGIzZjhhNWQxMTg5NWVmNGU2NGM0ZmVlNGQ3MjMyODhiNWJkYVxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgVHVlIEp1biAyMyAxNDoxODozNiAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXFxuaW5kZXggMGRiMDhhYzNkMDk4ZmIuLjUwNzcxMjk2NTZlOGExIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNcXG5AQCAtMzM2Myw2ICszMzYzLDkgQEAgc3RhdGljIGludCBzZXR1cF9uaWNfZGV2aWNlcyhzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0ZW9uX2RldilcXG4gXFx0XFx0c2MgPSAoc3RydWN0IG9jdGVvbl9zb2Z0X2NvbW1hbmQgKilcXG4gXFx0XFx0XFx0b2N0ZW9uX2FsbG9jX3NvZnRfY29tbWFuZChvY3Rlb25fZGV2LCBkYXRhX3NpemUsXFxuIFxcdFxcdFxcdFxcdFxcdFxcdCAgcmVzcF9zaXplLCAwKTtcXG4rXFx0XFx0aWYgKCFzYylcXG4rXFx0XFx0XFx0cmV0dXJuIC1FTk9NRU07XFxuK1xcbiBcXHRcXHRyZXNwID0gKHN0cnVjdCBsaXF1aWRpb19pZl9jZmdfcmVzcCAqKXNjLVxcdTAwM2V2aXJ0cnB0cjtcXG4gXFx0XFx0dmRhdGEgPSAoc3RydWN0IGxpb192ZXJzaW9uICopc2MtXFx1MDAzZXZpcnRkcHRyO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTg6MzguMzEzMDk0MDk0WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjUyODc2MjE1OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJMSVFVSURJT1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInNldHVwX25pY19kZXZpY2VzXCIsXG4gICAgXCJsaXF1aWRpb19wcm9iZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBOVUxMIGNoZWNrIGZvciBhIG1lbW9yeSBhbGxvY2F0aW9uIGluIHRoZSBQQ0kgZHJpdmVyJ3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZjhhNGIzZjhhNWQxMTg5NWVmNGU2NGM0ZmVlNGQ3MjMyODhiNWJkYVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVuIDIzIDE0OjE4OjM2IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uY1xuaW5kZXggMGRiMDhhYzNkMDk4ZmIuLjUwNzcxMjk2NTZlOGExIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXG5AQCAtMzM2Myw2ICszMzYzLDkgQEAgc3RhdGljIGludCBzZXR1cF9uaWNfZGV2aWNlcyhzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0ZW9uX2RldilcbiBcdFx0c2MgPSAoc3RydWN0IG9jdGVvbl9zb2Z0X2NvbW1hbmQgKilcbiBcdFx0XHRvY3Rlb25fYWxsb2Nfc29mdF9jb21tYW5kKG9jdGVvbl9kZXYsIGRhdGFfc2l6ZSxcbiBcdFx0XHRcdFx0XHQgIHJlc3Bfc2l6ZSwgMCk7XG4rXHRcdGlmICghc2MpXG4rXHRcdFx0cmV0dXJuIC1FTk9NRU07XG4rXG4gXHRcdHJlc3AgPSAoc3RydWN0IGxpcXVpZGlvX2lmX2NmZ19yZXNwICopc2MtXHUwMDNldmlydHJwdHI7XG4gXHRcdHZkYXRhID0gKHN0cnVjdCBsaW9fdmVyc2lvbiAqKXNjLVx1MDAzZXZpcnRkcHRyO1xuIFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTg6MzguMzEzMDk1OTU0WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDgzNjgzMzI5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBMaXF1aWRJTyBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmNgLiBJdCdzIGEgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCBOVUxMIGNoZWNrIGZvciB0aGUgYHNjYCByZXR1cm4gdmFsdWUgZnJvbSBgb2N0ZW9uX2FsbG9jX3NvZnRfY29tbWFuZGAgaW4gYHNldHVwX25pY19kZXZpY2VzYC4gSWYgYHNjYCBpcyBOVUxMLCBpdCdzIG5vdyByZXR1cm5pbmcgYC1FTk9NRU1gLiBOb3RoaW5nIHRvbyBmYW5jeSwgYnV0IGxldCdzIGNvbnNpZGVyIHRoZSBjb250ZXh0LlxuXG5NeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZmlndXJlIG91dCB0aGUgcG90ZW50aWFsIHJlYWNoYWJpbGl0eSBvZiB0aGlzIG5ldyBjb2RlIHBhdGgsIGVzcGVjaWFsbHkgaW4gdmlydHVhbGl6ZWQgc2NlbmFyaW9zLiBXZSdyZSBkZWFsaW5nIHdpdGggdGhlIGBsaXF1aWRpb2AgZHJpdmVyLCB3aGljaCwgYXMgSSByZWNhbGwsIGlzIGZvciB0aGUgQ2F2aXVtIExpcXVpZElPIEludGVsbGlnZW50IFNlcnZlciBBZGFwdGVyLiBUaGF0IHVzdWFsbHkgbWVhbnMgaXQncyBhIFBDSSBkZXZpY2UsIHJpZ2h0PyBSaWdodC4gVGhhdCBvcGVucyB1cCBhIGxpbmUgb2YgaW5xdWlyeS5cblxuR2l2ZW4gdGhhdCBpdCdzIGEgUENJIGRyaXZlciwgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIGZ1enogaXQsIGFzc3VtaW5nIHRoZSBmdXp6aW5nIHNldHVwIGlzIGNvcnJlY3QuIEkgc2hvdWxkIGludmVzdGlnYXRlIHBvdGVudGlhbCBQQ0kgZnV6emluZyB0ZWNobmlxdWVzIGhlcmUuIEknbGwgbmVlZCB0byBnbyBiYWNrIGFuZCBjaGVjayB0aGUgY29kZSB3aXRoaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jYCBtb3JlIHRob3JvdWdobHkuIFRoaXMga2luZCBvZiBwYXRjaCBvZnRlbiBleHBvc2VzIHN1YnRsZSBtZW1vcnkgYWxsb2NhdGlvbiBpc3N1ZXMsIG9yIGVkZ2UgY2FzZXMgdGhhdCBhcmUgd29ydGggZXhwbG9yaW5nIGZ1cnRoZXIuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE4OTUsIk91dHB1dFRva2VucyI6NDMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjksIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODo0My4xNDk5MzE0MDFaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjMwMjk2MTE1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInNldHVwX25pY19kZXZpY2VzXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTMyODA9c3RhdGljIGludCBsaW9fbmljX2luZm8oc3RydWN0IG9jdGVvbl9yZWN2X2luZm8gKnJlY3ZfaW5mbywgdm9pZCAqYnVmKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzMxNC0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozMzE1OiAqIHNldHVwX25pY19kZXZpY2VzIC0gU2V0dXAgbmV0d29yayBpbnRlcmZhY2VzXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzMxNi0gKiBAb2N0ZW9uX2RldjogIG9jdGVvbiBkZXZpY2VcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTMzMjEtICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6MzMyMjpzdGF0aWMgaW50IHNldHVwX25pY19kZXZpY2VzKHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3Rlb25fZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTMzMjMte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9Mzg4OD1zdGF0aWMgaW50IGxpcXVpZGlvX2luaXRfbmljX21vZHVsZShzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzkwNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozOTA2OlxcdHJldHZhbCA9IHNldHVwX25pY19kZXZpY2VzKG9jdCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzkwNy1cXHRpZiAocmV0dmFsKSB7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjQzLjM4MDIzNzE3NloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjMyMjY4NzEyMDIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IkhlcmUncyBhIHN1bW1hcnkgb2YgbXkgdGhvdWdodCBwcm9jZXNzOlxuXG4qKlRyYWNpbmcgdGhlIE5ldHdvcmsgSW5pdGlhbGl6YXRpb24qKlxuXG5Pa2F5LCBzbyBgc2V0dXBfbmljX2RldmljZXNgIGlzIHRoZSBmdW5jdGlvbiB0aGF0IGFjdHVhbGx5IGNvbmZpZ3VyZXMgdGhlIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmRzLCBhbmQgaXQncyBiZWluZyBjYWxsZWQgZnJvbSBgbGlxdWlkaW9faW5pdF9uaWNfbW9kdWxlYC4gVGhhdCBtYWtlcyBzZW5zZTsgaXQncyB0aGUgbmF0dXJhbCBvcmRlciBvZiB0aGluZ3MuIE5vdywgSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGxhcmdlciBjb250ZXh0LiBNeSBuZXh0IHN0ZXAgaXMgdG8gZmlndXJlIG91dCAqd2hlcmUqIGBsaXF1aWRpb19pbml0X25pY19tb2R1bGVgIGl0c2VsZiBpcyBiZWluZyBjYWxsZWQuIFVuZGVyc3RhbmRpbmcgdGhhdCBjYWxsIHN0YWNrIHdpbGwgZ2l2ZSBtZSB0aGUgZW50cnkgcG9pbnQgYW5kIHRoZSBvdmVyYWxsIGluaXRpYWxpemF0aW9uIGZsb3cuIFRoaXMgd2lsbCBoZWxwIG1lIGRlYnVnIHdoYXRldmVyIGlzc3VlIEkgYW0gaGF2aW5nIHdpdGggdGhlIE5JQy4gTGV0J3MgdHJhY2UgYmFjayBmcm9tIHRoZXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNzgyLCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MzksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTg6NDYuNjA3MTEwMjU4WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU5MjIyMDQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImxpcXVpZGlvX2luaXRfbmljX21vZHVsZVwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zODQ2PXN0YXRpYyBpbnQgbGlxdWlkaW9fZW5hYmxlX3NyaW92KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBudW1fdmZzKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4MS0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozODgyOiAqIGxpcXVpZGlvX2luaXRfbmljX21vZHVsZSAtIGluaXRpYWxpemUgdGhlIE5JQ1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM4ODMtICogQG9jdDogb2N0ZW9uIGRldmljZVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4Ny0gKi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzozODg4OnN0YXRpYyBpbnQgbGlxdWlkaW9faW5pdF9uaWNfbW9kdWxlKHN0cnVjdCBvY3Rlb25fZGV2aWNlICpvY3QpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzg4OS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zOTQzPXN0YXRpYyB2b2lkIG5pY19zdGFydGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6Mzk2OTpcXHRcXHRpZiAobGlxdWlkaW9faW5pdF9uaWNfbW9kdWxlKG9jdCkpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzk3MC1cXHRcXHRcXHRkZXZfZXJyKFxcdTAwMjZvY3QtXFx1MDAzZXBjaV9kZXYtXFx1MDAzZWRldiwgXFxcIk5JQyBpbml0aWFsaXphdGlvbiBmYWlsZWRcXFxcblxcXCIpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODo0Ni42NjYzMzcyNzZaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MTI3MzQxODEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJIZXJlJ3MgbXkgdGhvdWdodCBwcm9jZXNzLCBhcyBhbiBleHBlcnQgaW4gc3lzdGVtIGFyY2hpdGVjdHVyZSBhbmQga2VybmVsIGludGVybmFsczpcblxuKipUcmFjaW5nIHRoZSBFeGVjdXRpb24gUGF0aCBvZiBgbmljX3N0YXJ0ZXJgKipcblxuT2theSwgc28gYG5pY19zdGFydGVyYCBpcyBhIHdvcmtxdWV1ZSBmdW5jdGlvbi4gVGhhdCBpbW1lZGlhdGVseSB0ZWxscyBtZSBpdCdzIHBhcnQgb2YgYSBkZWZlcnJlZCBleGVjdXRpb24gbWVjaGFuaXNtLCBsaWtlbHkgdXNlZCB0byBoYW5kbGUgbmV0d29yayBpbnRlcmZhY2UgY2FyZCAoTklDKSByZWxhdGVkIHRhc2tzIGFzeW5jaHJvbm91c2x5LCBwcm9iYWJseSBmcm9tIGludGVycnVwdCBoYW5kbGVycyBvciBvdGhlciB0aW1lLXNlbnNpdGl2ZSBjb250ZXh0cy4gVGhlIGNydWNpYWwgcXVlc3Rpb24gbm93IGlzLCB3aGVyZSBhbmQgaG93IGlzIHRoaXMgZnVuY3Rpb24gYmVpbmcgKnNjaGVkdWxlZCo/IEtub3dpbmcgdGhlIHNjaGVkdWxlciBjb250ZXh0IGlzIHBhcmFtb3VudCB0byB1bmRlcnN0YW5kaW5nIGl0cyBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3MsIHBvdGVudGlhbCBjb25jdXJyZW5jeSBpc3N1ZXMsIGFuZCBpbnRlcmFjdGlvbnMgd2l0aCBvdGhlciBwYXJ0cyBvZiB0aGUgbmV0d29yayBzdGFjay4gSSBuZWVkIHRvIHRyYWNlIGl0cyBjYWxsIGNoYWluIHRvIGlkZW50aWZ5IHRoZSBvcmlnaW5hdGluZyBmdW5jdGlvbiBhbmQgdGhlIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIGl0cyBxdWV1aW5nLiBJcyBpdCBjYWxsZWQgZnJvbSBhIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyPyBJcyBpdCB0cmlnZ2VyZWQgYnkgYSB0aW1lcj8gSXMgaXQgcGFydCBvZiBhIHNvZnR3YXJlIGZsb3c/IFVuZGVyc3RhbmRpbmcgdGhlIGNvbnRleHQgaXMga2V5IHRvIHVuZGVyc3RhbmRpbmcgaXRzIHB1cnBvc2UgYW5kIGltcGFjdC4gSSBuZWVkIHRvIGRpdmUgaW50byB0aGUgY29kZSBhbmQgZmluZCB0aGUgc3BlY2lmaWMgcGxhY2VzIGBuaWNfc3RhcnRlcmAgaXMgc3VibWl0dGVkIHRvIGEgd29ya3F1ZXVlLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNDIyLCJPdXRwdXRUb2tlbnMiOjQxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTg6NTAuNzkzNjgyMDE5WiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU3NTc5OTU4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm5pY19zdGFydGVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jPTM4ODg9c3RhdGljIGludCBsaXF1aWRpb19pbml0X25pY19tb2R1bGUoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5MzctLyoqXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM6MzkzODogKiBuaWNfc3RhcnRlciAtIGZpbmlzaCBpbml0XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMzkzOS0gKiBAd29yazogIHdvcmsgc3RydWN0IHdvcmtfc3RydWN0XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0zOTQyLSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjM5NDM6c3RhdGljIHZvaWQgbmljX3N0YXJ0ZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTM5NDQte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9NDAzNz1zdGF0aWMgaW50IG9jdGVvbl9kZXZpY2VfaW5pdChzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqb2N0ZW9uX2RldilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTQxMjAtXFx0XFx0XFx0XFx0ICAgIG9jdGVvbl9yZWN2X3ZmX2Rydl9ub3RpY2UsIG9jdGVvbl9kZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjQxMjE6XFx0SU5JVF9ERUxBWUVEX1dPUksoXFx1MDAyNm9jdGVvbl9kZXYtXFx1MDAzZW5pY19wb2xsX3dvcmsud29yaywgbmljX3N0YXJ0ZXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jLTQxMjItXFx0b2N0ZW9uX2Rldi1cXHUwMDNlbmljX3BvbGxfd29yay5jdHhwdHIgPSAodm9pZCAqKW9jdGVvbl9kZXY7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjUwLjg1MTI2NzgzN1oiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM1MDY0MDM0NTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aGF0IHRob3VnaHQgcHJvY2VzcywgYXNzdW1pbmcgSSdtIGFuIGV4cGVydCBpbiB0aGlzIGZpZWxkLCBwcmVzZW50ZWQgYXMgYSBmaXJzdC1wZXJzb24gc3VtbWFyeTpcblxuKipJbml0aWFsaXphdGlvbiBTZXF1ZW5jZTogQ29ubmVjdGluZyBMaXF1aWRJTyBhbmQgT2N0ZW9uKipcblxuQWxyaWdodCwgc28gaGVyZSdzIHRoZSBkZWFsLiBJJ20gbWVudGFsbHkgdHJhY2luZyB0aGUgaW5pdGlhbGl6YXRpb24gZmxvdyBvZiB0aGlzIHN5c3RlbS4gSXQgbG9va3MgbGlrZSBgbGlxdWlkaW9fcHJvYmVgIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgZGV0ZWN0aW5nIGFuZCBzZXR0aW5nIHVwIHRoZSBMaXF1aWRJTyBkcml2ZXIsIHdoaWNoIG1ha2VzIHNlbnNlLiBOb3csIHdpdGhpbiB0aGF0IGBsaXF1aWRpb19wcm9iZWAgZnVuY3Rpb24sIEkgc2VlIHRoYXQgYG9jdGVvbl9kZXZpY2VfaW5pdGAgZ2V0cyBjYWxsZWQuIFRoaXMgbWVhbnMgdGhlIGNvcmUgT2N0ZW9uIGRldmljZSBpbml0aWFsaXphdGlvbiBpcyBiZWluZyB0cmlnZ2VyZWQgYXMgcGFydCBvZiB0aGUgTGlxdWlkSU8gcHJvYmUgc2VxdWVuY2UuIFRoYXQncyBnb29kIGRlc2lnbiDigJMgaXQgaW5kaWNhdGVzIGEgY2xlYXIgZGVwZW5kZW5jeSBhbmQgc3VnZ2VzdHMgYSBzdHJ1Y3R1cmVkIGFwcHJvYWNoIHRvIGJyaW5naW5nIHVwIHRoZSBoYXJkd2FyZS4gU28gZXNzZW50aWFsbHkgYGxpcXVpZGlvX3Byb2JlYCBpcyB0aGUgYm9zcywgYW5kIGl0IHVzZXMgYG9jdGVvbl9kZXZpY2VfaW5pdGAgYXMgYSBzdWJyb3V0aW5lIHRvIHByb3Blcmx5IGluaXQgdGhlIE9jdGVvbiBkZXZpY2UuIEkgbmVlZCB0byBrZWVwIHRoYXQgcmVsYXRpb25zaGlwIGluIG1pbmQgd2hlbiBkZWJ1Z2dpbmcgb3IgYWRkaW5nIGZlYXR1cmVzIHRvIGVpdGhlciBtb2R1bGUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxMzcsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxOCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODo1NC4zNTc2NzQ0MzNaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYxMTE1MTM5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm9jdGVvbl9kZXZpY2VfaW5pdFwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uY1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0xMzk9c3RhdGljIGludCBvY3Rlb25fZGJnX2NvbnNvbGVfcHJpbnQoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdCwgdTMyIGNvbnNvbGVfbnVtLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtMTQxLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjE0MjpzdGF0aWMgaW50IG9jdGVvbl9kZXZpY2VfaW5pdChzdHJ1Y3Qgb2N0ZW9uX2RldmljZSAqKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy0xNDMtc3RhdGljIGludCBsaXF1aWRpb19zdG9wKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmM9ODIzPWxpcXVpZGlvX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBfX21heWJlX3VudXNlZCAqZW50KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtODY1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjg2NjpcXHRpZiAob2N0ZW9uX2RldmljZV9pbml0KG9jdF9kZXYpKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtODY3LVxcdFxcdGNvbXBsZXRlKFxcdTAwMjZocy1cXHUwMDNlaW5pdCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYz0zOTgzPW9jdGVvbl9yZWN2X3ZmX2Rydl9ub3RpY2Uoc3RydWN0IG9jdGVvbl9yZWN2X2luZm8gKnJlY3ZfaW5mbywgdm9pZCAqYnVmKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDAzMy0vKipcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYzo0MDM0OiAqIG9jdGVvbl9kZXZpY2VfaW5pdCAtIERldmljZSBpbml0aWFsaXphdGlvbiBmb3IgZWFjaCBPY3Rlb24gZGV2aWNlIHRoYXQgaXMgcHJvYmVkXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDAzNS0gKiBAb2N0ZW9uX2RldjogIG9jdGVvbiBkZXZpY2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vbGlvX21haW4uYy00MDM2LSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9saXF1aWRpby9saW9fbWFpbi5jOjQwMzc6c3RhdGljIGludCBvY3Rlb25fZGV2aWNlX2luaXQoc3RydWN0IG9jdGVvbl9kZXZpY2UgKm9jdGVvbl9kZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL2xpb19tYWluLmMtNDAzOC17XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjU0LjQxODgwNjYyMloiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozOTk2NTI4MTU1LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUENJIERyaXZlciBQcm9iZSBQYXRoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBQQ0kgZHJpdmVyIHByb2JlIHBhdGguIEludGVyZXN0aW5nLiBNeSBpbml0aWFsIHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhpcyBjb2RlIHBhdGggaXMgZXZlbiByZWxldmFudCBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50LiBDYW4gc3l6a2FsbGVyIHJlYWNoIGl0PyBPaCwgcmlnaHQsIG9mIGNvdXJzZSEgU3l6a2FsbGVyICpjYW4qIGZ1enogUENJIGRldmljZXMuIFRoYXQncyBhIGNydWNpYWwgcG9pbnQsIGFuZCBpdCBzdWdnZXN0cyB0aGlzIGlzIGEgcGF0aCB3b3J0aCBleHBsb3JpbmcuIE5vdywgdG8gZ2V0IHRoZSBjb21wbGV0ZSBwaWN0dXJlLCBJIG5lZWQgdG8gY2hlY2sgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gTGV0J3Mgc2VlLi4uIEknbGwgZGl2ZSBpbnRvIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW8vS2NvbmZpZ2AgdG8gc2VlIHRoZSBjb25maWcgb3B0aW9ucy4gVGhhdCBzaG91bGQgZ2l2ZSBtZSB0aGUga2V5IGRlcGVuZGVuY2llcyBhbmQgcmV2ZWFsIHRoZSBjb25maWd1cmF0aW9uIG5lZWRlZCB0byBlbmFibGUgdGhpcyBkcml2ZXIuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUwMDQsIk91dHB1dFRva2VucyI6MzksIk91dHB1dFRob3VnaHRzVG9rZW5zIjo1NiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxODo1OC40MTUzMzcwMTdaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYxMjAyMDI4LCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgTElRVUlESU9cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVpZGlvL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE4OjU4LjQ3NjU0OTY3NVoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMTg3MDAyNTczLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGUgdGhvdWdodCBwcm9jZXNzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBhbmQgd3JpdHRlbiBpbiB0aGUgZmlyc3QgcGVyc29uOlxuXG4qKk5hdmlnYXRpbmcgdGhlIERpZ2l0YWwgTGFuZHNjYXBlOiBJbml0aWFsIEFzc2Vzc21lbnQqKlxuXG5BbHJpZ2h0LCBsZXQncyBzdGFydCB3aXRoIHRoZSBiYXNpY3MuIE15IGZpcnN0IGluc3RpbmN0LCBnaXZlbiB0aGUgY29udGV4dCAod2hpY2ggSSdtIGFzc3VtaW5nIGlzIGEgZGlnaXRhbCBlbnZpcm9ubWVudCwgbGlrZWx5IGEgcHJvamVjdCBvciBzeXN0ZW0gSSdtIGZhbWlsaWFyIHdpdGgpLCBpcyB0byBjaGVjayB0aGUgZGlyZWN0b3J5LiBUaGlzIGlzIHN0YW5kYXJkIHByb2NlZHVyZSwgcmVhbGx5LiBJdCdzIHRoZSBncm91bmRpbmcgcG9pbnQsIHRoZSBtYXAuIEkgbmVlZCB0byBnZXQgYSBsYXkgb2YgdGhlIGxhbmQsIHNlZSB3aGF0IGZpbGVzIGFuZCBmb2xkZXJzIGFyZSBwcmVzZW50LlxuXG5XaHk/IFdlbGwsIGRlcGVuZGluZyBvbiB0aGUgc3BlY2lmaWNzLCBpdCBjb3VsZCBiZSBmb3IgYSBmZXcgcmVhc29ucy4gTWF5YmUgSSdtIHRyeWluZyB0byBsb2NhdGUgYSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZpbGUsIGEgZGF0YXNldCwgYSBzY3JpcHQgSSBuZWVkIHRvIG1vZGlmeSwgb3IganVzdCBnZW5lcmFsbHkgdW5kZXJzdGFuZCB0aGUgY3VycmVudCBvcmdhbml6YXRpb25hbCBzdHJ1Y3R1cmUuIFdpdGhvdXQga25vd2luZyB0aGUgc2NvcGUgZnVydGhlciBJJ20gbG9va2luZyBmb3IgYSBwb2ludCB0byBzdGFydCB3aXRoLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1MjY0LCJPdXRwdXRUb2tlbnMiOjMwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QxNDoxOTowMS42NjM1NTQ2NzhaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiY29kZXNlYXJjaC1kaXItaW5kZXgiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDQ4ODAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJEaXJcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vbGlxdWlkaW9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRmlsZXNcIjogW1xuICAgIFwiY24yM3h4X3BmX2RldmljZS5jXCIsXG4gICAgXCJjbjIzeHhfcGZfZGV2aWNlLmhcIixcbiAgICBcImNuMjN4eF9wZl9yZWdzLmhcIixcbiAgICBcImNuMjN4eF92Zl9kZXZpY2UuY1wiLFxuICAgIFwiY24yM3h4X3ZmX2RldmljZS5oXCIsXG4gICAgXCJjbjIzeHhfdmZfcmVncy5oXCIsXG4gICAgXCJjbjY2eHhfZGV2aWNlLmNcIixcbiAgICBcImNuNjZ4eF9kZXZpY2UuaFwiLFxuICAgIFwiY242Nnh4X3JlZ3MuaFwiLFxuICAgIFwiY242OHh4X2RldmljZS5jXCIsXG4gICAgXCJjbjY4eHhfZGV2aWNlLmhcIixcbiAgICBcImNuNjh4eF9yZWdzLmhcIixcbiAgICBcImxpb19jb3JlLmNcIixcbiAgICBcImxpb19ldGh0b29sLmNcIixcbiAgICBcImxpb19tYWluLmNcIixcbiAgICBcImxpb192Zl9tYWluLmNcIixcbiAgICBcImxpb192Zl9yZXAuY1wiLFxuICAgIFwibGlvX3ZmX3JlcC5oXCIsXG4gICAgXCJsaXF1aWRpb19jb21tb24uaFwiLFxuICAgIFwibGlxdWlkaW9faW1hZ2UuaFwiLFxuICAgIFwib2N0ZW9uX2NvbmZpZy5oXCIsXG4gICAgXCJvY3Rlb25fY29uc29sZS5jXCIsXG4gICAgXCJvY3Rlb25fZGV2aWNlLmNcIixcbiAgICBcIm9jdGVvbl9kZXZpY2UuaFwiLFxuICAgIFwib2N0ZW9uX2Ryb3EuY1wiLFxuICAgIFwib2N0ZW9uX2Ryb3EuaFwiLFxuICAgIFwib2N0ZW9uX2lxLmhcIixcbiAgICBcIm9jdGVvbl9tYWlsYm94LmNcIixcbiAgICBcIm9jdGVvbl9tYWlsYm94LmhcIixcbiAgICBcIm9jdGVvbl9tYWluLmhcIixcbiAgICBcIm9jdGVvbl9tZW1fb3BzLmNcIixcbiAgICBcIm9jdGVvbl9tZW1fb3BzLmhcIixcbiAgICBcIm9jdGVvbl9uZXR3b3JrLmhcIixcbiAgICBcIm9jdGVvbl9uaWMuY1wiLFxuICAgIFwib2N0ZW9uX25pYy5oXCIsXG4gICAgXCJyZXF1ZXN0X21hbmFnZXIuY1wiLFxuICAgIFwicmVzcG9uc2VfbWFuYWdlci5jXCIsXG4gICAgXCJyZXNwb25zZV9tYW5hZ2VyLmhcIlxuICBdLFxuICBcIlN1YmRpcnNcIjogbnVsbFxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTk6MDEuNjYzNjYwOTk4WiIsIlNlcSI6MTUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM0NTA0OTQ4MDcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBrZWVwaW5nIGluIG1pbmQgSSdtIHNwZWFraW5nIHRvIGEgZmVsbG93IGV4cGVydDpcblxuKipUaGUgSHVudCBmb3IgdGhlIENvbmZpZ3VyYXRpb24qKlxuXG5BbHJpZ2h0LCBob2xkIG9uIGEgc2Vjb25kLiBJJ20ga25lZS1kZWVwIGluIHRoaXMgY29kZSwgdHJ5aW5nIHRvIG1ha2Ugc29tZSBzZW5zZSBvZiB0aGVzZSBkZXBlbmRlbmNpZXMsIGFuZCBzdWRkZW5seSBJIGhpdCBhIHNuYWcuIFdoZXJlIHRoZSAqaGVjayogaXMgdGhlIEtjb25maWcgZmlsZT8gSSdtIG1pc3Npbmcgc29tZXRoaW5nIGZ1bmRhbWVudGFsIGhlcmUuIFRoaXMgcHJvamVjdCBpcyBzbyBodWdlLCB0aGF0IGl0J3MgZWFzeSB0byBnZXQgbG9zdC4gSXQgaXMgdXN1YWxseSByaWdodCB0aGVyZSwgYnV0IG5vdCB0aGlzIHRpbWUuIEkgYW0gZ29pbmcgdG8gaGF2ZSB0byBkbyBzb21lIGRpZ2dpbmcsIGFuZCBob3BlZnVsbHksIGl0IGlzIG5vdCBidXJpZWQgdG9vIGZhciBkb3duLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1ODk2LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OCwiVG9vbENhbGxzIjpbImNvZGVzZWFyY2gtZGlyLWluZGV4Il19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTk6MDUuMTE0MTU4MTk0WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1ODA4NTA1OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJsaXF1aWRpb1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZz02OD1jb25maWcgTElRVUlESU9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTgxLVxcdCAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnOjgyOlxcdCAgd2lsbCBiZSBjYWxsZWQgbGlxdWlkaW8uICBUaGlzIGlzIHJlY29tbWVuZGVkLlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9LY29uZmlnLTgzLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWc9OTU9Y29uZmlnIExJUVVJRElPX1ZGXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9jYXZpdW0vS2NvbmZpZy0xMDQtXFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiBUaGUgbW9kdWxlXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWc6MTA1OlxcdCAgd2lsbCBiZSBjYWxsZWQgbGlxdWlkaW9fdmYuIE1TSS1YIGludGVycnVwdCBzdXBwb3J0IGlzIHJlcXVpcmVkXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL0tjb25maWctMTA2LVxcdCAgZm9yIHRoaXMgZHJpdmVyIHRvIHdvcmsgY29ycmVjdGx5XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDE0OjE5OjA1LjE3MjI1MDAxM1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NTg2NDMxNDQyLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkZ1enppbmcgU3RyYXRlZ3kgZm9yIExpcXVpZGlvIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIHRoZSBjb25maWcgaXMgYExJUVVJRElPYCwgYW5kIHRoZXJlJ3MgYSBwYXRjaCB0aGF0IGFkZHMgYSBOVUxMIGNoZWNrIGFuZCByZXR1cm5zIGAtRU5PTUVNYCBpbiBgc2V0dXBfbmljX2RldmljZXNgLiBNeSBpbml0aWFsIGluc3RpbmN0IGlzIHRvIGFzc2VzcyBpZiB0aGlzIGlzIGZ1enphYmxlLiBBYnNvbHV0ZWx5LCBpdCdzIGEgZnVuY3Rpb25hbCBjaGFuZ2Ugd2l0aGluIGEgUENJIGRyaXZlciwgbWFraW5nIGl0IGEgZ29vZCBjYW5kaWRhdGUuIFRoZSBwcmltYXJ5IGZvY3VzIGluaXRpYWxseSB3YXMgYHNldHVwX25pY19kZXZpY2VzYC5cblxuV2FpdCBhIG1pbnV0ZSwgYHNldHVwX25pY19kZXZpY2VzYCBpcyBkZWNsYXJlZCBhcyBzdGF0aWMuIFRoaXMgbWFrZXMgbWUgd2FudCB0byBjaGVjayB3aGV0aGVyIGl04oCZcyBhIGhvdC1wYXRoIGZ1bmN0aW9uLiBBZnRlciB0cmFjaW5nIHRoZSBjYWxsIGNoYWluLCBpdCBhcHBlYXJzIGBzZXR1cF9uaWNfZGV2aWNlc2AgaXMgY2FsbGVkIGR1cmluZyBpbml0aWFsaXphdGlvbi4gU3BlY2lmaWNhbGx5LCB3aXRoaW4gYGxpcXVpZGlvX2luaXRfbmljX21vZHVsZWAgd2hpY2ggY2FsbHMgYG5pY19zdGFydGVyYCwgYW5kIHRoZW4gYG9jdGVvbl9kZXZpY2VfaW5pdGAsIGV2ZW50dWFsbHkgY2FsbGluZyBgbGlxdWlkaW9fcHJvYmVgLiBTaW5jZSBpdCBpc24ndCBkaXJlY3RseSBpbiBhIGhvdCBwYXRoLCB0aGlzIGlzIGxlc3MgaW50ZXJlc3RpbmcgZm9yIGZvY3VzZWQgZnV6emluZy5cblxuTGV0IG1lIHJlYXNzZXNzLiBHaXZlbiB0aGF0IGBzZXR1cF9uaWNfZGV2aWNlc2AgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgd2FzIG1vZGlmaWVkLCBhbmQgYGxpcXVpZGlvX3Byb2JlYCBhcHBlYXJzIHRvIGJlIHRoZSBlbnRyeSBwb2ludCB0byB0aGUgZHJpdmVyLCBJIGNhbiBmb2N1cyBmdXp6aW5nIGVmZm9ydHMgb24gYHNldHVwX25pY19kZXZpY2VzYCBhbmQgdGhlIGBsaXF1aWRpb19wcm9iZWAgYXMgcG90ZW50aWFsIHRhcmdldCBmdW5jdGlvbnMuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjYzMTAsIk91dHB1dFRva2VucyI6OTYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMTQ6MTk6MTAuNzU4NjgzNzU1WiIsIlNlcSI6MTgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODMxNjcwMTgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkxJUVVJRElPXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwic2V0dXBfbmljX2RldmljZXNcIixcbiAgICBcImxpcXVpZGlvX3Byb2JlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgY2hlY2sgZm9yIGEgbWVtb3J5IGFsbG9jYXRpb24gaW4gdGhlIFBDSSBkcml2ZXIncyBpbml0aWFsaXphdGlvbiBwYXRoIChgc2V0dXBfbmljX2RldmljZXNgKS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGEgcmVhY2hhYmxlIGRyaXZlciBwcm9iZSBwYXRoLCB3aGljaCBjYW4gYmUgdGVzdGVkIHZpYSBQQ0kgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJMSVFVSURJT1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInNldHVwX25pY19kZXZpY2VzXCIsXG4gICAgXCJsaXF1aWRpb19wcm9iZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBOVUxMIGNoZWNrIGZvciBhIG1lbW9yeSBhbGxvY2F0aW9uIGluIHRoZSBQQ0kgZHJpdmVyJ3MgaW5pdGlhbGl6YXRpb24gcGF0aCAoYHNldHVwX25pY19kZXZpY2VzYCkuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBhIHJlYWNoYWJsZSBkcml2ZXIgcHJvYmUgcGF0aCwgd2hpY2ggY2FuIGJlIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowkkxdf[1] Phase: Succeeded StartedAt: 2026-06-23 14:19:21 +0000 UTC FinishedAt: 2026-06-23 14:19:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-06-23 14:19:21 +0000 UTC FinishedAt: 2026-06-23 14:19:21 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2] Phase: Succeeded StartedAt: 2026-06-23 14:19:21 +0000 UTC FinishedAt: 2026-06-23 15:29:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-06-23 14:19:21 +0000 UTC FinishedAt: 2026-06-23 15:29:51 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-06-23 14:19:21 +0000 UTC FinishedAt: 2026-06-23 14:19:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-06-23 14:19:21 +0000 UTC FinishedAt: 2026-06-23 14:19:26 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkkxdf/series-workflowkkxdf-convert-artifact-474968180/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-06-23 14:19:31 +0000 UTC FinishedAt: 2026-06-23 14:49:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-06-23 14:19:31 +0000 UTC FinishedAt: 2026-06-23 14:49:56 +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:*8a116e86-c499-4c41-a003-7715e6284a6a,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-workflowkkxdf/series-workflowkkxdf-convert-artifact-474968180/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": "4f4813d5-9e98-4d83-820e-d24d54eb00a7", "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-workflowkkxdf/series-workflowkkxdf-build-action-368661874/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-06-23 14:19:31 +0000 UTC FinishedAt: 2026-06-23 14:49:45 +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:*8a116e86-c499-4c41-a003-7715e6284a6a,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-workflowkkxdf/series-workflowkkxdf-convert-artifact-474968180/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": "4f4813d5-9e98-4d83-820e-d24d54eb00a7", "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-workflowkkxdf/series-workflowkkxdf-build-action-368661874/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-06-23 14:49:56 +0000 UTC FinishedAt: 2026-06-23 14:49:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-06-23 14:49:56 +0000 UTC FinishedAt: 2026-06-23 14:49:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-06-23 14:49:56 +0000 UTC FinishedAt: 2026-06-23 14:50:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-06-23 14:49:56 +0000 UTC FinishedAt: 2026-06-23 14:50:05 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowkkxdf/series-workflowkkxdf-convert-artifact-2632019251/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-06-23 14:50:19 +0000 UTC FinishedAt: 2026-06-23 14:52:16 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-06-23 14:50:19 +0000 UTC FinishedAt: 2026-06-23 14:52:05 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4f4813d5-9e98-4d83-820e-d24d54eb00a7,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-workflowkkxdf/series-workflowkkxdf-build-action-368661874/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-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-06-23 14:52:16 +0000 UTC FinishedAt: 2026-06-23 14:52:16 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-06-23 14:52:16 +0000 UTC FinishedAt: 2026-06-23 14:52:16 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-06-23 14:52:16 +0000 UTC FinishedAt: 2026-06-23 15:23:09 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-06-23 14:52:16 +0000 UTC FinishedAt: 2026-06-23 15:23:09 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*8a116e86-c499-4c41-a003-7715e6284a6a,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-workflowkkxdf/series-workflowkkxdf-convert-artifact-2632019251/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": "de636fde-e561-4ccf-9930-ffea4651bd4e", "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-workflowkkxdf/series-workflowkkxdf-build-action-1287812583/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-06-23 14:52:16 +0000 UTC FinishedAt: 2026-06-23 15:22:58 +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:*8a116e86-c499-4c41-a003-7715e6284a6a,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-workflowkkxdf/series-workflowkkxdf-convert-artifact-2632019251/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": "de636fde-e561-4ccf-9930-ffea4651bd4e", "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-workflowkkxdf/series-workflowkkxdf-build-action-1287812583/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-06-23 15:23:09 +0000 UTC FinishedAt: 2026-06-23 15:23:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-06-23 15:23:10 +0000 UTC FinishedAt: 2026-06-23 15:23:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-06-23 15:23:10 +0000 UTC FinishedAt: 2026-06-23 15:25:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-06-23 15:23:10 +0000 UTC FinishedAt: 2026-06-23 15:25:02 +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:*de636fde-e561-4ccf-9930-ffea4651bd4e,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-workflowkkxdf/series-workflowkkxdf-build-action-1287812583/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-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-06-23 15:25:17 +0000 UTC FinishedAt: 2026-06-23 15:29:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-06-23 15:25:17 +0000 UTC FinishedAt: 2026-06-23 15:29:51 +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":["setup_nic_devices","liquidio_probe"],"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:*4f4813d5-9e98-4d83-820e-d24d54eb00a7,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*de636fde-e561-4ccf-9930-ffea4651bd4e,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-workflowkkxdf/series-workflowkkxdf-build-action-368661874/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-workflowkkxdf/series-workflowkkxdf-build-action-1287812583/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-06-23 15:25:17 +0000 UTC FinishedAt: 2026-06-23 15:28:35 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-06-23 15:25:17 +0000 UTC FinishedAt: 2026-06-23 15:25:41 +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":["setup_nic_devices","liquidio_probe"],"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-workflowkkxdf/series-workflowkkxdf-convert-artifact-1900109100/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-06-23 15:25:17 +0000 UTC FinishedAt: 2026-06-23 15:25:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-06-23 15:25:17 +0000 UTC FinishedAt: 2026-06-23 15:25:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-06-23 15:25:18 +0000 UTC FinishedAt: 2026-06-23 15:25:18 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-06-23 15:28:35 +0000 UTC FinishedAt: 2026-06-23 15:29:51 +0000 UTC Input: nil Output: nil --------- Name: series-workflowkkxdf[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["setup_nic_devices","liquidio_probe"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"502d801f0ab03e4f32f9a33d203154ce84887921","config_name":"upstream-apparmor-kasan.config","enable_configs":["LIQUIDIO"],"series_id":"fb4abea5-59a8-4739-a410-618eff2ffb64","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-06-23 15:28:35 +0000 UTC FinishedAt: 2026-06-23 15:29:44 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*4f4813d5-9e98-4d83-820e-d24d54eb00a7,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*de636fde-e561-4ccf-9930-ffea4651bd4e,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-workflowkkxdf/series-workflowkkxdf-build-action-368661874/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-workflowkkxdf/series-workflowkkxdf-build-action-1287812583/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-workflowkkxdf/series-workflowkkxdf-convert-artifact-1900109100/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,}