Name: series-workflowsbtsd Phase: Succeeded StartedAt: 2026-07-12 00:11:14 +0000 UTC FinishedAt: 2026-07-12 05:28:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[0] Phase: Succeeded StartedAt: 2026-07-12 00:11:14 +0000 UTC FinishedAt: 2026-07-12 00:29:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[0].run-triage Phase: Succeeded StartedAt: 2026-07-12 00:11:14 +0000 UTC FinishedAt: 2026-07-12 00:29:38 +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": "44696aa3a489d2baf58efa61b37833f100072bee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "EROFS_FS", "EROFS_FS_BACKED_BY_FILE" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "44696aa3a489d2baf58efa61b37833f100072bee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "EROFS_FS", "EROFS_FS_BACKED_BY_FILE" ], "series_id": "0a2f8c99-b435-4119-a6af-0f2cea40d98c" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "erofs_fc_parse_param", "erofs_fc_get_tree" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDAwOjI5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0VST0ZTX0ZTJiMzNDssCiAgICAmIzM0O0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZXJvZnNfZmNfcGFyc2VfcGFyYW0mIzM0OywKICAgICYjMzQ7ZXJvZnNfZmNfZ2V0X3RyZWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24gJiMzOTtzb3VyY2UmIzM5OyBmb3IgRVJPRlMgdGhhdCB0YWtlcyBhIGZpbGUgZGVzY3JpcHRvciwgYWxsb3dpbmcgbW91bnRpbmcgRVJPRlMgZGlyZWN0bHkgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtb3VudCBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDA6Mjk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA1MjY5MGI5MmJmODY5ZjcyYTAwYjA0Mzg3NTE2MTViNmVmNGM5M2M4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFN1biBKdWwgMTIgMDA6Mjk6MDMgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZnMvZXJvZnMvc3VwZXIuYyBiL2ZzL2Vyb2ZzL3N1cGVyLmNcbmluZGV4IDg2ZmE1YzZhMGM3MDg3Li4zMDQwZDRjZjliODU2ZiAxMDA2NDRcbi0tLSBhL2ZzL2Vyb2ZzL3N1cGVyLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2ZzL2Vyb2ZzL3N1cGVyLmNcbkBAIC0zODYsNiAmIzQzOzM4Niw3IEBAIHN0YXRpYyB2b2lkIGVyb2ZzX2RlZmF1bHRfb3B0aW9ucyhzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpKVxuIGVudW0ge1xuIFx0T3B0X3VzZXJfeGF0dHIsIE9wdF9hY2wsIE9wdF9jYWNoZV9zdHJhdGVneSwgT3B0X2RheCwgT3B0X2RheF9lbnVtLFxuIFx0T3B0X2RldmljZSwgT3B0X2RvbWFpbl9pZCwgT3B0X2RpcmVjdGlvLCBPcHRfZnNvZmZzZXQsIE9wdF9pbm9kZV9zaGFyZSxcbiYjNDM7XHRPcHRfc291cmNlX2ZkLFxuIH07XG4gXG4gc3RhdGljIGNvbnN0IHN0cnVjdCBjb25zdGFudF90YWJsZSBlcm9mc19wYXJhbV9jYWNoZV9zdHJhdGVneVtdID0ge1xuQEAgLTQxMyw2ICYjNDM7NDE0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmc19wYXJhbWV0ZXJfc3BlYyBlcm9mc19mc19wYXJhbWV0ZXJzW10gPSB7XG4gXHRmc3BhcmFtX2ZsYWdfbm8oXCYjMzQ7ZGlyZWN0aW9cJiMzNDssXHRPcHRfZGlyZWN0aW8pLFxuIFx0ZnNwYXJhbV91NjQoXCYjMzQ7ZnNvZmZzZXRcJiMzNDssXHRcdE9wdF9mc29mZnNldCksXG4gXHRmc3BhcmFtX2ZsYWcoXCYjMzQ7aW5vZGVfc2hhcmVcJiMzNDssXHRPcHRfaW5vZGVfc2hhcmUpLFxuJiM0MztcdGZzcGFyYW1fZmQoXCYjMzQ7c291cmNlXCYjMzQ7LFx0XHRPcHRfc291cmNlX2ZkKSxcbiBcdHt9XG4gfTtcbiBcbkBAIC01MjQsNiAmIzQzOzUyNiwxMSBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX3BhcnNlX3BhcmFtKHN0cnVjdCBmc19jb250ZXh0ICpmYyxcbiBcdFx0ZWxzZVxuIFx0XHRcdHNldF9vcHQoXHUwMDI2c2JpLVx1MDAzZW9wdCwgSU5PREVfU0hBUkUpO1xuIFx0XHRicmVhaztcbiYjNDM7XHRjYXNlIE9wdF9zb3VyY2VfZmQ6XG4mIzQzO1x0XHRpZiAoc2JpLVx1MDAzZWRpZjAuZmlsZSlcbiYjNDM7XHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4mIzQzO1x0XHRzYmktXHUwMDNlZGlmMC5maWxlID0gZ2V0X2ZpbGUocGFyYW0tXHUwMDNlZmlsZSk7XG4mIzQzO1x0XHRicmVhaztcbiBcdH1cbiBcdHJldHVybiAwO1xuIH1cbkBAIC03NTIsMTQgJiM0Mzs3NTksMTggQEAgc3RhdGljIGludCBlcm9mc19mY19maWxsX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBmc19jb250ZXh0ICpmYylcbiBcbiBzdGF0aWMgaW50IGVyb2ZzX2ZjX2dldF90cmVlKHN0cnVjdCBmc19jb250ZXh0ICpmYylcbiB7XG4tXHRpbnQgcmV0O1xuJiM0MztcdHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkgPSBmYy1cdTAwM2VzX2ZzX2luZm87XG4mIzQzO1x0c3RydWN0IGZpbGUgKmZpbGUgPSBzYmktXHUwMDNlZGlmMC5maWxlO1xuIFxuLVx0cmV0ID0gZ2V0X3RyZWVfYmRldl9mbGFncyhmYywgZXJvZnNfZmNfZmlsbF9zdXBlcixcbi1cdFx0SVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpID9cbi1cdFx0XHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xuLVx0aWYgKElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSBcdTAwMjZcdTAwMjYgcmV0ID09IC1FTk9UQkxLKSB7XG4tXHRcdHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkgPSBmYy1cdTAwM2VzX2ZzX2luZm87XG4tXHRcdHN0cnVjdCBmaWxlICpmaWxlO1xuJiM0MztcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8ICFmaWxlKSB7XG4mIzQzO1x0XHRpbnQgcmV0O1xuJiM0MztcbiYjNDM7XHRcdHJldCA9IGdldF90cmVlX2JkZXZfZmxhZ3MoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIsXG4mIzQzO1x0XHRcdElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSA/XG4mIzQzO1x0XHRcdFx0R0VUX1RSRUVfQkRFVl9RVUlFVF9MT09LVVAgOiAwKTtcbiYjNDM7XHRcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8XG4mIzQzO1x0XHQgICAgcmV0ICE9IC1FTk9UQkxLKVxuJiM0MztcdFx0XHRyZXR1cm4gcmV0O1xuIFxuIFx0XHRpZiAoIWZjLVx1MDAzZXNvdXJjZSlcbiBcdFx0XHRyZXR1cm4gaW52YWxmKGZjLCBcJiMzNDtObyBzb3VyY2Ugc3BlY2lmaWVkXCYjMzQ7KTtcbkBAIC03NjcsMTIgJiM0Mzs3NzgsMTMgQEAgc3RhdGljIGludCBlcm9mc19mY19nZXRfdHJlZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXG4gXHRcdGlmIChJU19FUlIoZmlsZSkpXG4gXHRcdFx0cmV0dXJuIFBUUl9FUlIoZmlsZSk7XG4gXHRcdHNiaS1cdTAwM2VkaWYwLmZpbGUgPSBmaWxlO1xuLVxuLVx0XHRpZiAoU19JU1JFRyhmaWxlX2lub2RlKHNiaS1cdTAwM2VkaWYwLmZpbGUpLVx1MDAzZWlfbW9kZSkgXHUwMDI2XHUwMDI2XG4tXHRcdCAgICBzYmktXHUwMDNlZGlmMC5maWxlLVx1MDAzZWZfbWFwcGluZy1cdTAwM2VhX29wcy1cdTAwM2VyZWFkX2ZvbGlvKVxuLVx0XHRcdHJldHVybiBnZXRfdHJlZV9ub2RldihmYywgZXJvZnNfZmNfZmlsbF9zdXBlcik7XG4gXHR9XG4tXHRyZXR1cm4gcmV0O1xuJiM0MztcdGlmICghU19JU1JFRyhmaWxlX2lub2RlKGZpbGUpLVx1MDAzZWlfbW9kZSkgfHxcbiYjNDM7XHQgICAgIWZpbGUtXHUwMDNlZl9tYXBwaW5nLVx1MDAzZWFfb3BzLVx1MDAzZXJlYWRfZm9saW8pIHtcbiYjNDM7XHRcdGVycm9yZmMoZmMsIFwmIzM0O3NvdXJjZSBpcyB1bnN1cHBvcnRlZFwmIzM0Oyk7XG4mIzQzO1x0XHRyZXR1cm4gLUVJTlZBTDtcbiYjNDM7XHR9XG4mIzQzO1x0cmV0dXJuIGdldF90cmVlX25vZGV2KGZjLCBlcm9mc19mY19maWxsX3N1cGVyKTtcbiB9XG4gXG4gc3RhdGljIGludCBlcm9mc19mY19yZWNvbmZpZ3VyZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDA6Mjk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7RVJPRlNfRlMmIzM0OywKICAgICYjMzQ7RVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtlcm9mc19mY19wYXJzZV9wYXJhbSYjMzQ7LAogICAgJiMzNDtlcm9mc19mY19nZXRfdHJlZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1vdW50IG9wdGlvbiAmIzM5O3NvdXJjZSYjMzk7IGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNTI2OTBiOTJiZjg2OWY3MmEwMGIwNDM4NzUxNjE1YjZlZjRjOTNjOApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBTdW4gSnVsIDEyIDAwOjI5OjAzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZnMvZXJvZnMvc3VwZXIuYyBiL2ZzL2Vyb2ZzL3N1cGVyLmMKaW5kZXggODZmYTVjNmEwYzcwODcuLjMwNDBkNGNmOWI4NTZmIDEwMDY0NAotLS0gYS9mcy9lcm9mcy9zdXBlci5jCiYjNDM7JiM0MzsmIzQzOyBiL2ZzL2Vyb2ZzL3N1cGVyLmMKQEAgLTM4Niw2ICYjNDM7Mzg2LDcgQEAgc3RhdGljIHZvaWQgZXJvZnNfZGVmYXVsdF9vcHRpb25zKHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkpCiBlbnVtIHsKIAlPcHRfdXNlcl94YXR0ciwgT3B0X2FjbCwgT3B0X2NhY2hlX3N0cmF0ZWd5LCBPcHRfZGF4LCBPcHRfZGF4X2VudW0sCiAJT3B0X2RldmljZSwgT3B0X2RvbWFpbl9pZCwgT3B0X2RpcmVjdGlvLCBPcHRfZnNvZmZzZXQsIE9wdF9pbm9kZV9zaGFyZSwKJiM0MzsJT3B0X3NvdXJjZV9mZCwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29uc3RhbnRfdGFibGUgZXJvZnNfcGFyYW1fY2FjaGVfc3RyYXRlZ3lbXSA9IHsKQEAgLTQxMyw2ICYjNDM7NDE0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmc19wYXJhbWV0ZXJfc3BlYyBlcm9mc19mc19wYXJhbWV0ZXJzW10gPSB7CiAJZnNwYXJhbV9mbGFnX25vKCYjMzQ7ZGlyZWN0aW8mIzM0OywJT3B0X2RpcmVjdGlvKSwKIAlmc3BhcmFtX3U2NCgmIzM0O2Zzb2Zmc2V0JiMzNDssCQlPcHRfZnNvZmZzZXQpLAogCWZzcGFyYW1fZmxhZygmIzM0O2lub2RlX3NoYXJlJiMzNDssCU9wdF9pbm9kZV9zaGFyZSksCiYjNDM7CWZzcGFyYW1fZmQoJiMzNDtzb3VyY2UmIzM0OywJCU9wdF9zb3VyY2VfZmQpLAogCXt9CiB9OwogCkBAIC01MjQsNiAmIzQzOzUyNiwxMSBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX3BhcnNlX3BhcmFtKHN0cnVjdCBmc19jb250ZXh0ICpmYywKIAkJZWxzZQogCQkJc2V0X29wdCgmYW1wO3NiaS0mZ3Q7b3B0LCBJTk9ERV9TSEFSRSk7CiAJCWJyZWFrOwomIzQzOwljYXNlIE9wdF9zb3VyY2VfZmQ6CiYjNDM7CQlpZiAoc2JpLSZndDtkaWYwLmZpbGUpCiYjNDM7CQkJcmV0dXJuIC1FSU5WQUw7CiYjNDM7CQlzYmktJmd0O2RpZjAuZmlsZSA9IGdldF9maWxlKHBhcmFtLSZndDtmaWxlKTsKJiM0MzsJCWJyZWFrOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTc1MiwxNCAmIzQzOzc1OSwxOCBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX2ZpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGZzX2NvbnRleHQgKmZjKQogCiBzdGF0aWMgaW50IGVyb2ZzX2ZjX2dldF90cmVlKHN0cnVjdCBmc19jb250ZXh0ICpmYykKIHsKLQlpbnQgcmV0OwomIzQzOwlzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpID0gZmMtJmd0O3NfZnNfaW5mbzsKJiM0MzsJc3RydWN0IGZpbGUgKmZpbGUgPSBzYmktJmd0O2RpZjAuZmlsZTsKIAotCXJldCA9IGdldF90cmVlX2JkZXZfZmxhZ3MoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIsCi0JCUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSA/Ci0JCQlHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApOwotCWlmIChJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgJmFtcDsmYW1wOyByZXQgPT0gLUVOT1RCTEspIHsKLQkJc3RydWN0IGVyb2ZzX3NiX2luZm8gKnNiaSA9IGZjLSZndDtzX2ZzX2luZm87Ci0JCXN0cnVjdCBmaWxlICpmaWxlOwomIzQzOwlpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSB8fCAhZmlsZSkgewomIzQzOwkJaW50IHJldDsKJiM0MzsKJiM0MzsJCXJldCA9IGdldF90cmVlX2JkZXZfZmxhZ3MoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIsCiYjNDM7CQkJSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpID8KJiM0MzsJCQkJR0VUX1RSRUVfQkRFVl9RVUlFVF9MT09LVVAgOiAwKTsKJiM0MzsJCWlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8CiYjNDM7CQkgICAgcmV0ICE9IC1FTk9UQkxLKQomIzQzOwkJCXJldHVybiByZXQ7CiAKIAkJaWYgKCFmYy0mZ3Q7c291cmNlKQogCQkJcmV0dXJuIGludmFsZihmYywgJiMzNDtObyBzb3VyY2Ugc3BlY2lmaWVkJiMzNDspOwpAQCAtNzY3LDEyICYjNDM7Nzc4LDEzIEBAIHN0YXRpYyBpbnQgZXJvZnNfZmNfZ2V0X3RyZWUoc3RydWN0IGZzX2NvbnRleHQgKmZjKQogCQlpZiAoSVNfRVJSKGZpbGUpKQogCQkJcmV0dXJuIFBUUl9FUlIoZmlsZSk7CiAJCXNiaS0mZ3Q7ZGlmMC5maWxlID0gZmlsZTsKLQotCQlpZiAoU19JU1JFRyhmaWxlX2lub2RlKHNiaS0mZ3Q7ZGlmMC5maWxlKS0mZ3Q7aV9tb2RlKSAmYW1wOyZhbXA7Ci0JCSAgICBzYmktJmd0O2RpZjAuZmlsZS0mZ3Q7Zl9tYXBwaW5nLSZndDthX29wcy0mZ3Q7cmVhZF9mb2xpbykKLQkJCXJldHVybiBnZXRfdHJlZV9ub2RldihmYywgZXJvZnNfZmNfZmlsbF9zdXBlcik7CiAJfQotCXJldHVybiByZXQ7CiYjNDM7CWlmICghU19JU1JFRyhmaWxlX2lub2RlKGZpbGUpLSZndDtpX21vZGUpIHx8CiYjNDM7CSAgICAhZmlsZS0mZ3Q7Zl9tYXBwaW5nLSZndDthX29wcy0mZ3Q7cmVhZF9mb2xpbykgewomIzQzOwkJZXJyb3JmYyhmYywgJiMzNDtzb3VyY2UgaXMgdW5zdXBwb3J0ZWQmIzM0Oyk7CiYjNDM7CQlyZXR1cm4gLUVJTlZBTDsKJiM0MzsJfQomIzQzOwlyZXR1cm4gZ2V0X3RyZWVfbm9kZXYoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIpOwogfQogCiBzdGF0aWMgaW50IGVyb2ZzX2ZjX3JlY29uZmlndXJlKHN0cnVjdCBmc19jb250ZXh0ICpmYykKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDA6Mjk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjc2MQoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDMyMgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFUk9GUyBNb3VudCBMb2dpYyAmYW1wOyBGdXp6aW5nIFN0cmF0ZWd5KioKCk9rYXksIHNvIEkmIzM5O3ZlIGJlZW4gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZnMvZXJvZnMvc3VwZXIuY2AuIEl0JiMzOTtzIHByZXR0eSBzdHJhaWdodGZvcndhcmQsIGJ1dCBpdCYjMzk7cyBhZGRpbmcgc29tZSBpbnRlcmVzdGluZyBuZXcgbW91bnQgZnVuY3Rpb25hbGl0eS4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCAmIzM0O1RoaXMgaXMgZ29vZCwgbGV0JiMzOTtzIGxvb2sgYXQgdGhlIGltcGxpY2F0aW9ucyYjMzQ7LgoKRXNzZW50aWFsbHksIGl0JiMzOTtzIGludHJvZHVjaW5nIGEgbmV3IG1vdW50IG9wdGlvbiwgYHNvdXJjZWAsIHdoaWNoIGFjY2VwdHMgYSBmaWxlIGRlc2NyaXB0b3IgKGBPcHRfc291cmNlX2ZkYCkuIFJhdGhlciB0aGFuIHJlYWRpbmcgdGhlIEVST0ZTIGltYWdlIGZyb20gYSBmaWxlIHBhdGgsIHdlJiMzOTtyZSBub3cgYWJsZSB0byBtb3VudCBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBMb29raW5nIGF0IHRoZSBjb2RlLCBgZXJvZnNfZmNfcGFyc2VfcGFyYW1gIGlzIG1vZGlmaWVkIHRvIHBhcnNlIHRoZSBtb3VudCBvcHRpb25zIGFuZCBzdG9yZXMgdGhlIGZpbGUgZGVzY3JpcHRvciBpbiBgc2JpLSZndDtkaWYwLmZpbGVgLCBhbmQgdGhlbiBgZXJvZnNfZmNfZ2V0X3RyZWVgIHVzZXMgdGhhdCBmaWxlIGRlc2NyaXB0b3IsIGlmIGl0JiMzOTtzIHRoZXJlLCBpbnN0ZWFkIG9mIHRyeWluZyB0byBvcGVuIHRoZSBwYXRoIGluIGBmYy0mZ3Q7c291cmNlYC4gUHJldHR5IGVsZWdhbnQsIGFuZCBhIHVzZWZ1bCBmZWF0dXJlLgoKVGhlIGNvZGUgc2VlbXMgc291bmQg4oCTIGl0JiMzOTtzIGZ1bmN0aW9uYWwgYW5kIGVmZmVjdGl2ZWx5IGNoYW5nZXMgdGhlIEVST0ZTIG1vdW50IGxvZ2ljIHRvIHN1cHBvcnQgdGhpcyBuZXcgc291cmNlIG1lY2hhbmlzbS4gVGhpcyBkaXJlY3QgZmlsZSBkZXNjcmlwdG9yIGFwcHJvYWNoIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIEkgd2FudCB0byBmdXp6IGhlYXZpbHkuIFRoZSByaXNrIG9mIG9mZi1ieS1vbmUgZXJyb3JzIHdpdGggYW4gRkQgYXJlIGhpZ2hlciB0aGFuIGp1c3QgcmVhZGluZyBhIGZpbGUuCgpHaXZlbiB0aGF0LCBJIG5lZWQgdG8gZm9jdXMgbXkgZnV6emluZyBlZmZvcnRzIG9uIGBlcm9mc19mY19wYXJzZV9wYXJhbWAgYW5kIGBlcm9mc19mY19nZXRfdHJlZWAuIFRob3NlIGFyZSB0aGUgY3JpdGljYWwgZnVuY3Rpb25zIHRoYXQgaGFuZGxlIHRoZSBuZXcgYHNvdXJjZWAgb3B0aW9uIGFuZCByZWFkIHRoZSBkYXRhLgoKQmVmb3JlIEkgZ2V0IHN0YXJ0ZWQsIEkgbmVlZCB0byBjaGVjayB0aGUgcmVxdWlyZWQga2VybmVsIGNvbmZpZ3MuIEkga25vdyBJJiMzOTtsbCBuZWVkIGBDT05GSUdfRVJPRlNfRlNgIGVuYWJsZWQsIG9idmlvdXNseSwgYW5kIEkmIzM5O2xsIGFsc28gbmVlZCB0byB2ZXJpZnkgdGhhdCBgQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFYCBpcyBhbHNvIGVuYWJsZWQsIGFzIHRoZSBwYXRjaCBzcGVjaWZpY2FsbHkgbWVudGlvbnMgaXQuIEkgc2hvdWxkIGdvIGFoZWFkIGFuZCBjb25maXJtIHRoYXQgcmlnaHQgbm93LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDAwOjI5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZnMvZXJvZnMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL2Vyb2ZzL0tjb25maWc9ODU9Y29uZmlnIEVST0ZTX0ZTX1NFQ1VSSVRZXG4tLVxuZnMvZXJvZnMvS2NvbmZpZy05Ny1cbmZzL2Vyb2ZzL0tjb25maWc6OTg6Y29uZmlnIEVST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFXG5mcy9lcm9mcy9LY29uZmlnLTk5LVx0Ym9vbCBcJiMzNDtGaWxlLWJhY2tlZCBFUk9GUyBmaWxlc3lzdGVtIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy9lcm9mcy9NYWtlZmlsZT0xMD1lcm9mcy0kKENPTkZJR19FUk9GU19GU19aSVBfQUNDRUwpICYjNDM7PSBkZWNvbXByZXNzb3JfY3J5cHRvLm9cbmZzL2Vyb2ZzL01ha2VmaWxlOjExOmVyb2ZzLSQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSAmIzQzOz0gZmlsZWlvLm9cbmZzL2Vyb2ZzL01ha2VmaWxlLTEyLWVyb2ZzLSQoQ09ORklHX0VST0ZTX0ZTX1BBR0VfQ0FDSEVfU0hBUkUpICYjNDM7PSBpc2hhcmUub1xuLS1cbmZzL2Vyb2ZzL2ludGVybmFsLmg9MTY0PXN0YXRpYyBpbmxpbmUgYm9vbCBlcm9mc19pc19maWxlaW9fbW9kZShzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpKVxuZnMvZXJvZnMvaW50ZXJuYWwuaC0xNjUte1xuZnMvZXJvZnMvaW50ZXJuYWwuaDoxNjY6XHRyZXR1cm4gSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIFx1MDAyNlx1MDAyNiBzYmktXHUwMDNlZGlmMC5maWxlO1xuZnMvZXJvZnMvaW50ZXJuYWwuaC0xNjctfVxuLS1cbmZzL2Vyb2ZzL2ludGVybmFsLmg9NDQxPWVyb2ZzX2dldF9hb3BzKHN0cnVjdCBpbm9kZSAqcmVhbGlub2RlKVxuLS1cbmZzL2Vyb2ZzL2ludGVybmFsLmgtNDUwLVx0fVxuZnMvZXJvZnMvaW50ZXJuYWwuaDo0NTE6XHRpZiAoSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIFx1MDAyNlx1MDAyNlxuZnMvZXJvZnMvaW50ZXJuYWwuaC00NTItXHQgICAgZXJvZnNfaXNfZmlsZWlvX21vZGUoRVJPRlNfU0IocmVhbGlub2RlLVx1MDAzZWlfc2IpKSlcbi0tXG5mcy9lcm9mcy9pbnRlcm5hbC5oPTUwMz1pbnQgel9lcm9mc19wYXJzZV9jZmdzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBlcm9mc19zdXBlcl9ibG9jayAqZHNiKTtcbmZzL2Vyb2ZzL2ludGVybmFsLmgtNTA0LVxuZnMvZXJvZnMvaW50ZXJuYWwuaDo1MDU6I2lmZGVmIENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRVxuZnMvZXJvZnMvaW50ZXJuYWwuaC01MDYtc3RydWN0IGJpbyAqZXJvZnNfZmlsZWlvX2Jpb19hbGxvYyhzdHJ1Y3QgZXJvZnNfbWFwX2RldiAqbWRldik7XG4tLVxuZnMvZXJvZnMvc3VwZXIuYz00NDI9c3RhdGljIGludCBlcm9mc19mY19wYXJzZV9wYXJhbShzdHJ1Y3QgZnNfY29udGV4dCAqZmMsXG4tLVxuZnMvZXJvZnMvc3VwZXIuYy01MTItXHRjYXNlIE9wdF9kaXJlY3RpbzpcbmZzL2Vyb2ZzL3N1cGVyLmM6NTEzOlx0XHRpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSlcbmZzL2Vyb2ZzL3N1cGVyLmMtNTE0LVx0XHRcdGVycm9yZmMoZmMsIFwmIzM0OyVzIG9wdGlvbiBub3Qgc3VwcG9ydGVkXCYjMzQ7LCBlcm9mc19mc19wYXJhbWV0ZXJzW29wdF0ubmFtZSk7XG4tLVxuZnMvZXJvZnMvc3VwZXIuYz03NjA9c3RhdGljIGludCBlcm9mc19mY19nZXRfdHJlZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXG4tLVxuZnMvZXJvZnMvc3VwZXIuYy03NjQtXG5mcy9lcm9mcy9zdXBlci5jOjc2NTpcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8ICFmaWxlKSB7XG5mcy9lcm9mcy9zdXBlci5jLTc2Ni1cdFx0aW50IHJldDtcbi0tXG5mcy9lcm9mcy9zdXBlci5jLTc2OC1cdFx0cmV0ID0gZ2V0X3RyZWVfYmRldl9mbGFncyhmYywgZXJvZnNfZmNfZmlsbF9zdXBlcixcbmZzL2Vyb2ZzL3N1cGVyLmM6NzY5Olx0XHRcdElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSA/XG5mcy9lcm9mcy9zdXBlci5jLTc3MC1cdFx0XHRcdEdFVF9UUkVFX0JERVZfUVVJRVRfTE9PS1VQIDogMCk7XG5mcy9lcm9mcy9zdXBlci5jOjc3MTpcdFx0aWYgKCFJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgfHxcbmZzL2Vyb2ZzL3N1cGVyLmMtNzcyLVx0XHQgICAgcmV0ICE9IC1FTk9UQkxLKVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDAwOjI5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ0NjkKCQkJCQkJCW91dHB1dDogMTE5CgkJCQkJCQl0aG91Z2h0czogMjU0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgRVJPRlMgRmlsZSBEZXNjcmlwdG9yIE1vdW50IFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24sIGBzb3VyY2VgLCB0aGF0IGFjY2VwdHMgYSBmaWxlIGRlc2NyaXB0b3IuIFRoYXQmIzM5O3MgYSBwcmV0dHkgc2lnbmlmaWNhbnQgZnVuY3Rpb25hbCBjaGFuZ2Ug4oCTIGl0IGFsbG93cyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLCB3aGljaCBpcyBhIGRlcGFydHVyZSBmcm9tIHRoZSB0cmFkaXRpb25hbCBtZXRob2RzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGlzIG5ldyBtb3VudGluZyBwYXRod2F5IHRob3JvdWdobHkuCgpUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHNlZW1zIHRvIGJlIGluIHRoZSBtb3VudCBsb2dpYy4gVGhlIHJlbGV2YW50IGNvbmZpZ3MgYXJlIGBFUk9GU19GU2AgYW5kLCBpbXBvcnRhbnRseSwgYEVST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFYCBzaW5jZSB0aGlzIGRpcmVjdGx5IHJlbGF0ZXMgdG8gdGhlIGZpbGUtYmFja2VkIGFzcGVjdCB0aGF0JiMzOTtzIGJlaW5nIG1vZGlmaWVkLiBJ4oCZbGwgbmVlZCB0byBjb25maXJtIGlmIGFueSBvdGhlciBjb25maWd1cmF0aW9ucyBhcmUgcmVxdWlyZWQsIHRob3VnaC4gYEVST0ZTX0ZTYCBpcyB0aGUgbWFpbiBvbmUsIG9idmlvdXNseSwgYnV0IGBFUk9GU19GU19CQUNLRURfQllfRklMRWAgaXMgKmNydWNpYWwqIGhlcmUuCgpOb3csIHRvIGFzc2VzcyB0aGlzIGZvciBmdXp6aW5nLCBJIG5lZWQgdG8gaWRlbnRpZnkgdGhlIGtleSBmdW5jdGlvbnMgaW52b2x2ZWQuIExvb2tzIGxpa2UgYGVyb2ZzX2ZjX3BhcnNlX3BhcmFtYCBoYW5kbGVzIHRoZSBwYXJzaW5nIG9mIHRoZSBtb3VudCBvcHRpb25zIGFuZCBgZXJvZnNfZmNfZ2V0X3RyZWVgIHdpbGwgaGFuZGxlIGdldHRpbmcgdGhlIGZpbGUgc3lzdGVtIHRyZWUuIFRob3NlIGFyZSBteSBwcmltYXJ5IHRhcmdldHMuCgpUaGVyZWZvcmUsIGZvciB0aGlzIGZ1enppbmcgY2FtcGFpZ24sIEnigJlsbCBzZXQ6CgoqICAgYFdvcnRoRnV6emluZ2A6IGB0cnVlYCDigJMgYmVjYXVzZSB0aGlzIGlzIGEgbmV3IG1vdW50aW5nIG1ldGhvZCB3aXRoIHBvdGVudGlhbCBhdHRhY2sgc3VyZmFjZS4KKiAgIGBGb2N1c1N5bWJvbHNgOiBgWyYjMzQ7ZXJvZnNfZmNfcGFyc2VfcGFyYW0mIzM0OywgJiMzNDtlcm9mc19mY19nZXRfdHJlZSYjMzQ7XWAg4oCTIHRvIGNvbmNlbnRyYXRlIGZ1enppbmcgZWZmb3J0cyB3aGVyZSB0aGUgbmV3IGZ1bmN0aW9uYWxpdHkgaXMgaW1wbGVtZW50ZWQuCiogICBgRW5hYmxlQ29uZmlnc2A6IGBbJiMzNDtFUk9GU19GUyYjMzQ7LCAmIzM0O0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFJiMzNDtdYCDigJMgdG8gZW5zdXJlIHRoZSBuZWNlc3NhcnkgY29uZmlndXJhdGlvbnMgZm9yIHRlc3RpbmcgdGhlIG5ldyBmaWxlIGRlc2NyaXB0b3IgbW91bnRpbmcuCiogICBgUmVhc29uaW5nYDogJiMzNDtUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24gJiMzOTtzb3VyY2UmIzM5OyBmb3IgRVJPRlMgdGhhdCB0YWtlcyBhIGZpbGUgZGVzY3JpcHRvciwgYWxsb3dpbmcgbW91bnRpbmcgRVJPRlMgZGlyZWN0bHkgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtb3VudCBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDsKCkkmIzM5O2xsIGJlIGFibGUgdG8gZWZmZWN0aXZlbHkgcHJvYmUgdGhpcyBuZXcgZmVhdHVyZSB3aXRoIHRoaXMgY29uZmlndXJhdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwMDoyOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7RVJPRlNfRlMmIzM0OywKICAgICYjMzQ7RVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtlcm9mc19mY19wYXJzZV9wYXJhbSYjMzQ7LAogICAgJiMzNDtlcm9mc19mY19nZXRfdHJlZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1vdW50IG9wdGlvbiAmIzM5O3NvdXJjZSYjMzk7IGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7RVJPRlNfRlMmIzM0OywKICAgICYjMzQ7RVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtlcm9mc19mY19wYXJzZV9wYXJhbSYjMzQ7LAogICAgJiMzNDtlcm9mc19mY19nZXRfdHJlZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1vdW50IG9wdGlvbiAmIzM5O3NvdXJjZSYjMzk7IGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEyVDAwOjI5OjA1LjE2MDM4Njc5NVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyNDIzOTk1MTIxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkVST0ZTX0ZTXCIsXG4gICAgXCJFUk9GU19GU19CQUNLRURfQllfRklMRVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImVyb2ZzX2ZjX3BhcnNlX3BhcmFtXCIsXG4gICAgXCJlcm9mc19mY19nZXRfdHJlZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgbW91bnQgb3B0aW9uICdzb3VyY2UnIGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDA6Mjk6MDUuMTYwMzkyMDg1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NDUyMjk4MjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA1MjY5MGI5MmJmODY5ZjcyYTAwYjA0Mzg3NTE2MTViNmVmNGM5M2M4XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBTdW4gSnVsIDEyIDAwOjI5OjAzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2ZzL2Vyb2ZzL3N1cGVyLmMgYi9mcy9lcm9mcy9zdXBlci5jXFxuaW5kZXggODZmYTVjNmEwYzcwODcuLjMwNDBkNGNmOWI4NTZmIDEwMDY0NFxcbi0tLSBhL2ZzL2Vyb2ZzL3N1cGVyLmNcXG4rKysgYi9mcy9lcm9mcy9zdXBlci5jXFxuQEAgLTM4Niw2ICszODYsNyBAQCBzdGF0aWMgdm9pZCBlcm9mc19kZWZhdWx0X29wdGlvbnMoc3RydWN0IGVyb2ZzX3NiX2luZm8gKnNiaSlcXG4gZW51bSB7XFxuIFxcdE9wdF91c2VyX3hhdHRyLCBPcHRfYWNsLCBPcHRfY2FjaGVfc3RyYXRlZ3ksIE9wdF9kYXgsIE9wdF9kYXhfZW51bSxcXG4gXFx0T3B0X2RldmljZSwgT3B0X2RvbWFpbl9pZCwgT3B0X2RpcmVjdGlvLCBPcHRfZnNvZmZzZXQsIE9wdF9pbm9kZV9zaGFyZSxcXG4rXFx0T3B0X3NvdXJjZV9mZCxcXG4gfTtcXG4gXFxuIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29uc3RhbnRfdGFibGUgZXJvZnNfcGFyYW1fY2FjaGVfc3RyYXRlZ3lbXSA9IHtcXG5AQCAtNDEzLDYgKzQxNCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZnNfcGFyYW1ldGVyX3NwZWMgZXJvZnNfZnNfcGFyYW1ldGVyc1tdID0ge1xcbiBcXHRmc3BhcmFtX2ZsYWdfbm8oXFxcImRpcmVjdGlvXFxcIixcXHRPcHRfZGlyZWN0aW8pLFxcbiBcXHRmc3BhcmFtX3U2NChcXFwiZnNvZmZzZXRcXFwiLFxcdFxcdE9wdF9mc29mZnNldCksXFxuIFxcdGZzcGFyYW1fZmxhZyhcXFwiaW5vZGVfc2hhcmVcXFwiLFxcdE9wdF9pbm9kZV9zaGFyZSksXFxuK1xcdGZzcGFyYW1fZmQoXFxcInNvdXJjZVxcXCIsXFx0XFx0T3B0X3NvdXJjZV9mZCksXFxuIFxcdHt9XFxuIH07XFxuIFxcbkBAIC01MjQsNiArNTI2LDExIEBAIHN0YXRpYyBpbnQgZXJvZnNfZmNfcGFyc2VfcGFyYW0oc3RydWN0IGZzX2NvbnRleHQgKmZjLFxcbiBcXHRcXHRlbHNlXFxuIFxcdFxcdFxcdHNldF9vcHQoXFx1MDAyNnNiaS1cXHUwMDNlb3B0LCBJTk9ERV9TSEFSRSk7XFxuIFxcdFxcdGJyZWFrO1xcbitcXHRjYXNlIE9wdF9zb3VyY2VfZmQ6XFxuK1xcdFxcdGlmIChzYmktXFx1MDAzZWRpZjAuZmlsZSlcXG4rXFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcdFxcdHNiaS1cXHUwMDNlZGlmMC5maWxlID0gZ2V0X2ZpbGUocGFyYW0tXFx1MDAzZWZpbGUpO1xcbitcXHRcXHRicmVhaztcXG4gXFx0fVxcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbkBAIC03NTIsMTQgKzc1OSwxOCBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX2ZpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGZzX2NvbnRleHQgKmZjKVxcbiBcXG4gc3RhdGljIGludCBlcm9mc19mY19nZXRfdHJlZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXFxuIHtcXG4tXFx0aW50IHJldDtcXG4rXFx0c3RydWN0IGVyb2ZzX3NiX2luZm8gKnNiaSA9IGZjLVxcdTAwM2VzX2ZzX2luZm87XFxuK1xcdHN0cnVjdCBmaWxlICpmaWxlID0gc2JpLVxcdTAwM2VkaWYwLmZpbGU7XFxuIFxcbi1cXHRyZXQgPSBnZXRfdHJlZV9iZGV2X2ZsYWdzKGZjLCBlcm9mc19mY19maWxsX3N1cGVyLFxcbi1cXHRcXHRJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgP1xcbi1cXHRcXHRcXHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xcbi1cXHRpZiAoSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIFxcdTAwMjZcXHUwMDI2IHJldCA9PSAtRU5PVEJMSykge1xcbi1cXHRcXHRzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpID0gZmMtXFx1MDAzZXNfZnNfaW5mbztcXG4tXFx0XFx0c3RydWN0IGZpbGUgKmZpbGU7XFxuK1xcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8ICFmaWxlKSB7XFxuK1xcdFxcdGludCByZXQ7XFxuK1xcbitcXHRcXHRyZXQgPSBnZXRfdHJlZV9iZGV2X2ZsYWdzKGZjLCBlcm9mc19mY19maWxsX3N1cGVyLFxcbitcXHRcXHRcXHRJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgP1xcbitcXHRcXHRcXHRcXHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xcbitcXHRcXHRpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSB8fFxcbitcXHRcXHQgICAgcmV0ICE9IC1FTk9UQkxLKVxcbitcXHRcXHRcXHRyZXR1cm4gcmV0O1xcbiBcXG4gXFx0XFx0aWYgKCFmYy1cXHUwMDNlc291cmNlKVxcbiBcXHRcXHRcXHRyZXR1cm4gaW52YWxmKGZjLCBcXFwiTm8gc291cmNlIHNwZWNpZmllZFxcXCIpO1xcbkBAIC03NjcsMTIgKzc3OCwxMyBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX2dldF90cmVlKHN0cnVjdCBmc19jb250ZXh0ICpmYylcXG4gXFx0XFx0aWYgKElTX0VSUihmaWxlKSlcXG4gXFx0XFx0XFx0cmV0dXJuIFBUUl9FUlIoZmlsZSk7XFxuIFxcdFxcdHNiaS1cXHUwMDNlZGlmMC5maWxlID0gZmlsZTtcXG4tXFxuLVxcdFxcdGlmIChTX0lTUkVHKGZpbGVfaW5vZGUoc2JpLVxcdTAwM2VkaWYwLmZpbGUpLVxcdTAwM2VpX21vZGUpIFxcdTAwMjZcXHUwMDI2XFxuLVxcdFxcdCAgICBzYmktXFx1MDAzZWRpZjAuZmlsZS1cXHUwMDNlZl9tYXBwaW5nLVxcdTAwM2VhX29wcy1cXHUwMDNlcmVhZF9mb2xpbylcXG4tXFx0XFx0XFx0cmV0dXJuIGdldF90cmVlX25vZGV2KGZjLCBlcm9mc19mY19maWxsX3N1cGVyKTtcXG4gXFx0fVxcbi1cXHRyZXR1cm4gcmV0O1xcbitcXHRpZiAoIVNfSVNSRUcoZmlsZV9pbm9kZShmaWxlKS1cXHUwMDNlaV9tb2RlKSB8fFxcbitcXHQgICAgIWZpbGUtXFx1MDAzZWZfbWFwcGluZy1cXHUwMDNlYV9vcHMtXFx1MDAzZXJlYWRfZm9saW8pIHtcXG4rXFx0XFx0ZXJyb3JmYyhmYywgXFxcInNvdXJjZSBpcyB1bnN1cHBvcnRlZFxcXCIpO1xcbitcXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4rXFx0fVxcbitcXHRyZXR1cm4gZ2V0X3RyZWVfbm9kZXYoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIpO1xcbiB9XFxuIFxcbiBzdGF0aWMgaW50IGVyb2ZzX2ZjX3JlY29uZmlndXJlKHN0cnVjdCBmc19jb250ZXh0ICpmYylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDA6Mjk6MDUuNjA2MjkwOTg4WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMTk3ODA4MDMyOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJFUk9GU19GU1wiLFxuICAgIFwiRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEVcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJlcm9mc19mY19wYXJzZV9wYXJhbVwiLFxuICAgIFwiZXJvZnNfZmNfZ2V0X3RyZWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1vdW50IG9wdGlvbiAnc291cmNlJyBmb3IgRVJPRlMgdGhhdCB0YWtlcyBhIGZpbGUgZGVzY3JpcHRvciwgYWxsb3dpbmcgbW91bnRpbmcgRVJPRlMgZGlyZWN0bHkgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtb3VudCBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNTI2OTBiOTJiZjg2OWY3MmEwMGIwNDM4NzUxNjE1YjZlZjRjOTNjOFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTdW4gSnVsIDEyIDAwOjI5OjAzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZnMvZXJvZnMvc3VwZXIuYyBiL2ZzL2Vyb2ZzL3N1cGVyLmNcbmluZGV4IDg2ZmE1YzZhMGM3MDg3Li4zMDQwZDRjZjliODU2ZiAxMDA2NDRcbi0tLSBhL2ZzL2Vyb2ZzL3N1cGVyLmNcbisrKyBiL2ZzL2Vyb2ZzL3N1cGVyLmNcbkBAIC0zODYsNiArMzg2LDcgQEAgc3RhdGljIHZvaWQgZXJvZnNfZGVmYXVsdF9vcHRpb25zKHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkpXG4gZW51bSB7XG4gXHRPcHRfdXNlcl94YXR0ciwgT3B0X2FjbCwgT3B0X2NhY2hlX3N0cmF0ZWd5LCBPcHRfZGF4LCBPcHRfZGF4X2VudW0sXG4gXHRPcHRfZGV2aWNlLCBPcHRfZG9tYWluX2lkLCBPcHRfZGlyZWN0aW8sIE9wdF9mc29mZnNldCwgT3B0X2lub2RlX3NoYXJlLFxuK1x0T3B0X3NvdXJjZV9mZCxcbiB9O1xuIFxuIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29uc3RhbnRfdGFibGUgZXJvZnNfcGFyYW1fY2FjaGVfc3RyYXRlZ3lbXSA9IHtcbkBAIC00MTMsNiArNDE0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmc19wYXJhbWV0ZXJfc3BlYyBlcm9mc19mc19wYXJhbWV0ZXJzW10gPSB7XG4gXHRmc3BhcmFtX2ZsYWdfbm8oXCJkaXJlY3Rpb1wiLFx0T3B0X2RpcmVjdGlvKSxcbiBcdGZzcGFyYW1fdTY0KFwiZnNvZmZzZXRcIixcdFx0T3B0X2Zzb2Zmc2V0KSxcbiBcdGZzcGFyYW1fZmxhZyhcImlub2RlX3NoYXJlXCIsXHRPcHRfaW5vZGVfc2hhcmUpLFxuK1x0ZnNwYXJhbV9mZChcInNvdXJjZVwiLFx0XHRPcHRfc291cmNlX2ZkKSxcbiBcdHt9XG4gfTtcbiBcbkBAIC01MjQsNiArNTI2LDExIEBAIHN0YXRpYyBpbnQgZXJvZnNfZmNfcGFyc2VfcGFyYW0oc3RydWN0IGZzX2NvbnRleHQgKmZjLFxuIFx0XHRlbHNlXG4gXHRcdFx0c2V0X29wdChcdTAwMjZzYmktXHUwMDNlb3B0LCBJTk9ERV9TSEFSRSk7XG4gXHRcdGJyZWFrO1xuK1x0Y2FzZSBPcHRfc291cmNlX2ZkOlxuK1x0XHRpZiAoc2JpLVx1MDAzZWRpZjAuZmlsZSlcbitcdFx0XHRyZXR1cm4gLUVJTlZBTDtcbitcdFx0c2JpLVx1MDAzZWRpZjAuZmlsZSA9IGdldF9maWxlKHBhcmFtLVx1MDAzZWZpbGUpO1xuK1x0XHRicmVhaztcbiBcdH1cbiBcdHJldHVybiAwO1xuIH1cbkBAIC03NTIsMTQgKzc1OSwxOCBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX2ZpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGZzX2NvbnRleHQgKmZjKVxuIFxuIHN0YXRpYyBpbnQgZXJvZnNfZmNfZ2V0X3RyZWUoc3RydWN0IGZzX2NvbnRleHQgKmZjKVxuIHtcbi1cdGludCByZXQ7XG4rXHRzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpID0gZmMtXHUwMDNlc19mc19pbmZvO1xuK1x0c3RydWN0IGZpbGUgKmZpbGUgPSBzYmktXHUwMDNlZGlmMC5maWxlO1xuIFxuLVx0cmV0ID0gZ2V0X3RyZWVfYmRldl9mbGFncyhmYywgZXJvZnNfZmNfZmlsbF9zdXBlcixcbi1cdFx0SVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpID9cbi1cdFx0XHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xuLVx0aWYgKElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSBcdTAwMjZcdTAwMjYgcmV0ID09IC1FTk9UQkxLKSB7XG4tXHRcdHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkgPSBmYy1cdTAwM2VzX2ZzX2luZm87XG4tXHRcdHN0cnVjdCBmaWxlICpmaWxlO1xuK1x0aWYgKCFJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgfHwgIWZpbGUpIHtcbitcdFx0aW50IHJldDtcbitcbitcdFx0cmV0ID0gZ2V0X3RyZWVfYmRldl9mbGFncyhmYywgZXJvZnNfZmNfZmlsbF9zdXBlcixcbitcdFx0XHRJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgP1xuK1x0XHRcdFx0R0VUX1RSRUVfQkRFVl9RVUlFVF9MT09LVVAgOiAwKTtcbitcdFx0aWYgKCFJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgfHxcbitcdFx0ICAgIHJldCAhPSAtRU5PVEJMSylcbitcdFx0XHRyZXR1cm4gcmV0O1xuIFxuIFx0XHRpZiAoIWZjLVx1MDAzZXNvdXJjZSlcbiBcdFx0XHRyZXR1cm4gaW52YWxmKGZjLCBcIk5vIHNvdXJjZSBzcGVjaWZpZWRcIik7XG5AQCAtNzY3LDEyICs3NzgsMTMgQEAgc3RhdGljIGludCBlcm9mc19mY19nZXRfdHJlZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXG4gXHRcdGlmIChJU19FUlIoZmlsZSkpXG4gXHRcdFx0cmV0dXJuIFBUUl9FUlIoZmlsZSk7XG4gXHRcdHNiaS1cdTAwM2VkaWYwLmZpbGUgPSBmaWxlO1xuLVxuLVx0XHRpZiAoU19JU1JFRyhmaWxlX2lub2RlKHNiaS1cdTAwM2VkaWYwLmZpbGUpLVx1MDAzZWlfbW9kZSkgXHUwMDI2XHUwMDI2XG4tXHRcdCAgICBzYmktXHUwMDNlZGlmMC5maWxlLVx1MDAzZWZfbWFwcGluZy1cdTAwM2VhX29wcy1cdTAwM2VyZWFkX2ZvbGlvKVxuLVx0XHRcdHJldHVybiBnZXRfdHJlZV9ub2RldihmYywgZXJvZnNfZmNfZmlsbF9zdXBlcik7XG4gXHR9XG4tXHRyZXR1cm4gcmV0O1xuK1x0aWYgKCFTX0lTUkVHKGZpbGVfaW5vZGUoZmlsZSktXHUwMDNlaV9tb2RlKSB8fFxuK1x0ICAgICFmaWxlLVx1MDAzZWZfbWFwcGluZy1cdTAwM2VhX29wcy1cdTAwM2VyZWFkX2ZvbGlvKSB7XG4rXHRcdGVycm9yZmMoZmMsIFwic291cmNlIGlzIHVuc3VwcG9ydGVkXCIpO1xuK1x0XHRyZXR1cm4gLUVJTlZBTDtcbitcdH1cbitcdHJldHVybiBnZXRfdHJlZV9ub2RldihmYywgZXJvZnNfZmNfZmlsbF9zdXBlcik7XG4gfVxuIFxuIHN0YXRpYyBpbnQgZXJvZnNfZmNfcmVjb25maWd1cmUoc3RydWN0IGZzX2NvbnRleHQgKmZjKVxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDA6Mjk6MDUuNjA2MjkyMjQ4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTc3NDc5NzkwMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipFUk9GUyBNb3VudCBMb2dpYyBcdTAwMjYgRnV6emluZyBTdHJhdGVneSoqXG5cbk9rYXksIHNvIEkndmUgYmVlbiBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBmcy9lcm9mcy9zdXBlci5jYC4gSXQncyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLCBidXQgaXQncyBhZGRpbmcgc29tZSBpbnRlcmVzdGluZyBuZXcgbW91bnQgZnVuY3Rpb25hbGl0eS4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIlRoaXMgaXMgZ29vZCwgbGV0J3MgbG9vayBhdCB0aGUgaW1wbGljYXRpb25zXCIuXG5cbkVzc2VudGlhbGx5LCBpdCdzIGludHJvZHVjaW5nIGEgbmV3IG1vdW50IG9wdGlvbiwgYHNvdXJjZWAsIHdoaWNoIGFjY2VwdHMgYSBmaWxlIGRlc2NyaXB0b3IgKGBPcHRfc291cmNlX2ZkYCkuIFJhdGhlciB0aGFuIHJlYWRpbmcgdGhlIEVST0ZTIGltYWdlIGZyb20gYSBmaWxlIHBhdGgsIHdlJ3JlIG5vdyBhYmxlIHRvIG1vdW50IGRpcmVjdGx5IGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuIExvb2tpbmcgYXQgdGhlIGNvZGUsIGBlcm9mc19mY19wYXJzZV9wYXJhbWAgaXMgbW9kaWZpZWQgdG8gcGFyc2UgdGhlIG1vdW50IG9wdGlvbnMgYW5kIHN0b3JlcyB0aGUgZmlsZSBkZXNjcmlwdG9yIGluIGBzYmktXHUwMDNlZGlmMC5maWxlYCwgYW5kIHRoZW4gYGVyb2ZzX2ZjX2dldF90cmVlYCB1c2VzIHRoYXQgZmlsZSBkZXNjcmlwdG9yLCBpZiBpdCdzIHRoZXJlLCBpbnN0ZWFkIG9mIHRyeWluZyB0byBvcGVuIHRoZSBwYXRoIGluIGBmYy1cdTAwM2Vzb3VyY2VgLiBQcmV0dHkgZWxlZ2FudCwgYW5kIGEgdXNlZnVsIGZlYXR1cmUuXG5cblRoZSBjb2RlIHNlZW1zIHNvdW5kIOKAkyBpdCdzIGZ1bmN0aW9uYWwgYW5kIGVmZmVjdGl2ZWx5IGNoYW5nZXMgdGhlIEVST0ZTIG1vdW50IGxvZ2ljIHRvIHN1cHBvcnQgdGhpcyBuZXcgc291cmNlIG1lY2hhbmlzbS4gVGhpcyBkaXJlY3QgZmlsZSBkZXNjcmlwdG9yIGFwcHJvYWNoIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIEkgd2FudCB0byBmdXp6IGhlYXZpbHkuIFRoZSByaXNrIG9mIG9mZi1ieS1vbmUgZXJyb3JzIHdpdGggYW4gRkQgYXJlIGhpZ2hlciB0aGFuIGp1c3QgcmVhZGluZyBhIGZpbGUuXG5cbkdpdmVuIHRoYXQsIEkgbmVlZCB0byBmb2N1cyBteSBmdXp6aW5nIGVmZm9ydHMgb24gYGVyb2ZzX2ZjX3BhcnNlX3BhcmFtYCBhbmQgYGVyb2ZzX2ZjX2dldF90cmVlYC4gVGhvc2UgYXJlIHRoZSBjcml0aWNhbCBmdW5jdGlvbnMgdGhhdCBoYW5kbGUgdGhlIG5ldyBgc291cmNlYCBvcHRpb24gYW5kIHJlYWQgdGhlIGRhdGEuXG5cbkJlZm9yZSBJIGdldCBzdGFydGVkLCBJIG5lZWQgdG8gY2hlY2sgdGhlIHJlcXVpcmVkIGtlcm5lbCBjb25maWdzLiBJIGtub3cgSSdsbCBuZWVkIGBDT05GSUdfRVJPRlNfRlNgIGVuYWJsZWQsIG9idmlvdXNseSwgYW5kIEknbGwgYWxzbyBuZWVkIHRvIHZlcmlmeSB0aGF0IGBDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEVgIGlzIGFsc28gZW5hYmxlZCwgYXMgdGhlIHBhdGNoIHNwZWNpZmljYWxseSBtZW50aW9ucyBpdC4gSSBzaG91bGQgZ28gYWhlYWQgYW5kIGNvbmZpcm0gdGhhdCByaWdodCBub3cuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI3NjEsIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMjIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwMDoyOToxMS4zODEwOTI0NFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNDE4MjAyMzUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMvZXJvZnMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL2Vyb2ZzL0tjb25maWc9ODU9Y29uZmlnIEVST0ZTX0ZTX1NFQ1VSSVRZXFxuLS1cXG5mcy9lcm9mcy9LY29uZmlnLTk3LVxcbmZzL2Vyb2ZzL0tjb25maWc6OTg6Y29uZmlnIEVST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFXFxuZnMvZXJvZnMvS2NvbmZpZy05OS1cXHRib29sIFxcXCJGaWxlLWJhY2tlZCBFUk9GUyBmaWxlc3lzdGVtIHN1cHBvcnRcXFwiXFxuLS1cXG5mcy9lcm9mcy9NYWtlZmlsZT0xMD1lcm9mcy0kKENPTkZJR19FUk9GU19GU19aSVBfQUNDRUwpICs9IGRlY29tcHJlc3Nvcl9jcnlwdG8ub1xcbmZzL2Vyb2ZzL01ha2VmaWxlOjExOmVyb2ZzLSQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSArPSBmaWxlaW8ub1xcbmZzL2Vyb2ZzL01ha2VmaWxlLTEyLWVyb2ZzLSQoQ09ORklHX0VST0ZTX0ZTX1BBR0VfQ0FDSEVfU0hBUkUpICs9IGlzaGFyZS5vXFxuLS1cXG5mcy9lcm9mcy9pbnRlcm5hbC5oPTE2ND1zdGF0aWMgaW5saW5lIGJvb2wgZXJvZnNfaXNfZmlsZWlvX21vZGUoc3RydWN0IGVyb2ZzX3NiX2luZm8gKnNiaSlcXG5mcy9lcm9mcy9pbnRlcm5hbC5oLTE2NS17XFxuZnMvZXJvZnMvaW50ZXJuYWwuaDoxNjY6XFx0cmV0dXJuIElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSBcXHUwMDI2XFx1MDAyNiBzYmktXFx1MDAzZWRpZjAuZmlsZTtcXG5mcy9lcm9mcy9pbnRlcm5hbC5oLTE2Ny19XFxuLS1cXG5mcy9lcm9mcy9pbnRlcm5hbC5oPTQ0MT1lcm9mc19nZXRfYW9wcyhzdHJ1Y3QgaW5vZGUgKnJlYWxpbm9kZSlcXG4tLVxcbmZzL2Vyb2ZzL2ludGVybmFsLmgtNDUwLVxcdH1cXG5mcy9lcm9mcy9pbnRlcm5hbC5oOjQ1MTpcXHRpZiAoSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIFxcdTAwMjZcXHUwMDI2XFxuZnMvZXJvZnMvaW50ZXJuYWwuaC00NTItXFx0ICAgIGVyb2ZzX2lzX2ZpbGVpb19tb2RlKEVST0ZTX1NCKHJlYWxpbm9kZS1cXHUwMDNlaV9zYikpKVxcbi0tXFxuZnMvZXJvZnMvaW50ZXJuYWwuaD01MDM9aW50IHpfZXJvZnNfcGFyc2VfY2ZncyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBzdHJ1Y3QgZXJvZnNfc3VwZXJfYmxvY2sgKmRzYik7XFxuZnMvZXJvZnMvaW50ZXJuYWwuaC01MDQtXFxuZnMvZXJvZnMvaW50ZXJuYWwuaDo1MDU6I2lmZGVmIENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRVxcbmZzL2Vyb2ZzL2ludGVybmFsLmgtNTA2LXN0cnVjdCBiaW8gKmVyb2ZzX2ZpbGVpb19iaW9fYWxsb2Moc3RydWN0IGVyb2ZzX21hcF9kZXYgKm1kZXYpO1xcbi0tXFxuZnMvZXJvZnMvc3VwZXIuYz00NDI9c3RhdGljIGludCBlcm9mc19mY19wYXJzZV9wYXJhbShzdHJ1Y3QgZnNfY29udGV4dCAqZmMsXFxuLS1cXG5mcy9lcm9mcy9zdXBlci5jLTUxMi1cXHRjYXNlIE9wdF9kaXJlY3RpbzpcXG5mcy9lcm9mcy9zdXBlci5jOjUxMzpcXHRcXHRpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSlcXG5mcy9lcm9mcy9zdXBlci5jLTUxNC1cXHRcXHRcXHRlcnJvcmZjKGZjLCBcXFwiJXMgb3B0aW9uIG5vdCBzdXBwb3J0ZWRcXFwiLCBlcm9mc19mc19wYXJhbWV0ZXJzW29wdF0ubmFtZSk7XFxuLS1cXG5mcy9lcm9mcy9zdXBlci5jPTc2MD1zdGF0aWMgaW50IGVyb2ZzX2ZjX2dldF90cmVlKHN0cnVjdCBmc19jb250ZXh0ICpmYylcXG4tLVxcbmZzL2Vyb2ZzL3N1cGVyLmMtNzY0LVxcbmZzL2Vyb2ZzL3N1cGVyLmM6NzY1OlxcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8ICFmaWxlKSB7XFxuZnMvZXJvZnMvc3VwZXIuYy03NjYtXFx0XFx0aW50IHJldDtcXG4tLVxcbmZzL2Vyb2ZzL3N1cGVyLmMtNzY4LVxcdFxcdHJldCA9IGdldF90cmVlX2JkZXZfZmxhZ3MoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIsXFxuZnMvZXJvZnMvc3VwZXIuYzo3Njk6XFx0XFx0XFx0SVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpID9cXG5mcy9lcm9mcy9zdXBlci5jLTc3MC1cXHRcXHRcXHRcXHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xcbmZzL2Vyb2ZzL3N1cGVyLmM6NzcxOlxcdFxcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8XFxuZnMvZXJvZnMvc3VwZXIuYy03NzItXFx0XFx0ICAgIHJldCAhPSAtRU5PVEJMSylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDA6Mjk6MTEuNjIyOTE4MzU1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTY3MjcxMjQ5OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEVST0ZTIEZpbGUgRGVzY3JpcHRvciBNb3VudCBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24sIGBzb3VyY2VgLCB0aGF0IGFjY2VwdHMgYSBmaWxlIGRlc2NyaXB0b3IuIFRoYXQncyBhIHByZXR0eSBzaWduaWZpY2FudCBmdW5jdGlvbmFsIGNoYW5nZSDigJMgaXQgYWxsb3dzIG1vdW50aW5nIEVST0ZTIGRpcmVjdGx5IGZyb20gYSBmaWxlIGRlc2NyaXB0b3IsIHdoaWNoIGlzIGEgZGVwYXJ0dXJlIGZyb20gdGhlIHRyYWRpdGlvbmFsIG1ldGhvZHMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoaXMgbmV3IG1vdW50aW5nIHBhdGh3YXkgdGhvcm91Z2hseS5cblxuVGhlIGNvcmUgb2YgdGhlIGNoYW5nZSBzZWVtcyB0byBiZSBpbiB0aGUgbW91bnQgbG9naWMuIFRoZSByZWxldmFudCBjb25maWdzIGFyZSBgRVJPRlNfRlNgIGFuZCwgaW1wb3J0YW50bHksIGBFUk9GU19GU19CQUNLRURfQllfRklMRWAgc2luY2UgdGhpcyBkaXJlY3RseSByZWxhdGVzIHRvIHRoZSBmaWxlLWJhY2tlZCBhc3BlY3QgdGhhdCdzIGJlaW5nIG1vZGlmaWVkLiBJ4oCZbGwgbmVlZCB0byBjb25maXJtIGlmIGFueSBvdGhlciBjb25maWd1cmF0aW9ucyBhcmUgcmVxdWlyZWQsIHRob3VnaC4gYEVST0ZTX0ZTYCBpcyB0aGUgbWFpbiBvbmUsIG9idmlvdXNseSwgYnV0IGBFUk9GU19GU19CQUNLRURfQllfRklMRWAgaXMgKmNydWNpYWwqIGhlcmUuXG5cbk5vdywgdG8gYXNzZXNzIHRoaXMgZm9yIGZ1enppbmcsIEkgbmVlZCB0byBpZGVudGlmeSB0aGUga2V5IGZ1bmN0aW9ucyBpbnZvbHZlZC4gTG9va3MgbGlrZSBgZXJvZnNfZmNfcGFyc2VfcGFyYW1gIGhhbmRsZXMgdGhlIHBhcnNpbmcgb2YgdGhlIG1vdW50IG9wdGlvbnMgYW5kIGBlcm9mc19mY19nZXRfdHJlZWAgd2lsbCBoYW5kbGUgZ2V0dGluZyB0aGUgZmlsZSBzeXN0ZW0gdHJlZS4gVGhvc2UgYXJlIG15IHByaW1hcnkgdGFyZ2V0cy5cblxuVGhlcmVmb3JlLCBmb3IgdGhpcyBmdXp6aW5nIGNhbXBhaWduLCBJ4oCZbGwgc2V0OlxuXG4qICAgYFdvcnRoRnV6emluZ2A6IGB0cnVlYCDigJMgYmVjYXVzZSB0aGlzIGlzIGEgbmV3IG1vdW50aW5nIG1ldGhvZCB3aXRoIHBvdGVudGlhbCBhdHRhY2sgc3VyZmFjZS5cbiogICBgRm9jdXNTeW1ib2xzYDogYFtcImVyb2ZzX2ZjX3BhcnNlX3BhcmFtXCIsIFwiZXJvZnNfZmNfZ2V0X3RyZWVcIl1gIOKAkyB0byBjb25jZW50cmF0ZSBmdXp6aW5nIGVmZm9ydHMgd2hlcmUgdGhlIG5ldyBmdW5jdGlvbmFsaXR5IGlzIGltcGxlbWVudGVkLlxuKiAgIGBFbmFibGVDb25maWdzYDogYFtcIkVST0ZTX0ZTXCIsIFwiRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEVcIl1gIOKAkyB0byBlbnN1cmUgdGhlIG5lY2Vzc2FyeSBjb25maWd1cmF0aW9ucyBmb3IgdGVzdGluZyB0aGUgbmV3IGZpbGUgZGVzY3JpcHRvciBtb3VudGluZy5cbiogICBgUmVhc29uaW5nYDogXCJUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24gJ3NvdXJjZScgZm9yIEVST0ZTIHRoYXQgdGFrZXMgYSBmaWxlIGRlc2NyaXB0b3IsIGFsbG93aW5nIG1vdW50aW5nIEVST0ZTIGRpcmVjdGx5IGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbW91bnQgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiXG5cbkknbGwgYmUgYWJsZSB0byBlZmZlY3RpdmVseSBwcm9iZSB0aGlzIG5ldyBmZWF0dXJlIHdpdGggdGhpcyBjb25maWd1cmF0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NDY5LCJPdXRwdXRUb2tlbnMiOjExOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI1NCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwMDoyOToxNy4yOTU2MzMwMjNaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI4ODczMzE1MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiRVJPRlNfRlNcIixcbiAgICBcIkVST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZXJvZnNfZmNfcGFyc2VfcGFyYW1cIixcbiAgICBcImVyb2ZzX2ZjX2dldF90cmVlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24gJ3NvdXJjZScgZm9yIEVST0ZTIHRoYXQgdGFrZXMgYSBmaWxlIGRlc2NyaXB0b3IsIGFsbG93aW5nIG1vdW50aW5nIEVST0ZTIGRpcmVjdGx5IGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbW91bnQgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkVST0ZTX0ZTXCIsXG4gICAgXCJFUk9GU19GU19CQUNLRURfQllfRklMRVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImVyb2ZzX2ZjX3BhcnNlX3BhcmFtXCIsXG4gICAgXCJlcm9mc19mY19nZXRfdHJlZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgbW91bnQgb3B0aW9uICdzb3VyY2UnIGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-12 00:11:14 +0000 UTC FinishedAt: 2026-07-12 00:29:18 +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": "44696aa3a489d2baf58efa61b37833f100072bee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "EROFS_FS", "EROFS_FS_BACKED_BY_FILE" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "44696aa3a489d2baf58efa61b37833f100072bee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "EROFS_FS", "EROFS_FS_BACKED_BY_FILE" ], "series_id": "0a2f8c99-b435-4119-a6af-0f2cea40d98c" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "erofs_fc_parse_param", "erofs_fc_get_tree" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDAwOjI5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0VST0ZTX0ZTJiMzNDssCiAgICAmIzM0O0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7ZXJvZnNfZmNfcGFyc2VfcGFyYW0mIzM0OywKICAgICYjMzQ7ZXJvZnNfZmNfZ2V0X3RyZWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24gJiMzOTtzb3VyY2UmIzM5OyBmb3IgRVJPRlMgdGhhdCB0YWtlcyBhIGZpbGUgZGVzY3JpcHRvciwgYWxsb3dpbmcgbW91bnRpbmcgRVJPRlMgZGlyZWN0bHkgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtb3VudCBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDA6Mjk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA1MjY5MGI5MmJmODY5ZjcyYTAwYjA0Mzg3NTE2MTViNmVmNGM5M2M4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFN1biBKdWwgMTIgMDA6Mjk6MDMgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZnMvZXJvZnMvc3VwZXIuYyBiL2ZzL2Vyb2ZzL3N1cGVyLmNcbmluZGV4IDg2ZmE1YzZhMGM3MDg3Li4zMDQwZDRjZjliODU2ZiAxMDA2NDRcbi0tLSBhL2ZzL2Vyb2ZzL3N1cGVyLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2ZzL2Vyb2ZzL3N1cGVyLmNcbkBAIC0zODYsNiAmIzQzOzM4Niw3IEBAIHN0YXRpYyB2b2lkIGVyb2ZzX2RlZmF1bHRfb3B0aW9ucyhzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpKVxuIGVudW0ge1xuIFx0T3B0X3VzZXJfeGF0dHIsIE9wdF9hY2wsIE9wdF9jYWNoZV9zdHJhdGVneSwgT3B0X2RheCwgT3B0X2RheF9lbnVtLFxuIFx0T3B0X2RldmljZSwgT3B0X2RvbWFpbl9pZCwgT3B0X2RpcmVjdGlvLCBPcHRfZnNvZmZzZXQsIE9wdF9pbm9kZV9zaGFyZSxcbiYjNDM7XHRPcHRfc291cmNlX2ZkLFxuIH07XG4gXG4gc3RhdGljIGNvbnN0IHN0cnVjdCBjb25zdGFudF90YWJsZSBlcm9mc19wYXJhbV9jYWNoZV9zdHJhdGVneVtdID0ge1xuQEAgLTQxMyw2ICYjNDM7NDE0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmc19wYXJhbWV0ZXJfc3BlYyBlcm9mc19mc19wYXJhbWV0ZXJzW10gPSB7XG4gXHRmc3BhcmFtX2ZsYWdfbm8oXCYjMzQ7ZGlyZWN0aW9cJiMzNDssXHRPcHRfZGlyZWN0aW8pLFxuIFx0ZnNwYXJhbV91NjQoXCYjMzQ7ZnNvZmZzZXRcJiMzNDssXHRcdE9wdF9mc29mZnNldCksXG4gXHRmc3BhcmFtX2ZsYWcoXCYjMzQ7aW5vZGVfc2hhcmVcJiMzNDssXHRPcHRfaW5vZGVfc2hhcmUpLFxuJiM0MztcdGZzcGFyYW1fZmQoXCYjMzQ7c291cmNlXCYjMzQ7LFx0XHRPcHRfc291cmNlX2ZkKSxcbiBcdHt9XG4gfTtcbiBcbkBAIC01MjQsNiAmIzQzOzUyNiwxMSBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX3BhcnNlX3BhcmFtKHN0cnVjdCBmc19jb250ZXh0ICpmYyxcbiBcdFx0ZWxzZVxuIFx0XHRcdHNldF9vcHQoXHUwMDI2c2JpLVx1MDAzZW9wdCwgSU5PREVfU0hBUkUpO1xuIFx0XHRicmVhaztcbiYjNDM7XHRjYXNlIE9wdF9zb3VyY2VfZmQ6XG4mIzQzO1x0XHRpZiAoc2JpLVx1MDAzZWRpZjAuZmlsZSlcbiYjNDM7XHRcdFx0cmV0dXJuIC1FSU5WQUw7XG4mIzQzO1x0XHRzYmktXHUwMDNlZGlmMC5maWxlID0gZ2V0X2ZpbGUocGFyYW0tXHUwMDNlZmlsZSk7XG4mIzQzO1x0XHRicmVhaztcbiBcdH1cbiBcdHJldHVybiAwO1xuIH1cbkBAIC03NTIsMTQgJiM0Mzs3NTksMTggQEAgc3RhdGljIGludCBlcm9mc19mY19maWxsX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBmc19jb250ZXh0ICpmYylcbiBcbiBzdGF0aWMgaW50IGVyb2ZzX2ZjX2dldF90cmVlKHN0cnVjdCBmc19jb250ZXh0ICpmYylcbiB7XG4tXHRpbnQgcmV0O1xuJiM0MztcdHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkgPSBmYy1cdTAwM2VzX2ZzX2luZm87XG4mIzQzO1x0c3RydWN0IGZpbGUgKmZpbGUgPSBzYmktXHUwMDNlZGlmMC5maWxlO1xuIFxuLVx0cmV0ID0gZ2V0X3RyZWVfYmRldl9mbGFncyhmYywgZXJvZnNfZmNfZmlsbF9zdXBlcixcbi1cdFx0SVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpID9cbi1cdFx0XHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xuLVx0aWYgKElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSBcdTAwMjZcdTAwMjYgcmV0ID09IC1FTk9UQkxLKSB7XG4tXHRcdHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkgPSBmYy1cdTAwM2VzX2ZzX2luZm87XG4tXHRcdHN0cnVjdCBmaWxlICpmaWxlO1xuJiM0MztcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8ICFmaWxlKSB7XG4mIzQzO1x0XHRpbnQgcmV0O1xuJiM0MztcbiYjNDM7XHRcdHJldCA9IGdldF90cmVlX2JkZXZfZmxhZ3MoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIsXG4mIzQzO1x0XHRcdElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSA/XG4mIzQzO1x0XHRcdFx0R0VUX1RSRUVfQkRFVl9RVUlFVF9MT09LVVAgOiAwKTtcbiYjNDM7XHRcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8XG4mIzQzO1x0XHQgICAgcmV0ICE9IC1FTk9UQkxLKVxuJiM0MztcdFx0XHRyZXR1cm4gcmV0O1xuIFxuIFx0XHRpZiAoIWZjLVx1MDAzZXNvdXJjZSlcbiBcdFx0XHRyZXR1cm4gaW52YWxmKGZjLCBcJiMzNDtObyBzb3VyY2Ugc3BlY2lmaWVkXCYjMzQ7KTtcbkBAIC03NjcsMTIgJiM0Mzs3NzgsMTMgQEAgc3RhdGljIGludCBlcm9mc19mY19nZXRfdHJlZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXG4gXHRcdGlmIChJU19FUlIoZmlsZSkpXG4gXHRcdFx0cmV0dXJuIFBUUl9FUlIoZmlsZSk7XG4gXHRcdHNiaS1cdTAwM2VkaWYwLmZpbGUgPSBmaWxlO1xuLVxuLVx0XHRpZiAoU19JU1JFRyhmaWxlX2lub2RlKHNiaS1cdTAwM2VkaWYwLmZpbGUpLVx1MDAzZWlfbW9kZSkgXHUwMDI2XHUwMDI2XG4tXHRcdCAgICBzYmktXHUwMDNlZGlmMC5maWxlLVx1MDAzZWZfbWFwcGluZy1cdTAwM2VhX29wcy1cdTAwM2VyZWFkX2ZvbGlvKVxuLVx0XHRcdHJldHVybiBnZXRfdHJlZV9ub2RldihmYywgZXJvZnNfZmNfZmlsbF9zdXBlcik7XG4gXHR9XG4tXHRyZXR1cm4gcmV0O1xuJiM0MztcdGlmICghU19JU1JFRyhmaWxlX2lub2RlKGZpbGUpLVx1MDAzZWlfbW9kZSkgfHxcbiYjNDM7XHQgICAgIWZpbGUtXHUwMDNlZl9tYXBwaW5nLVx1MDAzZWFfb3BzLVx1MDAzZXJlYWRfZm9saW8pIHtcbiYjNDM7XHRcdGVycm9yZmMoZmMsIFwmIzM0O3NvdXJjZSBpcyB1bnN1cHBvcnRlZFwmIzM0Oyk7XG4mIzQzO1x0XHRyZXR1cm4gLUVJTlZBTDtcbiYjNDM7XHR9XG4mIzQzO1x0cmV0dXJuIGdldF90cmVlX25vZGV2KGZjLCBlcm9mc19mY19maWxsX3N1cGVyKTtcbiB9XG4gXG4gc3RhdGljIGludCBlcm9mc19mY19yZWNvbmZpZ3VyZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDA6Mjk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7RVJPRlNfRlMmIzM0OywKICAgICYjMzQ7RVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtlcm9mc19mY19wYXJzZV9wYXJhbSYjMzQ7LAogICAgJiMzNDtlcm9mc19mY19nZXRfdHJlZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1vdW50IG9wdGlvbiAmIzM5O3NvdXJjZSYjMzk7IGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNTI2OTBiOTJiZjg2OWY3MmEwMGIwNDM4NzUxNjE1YjZlZjRjOTNjOApBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBTdW4gSnVsIDEyIDAwOjI5OjAzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZnMvZXJvZnMvc3VwZXIuYyBiL2ZzL2Vyb2ZzL3N1cGVyLmMKaW5kZXggODZmYTVjNmEwYzcwODcuLjMwNDBkNGNmOWI4NTZmIDEwMDY0NAotLS0gYS9mcy9lcm9mcy9zdXBlci5jCiYjNDM7JiM0MzsmIzQzOyBiL2ZzL2Vyb2ZzL3N1cGVyLmMKQEAgLTM4Niw2ICYjNDM7Mzg2LDcgQEAgc3RhdGljIHZvaWQgZXJvZnNfZGVmYXVsdF9vcHRpb25zKHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkpCiBlbnVtIHsKIAlPcHRfdXNlcl94YXR0ciwgT3B0X2FjbCwgT3B0X2NhY2hlX3N0cmF0ZWd5LCBPcHRfZGF4LCBPcHRfZGF4X2VudW0sCiAJT3B0X2RldmljZSwgT3B0X2RvbWFpbl9pZCwgT3B0X2RpcmVjdGlvLCBPcHRfZnNvZmZzZXQsIE9wdF9pbm9kZV9zaGFyZSwKJiM0MzsJT3B0X3NvdXJjZV9mZCwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29uc3RhbnRfdGFibGUgZXJvZnNfcGFyYW1fY2FjaGVfc3RyYXRlZ3lbXSA9IHsKQEAgLTQxMyw2ICYjNDM7NDE0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmc19wYXJhbWV0ZXJfc3BlYyBlcm9mc19mc19wYXJhbWV0ZXJzW10gPSB7CiAJZnNwYXJhbV9mbGFnX25vKCYjMzQ7ZGlyZWN0aW8mIzM0OywJT3B0X2RpcmVjdGlvKSwKIAlmc3BhcmFtX3U2NCgmIzM0O2Zzb2Zmc2V0JiMzNDssCQlPcHRfZnNvZmZzZXQpLAogCWZzcGFyYW1fZmxhZygmIzM0O2lub2RlX3NoYXJlJiMzNDssCU9wdF9pbm9kZV9zaGFyZSksCiYjNDM7CWZzcGFyYW1fZmQoJiMzNDtzb3VyY2UmIzM0OywJCU9wdF9zb3VyY2VfZmQpLAogCXt9CiB9OwogCkBAIC01MjQsNiAmIzQzOzUyNiwxMSBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX3BhcnNlX3BhcmFtKHN0cnVjdCBmc19jb250ZXh0ICpmYywKIAkJZWxzZQogCQkJc2V0X29wdCgmYW1wO3NiaS0mZ3Q7b3B0LCBJTk9ERV9TSEFSRSk7CiAJCWJyZWFrOwomIzQzOwljYXNlIE9wdF9zb3VyY2VfZmQ6CiYjNDM7CQlpZiAoc2JpLSZndDtkaWYwLmZpbGUpCiYjNDM7CQkJcmV0dXJuIC1FSU5WQUw7CiYjNDM7CQlzYmktJmd0O2RpZjAuZmlsZSA9IGdldF9maWxlKHBhcmFtLSZndDtmaWxlKTsKJiM0MzsJCWJyZWFrOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTc1MiwxNCAmIzQzOzc1OSwxOCBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX2ZpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGZzX2NvbnRleHQgKmZjKQogCiBzdGF0aWMgaW50IGVyb2ZzX2ZjX2dldF90cmVlKHN0cnVjdCBmc19jb250ZXh0ICpmYykKIHsKLQlpbnQgcmV0OwomIzQzOwlzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpID0gZmMtJmd0O3NfZnNfaW5mbzsKJiM0MzsJc3RydWN0IGZpbGUgKmZpbGUgPSBzYmktJmd0O2RpZjAuZmlsZTsKIAotCXJldCA9IGdldF90cmVlX2JkZXZfZmxhZ3MoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIsCi0JCUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSA/Ci0JCQlHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApOwotCWlmIChJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgJmFtcDsmYW1wOyByZXQgPT0gLUVOT1RCTEspIHsKLQkJc3RydWN0IGVyb2ZzX3NiX2luZm8gKnNiaSA9IGZjLSZndDtzX2ZzX2luZm87Ci0JCXN0cnVjdCBmaWxlICpmaWxlOwomIzQzOwlpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSB8fCAhZmlsZSkgewomIzQzOwkJaW50IHJldDsKJiM0MzsKJiM0MzsJCXJldCA9IGdldF90cmVlX2JkZXZfZmxhZ3MoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIsCiYjNDM7CQkJSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpID8KJiM0MzsJCQkJR0VUX1RSRUVfQkRFVl9RVUlFVF9MT09LVVAgOiAwKTsKJiM0MzsJCWlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8CiYjNDM7CQkgICAgcmV0ICE9IC1FTk9UQkxLKQomIzQzOwkJCXJldHVybiByZXQ7CiAKIAkJaWYgKCFmYy0mZ3Q7c291cmNlKQogCQkJcmV0dXJuIGludmFsZihmYywgJiMzNDtObyBzb3VyY2Ugc3BlY2lmaWVkJiMzNDspOwpAQCAtNzY3LDEyICYjNDM7Nzc4LDEzIEBAIHN0YXRpYyBpbnQgZXJvZnNfZmNfZ2V0X3RyZWUoc3RydWN0IGZzX2NvbnRleHQgKmZjKQogCQlpZiAoSVNfRVJSKGZpbGUpKQogCQkJcmV0dXJuIFBUUl9FUlIoZmlsZSk7CiAJCXNiaS0mZ3Q7ZGlmMC5maWxlID0gZmlsZTsKLQotCQlpZiAoU19JU1JFRyhmaWxlX2lub2RlKHNiaS0mZ3Q7ZGlmMC5maWxlKS0mZ3Q7aV9tb2RlKSAmYW1wOyZhbXA7Ci0JCSAgICBzYmktJmd0O2RpZjAuZmlsZS0mZ3Q7Zl9tYXBwaW5nLSZndDthX29wcy0mZ3Q7cmVhZF9mb2xpbykKLQkJCXJldHVybiBnZXRfdHJlZV9ub2RldihmYywgZXJvZnNfZmNfZmlsbF9zdXBlcik7CiAJfQotCXJldHVybiByZXQ7CiYjNDM7CWlmICghU19JU1JFRyhmaWxlX2lub2RlKGZpbGUpLSZndDtpX21vZGUpIHx8CiYjNDM7CSAgICAhZmlsZS0mZ3Q7Zl9tYXBwaW5nLSZndDthX29wcy0mZ3Q7cmVhZF9mb2xpbykgewomIzQzOwkJZXJyb3JmYyhmYywgJiMzNDtzb3VyY2UgaXMgdW5zdXBwb3J0ZWQmIzM0Oyk7CiYjNDM7CQlyZXR1cm4gLUVJTlZBTDsKJiM0MzsJfQomIzQzOwlyZXR1cm4gZ2V0X3RyZWVfbm9kZXYoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIpOwogfQogCiBzdGF0aWMgaW50IGVyb2ZzX2ZjX3JlY29uZmlndXJlKHN0cnVjdCBmc19jb250ZXh0ICpmYykKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDA6Mjk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjc2MQoJCQkJCQkJb3V0cHV0OiAzNgoJCQkJCQkJdGhvdWdodHM6IDMyMgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFUk9GUyBNb3VudCBMb2dpYyAmYW1wOyBGdXp6aW5nIFN0cmF0ZWd5KioKCk9rYXksIHNvIEkmIzM5O3ZlIGJlZW4gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZnMvZXJvZnMvc3VwZXIuY2AuIEl0JiMzOTtzIHByZXR0eSBzdHJhaWdodGZvcndhcmQsIGJ1dCBpdCYjMzk7cyBhZGRpbmcgc29tZSBpbnRlcmVzdGluZyBuZXcgbW91bnQgZnVuY3Rpb25hbGl0eS4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCAmIzM0O1RoaXMgaXMgZ29vZCwgbGV0JiMzOTtzIGxvb2sgYXQgdGhlIGltcGxpY2F0aW9ucyYjMzQ7LgoKRXNzZW50aWFsbHksIGl0JiMzOTtzIGludHJvZHVjaW5nIGEgbmV3IG1vdW50IG9wdGlvbiwgYHNvdXJjZWAsIHdoaWNoIGFjY2VwdHMgYSBmaWxlIGRlc2NyaXB0b3IgKGBPcHRfc291cmNlX2ZkYCkuIFJhdGhlciB0aGFuIHJlYWRpbmcgdGhlIEVST0ZTIGltYWdlIGZyb20gYSBmaWxlIHBhdGgsIHdlJiMzOTtyZSBub3cgYWJsZSB0byBtb3VudCBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBMb29raW5nIGF0IHRoZSBjb2RlLCBgZXJvZnNfZmNfcGFyc2VfcGFyYW1gIGlzIG1vZGlmaWVkIHRvIHBhcnNlIHRoZSBtb3VudCBvcHRpb25zIGFuZCBzdG9yZXMgdGhlIGZpbGUgZGVzY3JpcHRvciBpbiBgc2JpLSZndDtkaWYwLmZpbGVgLCBhbmQgdGhlbiBgZXJvZnNfZmNfZ2V0X3RyZWVgIHVzZXMgdGhhdCBmaWxlIGRlc2NyaXB0b3IsIGlmIGl0JiMzOTtzIHRoZXJlLCBpbnN0ZWFkIG9mIHRyeWluZyB0byBvcGVuIHRoZSBwYXRoIGluIGBmYy0mZ3Q7c291cmNlYC4gUHJldHR5IGVsZWdhbnQsIGFuZCBhIHVzZWZ1bCBmZWF0dXJlLgoKVGhlIGNvZGUgc2VlbXMgc291bmQg4oCTIGl0JiMzOTtzIGZ1bmN0aW9uYWwgYW5kIGVmZmVjdGl2ZWx5IGNoYW5nZXMgdGhlIEVST0ZTIG1vdW50IGxvZ2ljIHRvIHN1cHBvcnQgdGhpcyBuZXcgc291cmNlIG1lY2hhbmlzbS4gVGhpcyBkaXJlY3QgZmlsZSBkZXNjcmlwdG9yIGFwcHJvYWNoIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIEkgd2FudCB0byBmdXp6IGhlYXZpbHkuIFRoZSByaXNrIG9mIG9mZi1ieS1vbmUgZXJyb3JzIHdpdGggYW4gRkQgYXJlIGhpZ2hlciB0aGFuIGp1c3QgcmVhZGluZyBhIGZpbGUuCgpHaXZlbiB0aGF0LCBJIG5lZWQgdG8gZm9jdXMgbXkgZnV6emluZyBlZmZvcnRzIG9uIGBlcm9mc19mY19wYXJzZV9wYXJhbWAgYW5kIGBlcm9mc19mY19nZXRfdHJlZWAuIFRob3NlIGFyZSB0aGUgY3JpdGljYWwgZnVuY3Rpb25zIHRoYXQgaGFuZGxlIHRoZSBuZXcgYHNvdXJjZWAgb3B0aW9uIGFuZCByZWFkIHRoZSBkYXRhLgoKQmVmb3JlIEkgZ2V0IHN0YXJ0ZWQsIEkgbmVlZCB0byBjaGVjayB0aGUgcmVxdWlyZWQga2VybmVsIGNvbmZpZ3MuIEkga25vdyBJJiMzOTtsbCBuZWVkIGBDT05GSUdfRVJPRlNfRlNgIGVuYWJsZWQsIG9idmlvdXNseSwgYW5kIEkmIzM5O2xsIGFsc28gbmVlZCB0byB2ZXJpZnkgdGhhdCBgQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFYCBpcyBhbHNvIGVuYWJsZWQsIGFzIHRoZSBwYXRjaCBzcGVjaWZpY2FsbHkgbWVudGlvbnMgaXQuIEkgc2hvdWxkIGdvIGFoZWFkIGFuZCBjb25maXJtIHRoYXQgcmlnaHQgbm93LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDAwOjI5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZnMvZXJvZnMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL2Vyb2ZzL0tjb25maWc9ODU9Y29uZmlnIEVST0ZTX0ZTX1NFQ1VSSVRZXG4tLVxuZnMvZXJvZnMvS2NvbmZpZy05Ny1cbmZzL2Vyb2ZzL0tjb25maWc6OTg6Y29uZmlnIEVST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFXG5mcy9lcm9mcy9LY29uZmlnLTk5LVx0Ym9vbCBcJiMzNDtGaWxlLWJhY2tlZCBFUk9GUyBmaWxlc3lzdGVtIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy9lcm9mcy9NYWtlZmlsZT0xMD1lcm9mcy0kKENPTkZJR19FUk9GU19GU19aSVBfQUNDRUwpICYjNDM7PSBkZWNvbXByZXNzb3JfY3J5cHRvLm9cbmZzL2Vyb2ZzL01ha2VmaWxlOjExOmVyb2ZzLSQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSAmIzQzOz0gZmlsZWlvLm9cbmZzL2Vyb2ZzL01ha2VmaWxlLTEyLWVyb2ZzLSQoQ09ORklHX0VST0ZTX0ZTX1BBR0VfQ0FDSEVfU0hBUkUpICYjNDM7PSBpc2hhcmUub1xuLS1cbmZzL2Vyb2ZzL2ludGVybmFsLmg9MTY0PXN0YXRpYyBpbmxpbmUgYm9vbCBlcm9mc19pc19maWxlaW9fbW9kZShzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpKVxuZnMvZXJvZnMvaW50ZXJuYWwuaC0xNjUte1xuZnMvZXJvZnMvaW50ZXJuYWwuaDoxNjY6XHRyZXR1cm4gSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIFx1MDAyNlx1MDAyNiBzYmktXHUwMDNlZGlmMC5maWxlO1xuZnMvZXJvZnMvaW50ZXJuYWwuaC0xNjctfVxuLS1cbmZzL2Vyb2ZzL2ludGVybmFsLmg9NDQxPWVyb2ZzX2dldF9hb3BzKHN0cnVjdCBpbm9kZSAqcmVhbGlub2RlKVxuLS1cbmZzL2Vyb2ZzL2ludGVybmFsLmgtNDUwLVx0fVxuZnMvZXJvZnMvaW50ZXJuYWwuaDo0NTE6XHRpZiAoSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIFx1MDAyNlx1MDAyNlxuZnMvZXJvZnMvaW50ZXJuYWwuaC00NTItXHQgICAgZXJvZnNfaXNfZmlsZWlvX21vZGUoRVJPRlNfU0IocmVhbGlub2RlLVx1MDAzZWlfc2IpKSlcbi0tXG5mcy9lcm9mcy9pbnRlcm5hbC5oPTUwMz1pbnQgel9lcm9mc19wYXJzZV9jZmdzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBlcm9mc19zdXBlcl9ibG9jayAqZHNiKTtcbmZzL2Vyb2ZzL2ludGVybmFsLmgtNTA0LVxuZnMvZXJvZnMvaW50ZXJuYWwuaDo1MDU6I2lmZGVmIENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRVxuZnMvZXJvZnMvaW50ZXJuYWwuaC01MDYtc3RydWN0IGJpbyAqZXJvZnNfZmlsZWlvX2Jpb19hbGxvYyhzdHJ1Y3QgZXJvZnNfbWFwX2RldiAqbWRldik7XG4tLVxuZnMvZXJvZnMvc3VwZXIuYz00NDI9c3RhdGljIGludCBlcm9mc19mY19wYXJzZV9wYXJhbShzdHJ1Y3QgZnNfY29udGV4dCAqZmMsXG4tLVxuZnMvZXJvZnMvc3VwZXIuYy01MTItXHRjYXNlIE9wdF9kaXJlY3RpbzpcbmZzL2Vyb2ZzL3N1cGVyLmM6NTEzOlx0XHRpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSlcbmZzL2Vyb2ZzL3N1cGVyLmMtNTE0LVx0XHRcdGVycm9yZmMoZmMsIFwmIzM0OyVzIG9wdGlvbiBub3Qgc3VwcG9ydGVkXCYjMzQ7LCBlcm9mc19mc19wYXJhbWV0ZXJzW29wdF0ubmFtZSk7XG4tLVxuZnMvZXJvZnMvc3VwZXIuYz03NjA9c3RhdGljIGludCBlcm9mc19mY19nZXRfdHJlZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXG4tLVxuZnMvZXJvZnMvc3VwZXIuYy03NjQtXG5mcy9lcm9mcy9zdXBlci5jOjc2NTpcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8ICFmaWxlKSB7XG5mcy9lcm9mcy9zdXBlci5jLTc2Ni1cdFx0aW50IHJldDtcbi0tXG5mcy9lcm9mcy9zdXBlci5jLTc2OC1cdFx0cmV0ID0gZ2V0X3RyZWVfYmRldl9mbGFncyhmYywgZXJvZnNfZmNfZmlsbF9zdXBlcixcbmZzL2Vyb2ZzL3N1cGVyLmM6NzY5Olx0XHRcdElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSA/XG5mcy9lcm9mcy9zdXBlci5jLTc3MC1cdFx0XHRcdEdFVF9UUkVFX0JERVZfUVVJRVRfTE9PS1VQIDogMCk7XG5mcy9lcm9mcy9zdXBlci5jOjc3MTpcdFx0aWYgKCFJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgfHxcbmZzL2Vyb2ZzL3N1cGVyLmMtNzcyLVx0XHQgICAgcmV0ICE9IC1FTk9UQkxLKVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDAwOjI5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ0NjkKCQkJCQkJCW91dHB1dDogMTE5CgkJCQkJCQl0aG91Z2h0czogMjU0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgRVJPRlMgRmlsZSBEZXNjcmlwdG9yIE1vdW50IFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24sIGBzb3VyY2VgLCB0aGF0IGFjY2VwdHMgYSBmaWxlIGRlc2NyaXB0b3IuIFRoYXQmIzM5O3MgYSBwcmV0dHkgc2lnbmlmaWNhbnQgZnVuY3Rpb25hbCBjaGFuZ2Ug4oCTIGl0IGFsbG93cyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLCB3aGljaCBpcyBhIGRlcGFydHVyZSBmcm9tIHRoZSB0cmFkaXRpb25hbCBtZXRob2RzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGlzIG5ldyBtb3VudGluZyBwYXRod2F5IHRob3JvdWdobHkuCgpUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHNlZW1zIHRvIGJlIGluIHRoZSBtb3VudCBsb2dpYy4gVGhlIHJlbGV2YW50IGNvbmZpZ3MgYXJlIGBFUk9GU19GU2AgYW5kLCBpbXBvcnRhbnRseSwgYEVST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFYCBzaW5jZSB0aGlzIGRpcmVjdGx5IHJlbGF0ZXMgdG8gdGhlIGZpbGUtYmFja2VkIGFzcGVjdCB0aGF0JiMzOTtzIGJlaW5nIG1vZGlmaWVkLiBJ4oCZbGwgbmVlZCB0byBjb25maXJtIGlmIGFueSBvdGhlciBjb25maWd1cmF0aW9ucyBhcmUgcmVxdWlyZWQsIHRob3VnaC4gYEVST0ZTX0ZTYCBpcyB0aGUgbWFpbiBvbmUsIG9idmlvdXNseSwgYnV0IGBFUk9GU19GU19CQUNLRURfQllfRklMRWAgaXMgKmNydWNpYWwqIGhlcmUuCgpOb3csIHRvIGFzc2VzcyB0aGlzIGZvciBmdXp6aW5nLCBJIG5lZWQgdG8gaWRlbnRpZnkgdGhlIGtleSBmdW5jdGlvbnMgaW52b2x2ZWQuIExvb2tzIGxpa2UgYGVyb2ZzX2ZjX3BhcnNlX3BhcmFtYCBoYW5kbGVzIHRoZSBwYXJzaW5nIG9mIHRoZSBtb3VudCBvcHRpb25zIGFuZCBgZXJvZnNfZmNfZ2V0X3RyZWVgIHdpbGwgaGFuZGxlIGdldHRpbmcgdGhlIGZpbGUgc3lzdGVtIHRyZWUuIFRob3NlIGFyZSBteSBwcmltYXJ5IHRhcmdldHMuCgpUaGVyZWZvcmUsIGZvciB0aGlzIGZ1enppbmcgY2FtcGFpZ24sIEnigJlsbCBzZXQ6CgoqICAgYFdvcnRoRnV6emluZ2A6IGB0cnVlYCDigJMgYmVjYXVzZSB0aGlzIGlzIGEgbmV3IG1vdW50aW5nIG1ldGhvZCB3aXRoIHBvdGVudGlhbCBhdHRhY2sgc3VyZmFjZS4KKiAgIGBGb2N1c1N5bWJvbHNgOiBgWyYjMzQ7ZXJvZnNfZmNfcGFyc2VfcGFyYW0mIzM0OywgJiMzNDtlcm9mc19mY19nZXRfdHJlZSYjMzQ7XWAg4oCTIHRvIGNvbmNlbnRyYXRlIGZ1enppbmcgZWZmb3J0cyB3aGVyZSB0aGUgbmV3IGZ1bmN0aW9uYWxpdHkgaXMgaW1wbGVtZW50ZWQuCiogICBgRW5hYmxlQ29uZmlnc2A6IGBbJiMzNDtFUk9GU19GUyYjMzQ7LCAmIzM0O0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFJiMzNDtdYCDigJMgdG8gZW5zdXJlIHRoZSBuZWNlc3NhcnkgY29uZmlndXJhdGlvbnMgZm9yIHRlc3RpbmcgdGhlIG5ldyBmaWxlIGRlc2NyaXB0b3IgbW91bnRpbmcuCiogICBgUmVhc29uaW5nYDogJiMzNDtUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24gJiMzOTtzb3VyY2UmIzM5OyBmb3IgRVJPRlMgdGhhdCB0YWtlcyBhIGZpbGUgZGVzY3JpcHRvciwgYWxsb3dpbmcgbW91bnRpbmcgRVJPRlMgZGlyZWN0bHkgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtb3VudCBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDsKCkkmIzM5O2xsIGJlIGFibGUgdG8gZWZmZWN0aXZlbHkgcHJvYmUgdGhpcyBuZXcgZmVhdHVyZSB3aXRoIHRoaXMgY29uZmlndXJhdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwMDoyOTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7RVJPRlNfRlMmIzM0OywKICAgICYjMzQ7RVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtlcm9mc19mY19wYXJzZV9wYXJhbSYjMzQ7LAogICAgJiMzNDtlcm9mc19mY19nZXRfdHJlZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1vdW50IG9wdGlvbiAmIzM5O3NvdXJjZSYjMzk7IGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7RVJPRlNfRlMmIzM0OywKICAgICYjMzQ7RVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtlcm9mc19mY19wYXJzZV9wYXJhbSYjMzQ7LAogICAgJiMzNDtlcm9mc19mY19nZXRfdHJlZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1vdW50IG9wdGlvbiAmIzM5O3NvdXJjZSYjMzk7IGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEyVDAwOjI5OjA1LjE2MDM4Njc5NVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEyNDIzOTk1MTIxLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkVST0ZTX0ZTXCIsXG4gICAgXCJFUk9GU19GU19CQUNLRURfQllfRklMRVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImVyb2ZzX2ZjX3BhcnNlX3BhcmFtXCIsXG4gICAgXCJlcm9mc19mY19nZXRfdHJlZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgbW91bnQgb3B0aW9uICdzb3VyY2UnIGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDA6Mjk6MDUuMTYwMzkyMDg1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NDUyMjk4MjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA1MjY5MGI5MmJmODY5ZjcyYTAwYjA0Mzg3NTE2MTViNmVmNGM5M2M4XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBTdW4gSnVsIDEyIDAwOjI5OjAzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2ZzL2Vyb2ZzL3N1cGVyLmMgYi9mcy9lcm9mcy9zdXBlci5jXFxuaW5kZXggODZmYTVjNmEwYzcwODcuLjMwNDBkNGNmOWI4NTZmIDEwMDY0NFxcbi0tLSBhL2ZzL2Vyb2ZzL3N1cGVyLmNcXG4rKysgYi9mcy9lcm9mcy9zdXBlci5jXFxuQEAgLTM4Niw2ICszODYsNyBAQCBzdGF0aWMgdm9pZCBlcm9mc19kZWZhdWx0X29wdGlvbnMoc3RydWN0IGVyb2ZzX3NiX2luZm8gKnNiaSlcXG4gZW51bSB7XFxuIFxcdE9wdF91c2VyX3hhdHRyLCBPcHRfYWNsLCBPcHRfY2FjaGVfc3RyYXRlZ3ksIE9wdF9kYXgsIE9wdF9kYXhfZW51bSxcXG4gXFx0T3B0X2RldmljZSwgT3B0X2RvbWFpbl9pZCwgT3B0X2RpcmVjdGlvLCBPcHRfZnNvZmZzZXQsIE9wdF9pbm9kZV9zaGFyZSxcXG4rXFx0T3B0X3NvdXJjZV9mZCxcXG4gfTtcXG4gXFxuIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29uc3RhbnRfdGFibGUgZXJvZnNfcGFyYW1fY2FjaGVfc3RyYXRlZ3lbXSA9IHtcXG5AQCAtNDEzLDYgKzQxNCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZnNfcGFyYW1ldGVyX3NwZWMgZXJvZnNfZnNfcGFyYW1ldGVyc1tdID0ge1xcbiBcXHRmc3BhcmFtX2ZsYWdfbm8oXFxcImRpcmVjdGlvXFxcIixcXHRPcHRfZGlyZWN0aW8pLFxcbiBcXHRmc3BhcmFtX3U2NChcXFwiZnNvZmZzZXRcXFwiLFxcdFxcdE9wdF9mc29mZnNldCksXFxuIFxcdGZzcGFyYW1fZmxhZyhcXFwiaW5vZGVfc2hhcmVcXFwiLFxcdE9wdF9pbm9kZV9zaGFyZSksXFxuK1xcdGZzcGFyYW1fZmQoXFxcInNvdXJjZVxcXCIsXFx0XFx0T3B0X3NvdXJjZV9mZCksXFxuIFxcdHt9XFxuIH07XFxuIFxcbkBAIC01MjQsNiArNTI2LDExIEBAIHN0YXRpYyBpbnQgZXJvZnNfZmNfcGFyc2VfcGFyYW0oc3RydWN0IGZzX2NvbnRleHQgKmZjLFxcbiBcXHRcXHRlbHNlXFxuIFxcdFxcdFxcdHNldF9vcHQoXFx1MDAyNnNiaS1cXHUwMDNlb3B0LCBJTk9ERV9TSEFSRSk7XFxuIFxcdFxcdGJyZWFrO1xcbitcXHRjYXNlIE9wdF9zb3VyY2VfZmQ6XFxuK1xcdFxcdGlmIChzYmktXFx1MDAzZWRpZjAuZmlsZSlcXG4rXFx0XFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcdFxcdHNiaS1cXHUwMDNlZGlmMC5maWxlID0gZ2V0X2ZpbGUocGFyYW0tXFx1MDAzZWZpbGUpO1xcbitcXHRcXHRicmVhaztcXG4gXFx0fVxcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbkBAIC03NTIsMTQgKzc1OSwxOCBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX2ZpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGZzX2NvbnRleHQgKmZjKVxcbiBcXG4gc3RhdGljIGludCBlcm9mc19mY19nZXRfdHJlZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXFxuIHtcXG4tXFx0aW50IHJldDtcXG4rXFx0c3RydWN0IGVyb2ZzX3NiX2luZm8gKnNiaSA9IGZjLVxcdTAwM2VzX2ZzX2luZm87XFxuK1xcdHN0cnVjdCBmaWxlICpmaWxlID0gc2JpLVxcdTAwM2VkaWYwLmZpbGU7XFxuIFxcbi1cXHRyZXQgPSBnZXRfdHJlZV9iZGV2X2ZsYWdzKGZjLCBlcm9mc19mY19maWxsX3N1cGVyLFxcbi1cXHRcXHRJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgP1xcbi1cXHRcXHRcXHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xcbi1cXHRpZiAoSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIFxcdTAwMjZcXHUwMDI2IHJldCA9PSAtRU5PVEJMSykge1xcbi1cXHRcXHRzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpID0gZmMtXFx1MDAzZXNfZnNfaW5mbztcXG4tXFx0XFx0c3RydWN0IGZpbGUgKmZpbGU7XFxuK1xcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8ICFmaWxlKSB7XFxuK1xcdFxcdGludCByZXQ7XFxuK1xcbitcXHRcXHRyZXQgPSBnZXRfdHJlZV9iZGV2X2ZsYWdzKGZjLCBlcm9mc19mY19maWxsX3N1cGVyLFxcbitcXHRcXHRcXHRJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgP1xcbitcXHRcXHRcXHRcXHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xcbitcXHRcXHRpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSB8fFxcbitcXHRcXHQgICAgcmV0ICE9IC1FTk9UQkxLKVxcbitcXHRcXHRcXHRyZXR1cm4gcmV0O1xcbiBcXG4gXFx0XFx0aWYgKCFmYy1cXHUwMDNlc291cmNlKVxcbiBcXHRcXHRcXHRyZXR1cm4gaW52YWxmKGZjLCBcXFwiTm8gc291cmNlIHNwZWNpZmllZFxcXCIpO1xcbkBAIC03NjcsMTIgKzc3OCwxMyBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX2dldF90cmVlKHN0cnVjdCBmc19jb250ZXh0ICpmYylcXG4gXFx0XFx0aWYgKElTX0VSUihmaWxlKSlcXG4gXFx0XFx0XFx0cmV0dXJuIFBUUl9FUlIoZmlsZSk7XFxuIFxcdFxcdHNiaS1cXHUwMDNlZGlmMC5maWxlID0gZmlsZTtcXG4tXFxuLVxcdFxcdGlmIChTX0lTUkVHKGZpbGVfaW5vZGUoc2JpLVxcdTAwM2VkaWYwLmZpbGUpLVxcdTAwM2VpX21vZGUpIFxcdTAwMjZcXHUwMDI2XFxuLVxcdFxcdCAgICBzYmktXFx1MDAzZWRpZjAuZmlsZS1cXHUwMDNlZl9tYXBwaW5nLVxcdTAwM2VhX29wcy1cXHUwMDNlcmVhZF9mb2xpbylcXG4tXFx0XFx0XFx0cmV0dXJuIGdldF90cmVlX25vZGV2KGZjLCBlcm9mc19mY19maWxsX3N1cGVyKTtcXG4gXFx0fVxcbi1cXHRyZXR1cm4gcmV0O1xcbitcXHRpZiAoIVNfSVNSRUcoZmlsZV9pbm9kZShmaWxlKS1cXHUwMDNlaV9tb2RlKSB8fFxcbitcXHQgICAgIWZpbGUtXFx1MDAzZWZfbWFwcGluZy1cXHUwMDNlYV9vcHMtXFx1MDAzZXJlYWRfZm9saW8pIHtcXG4rXFx0XFx0ZXJyb3JmYyhmYywgXFxcInNvdXJjZSBpcyB1bnN1cHBvcnRlZFxcXCIpO1xcbitcXHRcXHRyZXR1cm4gLUVJTlZBTDtcXG4rXFx0fVxcbitcXHRyZXR1cm4gZ2V0X3RyZWVfbm9kZXYoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIpO1xcbiB9XFxuIFxcbiBzdGF0aWMgaW50IGVyb2ZzX2ZjX3JlY29uZmlndXJlKHN0cnVjdCBmc19jb250ZXh0ICpmYylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDA6Mjk6MDUuNjA2MjkwOTg4WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMTk3ODA4MDMyOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJFUk9GU19GU1wiLFxuICAgIFwiRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEVcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJlcm9mc19mY19wYXJzZV9wYXJhbVwiLFxuICAgIFwiZXJvZnNfZmNfZ2V0X3RyZWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1vdW50IG9wdGlvbiAnc291cmNlJyBmb3IgRVJPRlMgdGhhdCB0YWtlcyBhIGZpbGUgZGVzY3JpcHRvciwgYWxsb3dpbmcgbW91bnRpbmcgRVJPRlMgZGlyZWN0bHkgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSBtb3VudCBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNTI2OTBiOTJiZjg2OWY3MmEwMGIwNDM4NzUxNjE1YjZlZjRjOTNjOFxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTdW4gSnVsIDEyIDAwOjI5OjAzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZnMvZXJvZnMvc3VwZXIuYyBiL2ZzL2Vyb2ZzL3N1cGVyLmNcbmluZGV4IDg2ZmE1YzZhMGM3MDg3Li4zMDQwZDRjZjliODU2ZiAxMDA2NDRcbi0tLSBhL2ZzL2Vyb2ZzL3N1cGVyLmNcbisrKyBiL2ZzL2Vyb2ZzL3N1cGVyLmNcbkBAIC0zODYsNiArMzg2LDcgQEAgc3RhdGljIHZvaWQgZXJvZnNfZGVmYXVsdF9vcHRpb25zKHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkpXG4gZW51bSB7XG4gXHRPcHRfdXNlcl94YXR0ciwgT3B0X2FjbCwgT3B0X2NhY2hlX3N0cmF0ZWd5LCBPcHRfZGF4LCBPcHRfZGF4X2VudW0sXG4gXHRPcHRfZGV2aWNlLCBPcHRfZG9tYWluX2lkLCBPcHRfZGlyZWN0aW8sIE9wdF9mc29mZnNldCwgT3B0X2lub2RlX3NoYXJlLFxuK1x0T3B0X3NvdXJjZV9mZCxcbiB9O1xuIFxuIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29uc3RhbnRfdGFibGUgZXJvZnNfcGFyYW1fY2FjaGVfc3RyYXRlZ3lbXSA9IHtcbkBAIC00MTMsNiArNDE0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmc19wYXJhbWV0ZXJfc3BlYyBlcm9mc19mc19wYXJhbWV0ZXJzW10gPSB7XG4gXHRmc3BhcmFtX2ZsYWdfbm8oXCJkaXJlY3Rpb1wiLFx0T3B0X2RpcmVjdGlvKSxcbiBcdGZzcGFyYW1fdTY0KFwiZnNvZmZzZXRcIixcdFx0T3B0X2Zzb2Zmc2V0KSxcbiBcdGZzcGFyYW1fZmxhZyhcImlub2RlX3NoYXJlXCIsXHRPcHRfaW5vZGVfc2hhcmUpLFxuK1x0ZnNwYXJhbV9mZChcInNvdXJjZVwiLFx0XHRPcHRfc291cmNlX2ZkKSxcbiBcdHt9XG4gfTtcbiBcbkBAIC01MjQsNiArNTI2LDExIEBAIHN0YXRpYyBpbnQgZXJvZnNfZmNfcGFyc2VfcGFyYW0oc3RydWN0IGZzX2NvbnRleHQgKmZjLFxuIFx0XHRlbHNlXG4gXHRcdFx0c2V0X29wdChcdTAwMjZzYmktXHUwMDNlb3B0LCBJTk9ERV9TSEFSRSk7XG4gXHRcdGJyZWFrO1xuK1x0Y2FzZSBPcHRfc291cmNlX2ZkOlxuK1x0XHRpZiAoc2JpLVx1MDAzZWRpZjAuZmlsZSlcbitcdFx0XHRyZXR1cm4gLUVJTlZBTDtcbitcdFx0c2JpLVx1MDAzZWRpZjAuZmlsZSA9IGdldF9maWxlKHBhcmFtLVx1MDAzZWZpbGUpO1xuK1x0XHRicmVhaztcbiBcdH1cbiBcdHJldHVybiAwO1xuIH1cbkBAIC03NTIsMTQgKzc1OSwxOCBAQCBzdGF0aWMgaW50IGVyb2ZzX2ZjX2ZpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IGZzX2NvbnRleHQgKmZjKVxuIFxuIHN0YXRpYyBpbnQgZXJvZnNfZmNfZ2V0X3RyZWUoc3RydWN0IGZzX2NvbnRleHQgKmZjKVxuIHtcbi1cdGludCByZXQ7XG4rXHRzdHJ1Y3QgZXJvZnNfc2JfaW5mbyAqc2JpID0gZmMtXHUwMDNlc19mc19pbmZvO1xuK1x0c3RydWN0IGZpbGUgKmZpbGUgPSBzYmktXHUwMDNlZGlmMC5maWxlO1xuIFxuLVx0cmV0ID0gZ2V0X3RyZWVfYmRldl9mbGFncyhmYywgZXJvZnNfZmNfZmlsbF9zdXBlcixcbi1cdFx0SVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpID9cbi1cdFx0XHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xuLVx0aWYgKElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSBcdTAwMjZcdTAwMjYgcmV0ID09IC1FTk9UQkxLKSB7XG4tXHRcdHN0cnVjdCBlcm9mc19zYl9pbmZvICpzYmkgPSBmYy1cdTAwM2VzX2ZzX2luZm87XG4tXHRcdHN0cnVjdCBmaWxlICpmaWxlO1xuK1x0aWYgKCFJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgfHwgIWZpbGUpIHtcbitcdFx0aW50IHJldDtcbitcbitcdFx0cmV0ID0gZ2V0X3RyZWVfYmRldl9mbGFncyhmYywgZXJvZnNfZmNfZmlsbF9zdXBlcixcbitcdFx0XHRJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgP1xuK1x0XHRcdFx0R0VUX1RSRUVfQkRFVl9RVUlFVF9MT09LVVAgOiAwKTtcbitcdFx0aWYgKCFJU19FTkFCTEVEKENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRSkgfHxcbitcdFx0ICAgIHJldCAhPSAtRU5PVEJMSylcbitcdFx0XHRyZXR1cm4gcmV0O1xuIFxuIFx0XHRpZiAoIWZjLVx1MDAzZXNvdXJjZSlcbiBcdFx0XHRyZXR1cm4gaW52YWxmKGZjLCBcIk5vIHNvdXJjZSBzcGVjaWZpZWRcIik7XG5AQCAtNzY3LDEyICs3NzgsMTMgQEAgc3RhdGljIGludCBlcm9mc19mY19nZXRfdHJlZShzdHJ1Y3QgZnNfY29udGV4dCAqZmMpXG4gXHRcdGlmIChJU19FUlIoZmlsZSkpXG4gXHRcdFx0cmV0dXJuIFBUUl9FUlIoZmlsZSk7XG4gXHRcdHNiaS1cdTAwM2VkaWYwLmZpbGUgPSBmaWxlO1xuLVxuLVx0XHRpZiAoU19JU1JFRyhmaWxlX2lub2RlKHNiaS1cdTAwM2VkaWYwLmZpbGUpLVx1MDAzZWlfbW9kZSkgXHUwMDI2XHUwMDI2XG4tXHRcdCAgICBzYmktXHUwMDNlZGlmMC5maWxlLVx1MDAzZWZfbWFwcGluZy1cdTAwM2VhX29wcy1cdTAwM2VyZWFkX2ZvbGlvKVxuLVx0XHRcdHJldHVybiBnZXRfdHJlZV9ub2RldihmYywgZXJvZnNfZmNfZmlsbF9zdXBlcik7XG4gXHR9XG4tXHRyZXR1cm4gcmV0O1xuK1x0aWYgKCFTX0lTUkVHKGZpbGVfaW5vZGUoZmlsZSktXHUwMDNlaV9tb2RlKSB8fFxuK1x0ICAgICFmaWxlLVx1MDAzZWZfbWFwcGluZy1cdTAwM2VhX29wcy1cdTAwM2VyZWFkX2ZvbGlvKSB7XG4rXHRcdGVycm9yZmMoZmMsIFwic291cmNlIGlzIHVuc3VwcG9ydGVkXCIpO1xuK1x0XHRyZXR1cm4gLUVJTlZBTDtcbitcdH1cbitcdHJldHVybiBnZXRfdHJlZV9ub2RldihmYywgZXJvZnNfZmNfZmlsbF9zdXBlcik7XG4gfVxuIFxuIHN0YXRpYyBpbnQgZXJvZnNfZmNfcmVjb25maWd1cmUoc3RydWN0IGZzX2NvbnRleHQgKmZjKVxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDA6Mjk6MDUuNjA2MjkyMjQ4WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTc3NDc5NzkwMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipFUk9GUyBNb3VudCBMb2dpYyBcdTAwMjYgRnV6emluZyBTdHJhdGVneSoqXG5cbk9rYXksIHNvIEkndmUgYmVlbiBsb29raW5nIGF0IHRoaXMgcGF0Y2ggZm9yIGBmcy9lcm9mcy9zdXBlci5jYC4gSXQncyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLCBidXQgaXQncyBhZGRpbmcgc29tZSBpbnRlcmVzdGluZyBuZXcgbW91bnQgZnVuY3Rpb25hbGl0eS4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcIlRoaXMgaXMgZ29vZCwgbGV0J3MgbG9vayBhdCB0aGUgaW1wbGljYXRpb25zXCIuXG5cbkVzc2VudGlhbGx5LCBpdCdzIGludHJvZHVjaW5nIGEgbmV3IG1vdW50IG9wdGlvbiwgYHNvdXJjZWAsIHdoaWNoIGFjY2VwdHMgYSBmaWxlIGRlc2NyaXB0b3IgKGBPcHRfc291cmNlX2ZkYCkuIFJhdGhlciB0aGFuIHJlYWRpbmcgdGhlIEVST0ZTIGltYWdlIGZyb20gYSBmaWxlIHBhdGgsIHdlJ3JlIG5vdyBhYmxlIHRvIG1vdW50IGRpcmVjdGx5IGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuIExvb2tpbmcgYXQgdGhlIGNvZGUsIGBlcm9mc19mY19wYXJzZV9wYXJhbWAgaXMgbW9kaWZpZWQgdG8gcGFyc2UgdGhlIG1vdW50IG9wdGlvbnMgYW5kIHN0b3JlcyB0aGUgZmlsZSBkZXNjcmlwdG9yIGluIGBzYmktXHUwMDNlZGlmMC5maWxlYCwgYW5kIHRoZW4gYGVyb2ZzX2ZjX2dldF90cmVlYCB1c2VzIHRoYXQgZmlsZSBkZXNjcmlwdG9yLCBpZiBpdCdzIHRoZXJlLCBpbnN0ZWFkIG9mIHRyeWluZyB0byBvcGVuIHRoZSBwYXRoIGluIGBmYy1cdTAwM2Vzb3VyY2VgLiBQcmV0dHkgZWxlZ2FudCwgYW5kIGEgdXNlZnVsIGZlYXR1cmUuXG5cblRoZSBjb2RlIHNlZW1zIHNvdW5kIOKAkyBpdCdzIGZ1bmN0aW9uYWwgYW5kIGVmZmVjdGl2ZWx5IGNoYW5nZXMgdGhlIEVST0ZTIG1vdW50IGxvZ2ljIHRvIHN1cHBvcnQgdGhpcyBuZXcgc291cmNlIG1lY2hhbmlzbS4gVGhpcyBkaXJlY3QgZmlsZSBkZXNjcmlwdG9yIGFwcHJvYWNoIGlzIGRlZmluaXRlbHkgc29tZXRoaW5nIEkgd2FudCB0byBmdXp6IGhlYXZpbHkuIFRoZSByaXNrIG9mIG9mZi1ieS1vbmUgZXJyb3JzIHdpdGggYW4gRkQgYXJlIGhpZ2hlciB0aGFuIGp1c3QgcmVhZGluZyBhIGZpbGUuXG5cbkdpdmVuIHRoYXQsIEkgbmVlZCB0byBmb2N1cyBteSBmdXp6aW5nIGVmZm9ydHMgb24gYGVyb2ZzX2ZjX3BhcnNlX3BhcmFtYCBhbmQgYGVyb2ZzX2ZjX2dldF90cmVlYC4gVGhvc2UgYXJlIHRoZSBjcml0aWNhbCBmdW5jdGlvbnMgdGhhdCBoYW5kbGUgdGhlIG5ldyBgc291cmNlYCBvcHRpb24gYW5kIHJlYWQgdGhlIGRhdGEuXG5cbkJlZm9yZSBJIGdldCBzdGFydGVkLCBJIG5lZWQgdG8gY2hlY2sgdGhlIHJlcXVpcmVkIGtlcm5lbCBjb25maWdzLiBJIGtub3cgSSdsbCBuZWVkIGBDT05GSUdfRVJPRlNfRlNgIGVuYWJsZWQsIG9idmlvdXNseSwgYW5kIEknbGwgYWxzbyBuZWVkIHRvIHZlcmlmeSB0aGF0IGBDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEVgIGlzIGFsc28gZW5hYmxlZCwgYXMgdGhlIHBhdGNoIHNwZWNpZmljYWxseSBtZW50aW9ucyBpdC4gSSBzaG91bGQgZ28gYWhlYWQgYW5kIGNvbmZpcm0gdGhhdCByaWdodCBub3cuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI3NjEsIk91dHB1dFRva2VucyI6MzYsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMjIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwMDoyOToxMS4zODEwOTI0NFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNDE4MjAyMzUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEVcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMvZXJvZnMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL2Vyb2ZzL0tjb25maWc9ODU9Y29uZmlnIEVST0ZTX0ZTX1NFQ1VSSVRZXFxuLS1cXG5mcy9lcm9mcy9LY29uZmlnLTk3LVxcbmZzL2Vyb2ZzL0tjb25maWc6OTg6Y29uZmlnIEVST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFXFxuZnMvZXJvZnMvS2NvbmZpZy05OS1cXHRib29sIFxcXCJGaWxlLWJhY2tlZCBFUk9GUyBmaWxlc3lzdGVtIHN1cHBvcnRcXFwiXFxuLS1cXG5mcy9lcm9mcy9NYWtlZmlsZT0xMD1lcm9mcy0kKENPTkZJR19FUk9GU19GU19aSVBfQUNDRUwpICs9IGRlY29tcHJlc3Nvcl9jcnlwdG8ub1xcbmZzL2Vyb2ZzL01ha2VmaWxlOjExOmVyb2ZzLSQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSArPSBmaWxlaW8ub1xcbmZzL2Vyb2ZzL01ha2VmaWxlLTEyLWVyb2ZzLSQoQ09ORklHX0VST0ZTX0ZTX1BBR0VfQ0FDSEVfU0hBUkUpICs9IGlzaGFyZS5vXFxuLS1cXG5mcy9lcm9mcy9pbnRlcm5hbC5oPTE2ND1zdGF0aWMgaW5saW5lIGJvb2wgZXJvZnNfaXNfZmlsZWlvX21vZGUoc3RydWN0IGVyb2ZzX3NiX2luZm8gKnNiaSlcXG5mcy9lcm9mcy9pbnRlcm5hbC5oLTE2NS17XFxuZnMvZXJvZnMvaW50ZXJuYWwuaDoxNjY6XFx0cmV0dXJuIElTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSBcXHUwMDI2XFx1MDAyNiBzYmktXFx1MDAzZWRpZjAuZmlsZTtcXG5mcy9lcm9mcy9pbnRlcm5hbC5oLTE2Ny19XFxuLS1cXG5mcy9lcm9mcy9pbnRlcm5hbC5oPTQ0MT1lcm9mc19nZXRfYW9wcyhzdHJ1Y3QgaW5vZGUgKnJlYWxpbm9kZSlcXG4tLVxcbmZzL2Vyb2ZzL2ludGVybmFsLmgtNDUwLVxcdH1cXG5mcy9lcm9mcy9pbnRlcm5hbC5oOjQ1MTpcXHRpZiAoSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIFxcdTAwMjZcXHUwMDI2XFxuZnMvZXJvZnMvaW50ZXJuYWwuaC00NTItXFx0ICAgIGVyb2ZzX2lzX2ZpbGVpb19tb2RlKEVST0ZTX1NCKHJlYWxpbm9kZS1cXHUwMDNlaV9zYikpKVxcbi0tXFxuZnMvZXJvZnMvaW50ZXJuYWwuaD01MDM9aW50IHpfZXJvZnNfcGFyc2VfY2ZncyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBzdHJ1Y3QgZXJvZnNfc3VwZXJfYmxvY2sgKmRzYik7XFxuZnMvZXJvZnMvaW50ZXJuYWwuaC01MDQtXFxuZnMvZXJvZnMvaW50ZXJuYWwuaDo1MDU6I2lmZGVmIENPTkZJR19FUk9GU19GU19CQUNLRURfQllfRklMRVxcbmZzL2Vyb2ZzL2ludGVybmFsLmgtNTA2LXN0cnVjdCBiaW8gKmVyb2ZzX2ZpbGVpb19iaW9fYWxsb2Moc3RydWN0IGVyb2ZzX21hcF9kZXYgKm1kZXYpO1xcbi0tXFxuZnMvZXJvZnMvc3VwZXIuYz00NDI9c3RhdGljIGludCBlcm9mc19mY19wYXJzZV9wYXJhbShzdHJ1Y3QgZnNfY29udGV4dCAqZmMsXFxuLS1cXG5mcy9lcm9mcy9zdXBlci5jLTUxMi1cXHRjYXNlIE9wdF9kaXJlY3RpbzpcXG5mcy9lcm9mcy9zdXBlci5jOjUxMzpcXHRcXHRpZiAoIUlTX0VOQUJMRUQoQ09ORklHX0VST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFKSlcXG5mcy9lcm9mcy9zdXBlci5jLTUxNC1cXHRcXHRcXHRlcnJvcmZjKGZjLCBcXFwiJXMgb3B0aW9uIG5vdCBzdXBwb3J0ZWRcXFwiLCBlcm9mc19mc19wYXJhbWV0ZXJzW29wdF0ubmFtZSk7XFxuLS1cXG5mcy9lcm9mcy9zdXBlci5jPTc2MD1zdGF0aWMgaW50IGVyb2ZzX2ZjX2dldF90cmVlKHN0cnVjdCBmc19jb250ZXh0ICpmYylcXG4tLVxcbmZzL2Vyb2ZzL3N1cGVyLmMtNzY0LVxcbmZzL2Vyb2ZzL3N1cGVyLmM6NzY1OlxcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8ICFmaWxlKSB7XFxuZnMvZXJvZnMvc3VwZXIuYy03NjYtXFx0XFx0aW50IHJldDtcXG4tLVxcbmZzL2Vyb2ZzL3N1cGVyLmMtNzY4LVxcdFxcdHJldCA9IGdldF90cmVlX2JkZXZfZmxhZ3MoZmMsIGVyb2ZzX2ZjX2ZpbGxfc3VwZXIsXFxuZnMvZXJvZnMvc3VwZXIuYzo3Njk6XFx0XFx0XFx0SVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpID9cXG5mcy9lcm9mcy9zdXBlci5jLTc3MC1cXHRcXHRcXHRcXHRHRVRfVFJFRV9CREVWX1FVSUVUX0xPT0tVUCA6IDApO1xcbmZzL2Vyb2ZzL3N1cGVyLmM6NzcxOlxcdFxcdGlmICghSVNfRU5BQkxFRChDT05GSUdfRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEUpIHx8XFxuZnMvZXJvZnMvc3VwZXIuYy03NzItXFx0XFx0ICAgIHJldCAhPSAtRU5PVEJMSylcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDA6Mjk6MTEuNjIyOTE4MzU1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTY3MjcxMjQ5OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEVST0ZTIEZpbGUgRGVzY3JpcHRvciBNb3VudCBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24sIGBzb3VyY2VgLCB0aGF0IGFjY2VwdHMgYSBmaWxlIGRlc2NyaXB0b3IuIFRoYXQncyBhIHByZXR0eSBzaWduaWZpY2FudCBmdW5jdGlvbmFsIGNoYW5nZSDigJMgaXQgYWxsb3dzIG1vdW50aW5nIEVST0ZTIGRpcmVjdGx5IGZyb20gYSBmaWxlIGRlc2NyaXB0b3IsIHdoaWNoIGlzIGEgZGVwYXJ0dXJlIGZyb20gdGhlIHRyYWRpdGlvbmFsIG1ldGhvZHMuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoaXMgbmV3IG1vdW50aW5nIHBhdGh3YXkgdGhvcm91Z2hseS5cblxuVGhlIGNvcmUgb2YgdGhlIGNoYW5nZSBzZWVtcyB0byBiZSBpbiB0aGUgbW91bnQgbG9naWMuIFRoZSByZWxldmFudCBjb25maWdzIGFyZSBgRVJPRlNfRlNgIGFuZCwgaW1wb3J0YW50bHksIGBFUk9GU19GU19CQUNLRURfQllfRklMRWAgc2luY2UgdGhpcyBkaXJlY3RseSByZWxhdGVzIHRvIHRoZSBmaWxlLWJhY2tlZCBhc3BlY3QgdGhhdCdzIGJlaW5nIG1vZGlmaWVkLiBJ4oCZbGwgbmVlZCB0byBjb25maXJtIGlmIGFueSBvdGhlciBjb25maWd1cmF0aW9ucyBhcmUgcmVxdWlyZWQsIHRob3VnaC4gYEVST0ZTX0ZTYCBpcyB0aGUgbWFpbiBvbmUsIG9idmlvdXNseSwgYnV0IGBFUk9GU19GU19CQUNLRURfQllfRklMRWAgaXMgKmNydWNpYWwqIGhlcmUuXG5cbk5vdywgdG8gYXNzZXNzIHRoaXMgZm9yIGZ1enppbmcsIEkgbmVlZCB0byBpZGVudGlmeSB0aGUga2V5IGZ1bmN0aW9ucyBpbnZvbHZlZC4gTG9va3MgbGlrZSBgZXJvZnNfZmNfcGFyc2VfcGFyYW1gIGhhbmRsZXMgdGhlIHBhcnNpbmcgb2YgdGhlIG1vdW50IG9wdGlvbnMgYW5kIGBlcm9mc19mY19nZXRfdHJlZWAgd2lsbCBoYW5kbGUgZ2V0dGluZyB0aGUgZmlsZSBzeXN0ZW0gdHJlZS4gVGhvc2UgYXJlIG15IHByaW1hcnkgdGFyZ2V0cy5cblxuVGhlcmVmb3JlLCBmb3IgdGhpcyBmdXp6aW5nIGNhbXBhaWduLCBJ4oCZbGwgc2V0OlxuXG4qICAgYFdvcnRoRnV6emluZ2A6IGB0cnVlYCDigJMgYmVjYXVzZSB0aGlzIGlzIGEgbmV3IG1vdW50aW5nIG1ldGhvZCB3aXRoIHBvdGVudGlhbCBhdHRhY2sgc3VyZmFjZS5cbiogICBgRm9jdXNTeW1ib2xzYDogYFtcImVyb2ZzX2ZjX3BhcnNlX3BhcmFtXCIsIFwiZXJvZnNfZmNfZ2V0X3RyZWVcIl1gIOKAkyB0byBjb25jZW50cmF0ZSBmdXp6aW5nIGVmZm9ydHMgd2hlcmUgdGhlIG5ldyBmdW5jdGlvbmFsaXR5IGlzIGltcGxlbWVudGVkLlxuKiAgIGBFbmFibGVDb25maWdzYDogYFtcIkVST0ZTX0ZTXCIsIFwiRVJPRlNfRlNfQkFDS0VEX0JZX0ZJTEVcIl1gIOKAkyB0byBlbnN1cmUgdGhlIG5lY2Vzc2FyeSBjb25maWd1cmF0aW9ucyBmb3IgdGVzdGluZyB0aGUgbmV3IGZpbGUgZGVzY3JpcHRvciBtb3VudGluZy5cbiogICBgUmVhc29uaW5nYDogXCJUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24gJ3NvdXJjZScgZm9yIEVST0ZTIHRoYXQgdGFrZXMgYSBmaWxlIGRlc2NyaXB0b3IsIGFsbG93aW5nIG1vdW50aW5nIEVST0ZTIGRpcmVjdGx5IGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbW91bnQgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiXG5cbkknbGwgYmUgYWJsZSB0byBlZmZlY3RpdmVseSBwcm9iZSB0aGlzIG5ldyBmZWF0dXJlIHdpdGggdGhpcyBjb25maWd1cmF0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NDY5LCJPdXRwdXRUb2tlbnMiOjExOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI1NCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwMDoyOToxNy4yOTU2MzMwMjNaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI4ODczMzE1MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiRVJPRlNfRlNcIixcbiAgICBcIkVST0ZTX0ZTX0JBQ0tFRF9CWV9GSUxFXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiZXJvZnNfZmNfcGFyc2VfcGFyYW1cIixcbiAgICBcImVyb2ZzX2ZjX2dldF90cmVlXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtb3VudCBvcHRpb24gJ3NvdXJjZScgZm9yIEVST0ZTIHRoYXQgdGFrZXMgYSBmaWxlIGRlc2NyaXB0b3IsIGFsbG93aW5nIG1vdW50aW5nIEVST0ZTIGRpcmVjdGx5IGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgbW91bnQgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkVST0ZTX0ZTXCIsXG4gICAgXCJFUk9GU19GU19CQUNLRURfQllfRklMRVwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImVyb2ZzX2ZjX3BhcnNlX3BhcmFtXCIsXG4gICAgXCJlcm9mc19mY19nZXRfdHJlZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgbW91bnQgb3B0aW9uICdzb3VyY2UnIGZvciBFUk9GUyB0aGF0IHRha2VzIGEgZmlsZSBkZXNjcmlwdG9yLCBhbGxvd2luZyBtb3VudGluZyBFUk9GUyBkaXJlY3RseSBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIG1vdW50IGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[1] Phase: Succeeded StartedAt: 2026-07-12 00:29:38 +0000 UTC FinishedAt: 2026-07-12 00:29:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-12 00:29:38 +0000 UTC FinishedAt: 2026-07-12 00:29:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2] Phase: Succeeded StartedAt: 2026-07-12 00:29:38 +0000 UTC FinishedAt: 2026-07-12 05:28:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-12 00:29:38 +0000 UTC FinishedAt: 2026-07-12 05:28:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 00:29:38 +0000 UTC FinishedAt: 2026-07-12 00:29:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 00:29:38 +0000 UTC FinishedAt: 2026-07-12 00:29:47 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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-workflowsbtsd/series-workflowsbtsd-convert-artifact-1543377488/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 00:29:59 +0000 UTC FinishedAt: 2026-07-12 01:18:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 00:29:59 +0000 UTC FinishedAt: 2026-07-12 01:18:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*5a20a83c-d405-4c0f-a525-573bbed2fb80,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-workflowsbtsd/series-workflowsbtsd-convert-artifact-1543377488/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": "7cdb9ce5-2962-4415-93dd-6d75718f4001", "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-workflowsbtsd/series-workflowsbtsd-build-action-2658205910/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 00:29:59 +0000 UTC FinishedAt: 2026-07-12 01:18:03 +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:*5a20a83c-d405-4c0f-a525-573bbed2fb80,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-workflowsbtsd/series-workflowsbtsd-convert-artifact-1543377488/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": "7cdb9ce5-2962-4415-93dd-6d75718f4001", "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-workflowsbtsd/series-workflowsbtsd-build-action-2658205910/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:18:24 +0000 UTC FinishedAt: 2026-07-12 01:18:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:18:24 +0000 UTC FinishedAt: 2026-07-12 01:18:24 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:18:24 +0000 UTC FinishedAt: 2026-07-12 01:18:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:18:24 +0000 UTC FinishedAt: 2026-07-12 01:18:30 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-workflowsbtsd/series-workflowsbtsd-convert-artifact-563224503/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:18:34 +0000 UTC FinishedAt: 2026-07-12 01:20:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:18:34 +0000 UTC FinishedAt: 2026-07-12 01:20:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*7cdb9ce5-2962-4415-93dd-6d75718f4001,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-workflowsbtsd/series-workflowsbtsd-build-action-2658205910/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-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:20:48 +0000 UTC FinishedAt: 2026-07-12 01:20:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:20:48 +0000 UTC FinishedAt: 2026-07-12 01:20:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:20:48 +0000 UTC FinishedAt: 2026-07-12 02:21:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:20:48 +0000 UTC FinishedAt: 2026-07-12 02:21:42 +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:*5a20a83c-d405-4c0f-a525-573bbed2fb80,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-workflowsbtsd/series-workflowsbtsd-convert-artifact-563224503/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": "7001c916-b448-49ef-95f6-64a4e1ce6140", "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-workflowsbtsd/series-workflowsbtsd-build-action-2332393339/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 01:20:48 +0000 UTC FinishedAt: 2026-07-12 02:20:52 +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:*5a20a83c-d405-4c0f-a525-573bbed2fb80,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-workflowsbtsd/series-workflowsbtsd-convert-artifact-563224503/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": "7001c916-b448-49ef-95f6-64a4e1ce6140", "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-workflowsbtsd/series-workflowsbtsd-build-action-2332393339/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:21:42 +0000 UTC FinishedAt: 2026-07-12 02:21:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:21:42 +0000 UTC FinishedAt: 2026-07-12 02:21:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:21:42 +0000 UTC FinishedAt: 2026-07-12 02:23:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:21:42 +0000 UTC FinishedAt: 2026-07-12 02:23:43 +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:*7001c916-b448-49ef-95f6-64a4e1ce6140,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-workflowsbtsd/series-workflowsbtsd-build-action-2332393339/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-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:23:53 +0000 UTC FinishedAt: 2026-07-12 05:28:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:23:53 +0000 UTC FinishedAt: 2026-07-12 05:28:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"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:*7cdb9ce5-2962-4415-93dd-6d75718f4001,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*7001c916-b448-49ef-95f6-64a4e1ce6140,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-workflowsbtsd/series-workflowsbtsd-build-action-2658205910/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-workflowsbtsd/series-workflowsbtsd-build-action-2332393339/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:23:53 +0000 UTC FinishedAt: 2026-07-12 02:24:03 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:23:53 +0000 UTC FinishedAt: 2026-07-12 02:23:58 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"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-workflowsbtsd/series-workflowsbtsd-convert-artifact-1985322480/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:23:53 +0000 UTC FinishedAt: 2026-07-12 02:23:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:23:53 +0000 UTC FinishedAt: 2026-07-12 02:23:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:23:53 +0000 UTC FinishedAt: 2026-07-12 02:23:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:24:03 +0000 UTC FinishedAt: 2026-07-12 05:28:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsbtsd[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"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/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["erofs_fc_parse_param","erofs_fc_get_tree"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["EROFS_FS","EROFS_FS_BACKED_BY_FILE"],"series_id":"0a2f8c99-b435-4119-a6af-0f2cea40d98c","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-07-12 02:24:03 +0000 UTC FinishedAt: 2026-07-12 05:27:51 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*7cdb9ce5-2962-4415-93dd-6d75718f4001,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*7001c916-b448-49ef-95f6-64a4e1ce6140,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-workflowsbtsd/series-workflowsbtsd-build-action-2658205910/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-workflowsbtsd/series-workflowsbtsd-build-action-2332393339/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-workflowsbtsd/series-workflowsbtsd-convert-artifact-1985322480/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,}