Name: series-workflowcnz4m Phase: Succeeded StartedAt: 2026-07-09 19:56:53 +0000 UTC FinishedAt: 2026-07-10 00:48:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[0] Phase: Succeeded StartedAt: 2026-07-09 19:56:53 +0000 UTC FinishedAt: 2026-07-09 20:15:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[0].run-triage Phase: Succeeded StartedAt: 2026-07-09 19:56:53 +0000 UTC FinishedAt: 2026-07-09 20:15:54 +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": "2c7c88a412aa6d09cd04b414211b4ef8553b5309", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "XFS_FS" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "2c7c88a412aa6d09cd04b414211b4ef8553b5309", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "XFS_FS" ], "series_id": "525e92d0-4cff-4a78-b22f-27b47470c4eb" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "xfs_end_ioend_write", "xfs_end_io" ], "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+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1hGU19GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3hmc19lbmRfaW9lbmRfd3JpdGUmIzM0OywKICAgICYjMzQ7eGZzX2VuZF9pbyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAyMDoxNDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDBhYTY3M2M3M2M0OGExOWE1ZmJjNzBiMjljNTA5MjEzYjVhODI4ZTVcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCA5IDIwOjE0OjU3IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfYW9wcy5jIGIvZnMveGZzL3hmc19hb3BzLmNcbmluZGV4IDUxMjkzYjZmMzMxZjBiLi44MjY4YTNmODAzOThmOSAxMDA2NDRcbi0tLSBhL2ZzL3hmcy94ZnNfYW9wcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9mcy94ZnMveGZzX2FvcHMuY1xuQEAgLTEzMSwxMSAmIzQzOzEzMSwxMSBAQCB4ZnNfZW5kX2lvZW5kX3dyaXRlKFxuIFx0fVxuIFxuIFx0Lypcbi1cdCAqIENsZWFuIHVwIGFsbCBDT1cgYmxvY2tzIGFuZCB1bmRlcmx5aW5nIGRhdGEgZm9yayBkZWxhbGxvYyBibG9ja3Mgb25cbi1cdCAqIEkvTyBlcnJvci4gVGhlIGRlbGFsbG9jIHB1bmNoIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhpcyBpb2VuZCB3YXNcbi1cdCAqIG1hcHBlZCB0byBibG9ja3MgaW4gdGhlIENPVyBmb3JrIGFuZCB0aGUgYXNzb2NpYXRlZCBwYWdlcyBhcmUgbm9cbi1cdCAqIGxvbmdlciBkaXJ0eS4gSWYgd2UgZG9uJiMzOTt0IHJlbW92ZSBkZWxhbGxvYyBibG9ja3MgaGVyZSwgdGhleSBiZWNvbWVcbi1cdCAqIHN0YWxlIGFuZCBjYW4gY29ycnVwdCBmcmVlIHNwYWNlIGFjY291bnRpbmcgb24gdW5tb3VudC5cbiYjNDM7XHQgKiBDbGVhbiB1cCBDT1cgYmxvY2tzIGFuZCBDT1cgZm9yayBkZWxhbGxvYyBibG9ja3Mgb24gSS9PIGVycm9yLlxuJiM0MztcdCAqIE9uIHRoZSBlcnJvciBwYXRoIHhmc19yZWZsaW5rX2VuZF9jb3coKSBpcyBuZXZlciBjYWxsZWQsIHNvIHRoZVxuJiM0MztcdCAqIENPVyBmb3JrIGV4dGVudHMgaGF2ZSBub3QgYmVlbiBtb3ZlZCB0byB0aGUgZGF0YSBmb3JrIHlldC4gIEFueVxuJiM0MztcdCAqIG92ZXJsYXBwaW5nIGRlbGFsbG9jIHRoYXQgbmVlZHMgdG8gYmUgY2xlYW5lZCB1cCBpcyB0aGVyZWZvcmVcbiYjNDM7XHQgKiBzdGlsbCBpbiB0aGUgQ09XIGZvcmsuXG4gXHQgKi9cbiBcdGVycm9yID0gYmxrX3N0YXR1c190b19lcnJubyhpb2VuZC1cdTAwM2Vpb19iaW8uYmlfc3RhdHVzKTtcbiBcdGlmICh1bmxpa2VseShlcnJvcikpIHtcbkBAIC0xNTMsNyAmIzQzOzE1Myw3IEBAIHhmc19lbmRfaW9lbmRfd3JpdGUoXG4gXHRcdGlmIChpb2VuZC1cdTAwM2Vpb19mbGFncyBcdTAwMjYgSU9NQVBfSU9FTkRfU0hBUkVEKSB7XG4gXHRcdFx0QVNTRVJUKCFpc196b25lZCk7XG4gXHRcdFx0eGZzX3JlZmxpbmtfY2FuY2VsX2Nvd19yYW5nZShpcCwgb2Zmc2V0LCBzaXplLCB0cnVlKTtcbi1cdFx0XHR4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0RBVEFfRk9SSywgb2Zmc2V0LFxuJiM0MztcdFx0XHR4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0NPV19GT1JLLCBvZmZzZXQsXG4gXHRcdFx0XHRcdG9mZnNldCAmIzQzOyBzaXplLCBOVUxMKTtcbiBcdFx0fVxuIFx0XHRnb3RvIGRvbmU7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMjA6MTQ8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WEZTX0ZTJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7eGZzX2VuZF9pb2VuZF93cml0ZSYjMzQ7LAogICAgJiMzNDt4ZnNfZW5kX2lvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgYnVnIGluIHRoZSBlcnJvciBoYW5kbGluZyBwYXRoIG9mIFhGUyBJL08gY29tcGxldGlvbiBmb3Igc2hhcmVkIChDT1cpIGJsb2NrcywgY2hhbmdpbmcgdGhlIGZvcmsgdHlwZSBmcm9tIFhGU19EQVRBX0ZPUksgdG8gWEZTX0NPV19GT1JLIHdoZW4gcHVuY2hpbmcgZGVsYWxsb2MgYmxvY2tzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBYRlMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwYWE2NzNjNzNjNDhhMTlhNWZiYzcwYjI5YzUwOTIxM2I1YTgyOGU1CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFRodSBKdWwgOSAyMDoxNDo1NyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfYW9wcy5jIGIvZnMveGZzL3hmc19hb3BzLmMKaW5kZXggNTEyOTNiNmYzMzFmMGIuLjgyNjhhM2Y4MDM5OGY5IDEwMDY0NAotLS0gYS9mcy94ZnMveGZzX2FvcHMuYwomIzQzOyYjNDM7JiM0MzsgYi9mcy94ZnMveGZzX2FvcHMuYwpAQCAtMTMxLDExICYjNDM7MTMxLDExIEBAIHhmc19lbmRfaW9lbmRfd3JpdGUoCiAJfQogCiAJLyoKLQkgKiBDbGVhbiB1cCBhbGwgQ09XIGJsb2NrcyBhbmQgdW5kZXJseWluZyBkYXRhIGZvcmsgZGVsYWxsb2MgYmxvY2tzIG9uCi0JICogSS9PIGVycm9yLiBUaGUgZGVsYWxsb2MgcHVuY2ggaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGlzIGlvZW5kIHdhcwotCSAqIG1hcHBlZCB0byBibG9ja3MgaW4gdGhlIENPVyBmb3JrIGFuZCB0aGUgYXNzb2NpYXRlZCBwYWdlcyBhcmUgbm8KLQkgKiBsb25nZXIgZGlydHkuIElmIHdlIGRvbiYjMzk7dCByZW1vdmUgZGVsYWxsb2MgYmxvY2tzIGhlcmUsIHRoZXkgYmVjb21lCi0JICogc3RhbGUgYW5kIGNhbiBjb3JydXB0IGZyZWUgc3BhY2UgYWNjb3VudGluZyBvbiB1bm1vdW50LgomIzQzOwkgKiBDbGVhbiB1cCBDT1cgYmxvY2tzIGFuZCBDT1cgZm9yayBkZWxhbGxvYyBibG9ja3Mgb24gSS9PIGVycm9yLgomIzQzOwkgKiBPbiB0aGUgZXJyb3IgcGF0aCB4ZnNfcmVmbGlua19lbmRfY293KCkgaXMgbmV2ZXIgY2FsbGVkLCBzbyB0aGUKJiM0MzsJICogQ09XIGZvcmsgZXh0ZW50cyBoYXZlIG5vdCBiZWVuIG1vdmVkIHRvIHRoZSBkYXRhIGZvcmsgeWV0LiAgQW55CiYjNDM7CSAqIG92ZXJsYXBwaW5nIGRlbGFsbG9jIHRoYXQgbmVlZHMgdG8gYmUgY2xlYW5lZCB1cCBpcyB0aGVyZWZvcmUKJiM0MzsJICogc3RpbGwgaW4gdGhlIENPVyBmb3JrLgogCSAqLwogCWVycm9yID0gYmxrX3N0YXR1c190b19lcnJubyhpb2VuZC0mZ3Q7aW9fYmlvLmJpX3N0YXR1cyk7CiAJaWYgKHVubGlrZWx5KGVycm9yKSkgewpAQCAtMTUzLDcgJiM0MzsxNTMsNyBAQCB4ZnNfZW5kX2lvZW5kX3dyaXRlKAogCQlpZiAoaW9lbmQtJmd0O2lvX2ZsYWdzICZhbXA7IElPTUFQX0lPRU5EX1NIQVJFRCkgewogCQkJQVNTRVJUKCFpc196b25lZCk7CiAJCQl4ZnNfcmVmbGlua19jYW5jZWxfY293X3JhbmdlKGlwLCBvZmZzZXQsIHNpemUsIHRydWUpOwotCQkJeGZzX2JtYXBfcHVuY2hfZGVsYWxsb2NfcmFuZ2UoaXAsIFhGU19EQVRBX0ZPUkssIG9mZnNldCwKJiM0MzsJCQl4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0NPV19GT1JLLCBvZmZzZXQsCiAJCQkJCW9mZnNldCAmIzQzOyBzaXplLCBOVUxMKTsKIAkJfQogCQlnb3RvIGRvbmU7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIxMzgKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAyMjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgUmVjZW50IFhGUyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQmIzM5O3MgY2F1Z2h0IG15IGV5ZSwgbW9kaWZ5aW5nIGBmcy94ZnMveGZzX2FvcHMuY2AuIFNwZWNpZmljYWxseSwgdGhlIGNoYW5nZSB0YXJnZXRzIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gVGhlIGNvcmUgb2YgaXQgc2VlbXMgdG8gYmUgYSBmb3JrIGNoYW5nZSB3aXRoaW4gYHhmc19ibWFwX3B1bmNoX2RlbGFsbG9jX3JhbmdlYC4gVGhlIGNvZGUgdXNlZCB0byBiZSBjYWxsaW5nIGl0IHdpdGggYFhGU19EQVRBX0ZPUktgLCBidXQgaXQmIzM5O3Mgbm93IHVzaW5nIGBYRlNfQ09XX0ZPUktgLiBUaGlzIHNoaWZ0IGZyb20gYFhGU19EQVRBX0ZPUktgIHRvIGBYRlNfQ09XX0ZPUktgIGluIGEgZnVuY3Rpb24gcmVsYXRlZCB0byBJL08gY29tcGxldGlvbiBpbiB0aGUgWEZTIGVycm9yIGhhbmRsaW5nIHBhdGggZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UuIEdpdmVuIG15IGV4cGVyaWVuY2UsIEkgY2FuIGltbWVkaWF0ZWx5IHNlZSB0aGUgcG90ZW50aWFsIGZvciBzb21lIGludGVyZXN0aW5nIGVkZ2UgY2FzZXMgb3IgdW5leHBlY3RlZCBiZWhhdmlvciBoZXJlLiBUaGF0JiMzOTtzIGEgY2xhc3NpYyBhcmVhIHJpcGUgZm9yIGZ1enppbmcuCgpUbyBiZSB0aG9yb3VnaCwgSSBzaG91bGQgcmV2aWV3IGB4ZnNfZW5kX2lvZW5kX3dyaXRlYCBpdHNlbGYgdG8gdW5kZXJzdGFuZCB0aGUgc3Vycm91bmRpbmcgY29udGV4dC4gSXQmIzM5O3MgaW4gdGhlIHNhbWUgZmlsZSwgYGZzL3hmcy94ZnNfYW9wcy5jYCwgc28gdGhhdCYjMzk7cyBzdHJhaWdodGZvcndhcmQuIFRoZSBjb25maWd1cmF0aW9uIHJlcXVpcmVtZW50IGlzIHNpbXBseSBgWEZTX0ZTYCwgd2hpY2ggaXMgZXhwZWN0ZWQuIEkgc2hvdWxkIGNoZWNrIHRvIHNlZSBpZiB0aGVyZSBhcmUgb3RoZXIgY29uZmlnIHJlcXVpcmVtZW50cyB0aG91Z2guCgpJJiMzOTtsbCBjaGVjayB0byBzZWUgd2hlcmUgYHhmc19lbmRfaW9lbmRfd3JpdGVgIGlzIGNhbGxlZCBmcm9tLiBJdCYjMzk7cyBjYWxsZWQgZnJvbSBgeGZzX2VuZF9pb2AsIHdoaWNoIG1lYW5zIHRoaXMgaXMgYSBsb3ctbGV2ZWwgb3BlcmF0aW9uLCBhbmQgcG90ZW50aWFsbHkgaW1wYWN0aW5nIGhvdyBlcnJvciBjb25kaXRpb25zIGFyZSBoYW5kbGVkLiBJdCYjMzk7cyB3b3J0aCBhIGRlZXAgZGl2ZSB0byBmdWxseSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMjA6MTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7eGZzX2VuZF9pb2VuZF93cml0ZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL3hmcy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMveGZzL3hmc19hb3BzLmM9MTA2PVNUQVRJQyB2b2lkXG5mcy94ZnMveGZzX2FvcHMuYzoxMDc6eGZzX2VuZF9pb2VuZF93cml0ZShcbmZzL3hmcy94ZnNfYW9wcy5jLTEwOC1cdHN0cnVjdCBpb21hcF9pb2VuZFx0KmlvZW5kKVxuLS1cbmZzL3hmcy94ZnNfYW9wcy5jPTE5OT14ZnNfZW5kX2lvKFxuLS1cbmZzL3hmcy94ZnNfYW9wcy5jLTIyMC1cdFx0ZWxzZVxuZnMveGZzL3hmc19hb3BzLmM6MjIxOlx0XHRcdHhmc19lbmRfaW9lbmRfd3JpdGUoaW9lbmQpO1xuZnMveGZzL3hmc19hb3BzLmMtMjIyLVx0XHRjb25kX3Jlc2NoZWQoKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAyMDoxNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTQ2CgkJCQkJCQlvdXRwdXQ6IDMwCgkJCQkJCQl0aG91Z2h0czogMTM1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBYRlMgSS9PIENvbXBsZXRpb24gUGF0aHMqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IGB4ZnNfZW5kX2lvZW5kX3dyaXRlYCwgd2hpY2ggSSBzZWUgaXMgYSBzdGF0aWMgZnVuY3Rpb24gd2l0aGluIGBmcy94ZnMveGZzX2FvcHMuY2AuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IHRoaXMgY291bGQgYmUgYSBrZXkgcG9pbnQgb2YgaW50ZXJlc3QgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIFhGUyBJL08gY29tcGxldGlvbiBwcm9jZXNzLiBCdXQgc2luY2UgaXQmIzM5O3Mgc3RhdGljLCBtYXliZSBgeGZzX2VuZF9pb2Agd291bGQgYmUgYSBicm9hZGVyLCBwb3RlbnRpYWxseSBtb3JlIHVzZWZ1bCBzeW1ib2wgdG8gZXhhbWluZSwgb3IgcGVyaGFwcyBJIG5lZWQgdG8gY29uc2lkZXIgYm90aC4gSSBzaG91bGQgZGVmaW5pdGVseSBpbnZlc3RpZ2F0ZSBib3RoIHRvIGNvbmZpcm0gdGhlIGFwcHJvcHJpYXRlIGxldmVsIG9mIHRoZSBjYWxsLiBOb3csIGxldCBtZSBxdWlja2x5IGRvdWJsZS1jaGVjayBgZnMveGZzL0tjb25maWdgIHRvIHJlZnJlc2ggbXkgbWVtb3J5IG9uIHRoZSBgWEZTX0ZTYCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYW5kIGRlcGVuZGVuY2llcy4gVGhpcyBoZWxwcyBuYXJyb3cgZG93biBwb3NzaWJsZSBjb2RlIHBhdGhzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBYRlNfRlMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtmcy94ZnMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL3hmcy9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5mcy94ZnMvS2NvbmZpZzoyOmNvbmZpZyBYRlNfRlNcbmZzL3hmcy9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtYRlMgZmlsZXN5c3RlbSBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMjA6MTU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzM1MwoJCQkJCQkJb3V0cHV0OiAyOQoJCQkJCQkJdGhvdWdodHM6IDUxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRob3NlIHRob3VnaHRzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBwcmVzZW50ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjoKCioqQW5hbHl6aW5nIHRoZSBDb25maWd1cmF0aW9uIGFuZCBSZWZsaW5rIFN1cHBvcnQgaW4gWEZTKioKClJpZ2h0LCB0aGUgY3VycmVudCBjb25maWcgaW4gcGxheSBpcyBgWEZTX0ZTYC4gTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsICYjMzQ7T2theSwgbGV0JiMzOTtzIGp1c3QgcXVpY2tseSBjb25maXJtIHRoYXQgdGhpcyBpcyB0aGUgKm9ubHkqIHJlbGV2YW50IGNvbmZpZyBhZmZlY3RpbmcgdGhpcyBwYXJ0aWN1bGFyIGNoYW5nZSYjMzQ7LiBJIG5lZWQgdG8gYmUgc3VyZSB0aGVyZSBhcmVuJiMzOTt0IGFueSBoaWRkZW4gZGVwZW5kZW5jaWVzIG9yIGludGVyYWN0aW9ucyB3aXRoIG90aGVyIGZpbGVzeXN0ZW0gcGFyYW1ldGVycyBsdXJraW5nIGFib3V0LgoKVGhpcyBjaGFuZ2UgaXMgZXhwbGljaXRseSB0YWdnZWQgd2l0aCBDT1cgYW5kIHJlZmxpbmssIHNvIG5hdHVyYWxseSwgbXkgbmV4dCBsaW5lIG9mIGlucXVpcnkgaXMgc3BlY2lmaWNhbGx5IGZvY3VzZWQgb24gaG93IHRoZXNlIGZlYXR1cmVzIGFyZSBjdXJyZW50bHkgaW1wbGVtZW50ZWQuIE5vdyB0aGUgcXVlc3Rpb24gaXM6IERvZXMgWEZTIHV0aWxpemUgYSAqZGVkaWNhdGVkKiBjb25maWd1cmF0aW9uIG9wdGlvbiBmb3IgcmVmbGluayBzdXBwb3J0PyBTb21lIGZpbGVzeXN0ZW1zIGx1bXAgaXQgdW5kZXIgYSBtb3JlIGdlbmVyaWMgQ09XIGZsYWcsIGJ1dCB3aXRoIFhGUyYjMzk7cyBoaXN0b3J5IGFuZCBkZXNpZ24sIEkgd291bGRuJiMzOTt0IGJlIHN1cnByaXNlZCBpZiB0aGVyZSYjMzk7cyBhIG1vcmUgZ3JhbnVsYXIgY29udHJvbC4gVW5kZXJzdGFuZGluZyB3aGV0aGVyIHJlZmxpbmsgaGFzIGEgdW5pcXVlIGZsYWcsIGEgc2hhcmVkIGZsYWcsIG9yIGltcGxpZWQgYmFzZWQgb24gdGhlIHByZXNlbmNlIG9mIGFub3RoZXIgZmxhZyBpcyBjcml0aWNhbCBpbiB1bmRlcnN0YW5kaW5nIHRoZSBmdWxsIGltcGxpY2F0aW9ucyBvZiBhbnkgbW9kaWZpY2F0aW9uLiBJdCB3aWxsIGFsc28gaGVscCBtZSBuYXJyb3cgZG93biB3aGljaCBtb2R1bGVzIG5lZWQgdG8gYmUgZXhhbWluZWQgb3IgdW5pdCB0ZXN0ZWQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMjA6MTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIFhGU18mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtmcy94ZnMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL3hmcy9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5mcy94ZnMvS2NvbmZpZzoyOmNvbmZpZyBYRlNfRlNcbmZzL3hmcy9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtYRlMgZmlsZXN5c3RlbSBzdXBwb3J0XCYjMzQ7XG4tLVxuZnMveGZzL0tjb25maWctMjQtXG5mcy94ZnMvS2NvbmZpZzoyNTpjb25maWcgWEZTX1NVUFBPUlRfVjRcbmZzL3hmcy9LY29uZmlnLTI2LVx0Ym9vbCBcJiMzNDtTdXBwb3J0IGRlcHJlY2F0ZWQgVjQgKGNyYz0wKSBmb3JtYXRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy00OS1cbmZzL3hmcy9LY29uZmlnOjUwOmNvbmZpZyBYRlNfU1VQUE9SVF9BU0NJSV9DSVxuZnMveGZzL0tjb25maWctNTEtXHRib29sIFwmIzM0O1N1cHBvcnQgZGVwcmVjYXRlZCBjYXNlLWluc2Vuc2l0aXZlIGFzY2lpIChhc2NpaS1jaT0xKSBmb3JtYXRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy03Ni1cbmZzL3hmcy9LY29uZmlnOjc3OmNvbmZpZyBYRlNfUVVPVEFcbmZzL3hmcy9LY29uZmlnLTc4LVx0Ym9vbCBcJiMzNDtYRlMgUXVvdGEgc3VwcG9ydFwmIzM0O1xuLS1cbmZzL3hmcy9LY29uZmlnLTk0LVxuZnMveGZzL0tjb25maWc6OTU6Y29uZmlnIFhGU19QT1NJWF9BQ0xcbmZzL3hmcy9LY29uZmlnLTk2LVx0Ym9vbCBcJiMzNDtYRlMgUE9TSVggQUNMIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xMDQtXG5mcy94ZnMvS2NvbmZpZzoxMDU6Y29uZmlnIFhGU19SVFxuZnMveGZzL0tjb25maWctMTA2LVx0Ym9vbCBcJiMzNDtYRlMgUmVhbHRpbWUgc3Vidm9sdW1lIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xMzItXG5mcy94ZnMvS2NvbmZpZzoxMzM6Y29uZmlnIFhGU19EUkFJTl9JTlRFTlRTXG5mcy94ZnMvS2NvbmZpZy0xMzQtXHRib29sXG4tLVxuZnMveGZzL0tjb25maWctMTM2LVxuZnMveGZzL0tjb25maWc6MTM3OmNvbmZpZyBYRlNfTElWRV9IT09LU1xuZnMveGZzL0tjb25maWctMTM4LVx0Ym9vbFxuLS1cbmZzL3hmcy9LY29uZmlnLTE0MC1cbmZzL3hmcy9LY29uZmlnOjE0MTpjb25maWcgWEZTX01FTU9SWV9CVUZTXG5mcy94ZnMvS2NvbmZpZy0xNDItXHRib29sXG5mcy94ZnMvS2NvbmZpZy0xNDMtXG5mcy94ZnMvS2NvbmZpZzoxNDQ6Y29uZmlnIFhGU19CVFJFRV9JTl9NRU1cbmZzL3hmcy9LY29uZmlnLTE0NS1cdGJvb2xcbmZzL3hmcy9LY29uZmlnLTE0Ni1cbmZzL3hmcy9LY29uZmlnOjE0Nzpjb25maWcgWEZTX09OTElORV9TQ1JVQlxuZnMveGZzL0tjb25maWctMTQ4LVx0Ym9vbCBcJiMzNDtYRlMgb25saW5lIG1ldGFkYXRhIGNoZWNrIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xNjMtXG5mcy94ZnMvS2NvbmZpZzoxNjQ6Y29uZmlnIFhGU19PTkxJTkVfU0NSVUJfU1RBVFNcbmZzL3hmcy9LY29uZmlnLTE2NS1cdGJvb2wgXCYjMzQ7WEZTIG9ubGluZSBtZXRhZGF0YSBjaGVjayB1c2FnZSBkYXRhIGNvbGxlY3Rpb25cJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xNzgtXG5mcy94ZnMvS2NvbmZpZzoxNzk6Y29uZmlnIFhGU19PTkxJTkVfUkVQQUlSXG5mcy94ZnMvS2NvbmZpZy0xODAtXHRib29sIFwmIzM0O1hGUyBvbmxpbmUgbWV0YWRhdGEgcmVwYWlyIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xOTMtXG5mcy94ZnMvS2NvbmZpZzoxOTQ6Y29uZmlnIFhGU19XQVJOXG5mcy94ZnMvS2NvbmZpZy0xOTUtXHRib29sIFwmIzM0O1hGUyBWZXJib3NlIFdhcm5pbmdzXCYjMzQ7XG4tLVxuZnMveGZzL0tjb25maWctMjA2LVxuZnMveGZzL0tjb25maWc6MjA3OmNvbmZpZyBYRlNfREVCVUdcbmZzL3hmcy9LY29uZmlnLTIwOC1cdGJvb2wgXCYjMzQ7WEZTIERlYnVnZ2luZyBzdXBwb3J0XCYjMzQ7XG4tLVxuZnMveGZzL0tjb25maWctMjE5LVxuZnMveGZzL0tjb25maWc6MjIwOmNvbmZpZyBYRlNfREVCVUdfRVhQRU5TSVZFXG5mcy94ZnMvS2NvbmZpZy0yMjEtXHRib29sIFwmIzM0O1hGUyBleHBlbnNpdmUgZGVidWdnaW5nIGNoZWNrc1wmIzM0O1xuLS1cbmZzL3hmcy9LY29uZmlnLTIzMS1cbmZzL3hmcy9LY29uZmlnOjIzMjpjb25maWcgWEZTX0FTU0VSVF9GQVRBTFxuZnMveGZzL0tjb25maWctMjMzLVx0Ym9vbCBcJiMzNDtYRlMgZmF0YWwgYXNzZXJ0c1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ2NDQKCQkJCQkJCW91dHB1dDogMTI2CgkJCQkJCQl0aG91Z2h0czogNDc3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgU3RyYXRlZ3kgZm9yIFhGUyBDT1cgRXJyb3IgSGFuZGxpbmcqKgoKT2theSwgc28gdGhlcmUgaXNuJiMzOTt0IGEgc2VwYXJhdGUgY29uZmlndXJhdGlvbiBvcHRpb24gc3BlY2lmaWNhbGx5IGZvciByZWZsaW5rIG9yIGNvcHktb24td3JpdGUgKENPVykgZnVuY3Rpb25hbGl0eTsgaXQmIzM5O3MgaW50cmluc2ljYWxseSBsaW5rZWQgdG8gdGhlIGBYRlNfRlNgIGNvbmZpZ3VyYXRpb24uIEdvb2QgdG8ga25vdy4KClRoZSBrZXkgYXJlYSBvZiBpbnRlcmVzdCBoZXJlIGlzIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gVGhpcyBmdW5jdGlvbiwgc3BlY2lmaWNhbGx5IHdpdGhpbiBpdHMgZXJyb3IgaGFuZGxpbmcgcGF0aCwgaXMgd2hlcmUgdGhlIGNoYW5nZSByZXNpZGVzLiBJJiMzOTt2ZSBjb25maXJtZWQgdGhhdCBgeGZzX2VuZF9pb2VuZF93cml0ZWAgaXMgaW5kZWVkIHRoZSBzdGFuZGFyZCBJL08gY29tcGxldGlvbiBoYW5kbGVyIGZvciBYRlMgd3JpdGVzLCBzbyBpdCYjMzk7cyBkZWZpbml0ZWx5IGEgcmVhY2hhYmxlIHBhcnQgb2YgdGhlIGNvZGUgYW5kIHdvcnRoIGludmVzdGlnYXRpbmcgZnVydGhlci4gVGhlIGZ1bmN0aW9uIGB4ZnNfZW5kX2lvYCBpcyBhbHNvIGEgcmVsZXZhbnQgZnVuY3Rpb24gdGhhdCBpcyB3b3J0aCBub3RpbmcuCgpUaGUgY3JpdGljYWwgcGFydCBpcyB0aGUgZXJyb3IgaGFuZGxpbmcgbG9naWMgd2l0aGluIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gU3BlY2lmaWNhbGx5LCB3aGVuIGFuIEkvTyBlcnJvciBvY2N1cnMsIHRoZSBjb2RlIG5lZWRzIHRvIGNsZWFuIHVwIENPVyBibG9ja3MgYW5kIGRlbGFsbG9jIGJsb2Nrcy4gVGhlIGNvbW1pdCBtb2RpZmllcyB0aGUgaGFuZGxpbmcgb2YgYElPTUFQX0lPRU5EX1NIQVJFRGAgYmxvY2tzIOKAkyB0aGVzZSByZWxhdGUgdG8gQ09XIGZ1bmN0aW9uYWxpdHkuIE15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCwgaW4gdGhlIGVycm9yIGNhc2UsIGRlbGFsbG9jIGJsb2NrcyBhcmUgcHVuY2hlZCBhbmQgdGhlIGZvcmsgdHlwZSBpcyBjaGFuZ2VkIGZyb20gYFhGU19EQVRBX0ZPUktgIHRvIGBYRlNfQ09XX0ZPUktgLiBUaGlzIHNvdW5kcyBsaWtlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZTIGxvZ2ljIHJlbGF0ZWQgdG8gcmVmbGluay9DT1cgZnVuY3Rpb25hbGl0eS4KClRoZXJlZm9yZSwgSSYjMzk7bSBzZXR0aW5nIGBXb3J0aEZ1enppbmc9dHJ1ZWAuIFRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBhcmUgYEVuYWJsZUNvbmZpZ3MgPSBbJiMzNDtYRlNfRlMmIzM0O11gLCBhcyB0aGUgZnVuY3Rpb25hbGl0eSBpcyBidWlsdCBpbnRvIFhGUy4gTXkgcHJpbWFyeSBmb2N1cyBzeW1ib2xzIHdpbGwgYmUgYEZvY3VzU3ltYm9scyA9IFsmIzM0O3hmc19lbmRfaW9lbmRfd3JpdGUmIzM0OywgJiMzNDt4ZnNfZW5kX2lvJiMzNDtdYC4gRmluYWxseSwgbXkgcmVhc29uaW5nIGZvciB0aGlzIGZ1enppbmcgZWZmb3J0IGlzOiBgVGhlIHBhdGNoIGZpeGVzIGEgYnVnIGluIHRoZSBlcnJvciBoYW5kbGluZyBwYXRoIG9mIFhGUyBJL08gY29tcGxldGlvbiBmb3Igc2hhcmVkIChDT1cpIGJsb2NrcywgY2hhbmdpbmcgdGhlIGZvcmsgdHlwZSBmcm9tIFhGU19EQVRBX0ZPUksgdG8gWEZTX0NPV19GT1JLIHdoZW4gcHVuY2hpbmcgZGVsYWxsb2MgYmxvY2tzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBYRlMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLmAgSSYjMzk7bGwgbmVlZCB0byBmb2N1cyBvbiBjcmFmdGluZyB0ZXN0IGNhc2VzIHRoYXQgdHJpZ2dlciBJL08gZXJyb3JzIGFuZCBjaGVjayB0aGUgZm9yayB0eXBlLCBzcGVjaWZpY2FsbHkgaW4gdGhlIENPVyBjb250ZXh0LiBUaGlzIGlzIGNvcmUgWEZTIGZ1bmN0aW9uYWxpdHkgYW5kIHNob3VsZCBiZSBoaWdobHkgcHJpb3JpdGl6ZWQgZm9yIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtYRlNfRlMmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt4ZnNfZW5kX2lvZW5kX3dyaXRlJiMzNDssCiAgICAmIzM0O3hmc19lbmRfaW8mIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBidWcgaW4gdGhlIGVycm9yIGhhbmRsaW5nIHBhdGggb2YgWEZTIEkvTyBjb21wbGV0aW9uIGZvciBzaGFyZWQgKENPVykgYmxvY2tzLCBjaGFuZ2luZyB0aGUgZm9yayB0eXBlIGZyb20gWEZTX0RBVEFfRk9SSyB0byBYRlNfQ09XX0ZPUksgd2hlbiBwdW5jaGluZyBkZWxhbGxvYyBibG9ja3MuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIFhGUyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1hGU19GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3hmc19lbmRfaW9lbmRfd3JpdGUmIzM0OywKICAgICYjMzQ7eGZzX2VuZF9pbyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE0OjU5LjEyMjIxMTYzNVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQzODk2NDMyNjQ0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlhGU19GU1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInhmc19lbmRfaW9lbmRfd3JpdGVcIixcbiAgICBcInhmc19lbmRfaW9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMjA6MTQ6NTkuMTIyMjE1OTc1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDE0NTk0MTEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAwYWE2NzNjNzNjNDhhMTlhNWZiYzcwYjI5YzUwOTIxM2I1YTgyOGU1XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgSnVsIDkgMjA6MTQ6NTcgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZnMveGZzL3hmc19hb3BzLmMgYi9mcy94ZnMveGZzX2FvcHMuY1xcbmluZGV4IDUxMjkzYjZmMzMxZjBiLi44MjY4YTNmODAzOThmOSAxMDA2NDRcXG4tLS0gYS9mcy94ZnMveGZzX2FvcHMuY1xcbisrKyBiL2ZzL3hmcy94ZnNfYW9wcy5jXFxuQEAgLTEzMSwxMSArMTMxLDExIEBAIHhmc19lbmRfaW9lbmRfd3JpdGUoXFxuIFxcdH1cXG4gXFxuIFxcdC8qXFxuLVxcdCAqIENsZWFuIHVwIGFsbCBDT1cgYmxvY2tzIGFuZCB1bmRlcmx5aW5nIGRhdGEgZm9yayBkZWxhbGxvYyBibG9ja3Mgb25cXG4tXFx0ICogSS9PIGVycm9yLiBUaGUgZGVsYWxsb2MgcHVuY2ggaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGlzIGlvZW5kIHdhc1xcbi1cXHQgKiBtYXBwZWQgdG8gYmxvY2tzIGluIHRoZSBDT1cgZm9yayBhbmQgdGhlIGFzc29jaWF0ZWQgcGFnZXMgYXJlIG5vXFxuLVxcdCAqIGxvbmdlciBkaXJ0eS4gSWYgd2UgZG9uJ3QgcmVtb3ZlIGRlbGFsbG9jIGJsb2NrcyBoZXJlLCB0aGV5IGJlY29tZVxcbi1cXHQgKiBzdGFsZSBhbmQgY2FuIGNvcnJ1cHQgZnJlZSBzcGFjZSBhY2NvdW50aW5nIG9uIHVubW91bnQuXFxuK1xcdCAqIENsZWFuIHVwIENPVyBibG9ja3MgYW5kIENPVyBmb3JrIGRlbGFsbG9jIGJsb2NrcyBvbiBJL08gZXJyb3IuXFxuK1xcdCAqIE9uIHRoZSBlcnJvciBwYXRoIHhmc19yZWZsaW5rX2VuZF9jb3coKSBpcyBuZXZlciBjYWxsZWQsIHNvIHRoZVxcbitcXHQgKiBDT1cgZm9yayBleHRlbnRzIGhhdmUgbm90IGJlZW4gbW92ZWQgdG8gdGhlIGRhdGEgZm9yayB5ZXQuICBBbnlcXG4rXFx0ICogb3ZlcmxhcHBpbmcgZGVsYWxsb2MgdGhhdCBuZWVkcyB0byBiZSBjbGVhbmVkIHVwIGlzIHRoZXJlZm9yZVxcbitcXHQgKiBzdGlsbCBpbiB0aGUgQ09XIGZvcmsuXFxuIFxcdCAqL1xcbiBcXHRlcnJvciA9IGJsa19zdGF0dXNfdG9fZXJybm8oaW9lbmQtXFx1MDAzZWlvX2Jpby5iaV9zdGF0dXMpO1xcbiBcXHRpZiAodW5saWtlbHkoZXJyb3IpKSB7XFxuQEAgLTE1Myw3ICsxNTMsNyBAQCB4ZnNfZW5kX2lvZW5kX3dyaXRlKFxcbiBcXHRcXHRpZiAoaW9lbmQtXFx1MDAzZWlvX2ZsYWdzIFxcdTAwMjYgSU9NQVBfSU9FTkRfU0hBUkVEKSB7XFxuIFxcdFxcdFxcdEFTU0VSVCghaXNfem9uZWQpO1xcbiBcXHRcXHRcXHR4ZnNfcmVmbGlua19jYW5jZWxfY293X3JhbmdlKGlwLCBvZmZzZXQsIHNpemUsIHRydWUpO1xcbi1cXHRcXHRcXHR4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0RBVEFfRk9SSywgb2Zmc2V0LFxcbitcXHRcXHRcXHR4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0NPV19GT1JLLCBvZmZzZXQsXFxuIFxcdFxcdFxcdFxcdFxcdG9mZnNldCArIHNpemUsIE5VTEwpO1xcbiBcXHRcXHR9XFxuIFxcdFxcdGdvdG8gZG9uZTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMjA6MTQ6NTkuNzI0NzA4MDE3WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzI5MzkyNjU0MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJYRlNfRlNcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ4ZnNfZW5kX2lvZW5kX3dyaXRlXCIsXG4gICAgXCJ4ZnNfZW5kX2lvXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBidWcgaW4gdGhlIGVycm9yIGhhbmRsaW5nIHBhdGggb2YgWEZTIEkvTyBjb21wbGV0aW9uIGZvciBzaGFyZWQgKENPVykgYmxvY2tzLCBjaGFuZ2luZyB0aGUgZm9yayB0eXBlIGZyb20gWEZTX0RBVEFfRk9SSyB0byBYRlNfQ09XX0ZPUksgd2hlbiBwdW5jaGluZyBkZWxhbGxvYyBibG9ja3MuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIFhGUyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMGFhNjczYzczYzQ4YTE5YTVmYmM3MGIyOWM1MDkyMTNiNWE4MjhlNVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgSnVsIDkgMjA6MTQ6NTcgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy94ZnMveGZzX2FvcHMuYyBiL2ZzL3hmcy94ZnNfYW9wcy5jXG5pbmRleCA1MTI5M2I2ZjMzMWYwYi4uODI2OGEzZjgwMzk4ZjkgMTAwNjQ0XG4tLS0gYS9mcy94ZnMveGZzX2FvcHMuY1xuKysrIGIvZnMveGZzL3hmc19hb3BzLmNcbkBAIC0xMzEsMTEgKzEzMSwxMSBAQCB4ZnNfZW5kX2lvZW5kX3dyaXRlKFxuIFx0fVxuIFxuIFx0Lypcbi1cdCAqIENsZWFuIHVwIGFsbCBDT1cgYmxvY2tzIGFuZCB1bmRlcmx5aW5nIGRhdGEgZm9yayBkZWxhbGxvYyBibG9ja3Mgb25cbi1cdCAqIEkvTyBlcnJvci4gVGhlIGRlbGFsbG9jIHB1bmNoIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhpcyBpb2VuZCB3YXNcbi1cdCAqIG1hcHBlZCB0byBibG9ja3MgaW4gdGhlIENPVyBmb3JrIGFuZCB0aGUgYXNzb2NpYXRlZCBwYWdlcyBhcmUgbm9cbi1cdCAqIGxvbmdlciBkaXJ0eS4gSWYgd2UgZG9uJ3QgcmVtb3ZlIGRlbGFsbG9jIGJsb2NrcyBoZXJlLCB0aGV5IGJlY29tZVxuLVx0ICogc3RhbGUgYW5kIGNhbiBjb3JydXB0IGZyZWUgc3BhY2UgYWNjb3VudGluZyBvbiB1bm1vdW50LlxuK1x0ICogQ2xlYW4gdXAgQ09XIGJsb2NrcyBhbmQgQ09XIGZvcmsgZGVsYWxsb2MgYmxvY2tzIG9uIEkvTyBlcnJvci5cbitcdCAqIE9uIHRoZSBlcnJvciBwYXRoIHhmc19yZWZsaW5rX2VuZF9jb3coKSBpcyBuZXZlciBjYWxsZWQsIHNvIHRoZVxuK1x0ICogQ09XIGZvcmsgZXh0ZW50cyBoYXZlIG5vdCBiZWVuIG1vdmVkIHRvIHRoZSBkYXRhIGZvcmsgeWV0LiAgQW55XG4rXHQgKiBvdmVybGFwcGluZyBkZWxhbGxvYyB0aGF0IG5lZWRzIHRvIGJlIGNsZWFuZWQgdXAgaXMgdGhlcmVmb3JlXG4rXHQgKiBzdGlsbCBpbiB0aGUgQ09XIGZvcmsuXG4gXHQgKi9cbiBcdGVycm9yID0gYmxrX3N0YXR1c190b19lcnJubyhpb2VuZC1cdTAwM2Vpb19iaW8uYmlfc3RhdHVzKTtcbiBcdGlmICh1bmxpa2VseShlcnJvcikpIHtcbkBAIC0xNTMsNyArMTUzLDcgQEAgeGZzX2VuZF9pb2VuZF93cml0ZShcbiBcdFx0aWYgKGlvZW5kLVx1MDAzZWlvX2ZsYWdzIFx1MDAyNiBJT01BUF9JT0VORF9TSEFSRUQpIHtcbiBcdFx0XHRBU1NFUlQoIWlzX3pvbmVkKTtcbiBcdFx0XHR4ZnNfcmVmbGlua19jYW5jZWxfY293X3JhbmdlKGlwLCBvZmZzZXQsIHNpemUsIHRydWUpO1xuLVx0XHRcdHhmc19ibWFwX3B1bmNoX2RlbGFsbG9jX3JhbmdlKGlwLCBYRlNfREFUQV9GT1JLLCBvZmZzZXQsXG4rXHRcdFx0eGZzX2JtYXBfcHVuY2hfZGVsYWxsb2NfcmFuZ2UoaXAsIFhGU19DT1dfRk9SSywgb2Zmc2V0LFxuIFx0XHRcdFx0XHRvZmZzZXQgKyBzaXplLCBOVUxMKTtcbiBcdFx0fVxuIFx0XHRnb3RvIGRvbmU7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQyMDoxNDo1OS43MjQ3MDk1MjdaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMzA2NzEzODA2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBSZWNlbnQgWEZTIFBhdGNoKipcblxuT2theSwgc28gSSd2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQncyBjYXVnaHQgbXkgZXllLCBtb2RpZnlpbmcgYGZzL3hmcy94ZnNfYW9wcy5jYC4gU3BlY2lmaWNhbGx5LCB0aGUgY2hhbmdlIHRhcmdldHMgYHhmc19lbmRfaW9lbmRfd3JpdGVgLiBUaGUgY29yZSBvZiBpdCBzZWVtcyB0byBiZSBhIGZvcmsgY2hhbmdlIHdpdGhpbiBgeGZzX2JtYXBfcHVuY2hfZGVsYWxsb2NfcmFuZ2VgLiBUaGUgY29kZSB1c2VkIHRvIGJlIGNhbGxpbmcgaXQgd2l0aCBgWEZTX0RBVEFfRk9SS2AsIGJ1dCBpdCdzIG5vdyB1c2luZyBgWEZTX0NPV19GT1JLYC4gVGhpcyBzaGlmdCBmcm9tIGBYRlNfREFUQV9GT1JLYCB0byBgWEZTX0NPV19GT1JLYCBpbiBhIGZ1bmN0aW9uIHJlbGF0ZWQgdG8gSS9PIGNvbXBsZXRpb24gaW4gdGhlIFhGUyBlcnJvciBoYW5kbGluZyBwYXRoIGZvciBzaGFyZWQgKENPVykgYmxvY2tzLCBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLiBHaXZlbiBteSBleHBlcmllbmNlLCBJIGNhbiBpbW1lZGlhdGVseSBzZWUgdGhlIHBvdGVudGlhbCBmb3Igc29tZSBpbnRlcmVzdGluZyBlZGdlIGNhc2VzIG9yIHVuZXhwZWN0ZWQgYmVoYXZpb3IgaGVyZS4gVGhhdCdzIGEgY2xhc3NpYyBhcmVhIHJpcGUgZm9yIGZ1enppbmcuXG5cblRvIGJlIHRob3JvdWdoLCBJIHNob3VsZCByZXZpZXcgYHhmc19lbmRfaW9lbmRfd3JpdGVgIGl0c2VsZiB0byB1bmRlcnN0YW5kIHRoZSBzdXJyb3VuZGluZyBjb250ZXh0LiBJdCdzIGluIHRoZSBzYW1lIGZpbGUsIGBmcy94ZnMveGZzX2FvcHMuY2AsIHNvIHRoYXQncyBzdHJhaWdodGZvcndhcmQuIFRoZSBjb25maWd1cmF0aW9uIHJlcXVpcmVtZW50IGlzIHNpbXBseSBgWEZTX0ZTYCwgd2hpY2ggaXMgZXhwZWN0ZWQuIEkgc2hvdWxkIGNoZWNrIHRvIHNlZSBpZiB0aGVyZSBhcmUgb3RoZXIgY29uZmlnIHJlcXVpcmVtZW50cyB0aG91Z2guXG5cbkknbGwgY2hlY2sgdG8gc2VlIHdoZXJlIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYCBpcyBjYWxsZWQgZnJvbS4gSXQncyBjYWxsZWQgZnJvbSBgeGZzX2VuZF9pb2AsIHdoaWNoIG1lYW5zIHRoaXMgaXMgYSBsb3ctbGV2ZWwgb3BlcmF0aW9uLCBhbmQgcG90ZW50aWFsbHkgaW1wYWN0aW5nIGhvdyBlcnJvciBjb25kaXRpb25zIGFyZSBoYW5kbGVkLiBJdCdzIHdvcnRoIGEgZGVlcCBkaXZlIHRvIGZ1bGx5IHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjEzOCwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyOSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE1OjEyLjc5MTg1MTUxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjExMTYwOTUwOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ4ZnNfZW5kX2lvZW5kX3dyaXRlXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImZzL3hmcy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMveGZzL3hmc19hb3BzLmM9MTA2PVNUQVRJQyB2b2lkXFxuZnMveGZzL3hmc19hb3BzLmM6MTA3Onhmc19lbmRfaW9lbmRfd3JpdGUoXFxuZnMveGZzL3hmc19hb3BzLmMtMTA4LVxcdHN0cnVjdCBpb21hcF9pb2VuZFxcdCppb2VuZClcXG4tLVxcbmZzL3hmcy94ZnNfYW9wcy5jPTE5OT14ZnNfZW5kX2lvKFxcbi0tXFxuZnMveGZzL3hmc19hb3BzLmMtMjIwLVxcdFxcdGVsc2VcXG5mcy94ZnMveGZzX2FvcHMuYzoyMjE6XFx0XFx0XFx0eGZzX2VuZF9pb2VuZF93cml0ZShpb2VuZCk7XFxuZnMveGZzL3hmc19hb3BzLmMtMjIyLVxcdFxcdGNvbmRfcmVzY2hlZCgpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQyMDoxNToxMi45MDM0NjgxNTlaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMTA3OTI2MzA4MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgWEZTIEkvTyBDb21wbGV0aW9uIFBhdGhzKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYHhmc19lbmRfaW9lbmRfd3JpdGVgLCB3aGljaCBJIHNlZSBpcyBhIHN0YXRpYyBmdW5jdGlvbiB3aXRoaW4gYGZzL3hmcy94ZnNfYW9wcy5jYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgdGhpcyBjb3VsZCBiZSBhIGtleSBwb2ludCBvZiBpbnRlcmVzdCBmb3IgdW5kZXJzdGFuZGluZyB0aGUgWEZTIEkvTyBjb21wbGV0aW9uIHByb2Nlc3MuIEJ1dCBzaW5jZSBpdCdzIHN0YXRpYywgbWF5YmUgYHhmc19lbmRfaW9gIHdvdWxkIGJlIGEgYnJvYWRlciwgcG90ZW50aWFsbHkgbW9yZSB1c2VmdWwgc3ltYm9sIHRvIGV4YW1pbmUsIG9yIHBlcmhhcHMgSSBuZWVkIHRvIGNvbnNpZGVyIGJvdGguIEkgc2hvdWxkIGRlZmluaXRlbHkgaW52ZXN0aWdhdGUgYm90aCB0byBjb25maXJtIHRoZSBhcHByb3ByaWF0ZSBsZXZlbCBvZiB0aGUgY2FsbC4gTm93LCBsZXQgbWUgcXVpY2tseSBkb3VibGUtY2hlY2sgYGZzL3hmcy9LY29uZmlnYCB0byByZWZyZXNoIG15IG1lbW9yeSBvbiB0aGUgYFhGU19GU2AgY29uZmlndXJhdGlvbiBvcHRpb25zIGFuZCBkZXBlbmRlbmNpZXMuIFRoaXMgaGVscHMgbmFycm93IGRvd24gcG9zc2libGUgY29kZSBwYXRocy5cblxuXG4iLCJJbnB1dFRva2VucyI6Mjk0NiwiT3V0cHV0VG9rZW5zIjozMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzNSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQyMDoxNToyMy45ODI3MzM0NThaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ0NTQ4MTM4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBYRlNfRlNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMveGZzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJmcy94ZnMvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbmZzL3hmcy9LY29uZmlnOjI6Y29uZmlnIFhGU19GU1xcbmZzL3hmcy9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIlhGUyBmaWxlc3lzdGVtIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE1OjI0LjEyNzI5MDQwNloiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM3NDI3MzY5ODksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZSwgcHJlc2VudGVkIGluIHRoZSBmaXJzdCBwZXJzb246XG5cbioqQW5hbHl6aW5nIHRoZSBDb25maWd1cmF0aW9uIGFuZCBSZWZsaW5rIFN1cHBvcnQgaW4gWEZTKipcblxuUmlnaHQsIHRoZSBjdXJyZW50IGNvbmZpZyBpbiBwbGF5IGlzIGBYRlNfRlNgLiBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgXCJPa2F5LCBsZXQncyBqdXN0IHF1aWNrbHkgY29uZmlybSB0aGF0IHRoaXMgaXMgdGhlICpvbmx5KiByZWxldmFudCBjb25maWcgYWZmZWN0aW5nIHRoaXMgcGFydGljdWxhciBjaGFuZ2VcIi4gSSBuZWVkIHRvIGJlIHN1cmUgdGhlcmUgYXJlbid0IGFueSBoaWRkZW4gZGVwZW5kZW5jaWVzIG9yIGludGVyYWN0aW9ucyB3aXRoIG90aGVyIGZpbGVzeXN0ZW0gcGFyYW1ldGVycyBsdXJraW5nIGFib3V0LlxuXG5UaGlzIGNoYW5nZSBpcyBleHBsaWNpdGx5IHRhZ2dlZCB3aXRoIENPVyBhbmQgcmVmbGluaywgc28gbmF0dXJhbGx5LCBteSBuZXh0IGxpbmUgb2YgaW5xdWlyeSBpcyBzcGVjaWZpY2FsbHkgZm9jdXNlZCBvbiBob3cgdGhlc2UgZmVhdHVyZXMgYXJlIGN1cnJlbnRseSBpbXBsZW1lbnRlZC4gTm93IHRoZSBxdWVzdGlvbiBpczogRG9lcyBYRlMgdXRpbGl6ZSBhICpkZWRpY2F0ZWQqIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGZvciByZWZsaW5rIHN1cHBvcnQ/IFNvbWUgZmlsZXN5c3RlbXMgbHVtcCBpdCB1bmRlciBhIG1vcmUgZ2VuZXJpYyBDT1cgZmxhZywgYnV0IHdpdGggWEZTJ3MgaGlzdG9yeSBhbmQgZGVzaWduLCBJIHdvdWxkbid0IGJlIHN1cnByaXNlZCBpZiB0aGVyZSdzIGEgbW9yZSBncmFudWxhciBjb250cm9sLiBVbmRlcnN0YW5kaW5nIHdoZXRoZXIgcmVmbGluayBoYXMgYSB1bmlxdWUgZmxhZywgYSBzaGFyZWQgZmxhZywgb3IgaW1wbGllZCBiYXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2YgYW5vdGhlciBmbGFnIGlzIGNyaXRpY2FsIGluIHVuZGVyc3RhbmRpbmcgdGhlIGZ1bGwgaW1wbGljYXRpb25zIG9mIGFueSBtb2RpZmljYXRpb24uIEl0IHdpbGwgYWxzbyBoZWxwIG1lIG5hcnJvdyBkb3duIHdoaWNoIG1vZHVsZXMgbmVlZCB0byBiZSBleGFtaW5lZCBvciB1bml0IHRlc3RlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzM1MywiT3V0cHV0VG9rZW5zIjoyOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE1OjI3Ljg3MDAyOTcxNVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDE1MjE4MTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFhGU19cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMveGZzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJmcy94ZnMvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbmZzL3hmcy9LY29uZmlnOjI6Y29uZmlnIFhGU19GU1xcbmZzL3hmcy9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIlhGUyBmaWxlc3lzdGVtIHN1cHBvcnRcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0yNC1cXG5mcy94ZnMvS2NvbmZpZzoyNTpjb25maWcgWEZTX1NVUFBPUlRfVjRcXG5mcy94ZnMvS2NvbmZpZy0yNi1cXHRib29sIFxcXCJTdXBwb3J0IGRlcHJlY2F0ZWQgVjQgKGNyYz0wKSBmb3JtYXRcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy00OS1cXG5mcy94ZnMvS2NvbmZpZzo1MDpjb25maWcgWEZTX1NVUFBPUlRfQVNDSUlfQ0lcXG5mcy94ZnMvS2NvbmZpZy01MS1cXHRib29sIFxcXCJTdXBwb3J0IGRlcHJlY2F0ZWQgY2FzZS1pbnNlbnNpdGl2ZSBhc2NpaSAoYXNjaWktY2k9MSkgZm9ybWF0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctNzYtXFxuZnMveGZzL0tjb25maWc6Nzc6Y29uZmlnIFhGU19RVU9UQVxcbmZzL3hmcy9LY29uZmlnLTc4LVxcdGJvb2wgXFxcIlhGUyBRdW90YSBzdXBwb3J0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctOTQtXFxuZnMveGZzL0tjb25maWc6OTU6Y29uZmlnIFhGU19QT1NJWF9BQ0xcXG5mcy94ZnMvS2NvbmZpZy05Ni1cXHRib29sIFxcXCJYRlMgUE9TSVggQUNMIHN1cHBvcnRcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0xMDQtXFxuZnMveGZzL0tjb25maWc6MTA1OmNvbmZpZyBYRlNfUlRcXG5mcy94ZnMvS2NvbmZpZy0xMDYtXFx0Ym9vbCBcXFwiWEZTIFJlYWx0aW1lIHN1YnZvbHVtZSBzdXBwb3J0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctMTMyLVxcbmZzL3hmcy9LY29uZmlnOjEzMzpjb25maWcgWEZTX0RSQUlOX0lOVEVOVFNcXG5mcy94ZnMvS2NvbmZpZy0xMzQtXFx0Ym9vbFxcbi0tXFxuZnMveGZzL0tjb25maWctMTM2LVxcbmZzL3hmcy9LY29uZmlnOjEzNzpjb25maWcgWEZTX0xJVkVfSE9PS1NcXG5mcy94ZnMvS2NvbmZpZy0xMzgtXFx0Ym9vbFxcbi0tXFxuZnMveGZzL0tjb25maWctMTQwLVxcbmZzL3hmcy9LY29uZmlnOjE0MTpjb25maWcgWEZTX01FTU9SWV9CVUZTXFxuZnMveGZzL0tjb25maWctMTQyLVxcdGJvb2xcXG5mcy94ZnMvS2NvbmZpZy0xNDMtXFxuZnMveGZzL0tjb25maWc6MTQ0OmNvbmZpZyBYRlNfQlRSRUVfSU5fTUVNXFxuZnMveGZzL0tjb25maWctMTQ1LVxcdGJvb2xcXG5mcy94ZnMvS2NvbmZpZy0xNDYtXFxuZnMveGZzL0tjb25maWc6MTQ3OmNvbmZpZyBYRlNfT05MSU5FX1NDUlVCXFxuZnMveGZzL0tjb25maWctMTQ4LVxcdGJvb2wgXFxcIlhGUyBvbmxpbmUgbWV0YWRhdGEgY2hlY2sgc3VwcG9ydFxcXCJcXG4tLVxcbmZzL3hmcy9LY29uZmlnLTE2My1cXG5mcy94ZnMvS2NvbmZpZzoxNjQ6Y29uZmlnIFhGU19PTkxJTkVfU0NSVUJfU1RBVFNcXG5mcy94ZnMvS2NvbmZpZy0xNjUtXFx0Ym9vbCBcXFwiWEZTIG9ubGluZSBtZXRhZGF0YSBjaGVjayB1c2FnZSBkYXRhIGNvbGxlY3Rpb25cXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0xNzgtXFxuZnMveGZzL0tjb25maWc6MTc5OmNvbmZpZyBYRlNfT05MSU5FX1JFUEFJUlxcbmZzL3hmcy9LY29uZmlnLTE4MC1cXHRib29sIFxcXCJYRlMgb25saW5lIG1ldGFkYXRhIHJlcGFpciBzdXBwb3J0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctMTkzLVxcbmZzL3hmcy9LY29uZmlnOjE5NDpjb25maWcgWEZTX1dBUk5cXG5mcy94ZnMvS2NvbmZpZy0xOTUtXFx0Ym9vbCBcXFwiWEZTIFZlcmJvc2UgV2FybmluZ3NcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0yMDYtXFxuZnMveGZzL0tjb25maWc6MjA3OmNvbmZpZyBYRlNfREVCVUdcXG5mcy94ZnMvS2NvbmZpZy0yMDgtXFx0Ym9vbCBcXFwiWEZTIERlYnVnZ2luZyBzdXBwb3J0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctMjE5LVxcbmZzL3hmcy9LY29uZmlnOjIyMDpjb25maWcgWEZTX0RFQlVHX0VYUEVOU0lWRVxcbmZzL3hmcy9LY29uZmlnLTIyMS1cXHRib29sIFxcXCJYRlMgZXhwZW5zaXZlIGRlYnVnZ2luZyBjaGVja3NcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0yMzEtXFxuZnMveGZzL0tjb25maWc6MjMyOmNvbmZpZyBYRlNfQVNTRVJUX0ZBVEFMXFxuZnMveGZzL0tjb25maWctMjMzLVxcdGJvb2wgXFxcIlhGUyBmYXRhbCBhc3NlcnRzXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQyMDoxNToyNy45NzE1NTc2MjRaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNDg3NzAzMjUxNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIFN0cmF0ZWd5IGZvciBYRlMgQ09XIEVycm9yIEhhbmRsaW5nKipcblxuT2theSwgc28gdGhlcmUgaXNuJ3QgYSBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9wdGlvbiBzcGVjaWZpY2FsbHkgZm9yIHJlZmxpbmsgb3IgY29weS1vbi13cml0ZSAoQ09XKSBmdW5jdGlvbmFsaXR5OyBpdCdzIGludHJpbnNpY2FsbHkgbGlua2VkIHRvIHRoZSBgWEZTX0ZTYCBjb25maWd1cmF0aW9uLiBHb29kIHRvIGtub3cuXG5cblRoZSBrZXkgYXJlYSBvZiBpbnRlcmVzdCBoZXJlIGlzIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gVGhpcyBmdW5jdGlvbiwgc3BlY2lmaWNhbGx5IHdpdGhpbiBpdHMgZXJyb3IgaGFuZGxpbmcgcGF0aCwgaXMgd2hlcmUgdGhlIGNoYW5nZSByZXNpZGVzLiBJJ3ZlIGNvbmZpcm1lZCB0aGF0IGB4ZnNfZW5kX2lvZW5kX3dyaXRlYCBpcyBpbmRlZWQgdGhlIHN0YW5kYXJkIEkvTyBjb21wbGV0aW9uIGhhbmRsZXIgZm9yIFhGUyB3cml0ZXMsIHNvIGl0J3MgZGVmaW5pdGVseSBhIHJlYWNoYWJsZSBwYXJ0IG9mIHRoZSBjb2RlIGFuZCB3b3J0aCBpbnZlc3RpZ2F0aW5nIGZ1cnRoZXIuIFRoZSBmdW5jdGlvbiBgeGZzX2VuZF9pb2AgaXMgYWxzbyBhIHJlbGV2YW50IGZ1bmN0aW9uIHRoYXQgaXMgd29ydGggbm90aW5nLlxuXG5UaGUgY3JpdGljYWwgcGFydCBpcyB0aGUgZXJyb3IgaGFuZGxpbmcgbG9naWMgd2l0aGluIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gU3BlY2lmaWNhbGx5LCB3aGVuIGFuIEkvTyBlcnJvciBvY2N1cnMsIHRoZSBjb2RlIG5lZWRzIHRvIGNsZWFuIHVwIENPVyBibG9ja3MgYW5kIGRlbGFsbG9jIGJsb2Nrcy4gVGhlIGNvbW1pdCBtb2RpZmllcyB0aGUgaGFuZGxpbmcgb2YgYElPTUFQX0lPRU5EX1NIQVJFRGAgYmxvY2tzIOKAkyB0aGVzZSByZWxhdGUgdG8gQ09XIGZ1bmN0aW9uYWxpdHkuIE15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCwgaW4gdGhlIGVycm9yIGNhc2UsIGRlbGFsbG9jIGJsb2NrcyBhcmUgcHVuY2hlZCBhbmQgdGhlIGZvcmsgdHlwZSBpcyBjaGFuZ2VkIGZyb20gYFhGU19EQVRBX0ZPUktgIHRvIGBYRlNfQ09XX0ZPUktgLiBUaGlzIHNvdW5kcyBsaWtlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZTIGxvZ2ljIHJlbGF0ZWQgdG8gcmVmbGluay9DT1cgZnVuY3Rpb25hbGl0eS5cblxuVGhlcmVmb3JlLCBJJ20gc2V0dGluZyBgV29ydGhGdXp6aW5nPXRydWVgLiBUaGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbnMgYXJlIGBFbmFibGVDb25maWdzID0gW1wiWEZTX0ZTXCJdYCwgYXMgdGhlIGZ1bmN0aW9uYWxpdHkgaXMgYnVpbHQgaW50byBYRlMuIE15IHByaW1hcnkgZm9jdXMgc3ltYm9scyB3aWxsIGJlIGBGb2N1c1N5bWJvbHMgPSBbXCJ4ZnNfZW5kX2lvZW5kX3dyaXRlXCIsIFwieGZzX2VuZF9pb1wiXWAuIEZpbmFsbHksIG15IHJlYXNvbmluZyBmb3IgdGhpcyBmdXp6aW5nIGVmZm9ydCBpczogYFRoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5gIEknbGwgbmVlZCB0byBmb2N1cyBvbiBjcmFmdGluZyB0ZXN0IGNhc2VzIHRoYXQgdHJpZ2dlciBJL08gZXJyb3JzIGFuZCBjaGVjayB0aGUgZm9yayB0eXBlLCBzcGVjaWZpY2FsbHkgaW4gdGhlIENPVyBjb250ZXh0LiBUaGlzIGlzIGNvcmUgWEZTIGZ1bmN0aW9uYWxpdHkgYW5kIHNob3VsZCBiZSBoaWdobHkgcHJpb3JpdGl6ZWQgZm9yIGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ2NDQsIk91dHB1dFRva2VucyI6MTI2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDc3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE1OjQyLjg0ODU5MjkzMVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3MDAzNzAwOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiWEZTX0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwieGZzX2VuZF9pb2VuZF93cml0ZVwiLFxuICAgIFwieGZzX2VuZF9pb1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgYnVnIGluIHRoZSBlcnJvciBoYW5kbGluZyBwYXRoIG9mIFhGUyBJL08gY29tcGxldGlvbiBmb3Igc2hhcmVkIChDT1cpIGJsb2NrcywgY2hhbmdpbmcgdGhlIGZvcmsgdHlwZSBmcm9tIFhGU19EQVRBX0ZPUksgdG8gWEZTX0NPV19GT1JLIHdoZW4gcHVuY2hpbmcgZGVsYWxsb2MgYmxvY2tzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBYRlMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlhGU19GU1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInhmc19lbmRfaW9lbmRfd3JpdGVcIixcbiAgICBcInhmc19lbmRfaW9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowcnz4m[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-09 19:56:53 +0000 UTC FinishedAt: 2026-07-09 20:15:44 +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": "2c7c88a412aa6d09cd04b414211b4ef8553b5309", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "XFS_FS" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "2c7c88a412aa6d09cd04b414211b4ef8553b5309", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "XFS_FS" ], "series_id": "525e92d0-4cff-4a78-b22f-27b47470c4eb" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "xfs_end_ioend_write", "xfs_end_io" ], "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+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1hGU19GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3hmc19lbmRfaW9lbmRfd3JpdGUmIzM0OywKICAgICYjMzQ7eGZzX2VuZF9pbyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAyMDoxNDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDBhYTY3M2M3M2M0OGExOWE1ZmJjNzBiMjljNTA5MjEzYjVhODI4ZTVcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCA5IDIwOjE0OjU3IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfYW9wcy5jIGIvZnMveGZzL3hmc19hb3BzLmNcbmluZGV4IDUxMjkzYjZmMzMxZjBiLi44MjY4YTNmODAzOThmOSAxMDA2NDRcbi0tLSBhL2ZzL3hmcy94ZnNfYW9wcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi9mcy94ZnMveGZzX2FvcHMuY1xuQEAgLTEzMSwxMSAmIzQzOzEzMSwxMSBAQCB4ZnNfZW5kX2lvZW5kX3dyaXRlKFxuIFx0fVxuIFxuIFx0Lypcbi1cdCAqIENsZWFuIHVwIGFsbCBDT1cgYmxvY2tzIGFuZCB1bmRlcmx5aW5nIGRhdGEgZm9yayBkZWxhbGxvYyBibG9ja3Mgb25cbi1cdCAqIEkvTyBlcnJvci4gVGhlIGRlbGFsbG9jIHB1bmNoIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhpcyBpb2VuZCB3YXNcbi1cdCAqIG1hcHBlZCB0byBibG9ja3MgaW4gdGhlIENPVyBmb3JrIGFuZCB0aGUgYXNzb2NpYXRlZCBwYWdlcyBhcmUgbm9cbi1cdCAqIGxvbmdlciBkaXJ0eS4gSWYgd2UgZG9uJiMzOTt0IHJlbW92ZSBkZWxhbGxvYyBibG9ja3MgaGVyZSwgdGhleSBiZWNvbWVcbi1cdCAqIHN0YWxlIGFuZCBjYW4gY29ycnVwdCBmcmVlIHNwYWNlIGFjY291bnRpbmcgb24gdW5tb3VudC5cbiYjNDM7XHQgKiBDbGVhbiB1cCBDT1cgYmxvY2tzIGFuZCBDT1cgZm9yayBkZWxhbGxvYyBibG9ja3Mgb24gSS9PIGVycm9yLlxuJiM0MztcdCAqIE9uIHRoZSBlcnJvciBwYXRoIHhmc19yZWZsaW5rX2VuZF9jb3coKSBpcyBuZXZlciBjYWxsZWQsIHNvIHRoZVxuJiM0MztcdCAqIENPVyBmb3JrIGV4dGVudHMgaGF2ZSBub3QgYmVlbiBtb3ZlZCB0byB0aGUgZGF0YSBmb3JrIHlldC4gIEFueVxuJiM0MztcdCAqIG92ZXJsYXBwaW5nIGRlbGFsbG9jIHRoYXQgbmVlZHMgdG8gYmUgY2xlYW5lZCB1cCBpcyB0aGVyZWZvcmVcbiYjNDM7XHQgKiBzdGlsbCBpbiB0aGUgQ09XIGZvcmsuXG4gXHQgKi9cbiBcdGVycm9yID0gYmxrX3N0YXR1c190b19lcnJubyhpb2VuZC1cdTAwM2Vpb19iaW8uYmlfc3RhdHVzKTtcbiBcdGlmICh1bmxpa2VseShlcnJvcikpIHtcbkBAIC0xNTMsNyAmIzQzOzE1Myw3IEBAIHhmc19lbmRfaW9lbmRfd3JpdGUoXG4gXHRcdGlmIChpb2VuZC1cdTAwM2Vpb19mbGFncyBcdTAwMjYgSU9NQVBfSU9FTkRfU0hBUkVEKSB7XG4gXHRcdFx0QVNTRVJUKCFpc196b25lZCk7XG4gXHRcdFx0eGZzX3JlZmxpbmtfY2FuY2VsX2Nvd19yYW5nZShpcCwgb2Zmc2V0LCBzaXplLCB0cnVlKTtcbi1cdFx0XHR4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0RBVEFfRk9SSywgb2Zmc2V0LFxuJiM0MztcdFx0XHR4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0NPV19GT1JLLCBvZmZzZXQsXG4gXHRcdFx0XHRcdG9mZnNldCAmIzQzOyBzaXplLCBOVUxMKTtcbiBcdFx0fVxuIFx0XHRnb3RvIGRvbmU7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMjA6MTQ8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7WEZTX0ZTJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7eGZzX2VuZF9pb2VuZF93cml0ZSYjMzQ7LAogICAgJiMzNDt4ZnNfZW5kX2lvJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgYnVnIGluIHRoZSBlcnJvciBoYW5kbGluZyBwYXRoIG9mIFhGUyBJL08gY29tcGxldGlvbiBmb3Igc2hhcmVkIChDT1cpIGJsb2NrcywgY2hhbmdpbmcgdGhlIGZvcmsgdHlwZSBmcm9tIFhGU19EQVRBX0ZPUksgdG8gWEZTX0NPV19GT1JLIHdoZW4gcHVuY2hpbmcgZGVsYWxsb2MgYmxvY2tzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBYRlMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwYWE2NzNjNzNjNDhhMTlhNWZiYzcwYjI5YzUwOTIxM2I1YTgyOGU1CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFRodSBKdWwgOSAyMDoxNDo1NyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfYW9wcy5jIGIvZnMveGZzL3hmc19hb3BzLmMKaW5kZXggNTEyOTNiNmYzMzFmMGIuLjgyNjhhM2Y4MDM5OGY5IDEwMDY0NAotLS0gYS9mcy94ZnMveGZzX2FvcHMuYwomIzQzOyYjNDM7JiM0MzsgYi9mcy94ZnMveGZzX2FvcHMuYwpAQCAtMTMxLDExICYjNDM7MTMxLDExIEBAIHhmc19lbmRfaW9lbmRfd3JpdGUoCiAJfQogCiAJLyoKLQkgKiBDbGVhbiB1cCBhbGwgQ09XIGJsb2NrcyBhbmQgdW5kZXJseWluZyBkYXRhIGZvcmsgZGVsYWxsb2MgYmxvY2tzIG9uCi0JICogSS9PIGVycm9yLiBUaGUgZGVsYWxsb2MgcHVuY2ggaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGlzIGlvZW5kIHdhcwotCSAqIG1hcHBlZCB0byBibG9ja3MgaW4gdGhlIENPVyBmb3JrIGFuZCB0aGUgYXNzb2NpYXRlZCBwYWdlcyBhcmUgbm8KLQkgKiBsb25nZXIgZGlydHkuIElmIHdlIGRvbiYjMzk7dCByZW1vdmUgZGVsYWxsb2MgYmxvY2tzIGhlcmUsIHRoZXkgYmVjb21lCi0JICogc3RhbGUgYW5kIGNhbiBjb3JydXB0IGZyZWUgc3BhY2UgYWNjb3VudGluZyBvbiB1bm1vdW50LgomIzQzOwkgKiBDbGVhbiB1cCBDT1cgYmxvY2tzIGFuZCBDT1cgZm9yayBkZWxhbGxvYyBibG9ja3Mgb24gSS9PIGVycm9yLgomIzQzOwkgKiBPbiB0aGUgZXJyb3IgcGF0aCB4ZnNfcmVmbGlua19lbmRfY293KCkgaXMgbmV2ZXIgY2FsbGVkLCBzbyB0aGUKJiM0MzsJICogQ09XIGZvcmsgZXh0ZW50cyBoYXZlIG5vdCBiZWVuIG1vdmVkIHRvIHRoZSBkYXRhIGZvcmsgeWV0LiAgQW55CiYjNDM7CSAqIG92ZXJsYXBwaW5nIGRlbGFsbG9jIHRoYXQgbmVlZHMgdG8gYmUgY2xlYW5lZCB1cCBpcyB0aGVyZWZvcmUKJiM0MzsJICogc3RpbGwgaW4gdGhlIENPVyBmb3JrLgogCSAqLwogCWVycm9yID0gYmxrX3N0YXR1c190b19lcnJubyhpb2VuZC0mZ3Q7aW9fYmlvLmJpX3N0YXR1cyk7CiAJaWYgKHVubGlrZWx5KGVycm9yKSkgewpAQCAtMTUzLDcgJiM0MzsxNTMsNyBAQCB4ZnNfZW5kX2lvZW5kX3dyaXRlKAogCQlpZiAoaW9lbmQtJmd0O2lvX2ZsYWdzICZhbXA7IElPTUFQX0lPRU5EX1NIQVJFRCkgewogCQkJQVNTRVJUKCFpc196b25lZCk7CiAJCQl4ZnNfcmVmbGlua19jYW5jZWxfY293X3JhbmdlKGlwLCBvZmZzZXQsIHNpemUsIHRydWUpOwotCQkJeGZzX2JtYXBfcHVuY2hfZGVsYWxsb2NfcmFuZ2UoaXAsIFhGU19EQVRBX0ZPUkssIG9mZnNldCwKJiM0MzsJCQl4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0NPV19GT1JLLCBvZmZzZXQsCiAJCQkJCW9mZnNldCAmIzQzOyBzaXplLCBOVUxMKTsKIAkJfQogCQlnb3RvIGRvbmU7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIxMzgKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAyMjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgUmVjZW50IFhGUyBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQmIzM5O3MgY2F1Z2h0IG15IGV5ZSwgbW9kaWZ5aW5nIGBmcy94ZnMveGZzX2FvcHMuY2AuIFNwZWNpZmljYWxseSwgdGhlIGNoYW5nZSB0YXJnZXRzIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gVGhlIGNvcmUgb2YgaXQgc2VlbXMgdG8gYmUgYSBmb3JrIGNoYW5nZSB3aXRoaW4gYHhmc19ibWFwX3B1bmNoX2RlbGFsbG9jX3JhbmdlYC4gVGhlIGNvZGUgdXNlZCB0byBiZSBjYWxsaW5nIGl0IHdpdGggYFhGU19EQVRBX0ZPUktgLCBidXQgaXQmIzM5O3Mgbm93IHVzaW5nIGBYRlNfQ09XX0ZPUktgLiBUaGlzIHNoaWZ0IGZyb20gYFhGU19EQVRBX0ZPUktgIHRvIGBYRlNfQ09XX0ZPUktgIGluIGEgZnVuY3Rpb24gcmVsYXRlZCB0byBJL08gY29tcGxldGlvbiBpbiB0aGUgWEZTIGVycm9yIGhhbmRsaW5nIHBhdGggZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UuIEdpdmVuIG15IGV4cGVyaWVuY2UsIEkgY2FuIGltbWVkaWF0ZWx5IHNlZSB0aGUgcG90ZW50aWFsIGZvciBzb21lIGludGVyZXN0aW5nIGVkZ2UgY2FzZXMgb3IgdW5leHBlY3RlZCBiZWhhdmlvciBoZXJlLiBUaGF0JiMzOTtzIGEgY2xhc3NpYyBhcmVhIHJpcGUgZm9yIGZ1enppbmcuCgpUbyBiZSB0aG9yb3VnaCwgSSBzaG91bGQgcmV2aWV3IGB4ZnNfZW5kX2lvZW5kX3dyaXRlYCBpdHNlbGYgdG8gdW5kZXJzdGFuZCB0aGUgc3Vycm91bmRpbmcgY29udGV4dC4gSXQmIzM5O3MgaW4gdGhlIHNhbWUgZmlsZSwgYGZzL3hmcy94ZnNfYW9wcy5jYCwgc28gdGhhdCYjMzk7cyBzdHJhaWdodGZvcndhcmQuIFRoZSBjb25maWd1cmF0aW9uIHJlcXVpcmVtZW50IGlzIHNpbXBseSBgWEZTX0ZTYCwgd2hpY2ggaXMgZXhwZWN0ZWQuIEkgc2hvdWxkIGNoZWNrIHRvIHNlZSBpZiB0aGVyZSBhcmUgb3RoZXIgY29uZmlnIHJlcXVpcmVtZW50cyB0aG91Z2guCgpJJiMzOTtsbCBjaGVjayB0byBzZWUgd2hlcmUgYHhmc19lbmRfaW9lbmRfd3JpdGVgIGlzIGNhbGxlZCBmcm9tLiBJdCYjMzk7cyBjYWxsZWQgZnJvbSBgeGZzX2VuZF9pb2AsIHdoaWNoIG1lYW5zIHRoaXMgaXMgYSBsb3ctbGV2ZWwgb3BlcmF0aW9uLCBhbmQgcG90ZW50aWFsbHkgaW1wYWN0aW5nIGhvdyBlcnJvciBjb25kaXRpb25zIGFyZSBoYW5kbGVkLiBJdCYjMzk7cyB3b3J0aCBhIGRlZXAgZGl2ZSB0byBmdWxseSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMjA6MTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7eGZzX2VuZF9pb2VuZF93cml0ZSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL3hmcy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMveGZzL3hmc19hb3BzLmM9MTA2PVNUQVRJQyB2b2lkXG5mcy94ZnMveGZzX2FvcHMuYzoxMDc6eGZzX2VuZF9pb2VuZF93cml0ZShcbmZzL3hmcy94ZnNfYW9wcy5jLTEwOC1cdHN0cnVjdCBpb21hcF9pb2VuZFx0KmlvZW5kKVxuLS1cbmZzL3hmcy94ZnNfYW9wcy5jPTE5OT14ZnNfZW5kX2lvKFxuLS1cbmZzL3hmcy94ZnNfYW9wcy5jLTIyMC1cdFx0ZWxzZVxuZnMveGZzL3hmc19hb3BzLmM6MjIxOlx0XHRcdHhmc19lbmRfaW9lbmRfd3JpdGUoaW9lbmQpO1xuZnMveGZzL3hmc19hb3BzLmMtMjIyLVx0XHRjb25kX3Jlc2NoZWQoKTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8wOSAyMDoxNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyOTQ2CgkJCQkJCQlvdXRwdXQ6IDMwCgkJCQkJCQl0aG91Z2h0czogMTM1CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBYRlMgSS9PIENvbXBsZXRpb24gUGF0aHMqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IGB4ZnNfZW5kX2lvZW5kX3dyaXRlYCwgd2hpY2ggSSBzZWUgaXMgYSBzdGF0aWMgZnVuY3Rpb24gd2l0aGluIGBmcy94ZnMveGZzX2FvcHMuY2AuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0aGF0IHRoaXMgY291bGQgYmUgYSBrZXkgcG9pbnQgb2YgaW50ZXJlc3QgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIFhGUyBJL08gY29tcGxldGlvbiBwcm9jZXNzLiBCdXQgc2luY2UgaXQmIzM5O3Mgc3RhdGljLCBtYXliZSBgeGZzX2VuZF9pb2Agd291bGQgYmUgYSBicm9hZGVyLCBwb3RlbnRpYWxseSBtb3JlIHVzZWZ1bCBzeW1ib2wgdG8gZXhhbWluZSwgb3IgcGVyaGFwcyBJIG5lZWQgdG8gY29uc2lkZXIgYm90aC4gSSBzaG91bGQgZGVmaW5pdGVseSBpbnZlc3RpZ2F0ZSBib3RoIHRvIGNvbmZpcm0gdGhlIGFwcHJvcHJpYXRlIGxldmVsIG9mIHRoZSBjYWxsLiBOb3csIGxldCBtZSBxdWlja2x5IGRvdWJsZS1jaGVjayBgZnMveGZzL0tjb25maWdgIHRvIHJlZnJlc2ggbXkgbWVtb3J5IG9uIHRoZSBgWEZTX0ZTYCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYW5kIGRlcGVuZGVuY2llcy4gVGhpcyBoZWxwcyBuYXJyb3cgZG93biBwb3NzaWJsZSBjb2RlIHBhdGhzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBYRlNfRlMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtmcy94ZnMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL3hmcy9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5mcy94ZnMvS2NvbmZpZzoyOmNvbmZpZyBYRlNfRlNcbmZzL3hmcy9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtYRlMgZmlsZXN5c3RlbSBzdXBwb3J0XCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMjA6MTU8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzM1MwoJCQkJCQkJb3V0cHV0OiAyOQoJCQkJCQkJdGhvdWdodHM6IDUxCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRob3NlIHRob3VnaHRzLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlLCBwcmVzZW50ZWQgaW4gdGhlIGZpcnN0IHBlcnNvbjoKCioqQW5hbHl6aW5nIHRoZSBDb25maWd1cmF0aW9uIGFuZCBSZWZsaW5rIFN1cHBvcnQgaW4gWEZTKioKClJpZ2h0LCB0aGUgY3VycmVudCBjb25maWcgaW4gcGxheSBpcyBgWEZTX0ZTYC4gTXkgaW1tZWRpYXRlIHRob3VnaHQgaXMsICYjMzQ7T2theSwgbGV0JiMzOTtzIGp1c3QgcXVpY2tseSBjb25maXJtIHRoYXQgdGhpcyBpcyB0aGUgKm9ubHkqIHJlbGV2YW50IGNvbmZpZyBhZmZlY3RpbmcgdGhpcyBwYXJ0aWN1bGFyIGNoYW5nZSYjMzQ7LiBJIG5lZWQgdG8gYmUgc3VyZSB0aGVyZSBhcmVuJiMzOTt0IGFueSBoaWRkZW4gZGVwZW5kZW5jaWVzIG9yIGludGVyYWN0aW9ucyB3aXRoIG90aGVyIGZpbGVzeXN0ZW0gcGFyYW1ldGVycyBsdXJraW5nIGFib3V0LgoKVGhpcyBjaGFuZ2UgaXMgZXhwbGljaXRseSB0YWdnZWQgd2l0aCBDT1cgYW5kIHJlZmxpbmssIHNvIG5hdHVyYWxseSwgbXkgbmV4dCBsaW5lIG9mIGlucXVpcnkgaXMgc3BlY2lmaWNhbGx5IGZvY3VzZWQgb24gaG93IHRoZXNlIGZlYXR1cmVzIGFyZSBjdXJyZW50bHkgaW1wbGVtZW50ZWQuIE5vdyB0aGUgcXVlc3Rpb24gaXM6IERvZXMgWEZTIHV0aWxpemUgYSAqZGVkaWNhdGVkKiBjb25maWd1cmF0aW9uIG9wdGlvbiBmb3IgcmVmbGluayBzdXBwb3J0PyBTb21lIGZpbGVzeXN0ZW1zIGx1bXAgaXQgdW5kZXIgYSBtb3JlIGdlbmVyaWMgQ09XIGZsYWcsIGJ1dCB3aXRoIFhGUyYjMzk7cyBoaXN0b3J5IGFuZCBkZXNpZ24sIEkgd291bGRuJiMzOTt0IGJlIHN1cnByaXNlZCBpZiB0aGVyZSYjMzk7cyBhIG1vcmUgZ3JhbnVsYXIgY29udHJvbC4gVW5kZXJzdGFuZGluZyB3aGV0aGVyIHJlZmxpbmsgaGFzIGEgdW5pcXVlIGZsYWcsIGEgc2hhcmVkIGZsYWcsIG9yIGltcGxpZWQgYmFzZWQgb24gdGhlIHByZXNlbmNlIG9mIGFub3RoZXIgZmxhZyBpcyBjcml0aWNhbCBpbiB1bmRlcnN0YW5kaW5nIHRoZSBmdWxsIGltcGxpY2F0aW9ucyBvZiBhbnkgbW9kaWZpY2F0aW9uLiBJdCB3aWxsIGFsc28gaGVscCBtZSBuYXJyb3cgZG93biB3aGljaCBtb2R1bGVzIG5lZWQgdG8gYmUgZXhhbWluZWQgb3IgdW5pdCB0ZXN0ZWQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMDkgMjA6MTU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIFhGU18mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtmcy94ZnMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL3hmcy9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG5mcy94ZnMvS2NvbmZpZzoyOmNvbmZpZyBYRlNfRlNcbmZzL3hmcy9LY29uZmlnLTMtXHR0cmlzdGF0ZSBcJiMzNDtYRlMgZmlsZXN5c3RlbSBzdXBwb3J0XCYjMzQ7XG4tLVxuZnMveGZzL0tjb25maWctMjQtXG5mcy94ZnMvS2NvbmZpZzoyNTpjb25maWcgWEZTX1NVUFBPUlRfVjRcbmZzL3hmcy9LY29uZmlnLTI2LVx0Ym9vbCBcJiMzNDtTdXBwb3J0IGRlcHJlY2F0ZWQgVjQgKGNyYz0wKSBmb3JtYXRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy00OS1cbmZzL3hmcy9LY29uZmlnOjUwOmNvbmZpZyBYRlNfU1VQUE9SVF9BU0NJSV9DSVxuZnMveGZzL0tjb25maWctNTEtXHRib29sIFwmIzM0O1N1cHBvcnQgZGVwcmVjYXRlZCBjYXNlLWluc2Vuc2l0aXZlIGFzY2lpIChhc2NpaS1jaT0xKSBmb3JtYXRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy03Ni1cbmZzL3hmcy9LY29uZmlnOjc3OmNvbmZpZyBYRlNfUVVPVEFcbmZzL3hmcy9LY29uZmlnLTc4LVx0Ym9vbCBcJiMzNDtYRlMgUXVvdGEgc3VwcG9ydFwmIzM0O1xuLS1cbmZzL3hmcy9LY29uZmlnLTk0LVxuZnMveGZzL0tjb25maWc6OTU6Y29uZmlnIFhGU19QT1NJWF9BQ0xcbmZzL3hmcy9LY29uZmlnLTk2LVx0Ym9vbCBcJiMzNDtYRlMgUE9TSVggQUNMIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xMDQtXG5mcy94ZnMvS2NvbmZpZzoxMDU6Y29uZmlnIFhGU19SVFxuZnMveGZzL0tjb25maWctMTA2LVx0Ym9vbCBcJiMzNDtYRlMgUmVhbHRpbWUgc3Vidm9sdW1lIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xMzItXG5mcy94ZnMvS2NvbmZpZzoxMzM6Y29uZmlnIFhGU19EUkFJTl9JTlRFTlRTXG5mcy94ZnMvS2NvbmZpZy0xMzQtXHRib29sXG4tLVxuZnMveGZzL0tjb25maWctMTM2LVxuZnMveGZzL0tjb25maWc6MTM3OmNvbmZpZyBYRlNfTElWRV9IT09LU1xuZnMveGZzL0tjb25maWctMTM4LVx0Ym9vbFxuLS1cbmZzL3hmcy9LY29uZmlnLTE0MC1cbmZzL3hmcy9LY29uZmlnOjE0MTpjb25maWcgWEZTX01FTU9SWV9CVUZTXG5mcy94ZnMvS2NvbmZpZy0xNDItXHRib29sXG5mcy94ZnMvS2NvbmZpZy0xNDMtXG5mcy94ZnMvS2NvbmZpZzoxNDQ6Y29uZmlnIFhGU19CVFJFRV9JTl9NRU1cbmZzL3hmcy9LY29uZmlnLTE0NS1cdGJvb2xcbmZzL3hmcy9LY29uZmlnLTE0Ni1cbmZzL3hmcy9LY29uZmlnOjE0Nzpjb25maWcgWEZTX09OTElORV9TQ1JVQlxuZnMveGZzL0tjb25maWctMTQ4LVx0Ym9vbCBcJiMzNDtYRlMgb25saW5lIG1ldGFkYXRhIGNoZWNrIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xNjMtXG5mcy94ZnMvS2NvbmZpZzoxNjQ6Y29uZmlnIFhGU19PTkxJTkVfU0NSVUJfU1RBVFNcbmZzL3hmcy9LY29uZmlnLTE2NS1cdGJvb2wgXCYjMzQ7WEZTIG9ubGluZSBtZXRhZGF0YSBjaGVjayB1c2FnZSBkYXRhIGNvbGxlY3Rpb25cJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xNzgtXG5mcy94ZnMvS2NvbmZpZzoxNzk6Y29uZmlnIFhGU19PTkxJTkVfUkVQQUlSXG5mcy94ZnMvS2NvbmZpZy0xODAtXHRib29sIFwmIzM0O1hGUyBvbmxpbmUgbWV0YWRhdGEgcmVwYWlyIHN1cHBvcnRcJiMzNDtcbi0tXG5mcy94ZnMvS2NvbmZpZy0xOTMtXG5mcy94ZnMvS2NvbmZpZzoxOTQ6Y29uZmlnIFhGU19XQVJOXG5mcy94ZnMvS2NvbmZpZy0xOTUtXHRib29sIFwmIzM0O1hGUyBWZXJib3NlIFdhcm5pbmdzXCYjMzQ7XG4tLVxuZnMveGZzL0tjb25maWctMjA2LVxuZnMveGZzL0tjb25maWc6MjA3OmNvbmZpZyBYRlNfREVCVUdcbmZzL3hmcy9LY29uZmlnLTIwOC1cdGJvb2wgXCYjMzQ7WEZTIERlYnVnZ2luZyBzdXBwb3J0XCYjMzQ7XG4tLVxuZnMveGZzL0tjb25maWctMjE5LVxuZnMveGZzL0tjb25maWc6MjIwOmNvbmZpZyBYRlNfREVCVUdfRVhQRU5TSVZFXG5mcy94ZnMvS2NvbmZpZy0yMjEtXHRib29sIFwmIzM0O1hGUyBleHBlbnNpdmUgZGVidWdnaW5nIGNoZWNrc1wmIzM0O1xuLS1cbmZzL3hmcy9LY29uZmlnLTIzMS1cbmZzL3hmcy9LY29uZmlnOjIzMjpjb25maWcgWEZTX0FTU0VSVF9GQVRBTFxuZnMveGZzL0tjb25maWctMjMzLVx0Ym9vbCBcJiMzNDtYRlMgZmF0YWwgYXNzZXJ0c1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ2NDQKCQkJCQkJCW91dHB1dDogMTI2CgkJCQkJCQl0aG91Z2h0czogNDc3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkZ1enppbmcgU3RyYXRlZ3kgZm9yIFhGUyBDT1cgRXJyb3IgSGFuZGxpbmcqKgoKT2theSwgc28gdGhlcmUgaXNuJiMzOTt0IGEgc2VwYXJhdGUgY29uZmlndXJhdGlvbiBvcHRpb24gc3BlY2lmaWNhbGx5IGZvciByZWZsaW5rIG9yIGNvcHktb24td3JpdGUgKENPVykgZnVuY3Rpb25hbGl0eTsgaXQmIzM5O3MgaW50cmluc2ljYWxseSBsaW5rZWQgdG8gdGhlIGBYRlNfRlNgIGNvbmZpZ3VyYXRpb24uIEdvb2QgdG8ga25vdy4KClRoZSBrZXkgYXJlYSBvZiBpbnRlcmVzdCBoZXJlIGlzIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gVGhpcyBmdW5jdGlvbiwgc3BlY2lmaWNhbGx5IHdpdGhpbiBpdHMgZXJyb3IgaGFuZGxpbmcgcGF0aCwgaXMgd2hlcmUgdGhlIGNoYW5nZSByZXNpZGVzLiBJJiMzOTt2ZSBjb25maXJtZWQgdGhhdCBgeGZzX2VuZF9pb2VuZF93cml0ZWAgaXMgaW5kZWVkIHRoZSBzdGFuZGFyZCBJL08gY29tcGxldGlvbiBoYW5kbGVyIGZvciBYRlMgd3JpdGVzLCBzbyBpdCYjMzk7cyBkZWZpbml0ZWx5IGEgcmVhY2hhYmxlIHBhcnQgb2YgdGhlIGNvZGUgYW5kIHdvcnRoIGludmVzdGlnYXRpbmcgZnVydGhlci4gVGhlIGZ1bmN0aW9uIGB4ZnNfZW5kX2lvYCBpcyBhbHNvIGEgcmVsZXZhbnQgZnVuY3Rpb24gdGhhdCBpcyB3b3J0aCBub3RpbmcuCgpUaGUgY3JpdGljYWwgcGFydCBpcyB0aGUgZXJyb3IgaGFuZGxpbmcgbG9naWMgd2l0aGluIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gU3BlY2lmaWNhbGx5LCB3aGVuIGFuIEkvTyBlcnJvciBvY2N1cnMsIHRoZSBjb2RlIG5lZWRzIHRvIGNsZWFuIHVwIENPVyBibG9ja3MgYW5kIGRlbGFsbG9jIGJsb2Nrcy4gVGhlIGNvbW1pdCBtb2RpZmllcyB0aGUgaGFuZGxpbmcgb2YgYElPTUFQX0lPRU5EX1NIQVJFRGAgYmxvY2tzIOKAkyB0aGVzZSByZWxhdGUgdG8gQ09XIGZ1bmN0aW9uYWxpdHkuIE15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCwgaW4gdGhlIGVycm9yIGNhc2UsIGRlbGFsbG9jIGJsb2NrcyBhcmUgcHVuY2hlZCBhbmQgdGhlIGZvcmsgdHlwZSBpcyBjaGFuZ2VkIGZyb20gYFhGU19EQVRBX0ZPUktgIHRvIGBYRlNfQ09XX0ZPUktgLiBUaGlzIHNvdW5kcyBsaWtlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZTIGxvZ2ljIHJlbGF0ZWQgdG8gcmVmbGluay9DT1cgZnVuY3Rpb25hbGl0eS4KClRoZXJlZm9yZSwgSSYjMzk7bSBzZXR0aW5nIGBXb3J0aEZ1enppbmc9dHJ1ZWAuIFRoZSByZWxldmFudCBjb25maWd1cmF0aW9ucyBhcmUgYEVuYWJsZUNvbmZpZ3MgPSBbJiMzNDtYRlNfRlMmIzM0O11gLCBhcyB0aGUgZnVuY3Rpb25hbGl0eSBpcyBidWlsdCBpbnRvIFhGUy4gTXkgcHJpbWFyeSBmb2N1cyBzeW1ib2xzIHdpbGwgYmUgYEZvY3VzU3ltYm9scyA9IFsmIzM0O3hmc19lbmRfaW9lbmRfd3JpdGUmIzM0OywgJiMzNDt4ZnNfZW5kX2lvJiMzNDtdYC4gRmluYWxseSwgbXkgcmVhc29uaW5nIGZvciB0aGlzIGZ1enppbmcgZWZmb3J0IGlzOiBgVGhlIHBhdGNoIGZpeGVzIGEgYnVnIGluIHRoZSBlcnJvciBoYW5kbGluZyBwYXRoIG9mIFhGUyBJL08gY29tcGxldGlvbiBmb3Igc2hhcmVkIChDT1cpIGJsb2NrcywgY2hhbmdpbmcgdGhlIGZvcmsgdHlwZSBmcm9tIFhGU19EQVRBX0ZPUksgdG8gWEZTX0NPV19GT1JLIHdoZW4gcHVuY2hpbmcgZGVsYWxsb2MgYmxvY2tzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBYRlMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLmAgSSYjMzk7bGwgbmVlZCB0byBmb2N1cyBvbiBjcmFmdGluZyB0ZXN0IGNhc2VzIHRoYXQgdHJpZ2dlciBJL08gZXJyb3JzIGFuZCBjaGVjayB0aGUgZm9yayB0eXBlLCBzcGVjaWZpY2FsbHkgaW4gdGhlIENPVyBjb250ZXh0LiBUaGlzIGlzIGNvcmUgWEZTIGZ1bmN0aW9uYWxpdHkgYW5kIHNob3VsZCBiZSBoaWdobHkgcHJpb3JpdGl6ZWQgZm9yIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzA5IDIwOjE1PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtYRlNfRlMmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt4ZnNfZW5kX2lvZW5kX3dyaXRlJiMzNDssCiAgICAmIzM0O3hmc19lbmRfaW8mIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBidWcgaW4gdGhlIGVycm9yIGhhbmRsaW5nIHBhdGggb2YgWEZTIEkvTyBjb21wbGV0aW9uIGZvciBzaGFyZWQgKENPVykgYmxvY2tzLCBjaGFuZ2luZyB0aGUgZm9yayB0eXBlIGZyb20gWEZTX0RBVEFfRk9SSyB0byBYRlNfQ09XX0ZPUksgd2hlbiBwdW5jaGluZyBkZWxhbGxvYyBibG9ja3MuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIFhGUyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1hGU19GUyYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3hmc19lbmRfaW9lbmRfd3JpdGUmIzM0OywKICAgICYjMzQ7eGZzX2VuZF9pbyYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE0OjU5LjEyMjIxMTYzNVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQzODk2NDMyNjQ0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlhGU19GU1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInhmc19lbmRfaW9lbmRfd3JpdGVcIixcbiAgICBcInhmc19lbmRfaW9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMjA6MTQ6NTkuMTIyMjE1OTc1WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDE0NTk0MTEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCAwYWE2NzNjNzNjNDhhMTlhNWZiYzcwYjI5YzUwOTIxM2I1YTgyOGU1XFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUaHUgSnVsIDkgMjA6MTQ6NTcgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZnMveGZzL3hmc19hb3BzLmMgYi9mcy94ZnMveGZzX2FvcHMuY1xcbmluZGV4IDUxMjkzYjZmMzMxZjBiLi44MjY4YTNmODAzOThmOSAxMDA2NDRcXG4tLS0gYS9mcy94ZnMveGZzX2FvcHMuY1xcbisrKyBiL2ZzL3hmcy94ZnNfYW9wcy5jXFxuQEAgLTEzMSwxMSArMTMxLDExIEBAIHhmc19lbmRfaW9lbmRfd3JpdGUoXFxuIFxcdH1cXG4gXFxuIFxcdC8qXFxuLVxcdCAqIENsZWFuIHVwIGFsbCBDT1cgYmxvY2tzIGFuZCB1bmRlcmx5aW5nIGRhdGEgZm9yayBkZWxhbGxvYyBibG9ja3Mgb25cXG4tXFx0ICogSS9PIGVycm9yLiBUaGUgZGVsYWxsb2MgcHVuY2ggaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGlzIGlvZW5kIHdhc1xcbi1cXHQgKiBtYXBwZWQgdG8gYmxvY2tzIGluIHRoZSBDT1cgZm9yayBhbmQgdGhlIGFzc29jaWF0ZWQgcGFnZXMgYXJlIG5vXFxuLVxcdCAqIGxvbmdlciBkaXJ0eS4gSWYgd2UgZG9uJ3QgcmVtb3ZlIGRlbGFsbG9jIGJsb2NrcyBoZXJlLCB0aGV5IGJlY29tZVxcbi1cXHQgKiBzdGFsZSBhbmQgY2FuIGNvcnJ1cHQgZnJlZSBzcGFjZSBhY2NvdW50aW5nIG9uIHVubW91bnQuXFxuK1xcdCAqIENsZWFuIHVwIENPVyBibG9ja3MgYW5kIENPVyBmb3JrIGRlbGFsbG9jIGJsb2NrcyBvbiBJL08gZXJyb3IuXFxuK1xcdCAqIE9uIHRoZSBlcnJvciBwYXRoIHhmc19yZWZsaW5rX2VuZF9jb3coKSBpcyBuZXZlciBjYWxsZWQsIHNvIHRoZVxcbitcXHQgKiBDT1cgZm9yayBleHRlbnRzIGhhdmUgbm90IGJlZW4gbW92ZWQgdG8gdGhlIGRhdGEgZm9yayB5ZXQuICBBbnlcXG4rXFx0ICogb3ZlcmxhcHBpbmcgZGVsYWxsb2MgdGhhdCBuZWVkcyB0byBiZSBjbGVhbmVkIHVwIGlzIHRoZXJlZm9yZVxcbitcXHQgKiBzdGlsbCBpbiB0aGUgQ09XIGZvcmsuXFxuIFxcdCAqL1xcbiBcXHRlcnJvciA9IGJsa19zdGF0dXNfdG9fZXJybm8oaW9lbmQtXFx1MDAzZWlvX2Jpby5iaV9zdGF0dXMpO1xcbiBcXHRpZiAodW5saWtlbHkoZXJyb3IpKSB7XFxuQEAgLTE1Myw3ICsxNTMsNyBAQCB4ZnNfZW5kX2lvZW5kX3dyaXRlKFxcbiBcXHRcXHRpZiAoaW9lbmQtXFx1MDAzZWlvX2ZsYWdzIFxcdTAwMjYgSU9NQVBfSU9FTkRfU0hBUkVEKSB7XFxuIFxcdFxcdFxcdEFTU0VSVCghaXNfem9uZWQpO1xcbiBcXHRcXHRcXHR4ZnNfcmVmbGlua19jYW5jZWxfY293X3JhbmdlKGlwLCBvZmZzZXQsIHNpemUsIHRydWUpO1xcbi1cXHRcXHRcXHR4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0RBVEFfRk9SSywgb2Zmc2V0LFxcbitcXHRcXHRcXHR4ZnNfYm1hcF9wdW5jaF9kZWxhbGxvY19yYW5nZShpcCwgWEZTX0NPV19GT1JLLCBvZmZzZXQsXFxuIFxcdFxcdFxcdFxcdFxcdG9mZnNldCArIHNpemUsIE5VTEwpO1xcbiBcXHRcXHR9XFxuIFxcdFxcdGdvdG8gZG9uZTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMDlUMjA6MTQ6NTkuNzI0NzA4MDE3WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzI5MzkyNjU0MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJYRlNfRlNcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ4ZnNfZW5kX2lvZW5kX3dyaXRlXCIsXG4gICAgXCJ4ZnNfZW5kX2lvXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBidWcgaW4gdGhlIGVycm9yIGhhbmRsaW5nIHBhdGggb2YgWEZTIEkvTyBjb21wbGV0aW9uIGZvciBzaGFyZWQgKENPVykgYmxvY2tzLCBjaGFuZ2luZyB0aGUgZm9yayB0eXBlIGZyb20gWEZTX0RBVEFfRk9SSyB0byBYRlNfQ09XX0ZPUksgd2hlbiBwdW5jaGluZyBkZWxhbGxvYyBibG9ja3MuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiBjb3JlIFhGUyBsb2dpYyB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgMGFhNjczYzczYzQ4YTE5YTVmYmM3MGIyOWM1MDkyMTNiNWE4MjhlNVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUaHUgSnVsIDkgMjA6MTQ6NTcgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy94ZnMveGZzX2FvcHMuYyBiL2ZzL3hmcy94ZnNfYW9wcy5jXG5pbmRleCA1MTI5M2I2ZjMzMWYwYi4uODI2OGEzZjgwMzk4ZjkgMTAwNjQ0XG4tLS0gYS9mcy94ZnMveGZzX2FvcHMuY1xuKysrIGIvZnMveGZzL3hmc19hb3BzLmNcbkBAIC0xMzEsMTEgKzEzMSwxMSBAQCB4ZnNfZW5kX2lvZW5kX3dyaXRlKFxuIFx0fVxuIFxuIFx0Lypcbi1cdCAqIENsZWFuIHVwIGFsbCBDT1cgYmxvY2tzIGFuZCB1bmRlcmx5aW5nIGRhdGEgZm9yayBkZWxhbGxvYyBibG9ja3Mgb25cbi1cdCAqIEkvTyBlcnJvci4gVGhlIGRlbGFsbG9jIHB1bmNoIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhpcyBpb2VuZCB3YXNcbi1cdCAqIG1hcHBlZCB0byBibG9ja3MgaW4gdGhlIENPVyBmb3JrIGFuZCB0aGUgYXNzb2NpYXRlZCBwYWdlcyBhcmUgbm9cbi1cdCAqIGxvbmdlciBkaXJ0eS4gSWYgd2UgZG9uJ3QgcmVtb3ZlIGRlbGFsbG9jIGJsb2NrcyBoZXJlLCB0aGV5IGJlY29tZVxuLVx0ICogc3RhbGUgYW5kIGNhbiBjb3JydXB0IGZyZWUgc3BhY2UgYWNjb3VudGluZyBvbiB1bm1vdW50LlxuK1x0ICogQ2xlYW4gdXAgQ09XIGJsb2NrcyBhbmQgQ09XIGZvcmsgZGVsYWxsb2MgYmxvY2tzIG9uIEkvTyBlcnJvci5cbitcdCAqIE9uIHRoZSBlcnJvciBwYXRoIHhmc19yZWZsaW5rX2VuZF9jb3coKSBpcyBuZXZlciBjYWxsZWQsIHNvIHRoZVxuK1x0ICogQ09XIGZvcmsgZXh0ZW50cyBoYXZlIG5vdCBiZWVuIG1vdmVkIHRvIHRoZSBkYXRhIGZvcmsgeWV0LiAgQW55XG4rXHQgKiBvdmVybGFwcGluZyBkZWxhbGxvYyB0aGF0IG5lZWRzIHRvIGJlIGNsZWFuZWQgdXAgaXMgdGhlcmVmb3JlXG4rXHQgKiBzdGlsbCBpbiB0aGUgQ09XIGZvcmsuXG4gXHQgKi9cbiBcdGVycm9yID0gYmxrX3N0YXR1c190b19lcnJubyhpb2VuZC1cdTAwM2Vpb19iaW8uYmlfc3RhdHVzKTtcbiBcdGlmICh1bmxpa2VseShlcnJvcikpIHtcbkBAIC0xNTMsNyArMTUzLDcgQEAgeGZzX2VuZF9pb2VuZF93cml0ZShcbiBcdFx0aWYgKGlvZW5kLVx1MDAzZWlvX2ZsYWdzIFx1MDAyNiBJT01BUF9JT0VORF9TSEFSRUQpIHtcbiBcdFx0XHRBU1NFUlQoIWlzX3pvbmVkKTtcbiBcdFx0XHR4ZnNfcmVmbGlua19jYW5jZWxfY293X3JhbmdlKGlwLCBvZmZzZXQsIHNpemUsIHRydWUpO1xuLVx0XHRcdHhmc19ibWFwX3B1bmNoX2RlbGFsbG9jX3JhbmdlKGlwLCBYRlNfREFUQV9GT1JLLCBvZmZzZXQsXG4rXHRcdFx0eGZzX2JtYXBfcHVuY2hfZGVsYWxsb2NfcmFuZ2UoaXAsIFhGU19DT1dfRk9SSywgb2Zmc2V0LFxuIFx0XHRcdFx0XHRvZmZzZXQgKyBzaXplLCBOVUxMKTtcbiBcdFx0fVxuIFx0XHRnb3RvIGRvbmU7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQyMDoxNDo1OS43MjQ3MDk1MjdaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMzA2NzEzODA2MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgYSBSZWNlbnQgWEZTIFBhdGNoKipcblxuT2theSwgc28gSSd2ZSBnb3QgYSBwYXRjaCBoZXJlIHRoYXQncyBjYXVnaHQgbXkgZXllLCBtb2RpZnlpbmcgYGZzL3hmcy94ZnNfYW9wcy5jYC4gU3BlY2lmaWNhbGx5LCB0aGUgY2hhbmdlIHRhcmdldHMgYHhmc19lbmRfaW9lbmRfd3JpdGVgLiBUaGUgY29yZSBvZiBpdCBzZWVtcyB0byBiZSBhIGZvcmsgY2hhbmdlIHdpdGhpbiBgeGZzX2JtYXBfcHVuY2hfZGVsYWxsb2NfcmFuZ2VgLiBUaGUgY29kZSB1c2VkIHRvIGJlIGNhbGxpbmcgaXQgd2l0aCBgWEZTX0RBVEFfRk9SS2AsIGJ1dCBpdCdzIG5vdyB1c2luZyBgWEZTX0NPV19GT1JLYC4gVGhpcyBzaGlmdCBmcm9tIGBYRlNfREFUQV9GT1JLYCB0byBgWEZTX0NPV19GT1JLYCBpbiBhIGZ1bmN0aW9uIHJlbGF0ZWQgdG8gSS9PIGNvbXBsZXRpb24gaW4gdGhlIFhGUyBlcnJvciBoYW5kbGluZyBwYXRoIGZvciBzaGFyZWQgKENPVykgYmxvY2tzLCBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLiBHaXZlbiBteSBleHBlcmllbmNlLCBJIGNhbiBpbW1lZGlhdGVseSBzZWUgdGhlIHBvdGVudGlhbCBmb3Igc29tZSBpbnRlcmVzdGluZyBlZGdlIGNhc2VzIG9yIHVuZXhwZWN0ZWQgYmVoYXZpb3IgaGVyZS4gVGhhdCdzIGEgY2xhc3NpYyBhcmVhIHJpcGUgZm9yIGZ1enppbmcuXG5cblRvIGJlIHRob3JvdWdoLCBJIHNob3VsZCByZXZpZXcgYHhmc19lbmRfaW9lbmRfd3JpdGVgIGl0c2VsZiB0byB1bmRlcnN0YW5kIHRoZSBzdXJyb3VuZGluZyBjb250ZXh0LiBJdCdzIGluIHRoZSBzYW1lIGZpbGUsIGBmcy94ZnMveGZzX2FvcHMuY2AsIHNvIHRoYXQncyBzdHJhaWdodGZvcndhcmQuIFRoZSBjb25maWd1cmF0aW9uIHJlcXVpcmVtZW50IGlzIHNpbXBseSBgWEZTX0ZTYCwgd2hpY2ggaXMgZXhwZWN0ZWQuIEkgc2hvdWxkIGNoZWNrIHRvIHNlZSBpZiB0aGVyZSBhcmUgb3RoZXIgY29uZmlnIHJlcXVpcmVtZW50cyB0aG91Z2guXG5cbkknbGwgY2hlY2sgdG8gc2VlIHdoZXJlIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYCBpcyBjYWxsZWQgZnJvbS4gSXQncyBjYWxsZWQgZnJvbSBgeGZzX2VuZF9pb2AsIHdoaWNoIG1lYW5zIHRoaXMgaXMgYSBsb3ctbGV2ZWwgb3BlcmF0aW9uLCBhbmQgcG90ZW50aWFsbHkgaW1wYWN0aW5nIGhvdyBlcnJvciBjb25kaXRpb25zIGFyZSBoYW5kbGVkLiBJdCdzIHdvcnRoIGEgZGVlcCBkaXZlIHRvIGZ1bGx5IHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjEzOCwiT3V0cHV0VG9rZW5zIjozNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjIyOSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE1OjEyLjc5MTg1MTUxWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjExMTYwOTUwOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ4ZnNfZW5kX2lvZW5kX3dyaXRlXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImZzL3hmcy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMveGZzL3hmc19hb3BzLmM9MTA2PVNUQVRJQyB2b2lkXFxuZnMveGZzL3hmc19hb3BzLmM6MTA3Onhmc19lbmRfaW9lbmRfd3JpdGUoXFxuZnMveGZzL3hmc19hb3BzLmMtMTA4LVxcdHN0cnVjdCBpb21hcF9pb2VuZFxcdCppb2VuZClcXG4tLVxcbmZzL3hmcy94ZnNfYW9wcy5jPTE5OT14ZnNfZW5kX2lvKFxcbi0tXFxuZnMveGZzL3hmc19hb3BzLmMtMjIwLVxcdFxcdGVsc2VcXG5mcy94ZnMveGZzX2FvcHMuYzoyMjE6XFx0XFx0XFx0eGZzX2VuZF9pb2VuZF93cml0ZShpb2VuZCk7XFxuZnMveGZzL3hmc19hb3BzLmMtMjIyLVxcdFxcdGNvbmRfcmVzY2hlZCgpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQyMDoxNToxMi45MDM0NjgxNTlaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMTA3OTI2MzA4MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgWEZTIEkvTyBDb21wbGV0aW9uIFBhdGhzKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYHhmc19lbmRfaW9lbmRfd3JpdGVgLCB3aGljaCBJIHNlZSBpcyBhIHN0YXRpYyBmdW5jdGlvbiB3aXRoaW4gYGZzL3hmcy94ZnNfYW9wcy5jYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRoYXQgdGhpcyBjb3VsZCBiZSBhIGtleSBwb2ludCBvZiBpbnRlcmVzdCBmb3IgdW5kZXJzdGFuZGluZyB0aGUgWEZTIEkvTyBjb21wbGV0aW9uIHByb2Nlc3MuIEJ1dCBzaW5jZSBpdCdzIHN0YXRpYywgbWF5YmUgYHhmc19lbmRfaW9gIHdvdWxkIGJlIGEgYnJvYWRlciwgcG90ZW50aWFsbHkgbW9yZSB1c2VmdWwgc3ltYm9sIHRvIGV4YW1pbmUsIG9yIHBlcmhhcHMgSSBuZWVkIHRvIGNvbnNpZGVyIGJvdGguIEkgc2hvdWxkIGRlZmluaXRlbHkgaW52ZXN0aWdhdGUgYm90aCB0byBjb25maXJtIHRoZSBhcHByb3ByaWF0ZSBsZXZlbCBvZiB0aGUgY2FsbC4gTm93LCBsZXQgbWUgcXVpY2tseSBkb3VibGUtY2hlY2sgYGZzL3hmcy9LY29uZmlnYCB0byByZWZyZXNoIG15IG1lbW9yeSBvbiB0aGUgYFhGU19GU2AgY29uZmlndXJhdGlvbiBvcHRpb25zIGFuZCBkZXBlbmRlbmNpZXMuIFRoaXMgaGVscHMgbmFycm93IGRvd24gcG9zc2libGUgY29kZSBwYXRocy5cblxuXG4iLCJJbnB1dFRva2VucyI6Mjk0NiwiT3V0cHV0VG9rZW5zIjozMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzNSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQyMDoxNToyMy45ODI3MzM0NThaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ0NTQ4MTM4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBYRlNfRlNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMveGZzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJmcy94ZnMvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbmZzL3hmcy9LY29uZmlnOjI6Y29uZmlnIFhGU19GU1xcbmZzL3hmcy9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIlhGUyBmaWxlc3lzdGVtIHN1cHBvcnRcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE1OjI0LjEyNzI5MDQwNloiLCJTZXEiOjcsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM3NDI3MzY5ODksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSBpbnRlcnByZXRhdGlvbiBvZiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZSwgcHJlc2VudGVkIGluIHRoZSBmaXJzdCBwZXJzb246XG5cbioqQW5hbHl6aW5nIHRoZSBDb25maWd1cmF0aW9uIGFuZCBSZWZsaW5rIFN1cHBvcnQgaW4gWEZTKipcblxuUmlnaHQsIHRoZSBjdXJyZW50IGNvbmZpZyBpbiBwbGF5IGlzIGBYRlNfRlNgLiBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgXCJPa2F5LCBsZXQncyBqdXN0IHF1aWNrbHkgY29uZmlybSB0aGF0IHRoaXMgaXMgdGhlICpvbmx5KiByZWxldmFudCBjb25maWcgYWZmZWN0aW5nIHRoaXMgcGFydGljdWxhciBjaGFuZ2VcIi4gSSBuZWVkIHRvIGJlIHN1cmUgdGhlcmUgYXJlbid0IGFueSBoaWRkZW4gZGVwZW5kZW5jaWVzIG9yIGludGVyYWN0aW9ucyB3aXRoIG90aGVyIGZpbGVzeXN0ZW0gcGFyYW1ldGVycyBsdXJraW5nIGFib3V0LlxuXG5UaGlzIGNoYW5nZSBpcyBleHBsaWNpdGx5IHRhZ2dlZCB3aXRoIENPVyBhbmQgcmVmbGluaywgc28gbmF0dXJhbGx5LCBteSBuZXh0IGxpbmUgb2YgaW5xdWlyeSBpcyBzcGVjaWZpY2FsbHkgZm9jdXNlZCBvbiBob3cgdGhlc2UgZmVhdHVyZXMgYXJlIGN1cnJlbnRseSBpbXBsZW1lbnRlZC4gTm93IHRoZSBxdWVzdGlvbiBpczogRG9lcyBYRlMgdXRpbGl6ZSBhICpkZWRpY2F0ZWQqIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGZvciByZWZsaW5rIHN1cHBvcnQ/IFNvbWUgZmlsZXN5c3RlbXMgbHVtcCBpdCB1bmRlciBhIG1vcmUgZ2VuZXJpYyBDT1cgZmxhZywgYnV0IHdpdGggWEZTJ3MgaGlzdG9yeSBhbmQgZGVzaWduLCBJIHdvdWxkbid0IGJlIHN1cnByaXNlZCBpZiB0aGVyZSdzIGEgbW9yZSBncmFudWxhciBjb250cm9sLiBVbmRlcnN0YW5kaW5nIHdoZXRoZXIgcmVmbGluayBoYXMgYSB1bmlxdWUgZmxhZywgYSBzaGFyZWQgZmxhZywgb3IgaW1wbGllZCBiYXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2YgYW5vdGhlciBmbGFnIGlzIGNyaXRpY2FsIGluIHVuZGVyc3RhbmRpbmcgdGhlIGZ1bGwgaW1wbGljYXRpb25zIG9mIGFueSBtb2RpZmljYXRpb24uIEl0IHdpbGwgYWxzbyBoZWxwIG1lIG5hcnJvdyBkb3duIHdoaWNoIG1vZHVsZXMgbmVlZCB0byBiZSBleGFtaW5lZCBvciB1bml0IHRlc3RlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzM1MywiT3V0cHV0VG9rZW5zIjoyOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjUxLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE1OjI3Ljg3MDAyOTcxNVoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMDE1MjE4MTksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIFhGU19cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMveGZzL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJmcy94ZnMvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbmZzL3hmcy9LY29uZmlnOjI6Y29uZmlnIFhGU19GU1xcbmZzL3hmcy9LY29uZmlnLTMtXFx0dHJpc3RhdGUgXFxcIlhGUyBmaWxlc3lzdGVtIHN1cHBvcnRcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0yNC1cXG5mcy94ZnMvS2NvbmZpZzoyNTpjb25maWcgWEZTX1NVUFBPUlRfVjRcXG5mcy94ZnMvS2NvbmZpZy0yNi1cXHRib29sIFxcXCJTdXBwb3J0IGRlcHJlY2F0ZWQgVjQgKGNyYz0wKSBmb3JtYXRcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy00OS1cXG5mcy94ZnMvS2NvbmZpZzo1MDpjb25maWcgWEZTX1NVUFBPUlRfQVNDSUlfQ0lcXG5mcy94ZnMvS2NvbmZpZy01MS1cXHRib29sIFxcXCJTdXBwb3J0IGRlcHJlY2F0ZWQgY2FzZS1pbnNlbnNpdGl2ZSBhc2NpaSAoYXNjaWktY2k9MSkgZm9ybWF0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctNzYtXFxuZnMveGZzL0tjb25maWc6Nzc6Y29uZmlnIFhGU19RVU9UQVxcbmZzL3hmcy9LY29uZmlnLTc4LVxcdGJvb2wgXFxcIlhGUyBRdW90YSBzdXBwb3J0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctOTQtXFxuZnMveGZzL0tjb25maWc6OTU6Y29uZmlnIFhGU19QT1NJWF9BQ0xcXG5mcy94ZnMvS2NvbmZpZy05Ni1cXHRib29sIFxcXCJYRlMgUE9TSVggQUNMIHN1cHBvcnRcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0xMDQtXFxuZnMveGZzL0tjb25maWc6MTA1OmNvbmZpZyBYRlNfUlRcXG5mcy94ZnMvS2NvbmZpZy0xMDYtXFx0Ym9vbCBcXFwiWEZTIFJlYWx0aW1lIHN1YnZvbHVtZSBzdXBwb3J0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctMTMyLVxcbmZzL3hmcy9LY29uZmlnOjEzMzpjb25maWcgWEZTX0RSQUlOX0lOVEVOVFNcXG5mcy94ZnMvS2NvbmZpZy0xMzQtXFx0Ym9vbFxcbi0tXFxuZnMveGZzL0tjb25maWctMTM2LVxcbmZzL3hmcy9LY29uZmlnOjEzNzpjb25maWcgWEZTX0xJVkVfSE9PS1NcXG5mcy94ZnMvS2NvbmZpZy0xMzgtXFx0Ym9vbFxcbi0tXFxuZnMveGZzL0tjb25maWctMTQwLVxcbmZzL3hmcy9LY29uZmlnOjE0MTpjb25maWcgWEZTX01FTU9SWV9CVUZTXFxuZnMveGZzL0tjb25maWctMTQyLVxcdGJvb2xcXG5mcy94ZnMvS2NvbmZpZy0xNDMtXFxuZnMveGZzL0tjb25maWc6MTQ0OmNvbmZpZyBYRlNfQlRSRUVfSU5fTUVNXFxuZnMveGZzL0tjb25maWctMTQ1LVxcdGJvb2xcXG5mcy94ZnMvS2NvbmZpZy0xNDYtXFxuZnMveGZzL0tjb25maWc6MTQ3OmNvbmZpZyBYRlNfT05MSU5FX1NDUlVCXFxuZnMveGZzL0tjb25maWctMTQ4LVxcdGJvb2wgXFxcIlhGUyBvbmxpbmUgbWV0YWRhdGEgY2hlY2sgc3VwcG9ydFxcXCJcXG4tLVxcbmZzL3hmcy9LY29uZmlnLTE2My1cXG5mcy94ZnMvS2NvbmZpZzoxNjQ6Y29uZmlnIFhGU19PTkxJTkVfU0NSVUJfU1RBVFNcXG5mcy94ZnMvS2NvbmZpZy0xNjUtXFx0Ym9vbCBcXFwiWEZTIG9ubGluZSBtZXRhZGF0YSBjaGVjayB1c2FnZSBkYXRhIGNvbGxlY3Rpb25cXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0xNzgtXFxuZnMveGZzL0tjb25maWc6MTc5OmNvbmZpZyBYRlNfT05MSU5FX1JFUEFJUlxcbmZzL3hmcy9LY29uZmlnLTE4MC1cXHRib29sIFxcXCJYRlMgb25saW5lIG1ldGFkYXRhIHJlcGFpciBzdXBwb3J0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctMTkzLVxcbmZzL3hmcy9LY29uZmlnOjE5NDpjb25maWcgWEZTX1dBUk5cXG5mcy94ZnMvS2NvbmZpZy0xOTUtXFx0Ym9vbCBcXFwiWEZTIFZlcmJvc2UgV2FybmluZ3NcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0yMDYtXFxuZnMveGZzL0tjb25maWc6MjA3OmNvbmZpZyBYRlNfREVCVUdcXG5mcy94ZnMvS2NvbmZpZy0yMDgtXFx0Ym9vbCBcXFwiWEZTIERlYnVnZ2luZyBzdXBwb3J0XFxcIlxcbi0tXFxuZnMveGZzL0tjb25maWctMjE5LVxcbmZzL3hmcy9LY29uZmlnOjIyMDpjb25maWcgWEZTX0RFQlVHX0VYUEVOU0lWRVxcbmZzL3hmcy9LY29uZmlnLTIyMS1cXHRib29sIFxcXCJYRlMgZXhwZW5zaXZlIGRlYnVnZ2luZyBjaGVja3NcXFwiXFxuLS1cXG5mcy94ZnMvS2NvbmZpZy0yMzEtXFxuZnMveGZzL0tjb25maWc6MjMyOmNvbmZpZyBYRlNfQVNTRVJUX0ZBVEFMXFxuZnMveGZzL0tjb25maWctMjMzLVxcdGJvb2wgXFxcIlhGUyBmYXRhbCBhc3NlcnRzXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0wOVQyMDoxNToyNy45NzE1NTc2MjRaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxNDg3NzAzMjUxNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipGdXp6aW5nIFN0cmF0ZWd5IGZvciBYRlMgQ09XIEVycm9yIEhhbmRsaW5nKipcblxuT2theSwgc28gdGhlcmUgaXNuJ3QgYSBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9wdGlvbiBzcGVjaWZpY2FsbHkgZm9yIHJlZmxpbmsgb3IgY29weS1vbi13cml0ZSAoQ09XKSBmdW5jdGlvbmFsaXR5OyBpdCdzIGludHJpbnNpY2FsbHkgbGlua2VkIHRvIHRoZSBgWEZTX0ZTYCBjb25maWd1cmF0aW9uLiBHb29kIHRvIGtub3cuXG5cblRoZSBrZXkgYXJlYSBvZiBpbnRlcmVzdCBoZXJlIGlzIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gVGhpcyBmdW5jdGlvbiwgc3BlY2lmaWNhbGx5IHdpdGhpbiBpdHMgZXJyb3IgaGFuZGxpbmcgcGF0aCwgaXMgd2hlcmUgdGhlIGNoYW5nZSByZXNpZGVzLiBJJ3ZlIGNvbmZpcm1lZCB0aGF0IGB4ZnNfZW5kX2lvZW5kX3dyaXRlYCBpcyBpbmRlZWQgdGhlIHN0YW5kYXJkIEkvTyBjb21wbGV0aW9uIGhhbmRsZXIgZm9yIFhGUyB3cml0ZXMsIHNvIGl0J3MgZGVmaW5pdGVseSBhIHJlYWNoYWJsZSBwYXJ0IG9mIHRoZSBjb2RlIGFuZCB3b3J0aCBpbnZlc3RpZ2F0aW5nIGZ1cnRoZXIuIFRoZSBmdW5jdGlvbiBgeGZzX2VuZF9pb2AgaXMgYWxzbyBhIHJlbGV2YW50IGZ1bmN0aW9uIHRoYXQgaXMgd29ydGggbm90aW5nLlxuXG5UaGUgY3JpdGljYWwgcGFydCBpcyB0aGUgZXJyb3IgaGFuZGxpbmcgbG9naWMgd2l0aGluIGB4ZnNfZW5kX2lvZW5kX3dyaXRlYC4gU3BlY2lmaWNhbGx5LCB3aGVuIGFuIEkvTyBlcnJvciBvY2N1cnMsIHRoZSBjb2RlIG5lZWRzIHRvIGNsZWFuIHVwIENPVyBibG9ja3MgYW5kIGRlbGFsbG9jIGJsb2Nrcy4gVGhlIGNvbW1pdCBtb2RpZmllcyB0aGUgaGFuZGxpbmcgb2YgYElPTUFQX0lPRU5EX1NIQVJFRGAgYmxvY2tzIOKAkyB0aGVzZSByZWxhdGUgdG8gQ09XIGZ1bmN0aW9uYWxpdHkuIE15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCwgaW4gdGhlIGVycm9yIGNhc2UsIGRlbGFsbG9jIGJsb2NrcyBhcmUgcHVuY2hlZCBhbmQgdGhlIGZvcmsgdHlwZSBpcyBjaGFuZ2VkIGZyb20gYFhGU19EQVRBX0ZPUktgIHRvIGBYRlNfQ09XX0ZPUktgLiBUaGlzIHNvdW5kcyBsaWtlIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIGNvcmUgWEZTIGxvZ2ljIHJlbGF0ZWQgdG8gcmVmbGluay9DT1cgZnVuY3Rpb25hbGl0eS5cblxuVGhlcmVmb3JlLCBJJ20gc2V0dGluZyBgV29ydGhGdXp6aW5nPXRydWVgLiBUaGUgcmVsZXZhbnQgY29uZmlndXJhdGlvbnMgYXJlIGBFbmFibGVDb25maWdzID0gW1wiWEZTX0ZTXCJdYCwgYXMgdGhlIGZ1bmN0aW9uYWxpdHkgaXMgYnVpbHQgaW50byBYRlMuIE15IHByaW1hcnkgZm9jdXMgc3ltYm9scyB3aWxsIGJlIGBGb2N1c1N5bWJvbHMgPSBbXCJ4ZnNfZW5kX2lvZW5kX3dyaXRlXCIsIFwieGZzX2VuZF9pb1wiXWAuIEZpbmFsbHksIG15IHJlYXNvbmluZyBmb3IgdGhpcyBmdXp6aW5nIGVmZm9ydCBpczogYFRoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5gIEknbGwgbmVlZCB0byBmb2N1cyBvbiBjcmFmdGluZyB0ZXN0IGNhc2VzIHRoYXQgdHJpZ2dlciBJL08gZXJyb3JzIGFuZCBjaGVjayB0aGUgZm9yayB0eXBlLCBzcGVjaWZpY2FsbHkgaW4gdGhlIENPVyBjb250ZXh0LiBUaGlzIGlzIGNvcmUgWEZTIGZ1bmN0aW9uYWxpdHkgYW5kIHNob3VsZCBiZSBoaWdobHkgcHJpb3JpdGl6ZWQgZm9yIGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ2NDQsIk91dHB1dFRva2VucyI6MTI2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDc3LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTA5VDIwOjE1OjQyLjg0ODU5MjkzMVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3MDAzNzAwOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiWEZTX0ZTXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwieGZzX2VuZF9pb2VuZF93cml0ZVwiLFxuICAgIFwieGZzX2VuZF9pb1wiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgYnVnIGluIHRoZSBlcnJvciBoYW5kbGluZyBwYXRoIG9mIFhGUyBJL08gY29tcGxldGlvbiBmb3Igc2hhcmVkIChDT1cpIGJsb2NrcywgY2hhbmdpbmcgdGhlIGZvcmsgdHlwZSBmcm9tIFhGU19EQVRBX0ZPUksgdG8gWEZTX0NPV19GT1JLIHdoZW4gcHVuY2hpbmcgZGVsYWxsb2MgYmxvY2tzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gY29yZSBYRlMgbG9naWMgdGhhdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIlhGU19GU1wiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInhmc19lbmRfaW9lbmRfd3JpdGVcIixcbiAgICBcInhmc19lbmRfaW9cIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiB0aGUgZXJyb3IgaGFuZGxpbmcgcGF0aCBvZiBYRlMgSS9PIGNvbXBsZXRpb24gZm9yIHNoYXJlZCAoQ09XKSBibG9ja3MsIGNoYW5naW5nIHRoZSBmb3JrIHR5cGUgZnJvbSBYRlNfREFUQV9GT1JLIHRvIFhGU19DT1dfRk9SSyB3aGVuIHB1bmNoaW5nIGRlbGFsbG9jIGJsb2Nrcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIGNvcmUgWEZTIGxvZ2ljIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+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-workflowcnz4m[1] Phase: Succeeded StartedAt: 2026-07-09 20:15:54 +0000 UTC FinishedAt: 2026-07-09 20:15:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-09 20:15:54 +0000 UTC FinishedAt: 2026-07-09 20:15:54 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2] Phase: Succeeded StartedAt: 2026-07-09 20:15:54 +0000 UTC FinishedAt: 2026-07-10 00:48:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:15:54 +0000 UTC FinishedAt: 2026-07-10 00:48:15 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:15:54 +0000 UTC FinishedAt: 2026-07-09 20:16:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:15:54 +0000 UTC FinishedAt: 2026-07-09 20:15:59 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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-workflowcnz4m/series-workflowcnz4m-convert-artifact-481517151/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:16:04 +0000 UTC FinishedAt: 2026-07-09 20:59:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:16:04 +0000 UTC FinishedAt: 2026-07-09 20:59:11 +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:*d57e9099-47fa-4881-8b7a-4cf227501f41,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-workflowcnz4m/series-workflowcnz4m-convert-artifact-481517151/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": "cdde58aa-0fe2-49a6-8820-533610d9eca6", "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-workflowcnz4m/series-workflowcnz4m-build-action-2848342885/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:16:04 +0000 UTC FinishedAt: 2026-07-09 20:59:01 +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:*d57e9099-47fa-4881-8b7a-4cf227501f41,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-workflowcnz4m/series-workflowcnz4m-convert-artifact-481517151/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": "cdde58aa-0fe2-49a6-8820-533610d9eca6", "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-workflowcnz4m/series-workflowcnz4m-build-action-2848342885/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:59:11 +0000 UTC FinishedAt: 2026-07-09 20:59:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:59:11 +0000 UTC FinishedAt: 2026-07-09 20:59:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:59:11 +0000 UTC FinishedAt: 2026-07-09 20:59:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:59:11 +0000 UTC FinishedAt: 2026-07-09 20:59:22 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-workflowcnz4m/series-workflowcnz4m-convert-artifact-1629864686/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:59:32 +0000 UTC FinishedAt: 2026-07-09 21:02:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 20:59:32 +0000 UTC FinishedAt: 2026-07-09 21:01:54 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*cdde58aa-0fe2-49a6-8820-533610d9eca6,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-workflowcnz4m/series-workflowcnz4m-build-action-2848342885/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-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:02:06 +0000 UTC FinishedAt: 2026-07-09 21:02:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:02:06 +0000 UTC FinishedAt: 2026-07-09 21:02:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:02:06 +0000 UTC FinishedAt: 2026-07-09 21:43:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:02:06 +0000 UTC FinishedAt: 2026-07-09 21:43:14 +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:*d57e9099-47fa-4881-8b7a-4cf227501f41,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-workflowcnz4m/series-workflowcnz4m-convert-artifact-1629864686/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": "9aac1847-df53-479a-982a-4613871a744e", "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-workflowcnz4m/series-workflowcnz4m-build-action-1464833026/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:02:06 +0000 UTC FinishedAt: 2026-07-09 21:42: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:*d57e9099-47fa-4881-8b7a-4cf227501f41,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-workflowcnz4m/series-workflowcnz4m-convert-artifact-1629864686/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": "9aac1847-df53-479a-982a-4613871a744e", "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-workflowcnz4m/series-workflowcnz4m-build-action-1464833026/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:43:14 +0000 UTC FinishedAt: 2026-07-09 21:43:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:43:14 +0000 UTC FinishedAt: 2026-07-09 21:43:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:43:14 +0000 UTC FinishedAt: 2026-07-09 21:45:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:43:14 +0000 UTC FinishedAt: 2026-07-09 21:45:18 +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:*9aac1847-df53-479a-982a-4613871a744e,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-workflowcnz4m/series-workflowcnz4m-build-action-1464833026/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-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:28 +0000 UTC FinishedAt: 2026-07-10 00:48:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:28 +0000 UTC FinishedAt: 2026-07-10 00:48:15 +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":["xfs_end_ioend_write","xfs_end_io"],"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:*cdde58aa-0fe2-49a6-8820-533610d9eca6,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*9aac1847-df53-479a-982a-4613871a744e,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-workflowcnz4m/series-workflowcnz4m-build-action-2848342885/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-workflowcnz4m/series-workflowcnz4m-build-action-1464833026/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:28 +0000 UTC FinishedAt: 2026-07-09 21:45:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:28 +0000 UTC FinishedAt: 2026-07-09 21:45:40 +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":["xfs_end_ioend_write","xfs_end_io"],"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-workflowcnz4m/series-workflowcnz4m-convert-artifact-2832953235/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:28 +0000 UTC FinishedAt: 2026-07-09 21:45:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:28 +0000 UTC FinishedAt: 2026-07-09 21:45:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:28 +0000 UTC FinishedAt: 2026-07-09 21:45:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:48 +0000 UTC FinishedAt: 2026-07-10 00:48:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowcnz4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"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":["xfs_end_ioend_write","xfs_end_io"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2c7c88a412aa6d09cd04b414211b4ef8553b5309","config_name":"upstream-apparmor-kasan.config","enable_configs":["XFS_FS"],"series_id":"525e92d0-4cff-4a78-b22f-27b47470c4eb","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-09 21:45:48 +0000 UTC FinishedAt: 2026-07-10 00:48:03 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*cdde58aa-0fe2-49a6-8820-533610d9eca6,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*9aac1847-df53-479a-982a-4613871a744e,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-workflowcnz4m/series-workflowcnz4m-build-action-2848342885/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-workflowcnz4m/series-workflowcnz4m-build-action-1464833026/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-workflowcnz4m/series-workflowcnz4m-convert-artifact-2832953235/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,}